@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
|
@@ -21,10 +21,9 @@ export default function RippleEffect(props) {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
RippleEffect.defaultProps = defaultProps;
|
|
24
|
-
RippleEffect.propTypes = propTypes;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
24
|
+
RippleEffect.propTypes = propTypes; // if (__DOCS__) {
|
|
25
|
+
// RippleEffect.docs = {
|
|
26
|
+
// componentGroup: 'RippleEffect',
|
|
27
|
+
// folderName: 'Style Guide'
|
|
28
|
+
// };
|
|
29
|
+
// }
|
package/es/Select/GroupSelect.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import React, { PureComponent } from 'react';
|
|
3
3
|
import { GroupSelect_defaultProps } from './props/defaultProps';
|
|
4
4
|
import { GroupSelect_propTypes } from './props/propTypes';
|
|
5
|
-
|
|
6
5
|
/**** Components ****/
|
|
6
|
+
|
|
7
7
|
import Popup from '../Popup/Popup';
|
|
8
8
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
9
9
|
import Textbox from '../TextBox/TextBox';
|
|
10
10
|
import Card, { CardHeader, CardContent, CardFooter } from '../Card/Card';
|
|
11
11
|
import Suggestions from '../MultiSelect/Suggestions';
|
|
12
12
|
import EmptyState from '../MultiSelect/EmptyState';
|
|
13
|
-
import Icon from '@zohodesk/icons
|
|
13
|
+
import { Icon } from '@zohodesk/icons';
|
|
14
14
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
15
15
|
import DropDownHeading from '../DropDown/DropDownHeading';
|
|
16
16
|
import { Container, Box } from '../Layout';
|
|
@@ -18,13 +18,14 @@ import { getUniqueId } from '../Provider/IdProvider';
|
|
|
18
18
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
19
19
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
20
20
|
import style from './Select.module.css';
|
|
21
|
-
|
|
22
21
|
/**** Methods ****/
|
|
22
|
+
|
|
23
23
|
import { makeGetGroupSelectOptions, optionIdGrouping, makeGetGroupSelectFilterSuggestions, extractOptionId } from '../utils/dropDownUtils';
|
|
24
24
|
import { getIsEmptyValue, scrollTo, debounce, getSearchString, findScrollEnd } from '../utils/Common';
|
|
25
|
-
|
|
26
25
|
/* eslint-disable react/no-unused-prop-types */
|
|
26
|
+
|
|
27
27
|
/* eslint-disable react/sort-prop-types */
|
|
28
|
+
|
|
28
29
|
/* eslint-disable react/forbid-component-props */
|
|
29
30
|
|
|
30
31
|
export class GroupSelectComponent extends PureComponent {
|
|
@@ -84,9 +85,11 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
84
85
|
};
|
|
85
86
|
this._isMounted = false;
|
|
86
87
|
}
|
|
88
|
+
|
|
87
89
|
componentDidMount() {
|
|
88
90
|
this._isMounted = true;
|
|
89
91
|
}
|
|
92
|
+
|
|
90
93
|
componentDidUpdate(prevProps) {
|
|
91
94
|
let {
|
|
92
95
|
groupedOptions,
|
|
@@ -106,6 +109,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
106
109
|
} = this;
|
|
107
110
|
let newOptionIds = allOptionIds;
|
|
108
111
|
let newSelectedId = selectedId;
|
|
112
|
+
|
|
109
113
|
if (groupedOptions !== prevProps.groupedOptions) {
|
|
110
114
|
let {
|
|
111
115
|
revampedGroups,
|
|
@@ -121,6 +125,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
121
125
|
allOptionIds
|
|
122
126
|
});
|
|
123
127
|
}
|
|
128
|
+
|
|
124
129
|
if (selectedOption !== prevProps.selectedOption) {
|
|
125
130
|
let {
|
|
126
131
|
selectedId,
|
|
@@ -132,12 +137,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
132
137
|
hoverIndex
|
|
133
138
|
});
|
|
134
139
|
}
|
|
140
|
+
|
|
135
141
|
let {
|
|
136
142
|
suggestionOptionIds
|
|
137
143
|
} = this.handleFilterSuggestions();
|
|
138
144
|
let hoverId = getIsEmptyValue(suggestionOptionIds[hoverIndex]) ? '' : suggestionOptionIds[hoverIndex];
|
|
139
145
|
let selSuggestion = this[`suggestion_${hoverId}`];
|
|
140
146
|
isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
|
|
147
|
+
|
|
141
148
|
if (isPopupOpen !== prevProps.isPopupOpen) {
|
|
142
149
|
if (isPopupOpen) {
|
|
143
150
|
setTimeout(() => {
|
|
@@ -156,9 +163,11 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
156
163
|
}
|
|
157
164
|
}
|
|
158
165
|
}
|
|
166
|
+
|
|
159
167
|
componentWillUnmount() {
|
|
160
168
|
this._isMounted = false;
|
|
161
169
|
}
|
|
170
|
+
|
|
162
171
|
handleGetGroupSelectOptions(props) {
|
|
163
172
|
let {
|
|
164
173
|
groupedOptions
|
|
@@ -167,6 +176,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
167
176
|
groupedOptions
|
|
168
177
|
});
|
|
169
178
|
}
|
|
179
|
+
|
|
170
180
|
handleGetSelectedId(props, allOptionIds) {
|
|
171
181
|
let {
|
|
172
182
|
selectedOption,
|
|
@@ -178,19 +188,23 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
178
188
|
} = selectedOption;
|
|
179
189
|
let selectedId = optionIdGrouping(selected, groupId);
|
|
180
190
|
let selectedIdIndex = allOptionIds.indexOf(selectedId);
|
|
191
|
+
|
|
181
192
|
if (selectedIdIndex === -1) {
|
|
182
193
|
selectedIdIndex = 0;
|
|
194
|
+
|
|
183
195
|
if (isDefaultSelectValue) {
|
|
184
196
|
[selectedId] = allOptionIds;
|
|
185
197
|
} else {
|
|
186
198
|
selectedId = '';
|
|
187
199
|
}
|
|
188
200
|
}
|
|
201
|
+
|
|
189
202
|
return {
|
|
190
203
|
selectedId,
|
|
191
204
|
hoverIndex: selectedIdIndex
|
|
192
205
|
};
|
|
193
206
|
}
|
|
207
|
+
|
|
194
208
|
handleFilterSuggestions() {
|
|
195
209
|
let {
|
|
196
210
|
needSearch,
|
|
@@ -201,6 +215,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
201
215
|
searchStr = '',
|
|
202
216
|
allOptionIds
|
|
203
217
|
} = this.state;
|
|
218
|
+
|
|
204
219
|
if (needSearch && searchStr && searchStr.trim().length) {
|
|
205
220
|
searchStr = getSearchString(searchStr);
|
|
206
221
|
let {
|
|
@@ -216,11 +231,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
216
231
|
suggestionOptionIds
|
|
217
232
|
};
|
|
218
233
|
}
|
|
234
|
+
|
|
219
235
|
return {
|
|
220
236
|
suggestionGroups: revampedGroups,
|
|
221
237
|
suggestionOptionIds: allOptionIds
|
|
222
238
|
};
|
|
223
239
|
}
|
|
240
|
+
|
|
224
241
|
handleSearchOptions() {
|
|
225
242
|
let {
|
|
226
243
|
onSearch
|
|
@@ -230,6 +247,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
230
247
|
} = this.state;
|
|
231
248
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
232
249
|
}
|
|
250
|
+
|
|
233
251
|
handleSearch(value) {
|
|
234
252
|
// let { value = '' } = e.target;
|
|
235
253
|
let {
|
|
@@ -252,6 +270,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
252
270
|
}
|
|
253
271
|
});
|
|
254
272
|
}
|
|
273
|
+
|
|
255
274
|
handleKeyDown(e) {
|
|
256
275
|
let {
|
|
257
276
|
isPopupOpen,
|
|
@@ -267,33 +286,38 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
267
286
|
let {
|
|
268
287
|
keyCode
|
|
269
288
|
} = e;
|
|
289
|
+
|
|
270
290
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
271
291
|
onKeyDown && onKeyDown(e);
|
|
272
292
|
}
|
|
293
|
+
|
|
273
294
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
|
|
274
295
|
e.preventDefault(); //prevent body scroll
|
|
275
296
|
} else if (!isPopupOpen && keyCode === 40) {
|
|
276
297
|
e.preventDefault(); //prevent body scroll
|
|
298
|
+
|
|
277
299
|
this.togglePopup(e);
|
|
278
300
|
}
|
|
301
|
+
|
|
279
302
|
if (keyCode === 38 && isPopupOpen && suggestionOptionIds.length) {
|
|
280
|
-
if (hoverIndex === 0) {
|
|
281
|
-
// hoverIndex = options.length - 1;
|
|
303
|
+
if (hoverIndex === 0) {// hoverIndex = options.length - 1;
|
|
282
304
|
} else {
|
|
283
305
|
hoverIndex -= 1;
|
|
284
306
|
}
|
|
307
|
+
|
|
285
308
|
this.setState({
|
|
286
309
|
hoverIndex
|
|
287
310
|
});
|
|
288
311
|
} else if (keyCode === 40 && isPopupOpen && suggestionOptionIds.length) {
|
|
289
|
-
if (hoverIndex === suggestionOptionIds.length - 1) {
|
|
290
|
-
// hoverIndex = 0;
|
|
312
|
+
if (hoverIndex === suggestionOptionIds.length - 1) {// hoverIndex = 0;
|
|
291
313
|
} else {
|
|
292
314
|
if (hoverIndex === suggestionOptionIds.length - 3) {
|
|
293
315
|
this.handleGetNextOptions();
|
|
294
316
|
}
|
|
317
|
+
|
|
295
318
|
hoverIndex += 1;
|
|
296
319
|
}
|
|
320
|
+
|
|
297
321
|
this.setState({
|
|
298
322
|
hoverIndex
|
|
299
323
|
});
|
|
@@ -304,8 +328,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
304
328
|
} else if (keyCode === 27) {
|
|
305
329
|
this.valueInput && this.valueInput.focus({
|
|
306
330
|
preventScroll: true
|
|
307
|
-
});
|
|
308
|
-
// this.handlePopupClose(e);
|
|
331
|
+
}); // this.handlePopupClose(e);
|
|
309
332
|
}
|
|
310
333
|
}
|
|
311
334
|
|
|
@@ -321,6 +344,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
321
344
|
hoverIndex: newHoverIndex
|
|
322
345
|
});
|
|
323
346
|
}
|
|
347
|
+
|
|
324
348
|
handleChange(id, value, index, e) {
|
|
325
349
|
e && e.preventDefault && e.preventDefault();
|
|
326
350
|
let {
|
|
@@ -334,13 +358,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
334
358
|
id: selected,
|
|
335
359
|
groupId
|
|
336
360
|
} = extractOptionId(id);
|
|
361
|
+
|
|
337
362
|
if (!getIsEmptyValue(id) && !isReadOnly) {
|
|
338
363
|
onChange && onChange({
|
|
339
364
|
groupId,
|
|
340
365
|
selected
|
|
341
366
|
}, normalizedAllOptions[id]);
|
|
342
|
-
this.handlePopupClose();
|
|
343
|
-
// this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
367
|
+
this.handlePopupClose(); // this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
344
368
|
}
|
|
345
369
|
}
|
|
346
370
|
|
|
@@ -352,6 +376,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
352
376
|
} = this.props;
|
|
353
377
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}Center` : null);
|
|
354
378
|
}
|
|
379
|
+
|
|
355
380
|
handlePopupClose(e) {
|
|
356
381
|
let {
|
|
357
382
|
closePopupOnly,
|
|
@@ -362,15 +387,19 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
362
387
|
});
|
|
363
388
|
isPopupOpen && closePopupOnly(e);
|
|
364
389
|
}
|
|
390
|
+
|
|
365
391
|
suggestionContainerRef(el) {
|
|
366
392
|
this.suggestionContainer = el;
|
|
367
393
|
}
|
|
394
|
+
|
|
368
395
|
suggestionItemRef(el, index, id) {
|
|
369
396
|
this[`suggestion_${id}`] = el;
|
|
370
397
|
}
|
|
398
|
+
|
|
371
399
|
searchInputRef(el) {
|
|
372
400
|
this.searchInput = el;
|
|
373
401
|
}
|
|
402
|
+
|
|
374
403
|
valueInputRef(el) {
|
|
375
404
|
let {
|
|
376
405
|
getRef
|
|
@@ -378,12 +407,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
378
407
|
this.valueInput = el;
|
|
379
408
|
getRef && getRef(el);
|
|
380
409
|
}
|
|
410
|
+
|
|
381
411
|
handleSelectFocus(e) {
|
|
382
412
|
let {
|
|
383
413
|
target
|
|
384
414
|
} = e || {};
|
|
385
415
|
target && target.setSelectionRange(target, 0);
|
|
386
416
|
}
|
|
417
|
+
|
|
387
418
|
handleClearSearch() {
|
|
388
419
|
this.handleSearch('');
|
|
389
420
|
setTimeout(() => {
|
|
@@ -392,6 +423,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
392
423
|
});
|
|
393
424
|
}, 1);
|
|
394
425
|
}
|
|
426
|
+
|
|
395
427
|
handleValueInputChange(e) {
|
|
396
428
|
let {
|
|
397
429
|
which
|
|
@@ -401,22 +433,26 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
401
433
|
isPopupOpen,
|
|
402
434
|
autoSelectOnType
|
|
403
435
|
} = this.props;
|
|
436
|
+
|
|
404
437
|
if (!isPopupOpen && autoSelectOnType) {
|
|
405
438
|
this.valueInputTypeString += (typeString || '').trim();
|
|
406
439
|
this.handleChangeOnType();
|
|
407
440
|
}
|
|
408
441
|
}
|
|
442
|
+
|
|
409
443
|
handleChangeOnType() {
|
|
410
444
|
let {
|
|
411
445
|
revampedGroups
|
|
412
446
|
} = this.state;
|
|
413
447
|
let typeString = this.valueInputTypeString;
|
|
414
448
|
this.valueInputTypeString = '';
|
|
449
|
+
|
|
415
450
|
let changeValue = () => {
|
|
416
451
|
let id = this.autoSelectSuggestions[this.autoSelectIndex];
|
|
417
452
|
let {
|
|
418
453
|
suggestionOptionIds
|
|
419
454
|
} = this.handleFilterSuggestions();
|
|
455
|
+
|
|
420
456
|
if (!getIsEmptyValue(id)) {
|
|
421
457
|
this.handleChange(id);
|
|
422
458
|
let hoverIndex = suggestionOptionIds.indexOf(id);
|
|
@@ -425,12 +461,14 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
425
461
|
});
|
|
426
462
|
}
|
|
427
463
|
};
|
|
464
|
+
|
|
428
465
|
if (typeString && typeString === this.valueInputSearchString) {
|
|
429
466
|
if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
|
|
430
467
|
this.autoSelectIndex += 1;
|
|
431
468
|
} else {
|
|
432
469
|
this.autoSelectIndex = 0;
|
|
433
470
|
}
|
|
471
|
+
|
|
434
472
|
changeValue();
|
|
435
473
|
} else if (typeString) {
|
|
436
474
|
this.valueInputSearchString = typeString;
|
|
@@ -447,11 +485,13 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
447
485
|
changeValue();
|
|
448
486
|
}
|
|
449
487
|
}
|
|
488
|
+
|
|
450
489
|
handleScroll(e) {
|
|
451
490
|
let ele = e.target;
|
|
452
491
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
453
492
|
isScrollReachedBottom && this.handleGetNextOptions();
|
|
454
493
|
}
|
|
494
|
+
|
|
455
495
|
handleFetchOptions(APICall) {
|
|
456
496
|
let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
457
497
|
// let funcArgs = args.slice(1, args.length);
|
|
@@ -461,10 +501,12 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
461
501
|
let {
|
|
462
502
|
_isMounted
|
|
463
503
|
} = this;
|
|
504
|
+
|
|
464
505
|
if (!isFetchingOptions && APICall) {
|
|
465
506
|
this.setState({
|
|
466
507
|
isFetchingOptions: true
|
|
467
508
|
});
|
|
509
|
+
|
|
468
510
|
try {
|
|
469
511
|
return APICall(searchStr).then(() => {
|
|
470
512
|
_isMounted && this.setState({
|
|
@@ -482,6 +524,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
482
524
|
}
|
|
483
525
|
}
|
|
484
526
|
}
|
|
527
|
+
|
|
485
528
|
handleGetNextOptions() {
|
|
486
529
|
let {
|
|
487
530
|
isNextOptions,
|
|
@@ -492,6 +535,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
492
535
|
} = this.state;
|
|
493
536
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
494
537
|
}
|
|
538
|
+
|
|
495
539
|
responsiveFunc(_ref) {
|
|
496
540
|
let {
|
|
497
541
|
mediaQueryOR
|
|
@@ -502,6 +546,7 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
502
546
|
}])
|
|
503
547
|
};
|
|
504
548
|
}
|
|
549
|
+
|
|
505
550
|
render() {
|
|
506
551
|
let {
|
|
507
552
|
isDisabled,
|
|
@@ -541,7 +586,8 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
541
586
|
i18nKeys,
|
|
542
587
|
htmlId,
|
|
543
588
|
iconOnHover,
|
|
544
|
-
isLoading
|
|
589
|
+
isLoading,
|
|
590
|
+
dataSelectorId
|
|
545
591
|
} = this.props;
|
|
546
592
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
547
593
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -569,7 +615,9 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
569
615
|
return /*#__PURE__*/React.createElement("div", {
|
|
570
616
|
className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
|
|
571
617
|
"data-id": dataIdSlctComp,
|
|
572
|
-
"data-
|
|
618
|
+
"data-test-id": dataIdSlctComp,
|
|
619
|
+
"data-title": isDisabled ? title : null,
|
|
620
|
+
"data-selector-id": dataSelectorId
|
|
573
621
|
}, /*#__PURE__*/React.createElement("div", {
|
|
574
622
|
className: `${className ? className : ''}`,
|
|
575
623
|
onClick: isDisabled || isReadOnly ? null : this.togglePopup,
|
|
@@ -735,18 +783,18 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
735
783
|
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
|
|
736
784
|
}) : null);
|
|
737
785
|
}
|
|
786
|
+
|
|
738
787
|
}
|
|
739
788
|
GroupSelectComponent.propTypes = GroupSelect_propTypes;
|
|
740
789
|
GroupSelectComponent.defaultProps = GroupSelect_defaultProps;
|
|
741
790
|
GroupSelectComponent.displayName = 'GroupSelect';
|
|
742
791
|
let GroupSelect = Popup(GroupSelectComponent);
|
|
743
792
|
GroupSelect.defaultProps = GroupSelectComponent.defaultProps;
|
|
744
|
-
export default GroupSelect;
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
}
|
|
793
|
+
export default GroupSelect; // if (__DOCS__) {
|
|
794
|
+
// GroupSelect.docs = {
|
|
795
|
+
// componentGroup: 'Form Elements',
|
|
796
|
+
// folderName: 'Style Guide'
|
|
797
|
+
// };
|
|
798
|
+
// // eslint-disable-next-line react/forbid-foreign-prop-types
|
|
799
|
+
// GroupSelect.propTypes = GroupSelectComponent.propTypes;
|
|
800
|
+
// }
|