@zohodesk/components 1.0.0-test-252 → 1.0.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 +161 -1
- package/assets/Appearance/dark/mode/darkMode.module.css +181 -179
- package/assets/Appearance/dark/themes/blue/blueDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +31 -31
- package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/dark/themes/green/greenDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/green/greenDarkCTATheme.module.css +30 -30
- package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/dark/themes/orange/orangeDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +30 -30
- package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/dark/themes/red/redDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/red/redDarkCTATheme.module.css +30 -30
- package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/dark/themes/yellow/yellowDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +30 -30
- package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/default/mode/defaultMode.module.css +177 -175
- package/assets/Appearance/default/themes/blue/blueDefaultCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +31 -31
- package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +3 -0
- package/assets/Appearance/default/themes/green/greenDefaultCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +30 -30
- package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +3 -0
- package/assets/Appearance/default/themes/orange/orangeDefaultCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +30 -30
- package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -0
- package/assets/Appearance/default/themes/red/redDefaultCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +30 -30
- package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -0
- package/assets/Appearance/default/themes/yellow/yellowDefaultCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +30 -30
- package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -0
- package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +182 -180
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +31 -31
- package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/pureDark/themes/green/greenPureDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +30 -30
- package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +30 -30
- package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/pureDark/themes/red/redPureDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +30 -30
- package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +3 -0
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTAModifyCategory.module.css +452 -0
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +30 -30
- package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +3 -0
- package/assets/Contrast/darkContrastLightness.module.css +39 -0
- package/assets/Contrast/defaultContrastLightness.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 +2 -2
- package/es/AppContainer/props/defaultProps.js +3 -1
- package/es/AppContainer/props/propTypes.js +2 -0
- package/es/Avatar/Avatar.js +48 -25
- package/es/Avatar/Avatar.module.css +59 -18
- package/es/Avatar/props/defaultProps.js +4 -1
- package/es/Avatar/props/propTypes.js +5 -2
- package/es/AvatarTeam/AvatarTeam.js +21 -11
- package/es/AvatarTeam/AvatarTeam.module.css +49 -21
- package/es/AvatarTeam/props/defaultProps.js +5 -1
- package/es/AvatarTeam/props/propTypes.js +5 -1
- package/es/Button/Button.js +55 -51
- package/{lib/Button → es/Button/css}/Button.module.css +62 -58
- 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 +24 -16
- package/es/Buttongroup/Buttongroup.module.css +45 -28
- package/es/Buttongroup/props/defaultProps.js +3 -1
- package/es/Buttongroup/props/propTypes.js +3 -1
- package/es/Card/Card.js +48 -26
- 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 +16 -16
- 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 +51 -48
- 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 +5 -5
- 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 +33 -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 +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/__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 +2 -2
- package/es/DropDown/DropDownHeading.js +18 -11
- package/es/DropDown/DropDownHeading.module.css +3 -3
- package/es/DropDown/DropDownItem.js +8 -1
- 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/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 +2 -2
- package/es/Label/Label.js +14 -9
- package/es/Label/Label.module.css +1 -1
- 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 +15 -15
- 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 +37 -30
- 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 +100 -20
- package/es/MultiSelect/AdvancedMultiSelect.js +45 -19
- package/es/MultiSelect/EmptyState.js +6 -0
- package/es/MultiSelect/MultiSelect.js +129 -46
- package/es/MultiSelect/MultiSelect.module.css +32 -31
- 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 +5 -5
- 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/__tests__/PopOver.spec.js +2 -1
- package/es/PopOver/index.js +3 -0
- package/es/Popup/Popup.js +80 -31
- 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 +3 -3
- 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 +2 -2
- package/es/Ribbon/Ribbon.js +21 -15
- package/es/Ribbon/Ribbon.module.css +133 -55
- 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/Select/GroupSelect.js +71 -23
- package/es/Select/Select.js +115 -50
- package/es/Select/Select.module.css +23 -23
- 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 +2 -2
- package/es/Switch/Switch.js +14 -8
- package/es/Switch/Switch.module.css +49 -32
- 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 +14 -15
- package/es/Tab/TabContent.js +6 -3
- package/es/Tab/TabContentWrapper.js +6 -2
- package/es/Tab/TabWrapper.js +9 -4
- package/es/Tab/Tabs.js +85 -21
- package/es/Tab/Tabs.module.css +36 -40
- 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 +16 -10
- package/es/Tag/Tag.module.css +10 -10
- 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 +6 -5
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- 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 +7 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- 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 +6 -6
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- 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 +40 -8
- 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 +8 -8
- package/es/common/avatarsizes.module.css +6 -2
- package/es/common/basicReset.module.css +3 -3
- package/es/common/boxShadow.module.css +34 -0
- 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/css.js +2 -1
- package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
- 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 +1 -1
- 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 +2 -2
- package/lib/AppContainer/props/defaultProps.js +3 -1
- package/lib/AppContainer/props/propTypes.js +5 -0
- package/lib/Avatar/Avatar.js +97 -44
- package/lib/Avatar/Avatar.module.css +59 -18
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/defaultProps.js +4 -1
- package/lib/Avatar/props/propTypes.js +8 -2
- package/lib/AvatarTeam/AvatarTeam.js +64 -30
- package/lib/AvatarTeam/AvatarTeam.module.css +49 -21
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/defaultProps.js +5 -1
- package/lib/AvatarTeam/props/propTypes.js +8 -1
- package/lib/Button/Button.js +64 -74
- package/{es/Button → lib/Button/css}/Button.module.css +62 -58
- 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 +49 -19
- package/lib/Buttongroup/Buttongroup.module.css +45 -28
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/defaultProps.js +3 -1
- package/lib/Buttongroup/props/propTypes.js +6 -1
- package/lib/Card/Card.js +119 -55
- 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 +16 -16
- 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 +51 -48
- 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 +5 -5
- 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 +33 -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 +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/__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 +2 -2
- package/lib/DropDown/DropDownHeading.js +47 -18
- package/lib/DropDown/DropDownHeading.module.css +3 -3
- package/lib/DropDown/DropDownItem.js +43 -18
- package/lib/DropDown/DropDownItem.module.css +9 -9
- package/lib/DropDown/DropDownSearch.js +39 -14
- package/lib/DropDown/DropDownSeparator.js +23 -1
- 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 +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 +2 -2
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +47 -19
- package/lib/Label/Label.module.css +1 -1
- package/lib/Label/__tests__/Label.spec.js +14 -1
- 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 +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 +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 +37 -30
- 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 +300 -167
- package/lib/MultiSelect/AdvancedMultiSelect.js +212 -130
- package/lib/MultiSelect/EmptyState.js +48 -21
- package/lib/MultiSelect/MultiSelect.js +341 -205
- package/lib/MultiSelect/MultiSelect.module.css +32 -31
- 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 +5 -5
- 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/__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/__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 +3 -3
- 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 +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +48 -21
- package/lib/Ribbon/Ribbon.module.css +133 -55
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- 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/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 +23 -23
- 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 +2 -2
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +64 -35
- package/lib/Switch/Switch.module.css +49 -32
- 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 +14 -15
- package/lib/Tab/TabContent.js +15 -6
- package/lib/Tab/TabContentWrapper.js +15 -6
- package/lib/Tab/TabWrapper.js +37 -17
- package/lib/Tab/Tabs.js +193 -94
- package/lib/Tab/Tabs.module.css +36 -40
- 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 +82 -48
- package/lib/Tag/Tag.module.css +10 -10
- 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 +6 -5
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- 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 +7 -6
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- 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 +6 -6
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- 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 +40 -8
- 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 +8 -8
- package/lib/common/avatarsizes.module.css +6 -2
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/boxShadow.module.css +34 -0
- 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 +42 -1
- package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
- 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 +1 -1
- 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 +61 -26
- package/postPublish.js +8 -0
- package/prePublish.js +70 -0
- 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/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';
|
|
@@ -15,14 +15,15 @@ import { formatDate, getMonthEnd } from '../utils/datetime/common';
|
|
|
15
15
|
import { getIsEmptyValue } from '../utils/Common';
|
|
16
16
|
import { monthNamesDefault, monthNamesShortDefault, dayNamesDefault, dayNamesShortDefault, ampmTextDefault } from './constants';
|
|
17
17
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
18
|
-
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
19
18
|
import { Box } from '../Layout';
|
|
20
|
-
import {
|
|
19
|
+
import { getHourSuggestions, getMinuteSuggestions, addZeroIfNeeded } from './dateFormatUtils';
|
|
20
|
+
|
|
21
21
|
function title(date, year, month) {
|
|
22
22
|
let monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
23
23
|
const HeadingText = `${monthNames[month] || ''} ${year}`;
|
|
24
24
|
return HeadingText;
|
|
25
25
|
}
|
|
26
|
+
|
|
26
27
|
export default class DateTime extends React.PureComponent {
|
|
27
28
|
constructor(props) {
|
|
28
29
|
super(props);
|
|
@@ -45,29 +46,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
45
46
|
this.handleSelectMonthViaYearView = this.handleSelectMonthViaYearView.bind(this);
|
|
46
47
|
this.handleGetStateValues = this.handleGetStateValues.bind(this);
|
|
47
48
|
this.handleYearViewToggle = this.handleYearViewToggle.bind(this);
|
|
49
|
+
this.getInitialDate = this.getInitialDate.bind(this);
|
|
48
50
|
const {
|
|
49
51
|
ampmText = ampmTextDefault
|
|
50
52
|
} = props.i18nKeys;
|
|
51
|
-
|
|
52
|
-
startPoint: hourStart,
|
|
53
|
-
endPoint: hourEnd
|
|
54
|
-
} = getHourDetails(props.is24Hour);
|
|
55
|
-
this.hourSuggestions = (() => {
|
|
56
|
-
const hourArr = [];
|
|
57
|
-
for (let hour = hourStart; hour <= hourEnd; hour++) {
|
|
58
|
-
const htxt = hour < 10 ? `0${hour}` : `${hour}`;
|
|
59
|
-
hourArr.push(htxt);
|
|
60
|
-
}
|
|
61
|
-
return hourArr;
|
|
62
|
-
})();
|
|
63
|
-
this.minSuggestions = (() => {
|
|
64
|
-
const minArr = [];
|
|
65
|
-
for (let minute = 0; minute <= 59; minute++) {
|
|
66
|
-
const mtxt = minute < 10 ? `0${minute}` : `${minute}`;
|
|
67
|
-
minArr.push(mtxt);
|
|
68
|
-
}
|
|
69
|
-
return minArr;
|
|
70
|
-
})();
|
|
53
|
+
|
|
71
54
|
this.ampmSuggestions = (() => {
|
|
72
55
|
const ampmSuggestions = [];
|
|
73
56
|
ampmText.forEach((text, index) => {
|
|
@@ -85,24 +68,29 @@ export default class DateTime extends React.PureComponent {
|
|
|
85
68
|
});
|
|
86
69
|
return ampmSuggestions;
|
|
87
70
|
})();
|
|
71
|
+
|
|
88
72
|
const initalStateObj = this.getStateFromProps(props);
|
|
89
73
|
this.state = Object.assign({}, initalStateObj, {
|
|
90
74
|
isYearView: false,
|
|
91
75
|
isMonthOpen: false
|
|
92
76
|
});
|
|
93
77
|
}
|
|
78
|
+
|
|
94
79
|
componentDidMount() {
|
|
95
80
|
this.handleExposeMethods(true);
|
|
96
81
|
}
|
|
82
|
+
|
|
97
83
|
componentDidUpdate(prevProps) {
|
|
98
84
|
const {
|
|
99
85
|
value,
|
|
100
86
|
isActive,
|
|
101
87
|
is24Hour
|
|
102
88
|
} = this.props;
|
|
89
|
+
|
|
103
90
|
if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
|
|
104
91
|
this.setState(this.getStateFromProps(this.props));
|
|
105
92
|
}
|
|
93
|
+
|
|
106
94
|
if (prevProps.isActive !== isActive && !isActive) {
|
|
107
95
|
this.setState({
|
|
108
96
|
isYearView: false,
|
|
@@ -110,9 +98,38 @@ export default class DateTime extends React.PureComponent {
|
|
|
110
98
|
});
|
|
111
99
|
}
|
|
112
100
|
}
|
|
101
|
+
|
|
113
102
|
componentWillUnmount() {
|
|
114
103
|
this.handleExposeMethods(false);
|
|
115
104
|
}
|
|
105
|
+
|
|
106
|
+
getInitialDate(value) {
|
|
107
|
+
let timeZone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
108
|
+
let isDateTime = arguments.length > 2 ? arguments[2] : undefined;
|
|
109
|
+
let result = null;
|
|
110
|
+
|
|
111
|
+
if (isDateTime) {
|
|
112
|
+
if (timeZone && value) {
|
|
113
|
+
result = datetime.toDate(datetime.tz.utcToTz(value, timeZone));
|
|
114
|
+
} else {
|
|
115
|
+
value = value ? value.replace('Z', '') : null;
|
|
116
|
+
result = value ? new Date(value) : new Date();
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
if (value) {
|
|
120
|
+
if (timeZone) {
|
|
121
|
+
result = datetime.toDate(value);
|
|
122
|
+
} else {
|
|
123
|
+
result = new Date(value);
|
|
124
|
+
}
|
|
125
|
+
} else {
|
|
126
|
+
result = new Date();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
|
|
116
133
|
getStateFromProps(props) {
|
|
117
134
|
let date, month, year, hours, mins, amPm;
|
|
118
135
|
let {
|
|
@@ -123,24 +140,27 @@ export default class DateTime extends React.PureComponent {
|
|
|
123
140
|
isDateTimeField,
|
|
124
141
|
is24Hour
|
|
125
142
|
} = props; //defaultTime --> 12:00:PM
|
|
143
|
+
|
|
126
144
|
defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
|
|
127
145
|
let defaultHour, defaultMin, defaultAmPm;
|
|
128
146
|
let todayObj = new Date();
|
|
129
147
|
let todayDate = todayObj.getDate();
|
|
130
148
|
let todayMonth = todayObj.getMonth();
|
|
131
149
|
let todayYear = todayObj.getFullYear();
|
|
150
|
+
|
|
132
151
|
if (!value) {
|
|
133
152
|
[defaultHour, defaultMin, defaultAmPm] = defaultTime ? defaultTime.split(':') : [];
|
|
134
153
|
defaultHour = parseInt(defaultHour);
|
|
135
154
|
defaultMin = parseInt(defaultMin);
|
|
136
155
|
}
|
|
137
|
-
|
|
156
|
+
|
|
157
|
+
const dateObj = this.getInitialDate(value, timeZone, isDateTimeField);
|
|
138
158
|
date = dateObj.getDate();
|
|
139
159
|
month = dateObj.getMonth();
|
|
140
160
|
year = dateObj.getFullYear();
|
|
141
161
|
hours = defaultHour ? defaultHour : dateObj.getHours();
|
|
142
162
|
mins = !getIsEmptyValue(defaultMin) ? defaultMin : dateObj.getMinutes();
|
|
143
|
-
mins = mins
|
|
163
|
+
mins = addZeroIfNeeded(mins);
|
|
144
164
|
amPm = defaultAmPm ? defaultAmPm : hours < 12 ? 'AM' : 'PM';
|
|
145
165
|
hours = this.getHours(hours, is24Hour);
|
|
146
166
|
return {
|
|
@@ -155,8 +175,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
155
175
|
todayYear
|
|
156
176
|
};
|
|
157
177
|
}
|
|
178
|
+
|
|
158
179
|
getHours(hoursParam, is24Hour) {
|
|
159
180
|
let hours = hoursParam;
|
|
181
|
+
|
|
160
182
|
if (!is24Hour) {
|
|
161
183
|
if (hours === 0) {
|
|
162
184
|
hours = 12;
|
|
@@ -164,9 +186,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
164
186
|
hours -= 12;
|
|
165
187
|
}
|
|
166
188
|
}
|
|
167
|
-
|
|
189
|
+
|
|
190
|
+
hours = addZeroIfNeeded(hours);
|
|
168
191
|
return hours;
|
|
169
192
|
}
|
|
193
|
+
|
|
170
194
|
handleGetSelectedDate() {
|
|
171
195
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
172
196
|
const {
|
|
@@ -175,7 +199,8 @@ export default class DateTime extends React.PureComponent {
|
|
|
175
199
|
timeZone,
|
|
176
200
|
isDateTimeField,
|
|
177
201
|
dateFormat,
|
|
178
|
-
is24Hour
|
|
202
|
+
is24Hour,
|
|
203
|
+
customDateFormat
|
|
179
204
|
} = this.props;
|
|
180
205
|
let {
|
|
181
206
|
year,
|
|
@@ -185,32 +210,47 @@ export default class DateTime extends React.PureComponent {
|
|
|
185
210
|
mins,
|
|
186
211
|
amPm
|
|
187
212
|
} = selectedInfo;
|
|
213
|
+
|
|
188
214
|
if (!is24Hour) {
|
|
189
215
|
if (parseInt(hours) === 12) {
|
|
190
216
|
hours = amPm === 'AM' ? 0 : 12;
|
|
191
217
|
}
|
|
218
|
+
|
|
192
219
|
if (amPm === 'PM') {
|
|
193
220
|
if (hours < 12) {
|
|
194
221
|
hours = parseInt(hours) + 12;
|
|
195
222
|
}
|
|
196
223
|
}
|
|
197
224
|
}
|
|
225
|
+
|
|
198
226
|
let minInMillis = min ? datetime.millis(min) : null,
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
227
|
+
maxInMillis = max ? datetime.millis(max) : null,
|
|
228
|
+
selectedInMillis,
|
|
229
|
+
selectedValue = '',
|
|
230
|
+
formattedValue;
|
|
231
|
+
let currentDate = new Date();
|
|
232
|
+
let sec = currentDate.getSeconds();
|
|
233
|
+
let milliSec = currentDate.getMilliseconds();
|
|
234
|
+
|
|
235
|
+
if (isDateTimeField || customDateFormat) {
|
|
236
|
+
const dateArgs = [year, month, date, hours, mins];
|
|
237
|
+
|
|
238
|
+
if (customDateFormat) {
|
|
239
|
+
dateArgs.push(sec, milliSec);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
selectedInMillis = timeZone ? datetime.tz.tzToUtc(Date.UTC(...dateArgs), timeZone) : Date.UTC(...dateArgs);
|
|
205
243
|
selectedValue = datetime.ISO(selectedInMillis);
|
|
206
|
-
formattedValue = formatDate(new Date(
|
|
244
|
+
formattedValue = formatDate(new Date(...dateArgs), customDateFormat == null ? is24Hour ? `${dateFormat} HH:mm:ss` : `${dateFormat} hh:mm:ss A` : `${customDateFormat}`);
|
|
207
245
|
} else {
|
|
208
246
|
selectedInMillis = Date.UTC(year, month, date);
|
|
209
247
|
selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
|
|
210
248
|
formattedValue = formatDate(new Date(year, month, date), dateFormat);
|
|
211
249
|
}
|
|
250
|
+
|
|
212
251
|
let isError = false;
|
|
213
252
|
let errorType = '';
|
|
253
|
+
|
|
214
254
|
if (minInMillis && minInMillis > selectedInMillis) {
|
|
215
255
|
isError = true;
|
|
216
256
|
errorType = 'MIN';
|
|
@@ -218,6 +258,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
218
258
|
isError = true;
|
|
219
259
|
errorType = 'MAX';
|
|
220
260
|
}
|
|
261
|
+
|
|
221
262
|
return {
|
|
222
263
|
isError,
|
|
223
264
|
errorType,
|
|
@@ -225,6 +266,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
225
266
|
formattedValue
|
|
226
267
|
};
|
|
227
268
|
}
|
|
269
|
+
|
|
228
270
|
handleSelect(e) {
|
|
229
271
|
e && e.preventDefault();
|
|
230
272
|
const {
|
|
@@ -254,6 +296,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
254
296
|
mins,
|
|
255
297
|
amPm
|
|
256
298
|
});
|
|
299
|
+
|
|
257
300
|
if (isError) {
|
|
258
301
|
if (errorType === 'MIN') {
|
|
259
302
|
onError && onError(minErrorText, true);
|
|
@@ -264,6 +307,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
264
307
|
onSelect(selectedValue, formattedValue, e);
|
|
265
308
|
}
|
|
266
309
|
}
|
|
310
|
+
|
|
267
311
|
handleChange() {
|
|
268
312
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
269
313
|
const {
|
|
@@ -296,6 +340,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
296
340
|
mins: getIsEmptyValue(mins) ? oldMins : mins,
|
|
297
341
|
amPm: getIsEmptyValue(amPm) ? oldAMPM : amPm
|
|
298
342
|
};
|
|
343
|
+
|
|
299
344
|
if (onChange) {
|
|
300
345
|
const {
|
|
301
346
|
isError,
|
|
@@ -303,6 +348,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
303
348
|
selectedValue,
|
|
304
349
|
formattedValue
|
|
305
350
|
} = this.handleGetSelectedDate(newSelectedInfo);
|
|
351
|
+
|
|
306
352
|
if (isError) {
|
|
307
353
|
if (errorType === 'MIN') {
|
|
308
354
|
onError && onError(minErrorText, true);
|
|
@@ -317,17 +363,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
317
363
|
this.setState(newSelectedInfo);
|
|
318
364
|
}
|
|
319
365
|
}
|
|
366
|
+
|
|
320
367
|
handleClear(e) {
|
|
321
368
|
const {
|
|
322
369
|
onSelect,
|
|
323
370
|
onClear
|
|
324
371
|
} = this.props;
|
|
372
|
+
|
|
325
373
|
if (onClear) {
|
|
326
374
|
onClear(e);
|
|
327
375
|
} else {
|
|
328
376
|
onSelect('', '', e);
|
|
329
377
|
}
|
|
330
378
|
}
|
|
379
|
+
|
|
331
380
|
dateSelect(date, month, year, e) {
|
|
332
381
|
this.handleChange({
|
|
333
382
|
date,
|
|
@@ -359,6 +408,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
359
408
|
mins,
|
|
360
409
|
amPm
|
|
361
410
|
});
|
|
411
|
+
|
|
362
412
|
if (isError) {
|
|
363
413
|
if (errorType === 'MIN') {
|
|
364
414
|
onError && onError(minErrorText, true);
|
|
@@ -369,26 +419,31 @@ export default class DateTime extends React.PureComponent {
|
|
|
369
419
|
onDateSelect && onDateSelect(selectedValue, formattedValue, e);
|
|
370
420
|
}
|
|
371
421
|
}
|
|
422
|
+
|
|
372
423
|
hoursSelect(hours) {
|
|
373
424
|
this.handleChange({
|
|
374
425
|
hours
|
|
375
426
|
});
|
|
376
427
|
}
|
|
428
|
+
|
|
377
429
|
minutesSelect(mins) {
|
|
378
430
|
this.handleChange({
|
|
379
431
|
mins
|
|
380
432
|
});
|
|
381
433
|
}
|
|
434
|
+
|
|
382
435
|
amPmSelect(amPm) {
|
|
383
436
|
this.handleChange({
|
|
384
437
|
amPm
|
|
385
438
|
});
|
|
386
439
|
}
|
|
387
|
-
|
|
388
440
|
/*global closeGroupPopups*/
|
|
441
|
+
|
|
442
|
+
|
|
389
443
|
closePopup() {
|
|
390
444
|
closeGroupPopups('calender');
|
|
391
445
|
}
|
|
446
|
+
|
|
392
447
|
handleCalendarNavigation(type, selectedInfo) {
|
|
393
448
|
const {
|
|
394
449
|
year: stateYear,
|
|
@@ -398,10 +453,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
398
453
|
let date = stateDate;
|
|
399
454
|
let month = stateMonth;
|
|
400
455
|
const year = stateYear;
|
|
456
|
+
|
|
401
457
|
const getDate = (month, year) => {
|
|
402
458
|
const monthEnd = getMonthEnd(month, year);
|
|
403
459
|
return monthEnd >= parseInt(date) ? date : monthEnd;
|
|
404
460
|
};
|
|
461
|
+
|
|
405
462
|
const modifyCalendarRecursion = recursionType => {
|
|
406
463
|
if (recursionType === 'nextYear') {
|
|
407
464
|
//Click next year icon
|
|
@@ -425,6 +482,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
425
482
|
month = 0;
|
|
426
483
|
return modifyCalendarRecursion('nextYear');
|
|
427
484
|
}
|
|
485
|
+
|
|
428
486
|
const newMonth = month + 1;
|
|
429
487
|
return {
|
|
430
488
|
date: getDate(newMonth, year),
|
|
@@ -437,6 +495,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
437
495
|
month = 11;
|
|
438
496
|
return modifyCalendarRecursion('previousYear');
|
|
439
497
|
}
|
|
498
|
+
|
|
440
499
|
const newMonth = month - 1;
|
|
441
500
|
return {
|
|
442
501
|
date: getDate(newMonth, year),
|
|
@@ -445,10 +504,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
445
504
|
};
|
|
446
505
|
} else if (recursionType === 'nextDate') {
|
|
447
506
|
const monthEnd = getMonthEnd(month, year);
|
|
507
|
+
|
|
448
508
|
if (date === monthEnd) {
|
|
449
509
|
date = 1;
|
|
450
510
|
return modifyCalendarRecursion('nextMonth');
|
|
451
511
|
}
|
|
512
|
+
|
|
452
513
|
const newDate = parseInt(date) + 1;
|
|
453
514
|
return {
|
|
454
515
|
date: newDate,
|
|
@@ -460,6 +521,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
460
521
|
date = month === 0 ? getMonthEnd(11, year - 1) : getMonthEnd(month - 1, year);
|
|
461
522
|
return modifyCalendarRecursion('previousMonth');
|
|
462
523
|
}
|
|
524
|
+
|
|
463
525
|
const newDate = parseInt(date) - 1;
|
|
464
526
|
return {
|
|
465
527
|
date: newDate,
|
|
@@ -468,8 +530,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
468
530
|
};
|
|
469
531
|
}
|
|
470
532
|
};
|
|
533
|
+
|
|
471
534
|
return modifyCalendarRecursion(type);
|
|
472
535
|
}
|
|
536
|
+
|
|
473
537
|
modifyCalendar(type) {
|
|
474
538
|
const {
|
|
475
539
|
year,
|
|
@@ -482,9 +546,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
482
546
|
date
|
|
483
547
|
}));
|
|
484
548
|
}
|
|
549
|
+
|
|
485
550
|
handleDateReset() {
|
|
486
551
|
this.setState(this.getStateFromProps(this.props));
|
|
487
552
|
}
|
|
553
|
+
|
|
488
554
|
handleGetStateValues() {
|
|
489
555
|
const {
|
|
490
556
|
isActive
|
|
@@ -499,17 +565,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
499
565
|
isMonthOpen
|
|
500
566
|
};
|
|
501
567
|
}
|
|
568
|
+
|
|
502
569
|
handleYearViewToggle(isYearOpen, isMonthOpen) {
|
|
503
570
|
this.setState({
|
|
504
571
|
isYearView: isYearOpen,
|
|
505
572
|
isMonthOpen
|
|
506
573
|
});
|
|
507
574
|
}
|
|
575
|
+
|
|
508
576
|
handleExposeMethods(isMount) {
|
|
509
577
|
const {
|
|
510
578
|
getMethods
|
|
511
579
|
} = this.props;
|
|
512
580
|
let methods = {};
|
|
581
|
+
|
|
513
582
|
if (isMount) {
|
|
514
583
|
methods = {
|
|
515
584
|
resetLocalDate: this.handleDateReset,
|
|
@@ -523,8 +592,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
523
592
|
toggleYearView: null
|
|
524
593
|
};
|
|
525
594
|
}
|
|
595
|
+
|
|
526
596
|
getMethods && getMethods(methods);
|
|
527
597
|
}
|
|
598
|
+
|
|
528
599
|
handleOpenYearView() {
|
|
529
600
|
const {
|
|
530
601
|
isYearView,
|
|
@@ -535,12 +606,14 @@ export default class DateTime extends React.PureComponent {
|
|
|
535
606
|
isMonthOpen: !isMonthOpen
|
|
536
607
|
});
|
|
537
608
|
}
|
|
609
|
+
|
|
538
610
|
handleSelectYear(year) {
|
|
539
611
|
this.setState({
|
|
540
612
|
year,
|
|
541
613
|
isMonthOpen: true
|
|
542
614
|
});
|
|
543
615
|
}
|
|
616
|
+
|
|
544
617
|
handleSelectMonth(month) {
|
|
545
618
|
const {
|
|
546
619
|
date,
|
|
@@ -548,14 +621,17 @@ export default class DateTime extends React.PureComponent {
|
|
|
548
621
|
} = this.state;
|
|
549
622
|
const monthEnd = getMonthEnd(month, year);
|
|
550
623
|
let newDate = date;
|
|
624
|
+
|
|
551
625
|
if (date > monthEnd) {
|
|
552
626
|
newDate = monthEnd;
|
|
553
627
|
}
|
|
628
|
+
|
|
554
629
|
this.setState({
|
|
555
630
|
month,
|
|
556
631
|
date: newDate
|
|
557
632
|
});
|
|
558
633
|
}
|
|
634
|
+
|
|
559
635
|
handleSelectMonthViaYearView(month) {
|
|
560
636
|
this.handleSelectMonth(month);
|
|
561
637
|
this.setState({
|
|
@@ -563,16 +639,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
563
639
|
isMonthOpen: false
|
|
564
640
|
});
|
|
565
641
|
}
|
|
566
|
-
|
|
567
|
-
let {
|
|
568
|
-
mediaQueryOR
|
|
569
|
-
} = _ref;
|
|
570
|
-
return {
|
|
571
|
-
tabletMode: mediaQueryOR([{
|
|
572
|
-
maxWidth: 700
|
|
573
|
-
}])
|
|
574
|
-
};
|
|
575
|
-
}
|
|
642
|
+
|
|
576
643
|
render() {
|
|
577
644
|
const {
|
|
578
645
|
date,
|
|
@@ -628,6 +695,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
628
695
|
const childEle = /*#__PURE__*/React.createElement("div", {
|
|
629
696
|
className: `${style.container} ${innerClass}`,
|
|
630
697
|
"data-id": `${dataId}_Calendar`,
|
|
698
|
+
"data-test-id": `${dataId}_Calendar`,
|
|
631
699
|
onClick: this.closePopup
|
|
632
700
|
}, /*#__PURE__*/React.createElement(DateTimePopupHeader, {
|
|
633
701
|
onOpenYearView: this.handleOpenYearView,
|
|
@@ -653,12 +721,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
653
721
|
}), isDateTimeField ? /*#__PURE__*/React.createElement(Time, {
|
|
654
722
|
timeText: timeText,
|
|
655
723
|
dataId: dataId,
|
|
656
|
-
hourSuggestions:
|
|
724
|
+
hourSuggestions: getHourSuggestions(is24Hour),
|
|
657
725
|
onHourSelect: this.hoursSelect,
|
|
658
726
|
hours: hours,
|
|
659
727
|
hourEmptyText: hourEmptyText,
|
|
660
728
|
needResponsive: needResponsive,
|
|
661
|
-
minSuggestions:
|
|
729
|
+
minSuggestions: getMinuteSuggestions(),
|
|
662
730
|
onMinutesSelect: this.minutesSelect,
|
|
663
731
|
mins: mins,
|
|
664
732
|
minuteEmptyText: minuteEmptyText,
|
|
@@ -685,37 +753,31 @@ export default class DateTime extends React.PureComponent {
|
|
|
685
753
|
})) : null));
|
|
686
754
|
return isDefaultPosition ? /*#__PURE__*/React.createElement("div", {
|
|
687
755
|
className: `${style.dropBox} ${className}`,
|
|
688
|
-
"data-id": `${dataId}_dateBoxContainer
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
isPadding: isPadding,
|
|
712
|
-
positionsOffset: positionsOffset,
|
|
713
|
-
targetOffset: targetOffset,
|
|
714
|
-
isRestrictScroll: isRestrictScroll,
|
|
715
|
-
portalId: dropBoxPortalId
|
|
716
|
-
}, /*#__PURE__*/React.createElement(Box, null, childEle));
|
|
717
|
-
}) : null;
|
|
756
|
+
"data-id": `${dataId}_dateBoxContainer`,
|
|
757
|
+
"data-test-id": `${dataId}_dateBoxContainer`
|
|
758
|
+
}, childEle) : isReady ? /*#__PURE__*/React.createElement(ResponsiveDropBox, {
|
|
759
|
+
size: boxSize,
|
|
760
|
+
boxPosition: position,
|
|
761
|
+
isActive: isActive,
|
|
762
|
+
isArrow: false,
|
|
763
|
+
isAnimate: isAnimate,
|
|
764
|
+
animationStyle: "bounce",
|
|
765
|
+
getRef: getRef,
|
|
766
|
+
onClick: onClick,
|
|
767
|
+
dataId: `${dataId}_dateBoxContainer`,
|
|
768
|
+
needResponsive: needResponsive,
|
|
769
|
+
isAbsolutePositioningNeeded: isAbsolute,
|
|
770
|
+
customClass: {
|
|
771
|
+
customDropBoxWrap: className
|
|
772
|
+
},
|
|
773
|
+
isPadding: isPadding,
|
|
774
|
+
positionsOffset: positionsOffset,
|
|
775
|
+
targetOffset: targetOffset,
|
|
776
|
+
isRestrictScroll: isRestrictScroll,
|
|
777
|
+
portalId: dropBoxPortalId
|
|
778
|
+
}, /*#__PURE__*/React.createElement(Box, null, childEle)) : null;
|
|
718
779
|
}
|
|
780
|
+
|
|
719
781
|
}
|
|
720
782
|
DateTime.propTypes = DateTime_propTypes;
|
|
721
783
|
DateTime.defaultProps = DateTime_defaultProps;
|