@zohodesk/components 1.0.0-temp-164 → 1.0.0-temp-165
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 +1237 -1212
- package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
- package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
- package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
- package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
- package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
- package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
- package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
- package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
- package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
- package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
- package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
- package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
- package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
- package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
- package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
- package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
- package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
- package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
- package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
- package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
- package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
- package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
- package/assets/Contrast/defaultContrastLightness.module.css +39 -0
- package/es/Accordion/Accordion.js +8 -3
- package/es/Accordion/AccordionItem.js +5 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +27 -10
- package/es/AppContainer/AppContainer.module.css +18 -18
- package/es/AppContainer/props/defaultProps.js +2 -1
- package/es/AppContainer/props/propTypes.js +1 -0
- package/es/Avatar/Avatar.js +35 -20
- package/es/Avatar/Avatar.module.css +175 -175
- package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
- package/es/AvatarTeam/AvatarTeam.js +11 -10
- package/es/AvatarTeam/AvatarTeam.module.css +189 -189
- package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
- package/es/Button/Button.js +9 -7
- package/es/Button/css/Button.module.css +525 -525
- package/es/Buttongroup/Buttongroup.js +5 -4
- package/es/Buttongroup/Buttongroup.module.css +105 -106
- package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
- package/es/Card/Card.js +25 -14
- package/es/Card/Card.module.css +20 -20
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/CheckBox/CheckBox.module.css +157 -157
- package/es/DateTime/CalendarView.js +33 -20
- package/es/DateTime/DateTime.js +78 -11
- package/es/DateTime/DateTime.module.css +235 -235
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +100 -35
- package/es/DateTime/DateWidget.module.css +38 -38
- 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 +98 -98
- 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/index.js +0 -0
- 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 +9 -5
- package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
- package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/DropBoxPositionMapping.json +144 -144
- package/es/DropBox/__tests__/DropBox.spec.js +2 -2
- package/es/DropBox/css/DropBox.module.css +58 -58
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +10 -5
- package/es/DropDown/DropDown.module.css +5 -5
- package/es/DropDown/DropDownHeading.js +5 -5
- package/es/DropDown/DropDownHeading.module.css +53 -53
- package/es/DropDown/DropDownItem.js +8 -1
- package/es/DropDown/DropDownItem.module.css +94 -94
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSearch.module.css +14 -14
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/DropDownSeparator.module.css +7 -7
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +3 -3
- package/es/Heading/Heading.module.css +4 -4
- package/es/Label/Label.js +12 -7
- package/es/Label/Label.module.css +52 -52
- package/es/Label/LabelColors.module.css +20 -20
- package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
- package/es/Label/props/propTypes.js +4 -1
- package/es/Layout/Box.js +17 -3
- package/es/Layout/Container.js +16 -4
- package/es/Layout/Layout.module.css +335 -335
- package/es/Layout/index.js +1 -2
- package/es/Layout/props/defaultProps.js +2 -0
- package/es/Layout/props/propTypes.js +2 -0
- package/es/Layout/utils.js +5 -1
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItem.module.css +216 -216
- 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 +95 -18
- package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
- package/es/MultiSelect/EmptyState.js +6 -0
- package/es/MultiSelect/MultiSelect.js +105 -37
- package/es/MultiSelect/MultiSelect.module.css +206 -206
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/SelectedOptions.module.css +15 -15
- 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/PopOver.module.css +8 -8
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -27
- package/es/Popup/PositionMapping.json +73 -73
- 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 +112 -112
- 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 +6 -6
- package/es/Ribbon/Ribbon.js +4 -2
- package/es/Ribbon/Ribbon.module.css +454 -456
- package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/RippleEffect/RippleEffect.module.css +92 -92
- package/es/Select/GroupSelect.js +59 -14
- package/es/Select/Select.js +81 -34
- package/es/Select/Select.module.css +108 -108
- package/es/Select/SelectWithAvatar.js +19 -4
- package/es/Select/SelectWithIcon.js +48 -6
- 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 +96 -96
- package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
- package/es/Switch/Switch.js +6 -3
- package/es/Switch/Switch.module.css +127 -127
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/Tab.module.css +100 -100
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContent.module.css +4 -4
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +73 -25
- package/es/Tab/Tabs.module.css +136 -154
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +15 -11
- package/es/Tag/Tag.module.css +254 -254
- package/es/TextBox/TextBox.js +16 -3
- package/es/TextBox/TextBox.module.css +158 -158
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
- package/es/Textarea/Textarea.js +13 -3
- package/es/Textarea/Textarea.module.css +139 -139
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
- package/es/Tooltip/Tooltip.js +60 -15
- package/es/Tooltip/Tooltip.module.css +140 -140
- 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/a11y.module.css +3 -3
- package/es/common/animation.module.css +624 -624
- package/es/common/avatarsizes.module.css +48 -48
- package/es/common/basic.module.css +33 -33
- package/es/common/basicReset.module.css +40 -40
- package/es/common/boxShadow.module.css +33 -33
- package/es/common/common.module.css +524 -524
- package/es/common/customscroll.module.css +91 -91
- package/es/common/reset.module.css +13 -13
- package/es/common/transition.module.css +146 -146
- package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +4 -2
- package/es/semantic/Button/semanticButton.module.css +9 -9
- package/es/utils/Common.js +58 -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/install.md +10 -10
- package/lib/Accordion/Accordion.js +43 -18
- package/lib/Accordion/AccordionItem.js +41 -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 +66 -26
- package/lib/AppContainer/AppContainer.module.css +18 -18
- package/lib/AppContainer/props/defaultProps.js +2 -1
- package/lib/AppContainer/props/propTypes.js +4 -0
- package/lib/Avatar/Avatar.js +90 -47
- package/lib/Avatar/Avatar.module.css +175 -175
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +60 -37
- package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +36 -24
- package/lib/Button/css/Button.module.css +525 -525
- 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 +34 -13
- package/lib/Buttongroup/Buttongroup.module.css +105 -106
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +106 -50
- package/lib/Card/Card.module.css +20 -20
- 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 +157 -157
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +83 -42
- package/lib/DateTime/DateTime.js +249 -159
- package/lib/DateTime/DateTime.module.css +235 -235
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +354 -250
- package/lib/DateTime/DateWidget.module.css +38 -38
- 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 +98 -98
- 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 +36 -12
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
- package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/DropBoxPositionMapping.json +144 -144
- package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
- package/lib/DropBox/css/DropBox.module.css +58 -58
- 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 +54 -9
- package/lib/DropDown/DropDown.module.css +5 -5
- package/lib/DropDown/DropDownHeading.js +40 -20
- package/lib/DropDown/DropDownHeading.module.css +53 -53
- package/lib/DropDown/DropDownItem.js +44 -21
- package/lib/DropDown/DropDownItem.module.css +94 -94
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSearch.module.css +14 -14
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/DropDownSeparator.module.css +7 -7
- 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 +39 -16
- package/lib/Heading/Heading.module.css +4 -4
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +45 -20
- package/lib/Label/Label.module.css +52 -52
- package/lib/Label/LabelColors.module.css +20 -20
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
- package/lib/Label/props/propTypes.js +7 -1
- package/lib/Layout/Box.js +39 -15
- package/lib/Layout/Container.js +37 -14
- package/lib/Layout/Layout.module.css +335 -335
- 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/defaultProps.js +2 -0
- package/lib/Layout/props/propTypes.js +5 -0
- package/lib/Layout/utils.js +15 -1
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItem.module.css +216 -216
- 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 +300 -171
- package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
- package/lib/MultiSelect/EmptyState.js +49 -24
- package/lib/MultiSelect/MultiSelect.js +329 -211
- package/lib/MultiSelect/MultiSelect.module.css +206 -206
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/SelectedOptions.module.css +15 -15
- 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/PopOver.module.css +8 -8
- 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 -84
- package/lib/Popup/PositionMapping.json +73 -73
- 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 +112 -112
- 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 +6 -6
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +34 -13
- package/lib/Ribbon/Ribbon.module.css +454 -456
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/RippleEffect.module.css +92 -92
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +230 -130
- package/lib/Select/Select.js +292 -210
- package/lib/Select/Select.module.css +108 -108
- package/lib/Select/SelectWithAvatar.js +104 -56
- package/lib/Select/SelectWithIcon.js +134 -77
- 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 +96 -96
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +58 -34
- package/lib/Switch/Switch.module.css +127 -127
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/Tab.module.css +100 -100
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContent.module.css +4 -4
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +184 -103
- package/lib/Tab/Tabs.module.css +136 -154
- 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 +81 -51
- package/lib/Tag/Tag.module.css +254 -254
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +86 -59
- package/lib/TextBox/TextBox.module.css +158 -158
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +55 -29
- package/lib/Textarea/Textarea.module.css +139 -139
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +96 -32
- package/lib/Tooltip/Tooltip.module.css +140 -140
- 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/a11y.module.css +3 -3
- package/lib/common/animation.module.css +624 -624
- package/lib/common/avatarsizes.module.css +48 -48
- package/lib/common/basic.module.css +33 -33
- package/lib/common/basicReset.module.css +40 -40
- package/lib/common/boxShadow.module.css +33 -33
- package/lib/common/common.module.css +524 -524
- package/lib/common/customscroll.module.css +91 -91
- package/lib/common/reset.module.css +13 -13
- package/lib/common/transition.module.css +146 -146
- package/lib/css.js +40 -0
- package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
- 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 +43 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/Button/semanticButton.module.css +9 -9
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +117 -19
- 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 +113 -123
- package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
- package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
- package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
- package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
- package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
- package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
- package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
- package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
- package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
- package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
- package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
- package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
- package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
- package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
- package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
- package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
- package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
- package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
- package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
- package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
- package/assets/Contrast/lightContrastLightness.module.css +0 -39
- /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
- /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
package/es/utils/Common.js
CHANGED
|
@@ -9,6 +9,10 @@ export const getTotalDimension = (elem, align) => {
|
|
|
9
9
|
const style = window.getComputedStyle(elem);
|
|
10
10
|
return align === 'vertical' ? elem.offsetWidth + parseDecimal(style.marginLeft) + parseDecimal(style.marginRight) : elem.offsetHeight + parseDecimal(style.marginTop) + parseDecimal(style.marginBottom);
|
|
11
11
|
};
|
|
12
|
+
export function stopPropagation(e) {
|
|
13
|
+
e && e.stopPropagation && e.stopPropagation();
|
|
14
|
+
}
|
|
15
|
+
;
|
|
12
16
|
export const stopAllEventPropagation = e => {
|
|
13
17
|
e.stopPropagation && e.stopPropagation();
|
|
14
18
|
e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
@@ -16,9 +20,7 @@ export const stopAllEventPropagation = e => {
|
|
|
16
20
|
export function cancelBubblingEffect(e) {
|
|
17
21
|
e && e.stopPropagation && e.stopPropagation();
|
|
18
22
|
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// export function getCommentsDetails(
|
|
23
|
+
} // export function getCommentsDetails(
|
|
22
24
|
// commentIds = [],
|
|
23
25
|
// comments = {},
|
|
24
26
|
// agents = {}
|
|
@@ -41,6 +43,7 @@ export function encodeForHtml(str) {
|
|
|
41
43
|
str = str.replace(/\\/g, '\');
|
|
42
44
|
str = str.replace(/'/g, ''');
|
|
43
45
|
}
|
|
46
|
+
|
|
44
47
|
return str;
|
|
45
48
|
}
|
|
46
49
|
export function getListOfDetails() {
|
|
@@ -52,6 +55,7 @@ export function getListOfDetails() {
|
|
|
52
55
|
export function capitalize() {
|
|
53
56
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
54
57
|
let newValue = '';
|
|
58
|
+
|
|
55
59
|
for (let i = 0; i < value.length; i++) {
|
|
56
60
|
if (i == 0) {
|
|
57
61
|
newValue += value[i].toUpperCase();
|
|
@@ -59,12 +63,14 @@ export function capitalize() {
|
|
|
59
63
|
newValue += value[i].toLowerCase();
|
|
60
64
|
}
|
|
61
65
|
}
|
|
66
|
+
|
|
62
67
|
return newValue;
|
|
63
68
|
}
|
|
64
69
|
export function bind() {
|
|
65
70
|
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
66
71
|
handlers[_key] = arguments[_key];
|
|
67
72
|
}
|
|
73
|
+
|
|
68
74
|
handlers.forEach(handler => {
|
|
69
75
|
this[handler] = this[handler].bind(this);
|
|
70
76
|
});
|
|
@@ -73,12 +79,15 @@ export function getFullName() {
|
|
|
73
79
|
let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
74
80
|
let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
75
81
|
let fullName = '';
|
|
82
|
+
|
|
76
83
|
if (firstName !== null && firstName !== '') {
|
|
77
84
|
fullName = firstName;
|
|
78
85
|
}
|
|
86
|
+
|
|
79
87
|
if (lastName !== null && lastName !== '') {
|
|
80
88
|
fullName = `${fullName}${lastName}`;
|
|
81
89
|
}
|
|
90
|
+
|
|
82
91
|
return fullName;
|
|
83
92
|
}
|
|
84
93
|
export function getStringifiedOutputForJson() {
|
|
@@ -86,6 +95,7 @@ export function getStringifiedOutputForJson() {
|
|
|
86
95
|
const keys = Object.keys(input);
|
|
87
96
|
const modifiedInput = keys.reduce((curr, next) => {
|
|
88
97
|
const values = input[next] || [];
|
|
98
|
+
|
|
89
99
|
if (values.length) {
|
|
90
100
|
const valueList = values.reduce((curr, next) => {
|
|
91
101
|
curr.push(next.id);
|
|
@@ -94,6 +104,7 @@ export function getStringifiedOutputForJson() {
|
|
|
94
104
|
curr[next] = valueList;
|
|
95
105
|
return curr;
|
|
96
106
|
}
|
|
107
|
+
|
|
97
108
|
return curr;
|
|
98
109
|
}, {});
|
|
99
110
|
return JSON.stringify(modifiedInput);
|
|
@@ -109,6 +120,7 @@ export function filterValue(obj, val) {
|
|
|
109
120
|
const ids = obj ? Object.keys(obj) : [];
|
|
110
121
|
ids.forEach(key => {
|
|
111
122
|
const value = obj[key] || {};
|
|
123
|
+
|
|
112
124
|
if (value.name === val && !value.isCustomField) {
|
|
113
125
|
result = value.id;
|
|
114
126
|
}
|
|
@@ -130,34 +142,42 @@ export function formatValue() {
|
|
|
130
142
|
let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
|
|
131
143
|
return values && values.map(value => {
|
|
132
144
|
let formattedValue = value;
|
|
145
|
+
|
|
133
146
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
134
147
|
formattedValue = {};
|
|
135
148
|
formattedValue[valueField] = value;
|
|
136
149
|
formattedValue[textField] = value;
|
|
137
150
|
}
|
|
151
|
+
|
|
138
152
|
return formattedValue;
|
|
139
153
|
}) || [];
|
|
140
154
|
}
|
|
141
155
|
export function bytesToSize(bytes) {
|
|
142
156
|
bytes = parseInt(bytes, 10);
|
|
143
157
|
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
158
|
+
|
|
144
159
|
if (bytes === 0) {
|
|
145
160
|
return '0 Byte';
|
|
146
161
|
}
|
|
162
|
+
|
|
147
163
|
const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
148
164
|
return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
|
|
149
165
|
}
|
|
150
166
|
export function getMemSize(bytes) {
|
|
151
167
|
let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
|
|
152
168
|
const thresh = size ? 1000 : 1024;
|
|
169
|
+
|
|
153
170
|
if (Math.abs(bytes) < thresh) {
|
|
154
171
|
return `${bytes} B`;
|
|
155
172
|
}
|
|
173
|
+
|
|
156
174
|
let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
|
|
157
|
-
|
|
175
|
+
i = -1;
|
|
176
|
+
|
|
158
177
|
do {
|
|
159
178
|
bytes /= thresh, ++i;
|
|
160
179
|
} while (Math.abs(bytes) >= thresh && i < units.length - 1);
|
|
180
|
+
|
|
161
181
|
{
|
|
162
182
|
return `${bytes.toFixed(1)} ${units[i]}`;
|
|
163
183
|
}
|
|
@@ -166,18 +186,24 @@ export function checkIsImageFile(fileName) {
|
|
|
166
186
|
fileName = fileName || '';
|
|
167
187
|
return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
|
|
168
188
|
}
|
|
189
|
+
|
|
169
190
|
function getI18NValue(key, values) {
|
|
170
191
|
if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
|
|
171
192
|
return key;
|
|
172
193
|
}
|
|
194
|
+
|
|
173
195
|
let i18nStr = i18n[key];
|
|
196
|
+
|
|
174
197
|
if (i18nStr === undefined) {
|
|
175
198
|
return key;
|
|
176
199
|
}
|
|
200
|
+
|
|
177
201
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
178
202
|
return unescapeUnicode(i18nStr);
|
|
179
203
|
}
|
|
204
|
+
|
|
180
205
|
global.getI18NValue = getI18NValue;
|
|
206
|
+
|
|
181
207
|
function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
182
208
|
if (typeof values !== 'undefined') {
|
|
183
209
|
if (Array.isArray(values)) {
|
|
@@ -188,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
188
214
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
189
215
|
}
|
|
190
216
|
}
|
|
217
|
+
|
|
191
218
|
return i18nStr;
|
|
192
219
|
}
|
|
220
|
+
|
|
193
221
|
function unescapeUnicode(str) {
|
|
194
222
|
return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
|
|
195
223
|
}
|
|
224
|
+
|
|
196
225
|
export function getPortalName(portalList, portalId) {
|
|
197
226
|
return portalList && portalList.reduce((res, portal) => {
|
|
198
227
|
if (portal.orgId === portalId) {
|
|
199
228
|
return portal.orgName;
|
|
200
229
|
}
|
|
230
|
+
|
|
201
231
|
return res;
|
|
202
232
|
}, null);
|
|
203
233
|
}
|
|
204
234
|
export function getFullDateString(fullDateObj) {
|
|
205
235
|
let dateStr = '';
|
|
206
236
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
237
|
+
|
|
207
238
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
208
239
|
dateStr = format12Hour(fullDateObj);
|
|
209
240
|
} else {
|
|
@@ -213,6 +244,7 @@ export function getFullDateString(fullDateObj) {
|
|
|
213
244
|
const time = format12Hour(fullDateObj);
|
|
214
245
|
dateStr = `${month} ${date} ${year} ${time}`;
|
|
215
246
|
}
|
|
247
|
+
|
|
216
248
|
return dateStr;
|
|
217
249
|
}
|
|
218
250
|
export function format12Hour(date) {
|
|
@@ -221,6 +253,7 @@ export function format12Hour(date) {
|
|
|
221
253
|
const ampm = hours >= 12 ? 'pm' : 'am';
|
|
222
254
|
hours %= 12;
|
|
223
255
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
|
256
|
+
|
|
224
257
|
minutes = minutes < 10 ? `0${minutes}` : minutes;
|
|
225
258
|
const strTime = `${hours}:${minutes} ${ampm}`;
|
|
226
259
|
return strTime;
|
|
@@ -228,6 +261,7 @@ export function format12Hour(date) {
|
|
|
228
261
|
export function getDateOnly(fullDateObj) {
|
|
229
262
|
let dateStr = '';
|
|
230
263
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
264
|
+
|
|
231
265
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
232
266
|
dateStr = 'Today';
|
|
233
267
|
} else {
|
|
@@ -236,6 +270,7 @@ export function getDateOnly(fullDateObj) {
|
|
|
236
270
|
const date = fullDateObj.getDate();
|
|
237
271
|
dateStr = `${month} ${date} ${year}`;
|
|
238
272
|
}
|
|
273
|
+
|
|
239
274
|
return dateStr;
|
|
240
275
|
}
|
|
241
276
|
export function doAfterScrollEnd(element, callback) {
|
|
@@ -249,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
|
|
|
249
284
|
scrollHeight
|
|
250
285
|
} = element;
|
|
251
286
|
const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
|
|
287
|
+
|
|
252
288
|
if (scrollPercent > 80) {
|
|
253
289
|
callback && callback();
|
|
254
290
|
}
|
|
@@ -265,9 +301,11 @@ export const throttle = function (func, wait) {
|
|
|
265
301
|
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
266
302
|
args[_key2 - 2] = arguments[_key2];
|
|
267
303
|
}
|
|
304
|
+
|
|
268
305
|
if (timerId) {
|
|
269
306
|
return;
|
|
270
307
|
}
|
|
308
|
+
|
|
271
309
|
timerId = setTimeout(() => {
|
|
272
310
|
try {
|
|
273
311
|
func(...args);
|
|
@@ -280,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
280
318
|
if (!suggestionContainer || !selSuggestion) {
|
|
281
319
|
return;
|
|
282
320
|
}
|
|
321
|
+
|
|
283
322
|
const {
|
|
284
323
|
rectGap
|
|
285
324
|
} = frameRelativeRects(selSuggestion, suggestionContainer) || {};
|
|
@@ -287,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
287
326
|
top = 0,
|
|
288
327
|
bottom = 0
|
|
289
328
|
} = rectGap || {};
|
|
329
|
+
|
|
290
330
|
if (top < 0 && bottom < 0) {
|
|
291
331
|
return;
|
|
292
332
|
}
|
|
333
|
+
|
|
293
334
|
const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
|
|
294
335
|
const suggestionContainerScrollTop = suggestionContainer.scrollTop;
|
|
295
336
|
suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
|
|
@@ -301,17 +342,21 @@ export function remConvert(val) {
|
|
|
301
342
|
}
|
|
302
343
|
export function isDescendant(parent, child) {
|
|
303
344
|
let node = child.parentNode;
|
|
345
|
+
|
|
304
346
|
while (node !== null) {
|
|
305
347
|
if (node === parent) {
|
|
306
348
|
return true;
|
|
307
349
|
}
|
|
350
|
+
|
|
308
351
|
node = node.parentNode;
|
|
309
352
|
}
|
|
353
|
+
|
|
310
354
|
return false;
|
|
311
355
|
}
|
|
312
356
|
export function getElementSpace(elementRef) {
|
|
313
357
|
let neededSpace = 0,
|
|
314
|
-
|
|
358
|
+
availableInsideSpace = 0;
|
|
359
|
+
|
|
315
360
|
if (elementRef) {
|
|
316
361
|
let getStyle = window.getComputedStyle(elementRef);
|
|
317
362
|
let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
|
|
@@ -320,6 +365,7 @@ export function getElementSpace(elementRef) {
|
|
|
320
365
|
neededSpace = width + margin;
|
|
321
366
|
availableInsideSpace = width - padding;
|
|
322
367
|
}
|
|
368
|
+
|
|
323
369
|
return {
|
|
324
370
|
neededSpace: neededSpace,
|
|
325
371
|
availableInsideSpace: availableInsideSpace
|
|
@@ -329,7 +375,6 @@ export function getSearchString() {
|
|
|
329
375
|
let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
330
376
|
return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
|
|
331
377
|
}
|
|
332
|
-
|
|
333
378
|
export function findScrollEnd(element) {
|
|
334
379
|
let {
|
|
335
380
|
scrollHeight,
|
|
@@ -338,26 +383,30 @@ export function findScrollEnd(element) {
|
|
|
338
383
|
clientHeight
|
|
339
384
|
} = element || {};
|
|
340
385
|
let isElementScrollable = scrollHeight > clientHeight;
|
|
386
|
+
|
|
341
387
|
if (isElementScrollable) {
|
|
342
388
|
if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
|
|
343
389
|
return true;
|
|
344
390
|
}
|
|
345
|
-
}
|
|
346
|
-
// else {
|
|
347
|
-
|
|
391
|
+
} // else {
|
|
348
392
|
// throw 'Is scroll not present in this element';
|
|
349
393
|
// }
|
|
394
|
+
|
|
395
|
+
|
|
350
396
|
return false;
|
|
351
397
|
}
|
|
352
398
|
export function isTextSelected() {
|
|
353
399
|
let selectedText = '';
|
|
400
|
+
|
|
354
401
|
if (window.getSelection) {
|
|
355
402
|
selectedText = window.getSelection().toString();
|
|
356
403
|
} else if (document.getSelection) {
|
|
357
404
|
selectedText = document.getSelection().toString();
|
|
358
405
|
}
|
|
406
|
+
|
|
359
407
|
if (selectedText !== '') {
|
|
360
408
|
return true;
|
|
361
409
|
}
|
|
410
|
+
|
|
362
411
|
return false;
|
|
363
412
|
}
|
|
@@ -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
|
throw new Error(`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
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const offsetMap = {
|
|
2
|
+
0: 'GMT+00:00 Africa/Abidjan',
|
|
3
|
+
44: 'GMT+00:00 Africa/Monrovia',
|
|
4
|
+
60: 'GMT+01:00 Africa/Bangui',
|
|
5
|
+
120: 'GMT+02:00 Africa/Blantyre',
|
|
6
|
+
180: 'GMT+03:00 Africa/Addis_Ababa',
|
|
7
|
+
210: 'GMT+04:30 Asia/Tehran',
|
|
8
|
+
240: 'GMT+03:00 Asia/Bahrain',
|
|
9
|
+
270: 'GMT+04:30 Asia/Kabul',
|
|
10
|
+
300: 'GMT+05:00 Asia/Aqtau',
|
|
11
|
+
'-330': 'GMT+05:30 Asia/Kolkata',
|
|
12
|
+
360: 'GMT+06:00 Asia/Dacca',
|
|
13
|
+
390: 'GMT+06:30 Indian/Cocos',
|
|
14
|
+
420: 'GMT+07:00 Asia/Bangkok',
|
|
15
|
+
450: 'GMT+08:00 Asia/Singapore',
|
|
16
|
+
480: 'GMT+08:00 Asia/Hong_Kong',
|
|
17
|
+
510: 'GMT+08:00 Asia/Harbin',
|
|
18
|
+
525: 'GMT+08:45 Australia/Eucla',
|
|
19
|
+
540: 'GMT+09:00 Asia/Chita',
|
|
20
|
+
570: 'GMT+09:30 Australia/Adelaide',
|
|
21
|
+
600: 'GMT+10:00 Antarctica/DumontDUrville',
|
|
22
|
+
660: 'GMT+11:00 Asia/Magadan',
|
|
23
|
+
690: 'GMT+11:00 Pacific/Norfolk',
|
|
24
|
+
720: 'GMT+12:00 Asia/Kamchatka',
|
|
25
|
+
765: 'GMT+12:45 Pacific/Chatham',
|
|
26
|
+
780: 'GMT+12:00 Asia/Anadyr',
|
|
27
|
+
840: 'GMT+14:00 Etc/GMT-14',
|
|
28
|
+
'-60': 'GMT-01:00 Etc/GMT+1',
|
|
29
|
+
'-660': 'GMT-11:00 US/Samoa',
|
|
30
|
+
'-600': 'GMT-04:00 America/Anguilla',
|
|
31
|
+
'-240': 'GMT-04:00 America/Antigua',
|
|
32
|
+
'-180': 'GMT-03:00 America/Araguaina',
|
|
33
|
+
'-300': 'GMT-05:00 America/Atikokan',
|
|
34
|
+
'-480': 'GMT-05:00 America/Bahia_Banderas',
|
|
35
|
+
'-360': 'GMT-06:00 America/Belize',
|
|
36
|
+
'-420': 'GMT-06:00 America/Boise',
|
|
37
|
+
'-540': 'GMT-07:00 America/Dawson',
|
|
38
|
+
'-135': 'GMT-04:00 America/Guyana',
|
|
39
|
+
'-120': 'GMT-02:00 Etc/GMT+2',
|
|
40
|
+
'-150': 'GMT-03:00 America/Paramaribo',
|
|
41
|
+
'-210': 'GMT-04:00 America/Santo_Domingo',
|
|
42
|
+
'-720': 'GMT+12:00 Pacific/Kwajalein',
|
|
43
|
+
'-560': 'GMT+14:00 Pacific/Kiritimati',
|
|
44
|
+
'-510': 'GMT-09:30 Pacific/Marquesas',
|
|
45
|
+
'-630': 'GMT-11:00 Pacific/Niue',
|
|
46
|
+
'-450': 'GMT-08:00 Pacific/Pitcairn',
|
|
47
|
+
'-570': 'GMT-10:00 Pacific/Rarotonga'
|
|
48
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { offsetMap } from './GMTZones.js';
|
|
1
2
|
let dateFormat = {
|
|
2
3
|
dayNames: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
|
3
4
|
monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
|
@@ -10,8 +11,15 @@ export function pad(n) {
|
|
|
10
11
|
n = `${n}`;
|
|
11
12
|
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
|
|
12
13
|
}
|
|
14
|
+
export function getTimeOffset() {
|
|
15
|
+
const GMT = new Date();
|
|
16
|
+
const matchingOffset = Object.keys(offsetMap).find(offset => GMT.getTimezoneOffset() === Number(offset));
|
|
17
|
+
return matchingOffset ? offsetMap[matchingOffset].toString().split(' ') : ['', ''];
|
|
18
|
+
}
|
|
13
19
|
export function formatDate(dateMill, mask) {
|
|
14
20
|
let date = new Date(dateMill);
|
|
21
|
+
let O = getTimeOffset()[0];
|
|
22
|
+
let Z = getTimeOffset()[1];
|
|
15
23
|
let d = date.getDate();
|
|
16
24
|
let D = date.getDay();
|
|
17
25
|
let m = date.getMonth();
|
|
@@ -22,6 +30,7 @@ export function formatDate(dateMill, mask) {
|
|
|
22
30
|
let L = date.getMilliseconds();
|
|
23
31
|
let flags = {
|
|
24
32
|
d: d,
|
|
33
|
+
O: O,
|
|
25
34
|
dd: pad(d, 2),
|
|
26
35
|
ddd: dateFormat.dayNames[D],
|
|
27
36
|
dddd: dateFormat.dayNames[D + 7],
|
|
@@ -49,13 +58,18 @@ export function formatDate(dateMill, mask) {
|
|
|
49
58
|
L: pad(Math.round(L / 10)),
|
|
50
59
|
t: H < 12 ? dateFormat.timeNames[0] : dateFormat.timeNames[1],
|
|
51
60
|
A: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
|
|
52
|
-
|
|
61
|
+
a: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
|
|
62
|
+
T: H < 12 ? dateFormat.timeNames[4] : dateFormat.timeNames[5],
|
|
63
|
+
Z: Z,
|
|
64
|
+
VV: Z,
|
|
65
|
+
SSS: pad(L, 3)
|
|
53
66
|
};
|
|
54
|
-
let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|yy?|([
|
|
67
|
+
let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|O|Z|VV|SSS|yy?|([HhmsAa])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/g;
|
|
55
68
|
let dat = mask.replace(token, match => {
|
|
56
69
|
if (match in flags) {
|
|
57
70
|
return flags[match];
|
|
58
71
|
}
|
|
72
|
+
|
|
59
73
|
return match.slice(1, match.length - 1);
|
|
60
74
|
});
|
|
61
75
|
return dat;
|
|
@@ -70,6 +84,7 @@ export function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
70
84
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
71
85
|
}
|
|
72
86
|
}
|
|
87
|
+
|
|
73
88
|
return i18nStr;
|
|
74
89
|
}
|
|
75
90
|
export function unescapeUnicode(str) {
|
|
@@ -84,25 +99,28 @@ export function getI18NValue(i18n) {
|
|
|
84
99
|
if (typeof i18n === 'undefined') {
|
|
85
100
|
return key => key;
|
|
86
101
|
}
|
|
102
|
+
|
|
87
103
|
return (key, values) => {
|
|
88
104
|
let i18nStr = i18n[key];
|
|
105
|
+
|
|
89
106
|
if (i18nStr === undefined) {
|
|
90
107
|
return key;
|
|
91
108
|
}
|
|
109
|
+
|
|
92
110
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
93
111
|
return unescapeUnicode(i18nStr);
|
|
94
112
|
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// function getValues(params = [], diff) {
|
|
113
|
+
} // function getValues(params = [], diff) {
|
|
98
114
|
// return params.map(param => {
|
|
99
115
|
// return diff[param];
|
|
100
116
|
// });
|
|
101
117
|
// }
|
|
118
|
+
|
|
102
119
|
export function getI18NInfo(toDateObj, props, diffObj) {
|
|
103
120
|
let key = null,
|
|
104
|
-
|
|
105
|
-
|
|
121
|
+
values,
|
|
122
|
+
text = null;
|
|
123
|
+
|
|
106
124
|
if (typeof props === 'function') {
|
|
107
125
|
let value = props(diffObj1);
|
|
108
126
|
key = value.key;
|
|
@@ -113,6 +131,7 @@ export function getI18NInfo(toDateObj, props, diffObj) {
|
|
|
113
131
|
} else if (typeof props === 'string') {
|
|
114
132
|
text = toDateObj.format(props);
|
|
115
133
|
}
|
|
134
|
+
|
|
116
135
|
return {
|
|
117
136
|
key,
|
|
118
137
|
values,
|
|
@@ -141,12 +160,15 @@ let oneYearInMillis = 31536000000;
|
|
|
141
160
|
let oneDayInMillis = 86400000;
|
|
142
161
|
let oneHourInMillis = 3600000;
|
|
143
162
|
let oneMinuteInMillis = 60000;
|
|
163
|
+
|
|
144
164
|
function convertAsNonExponential(number) {
|
|
145
165
|
if (number.toString().toLowerCase().indexOf('e') !== -1) {
|
|
146
166
|
return number.toFixed(20);
|
|
147
167
|
}
|
|
168
|
+
|
|
148
169
|
return number;
|
|
149
170
|
}
|
|
171
|
+
|
|
150
172
|
export function getDiffObj(diff) {
|
|
151
173
|
diff = Math.abs(diff);
|
|
152
174
|
let diffYears = diff / oneYearInMillis;
|
|
@@ -173,8 +195,10 @@ export function getDiffObj(diff) {
|
|
|
173
195
|
export function getMonthEnd(month, year) {
|
|
174
196
|
let monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
175
197
|
let isLeapYear = year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
|
|
198
|
+
|
|
176
199
|
if (month === 1 && isLeapYear) {
|
|
177
200
|
return 29;
|
|
178
201
|
}
|
|
202
|
+
|
|
179
203
|
return monthend[month];
|
|
180
204
|
}
|
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
|
}
|