@zohodesk/components 1.0.0-alpha-267 → 1.0.0-alpha-269
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/assets/Contrast/darkContrastLightness.module.css +1 -1
- package/assets/Contrast/defaultContrastLightness.module.css +1 -1
- package/assets/Contrast/pureDarkContrastLightness.module.css +1 -1
- package/es/Accordion/Accordion.js +7 -3
- package/es/Accordion/AccordionItem.js +4 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +13 -5
- package/es/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +23 -11
- package/es/Avatar/Avatar.module.css +10 -10
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +22 -21
- package/es/Button/Button.js +4 -3
- package/es/Button/css/Button.module.css +51 -50
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +13 -14
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/CheckBox/CheckBox.module.css +16 -16
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +68 -7
- package/es/DateTime/DateTime.module.css +39 -39
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DateWidget.module.css +5 -5
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/YearView.module.css +15 -15
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
- package/es/DateTime/__tests__/DateTime.spec.js +1 -0
- package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +32 -2
- package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
- package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
- package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/css/DropBox.module.css +6 -6
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +8 -4
- package/es/DropDown/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownHeading.module.css +3 -3
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownItem.module.css +9 -9
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Heading/Heading.module.css +2 -2
- package/es/Label/Label.js +2 -3
- package/es/Label/Label.module.css +1 -1
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItem.module.css +26 -26
- package/es/ListItem/ListItemWithAvatar.js +9 -3
- package/es/ListItem/ListItemWithCheckBox.js +7 -2
- package/es/ListItem/ListItemWithIcon.js +8 -3
- package/es/ListItem/ListItemWithRadio.js +7 -3
- package/es/Modal/Modal.js +28 -11
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
- package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/MultiSelect/EmptyState.js +2 -0
- package/es/MultiSelect/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelect.module.css +32 -31
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/SelectedOptions.module.css +5 -5
- package/es/MultiSelect/Suggestions.js +7 -3
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/props/propTypes.js +2 -0
- package/es/PopOver/PopOver.js +18 -2
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -24
- package/es/Popup/__tests__/Popup.spec.js +17 -5
- package/es/Popup/viewPort.js +16 -4
- package/es/Provider/IdProvider.js +10 -5
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Radio/Radio.js +4 -2
- package/es/Radio/Radio.module.css +3 -3
- package/es/Responsive/CustomResponsive.js +30 -18
- package/es/Responsive/RefWrapper.js +6 -7
- package/es/Responsive/ResizeComponent.js +35 -25
- package/es/Responsive/ResizeObserver.js +26 -6
- package/es/Responsive/Responsive.js +34 -20
- package/es/Responsive/index.js +1 -3
- package/es/Responsive/sizeObservers.js +28 -7
- package/es/Responsive/utils/index.js +7 -5
- package/es/Responsive/utils/shallowCompare.js +7 -2
- package/es/Responsive/windowResizeObserver.js +7 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/Ribbon/Ribbon.module.css +42 -42
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/Select.module.css +23 -23
- package/es/Select/SelectWithAvatar.js +17 -4
- package/es/Select/SelectWithIcon.js +46 -5
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/props/propTypes.js +1 -0
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/Stencils.module.css +2 -2
- package/es/Switch/Switch.js +5 -3
- package/es/Switch/Switch.module.css +23 -23
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/Tab.module.css +14 -14
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/Tabs.module.css +23 -23
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +6 -3
- package/es/Tag/Tag.module.css +10 -10
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/TextBox.module.css +6 -5
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/Textarea.module.css +6 -6
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/Tooltip.module.css +12 -5
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
- package/es/common/animation.module.css +8 -8
- package/es/common/basicReset.module.css +3 -3
- package/es/common/common.module.css +24 -24
- package/es/common/customscroll.module.css +4 -2
- package/es/common/reset.module.css +1 -0
- package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/semantic/Button/semanticButton.module.css +1 -1
- package/es/utils/Common.js +54 -9
- package/es/utils/ContextOptimizer.js +4 -5
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +2 -0
- package/es/utils/css/compileClassNames.js +5 -0
- package/es/utils/css/mergeStyle.js +7 -6
- package/es/utils/css/utils.js +1 -0
- package/es/utils/datetime/common.js +16 -5
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/AppContainer.module.css +2 -2
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/Avatar.module.css +10 -10
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/AvatarTeam.module.css +22 -21
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- package/lib/Button/css/Button.module.css +51 -50
- package/lib/Button/css/cssJSLogic.js +18 -17
- package/lib/Button/index.js +3 -0
- package/lib/Button/props/defaultProps.js +2 -0
- package/lib/Button/props/propTypes.js +3 -0
- package/lib/Buttongroup/Buttongroup.js +32 -12
- package/lib/Buttongroup/Buttongroup.module.css +13 -14
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- package/lib/Card/__tests__/Card.spec.js +10 -1
- package/lib/Card/index.js +4 -0
- package/lib/Card/props/propTypes.js +3 -0
- package/lib/CheckBox/CheckBox.js +71 -47
- package/lib/CheckBox/CheckBox.module.css +16 -16
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +240 -156
- package/lib/DateTime/DateTime.module.css +39 -39
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/YearView.module.css +15 -15
- package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
- package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
- package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +74 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +2 -0
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +58 -37
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
- package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
- package/lib/DropBox/css/DropBox.module.css +6 -6
- package/lib/DropBox/css/cssJSLogic.js +3 -1
- package/lib/DropBox/props/defaultProps.js +8 -4
- package/lib/DropBox/props/propTypes.js +10 -4
- package/lib/DropDown/DropDown.js +52 -8
- package/lib/DropDown/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownHeading.module.css +3 -3
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownItem.module.css +9 -9
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
- package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +6 -4
- package/lib/Heading/Heading.js +37 -15
- package/lib/Heading/Heading.module.css +2 -2
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/Label.module.css +1 -1
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +31 -11
- package/lib/Layout/Container.js +29 -10
- package/lib/Layout/Layout.module.css +15 -15
- package/lib/Layout/__tests__/Box.spec.js +65 -49
- package/lib/Layout/__tests__/Container.spec.js +67 -50
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +10 -0
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItem.module.css +26 -26
- package/lib/ListItem/ListItemWithAvatar.js +75 -48
- package/lib/ListItem/ListItemWithCheckBox.js +64 -39
- package/lib/ListItem/ListItemWithIcon.js +68 -44
- package/lib/ListItem/ListItemWithRadio.js +65 -41
- package/lib/ListItem/index.js +7 -0
- package/lib/ListItem/props/propTypes.js +6 -4
- package/lib/Modal/Modal.js +45 -10
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MultiSelect.js +323 -206
- package/lib/MultiSelect/MultiSelect.module.css +32 -31
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/SelectedOptions.module.css +5 -5
- package/lib/MultiSelect/Suggestions.js +64 -32
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +5 -0
- package/lib/PopOver/PopOver.js +95 -49
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +4 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -81
- package/lib/Popup/__tests__/Popup.spec.js +43 -8
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +4 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +17 -6
- package/lib/Provider/LibraryContext.js +35 -15
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +5 -0
- package/lib/Radio/Radio.js +61 -38
- package/lib/Radio/Radio.module.css +3 -3
- package/lib/Radio/__tests__/Radiospec.js +9 -5
- package/lib/Radio/props/propTypes.js +3 -0
- package/lib/Responsive/CustomResponsive.js +73 -29
- package/lib/Responsive/RefWrapper.js +17 -11
- package/lib/Responsive/ResizeComponent.js +62 -36
- package/lib/Responsive/ResizeObserver.js +24 -10
- package/lib/Responsive/Responsive.js +80 -30
- package/lib/Responsive/index.js +4 -0
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +53 -17
- package/lib/Responsive/utils/index.js +11 -3
- package/lib/Responsive/utils/shallowCompare.js +11 -2
- package/lib/Responsive/windowResizeObserver.js +8 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/Ribbon.module.css +42 -42
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +290 -209
- package/lib/Select/Select.module.css +23 -23
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +132 -76
- package/lib/Select/__tests__/Select.spec.js +133 -91
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +4 -0
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/Stencils.module.css +2 -2
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +57 -34
- package/lib/Switch/Switch.module.css +23 -23
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/Tab.module.css +14 -14
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/Tabs.module.css +23 -23
- package/lib/Tab/__tests__/Tab.spec.js +67 -58
- package/lib/Tab/__tests__/TabContent.spec.js +10 -6
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
- package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
- package/lib/Tab/__tests__/Tabs.spec.js +53 -39
- package/lib/Tab/index.js +6 -0
- package/lib/Tab/props/propTypes.js +3 -0
- package/lib/Tag/Tag.js +72 -43
- package/lib/Tag/Tag.module.css +10 -10
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +85 -59
- package/lib/TextBox/TextBox.module.css +6 -5
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/Textarea.module.css +6 -6
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/Tooltip.module.css +12 -5
- package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +3 -0
- package/lib/common/animation.module.css +8 -8
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/common.module.css +24 -24
- package/lib/common/customscroll.module.css +4 -2
- package/lib/common/reset.module.css +1 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
- package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +57 -0
- package/lib/semantic/Button/Button.js +42 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/Button/semanticButton.module.css +1 -1
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +108 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/common.js +32 -5
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +19 -12
|
@@ -5,19 +5,21 @@ import { Container, Box } from '../Layout';
|
|
|
5
5
|
import style from './DateTime.module.css';
|
|
6
6
|
import { getMonthEnd } from '../utils/datetime/common';
|
|
7
7
|
import DaysRow from './DaysRow';
|
|
8
|
-
|
|
9
8
|
/* eslint css-modules/no-unused-class: [0, { markAsUsed: ['container', 'header', 'thArrowConatainer', 'thArrow', 'thMonYear', 'days', 'daysStr', 'timesection', 'timeStr', 'dropDownContainer', 'dropDown', 'footer', 'space'] }] */
|
|
9
|
+
|
|
10
10
|
export default class CalendarView extends React.PureComponent {
|
|
11
11
|
constructor(props) {
|
|
12
12
|
super(props);
|
|
13
13
|
this.handleSelect = this.handleSelect.bind(this);
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
handleSelect(day, month, year, e) {
|
|
16
17
|
const {
|
|
17
18
|
onSelect
|
|
18
19
|
} = this.props;
|
|
19
20
|
onSelect(day, month, year, e);
|
|
20
21
|
}
|
|
22
|
+
|
|
21
23
|
render() {
|
|
22
24
|
const {
|
|
23
25
|
date,
|
|
@@ -37,9 +39,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
37
39
|
const userSeeMonth = userSeeDate.getMonth();
|
|
38
40
|
const monthEnd = getMonthEnd(month, year);
|
|
39
41
|
const lastMonth = 11;
|
|
40
|
-
const firstMonth = 0;
|
|
41
|
-
|
|
42
|
-
// let noOfRow = 5;
|
|
42
|
+
const firstMonth = 0; // let noOfRow = 5;
|
|
43
43
|
// if (
|
|
44
44
|
// (monthEnd === 31 && userSeeDay >= 6) ||
|
|
45
45
|
// (monthEnd === 30 && userSeeDay === 7)
|
|
@@ -53,16 +53,21 @@ export default class CalendarView extends React.PureComponent {
|
|
|
53
53
|
let incremleti = 1;
|
|
54
54
|
let isSelectedDay = false;
|
|
55
55
|
let isToday = false;
|
|
56
|
+
|
|
56
57
|
const rows = (() => {
|
|
57
58
|
const rowArr = [];
|
|
59
|
+
|
|
58
60
|
for (let j = 1; j <= 6; j++) {
|
|
59
61
|
const dayArr = [];
|
|
60
62
|
let output = null;
|
|
63
|
+
|
|
61
64
|
for (let i = 1; i < 8; i++) {
|
|
62
65
|
let tdclass = `${style.datesStr} ${style.grid}`;
|
|
66
|
+
|
|
63
67
|
if (i === 1) {
|
|
64
68
|
tdclass += ` ${style.sunday}`;
|
|
65
69
|
}
|
|
70
|
+
|
|
66
71
|
if (incremleti >= userSeeDay && incremday <= monthEnd) {
|
|
67
72
|
if (parseInt(date) === incremday && parseInt(month) === userSeeMonth && parseInt(year) === userSeeYear) {
|
|
68
73
|
isSelectedDay = true;
|
|
@@ -73,6 +78,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
73
78
|
isSelectedDay = false;
|
|
74
79
|
isToday = false;
|
|
75
80
|
}
|
|
81
|
+
|
|
76
82
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
77
83
|
i: i,
|
|
78
84
|
isActive: isSelectedDay,
|
|
@@ -88,54 +94,51 @@ export default class CalendarView extends React.PureComponent {
|
|
|
88
94
|
} else if (incremleti < userSeeDay) {
|
|
89
95
|
let prevMonth = userSeeMonth - 1;
|
|
90
96
|
let prevYear = userSeeYear;
|
|
97
|
+
|
|
91
98
|
if (userSeeMonth === firstMonth) {
|
|
92
99
|
prevMonth = lastMonth;
|
|
93
100
|
prevYear = userSeeYear - 1;
|
|
94
101
|
}
|
|
102
|
+
|
|
95
103
|
const prevMonthEnd = getMonthEnd(prevMonth, prevYear);
|
|
96
|
-
const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti;
|
|
104
|
+
const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti; // isSelectedDay =
|
|
97
105
|
|
|
98
|
-
//
|
|
99
|
-
prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false;
|
|
100
|
-
// isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
106
|
+
prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false; // isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
101
107
|
|
|
102
108
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
103
|
-
i: i
|
|
104
|
-
//isActive={isSelectedDay}
|
|
109
|
+
i: i //isActive={isSelectedDay}
|
|
105
110
|
,
|
|
106
111
|
tdclass: `${tdclass} ${style.invalidDate}`,
|
|
107
112
|
handleSelect: this.handleSelect,
|
|
108
113
|
incremday: prevDate,
|
|
109
114
|
userSeeMonth: prevMonth,
|
|
110
115
|
userSeeYear: prevYear,
|
|
111
|
-
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
|
|
112
|
-
|
|
116
|
+
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` // isToday={isToday}
|
|
117
|
+
|
|
113
118
|
});
|
|
114
119
|
} else if (incremleti > monthEnd) {
|
|
115
120
|
let nextMonth = userSeeMonth + 1;
|
|
116
121
|
let nextYear = userSeeYear;
|
|
122
|
+
|
|
117
123
|
if (userSeeMonth === lastMonth) {
|
|
118
124
|
nextMonth = firstMonth;
|
|
119
125
|
nextYear = userSeeYear + 1;
|
|
120
126
|
}
|
|
121
|
-
const nextDate = incremleti - (userSeeDay - 1) - monthEnd;
|
|
122
127
|
|
|
123
|
-
// isSelectedDay =
|
|
124
|
-
nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false;
|
|
128
|
+
const nextDate = incremleti - (userSeeDay - 1) - monthEnd; // isSelectedDay =
|
|
125
129
|
|
|
126
|
-
// isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
130
|
+
nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false; // isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
127
131
|
|
|
128
132
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
129
|
-
i: i
|
|
130
|
-
// isActive={isSelectedDay}
|
|
133
|
+
i: i // isActive={isSelectedDay}
|
|
131
134
|
,
|
|
132
135
|
tdclass: `${tdclass} ${style.invalidDate}`,
|
|
133
136
|
handleSelect: this.handleSelect,
|
|
134
137
|
incremday: nextDate,
|
|
135
138
|
userSeeMonth: nextMonth,
|
|
136
139
|
userSeeYear: nextYear,
|
|
137
|
-
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
|
|
138
|
-
|
|
140
|
+
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` //isToday={isToday}
|
|
141
|
+
|
|
139
142
|
});
|
|
140
143
|
} else {
|
|
141
144
|
output = /*#__PURE__*/React.createElement(Box, {
|
|
@@ -143,10 +146,13 @@ export default class CalendarView extends React.PureComponent {
|
|
|
143
146
|
className: `${style.grid}`
|
|
144
147
|
});
|
|
145
148
|
}
|
|
149
|
+
|
|
146
150
|
incremleti++;
|
|
147
151
|
dayArr.push(output);
|
|
148
152
|
}
|
|
149
153
|
/* eslint-disable react/forbid-component-props */
|
|
154
|
+
|
|
155
|
+
|
|
150
156
|
rowArr.push( /*#__PURE__*/React.createElement(Container, {
|
|
151
157
|
key: j,
|
|
152
158
|
alignBox: "row",
|
|
@@ -155,8 +161,10 @@ export default class CalendarView extends React.PureComponent {
|
|
|
155
161
|
className: style.dateRow
|
|
156
162
|
}, dayArr));
|
|
157
163
|
}
|
|
164
|
+
|
|
158
165
|
return rowArr;
|
|
159
166
|
})();
|
|
167
|
+
|
|
160
168
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DaysRow, {
|
|
161
169
|
dayNames: dayNames,
|
|
162
170
|
dayNamesShort: dayNamesShort,
|
|
@@ -166,6 +174,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
166
174
|
className: `${style.dateContainer} ${needBorder ? style.separator : ''}`
|
|
167
175
|
}, rows));
|
|
168
176
|
}
|
|
177
|
+
|
|
169
178
|
}
|
|
170
179
|
CalendarView.propTypes = CalendarView_propTypes;
|
|
171
180
|
CalendarView.defaultProps = CalendarView_defaultProps;
|
|
@@ -174,6 +183,7 @@ export class Span extends React.PureComponent {
|
|
|
174
183
|
super(props);
|
|
175
184
|
this.handleSelectChild = this.handleSelectChild.bind(this);
|
|
176
185
|
}
|
|
186
|
+
|
|
177
187
|
handleSelectChild(e) {
|
|
178
188
|
const {
|
|
179
189
|
handleSelect,
|
|
@@ -183,6 +193,7 @@ export class Span extends React.PureComponent {
|
|
|
183
193
|
} = this.props;
|
|
184
194
|
handleSelect(incremday, userSeeMonth, userSeeYear, e);
|
|
185
195
|
}
|
|
196
|
+
|
|
186
197
|
render() {
|
|
187
198
|
const {
|
|
188
199
|
tdclass,
|
|
@@ -200,6 +211,7 @@ export class Span extends React.PureComponent {
|
|
|
200
211
|
"aria-label": incremday
|
|
201
212
|
}, incremday);
|
|
202
213
|
}
|
|
214
|
+
|
|
203
215
|
}
|
|
204
216
|
Span.propTypes = Span_propTypes;
|
|
205
217
|
Span.defaultProps = Span_defaultProps;
|
package/es/DateTime/DateTime.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint css-modules/no-unused-class: [0, { markAsUsed: ['datesStr', 'dateContainer', 'dateRow', 'today', 'emptySpan', 'dropDown'] }] */
|
|
2
|
-
/* eslint-disable react/forbid-component-props */
|
|
3
2
|
|
|
3
|
+
/* eslint-disable react/forbid-component-props */
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { DateTime_propTypes } from './props/propTypes';
|
|
6
6
|
import { DateTime_defaultProps } from './props/defaultProps';
|
|
@@ -17,11 +17,13 @@ import { monthNamesDefault, monthNamesShortDefault, dayNamesDefault, dayNamesSho
|
|
|
17
17
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
18
18
|
import { Box } from '../Layout';
|
|
19
19
|
import { getHourSuggestions, getMinuteSuggestions, addZeroIfNeeded } from './dateFormatUtils';
|
|
20
|
+
|
|
20
21
|
function title(date, year, month) {
|
|
21
22
|
let monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
22
23
|
const HeadingText = `${monthNames[month] || ''} ${year}`;
|
|
23
24
|
return HeadingText;
|
|
24
25
|
}
|
|
26
|
+
|
|
25
27
|
export default class DateTime extends React.PureComponent {
|
|
26
28
|
constructor(props) {
|
|
27
29
|
super(props);
|
|
@@ -47,6 +49,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
47
49
|
const {
|
|
48
50
|
ampmText = ampmTextDefault
|
|
49
51
|
} = props.i18nKeys;
|
|
52
|
+
|
|
50
53
|
this.ampmSuggestions = (() => {
|
|
51
54
|
const ampmSuggestions = [];
|
|
52
55
|
ampmText.forEach((text, index) => {
|
|
@@ -64,24 +67,29 @@ export default class DateTime extends React.PureComponent {
|
|
|
64
67
|
});
|
|
65
68
|
return ampmSuggestions;
|
|
66
69
|
})();
|
|
70
|
+
|
|
67
71
|
const initalStateObj = this.getStateFromProps(props);
|
|
68
72
|
this.state = Object.assign({}, initalStateObj, {
|
|
69
73
|
isYearView: false,
|
|
70
74
|
isMonthOpen: false
|
|
71
75
|
});
|
|
72
76
|
}
|
|
77
|
+
|
|
73
78
|
componentDidMount() {
|
|
74
79
|
this.handleExposeMethods(true);
|
|
75
80
|
}
|
|
81
|
+
|
|
76
82
|
componentDidUpdate(prevProps) {
|
|
77
83
|
const {
|
|
78
84
|
value,
|
|
79
85
|
isActive,
|
|
80
86
|
is24Hour
|
|
81
87
|
} = this.props;
|
|
88
|
+
|
|
82
89
|
if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
|
|
83
90
|
this.setState(this.getStateFromProps(this.props));
|
|
84
91
|
}
|
|
92
|
+
|
|
85
93
|
if (prevProps.isActive !== isActive && !isActive) {
|
|
86
94
|
this.setState({
|
|
87
95
|
isYearView: false,
|
|
@@ -89,9 +97,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
89
97
|
});
|
|
90
98
|
}
|
|
91
99
|
}
|
|
100
|
+
|
|
92
101
|
componentWillUnmount() {
|
|
93
102
|
this.handleExposeMethods(false);
|
|
94
103
|
}
|
|
104
|
+
|
|
95
105
|
getStateFromProps(props) {
|
|
96
106
|
let date, month, year, hours, mins, amPm;
|
|
97
107
|
let {
|
|
@@ -102,17 +112,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
102
112
|
isDateTimeField,
|
|
103
113
|
is24Hour
|
|
104
114
|
} = props; //defaultTime --> 12:00:PM
|
|
115
|
+
|
|
105
116
|
defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
|
|
106
117
|
let defaultHour, defaultMin, defaultAmPm;
|
|
107
118
|
let todayObj = new Date();
|
|
108
119
|
let todayDate = todayObj.getDate();
|
|
109
120
|
let todayMonth = todayObj.getMonth();
|
|
110
121
|
let todayYear = todayObj.getFullYear();
|
|
122
|
+
|
|
111
123
|
if (!value) {
|
|
112
124
|
[defaultHour, defaultMin, defaultAmPm] = defaultTime ? defaultTime.split(':') : [];
|
|
113
125
|
defaultHour = parseInt(defaultHour);
|
|
114
126
|
defaultMin = parseInt(defaultMin);
|
|
115
127
|
}
|
|
128
|
+
|
|
116
129
|
const dateObj = isDateTimeField ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : value ? datetime.toDate(value) : todayObj;
|
|
117
130
|
date = dateObj.getDate();
|
|
118
131
|
month = dateObj.getMonth();
|
|
@@ -134,8 +147,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
134
147
|
todayYear
|
|
135
148
|
};
|
|
136
149
|
}
|
|
150
|
+
|
|
137
151
|
getHours(hoursParam, is24Hour) {
|
|
138
152
|
let hours = hoursParam;
|
|
153
|
+
|
|
139
154
|
if (!is24Hour) {
|
|
140
155
|
if (hours === 0) {
|
|
141
156
|
hours = 12;
|
|
@@ -143,9 +158,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
143
158
|
hours -= 12;
|
|
144
159
|
}
|
|
145
160
|
}
|
|
161
|
+
|
|
146
162
|
hours = addZeroIfNeeded(hours);
|
|
147
163
|
return hours;
|
|
148
164
|
}
|
|
165
|
+
|
|
149
166
|
handleGetSelectedDate() {
|
|
150
167
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
151
168
|
const {
|
|
@@ -164,21 +181,25 @@ export default class DateTime extends React.PureComponent {
|
|
|
164
181
|
mins,
|
|
165
182
|
amPm
|
|
166
183
|
} = selectedInfo;
|
|
184
|
+
|
|
167
185
|
if (!is24Hour) {
|
|
168
186
|
if (parseInt(hours) === 12) {
|
|
169
187
|
hours = amPm === 'AM' ? 0 : 12;
|
|
170
188
|
}
|
|
189
|
+
|
|
171
190
|
if (amPm === 'PM') {
|
|
172
191
|
if (hours < 12) {
|
|
173
192
|
hours = parseInt(hours) + 12;
|
|
174
193
|
}
|
|
175
194
|
}
|
|
176
195
|
}
|
|
196
|
+
|
|
177
197
|
let minInMillis = min ? datetime.millis(min) : null,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
198
|
+
maxInMillis = max ? datetime.millis(max) : null,
|
|
199
|
+
selectedInMillis,
|
|
200
|
+
selectedValue = '',
|
|
201
|
+
formattedValue;
|
|
202
|
+
|
|
182
203
|
if (isDateTimeField) {
|
|
183
204
|
selectedInMillis = datetime.tz.tzToUtc(Date.UTC(year, month, date, hours, mins), timeZone);
|
|
184
205
|
selectedValue = datetime.ISO(selectedInMillis);
|
|
@@ -188,8 +209,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
188
209
|
selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
|
|
189
210
|
formattedValue = formatDate(new Date(year, month, date), dateFormat);
|
|
190
211
|
}
|
|
212
|
+
|
|
191
213
|
let isError = false;
|
|
192
214
|
let errorType = '';
|
|
215
|
+
|
|
193
216
|
if (minInMillis && minInMillis > selectedInMillis) {
|
|
194
217
|
isError = true;
|
|
195
218
|
errorType = 'MIN';
|
|
@@ -197,6 +220,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
197
220
|
isError = true;
|
|
198
221
|
errorType = 'MAX';
|
|
199
222
|
}
|
|
223
|
+
|
|
200
224
|
return {
|
|
201
225
|
isError,
|
|
202
226
|
errorType,
|
|
@@ -204,6 +228,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
204
228
|
formattedValue
|
|
205
229
|
};
|
|
206
230
|
}
|
|
231
|
+
|
|
207
232
|
handleSelect(e) {
|
|
208
233
|
e && e.preventDefault();
|
|
209
234
|
const {
|
|
@@ -233,6 +258,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
233
258
|
mins,
|
|
234
259
|
amPm
|
|
235
260
|
});
|
|
261
|
+
|
|
236
262
|
if (isError) {
|
|
237
263
|
if (errorType === 'MIN') {
|
|
238
264
|
onError && onError(minErrorText, true);
|
|
@@ -243,6 +269,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
243
269
|
onSelect(selectedValue, formattedValue, e);
|
|
244
270
|
}
|
|
245
271
|
}
|
|
272
|
+
|
|
246
273
|
handleChange() {
|
|
247
274
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
248
275
|
const {
|
|
@@ -275,6 +302,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
275
302
|
mins: getIsEmptyValue(mins) ? oldMins : mins,
|
|
276
303
|
amPm: getIsEmptyValue(amPm) ? oldAMPM : amPm
|
|
277
304
|
};
|
|
305
|
+
|
|
278
306
|
if (onChange) {
|
|
279
307
|
const {
|
|
280
308
|
isError,
|
|
@@ -282,6 +310,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
282
310
|
selectedValue,
|
|
283
311
|
formattedValue
|
|
284
312
|
} = this.handleGetSelectedDate(newSelectedInfo);
|
|
313
|
+
|
|
285
314
|
if (isError) {
|
|
286
315
|
if (errorType === 'MIN') {
|
|
287
316
|
onError && onError(minErrorText, true);
|
|
@@ -296,17 +325,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
296
325
|
this.setState(newSelectedInfo);
|
|
297
326
|
}
|
|
298
327
|
}
|
|
328
|
+
|
|
299
329
|
handleClear(e) {
|
|
300
330
|
const {
|
|
301
331
|
onSelect,
|
|
302
332
|
onClear
|
|
303
333
|
} = this.props;
|
|
334
|
+
|
|
304
335
|
if (onClear) {
|
|
305
336
|
onClear(e);
|
|
306
337
|
} else {
|
|
307
338
|
onSelect('', '', e);
|
|
308
339
|
}
|
|
309
340
|
}
|
|
341
|
+
|
|
310
342
|
dateSelect(date, month, year, e) {
|
|
311
343
|
this.handleChange({
|
|
312
344
|
date,
|
|
@@ -338,6 +370,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
338
370
|
mins,
|
|
339
371
|
amPm
|
|
340
372
|
});
|
|
373
|
+
|
|
341
374
|
if (isError) {
|
|
342
375
|
if (errorType === 'MIN') {
|
|
343
376
|
onError && onError(minErrorText, true);
|
|
@@ -348,26 +381,31 @@ export default class DateTime extends React.PureComponent {
|
|
|
348
381
|
onDateSelect && onDateSelect(selectedValue, formattedValue, e);
|
|
349
382
|
}
|
|
350
383
|
}
|
|
384
|
+
|
|
351
385
|
hoursSelect(hours) {
|
|
352
386
|
this.handleChange({
|
|
353
387
|
hours
|
|
354
388
|
});
|
|
355
389
|
}
|
|
390
|
+
|
|
356
391
|
minutesSelect(mins) {
|
|
357
392
|
this.handleChange({
|
|
358
393
|
mins
|
|
359
394
|
});
|
|
360
395
|
}
|
|
396
|
+
|
|
361
397
|
amPmSelect(amPm) {
|
|
362
398
|
this.handleChange({
|
|
363
399
|
amPm
|
|
364
400
|
});
|
|
365
401
|
}
|
|
366
|
-
|
|
367
402
|
/*global closeGroupPopups*/
|
|
403
|
+
|
|
404
|
+
|
|
368
405
|
closePopup() {
|
|
369
406
|
closeGroupPopups('calender');
|
|
370
407
|
}
|
|
408
|
+
|
|
371
409
|
handleCalendarNavigation(type, selectedInfo) {
|
|
372
410
|
const {
|
|
373
411
|
year: stateYear,
|
|
@@ -377,10 +415,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
377
415
|
let date = stateDate;
|
|
378
416
|
let month = stateMonth;
|
|
379
417
|
const year = stateYear;
|
|
418
|
+
|
|
380
419
|
const getDate = (month, year) => {
|
|
381
420
|
const monthEnd = getMonthEnd(month, year);
|
|
382
421
|
return monthEnd >= parseInt(date) ? date : monthEnd;
|
|
383
422
|
};
|
|
423
|
+
|
|
384
424
|
const modifyCalendarRecursion = recursionType => {
|
|
385
425
|
if (recursionType === 'nextYear') {
|
|
386
426
|
//Click next year icon
|
|
@@ -404,6 +444,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
404
444
|
month = 0;
|
|
405
445
|
return modifyCalendarRecursion('nextYear');
|
|
406
446
|
}
|
|
447
|
+
|
|
407
448
|
const newMonth = month + 1;
|
|
408
449
|
return {
|
|
409
450
|
date: getDate(newMonth, year),
|
|
@@ -416,6 +457,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
416
457
|
month = 11;
|
|
417
458
|
return modifyCalendarRecursion('previousYear');
|
|
418
459
|
}
|
|
460
|
+
|
|
419
461
|
const newMonth = month - 1;
|
|
420
462
|
return {
|
|
421
463
|
date: getDate(newMonth, year),
|
|
@@ -424,10 +466,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
424
466
|
};
|
|
425
467
|
} else if (recursionType === 'nextDate') {
|
|
426
468
|
const monthEnd = getMonthEnd(month, year);
|
|
469
|
+
|
|
427
470
|
if (date === monthEnd) {
|
|
428
471
|
date = 1;
|
|
429
472
|
return modifyCalendarRecursion('nextMonth');
|
|
430
473
|
}
|
|
474
|
+
|
|
431
475
|
const newDate = parseInt(date) + 1;
|
|
432
476
|
return {
|
|
433
477
|
date: newDate,
|
|
@@ -439,6 +483,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
439
483
|
date = month === 0 ? getMonthEnd(11, year - 1) : getMonthEnd(month - 1, year);
|
|
440
484
|
return modifyCalendarRecursion('previousMonth');
|
|
441
485
|
}
|
|
486
|
+
|
|
442
487
|
const newDate = parseInt(date) - 1;
|
|
443
488
|
return {
|
|
444
489
|
date: newDate,
|
|
@@ -447,8 +492,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
447
492
|
};
|
|
448
493
|
}
|
|
449
494
|
};
|
|
495
|
+
|
|
450
496
|
return modifyCalendarRecursion(type);
|
|
451
497
|
}
|
|
498
|
+
|
|
452
499
|
modifyCalendar(type) {
|
|
453
500
|
const {
|
|
454
501
|
year,
|
|
@@ -461,9 +508,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
461
508
|
date
|
|
462
509
|
}));
|
|
463
510
|
}
|
|
511
|
+
|
|
464
512
|
handleDateReset() {
|
|
465
513
|
this.setState(this.getStateFromProps(this.props));
|
|
466
514
|
}
|
|
515
|
+
|
|
467
516
|
handleGetStateValues() {
|
|
468
517
|
const {
|
|
469
518
|
isActive
|
|
@@ -478,17 +527,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
478
527
|
isMonthOpen
|
|
479
528
|
};
|
|
480
529
|
}
|
|
530
|
+
|
|
481
531
|
handleYearViewToggle(isYearOpen, isMonthOpen) {
|
|
482
532
|
this.setState({
|
|
483
533
|
isYearView: isYearOpen,
|
|
484
534
|
isMonthOpen
|
|
485
535
|
});
|
|
486
536
|
}
|
|
537
|
+
|
|
487
538
|
handleExposeMethods(isMount) {
|
|
488
539
|
const {
|
|
489
540
|
getMethods
|
|
490
541
|
} = this.props;
|
|
491
542
|
let methods = {};
|
|
543
|
+
|
|
492
544
|
if (isMount) {
|
|
493
545
|
methods = {
|
|
494
546
|
resetLocalDate: this.handleDateReset,
|
|
@@ -502,8 +554,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
502
554
|
toggleYearView: null
|
|
503
555
|
};
|
|
504
556
|
}
|
|
557
|
+
|
|
505
558
|
getMethods && getMethods(methods);
|
|
506
559
|
}
|
|
560
|
+
|
|
507
561
|
handleOpenYearView() {
|
|
508
562
|
const {
|
|
509
563
|
isYearView,
|
|
@@ -514,12 +568,14 @@ export default class DateTime extends React.PureComponent {
|
|
|
514
568
|
isMonthOpen: !isMonthOpen
|
|
515
569
|
});
|
|
516
570
|
}
|
|
571
|
+
|
|
517
572
|
handleSelectYear(year) {
|
|
518
573
|
this.setState({
|
|
519
574
|
year,
|
|
520
575
|
isMonthOpen: true
|
|
521
576
|
});
|
|
522
577
|
}
|
|
578
|
+
|
|
523
579
|
handleSelectMonth(month) {
|
|
524
580
|
const {
|
|
525
581
|
date,
|
|
@@ -527,14 +583,17 @@ export default class DateTime extends React.PureComponent {
|
|
|
527
583
|
} = this.state;
|
|
528
584
|
const monthEnd = getMonthEnd(month, year);
|
|
529
585
|
let newDate = date;
|
|
586
|
+
|
|
530
587
|
if (date > monthEnd) {
|
|
531
588
|
newDate = monthEnd;
|
|
532
589
|
}
|
|
590
|
+
|
|
533
591
|
this.setState({
|
|
534
592
|
month,
|
|
535
593
|
date: newDate
|
|
536
594
|
});
|
|
537
595
|
}
|
|
596
|
+
|
|
538
597
|
handleSelectMonthViaYearView(month) {
|
|
539
598
|
this.handleSelectMonth(month);
|
|
540
599
|
this.setState({
|
|
@@ -542,6 +601,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
542
601
|
isMonthOpen: false
|
|
543
602
|
});
|
|
544
603
|
}
|
|
604
|
+
|
|
545
605
|
render() {
|
|
546
606
|
const {
|
|
547
607
|
date,
|
|
@@ -622,7 +682,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
622
682
|
}), isDateTimeField ? /*#__PURE__*/React.createElement(Time, {
|
|
623
683
|
timeText: timeText,
|
|
624
684
|
dataId: dataId,
|
|
625
|
-
hourSuggestions: getHourSuggestions(),
|
|
685
|
+
hourSuggestions: getHourSuggestions(is24Hour),
|
|
626
686
|
onHourSelect: this.hoursSelect,
|
|
627
687
|
hours: hours,
|
|
628
688
|
hourEmptyText: hourEmptyText,
|
|
@@ -677,6 +737,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
677
737
|
portalId: dropBoxPortalId
|
|
678
738
|
}, /*#__PURE__*/React.createElement(Box, null, childEle)) : null;
|
|
679
739
|
}
|
|
740
|
+
|
|
680
741
|
}
|
|
681
742
|
DateTime.propTypes = DateTime_propTypes;
|
|
682
743
|
DateTime.defaultProps = DateTime_defaultProps;
|