@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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const REPLACER_SYMBOL = '$'; // $ startWith is used for replace the existing style.
|
|
2
|
+
// all other will be append
|
|
3
|
+
|
|
4
|
+
export default function mergeStyle(defaultStyle) {
|
|
5
|
+
let customStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6
|
+
let additionalStyle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
7
|
+
// if(!Object.keys(defaultStyle).includes('base')) {
|
|
8
|
+
// throw new Error(`STYLE CUSTOMIZATION RULE - Your style sheet should have "base" class name for customization`);
|
|
9
|
+
// }
|
|
10
|
+
return Object.keys(customStyle).reduce((res, next) => {
|
|
11
|
+
if (next.startsWith(REPLACER_SYMBOL)) {
|
|
12
|
+
let styleValue = customStyle[next];
|
|
13
|
+
let styleName = next.replace(REPLACER_SYMBOL, '');
|
|
14
|
+
|
|
15
|
+
if (!defaultStyle[styleName] && !additionalStyle.includes(styleName)) {
|
|
16
|
+
// return res;
|
|
17
|
+
throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${styleName}" is not available in that component style`);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (additionalStyle.includes(styleName)) {
|
|
21
|
+
res[styleName] = styleValue;
|
|
22
|
+
} else {
|
|
23
|
+
let val = defaultStyle[styleName];
|
|
24
|
+
Object.keys(res).map(keyName => {
|
|
25
|
+
let styleKey = res[keyName];
|
|
26
|
+
let styleClasses = styleKey.split(' ');
|
|
27
|
+
let ind = styleClasses.indexOf(val);
|
|
28
|
+
|
|
29
|
+
if (ind !== -1) {
|
|
30
|
+
styleClasses[ind] = styleValue;
|
|
31
|
+
res[keyName] = styleClasses.join(' ');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
} else if (defaultStyle[next]) {
|
|
36
|
+
let val = defaultStyle[next];
|
|
37
|
+
Object.keys(res).map(keyName => {
|
|
38
|
+
let styleKey = res[keyName];
|
|
39
|
+
let styleClasses = styleKey.split(' ');
|
|
40
|
+
let ind = styleClasses.indexOf(val);
|
|
41
|
+
|
|
42
|
+
if (ind !== -1) {
|
|
43
|
+
styleClasses[ind] = styleClasses[ind] + ' ' + customStyle[next];
|
|
44
|
+
res[keyName] = styleClasses.join(' ');
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} else if (additionalStyle.includes(next)) {
|
|
48
|
+
res[next] = customStyle[next];
|
|
49
|
+
} else if (!defaultStyle[next] && !additionalStyle.includes(next)) {
|
|
50
|
+
// res[next] = customStyle[next];
|
|
51
|
+
throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${next}" is not available in that component style`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return res;
|
|
55
|
+
}, { ...defaultStyle
|
|
56
|
+
});
|
|
57
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const dataTypes = {
|
|
2
|
+
number: 'number',
|
|
3
|
+
array: 'array',
|
|
4
|
+
string: 'string',
|
|
5
|
+
object: 'object',
|
|
6
|
+
bigint: 'bigint',
|
|
7
|
+
symbol: 'symbol',
|
|
8
|
+
undefined: 'undefined',
|
|
9
|
+
function: 'function',
|
|
10
|
+
boolean: 'boolean'
|
|
11
|
+
};
|
|
12
|
+
export const getDataType = data => {
|
|
13
|
+
let typeofData = typeof data;
|
|
14
|
+
let isArrayDataType = Array.isArray(data);
|
|
15
|
+
|
|
16
|
+
if (isArrayDataType) {
|
|
17
|
+
return dataTypes.array;
|
|
18
|
+
} else {
|
|
19
|
+
return dataTypes[typeofData];
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const isDataTypeOf = (data, type) => {
|
|
23
|
+
return getDataType(data) === type;
|
|
24
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const offsetMap = {
|
|
2
|
+
0: 'GMT+00:00 Africa/Abidjan',
|
|
3
|
+
44: 'GMT+00:00 Africa/Monrovia',
|
|
4
|
+
60: 'GMT+01:00 Africa/Bangui',
|
|
5
|
+
120: 'GMT+02:00 Africa/Blantyre',
|
|
6
|
+
180: 'GMT+03:00 Africa/Addis_Ababa',
|
|
7
|
+
210: 'GMT+04:30 Asia/Tehran',
|
|
8
|
+
240: 'GMT+03:00 Asia/Bahrain',
|
|
9
|
+
270: 'GMT+04:30 Asia/Kabul',
|
|
10
|
+
300: 'GMT+05:00 Asia/Aqtau',
|
|
11
|
+
'-330': 'GMT+05:30 Asia/Kolkata',
|
|
12
|
+
360: 'GMT+06:00 Asia/Dacca',
|
|
13
|
+
390: 'GMT+06:30 Indian/Cocos',
|
|
14
|
+
420: 'GMT+07:00 Asia/Bangkok',
|
|
15
|
+
450: 'GMT+08:00 Asia/Singapore',
|
|
16
|
+
480: 'GMT+08:00 Asia/Hong_Kong',
|
|
17
|
+
510: 'GMT+08:00 Asia/Harbin',
|
|
18
|
+
525: 'GMT+08:45 Australia/Eucla',
|
|
19
|
+
540: 'GMT+09:00 Asia/Chita',
|
|
20
|
+
570: 'GMT+09:30 Australia/Adelaide',
|
|
21
|
+
600: 'GMT+10:00 Antarctica/DumontDUrville',
|
|
22
|
+
660: 'GMT+11:00 Asia/Magadan',
|
|
23
|
+
690: 'GMT+11:00 Pacific/Norfolk',
|
|
24
|
+
720: 'GMT+12:00 Asia/Kamchatka',
|
|
25
|
+
765: 'GMT+12:45 Pacific/Chatham',
|
|
26
|
+
780: 'GMT+12:00 Asia/Anadyr',
|
|
27
|
+
840: 'GMT+14:00 Etc/GMT-14',
|
|
28
|
+
'-60': 'GMT-01:00 Etc/GMT+1',
|
|
29
|
+
'-660': 'GMT-11:00 US/Samoa',
|
|
30
|
+
'-600': 'GMT-04:00 America/Anguilla',
|
|
31
|
+
'-240': 'GMT-04:00 America/Antigua',
|
|
32
|
+
'-180': 'GMT-03:00 America/Araguaina',
|
|
33
|
+
'-300': 'GMT-05:00 America/Atikokan',
|
|
34
|
+
'-480': 'GMT-05:00 America/Bahia_Banderas',
|
|
35
|
+
'-360': 'GMT-06:00 America/Belize',
|
|
36
|
+
'-420': 'GMT-06:00 America/Boise',
|
|
37
|
+
'-540': 'GMT-07:00 America/Dawson',
|
|
38
|
+
'-135': 'GMT-04:00 America/Guyana',
|
|
39
|
+
'-120': 'GMT-02:00 Etc/GMT+2',
|
|
40
|
+
'-150': 'GMT-03:00 America/Paramaribo',
|
|
41
|
+
'-210': 'GMT-04:00 America/Santo_Domingo',
|
|
42
|
+
'-720': 'GMT+12:00 Pacific/Kwajalein',
|
|
43
|
+
'-560': 'GMT+14:00 Pacific/Kiritimati',
|
|
44
|
+
'-510': 'GMT-09:30 Pacific/Marquesas',
|
|
45
|
+
'-630': 'GMT-11:00 Pacific/Niue',
|
|
46
|
+
'-450': 'GMT-08:00 Pacific/Pitcairn',
|
|
47
|
+
'-570': 'GMT-10:00 Pacific/Rarotonga'
|
|
48
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { offsetMap } from './GMTZones.js';
|
|
1
2
|
let dateFormat = {
|
|
2
3
|
dayNames: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
|
3
4
|
monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
|
@@ -10,8 +11,15 @@ export function pad(n) {
|
|
|
10
11
|
n = `${n}`;
|
|
11
12
|
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
|
|
12
13
|
}
|
|
14
|
+
export function getTimeOffset() {
|
|
15
|
+
const GMT = new Date();
|
|
16
|
+
const matchingOffset = Object.keys(offsetMap).find(offset => GMT.getTimezoneOffset() === Number(offset));
|
|
17
|
+
return matchingOffset ? offsetMap[matchingOffset].toString().split(' ') : ['', ''];
|
|
18
|
+
}
|
|
13
19
|
export function formatDate(dateMill, mask) {
|
|
14
20
|
let date = new Date(dateMill);
|
|
21
|
+
let O = getTimeOffset()[0];
|
|
22
|
+
let Z = getTimeOffset()[1];
|
|
15
23
|
let d = date.getDate();
|
|
16
24
|
let D = date.getDay();
|
|
17
25
|
let m = date.getMonth();
|
|
@@ -22,6 +30,7 @@ export function formatDate(dateMill, mask) {
|
|
|
22
30
|
let L = date.getMilliseconds();
|
|
23
31
|
let flags = {
|
|
24
32
|
d: d,
|
|
33
|
+
O: O,
|
|
25
34
|
dd: pad(d, 2),
|
|
26
35
|
ddd: dateFormat.dayNames[D],
|
|
27
36
|
dddd: dateFormat.dayNames[D + 7],
|
|
@@ -49,13 +58,18 @@ export function formatDate(dateMill, mask) {
|
|
|
49
58
|
L: pad(Math.round(L / 10)),
|
|
50
59
|
t: H < 12 ? dateFormat.timeNames[0] : dateFormat.timeNames[1],
|
|
51
60
|
A: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
|
|
52
|
-
|
|
61
|
+
a: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
|
|
62
|
+
T: H < 12 ? dateFormat.timeNames[4] : dateFormat.timeNames[5],
|
|
63
|
+
Z: Z,
|
|
64
|
+
VV: Z,
|
|
65
|
+
SSS: pad(L, 3)
|
|
53
66
|
};
|
|
54
|
-
let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|yy?|([
|
|
67
|
+
let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|O|Z|VV|SSS|yy?|([HhmsAa])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/g;
|
|
55
68
|
let dat = mask.replace(token, match => {
|
|
56
69
|
if (match in flags) {
|
|
57
70
|
return flags[match];
|
|
58
71
|
}
|
|
72
|
+
|
|
59
73
|
return match.slice(1, match.length - 1);
|
|
60
74
|
});
|
|
61
75
|
return dat;
|
|
@@ -70,6 +84,7 @@ export function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
70
84
|
i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
|
|
71
85
|
}
|
|
72
86
|
}
|
|
87
|
+
|
|
73
88
|
return i18nStr;
|
|
74
89
|
}
|
|
75
90
|
export function unescapeUnicode(str) {
|
|
@@ -84,25 +99,28 @@ export function getI18NValue(i18n) {
|
|
|
84
99
|
if (typeof i18n === 'undefined') {
|
|
85
100
|
return key => key;
|
|
86
101
|
}
|
|
102
|
+
|
|
87
103
|
return (key, values) => {
|
|
88
104
|
let i18nStr = i18n[key];
|
|
105
|
+
|
|
89
106
|
if (i18nStr === undefined) {
|
|
90
107
|
return key;
|
|
91
108
|
}
|
|
109
|
+
|
|
92
110
|
i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
|
|
93
111
|
return unescapeUnicode(i18nStr);
|
|
94
112
|
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// function getValues(params = [], diff) {
|
|
113
|
+
} // function getValues(params = [], diff) {
|
|
98
114
|
// return params.map(param => {
|
|
99
115
|
// return diff[param];
|
|
100
116
|
// });
|
|
101
117
|
// }
|
|
118
|
+
|
|
102
119
|
export function getI18NInfo(toDateObj, props, diffObj) {
|
|
103
120
|
let key = null,
|
|
104
|
-
|
|
105
|
-
|
|
121
|
+
values,
|
|
122
|
+
text = null;
|
|
123
|
+
|
|
106
124
|
if (typeof props === 'function') {
|
|
107
125
|
let value = props(diffObj1);
|
|
108
126
|
key = value.key;
|
|
@@ -113,6 +131,7 @@ export function getI18NInfo(toDateObj, props, diffObj) {
|
|
|
113
131
|
} else if (typeof props === 'string') {
|
|
114
132
|
text = toDateObj.format(props);
|
|
115
133
|
}
|
|
134
|
+
|
|
116
135
|
return {
|
|
117
136
|
key,
|
|
118
137
|
values,
|
|
@@ -141,12 +160,15 @@ let oneYearInMillis = 31536000000;
|
|
|
141
160
|
let oneDayInMillis = 86400000;
|
|
142
161
|
let oneHourInMillis = 3600000;
|
|
143
162
|
let oneMinuteInMillis = 60000;
|
|
163
|
+
|
|
144
164
|
function convertAsNonExponential(number) {
|
|
145
165
|
if (number.toString().toLowerCase().indexOf('e') !== -1) {
|
|
146
166
|
return number.toFixed(20);
|
|
147
167
|
}
|
|
168
|
+
|
|
148
169
|
return number;
|
|
149
170
|
}
|
|
171
|
+
|
|
150
172
|
export function getDiffObj(diff) {
|
|
151
173
|
diff = Math.abs(diff);
|
|
152
174
|
let diffYears = diff / oneYearInMillis;
|
|
@@ -173,8 +195,10 @@ export function getDiffObj(diff) {
|
|
|
173
195
|
export function getMonthEnd(month, year) {
|
|
174
196
|
let monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
175
197
|
let isLeapYear = year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
|
|
198
|
+
|
|
176
199
|
if (month === 1 && isLeapYear) {
|
|
177
200
|
return 29;
|
|
178
201
|
}
|
|
202
|
+
|
|
179
203
|
return monthend[month];
|
|
180
204
|
}
|
package/es/utils/debounce.js
CHANGED
|
@@ -2,16 +2,20 @@ export function debounce(func, wait, immediate) {
|
|
|
2
2
|
let timeout;
|
|
3
3
|
return function () {
|
|
4
4
|
let context = this,
|
|
5
|
-
|
|
5
|
+
args = arguments;
|
|
6
|
+
|
|
6
7
|
let later = function () {
|
|
7
8
|
timeout = null;
|
|
9
|
+
|
|
8
10
|
if (!immediate) {
|
|
9
11
|
func.apply(context, args);
|
|
10
12
|
}
|
|
11
13
|
};
|
|
14
|
+
|
|
12
15
|
let callNow = immediate && !timeout;
|
|
13
16
|
clearTimeout(timeout);
|
|
14
17
|
timeout = setTimeout(later, wait);
|
|
18
|
+
|
|
15
19
|
if (callNow) {
|
|
16
20
|
func.apply(context, args);
|
|
17
21
|
}
|
|
@@ -4,26 +4,43 @@ import { getIsEmptyValue, getSearchString } from './Common';
|
|
|
4
4
|
export const dummyArray = [];
|
|
5
5
|
export const dummyObj = {};
|
|
6
6
|
export const getOptions = props => props.options || dummyArray;
|
|
7
|
+
|
|
7
8
|
const getOptionsOrder = props => props.optionsOrder || dummyArray;
|
|
9
|
+
|
|
8
10
|
const getSelectedOptionsSel = props => props.selectedOptions || dummyArray;
|
|
11
|
+
|
|
9
12
|
const getSearchStr = props => props.searchStr || '';
|
|
13
|
+
|
|
10
14
|
export const getValueField = props => props.valueField || '';
|
|
11
15
|
export const getTextField = props => props.textField || '';
|
|
12
16
|
export const getImageField = props => props.imageField || '';
|
|
13
17
|
export const getIconName = props => props.iconName || '';
|
|
14
18
|
export const getIconSize = props => props.iconSize || '';
|
|
15
19
|
export const getOptionType = props => props.optionType || '';
|
|
20
|
+
|
|
16
21
|
const getNeedSearch = props => props.needSearch;
|
|
22
|
+
|
|
17
23
|
const getIsDefaultSelectValue = props => props.isDefaultSelectValue;
|
|
24
|
+
|
|
18
25
|
const getSelectedOptionsLength = props => getIsEmptyValue(props.selectedOptionsLength) ? '' : props.selectedOptionsLength;
|
|
26
|
+
|
|
19
27
|
const getNormalizedFormatOptions = props => props.normalizedFormatOptions || dummyObj;
|
|
28
|
+
|
|
20
29
|
const getSelectedValue = props => getIsEmptyValue(props.selectedValue) ? '' : props.selectedValue;
|
|
30
|
+
|
|
21
31
|
const getSelectedFormatOptions = props => props.selectedFormatOptions || dummyObj;
|
|
32
|
+
|
|
22
33
|
export const getPrefixText = props => props.prefixText || '';
|
|
34
|
+
|
|
23
35
|
const getIsStartWithSearch = props => props.isStartsWithSearch;
|
|
36
|
+
|
|
37
|
+
const getKeepSelectedOptions = props => props.keepSelectedOptions;
|
|
38
|
+
|
|
24
39
|
const getDisabledOptions = props => props.disabledOptions || dummyArray;
|
|
40
|
+
|
|
25
41
|
const getListItemProps = props => props.listItemProps || '';
|
|
26
|
-
|
|
42
|
+
|
|
43
|
+
export const makeGetMultiSelectFilterSuggestions = () => createSelector([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions], (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions) => {
|
|
27
44
|
const suggestions = [];
|
|
28
45
|
const suggestionIds = [];
|
|
29
46
|
options.forEach(option => {
|
|
@@ -34,7 +51,8 @@ export const makeGetMultiSelectFilterSuggestions = () => createSelector([getOpti
|
|
|
34
51
|
const valueString = getSearchString(value);
|
|
35
52
|
const searchString = getSearchString(searchStr);
|
|
36
53
|
const isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : valueString.indexOf(searchString) !== -1 : true;
|
|
37
|
-
|
|
54
|
+
|
|
55
|
+
if (selectedOptions.indexOf(id) === -1 && isMatch || keepSelectedOptions) {
|
|
38
56
|
suggestions.push(option);
|
|
39
57
|
suggestionIds.push(id);
|
|
40
58
|
}
|
|
@@ -48,9 +66,11 @@ export const optionIdGrouping = (id, prefixText) => {
|
|
|
48
66
|
if (getIsEmptyValue(id)) {
|
|
49
67
|
return '';
|
|
50
68
|
}
|
|
69
|
+
|
|
51
70
|
if (getIsEmptyValue(prefixText)) {
|
|
52
71
|
return id;
|
|
53
72
|
}
|
|
73
|
+
|
|
54
74
|
const prefixType = typeof prefixText === 'number' ? 'Int' : 'Str';
|
|
55
75
|
const idType = typeof id === 'number' ? 'Int' : 'Str';
|
|
56
76
|
return `${prefixType}_${prefixText}_${idType}_${id}`;
|
|
@@ -61,15 +81,19 @@ export const extractOptionId = id => {
|
|
|
61
81
|
id: ''
|
|
62
82
|
};
|
|
63
83
|
}
|
|
84
|
+
|
|
64
85
|
if (typeof id === 'number') {
|
|
65
86
|
return {
|
|
66
87
|
id
|
|
67
88
|
};
|
|
68
89
|
}
|
|
90
|
+
|
|
69
91
|
const splitedOption = id.split && id.split('_');
|
|
92
|
+
|
|
70
93
|
if (splitedOption.length === 1) {
|
|
71
94
|
return splitedOption[0];
|
|
72
95
|
}
|
|
96
|
+
|
|
73
97
|
if (splitedOption.length === 4) {
|
|
74
98
|
let [prefixType, prefixText, idType, id] = splitedOption;
|
|
75
99
|
id = idType === 'Int' ? Number.parseInt(id) : id;
|
|
@@ -99,10 +123,10 @@ export const makeFormatOptions = () => createSelector([getOptions, getValueField
|
|
|
99
123
|
} = option;
|
|
100
124
|
let id = typeof option === 'object' ? option[impValueField || valueField] : option;
|
|
101
125
|
const value = typeof option === 'object' ? option[impTextField || textField] : option;
|
|
102
|
-
const photoURL = typeof option === 'object' ? option[impImageField || imageField] : '';
|
|
126
|
+
const photoURL = typeof option === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
|
|
103
127
|
|
|
104
|
-
// grouping options (group select/MultiSelect)
|
|
105
128
|
id = !getIsEmptyValue(id) ? optionIdGrouping(id, prefixText) : '';
|
|
129
|
+
|
|
106
130
|
if (remvampOptionIds.indexOf(id) === -1 && !getIsEmptyValue(id) && !getIsEmptyValue(value)) {
|
|
107
131
|
remvampOptionIds.push(id);
|
|
108
132
|
const optionDetails = {
|
|
@@ -110,21 +134,27 @@ export const makeFormatOptions = () => createSelector([getOptions, getValueField
|
|
|
110
134
|
value,
|
|
111
135
|
optionType: impOptionType || optionType
|
|
112
136
|
};
|
|
137
|
+
|
|
113
138
|
if (imageField) {
|
|
114
139
|
optionDetails.photoURL = photoURL;
|
|
115
140
|
}
|
|
141
|
+
|
|
116
142
|
if (impIconName || iconName) {
|
|
117
143
|
optionDetails.icon = impIconName || iconName;
|
|
118
144
|
}
|
|
145
|
+
|
|
119
146
|
if (impIconSize || iconSize) {
|
|
120
147
|
optionDetails.iconSize = impIconSize || iconSize;
|
|
121
148
|
}
|
|
149
|
+
|
|
122
150
|
if (disabledOptions.length) {
|
|
123
151
|
optionDetails.isDisabled = disabledOptions.indexOf(id) >= 0;
|
|
124
152
|
}
|
|
153
|
+
|
|
125
154
|
if (listStyle || listItemProps) {
|
|
126
155
|
optionDetails.listItemProps = listStyle || listItemProps;
|
|
127
156
|
}
|
|
157
|
+
|
|
128
158
|
normalizedFormatOptions[id] = optionDetails;
|
|
129
159
|
normalizedAllOptions[id] = option;
|
|
130
160
|
revampOptions.push(optionDetails);
|
|
@@ -143,11 +173,13 @@ export const makeGetMultiSelectSelectedOptions = () => createSelector([getSelect
|
|
|
143
173
|
const revampSelectedOptions = [];
|
|
144
174
|
const normalizedSelectedOptions = {};
|
|
145
175
|
selectedOptionsLength = !getIsEmptyValue(selectedOptionsLength) ? selectedOptionsLength : selectedOptions.length;
|
|
176
|
+
|
|
146
177
|
for (let i = 0; i < selectedOptionsLength; i++) {
|
|
147
178
|
const option = selectedOptions[i];
|
|
148
179
|
const {
|
|
149
180
|
id
|
|
150
181
|
} = normalizedFormatOptions[option] || {};
|
|
182
|
+
|
|
151
183
|
if (revampSelectedOptions.indexOf(id) === -1 && !getIsEmptyValue(id)) {
|
|
152
184
|
revampSelectedOptions.push(id);
|
|
153
185
|
output.push(normalizedFormatOptions[option]);
|
|
@@ -162,6 +194,7 @@ export const makeGetMultiSelectSelectedOptions = () => createSelector([getSelect
|
|
|
162
194
|
revampSelectedOptions.indexOf(option) === -1 ? revampSelectedOptions.push(option) : null;
|
|
163
195
|
}
|
|
164
196
|
}
|
|
197
|
+
|
|
165
198
|
return {
|
|
166
199
|
formatSelectedOptions: output,
|
|
167
200
|
normalizedSelectedOptions,
|
|
@@ -171,10 +204,12 @@ export const makeGetMultiSelectSelectedOptions = () => createSelector([getSelect
|
|
|
171
204
|
export const makeGetSelectedValueText = () => createSelector([getOptionsOrder, getNormalizedFormatOptions, getSelectedValue, getSelectedFormatOptions, getIsDefaultSelectValue, getValueField, getTextField], (optionsOrder, normalizedFormatOptions, selectedValue, selectedFormatOptions, isDefaultSelectValue, valueField, textField) => {
|
|
172
205
|
let selectedValueIndex = optionsOrder.indexOf(selectedValue);
|
|
173
206
|
let isSelfValueChanged = false;
|
|
207
|
+
|
|
174
208
|
if (getIsEmptyValue(selectedValue) && isDefaultSelectValue) {
|
|
175
209
|
[selectedValue] = optionsOrder;
|
|
176
210
|
isSelfValueChanged = true;
|
|
177
211
|
}
|
|
212
|
+
|
|
178
213
|
const allOptions = Object.assign({}, selectedFormatOptions, normalizedFormatOptions);
|
|
179
214
|
const details = allOptions[selectedValue];
|
|
180
215
|
let hoverIndex = selectedValueIndex !== -1 ? selectedValueIndex : 0;
|
|
@@ -184,9 +219,8 @@ export const makeGetSelectedValueText = () => createSelector([getOptionsOrder, g
|
|
|
184
219
|
let {
|
|
185
220
|
value: selectedValueText = '',
|
|
186
221
|
id: selectedId
|
|
187
|
-
} = details || dummyObj;
|
|
222
|
+
} = details || dummyObj; //selectedValue is not included in options case
|
|
188
223
|
|
|
189
|
-
//selectedValue is not included in options case
|
|
190
224
|
if (getIsEmptyValue(selectedId)) {
|
|
191
225
|
if (typeof selectedValue === 'object') {
|
|
192
226
|
const id = selectedValue[valueField];
|
|
@@ -204,6 +238,7 @@ export const makeGetSelectedValueText = () => createSelector([getOptionsOrder, g
|
|
|
204
238
|
selectedId = selectedValue;
|
|
205
239
|
}
|
|
206
240
|
}
|
|
241
|
+
|
|
207
242
|
return {
|
|
208
243
|
selected: selectedValueText,
|
|
209
244
|
hoverIndex,
|
|
@@ -212,17 +247,22 @@ export const makeGetSelectedValueText = () => createSelector([getOptionsOrder, g
|
|
|
212
247
|
isSelfValueChanged
|
|
213
248
|
};
|
|
214
249
|
});
|
|
250
|
+
|
|
215
251
|
const getObj1 = props => props.obj1 || dummyObj;
|
|
252
|
+
|
|
216
253
|
const getObj2 = props => props.obj2 || dummyObj;
|
|
217
|
-
export const makeObjectConcat = () => createSelector([getObj1, getObj2], (obj1, obj2) => Object.assign({}, obj1, obj2));
|
|
218
254
|
|
|
255
|
+
export const makeObjectConcat = () => createSelector([getObj1, getObj2], (obj1, obj2) => Object.assign({}, obj1, obj2));
|
|
219
256
|
/***** Group Select *****/
|
|
257
|
+
|
|
220
258
|
const getGroupedOptions = props => props.groupedOptions || dummyArray;
|
|
259
|
+
|
|
221
260
|
const getFormatOptions = makeFormatOptions();
|
|
222
261
|
export const makeGetGroupSelectOptions = () => createSelector([getGroupedOptions], groupedOptions => {
|
|
223
262
|
const revampedGroups = [];
|
|
224
263
|
let allOptionIds = [];
|
|
225
264
|
let allNormalizedOptions = {}; //all group normalized options
|
|
265
|
+
|
|
226
266
|
let allNormalizedFormatOptions = {};
|
|
227
267
|
const groupIds = [];
|
|
228
268
|
const normalizedGroupedOptions = {};
|
|
@@ -234,6 +274,7 @@ export const makeGetGroupSelectOptions = () => createSelector([getGroupedOptions
|
|
|
234
274
|
valueField,
|
|
235
275
|
textField
|
|
236
276
|
} = group;
|
|
277
|
+
|
|
237
278
|
if (!getIsEmptyValue(groupId) && groupIds.indexOf(groupId) === -1) {
|
|
238
279
|
groupIds.push(groupId);
|
|
239
280
|
normalizedGroupedOptions[groupId] = group;
|
|
@@ -248,6 +289,7 @@ export const makeGetGroupSelectOptions = () => createSelector([getGroupedOptions
|
|
|
248
289
|
textField,
|
|
249
290
|
prefixText: groupId
|
|
250
291
|
});
|
|
292
|
+
|
|
251
293
|
if (optionsOrder.length) {
|
|
252
294
|
revampedGroups.push({
|
|
253
295
|
id: groupId,
|
|
@@ -269,7 +311,9 @@ export const makeGetGroupSelectOptions = () => createSelector([getGroupedOptions
|
|
|
269
311
|
normalizedGroupedOptions
|
|
270
312
|
};
|
|
271
313
|
});
|
|
314
|
+
|
|
272
315
|
const getGroups = props => props.revampedGroups;
|
|
316
|
+
|
|
273
317
|
const getFilterSuggestions = makeGetMultiSelectFilterSuggestions();
|
|
274
318
|
export const makeGetGroupSelectFilterSuggestions = () => createSelector([getGroups, getSearchStr, getNeedSearch, getIsStartWithSearch], (groups, searchStr, needSearch, isStartsWithSearch) => {
|
|
275
319
|
const suggestionGroups = [];
|
|
@@ -287,6 +331,7 @@ export const makeGetGroupSelectFilterSuggestions = () => createSelector([getGrou
|
|
|
287
331
|
searchStr,
|
|
288
332
|
isStartsWithSearch
|
|
289
333
|
});
|
|
334
|
+
|
|
290
335
|
if (suggestionIds.length) {
|
|
291
336
|
suggestionGroups.push(Object.assign({}, group, {
|
|
292
337
|
options: suggestions
|
|
@@ -304,6 +349,7 @@ export const makeGetOptionIdChange = () => createSelector([getOptions, getValueF
|
|
|
304
349
|
return options.reduce((changedOptions, option) => {
|
|
305
350
|
let newOption;
|
|
306
351
|
const id = typeof option === 'object' ? option[valueField] : option;
|
|
352
|
+
|
|
307
353
|
if (typeof option === 'object' && !getIsEmptyValue(id)) {
|
|
308
354
|
newOption = Object.assign({}, option, {
|
|
309
355
|
[valueField]: optionIdGrouping(id, prefixText),
|
|
@@ -311,9 +357,11 @@ export const makeGetOptionIdChange = () => createSelector([getOptions, getValueF
|
|
|
311
357
|
textField,
|
|
312
358
|
optionType
|
|
313
359
|
});
|
|
360
|
+
|
|
314
361
|
if (imageField) {
|
|
315
362
|
newOption.imageField = imageField;
|
|
316
363
|
}
|
|
364
|
+
|
|
317
365
|
changedOptions.push(newOption);
|
|
318
366
|
} else if (!getIsEmptyValue(id)) {
|
|
319
367
|
newOption = {
|
|
@@ -327,6 +375,7 @@ export const makeGetOptionIdChange = () => createSelector([getOptions, getValueF
|
|
|
327
375
|
};
|
|
328
376
|
changedOptions.push(newOption);
|
|
329
377
|
}
|
|
378
|
+
|
|
330
379
|
return changedOptions;
|
|
331
380
|
}, newOptions);
|
|
332
381
|
});
|
|
@@ -337,22 +386,23 @@ export const filterSelectedOptions = function () {
|
|
|
337
386
|
disabledOptions = dummyArray
|
|
338
387
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
339
388
|
// eslint-disable-next-line no-param-reassign
|
|
340
|
-
selectedOptions = selectedOptions || dummyArray;
|
|
341
|
-
|
|
342
|
-
propSelectedOptions = propSelectedOptions || dummyArray;
|
|
343
|
-
|
|
389
|
+
selectedOptions = selectedOptions || dummyArray; // eslint-disable-next-line no-param-reassign
|
|
390
|
+
|
|
391
|
+
propSelectedOptions = propSelectedOptions || dummyArray; // eslint-disable-next-line no-param-reassign
|
|
392
|
+
|
|
344
393
|
disabledOptions = disabledOptions || dummyArray;
|
|
345
|
-
const newlyAddedOptions = selectedOptions.filter(selectedOption => propSelectedOptions.indexOf(selectedOption) === -1);
|
|
394
|
+
const newlyAddedOptions = selectedOptions.filter(selectedOption => propSelectedOptions.indexOf(selectedOption) === -1); // eslint-disable-next-line max-len
|
|
346
395
|
|
|
347
|
-
// eslint-disable-next-line max-len
|
|
348
396
|
const oldValidSelectedOptions = propSelectedOptions.filter(selectedOption => {
|
|
349
397
|
const isRemoved = selectedOptions.indexOf(selectedOption) === -1;
|
|
350
398
|
const isDisabled = disabledOptions.indexOf(selectedOption) >= 0;
|
|
399
|
+
|
|
351
400
|
if (isDisabled) {
|
|
352
401
|
return true;
|
|
353
402
|
} else if (isRemoved) {
|
|
354
403
|
return false;
|
|
355
404
|
}
|
|
405
|
+
|
|
356
406
|
return true;
|
|
357
407
|
});
|
|
358
408
|
return {
|
|
@@ -363,28 +413,36 @@ export const makeGetIsShowClearIcon = () => createSelector([getSelectedOptionsSe
|
|
|
363
413
|
let countForShowClear = 2;
|
|
364
414
|
let enabledOptionsLength = 0;
|
|
365
415
|
let isShowClearIcon = selectedOptions.length >= countForShowClear;
|
|
416
|
+
|
|
366
417
|
if (disabledOptions.length) {
|
|
367
418
|
let isHaveEnabledOptions = false;
|
|
368
419
|
let isAllDisabled = disabledOptions.length === selectedOptions.length;
|
|
420
|
+
|
|
369
421
|
if (!isAllDisabled) {
|
|
370
422
|
isHaveEnabledOptions = selectedOptions.some(option => {
|
|
371
423
|
let {
|
|
372
424
|
isDisabled = false
|
|
373
425
|
} = option || {};
|
|
426
|
+
|
|
374
427
|
if (!isDisabled) {
|
|
375
428
|
enabledOptionsLength += 1;
|
|
429
|
+
|
|
376
430
|
if (enabledOptionsLength === countForShowClear) {
|
|
377
431
|
return true;
|
|
378
432
|
}
|
|
433
|
+
|
|
379
434
|
return false;
|
|
380
435
|
}
|
|
436
|
+
|
|
381
437
|
return false;
|
|
382
438
|
});
|
|
383
439
|
}
|
|
440
|
+
|
|
384
441
|
return {
|
|
385
442
|
isShowClearIcon: isAllDisabled ? !isAllDisabled : isHaveEnabledOptions
|
|
386
443
|
};
|
|
387
444
|
}
|
|
445
|
+
|
|
388
446
|
return {
|
|
389
447
|
isShowClearIcon
|
|
390
448
|
};
|
package/es/utils/getInitial.js
CHANGED
|
@@ -2,19 +2,23 @@ export function getInitial() {
|
|
|
2
2
|
let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
3
3
|
let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
4
4
|
let initial = '';
|
|
5
|
+
|
|
5
6
|
if (firstName) {
|
|
6
7
|
firstName = firstName.trim();
|
|
7
8
|
initial = firstName[0];
|
|
8
9
|
}
|
|
10
|
+
|
|
9
11
|
if (lastName) {
|
|
10
12
|
lastName = lastName.trim();
|
|
11
13
|
initial += initial ? lastName[0] : lastName.substring(0, 2);
|
|
12
14
|
}
|
|
15
|
+
|
|
13
16
|
return initial ? initial.toUpperCase() : initial;
|
|
14
17
|
}
|
|
15
18
|
export function getInitialByPattern(firstName, lastName, pattern) {
|
|
16
19
|
if (pattern[0] === 'FIRST_NAME') {
|
|
17
20
|
return getInitial(firstName, lastName);
|
|
18
21
|
}
|
|
22
|
+
|
|
19
23
|
return getInitial(lastName, firstName);
|
|
20
24
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { default as compileClassNames } from './css/compileClassNames';
|
|
2
|
+
export { default as mergeStyle } from './css/mergeStyle';
|
|
3
|
+
export { stopAllEventPropagation, capitalize, getFullName, bytesToSize, getMemSize, checkIsImageFile, getFullDateString, format12Hour, getDateOnly, doAfterScrollEnd, debounce, throttle, getElementSpace, getSearchString, findScrollEnd, isTextSelected } from './Common';
|
package/es/utils/shallowEqual.js
CHANGED
|
@@ -5,22 +5,28 @@ function is(x, y) {
|
|
|
5
5
|
return x !== x && y !== y;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
+
|
|
8
9
|
export default function shallowEqual(objA, objB) {
|
|
9
10
|
if (is(objA, objB)) {
|
|
10
11
|
return true;
|
|
11
12
|
}
|
|
13
|
+
|
|
12
14
|
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
|
|
13
15
|
return false;
|
|
14
16
|
}
|
|
17
|
+
|
|
15
18
|
const keysA = Object.keys(objA);
|
|
16
19
|
const keysB = Object.keys(objB);
|
|
20
|
+
|
|
17
21
|
if (keysA.length !== keysB.length) {
|
|
18
22
|
return false;
|
|
19
23
|
}
|
|
24
|
+
|
|
20
25
|
for (let i = 0; i < keysA.length; i++) {
|
|
21
26
|
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
|
|
22
27
|
return false;
|
|
23
28
|
}
|
|
24
29
|
}
|
|
30
|
+
|
|
25
31
|
return true;
|
|
26
32
|
}
|