@zohodesk/components 1.0.0-test-252 → 1.1.0
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 +1266 -1102
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +346 -0
- package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +35 -0
- package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +35 -0
- package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +35 -0
- package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +35 -0
- package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +45 -0
- package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +35 -0
- package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +45 -0
- package/assets/Appearance/light/mode/Component_LightMode.module.css +346 -0
- package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +452 -0
- package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +35 -0
- package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +45 -0
- package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +452 -0
- package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +35 -0
- package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +45 -0
- package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +452 -0
- package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +35 -0
- package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +45 -0
- package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +452 -0
- package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +35 -0
- package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +45 -0
- package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +452 -0
- package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +35 -0
- package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +45 -0
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +346 -0
- package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +35 -0
- package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +35 -0
- package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +35 -0
- package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +35 -0
- package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +45 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +35 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +45 -0
- package/assets/Contrast/darkContrastLightness.module.css +39 -0
- package/assets/Contrast/lightContrastLightness.module.css +39 -0
- package/assets/Contrast/pureDarkContrastLightness.module.css +39 -0
- package/css_error.log +1 -0
- package/es/Accordion/Accordion.js +19 -9
- package/es/Accordion/AccordionItem.js +13 -8
- package/es/Accordion/props/defaultProps.js +6 -2
- package/es/Accordion/props/propTypes.js +3 -0
- package/es/Animation/Animation.js +10 -9
- package/es/AppContainer/AppContainer.js +38 -15
- package/es/AppContainer/AppContainer.module.css +18 -18
- package/es/AppContainer/props/defaultProps.js +3 -1
- package/es/AppContainer/props/propTypes.js +2 -0
- package/es/Avatar/Avatar.js +57 -34
- package/es/Avatar/Avatar.module.css +176 -135
- package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
- package/es/Avatar/props/defaultProps.js +4 -1
- package/es/Avatar/props/propTypes.js +5 -2
- package/es/AvatarTeam/AvatarTeam.js +28 -18
- package/es/AvatarTeam/AvatarTeam.module.css +189 -161
- package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
- package/es/AvatarTeam/props/defaultProps.js +5 -1
- package/es/AvatarTeam/props/propTypes.js +5 -1
- package/es/Button/Button.js +59 -55
- package/{lib/Button → es/Button/css}/Button.module.css +525 -521
- package/es/Button/css/cssJSLogic.js +53 -0
- package/es/Button/index.js +2 -0
- package/es/Button/props/defaultProps.js +3 -1
- package/es/Button/props/propTypes.js +6 -2
- package/es/Buttongroup/Buttongroup.js +25 -17
- package/es/Buttongroup/Buttongroup.module.css +106 -89
- package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
- package/es/Buttongroup/props/defaultProps.js +3 -1
- package/es/Buttongroup/props/propTypes.js +3 -1
- package/es/Card/Card.js +52 -30
- package/es/Card/Card.module.css +20 -20
- package/es/Card/props/defaultProps.js +12 -2
- package/es/Card/props/propTypes.js +2 -2
- package/es/CheckBox/CheckBox.js +13 -9
- package/es/CheckBox/CheckBox.module.css +157 -157
- package/es/CheckBox/props/propTypes.js +1 -0
- package/es/DateTime/CalendarView.js +46 -19
- package/es/DateTime/DateTime.js +139 -77
- package/es/DateTime/DateTime.module.css +235 -232
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +30 -11
- package/es/DateTime/DateWidget.js +122 -51
- package/es/DateTime/DateWidget.module.css +38 -38
- package/es/DateTime/DaysRow.js +6 -3
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +41 -9
- package/es/DateTime/YearView.module.css +99 -81
- 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 +42 -0
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +59 -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 +1 -1
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/props/defaultProps.js +2 -1
- package/es/DateTime/props/propTypes.js +5 -2
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +82 -218
- package/es/DropBox/DropBoxElement/DropBoxElement.js +132 -0
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +91 -0
- package/es/DropBox/DropBoxElement/props/defaultProps.js +18 -0
- package/es/DropBox/DropBoxElement/props/propTypes.js +45 -0
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +54 -0
- package/es/DropBox/DropBoxPositionMapping.json +144 -144
- package/es/DropBox/__tests__/DropBox.spec.js +2 -2
- package/es/DropBox/css/DropBox.module.css +59 -0
- package/es/DropBox/css/cssJSLogic.js +14 -0
- package/es/DropBox/props/defaultProps.js +9 -15
- package/es/DropBox/props/propTypes.js +9 -41
- package/es/DropDown/DropDown.js +16 -9
- package/es/DropDown/DropDown.module.css +5 -5
- package/es/DropDown/DropDownHeading.js +18 -11
- 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/DropDown/index.js +7 -0
- package/es/DropDown/props/defaultProps.js +3 -1
- package/es/DropDown/props/propTypes.js +2 -1
- package/es/Heading/Heading.js +8 -7
- package/es/Heading/Heading.module.css +4 -4
- package/es/Label/Label.js +16 -11
- 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/defaultProps.js +2 -1
- package/es/Label/props/propTypes.js +1 -0
- package/es/Layout/Box.js +19 -4
- package/es/Layout/Container.js +18 -5
- package/es/Layout/Layout.module.css +335 -335
- package/es/Layout/index.js +9 -10
- package/es/Layout/props/defaultProps.js +6 -2
- package/es/Layout/props/propTypes.js +7 -3
- package/es/Layout/utils.js +5 -1
- package/es/ListItem/ListContainer.js +21 -9
- package/es/ListItem/ListItem.js +30 -14
- package/es/ListItem/ListItem.module.css +216 -209
- package/es/ListItem/ListItemWithAvatar.js +30 -15
- package/es/ListItem/ListItemWithCheckBox.js +22 -10
- package/es/ListItem/ListItemWithIcon.js +29 -14
- package/es/ListItem/ListItemWithRadio.js +22 -10
- package/es/ListItem/index.js +6 -0
- package/es/ListItem/props/defaultProps.js +18 -6
- package/es/ListItem/props/propTypes.js +13 -1
- package/es/Modal/Modal.js +35 -17
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +105 -25
- package/es/MultiSelect/AdvancedMultiSelect.js +45 -19
- package/es/MultiSelect/EmptyState.js +6 -0
- package/es/MultiSelect/MultiSelect.js +134 -51
- package/es/MultiSelect/MultiSelect.module.css +206 -205
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +43 -19
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/SelectedOptions.module.css +15 -15
- package/es/MultiSelect/Suggestions.js +13 -6
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/index.js +4 -0
- package/es/MultiSelect/props/defaultProps.js +11 -4
- package/es/MultiSelect/props/propTypes.js +17 -5
- package/es/PopOver/PopOver.js +25 -9
- package/es/PopOver/PopOver.module.css +8 -8
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/PopOver/index.js +3 -0
- package/es/Popup/Popup.js +80 -31
- 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/AvatarSize.js +1 -0
- package/es/Provider/IdProvider.js +16 -10
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Provider/index.js +4 -0
- package/es/Radio/Radio.js +9 -7
- package/es/Radio/Radio.module.css +112 -112
- package/es/Responsive/CustomResponsive.js +37 -21
- 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 +9 -8
- 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 +21 -15
- package/es/Ribbon/Ribbon.module.css +454 -376
- package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
- package/es/Ribbon/props/defaultProps.js +2 -1
- package/es/Ribbon/props/propTypes.js +2 -1
- package/es/RippleEffect/RippleEffect.js +6 -7
- package/es/RippleEffect/RippleEffect.module.css +92 -92
- package/es/Select/GroupSelect.js +71 -23
- package/es/Select/Select.js +115 -50
- package/es/Select/Select.module.css +108 -108
- package/es/Select/SelectWithAvatar.js +31 -12
- package/es/Select/SelectWithIcon.js +60 -14
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/index.js +4 -0
- package/es/Select/props/defaultProps.js +6 -1
- package/es/Select/props/propTypes.js +10 -4
- package/es/Stencils/Stencils.js +10 -9
- package/es/Stencils/Stencils.module.css +96 -96
- package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
- package/es/Switch/Switch.js +14 -8
- package/es/Switch/Switch.module.css +127 -110
- package/es/Switch/props/defaultProps.js +2 -1
- package/es/Switch/props/propTypes.js +1 -0
- package/es/Tab/Tab.js +14 -11
- package/es/Tab/Tab.module.css +100 -101
- package/es/Tab/TabContent.js +6 -3
- package/es/Tab/TabContent.module.css +4 -4
- package/es/Tab/TabContentWrapper.js +6 -2
- package/es/Tab/TabWrapper.js +9 -4
- package/es/Tab/Tabs.js +100 -36
- package/es/Tab/Tabs.module.css +137 -141
- package/es/Tab/__tests__/Tab.spec.js +4 -12
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tab/props/defaultProps.js +10 -5
- package/es/Tab/props/propTypes.js +10 -5
- package/es/Tag/Tag.js +24 -18
- package/es/Tag/Tag.module.css +254 -254
- package/es/Tag/props/defaultProps.js +2 -1
- package/es/Tag/props/propTypes.js +2 -1
- package/es/TextBox/TextBox.js +26 -10
- package/es/TextBox/TextBox.module.css +158 -157
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
- package/es/TextBox/props/defaultProps.js +2 -1
- package/es/TextBox/props/propTypes.js +2 -1
- package/es/TextBoxIcon/TextBoxIcon.js +39 -13
- package/es/TextBoxIcon/TextBoxIcon.module.css +79 -78
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
- package/es/TextBoxIcon/props/defaultProps.js +2 -1
- package/es/TextBoxIcon/props/propTypes.js +1 -0
- package/es/Textarea/Textarea.js +23 -10
- 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/Textarea/props/defaultProps.js +2 -1
- package/es/Textarea/props/propTypes.js +1 -0
- package/es/Tooltip/Tooltip.js +67 -21
- package/es/Tooltip/Tooltip.module.css +141 -109
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +7 -6
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +11 -8
- package/es/VelocityAnimation/index.js +2 -0
- package/es/common/a11y.module.css +4 -0
- package/es/common/animation.module.css +624 -624
- package/es/common/avatarsizes.module.css +48 -44
- package/es/common/basic.module.css +33 -33
- package/es/common/basicReset.module.css +40 -40
- package/es/common/boxShadow.module.css +34 -0
- package/es/common/common.module.css +524 -524
- package/es/common/customscroll.module.css +91 -89
- package/es/common/reset.module.css +13 -12
- package/es/common/transition.module.css +146 -146
- package/es/css.js +2 -1
- package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
- package/es/deprecated/PortalLayer/PortalLayer.js +30 -24
- package/es/index.js +30 -146
- package/es/semantic/Button/Button.js +9 -7
- package/es/semantic/Button/semanticButton.module.css +9 -9
- package/es/semantic/index.js +1 -0
- package/es/utils/Common.js +74 -7
- 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 +28 -0
- package/es/utils/css/mergeStyle.js +57 -0
- package/es/utils/css/utils.js +24 -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 +71 -13
- package/es/utils/getInitial.js +4 -0
- package/es/utils/index.js +3 -0
- package/es/utils/shallowEqual.js +6 -0
- package/install.md +10 -0
- package/lib/Accordion/Accordion.js +50 -18
- package/lib/Accordion/AccordionItem.js +47 -20
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/defaultProps.js +6 -2
- package/lib/Accordion/props/propTypes.js +6 -0
- package/lib/Animation/Animation.js +44 -21
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +75 -27
- package/lib/AppContainer/AppContainer.module.css +18 -18
- package/lib/AppContainer/props/defaultProps.js +3 -1
- package/lib/AppContainer/props/propTypes.js +5 -0
- package/lib/Avatar/Avatar.js +106 -53
- package/lib/Avatar/Avatar.module.css +176 -135
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
- package/lib/Avatar/props/defaultProps.js +4 -1
- package/lib/Avatar/props/propTypes.js +8 -2
- package/lib/AvatarTeam/AvatarTeam.js +70 -36
- package/lib/AvatarTeam/AvatarTeam.module.css +189 -161
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
- package/lib/AvatarTeam/props/defaultProps.js +5 -1
- package/lib/AvatarTeam/props/propTypes.js +8 -1
- package/lib/Button/Button.js +68 -78
- package/{es/Button → lib/Button/css}/Button.module.css +525 -521
- package/lib/Button/css/cssJSLogic.js +41 -0
- package/lib/Button/index.js +23 -0
- package/lib/Button/props/defaultProps.js +5 -1
- package/lib/Button/props/propTypes.js +11 -3
- package/lib/Buttongroup/Buttongroup.js +50 -20
- package/lib/Buttongroup/Buttongroup.module.css +106 -89
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
- package/lib/Buttongroup/props/defaultProps.js +3 -1
- package/lib/Buttongroup/props/propTypes.js +6 -1
- package/lib/Card/Card.js +123 -59
- 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/defaultProps.js +16 -4
- package/lib/Card/props/propTypes.js +5 -2
- package/lib/CheckBox/CheckBox.js +76 -48
- package/lib/CheckBox/CheckBox.module.css +157 -157
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +4 -0
- package/lib/DateTime/CalendarView.js +95 -38
- package/lib/DateTime/DateTime.js +309 -216
- package/lib/DateTime/DateTime.module.css +235 -232
- package/lib/DateTime/DateTimePopupFooter.js +30 -5
- package/lib/DateTime/DateTimePopupHeader.js +69 -23
- package/lib/DateTime/DateWidget.js +370 -260
- package/lib/DateTime/DateWidget.module.css +38 -38
- package/lib/DateTime/DaysRow.js +28 -3
- package/lib/DateTime/Time.js +72 -29
- package/lib/DateTime/YearView.js +89 -30
- package/lib/DateTime/YearView.module.css +99 -81
- 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 +50 -0
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +99 -13
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +52 -20
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +3 -1
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/defaultProps.js +2 -1
- package/lib/DateTime/props/propTypes.js +21 -2
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +69 -6
- package/lib/DropBox/DropBox.js +102 -249
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +145 -0
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +81 -0
- package/lib/DropBox/DropBoxElement/props/defaultProps.js +25 -0
- package/lib/DropBox/DropBoxElement/props/propTypes.js +56 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +60 -0
- package/lib/DropBox/DropBoxPositionMapping.json +144 -144
- package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
- package/lib/DropBox/css/DropBox.module.css +59 -0
- package/lib/DropBox/css/cssJSLogic.js +20 -0
- package/lib/DropBox/props/defaultProps.js +20 -17
- package/lib/DropBox/props/propTypes.js +22 -43
- package/lib/DropDown/DropDown.js +58 -10
- package/lib/DropDown/DropDown.module.css +5 -5
- package/lib/DropDown/DropDownHeading.js +47 -18
- package/lib/DropDown/DropDownHeading.module.css +53 -53
- package/lib/DropDown/DropDownItem.js +43 -18
- package/lib/DropDown/DropDownItem.module.css +94 -94
- package/lib/DropDown/DropDownSearch.js +39 -14
- package/lib/DropDown/DropDownSearch.module.css +14 -14
- package/lib/DropDown/DropDownSeparator.js +23 -1
- 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 +65 -0
- package/lib/DropDown/props/defaultProps.js +3 -1
- package/lib/DropDown/props/propTypes.js +7 -1
- package/lib/Heading/Heading.js +42 -16
- package/lib/Heading/Heading.module.css +4 -4
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +47 -19
- 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/defaultProps.js +2 -1
- package/lib/Label/props/propTypes.js +4 -0
- package/lib/Layout/Box.js +41 -16
- package/lib/Layout/Container.js +39 -15
- 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 +4 -11
- package/lib/Layout/props/defaultProps.js +6 -2
- package/lib/Layout/props/propTypes.js +10 -3
- package/lib/Layout/utils.js +15 -1
- package/lib/ListItem/ListContainer.js +61 -34
- package/lib/ListItem/ListItem.js +92 -50
- package/lib/ListItem/ListItem.module.css +216 -209
- package/lib/ListItem/ListItemWithAvatar.js +98 -54
- package/lib/ListItem/ListItemWithCheckBox.js +82 -41
- package/lib/ListItem/ListItemWithIcon.js +92 -50
- package/lib/ListItem/ListItemWithRadio.js +83 -42
- package/lib/ListItem/index.js +55 -0
- package/lib/ListItem/props/defaultProps.js +18 -6
- package/lib/ListItem/props/propTypes.js +18 -3
- package/lib/Modal/Modal.js +51 -13
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +305 -172
- package/lib/MultiSelect/AdvancedMultiSelect.js +212 -130
- package/lib/MultiSelect/EmptyState.js +48 -21
- package/lib/MultiSelect/MultiSelect.js +346 -210
- package/lib/MultiSelect/MultiSelect.module.css +206 -205
- package/lib/MultiSelect/MultiSelectHeader.js +29 -5
- package/lib/MultiSelect/MultiSelectWithAvatar.js +126 -65
- package/lib/MultiSelect/SelectedOptions.js +42 -14
- package/lib/MultiSelect/SelectedOptions.module.css +15 -15
- package/lib/MultiSelect/Suggestions.js +66 -29
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +39 -0
- package/lib/MultiSelect/props/defaultProps.js +13 -4
- package/lib/MultiSelect/props/propTypes.js +20 -5
- package/lib/PopOver/PopOver.js +101 -53
- package/lib/PopOver/PopOver.module.css +8 -8
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +31 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -83
- package/lib/Popup/PositionMapping.json +73 -73
- package/lib/Popup/__tests__/Popup.spec.js +42 -5
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +5 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +23 -12
- package/lib/Provider/LibraryContext.js +32 -10
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +43 -14
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +81 -0
- package/lib/Radio/Radio.js +65 -40
- 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 +76 -26
- package/lib/Responsive/RefWrapper.js +15 -7
- package/lib/Responsive/ResizeComponent.js +58 -27
- package/lib/Responsive/ResizeObserver.js +23 -6
- package/lib/Responsive/Responsive.js +76 -24
- package/lib/Responsive/index.js +49 -22
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +51 -13
- 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 +44 -14
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +48 -21
- package/lib/Ribbon/Ribbon.module.css +454 -376
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
- package/lib/Ribbon/props/defaultProps.js +2 -1
- package/lib/Ribbon/props/propTypes.js +5 -1
- package/lib/RippleEffect/RippleEffect.js +23 -14
- package/lib/RippleEffect/RippleEffect.module.css +92 -92
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +240 -137
- package/lib/Select/Select.js +320 -220
- package/lib/Select/Select.module.css +108 -108
- package/lib/Select/SelectWithAvatar.js +112 -59
- package/lib/Select/SelectWithIcon.js +145 -82
- package/lib/Select/__tests__/Select.spec.js +131 -89
- package/lib/Select/index.js +39 -0
- package/lib/Select/props/defaultProps.js +10 -2
- package/lib/Select/props/propTypes.js +13 -4
- package/lib/Stencils/Stencils.js +35 -13
- 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 +64 -35
- package/lib/Switch/Switch.module.css +127 -110
- package/lib/Switch/props/defaultProps.js +2 -1
- package/lib/Switch/props/propTypes.js +4 -0
- package/lib/Tab/Tab.js +49 -33
- package/lib/Tab/Tab.module.css +100 -101
- package/lib/Tab/TabContent.js +15 -6
- package/lib/Tab/TabContent.module.css +4 -4
- package/lib/Tab/TabContentWrapper.js +15 -6
- package/lib/Tab/TabWrapper.js +37 -17
- package/lib/Tab/Tabs.js +204 -105
- package/lib/Tab/Tabs.module.css +137 -141
- package/lib/Tab/__tests__/Tab.spec.js +74 -70
- 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/defaultProps.js +10 -5
- package/lib/Tab/props/propTypes.js +13 -5
- package/lib/Tag/Tag.js +90 -56
- package/lib/Tag/Tag.module.css +254 -254
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/defaultProps.js +2 -1
- package/lib/Tag/props/propTypes.js +5 -1
- package/lib/TextBox/TextBox.js +93 -61
- package/lib/TextBox/TextBox.module.css +158 -157
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
- package/lib/TextBox/props/defaultProps.js +2 -1
- package/lib/TextBox/props/propTypes.js +6 -1
- package/lib/TextBoxIcon/TextBoxIcon.js +108 -60
- package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -78
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
- package/lib/TextBoxIcon/props/defaultProps.js +2 -1
- package/lib/TextBoxIcon/props/propTypes.js +4 -0
- package/lib/Textarea/Textarea.js +63 -32
- 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/defaultProps.js +2 -1
- package/lib/Textarea/props/propTypes.js +4 -0
- package/lib/Tooltip/Tooltip.js +102 -35
- package/lib/Tooltip/Tooltip.module.css +141 -109
- package/lib/Tooltip/__tests__/Tooltip.spec.js +23 -0
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +43 -17
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +55 -24
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +23 -0
- package/lib/common/a11y.module.css +4 -0
- package/lib/common/animation.module.css +624 -624
- package/lib/common/avatarsizes.module.css +48 -44
- package/lib/common/basic.module.css +33 -33
- package/lib/common/basicReset.module.css +40 -40
- package/lib/common/boxShadow.module.css +34 -0
- package/lib/common/common.module.css +524 -524
- package/lib/common/customscroll.module.css +91 -89
- package/lib/common/reset.module.css +13 -12
- package/lib/common/transition.module.css +146 -146
- package/lib/css.js +42 -1
- package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
- package/lib/deprecated/PortalLayer/PortalLayer.js +50 -24
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +214 -210
- package/lib/semantic/Button/Button.js +47 -24
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/Button/semanticButton.module.css +9 -9
- package/lib/semantic/index.js +15 -0
- package/lib/utils/Common.js +136 -17
- 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 +11 -2
- package/lib/utils/css/compileClassNames.js +37 -0
- package/lib/utils/css/mergeStyle.js +69 -0
- package/lib/utils/css/utils.js +41 -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 +177 -56
- 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 +121 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +117 -81
- package/postPublish.js +8 -0
- package/prePublish.js +70 -0
- package/assets/Appearance/dark/mode/darkMode.module.css +0 -344
- package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/green/greenDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/red/redDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/default/mode/defaultMode.module.css +0 -344
- package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -34
- package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +0 -42
- package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +0 -34
- package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +0 -42
- package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -34
- package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +0 -42
- package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +0 -34
- package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +0 -42
- package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -34
- package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +0 -42
- package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +0 -344
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +0 -34
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +0 -34
- package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +0 -34
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +0 -34
- package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +0 -34
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +0 -42
- package/docs/external/active-line.js +0 -72
- package/docs/external/autorefresh.js +0 -47
- package/docs/external/codemirror.js +0 -9681
- package/docs/external/css/hopscotch.css +0 -576
- package/docs/external/css/styleGuide.css +0 -1100
- package/docs/external/css.js +0 -466
- package/docs/external/designTokens.js +0 -1
- package/docs/external/foldcode.js +0 -152
- package/docs/external/format.js +0 -129
- package/docs/external/htmlmixed.js +0 -84
- package/docs/external/images/bottom.png +0 -0
- package/docs/external/images/bottombg.jpg +0 -0
- package/docs/external/images/desk.png +0 -0
- package/docs/external/images/desklogo.png +0 -0
- package/docs/external/images/menu.png +0 -0
- package/docs/external/index.html +0 -127
- package/docs/external/javascript.js +0 -422
- package/docs/external/jsx.js +0 -148
- package/docs/external/matchbrackets.js +0 -145
- package/docs/external/xml.js +0 -322
- package/docs/package.json +0 -41
- package/docs/src/index.js +0 -1311
- package/es/Button/__tests__/Button.spec.js +0 -190
- package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
- package/es/DropBox/DropBox.module.css +0 -406
- package/lib/Button/__tests__/Button.spec.js +0 -193
- package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
- package/lib/DropBox/DropBox.module.css +0 -406
package/es/utils/Common.js
CHANGED
|
@@ -9,12 +9,18 @@ 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();
|
|
15
19
|
};
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
export function cancelBubblingEffect(e) {
|
|
21
|
+
e && e.stopPropagation && e.stopPropagation();
|
|
22
|
+
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
|
|
23
|
+
} // export function getCommentsDetails(
|
|
18
24
|
// commentIds = [],
|
|
19
25
|
// comments = {},
|
|
20
26
|
// agents = {}
|
|
@@ -37,6 +43,7 @@ export function encodeForHtml(str) {
|
|
|
37
43
|
str = str.replace(/\\/g, '\');
|
|
38
44
|
str = str.replace(/'/g, ''');
|
|
39
45
|
}
|
|
46
|
+
|
|
40
47
|
return str;
|
|
41
48
|
}
|
|
42
49
|
export function getListOfDetails() {
|
|
@@ -48,6 +55,7 @@ export function getListOfDetails() {
|
|
|
48
55
|
export function capitalize() {
|
|
49
56
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
50
57
|
let newValue = '';
|
|
58
|
+
|
|
51
59
|
for (let i = 0; i < value.length; i++) {
|
|
52
60
|
if (i == 0) {
|
|
53
61
|
newValue += value[i].toUpperCase();
|
|
@@ -55,12 +63,14 @@ export function capitalize() {
|
|
|
55
63
|
newValue += value[i].toLowerCase();
|
|
56
64
|
}
|
|
57
65
|
}
|
|
66
|
+
|
|
58
67
|
return newValue;
|
|
59
68
|
}
|
|
60
69
|
export function bind() {
|
|
61
70
|
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
62
71
|
handlers[_key] = arguments[_key];
|
|
63
72
|
}
|
|
73
|
+
|
|
64
74
|
handlers.forEach(handler => {
|
|
65
75
|
this[handler] = this[handler].bind(this);
|
|
66
76
|
});
|
|
@@ -69,12 +79,15 @@ export function getFullName() {
|
|
|
69
79
|
let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
70
80
|
let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
71
81
|
let fullName = '';
|
|
82
|
+
|
|
72
83
|
if (firstName !== null && firstName !== '') {
|
|
73
84
|
fullName = firstName;
|
|
74
85
|
}
|
|
86
|
+
|
|
75
87
|
if (lastName !== null && lastName !== '') {
|
|
76
88
|
fullName = `${fullName}${lastName}`;
|
|
77
89
|
}
|
|
90
|
+
|
|
78
91
|
return fullName;
|
|
79
92
|
}
|
|
80
93
|
export function getStringifiedOutputForJson() {
|
|
@@ -82,6 +95,7 @@ export function getStringifiedOutputForJson() {
|
|
|
82
95
|
const keys = Object.keys(input);
|
|
83
96
|
const modifiedInput = keys.reduce((curr, next) => {
|
|
84
97
|
const values = input[next] || [];
|
|
98
|
+
|
|
85
99
|
if (values.length) {
|
|
86
100
|
const valueList = values.reduce((curr, next) => {
|
|
87
101
|
curr.push(next.id);
|
|
@@ -90,6 +104,7 @@ export function getStringifiedOutputForJson() {
|
|
|
90
104
|
curr[next] = valueList;
|
|
91
105
|
return curr;
|
|
92
106
|
}
|
|
107
|
+
|
|
93
108
|
return curr;
|
|
94
109
|
}, {});
|
|
95
110
|
return JSON.stringify(modifiedInput);
|
|
@@ -105,6 +120,7 @@ export function filterValue(obj, val) {
|
|
|
105
120
|
const ids = obj ? Object.keys(obj) : [];
|
|
106
121
|
ids.forEach(key => {
|
|
107
122
|
const value = obj[key] || {};
|
|
123
|
+
|
|
108
124
|
if (value.name === val && !value.isCustomField) {
|
|
109
125
|
result = value.id;
|
|
110
126
|
}
|
|
@@ -126,34 +142,42 @@ export function formatValue() {
|
|
|
126
142
|
let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
|
|
127
143
|
return values && values.map(value => {
|
|
128
144
|
let formattedValue = value;
|
|
145
|
+
|
|
129
146
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
130
147
|
formattedValue = {};
|
|
131
148
|
formattedValue[valueField] = value;
|
|
132
149
|
formattedValue[textField] = value;
|
|
133
150
|
}
|
|
151
|
+
|
|
134
152
|
return formattedValue;
|
|
135
153
|
}) || [];
|
|
136
154
|
}
|
|
137
155
|
export function bytesToSize(bytes) {
|
|
138
156
|
bytes = parseInt(bytes, 10);
|
|
139
157
|
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
158
|
+
|
|
140
159
|
if (bytes === 0) {
|
|
141
160
|
return '0 Byte';
|
|
142
161
|
}
|
|
162
|
+
|
|
143
163
|
const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
144
164
|
return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
|
|
145
165
|
}
|
|
146
166
|
export function getMemSize(bytes) {
|
|
147
167
|
let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
|
|
148
168
|
const thresh = size ? 1000 : 1024;
|
|
169
|
+
|
|
149
170
|
if (Math.abs(bytes) < thresh) {
|
|
150
171
|
return `${bytes} B`;
|
|
151
172
|
}
|
|
173
|
+
|
|
152
174
|
let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
|
|
153
|
-
|
|
175
|
+
i = -1;
|
|
176
|
+
|
|
154
177
|
do {
|
|
155
178
|
bytes /= thresh, ++i;
|
|
156
179
|
} while (Math.abs(bytes) >= thresh && i < units.length - 1);
|
|
180
|
+
|
|
157
181
|
{
|
|
158
182
|
return `${bytes.toFixed(1)} ${units[i]}`;
|
|
159
183
|
}
|
|
@@ -162,18 +186,24 @@ export function checkIsImageFile(fileName) {
|
|
|
162
186
|
fileName = fileName || '';
|
|
163
187
|
return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
|
|
164
188
|
}
|
|
189
|
+
|
|
165
190
|
function getI18NValue(key, values) {
|
|
166
191
|
if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
|
|
167
192
|
return key;
|
|
168
193
|
}
|
|
194
|
+
|
|
169
195
|
let i18nStr = i18n[key];
|
|
196
|
+
|
|
170
197
|
if (i18nStr === undefined) {
|
|
171
198
|
return key;
|
|
172
199
|
}
|
|
200
|
+
|
|
173
201
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
174
202
|
return unescapeUnicode(i18nStr);
|
|
175
203
|
}
|
|
204
|
+
|
|
176
205
|
global.getI18NValue = getI18NValue;
|
|
206
|
+
|
|
177
207
|
function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
178
208
|
if (typeof values !== 'undefined') {
|
|
179
209
|
if (Array.isArray(values)) {
|
|
@@ -184,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
184
214
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
185
215
|
}
|
|
186
216
|
}
|
|
217
|
+
|
|
187
218
|
return i18nStr;
|
|
188
219
|
}
|
|
220
|
+
|
|
189
221
|
function unescapeUnicode(str) {
|
|
190
222
|
return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
|
|
191
223
|
}
|
|
224
|
+
|
|
192
225
|
export function getPortalName(portalList, portalId) {
|
|
193
226
|
return portalList && portalList.reduce((res, portal) => {
|
|
194
227
|
if (portal.orgId === portalId) {
|
|
195
228
|
return portal.orgName;
|
|
196
229
|
}
|
|
230
|
+
|
|
197
231
|
return res;
|
|
198
232
|
}, null);
|
|
199
233
|
}
|
|
200
234
|
export function getFullDateString(fullDateObj) {
|
|
201
235
|
let dateStr = '';
|
|
202
236
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
237
|
+
|
|
203
238
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
204
239
|
dateStr = format12Hour(fullDateObj);
|
|
205
240
|
} else {
|
|
@@ -209,6 +244,7 @@ export function getFullDateString(fullDateObj) {
|
|
|
209
244
|
const time = format12Hour(fullDateObj);
|
|
210
245
|
dateStr = `${month} ${date} ${year} ${time}`;
|
|
211
246
|
}
|
|
247
|
+
|
|
212
248
|
return dateStr;
|
|
213
249
|
}
|
|
214
250
|
export function format12Hour(date) {
|
|
@@ -217,6 +253,7 @@ export function format12Hour(date) {
|
|
|
217
253
|
const ampm = hours >= 12 ? 'pm' : 'am';
|
|
218
254
|
hours %= 12;
|
|
219
255
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
|
256
|
+
|
|
220
257
|
minutes = minutes < 10 ? `0${minutes}` : minutes;
|
|
221
258
|
const strTime = `${hours}:${minutes} ${ampm}`;
|
|
222
259
|
return strTime;
|
|
@@ -224,6 +261,7 @@ export function format12Hour(date) {
|
|
|
224
261
|
export function getDateOnly(fullDateObj) {
|
|
225
262
|
let dateStr = '';
|
|
226
263
|
const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
264
|
+
|
|
227
265
|
if (fullDateObj.toDateString() == new Date().toDateString()) {
|
|
228
266
|
dateStr = 'Today';
|
|
229
267
|
} else {
|
|
@@ -232,6 +270,7 @@ export function getDateOnly(fullDateObj) {
|
|
|
232
270
|
const date = fullDateObj.getDate();
|
|
233
271
|
dateStr = `${month} ${date} ${year}`;
|
|
234
272
|
}
|
|
273
|
+
|
|
235
274
|
return dateStr;
|
|
236
275
|
}
|
|
237
276
|
export function doAfterScrollEnd(element, callback) {
|
|
@@ -245,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
|
|
|
245
284
|
scrollHeight
|
|
246
285
|
} = element;
|
|
247
286
|
const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
|
|
287
|
+
|
|
248
288
|
if (scrollPercent > 80) {
|
|
249
289
|
callback && callback();
|
|
250
290
|
}
|
|
@@ -261,9 +301,11 @@ export const throttle = function (func, wait) {
|
|
|
261
301
|
for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
262
302
|
args[_key2 - 2] = arguments[_key2];
|
|
263
303
|
}
|
|
304
|
+
|
|
264
305
|
if (timerId) {
|
|
265
306
|
return;
|
|
266
307
|
}
|
|
308
|
+
|
|
267
309
|
timerId = setTimeout(() => {
|
|
268
310
|
try {
|
|
269
311
|
func(...args);
|
|
@@ -276,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
276
318
|
if (!suggestionContainer || !selSuggestion) {
|
|
277
319
|
return;
|
|
278
320
|
}
|
|
321
|
+
|
|
279
322
|
const {
|
|
280
323
|
rectGap
|
|
281
324
|
} = frameRelativeRects(selSuggestion, suggestionContainer) || {};
|
|
@@ -283,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
|
|
|
283
326
|
top = 0,
|
|
284
327
|
bottom = 0
|
|
285
328
|
} = rectGap || {};
|
|
329
|
+
|
|
286
330
|
if (top < 0 && bottom < 0) {
|
|
287
331
|
return;
|
|
288
332
|
}
|
|
333
|
+
|
|
289
334
|
const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
|
|
290
335
|
const suggestionContainerScrollTop = suggestionContainer.scrollTop;
|
|
291
336
|
suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
|
|
@@ -297,17 +342,21 @@ export function remConvert(val) {
|
|
|
297
342
|
}
|
|
298
343
|
export function isDescendant(parent, child) {
|
|
299
344
|
let node = child.parentNode;
|
|
345
|
+
|
|
300
346
|
while (node !== null) {
|
|
301
347
|
if (node === parent) {
|
|
302
348
|
return true;
|
|
303
349
|
}
|
|
350
|
+
|
|
304
351
|
node = node.parentNode;
|
|
305
352
|
}
|
|
353
|
+
|
|
306
354
|
return false;
|
|
307
355
|
}
|
|
308
356
|
export function getElementSpace(elementRef) {
|
|
309
357
|
let neededSpace = 0,
|
|
310
|
-
|
|
358
|
+
availableInsideSpace = 0;
|
|
359
|
+
|
|
311
360
|
if (elementRef) {
|
|
312
361
|
let getStyle = window.getComputedStyle(elementRef);
|
|
313
362
|
let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
|
|
@@ -316,6 +365,7 @@ export function getElementSpace(elementRef) {
|
|
|
316
365
|
neededSpace = width + margin;
|
|
317
366
|
availableInsideSpace = width - padding;
|
|
318
367
|
}
|
|
368
|
+
|
|
319
369
|
return {
|
|
320
370
|
neededSpace: neededSpace,
|
|
321
371
|
availableInsideSpace: availableInsideSpace
|
|
@@ -325,7 +375,6 @@ export function getSearchString() {
|
|
|
325
375
|
let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
326
376
|
return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
|
|
327
377
|
}
|
|
328
|
-
|
|
329
378
|
export function findScrollEnd(element) {
|
|
330
379
|
let {
|
|
331
380
|
scrollHeight,
|
|
@@ -334,12 +383,30 @@ export function findScrollEnd(element) {
|
|
|
334
383
|
clientHeight
|
|
335
384
|
} = element || {};
|
|
336
385
|
let isElementScrollable = scrollHeight > clientHeight;
|
|
386
|
+
|
|
337
387
|
if (isElementScrollable) {
|
|
338
388
|
if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
|
|
339
389
|
return true;
|
|
340
390
|
}
|
|
341
|
-
} else {
|
|
342
|
-
|
|
391
|
+
} // else {
|
|
392
|
+
// throw 'Is scroll not present in this element';
|
|
393
|
+
// }
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
export function isTextSelected() {
|
|
399
|
+
let selectedText = '';
|
|
400
|
+
|
|
401
|
+
if (window.getSelection) {
|
|
402
|
+
selectedText = window.getSelection().toString();
|
|
403
|
+
} else if (document.getSelection) {
|
|
404
|
+
selectedText = document.getSelection().toString();
|
|
343
405
|
}
|
|
406
|
+
|
|
407
|
+
if (selectedText !== '') {
|
|
408
|
+
return true;
|
|
409
|
+
}
|
|
410
|
+
|
|
344
411
|
return false;
|
|
345
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') {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { dataTypes, isDataTypeOf } from './utils';
|
|
2
|
+
|
|
3
|
+
const collectClassNames = function (processedClassNameList) {
|
|
4
|
+
for (let index = 0; index < (arguments.length <= 1 ? 0 : arguments.length - 1); index++) {
|
|
5
|
+
let classInfo = index + 1 < 1 || arguments.length <= index + 1 ? undefined : arguments[index + 1];
|
|
6
|
+
|
|
7
|
+
if (!classInfo) {
|
|
8
|
+
continue;
|
|
9
|
+
} else if (isDataTypeOf(classInfo, dataTypes.object)) {
|
|
10
|
+
for (let property in classInfo) {
|
|
11
|
+
if (Object.hasOwnProperty.call(classInfo, property) && property !== 'undefined' && property !== 'null' && classInfo[property] && !processedClassNameList.includes(property)) {
|
|
12
|
+
processedClassNameList.push(property);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default function compileClassNames() {
|
|
20
|
+
let resultClassNameList = [];
|
|
21
|
+
|
|
22
|
+
for (var _len = arguments.length, classinfoList = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
23
|
+
classinfoList[_key] = arguments[_key];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
collectClassNames(resultClassNameList, ...classinfoList);
|
|
27
|
+
return resultClassNameList.filter(a => a !== '').join(' ');
|
|
28
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const REPLACER_SYMBOL = '$'; // $ startWith is used for replace the existing style.
|
|
2
|
+
// all other will be append
|
|
3
|
+
|
|
4
|
+
export default function mergeStyle(defaultStyle) {
|
|
5
|
+
let customStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6
|
+
let additionalStyle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
7
|
+
// if(!Object.keys(defaultStyle).includes('base')) {
|
|
8
|
+
// throw new Error(`STYLE CUSTOMIZATION RULE - Your style sheet should have "base" class name for customization`);
|
|
9
|
+
// }
|
|
10
|
+
return Object.keys(customStyle).reduce((res, next) => {
|
|
11
|
+
if (next.startsWith(REPLACER_SYMBOL)) {
|
|
12
|
+
let styleValue = customStyle[next];
|
|
13
|
+
let styleName = next.replace(REPLACER_SYMBOL, '');
|
|
14
|
+
|
|
15
|
+
if (!defaultStyle[styleName] && !additionalStyle.includes(styleName)) {
|
|
16
|
+
// return res;
|
|
17
|
+
throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${styleName}" is not available in that component style`);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (additionalStyle.includes(styleName)) {
|
|
21
|
+
res[styleName] = styleValue;
|
|
22
|
+
} else {
|
|
23
|
+
let val = defaultStyle[styleName];
|
|
24
|
+
Object.keys(res).map(keyName => {
|
|
25
|
+
let styleKey = res[keyName];
|
|
26
|
+
let styleClasses = styleKey.split(' ');
|
|
27
|
+
let ind = styleClasses.indexOf(val);
|
|
28
|
+
|
|
29
|
+
if (ind !== -1) {
|
|
30
|
+
styleClasses[ind] = styleValue;
|
|
31
|
+
res[keyName] = styleClasses.join(' ');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
} else if (defaultStyle[next]) {
|
|
36
|
+
let val = defaultStyle[next];
|
|
37
|
+
Object.keys(res).map(keyName => {
|
|
38
|
+
let styleKey = res[keyName];
|
|
39
|
+
let styleClasses = styleKey.split(' ');
|
|
40
|
+
let ind = styleClasses.indexOf(val);
|
|
41
|
+
|
|
42
|
+
if (ind !== -1) {
|
|
43
|
+
styleClasses[ind] = styleClasses[ind] + ' ' + customStyle[next];
|
|
44
|
+
res[keyName] = styleClasses.join(' ');
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} else if (additionalStyle.includes(next)) {
|
|
48
|
+
res[next] = customStyle[next];
|
|
49
|
+
} else if (!defaultStyle[next] && !additionalStyle.includes(next)) {
|
|
50
|
+
// res[next] = customStyle[next];
|
|
51
|
+
throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${next}" is not available in that component style`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return res;
|
|
55
|
+
}, { ...defaultStyle
|
|
56
|
+
});
|
|
57
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const dataTypes = {
|
|
2
|
+
number: 'number',
|
|
3
|
+
array: 'array',
|
|
4
|
+
string: 'string',
|
|
5
|
+
object: 'object',
|
|
6
|
+
bigint: 'bigint',
|
|
7
|
+
symbol: 'symbol',
|
|
8
|
+
undefined: 'undefined',
|
|
9
|
+
function: 'function',
|
|
10
|
+
boolean: 'boolean'
|
|
11
|
+
};
|
|
12
|
+
export const getDataType = data => {
|
|
13
|
+
let typeofData = typeof data;
|
|
14
|
+
let isArrayDataType = Array.isArray(data);
|
|
15
|
+
|
|
16
|
+
if (isArrayDataType) {
|
|
17
|
+
return dataTypes.array;
|
|
18
|
+
} else {
|
|
19
|
+
return dataTypes[typeofData];
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const isDataTypeOf = (data, type) => {
|
|
23
|
+
return getDataType(data) === type;
|
|
24
|
+
};
|
|
@@ -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
|
}
|