@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-273
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 +8 -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 +18 -18
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +35 -35
- 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 +14 -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 +75 -10
- 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/props/defaultProps.js +2 -1
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -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 +8 -4
- 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/__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 +5 -5
- 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 +38 -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/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelect.module.css +31 -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 +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/Ribbon/Ribbon.js +3 -2
- package/es/Ribbon/Ribbon.module.css +46 -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/__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 +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 +2 -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/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 +25 -25
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/TextBox.module.css +9 -9
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/Textarea.module.css +21 -21
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/Tooltip.module.css +5 -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/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 +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/GMTZones.js +48 -0
- package/es/utils/datetime/common.js +31 -7
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/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 +44 -0
- 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 +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- 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 +14 -15
- 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 +15 -15
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +246 -158
- package/lib/DateTime/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/defaultProps.js +2 -1
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -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/__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 +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/__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 +5 -5
- 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 +38 -38
- 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 +31 -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 +9 -9
- 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 +46 -48
- 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 +11 -11
- 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 +22 -22
- 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 +25 -25
- 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 +9 -9
- 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 -7
- 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 +21 -21
- 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 +5 -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/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/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 +110 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/GMTZones.js +55 -0
- package/lib/utils/datetime/common.js +52 -7
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +10 -19
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
.cboth::after {
|
|
53
53
|
content: '.';
|
|
54
54
|
display: block;
|
|
55
|
-
font-size: 0;
|
|
56
|
-
height: 0;
|
|
55
|
+
font-size: 0 ;
|
|
56
|
+
height: 0 ;
|
|
57
57
|
line-height: 0;
|
|
58
58
|
visibility: hidden;
|
|
59
59
|
clear: both;
|
|
@@ -81,21 +81,21 @@
|
|
|
81
81
|
.disabled::after,
|
|
82
82
|
.readonly::after {
|
|
83
83
|
position: absolute;
|
|
84
|
-
top: 0;
|
|
85
|
-
bottom: 0;
|
|
84
|
+
top: 0 ;
|
|
85
|
+
bottom: 0 ;
|
|
86
86
|
z-index: 2;
|
|
87
87
|
content: '';
|
|
88
88
|
user-select: none;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
[dir=ltr] .disable::after, [dir=ltr] .disabled::after, [dir=ltr] .readonly::after {
|
|
92
|
-
left: 0;
|
|
93
|
-
right: 0;
|
|
92
|
+
left: 0 ;
|
|
93
|
+
right: 0 ;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
[dir=rtl] .disable::after, [dir=rtl] .disabled::after, [dir=rtl] .readonly::after {
|
|
97
|
-
right: 0;
|
|
98
|
-
left: 0;
|
|
97
|
+
right: 0 ;
|
|
98
|
+
left: 0 ;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
.disabled, .readonly {
|
|
@@ -201,8 +201,8 @@
|
|
|
201
201
|
-webkit-box-flex: 1;
|
|
202
202
|
-ms-flex-positive: 1;
|
|
203
203
|
flex-grow: 1;
|
|
204
|
-
min-height: 0;
|
|
205
|
-
min-width: 0;
|
|
204
|
+
min-height: 0 ;
|
|
205
|
+
min-width: 0 ;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
.flexshrink {
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
.flexbasis {
|
|
216
|
-
flex-basis: 0
|
|
216
|
+
flex-basis: 0% ;
|
|
217
217
|
-webkit-flex-basis: 0%;
|
|
218
218
|
-moz-flex-basis: 0%;
|
|
219
219
|
-ms-flex-basis: 0%;
|
|
@@ -331,11 +331,11 @@
|
|
|
331
331
|
|
|
332
332
|
/* --Width Props-- */
|
|
333
333
|
.w100 {
|
|
334
|
-
width: 100
|
|
334
|
+
width: 100% ;
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
.h100 {
|
|
338
|
-
height: 100
|
|
338
|
+
height: 100% ;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
.rounded {
|
|
@@ -378,15 +378,15 @@
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
.t50 {
|
|
381
|
-
top: 50
|
|
381
|
+
top: 50% ;
|
|
382
382
|
}
|
|
383
383
|
|
|
384
384
|
[dir=ltr] .l50 {
|
|
385
|
-
left: 50
|
|
385
|
+
left: 50% ;
|
|
386
386
|
}
|
|
387
387
|
|
|
388
388
|
[dir=rtl] .l50 {
|
|
389
|
-
right: 50
|
|
389
|
+
right: 50% ;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
392
|
[dir=ltr] .middle {
|
|
@@ -405,15 +405,15 @@
|
|
|
405
405
|
|
|
406
406
|
.middleBoth {
|
|
407
407
|
composes: middle;
|
|
408
|
-
top: 50
|
|
408
|
+
top: 50% ;
|
|
409
409
|
}
|
|
410
410
|
|
|
411
411
|
[dir=ltr] .middleBoth {
|
|
412
|
-
left: 50
|
|
412
|
+
left: 50% ;
|
|
413
413
|
}
|
|
414
414
|
|
|
415
415
|
[dir=rtl] .middleBoth {
|
|
416
|
-
right: 50
|
|
416
|
+
right: 50% ;
|
|
417
417
|
}
|
|
418
418
|
|
|
419
419
|
.middleY {
|
|
@@ -466,7 +466,7 @@
|
|
|
466
466
|
content: '';
|
|
467
467
|
vertical-align: middle;
|
|
468
468
|
display: inline-block;
|
|
469
|
-
height: 100
|
|
469
|
+
height: 100% ;
|
|
470
470
|
}
|
|
471
471
|
|
|
472
472
|
.wbreak {
|
|
@@ -515,11 +515,11 @@
|
|
|
515
515
|
}
|
|
516
516
|
|
|
517
517
|
.fitContWidth {
|
|
518
|
-
width: fit-content;
|
|
519
|
-
width:
|
|
518
|
+
width: fit-content ;
|
|
519
|
+
width: undefined ;
|
|
520
520
|
}
|
|
521
521
|
|
|
522
522
|
.fitContHeight {
|
|
523
|
-
height: fit-content;
|
|
524
|
-
height:
|
|
523
|
+
height: fit-content ;
|
|
524
|
+
height: undefined ;
|
|
525
525
|
}
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
.scroll::-webkit-scrollbar-button,
|
|
41
41
|
.scroll ::-webkit-scrollbar-button {
|
|
42
42
|
display: none;
|
|
43
|
-
width: 0;
|
|
44
|
-
height: 0;
|
|
43
|
+
width: 0 ;
|
|
44
|
+
height: 0 ;
|
|
45
45
|
}
|
|
46
46
|
[dir=ltr] .scroll::-webkit-scrollbar-track:vertical, [dir=ltr] .scroll ::-webkit-scrollbar-track:vertical {
|
|
47
47
|
border-left: 1px solid transparent;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
cursor: not-allowed;
|
|
6
6
|
}
|
|
7
7
|
.container {
|
|
8
|
-
max-height:
|
|
8
|
+
max-height: var(--zd_size120) ;
|
|
9
9
|
composes: oflowy from '../common/common.module.css';
|
|
10
10
|
}
|
|
11
11
|
.hasBorder {
|
|
@@ -41,37 +41,37 @@
|
|
|
41
41
|
border-bottom-color: var(--zdt_advancedmultiselect_dark_active_border);
|
|
42
42
|
}
|
|
43
43
|
[dir=ltr] .container.medium {
|
|
44
|
-
padding: 0
|
|
44
|
+
padding: 0 var(--zd_size34) var(--zd_size7) 0 ;
|
|
45
45
|
}
|
|
46
46
|
[dir=rtl] .container.medium {
|
|
47
|
-
padding: 0 0
|
|
47
|
+
padding: 0 0 var(--zd_size7) var(--zd_size34) ;
|
|
48
48
|
}
|
|
49
49
|
.container.xmedium {
|
|
50
|
-
min-height:
|
|
50
|
+
min-height: var(--zd_size30) ;
|
|
51
51
|
}
|
|
52
52
|
[dir=ltr] .container.xmedium {
|
|
53
|
-
padding: 0
|
|
53
|
+
padding: 0 var(--zd_size34) var(--zd_size1) 0 ;
|
|
54
54
|
}
|
|
55
55
|
[dir=rtl] .container.xmedium {
|
|
56
|
-
padding: 0 0
|
|
56
|
+
padding: 0 0 var(--zd_size1) var(--zd_size34) ;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
.delete {
|
|
60
60
|
position: absolute;
|
|
61
|
-
bottom: 0;
|
|
61
|
+
bottom: 0 ;
|
|
62
62
|
color: var(--zdt_advancedmultiselect_delete_text);
|
|
63
|
-
padding-bottom:
|
|
63
|
+
padding-bottom: var(--zd_size10) ;
|
|
64
64
|
cursor: pointer;
|
|
65
65
|
background-color: var(--zdt_advancedmultiselect_delete_bg);
|
|
66
66
|
border: 0;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
[dir=ltr] .delete {
|
|
70
|
-
right:
|
|
70
|
+
right: var(--zd_size15) ;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
[dir=rtl] .delete {
|
|
74
|
-
left:
|
|
74
|
+
left: var(--zd_size15) ;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
.delete:hover {
|
|
@@ -91,25 +91,25 @@
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.small {
|
|
94
|
-
max-height:
|
|
94
|
+
max-height: var(--zd_size200) ;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.medium {
|
|
98
|
-
max-height:
|
|
98
|
+
max-height: var(--zd_size350) ;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
.large {
|
|
102
|
-
max-height:
|
|
102
|
+
max-height: var(--zd_size400) ;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
.dropContainer {
|
|
106
106
|
display: inline-block;
|
|
107
|
-
max-width: 100
|
|
108
|
-
margin-bottom:
|
|
107
|
+
max-width: 100% ;
|
|
108
|
+
margin-bottom: var(--zd_size5) ;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.dropPopup {
|
|
112
|
-
font-size:
|
|
112
|
+
font-size: var(--zd_font_size13) ;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.dropPopup :global .toggleDropIcon {
|
|
@@ -117,11 +117,11 @@
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.more {
|
|
120
|
-
font-size:
|
|
120
|
+
font-size: var(--zd_font_size14) ;
|
|
121
121
|
color: var(--zdt_advancedmultiselect_more_text);
|
|
122
122
|
font-family: inherit;
|
|
123
123
|
cursor: pointer;
|
|
124
|
-
margin-top:
|
|
124
|
+
margin-top: var(--zd_size5) ;
|
|
125
125
|
background-color: var(--zdt_advancedmultiselect_delete_bg);
|
|
126
126
|
border: 0;
|
|
127
127
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { propTypes } from './props/propTypes';
|
|
3
|
-
import { defaultProps } from './props/defaultProps';
|
|
4
|
-
|
|
3
|
+
import { defaultProps } from './props/defaultProps'; //Components
|
|
4
|
+
|
|
5
5
|
import Modal from '../../Modal/Modal';
|
|
6
6
|
let RefElement = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
7
7
|
let {
|
|
@@ -28,20 +28,23 @@ export default class PortalLayer extends React.Component {
|
|
|
28
28
|
this.updateState = this.updateState.bind(this);
|
|
29
29
|
this.getState = this.getState.bind(this);
|
|
30
30
|
}
|
|
31
|
+
|
|
31
32
|
componentDidUpdate(prevProps) {
|
|
32
33
|
let {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
isActive
|
|
35
|
+
} = this.props,
|
|
36
|
+
{
|
|
37
|
+
isActive: prevActive
|
|
38
|
+
} = prevProps;
|
|
38
39
|
isActive = Boolean(isActive), prevActive = Boolean(prevActive);
|
|
40
|
+
|
|
39
41
|
if (typeof isActive !== 'undefined' && isActive != prevActive && Boolean(this.state.isOpen) != isActive) {
|
|
40
42
|
this.setState({
|
|
41
43
|
isOpen: isActive
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
}
|
|
47
|
+
|
|
45
48
|
updateState(alertState) {
|
|
46
49
|
if (typeof alertState === 'boolean') {
|
|
47
50
|
this.setState({
|
|
@@ -51,9 +54,11 @@ export default class PortalLayer extends React.Component {
|
|
|
51
54
|
this.setState(alertState);
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
|
|
54
58
|
getState() {
|
|
55
59
|
return Object.keys(this.state).length == 1 ? this.state.isOpen : this.state;
|
|
56
60
|
}
|
|
61
|
+
|
|
57
62
|
componentDidMount() {
|
|
58
63
|
let {
|
|
59
64
|
saveUpdateFunction,
|
|
@@ -63,19 +68,20 @@ export default class PortalLayer extends React.Component {
|
|
|
63
68
|
saveUpdateFunction && saveUpdateFunction(this.updateState, name);
|
|
64
69
|
saveGetFunction && saveGetFunction(this.getState, name);
|
|
65
70
|
}
|
|
71
|
+
|
|
66
72
|
render() {
|
|
67
73
|
let {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
children,
|
|
75
|
+
renderChildren,
|
|
76
|
+
portalId,
|
|
77
|
+
autoZIndexNeeded,
|
|
78
|
+
isChildrenRestrictionNeeded
|
|
79
|
+
} = this.props,
|
|
80
|
+
{
|
|
81
|
+
isOpen = false
|
|
82
|
+
} = this.state;
|
|
77
83
|
let Element = children && children.type,
|
|
78
|
-
|
|
84
|
+
elementProps = children && children.props;
|
|
79
85
|
return /*#__PURE__*/React.createElement(Modal, {
|
|
80
86
|
autoZIndexNeeded: autoZIndexNeeded,
|
|
81
87
|
portalId: portalId,
|
|
@@ -88,11 +94,10 @@ export default class PortalLayer extends React.Component {
|
|
|
88
94
|
isActive: isOpen
|
|
89
95
|
}));
|
|
90
96
|
}
|
|
97
|
+
|
|
91
98
|
}
|
|
92
99
|
PortalLayer.defaultProps = defaultProps;
|
|
93
|
-
PortalLayer.propTypes = propTypes;
|
|
94
|
-
|
|
95
|
-
// if (__DOCS__) {
|
|
100
|
+
PortalLayer.propTypes = propTypes; // if (__DOCS__) {
|
|
96
101
|
// PortalLayer.docs = {
|
|
97
102
|
// componentGroup: 'Atom',
|
|
98
103
|
// folderName: 'Style Guide'
|
|
@@ -6,6 +6,7 @@ export default class Button extends React.Component {
|
|
|
6
6
|
constructor(props) {
|
|
7
7
|
super(props);
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
render() {
|
|
10
11
|
const {
|
|
11
12
|
value,
|
|
@@ -47,10 +48,10 @@ export default class Button extends React.Component {
|
|
|
47
48
|
"data-title": title
|
|
48
49
|
}, children ? children : text);
|
|
49
50
|
}
|
|
51
|
+
|
|
50
52
|
}
|
|
51
53
|
Button.defaultProps = defaultProps;
|
|
52
|
-
Button.propTypes = propTypes;
|
|
53
|
-
// if (__DOCS__) {
|
|
54
|
+
Button.propTypes = propTypes; // if (__DOCS__) {
|
|
54
55
|
// Button.docs = {
|
|
55
56
|
// componentGroup: 'semantic',
|
|
56
57
|
// folderName: 'DefaultComponents'
|
package/es/utils/Common.js
CHANGED
|
@@ -20,9 +20,7 @@ export const stopAllEventPropagation = e => {
|
|
|
20
20
|
export function cancelBubblingEffect(e) {
|
|
21
21
|
e && e.stopPropagation && e.stopPropagation();
|
|
22
22
|
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// export function getCommentsDetails(
|
|
23
|
+
} // export function getCommentsDetails(
|
|
26
24
|
// commentIds = [],
|
|
27
25
|
// comments = {},
|
|
28
26
|
// agents = {}
|
|
@@ -45,6 +43,7 @@ export function encodeForHtml(str) {
|
|
|
45
43
|
str = str.replace(/\\/g, '\');
|
|
46
44
|
str = str.replace(/'/g, ''');
|
|
47
45
|
}
|
|
46
|
+
|
|
48
47
|
return str;
|
|
49
48
|
}
|
|
50
49
|
export function getListOfDetails() {
|
|
@@ -56,6 +55,7 @@ export function getListOfDetails() {
|
|
|
56
55
|
export function capitalize() {
|
|
57
56
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
58
57
|
let newValue = '';
|
|
58
|
+
|
|
59
59
|
for (let i = 0; i < value.length; i++) {
|
|
60
60
|
if (i == 0) {
|
|
61
61
|
newValue += value[i].toUpperCase();
|
|
@@ -63,12 +63,14 @@ export function capitalize() {
|
|
|
63
63
|
newValue += value[i].toLowerCase();
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
|
|
66
67
|
return newValue;
|
|
67
68
|
}
|
|
68
69
|
export function bind() {
|
|
69
70
|
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
70
71
|
handlers[_key] = arguments[_key];
|
|
71
72
|
}
|
|
73
|
+
|
|
72
74
|
handlers.forEach(handler => {
|
|
73
75
|
this[handler] = this[handler].bind(this);
|
|
74
76
|
});
|
|
@@ -77,12 +79,15 @@ export function getFullName() {
|
|
|
77
79
|
let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
78
80
|
let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
79
81
|
let fullName = '';
|
|
82
|
+
|
|
80
83
|
if (firstName !== null && firstName !== '') {
|
|
81
84
|
fullName = firstName;
|
|
82
85
|
}
|
|
86
|
+
|
|
83
87
|
if (lastName !== null && lastName !== '') {
|
|
84
88
|
fullName = `${fullName}${lastName}`;
|
|
85
89
|
}
|
|
90
|
+
|
|
86
91
|
return fullName;
|
|
87
92
|
}
|
|
88
93
|
export function getStringifiedOutputForJson() {
|
|
@@ -90,6 +95,7 @@ export function getStringifiedOutputForJson() {
|
|
|
90
95
|
const keys = Object.keys(input);
|
|
91
96
|
const modifiedInput = keys.reduce((curr, next) => {
|
|
92
97
|
const values = input[next] || [];
|
|
98
|
+
|
|
93
99
|
if (values.length) {
|
|
94
100
|
const valueList = values.reduce((curr, next) => {
|
|
95
101
|
curr.push(next.id);
|
|
@@ -98,6 +104,7 @@ export function getStringifiedOutputForJson() {
|
|
|
98
104
|
curr[next] = valueList;
|
|
99
105
|
return curr;
|
|
100
106
|
}
|
|
107
|
+
|
|
101
108
|
return curr;
|
|
102
109
|
}, {});
|
|
103
110
|
return JSON.stringify(modifiedInput);
|
|
@@ -113,6 +120,7 @@ export function filterValue(obj, val) {
|
|
|
113
120
|
const ids = obj ? Object.keys(obj) : [];
|
|
114
121
|
ids.forEach(key => {
|
|
115
122
|
const value = obj[key] || {};
|
|
123
|
+
|
|
116
124
|
if (value.name === val && !value.isCustomField) {
|
|
117
125
|
result = value.id;
|
|
118
126
|
}
|
|
@@ -134,34 +142,42 @@ export function formatValue() {
|
|
|
134
142
|
let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
|
|
135
143
|
return values && values.map(value => {
|
|
136
144
|
let formattedValue = value;
|
|
145
|
+
|
|
137
146
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
138
147
|
formattedValue = {};
|
|
139
148
|
formattedValue[valueField] = value;
|
|
140
149
|
formattedValue[textField] = value;
|
|
141
150
|
}
|
|
151
|
+
|
|
142
152
|
return formattedValue;
|
|
143
153
|
}) || [];
|
|
144
154
|
}
|
|
145
155
|
export function bytesToSize(bytes) {
|
|
146
156
|
bytes = parseInt(bytes, 10);
|
|
147
157
|
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
158
|
+
|
|
148
159
|
if (bytes === 0) {
|
|
149
160
|
return '0 Byte';
|
|
150
161
|
}
|
|
162
|
+
|
|
151
163
|
const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
152
164
|
return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
|
|
153
165
|
}
|
|
154
166
|
export function getMemSize(bytes) {
|
|
155
167
|
let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
|
|
156
168
|
const thresh = size ? 1000 : 1024;
|
|
169
|
+
|
|
157
170
|
if (Math.abs(bytes) < thresh) {
|
|
158
171
|
return `${bytes} B`;
|
|
159
172
|
}
|
|
173
|
+
|
|
160
174
|
let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
|
|
161
|
-
|
|
175
|
+
i = -1;
|
|
176
|
+
|
|
162
177
|
do {
|
|
163
178
|
bytes /= thresh, ++i;
|
|
164
179
|
} while (Math.abs(bytes) >= thresh && i < units.length - 1);
|
|
180
|
+
|
|
165
181
|
{
|
|
166
182
|
return `${bytes.toFixed(1)} ${units[i]}`;
|
|
167
183
|
}
|
|
@@ -170,18 +186,24 @@ export function checkIsImageFile(fileName) {
|
|
|
170
186
|
fileName = fileName || '';
|
|
171
187
|
return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
|
|
172
188
|
}
|
|
189
|
+
|
|
173
190
|
function getI18NValue(key, values) {
|
|
174
191
|
if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
|
|
175
192
|
return key;
|
|
176
193
|
}
|
|
194
|
+
|
|
177
195
|
let i18nStr = i18n[key];
|
|
196
|
+
|
|
178
197
|
if (i18nStr === undefined) {
|
|
179
198
|
return key;
|
|
180
199
|
}
|
|
200
|
+
|
|
181
201
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
182
202
|
return unescapeUnicode(i18nStr);
|
|
183
203
|
}
|
|
204
|
+
|
|
184
205
|
global.getI18NValue = getI18NValue;
|
|
206
|
+
|
|
185
207
|
function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
186
208
|
if (typeof values !== 'undefined') {
|
|
187
209
|
if (Array.isArray(values)) {
|
|
@@ -192,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
192
214
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
193
215
|
}
|
|
194
216
|
}
|
|
217
|
+
|
|
195
218
|
return i18nStr;
|
|
196
219
|
}
|
|
220
|
+
|
|
197
221
|
function unescapeUnicode(str) {
|
|
198
222
|
return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
|
|
199
223
|
}
|
|
224
|
+
|
|
200
225
|
export function getPortalName(portalList, portalId) {
|
|
201
226
|
return portalList && portalList.reduce((res, portal) => {
|
|
202
227
|
if (portal.orgId === portalId) {
|
|
203
228
|
return portal.orgName;
|
|
204
229
|
}
|
|
230
|
+
|
|
205
231
|
return res;
|
|
206
232
|
}, null);
|
|
207
233
|
}
|
|
208
234
|
export function getFullDateString(fullDateObj) {
|
|
209
235
|
let dateStr = '';
|
|
210
236
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
237
|
+
|
|
211
238
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
212
239
|
dateStr = format12Hour(fullDateObj);
|
|
213
240
|
} else {
|
|
@@ -217,6 +244,7 @@ export function getFullDateString(fullDateObj) {
|
|
|
217
244
|
const time = format12Hour(fullDateObj);
|
|
218
245
|
dateStr = `${month} ${date} ${year} ${time}`;
|
|
219
246
|
}
|
|
247
|
+
|
|
220
248
|
return dateStr;
|
|
221
249
|
}
|
|
222
250
|
export function format12Hour(date) {
|
|
@@ -225,6 +253,7 @@ export function format12Hour(date) {
|
|
|
225
253
|
const ampm = hours >= 12 ? 'pm' : 'am';
|
|
226
254
|
hours %= 12;
|
|
227
255
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
|
256
|
+
|
|
228
257
|
minutes = minutes < 10 ? `0${minutes}` : minutes;
|
|
229
258
|
const strTime = `${hours}:${minutes} ${ampm}`;
|
|
230
259
|
return strTime;
|
|
@@ -232,6 +261,7 @@ export function format12Hour(date) {
|
|
|
232
261
|
export function getDateOnly(fullDateObj) {
|
|
233
262
|
let dateStr = '';
|
|
234
263
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
264
|
+
|
|
235
265
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
236
266
|
dateStr = 'Today';
|
|
237
267
|
} else {
|
|
@@ -240,6 +270,7 @@ export function getDateOnly(fullDateObj) {
|
|
|
240
270
|
const date = fullDateObj.getDate();
|
|
241
271
|
dateStr = `${month} ${date} ${year}`;
|
|
242
272
|
}
|
|
273
|
+
|
|
243
274
|
return dateStr;
|
|
244
275
|
}
|
|
245
276
|
export function doAfterScrollEnd(element, callback) {
|
|
@@ -253,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
|
|
|
253
284
|
scrollHeight
|
|
254
285
|
} = element;
|
|
255
286
|
const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
|
|
287
|
+
|
|
256
288
|
if (scrollPercent > 80) {
|
|
257
289
|
callback && callback();
|
|
258
290
|
}
|
|
@@ -269,9 +301,11 @@ export const throttle = function (func, wait) {
|
|
|
269
301
|
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
270
302
|
args[_key2 - 2] = arguments[_key2];
|
|
271
303
|
}
|
|
304
|
+
|
|
272
305
|
if (timerId) {
|
|
273
306
|
return;
|
|
274
307
|
}
|
|
308
|
+
|
|
275
309
|
timerId = setTimeout(() => {
|
|
276
310
|
try {
|
|
277
311
|
func(...args);
|
|
@@ -284,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
284
318
|
if (!suggestionContainer || !selSuggestion) {
|
|
285
319
|
return;
|
|
286
320
|
}
|
|
321
|
+
|
|
287
322
|
const {
|
|
288
323
|
rectGap
|
|
289
324
|
} = frameRelativeRects(selSuggestion, suggestionContainer) || {};
|
|
@@ -291,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
291
326
|
top = 0,
|
|
292
327
|
bottom = 0
|
|
293
328
|
} = rectGap || {};
|
|
329
|
+
|
|
294
330
|
if (top < 0 && bottom < 0) {
|
|
295
331
|
return;
|
|
296
332
|
}
|
|
333
|
+
|
|
297
334
|
const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
|
|
298
335
|
const suggestionContainerScrollTop = suggestionContainer.scrollTop;
|
|
299
336
|
suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
|
|
@@ -305,17 +342,21 @@ export function remConvert(val) {
|
|
|
305
342
|
}
|
|
306
343
|
export function isDescendant(parent, child) {
|
|
307
344
|
let node = child.parentNode;
|
|
345
|
+
|
|
308
346
|
while (node !== null) {
|
|
309
347
|
if (node === parent) {
|
|
310
348
|
return true;
|
|
311
349
|
}
|
|
350
|
+
|
|
312
351
|
node = node.parentNode;
|
|
313
352
|
}
|
|
353
|
+
|
|
314
354
|
return false;
|
|
315
355
|
}
|
|
316
356
|
export function getElementSpace(elementRef) {
|
|
317
357
|
let neededSpace = 0,
|
|
318
|
-
|
|
358
|
+
availableInsideSpace = 0;
|
|
359
|
+
|
|
319
360
|
if (elementRef) {
|
|
320
361
|
let getStyle = window.getComputedStyle(elementRef);
|
|
321
362
|
let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
|
|
@@ -324,6 +365,7 @@ export function getElementSpace(elementRef) {
|
|
|
324
365
|
neededSpace = width + margin;
|
|
325
366
|
availableInsideSpace = width - padding;
|
|
326
367
|
}
|
|
368
|
+
|
|
327
369
|
return {
|
|
328
370
|
neededSpace: neededSpace,
|
|
329
371
|
availableInsideSpace: availableInsideSpace
|
|
@@ -333,7 +375,6 @@ export function getSearchString() {
|
|
|
333
375
|
let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
334
376
|
return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
|
|
335
377
|
}
|
|
336
|
-
|
|
337
378
|
export function findScrollEnd(element) {
|
|
338
379
|
let {
|
|
339
380
|
scrollHeight,
|
|
@@ -342,26 +383,30 @@ export function findScrollEnd(element) {
|
|
|
342
383
|
clientHeight
|
|
343
384
|
} = element || {};
|
|
344
385
|
let isElementScrollable = scrollHeight > clientHeight;
|
|
386
|
+
|
|
345
387
|
if (isElementScrollable) {
|
|
346
388
|
if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
|
|
347
389
|
return true;
|
|
348
390
|
}
|
|
349
|
-
}
|
|
350
|
-
// else {
|
|
351
|
-
|
|
391
|
+
} // else {
|
|
352
392
|
// throw 'Is scroll not present in this element';
|
|
353
393
|
// }
|
|
394
|
+
|
|
395
|
+
|
|
354
396
|
return false;
|
|
355
397
|
}
|
|
356
398
|
export function isTextSelected() {
|
|
357
399
|
let selectedText = '';
|
|
400
|
+
|
|
358
401
|
if (window.getSelection) {
|
|
359
402
|
selectedText = window.getSelection().toString();
|
|
360
403
|
} else if (document.getSelection) {
|
|
361
404
|
selectedText = document.getSelection().toString();
|
|
362
405
|
}
|
|
406
|
+
|
|
363
407
|
if (selectedText !== '') {
|
|
364
408
|
return true;
|
|
365
409
|
}
|
|
410
|
+
|
|
366
411
|
return false;
|
|
367
412
|
}
|