@zohodesk/components 1.2.21 → 1.2.23
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/.DS_Store +0 -0
- package/.cli/PropLessFiles.html +1 -1
- package/.cli/propValidation_report.html +1 -1
- package/.cli/stringContains.js +1 -0
- package/README.md +10 -0
- package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +1 -0
- package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +1 -0
- package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +1 -0
- package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +1 -0
- package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +1 -0
- package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +1 -0
- package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +1 -0
- package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +1 -0
- package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +1 -0
- package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +1 -0
- package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +1 -0
- package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +1 -0
- package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +1 -0
- package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +1 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +1 -0
- package/es/Accordion/Accordion.js +3 -7
- package/es/Accordion/AccordionItem.js +2 -4
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +3 -14
- package/es/AppContainer/AppContainer.module.css +2 -2
- package/es/Avatar/Avatar.js +11 -23
- package/es/Avatar/Avatar.module.css +18 -18
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/AvatarTeam/AvatarTeam.module.css +37 -35
- package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +2 -1
- package/es/Button/Button.js +3 -4
- package/es/Button/css/Button.module.css +70 -70
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/Buttongroup.module.css +15 -13
- package/es/Card/Card.js +10 -21
- package/es/CheckBox/CheckBox.js +3 -5
- package/es/CheckBox/CheckBox.module.css +16 -16
- package/es/DateTime/CalendarView.js +20 -32
- package/es/DateTime/DateTime.js +6 -69
- package/es/DateTime/DateTime.module.css +40 -40
- package/es/DateTime/DateTimePopupFooter.js +1 -4
- package/es/DateTime/DateTimePopupHeader.js +2 -8
- package/es/DateTime/DateWidget.js +35 -98
- package/es/DateTime/DateWidget.module.css +5 -5
- package/es/DateTime/DaysRow.js +1 -4
- package/es/DateTime/Time.js +1 -10
- package/es/DateTime/YearView.js +4 -28
- package/es/DateTime/YearView.module.css +15 -15
- package/es/DateTime/common.js +0 -3
- package/es/DateTime/constants.js +0 -1
- package/es/DateTime/dateFormatUtils/dateFormat.js +30 -65
- package/es/DateTime/dateFormatUtils/dateFormats.js +1 -0
- package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
- package/es/DateTime/dateFormatUtils/index.js +1 -31
- package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
- package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
- package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
- package/es/DateTime/objectUtils.js +20 -14
- package/es/DateTime/typeChecker.js +0 -3
- package/es/DateTime/validator.js +6 -58
- package/es/DropBox/DropBox.js +2 -6
- package/es/DropBox/DropBoxElement/DropBoxElement.js +2 -8
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -73
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +3 -5
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +0 -3
- package/es/DropBox/css/DropBox.module.css +6 -6
- package/es/DropBox/props/defaultProps.js +2 -1
- package/es/DropBox/props/propTypes.js +2 -1
- package/es/DropDown/DropDown.js +1 -7
- package/es/DropDown/DropDown.module.css +2 -2
- package/es/DropDown/DropDownHeading.js +5 -4
- package/es/DropDown/DropDownHeading.module.css +6 -6
- package/es/DropDown/DropDownItem.js +0 -6
- package/es/DropDown/DropDownItem.module.css +12 -12
- package/es/DropDown/DropDownSearch.js +0 -4
- package/es/DropDown/DropDownSearch.module.css +3 -3
- package/es/DropDown/DropDownSeparator.js +0 -1
- package/es/DropDown/DropDownSeparator.module.css +2 -2
- package/es/DropDown/props/propTypes.js +2 -1
- package/es/Heading/Heading.js +3 -2
- package/es/Heading/Heading.module.css +2 -2
- package/es/Label/Label.js +3 -2
- package/es/Label/Label.module.css +5 -5
- package/es/Label/__tests__/Label.spec.js +2 -1
- package/es/Layout/Box.js +2 -15
- package/es/Layout/Container.js +3 -14
- package/es/Layout/Layout.module.css +15 -15
- package/es/Layout/index.js +2 -1
- package/es/Layout/utils.js +0 -1
- package/es/ListItem/ListContainer.js +3 -8
- package/es/ListItem/ListItem.js +3 -9
- package/es/ListItem/ListItem.module.css +38 -27
- package/es/ListItem/ListItemWithAvatar.js +3 -9
- package/es/ListItem/ListItemWithCheckBox.js +2 -7
- package/es/ListItem/ListItemWithIcon.js +3 -8
- package/es/ListItem/ListItemWithRadio.js +3 -7
- package/es/Modal/Modal.js +11 -28
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +13 -89
- package/es/MultiSelect/AdvancedMultiSelect.js +9 -32
- package/es/MultiSelect/EmptyState.js +0 -2
- package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
- package/es/MultiSelect/MultiSelect.js +30 -99
- package/es/MultiSelect/MultiSelect.module.css +31 -31
- package/es/MultiSelect/MultiSelectHeader.js +0 -3
- package/es/MultiSelect/MultiSelectWithAvatar.js +3 -10
- package/es/MultiSelect/SelectedOptions.js +3 -6
- package/es/MultiSelect/SelectedOptions.module.css +5 -5
- package/es/MultiSelect/Suggestions.js +3 -7
- package/es/MultiSelect/props/propTypes.js +2 -2
- package/es/PopOver/PopOver.js +0 -16
- package/es/Popup/Popup.js +24 -77
- package/es/Popup/viewPort.js +4 -16
- package/es/Provider/IdProvider.js +5 -10
- package/es/Provider/LibraryContext.js +4 -6
- package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
- package/es/Provider/ZindexProvider.js +2 -9
- package/es/Radio/Radio.js +0 -3
- package/es/Radio/Radio.module.css +9 -9
- package/es/Responsive/CustomResponsive.js +18 -30
- package/es/Responsive/RefWrapper.js +7 -6
- package/es/Responsive/ResizeComponent.js +25 -35
- package/es/Responsive/ResizeObserver.js +6 -26
- package/es/Responsive/Responsive.js +20 -34
- package/es/Responsive/index.js +3 -1
- package/es/Responsive/sizeObservers.js +7 -28
- package/es/Responsive/utils/index.js +5 -7
- package/es/Responsive/utils/shallowCompare.js +2 -7
- package/es/Responsive/windowResizeObserver.js +0 -7
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +0 -4
- package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/es/ResponsiveDropBox/props/propTypes.js +2 -1
- package/es/Ribbon/Ribbon.js +2 -3
- package/es/Ribbon/Ribbon.module.css +48 -45
- package/es/RippleEffect/RippleEffect.js +3 -1
- package/es/Select/GroupSelect.js +14 -58
- package/es/Select/Select.js +34 -80
- package/es/Select/Select.module.css +23 -23
- package/es/Select/SelectWithAvatar.js +4 -17
- package/es/Select/SelectWithIcon.js +5 -46
- package/es/Select/props/propTypes.js +2 -2
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/Stencils.module.css +11 -11
- package/es/Switch/Switch.js +3 -5
- package/es/Switch/Switch.module.css +23 -23
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/Tab.module.css +14 -14
- package/es/Tab/TabContent.js +0 -1
- package/es/Tab/TabContentWrapper.js +8 -6
- package/es/Tab/TabWrapper.js +2 -5
- package/es/Tab/Tabs.js +7 -54
- package/es/Tab/Tabs.module.css +22 -22
- package/es/Tab/props/defaultProps.js +2 -1
- package/es/Tab/props/propTypes.js +3 -1
- package/es/Tag/Tag.js +3 -6
- package/es/Tag/Tag.module.css +26 -25
- package/es/TextBox/TextBox.js +3 -16
- package/es/TextBox/TextBox.module.css +10 -10
- package/es/TextBoxIcon/TextBoxIcon.js +2 -9
- package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/es/TextBoxIcon/props/propTypes.js +2 -1
- package/es/Textarea/Textarea.js +3 -12
- package/es/Textarea/Textarea.module.css +22 -22
- package/es/Tooltip/Tooltip.js +14 -58
- package/es/Tooltip/Tooltip.module.css +5 -9
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +2 -3
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -7
- package/es/common/animation.module.css +8 -8
- package/es/common/avatarsizes.module.css +16 -16
- package/es/common/basicReset.module.css +3 -3
- package/es/common/common.module.css +24 -24
- package/es/common/customscroll.module.css +2 -12
- package/es/deprecated/PortalLayer/PortalLayer.js +20 -25
- package/es/semantic/Button/Button.js +2 -3
- package/es/semantic/Button/semanticButton.module.css +1 -1
- package/es/utils/Common.js +9 -54
- package/es/utils/ContextOptimizer.js +5 -4
- package/es/utils/constructFullName.js +0 -2
- package/es/utils/datetime/common.js +5 -16
- package/es/utils/debounce.js +1 -5
- package/es/utils/dropDownUtils.js +11 -68
- package/es/utils/getInitial.js +0 -4
- package/es/utils/shallowEqual.js +0 -6
- package/es/v1/Accordion/Accordion.js +3 -4
- package/es/v1/Accordion/AccordionItem.js +2 -4
- package/es/v1/Animation/Animation.js +3 -1
- package/es/v1/AppContainer/AppContainer.js +3 -9
- package/es/v1/Avatar/Avatar.js +6 -18
- package/es/v1/AvatarTeam/AvatarTeam.js +0 -1
- package/es/v1/Button/Button.js +3 -3
- package/es/v1/Card/Card.js +8 -16
- package/es/v1/CheckBox/CheckBox.js +3 -6
- package/es/v1/DateTime/CalendarView.js +20 -32
- package/es/v1/DateTime/DateTime.js +6 -69
- package/es/v1/DateTime/DateTimePopupFooter.js +1 -4
- package/es/v1/DateTime/DateTimePopupHeader.js +2 -8
- package/es/v1/DateTime/DateWidget.js +35 -98
- package/es/v1/DateTime/DaysRow.js +1 -4
- package/es/v1/DateTime/Time.js +1 -10
- package/es/v1/DateTime/YearView.js +4 -28
- package/es/v1/DropBox/DropBox.js +2 -6
- package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +2 -8
- package/es/v1/DropBox/props/defaultProps.js +2 -1
- package/es/v1/DropBox/props/propTypes.js +2 -1
- package/es/v1/DropDown/DropDown.js +0 -3
- package/es/v1/DropDown/DropDownHeading.js +2 -2
- package/es/v1/DropDown/DropDownItem.js +0 -5
- package/es/v1/DropDown/DropDownSearch.js +2 -3
- package/es/v1/DropDown/props/propTypes.js +2 -1
- package/es/v1/Heading/Heading.js +3 -1
- package/es/v1/Layout/Box.js +2 -15
- package/es/v1/Layout/Container.js +3 -14
- package/es/v1/ListItem/ListContainer.js +3 -8
- package/es/v1/ListItem/ListItem.js +3 -10
- package/es/v1/ListItem/ListItemWithAvatar.js +1 -9
- package/es/v1/ListItem/ListItemWithCheckBox.js +2 -8
- package/es/v1/ListItem/ListItemWithIcon.js +3 -9
- package/es/v1/ListItem/ListItemWithRadio.js +3 -8
- package/es/v1/Modal/Modal.js +1 -17
- package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +15 -90
- package/es/v1/MultiSelect/AdvancedMultiSelect.js +9 -32
- package/es/v1/MultiSelect/EmptyState.js +0 -2
- package/es/v1/MultiSelect/MultiSelect.js +31 -100
- package/es/v1/MultiSelect/MultiSelectHeader.js +0 -3
- package/es/v1/MultiSelect/MultiSelectWithAvatar.js +3 -11
- package/es/v1/MultiSelect/SelectedOptions.js +3 -6
- package/es/v1/MultiSelect/Suggestions.js +3 -7
- package/es/v1/MultiSelect/props/propTypes.js +2 -2
- package/es/v1/PopOver/PopOver.js +0 -11
- package/es/v1/Popup/Popup.js +24 -77
- package/es/v1/Provider/IdProvider.js +5 -10
- package/es/v1/Provider/LibraryContext.js +4 -6
- package/es/v1/Provider/NumberGenerator/NumberGenerator.js +7 -21
- package/es/v1/Provider/ZindexProvider.js +2 -9
- package/es/v1/Radio/Radio.js +2 -5
- package/es/v1/Responsive/CustomResponsive.js +18 -30
- package/es/v1/Responsive/RefWrapper.js +7 -6
- package/es/v1/Responsive/ResizeComponent.js +25 -35
- package/es/v1/Responsive/ResizeObserver.js +6 -26
- package/es/v1/Responsive/Responsive.js +20 -34
- package/es/v1/Responsive/index.js +3 -1
- package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +0 -1
- package/es/v1/ResponsiveDropBox/props/propTypes.js +2 -1
- package/es/v1/Select/GroupSelect.js +14 -58
- package/es/v1/Select/Select.js +38 -82
- package/es/v1/Select/SelectWithAvatar.js +4 -17
- package/es/v1/Select/SelectWithIcon.js +5 -46
- package/es/v1/Select/props/propTypes.js +2 -2
- package/es/v1/Stencils/Stencils.js +0 -2
- package/es/v1/Switch/Switch.js +3 -6
- package/es/v1/Tab/Tab.js +3 -3
- package/es/v1/Tab/TabContent.js +0 -1
- package/es/v1/Tab/TabContentWrapper.js +8 -6
- package/es/v1/Tab/TabWrapper.js +2 -5
- package/es/v1/Tab/Tabs.js +9 -54
- package/es/v1/Tab/props/defaultProps.js +2 -1
- package/es/v1/Tab/props/propTypes.js +3 -1
- package/es/v1/Tab/v1Tab.module.css +14 -14
- package/es/v1/Tab/v1Tabs.module.css +22 -22
- package/es/v1/Tag/Tag.js +1 -5
- package/es/v1/TextBox/TextBox.js +0 -14
- package/es/v1/TextBoxIcon/TextBoxIcon.js +2 -6
- package/es/v1/TextBoxIcon/props/propTypes.js +2 -1
- package/es/v1/Textarea/Textarea.js +3 -10
- package/es/v1/Tooltip/Tooltip.js +14 -58
- package/es/v1/Typography/Typography.js +0 -2
- package/es/v1/Typography/css/Typography.module.css +31 -31
- package/es/v1/Typography/css/cssJSLogic.js +0 -3
- package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +2 -1
- package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +4 -5
- package/es/v1/semantic/Button/Button.js +2 -1
- package/lib/Accordion/Accordion.js +18 -42
- package/lib/Accordion/AccordionItem.js +18 -40
- package/lib/Accordion/index.js +0 -3
- package/lib/Accordion/props/propTypes.js +0 -3
- package/lib/Animation/Animation.js +18 -38
- package/lib/Animation/props/propTypes.js +0 -3
- package/lib/AppContainer/AppContainer.js +20 -58
- package/lib/AppContainer/AppContainer.module.css +2 -2
- package/lib/AppContainer/props/propTypes.js +0 -3
- package/lib/Avatar/Avatar.js +38 -78
- package/lib/Avatar/Avatar.module.css +18 -18
- package/lib/Avatar/__tests__/Avatar.spec.js +71 -95
- package/lib/Avatar/props/propTypes.js +0 -3
- package/lib/AvatarTeam/AvatarTeam.js +30 -52
- package/lib/AvatarTeam/AvatarTeam.module.css +37 -35
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +61 -77
- package/lib/AvatarTeam/props/propTypes.js +0 -3
- package/lib/Button/Button.js +22 -33
- package/lib/Button/__tests__/Button.spec.js +48 -65
- package/lib/Button/css/Button.module.css +70 -70
- package/lib/Button/css/cssJSLogic.js +17 -18
- package/lib/Button/index.js +0 -3
- package/lib/Button/props/defaultProps.js +0 -2
- package/lib/Button/props/propTypes.js +0 -3
- package/lib/Buttongroup/Buttongroup.js +12 -32
- package/lib/Buttongroup/Buttongroup.module.css +15 -13
- package/lib/Buttongroup/__tests__/Buttongroup.spec.js +10 -18
- package/lib/Buttongroup/props/propTypes.js +0 -3
- package/lib/Card/Card.js +46 -102
- package/lib/Card/index.js +0 -4
- package/lib/Card/props/propTypes.js +0 -3
- package/lib/CheckBox/CheckBox.js +47 -71
- package/lib/CheckBox/CheckBox.module.css +16 -16
- package/lib/CheckBox/props/propTypes.js +0 -3
- package/lib/DateTime/CalendarView.js +42 -82
- package/lib/DateTime/DateTime.js +156 -244
- package/lib/DateTime/DateTime.module.css +40 -40
- package/lib/DateTime/DateTimePopupFooter.js +8 -33
- package/lib/DateTime/DateTimePopupHeader.js +17 -49
- package/lib/DateTime/DateWidget.js +249 -350
- package/lib/DateTime/DateWidget.module.css +5 -5
- package/lib/DateTime/DaysRow.js +5 -28
- package/lib/DateTime/Time.js +32 -75
- package/lib/DateTime/YearView.js +27 -76
- package/lib/DateTime/YearView.module.css +15 -15
- package/lib/DateTime/common.js +0 -6
- package/lib/DateTime/constants.js +0 -1
- package/lib/DateTime/dateFormatUtils/dateFormat.js +122 -187
- package/lib/DateTime/dateFormatUtils/dateFormats.js +1 -0
- package/lib/DateTime/dateFormatUtils/dayChange.js +7 -15
- package/lib/DateTime/dateFormatUtils/index.js +16 -73
- package/lib/DateTime/dateFormatUtils/monthChange.js +9 -20
- package/lib/DateTime/dateFormatUtils/timeChange.js +22 -54
- package/lib/DateTime/dateFormatUtils/yearChange.js +11 -23
- package/lib/DateTime/index.js +0 -2
- package/lib/DateTime/objectUtils.js +20 -24
- package/lib/DateTime/props/propTypes.js +1 -11
- package/lib/DateTime/typeChecker.js +0 -4
- package/lib/DateTime/validator.js +10 -73
- package/lib/DropBox/DropBox.js +21 -45
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +40 -60
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -73
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +34 -42
- package/lib/DropBox/DropBoxElement/props/propTypes.js +0 -3
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +9 -14
- package/lib/DropBox/css/DropBox.module.css +6 -6
- package/lib/DropBox/css/cssJSLogic.js +1 -3
- package/lib/DropBox/props/defaultProps.js +4 -8
- package/lib/DropBox/props/propTypes.js +4 -10
- package/lib/DropDown/DropDown.js +5 -51
- package/lib/DropDown/DropDown.module.css +2 -2
- package/lib/DropDown/DropDownHeading.js +20 -39
- package/lib/DropDown/DropDownHeading.module.css +6 -6
- package/lib/DropDown/DropDownItem.js +20 -42
- package/lib/DropDown/DropDownItem.module.css +12 -12
- package/lib/DropDown/DropDownSearch.js +17 -40
- package/lib/DropDown/DropDownSearch.module.css +3 -3
- package/lib/DropDown/DropDownSeparator.js +4 -24
- package/lib/DropDown/DropDownSeparator.module.css +2 -2
- package/lib/DropDown/index.js +0 -9
- package/lib/DropDown/props/propTypes.js +4 -10
- package/lib/Heading/Heading.js +15 -37
- package/lib/Heading/Heading.module.css +2 -2
- package/lib/Heading/props/propTypes.js +0 -3
- package/lib/Label/Label.js +21 -41
- package/lib/Label/Label.module.css +5 -5
- package/lib/Label/__tests__/Label.spec.js +34 -48
- package/lib/Label/props/propTypes.js +0 -3
- package/lib/Layout/Box.js +15 -35
- package/lib/Layout/Container.js +14 -33
- package/lib/Layout/Layout.module.css +15 -15
- package/lib/Layout/index.js +0 -3
- package/lib/Layout/props/propTypes.js +0 -3
- package/lib/Layout/utils.js +0 -11
- package/lib/ListItem/ListContainer.js +30 -55
- package/lib/ListItem/ListItem.js +45 -74
- package/lib/ListItem/ListItem.module.css +38 -27
- package/lib/ListItem/ListItemWithAvatar.js +48 -80
- package/lib/ListItem/ListItemWithCheckBox.js +40 -70
- package/lib/ListItem/ListItemWithIcon.js +44 -73
- package/lib/ListItem/ListItemWithRadio.js +42 -71
- package/lib/ListItem/index.js +0 -7
- package/lib/ListItem/props/propTypes.js +4 -6
- package/lib/Modal/Modal.js +10 -45
- package/lib/Modal/props/propTypes.js +0 -3
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +166 -293
- package/lib/MultiSelect/AdvancedMultiSelect.js +125 -202
- package/lib/MultiSelect/EmptyState.js +24 -45
- package/lib/MultiSelect/MobileHeader/MobileHeader.js +5 -14
- package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
- package/lib/MultiSelect/MobileHeader/props/propTypes.js +0 -3
- package/lib/MultiSelect/MultiSelect.js +214 -333
- package/lib/MultiSelect/MultiSelect.module.css +31 -31
- package/lib/MultiSelect/MultiSelectHeader.js +7 -29
- package/lib/MultiSelect/MultiSelectWithAvatar.js +43 -85
- package/lib/MultiSelect/SelectedOptions.js +17 -43
- package/lib/MultiSelect/SelectedOptions.module.css +5 -5
- package/lib/MultiSelect/Suggestions.js +32 -64
- package/lib/MultiSelect/index.js +0 -5
- package/lib/MultiSelect/props/defaultProps.js +0 -2
- package/lib/MultiSelect/props/propTypes.js +4 -14
- package/lib/PopOver/PopOver.js +47 -94
- package/lib/PopOver/index.js +0 -4
- package/lib/PopOver/props/propTypes.js +0 -3
- package/lib/Popup/Popup.js +81 -158
- package/lib/Popup/viewPort.js +14 -28
- package/lib/Provider/AvatarSize.js +0 -4
- package/lib/Provider/Config.js +0 -2
- package/lib/Provider/CssProvider.js +0 -4
- package/lib/Provider/IdProvider.js +6 -17
- package/lib/Provider/LibraryContext.js +15 -35
- package/lib/Provider/LibraryContextInit.js +0 -4
- package/lib/Provider/NumberGenerator/NumberGenerator.js +15 -44
- package/lib/Provider/ZindexProvider.js +3 -15
- package/lib/Provider/index.js +0 -5
- package/lib/Radio/Radio.js +36 -60
- package/lib/Radio/Radio.module.css +9 -9
- package/lib/Radio/__tests__/Radio.spec.js +103 -134
- package/lib/Radio/props/propTypes.js +0 -3
- package/lib/Responsive/CustomResponsive.js +29 -73
- package/lib/Responsive/RefWrapper.js +11 -17
- package/lib/Responsive/ResizeComponent.js +36 -62
- package/lib/Responsive/ResizeObserver.js +10 -24
- package/lib/Responsive/Responsive.js +30 -80
- package/lib/Responsive/index.js +0 -4
- package/lib/Responsive/props/propTypes.js +0 -3
- package/lib/Responsive/sizeObservers.js +17 -53
- package/lib/Responsive/utils/index.js +3 -11
- package/lib/Responsive/utils/shallowCompare.js +2 -11
- package/lib/Responsive/windowResizeObserver.js +0 -8
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +17 -45
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
- package/lib/ResponsiveDropBox/props/propTypes.js +4 -9
- package/lib/Ribbon/Ribbon.js +13 -33
- package/lib/Ribbon/Ribbon.module.css +48 -45
- package/lib/Ribbon/__tests__/Ribbon.spec.js +14 -24
- package/lib/Ribbon/props/propTypes.js +0 -3
- package/lib/RippleEffect/RippleEffect.js +10 -18
- package/lib/RippleEffect/__tests__/RippleEffect.spec.js +22 -34
- package/lib/RippleEffect/props/propTypes.js +0 -3
- package/lib/Select/GroupSelect.js +130 -229
- package/lib/Select/Select.js +212 -296
- package/lib/Select/Select.module.css +23 -23
- package/lib/Select/SelectWithAvatar.js +56 -102
- package/lib/Select/SelectWithIcon.js +76 -131
- package/lib/Select/index.js +0 -5
- package/lib/Select/props/defaultProps.js +4 -5
- package/lib/Select/props/propTypes.js +4 -10
- package/lib/Stencils/Stencils.js +10 -29
- package/lib/Stencils/Stencils.module.css +11 -11
- package/lib/Stencils/__tests__/Stencils.spec.js +13 -22
- package/lib/Stencils/props/propTypes.js +0 -3
- package/lib/Switch/Switch.js +34 -57
- package/lib/Switch/Switch.module.css +23 -23
- package/lib/Switch/__tests__/Switch.spec.js +72 -91
- package/lib/Switch/props/propTypes.js +0 -3
- package/lib/Tab/Tab.js +27 -40
- package/lib/Tab/Tab.module.css +14 -14
- package/lib/Tab/TabContent.js +5 -12
- package/lib/Tab/TabContentWrapper.js +13 -16
- package/lib/Tab/TabWrapper.js +19 -37
- package/lib/Tab/Tabs.js +91 -171
- package/lib/Tab/Tabs.module.css +22 -22
- package/lib/Tab/index.js +0 -6
- package/lib/Tab/props/defaultProps.js +2 -1
- package/lib/Tab/props/propTypes.js +3 -4
- package/lib/Tag/Tag.js +43 -72
- package/lib/Tag/Tag.module.css +26 -25
- package/lib/Tag/props/propTypes.js +0 -3
- package/lib/TextBox/TextBox.js +60 -86
- package/lib/TextBox/TextBox.module.css +10 -10
- package/lib/TextBox/props/propTypes.js +4 -6
- package/lib/TextBoxIcon/TextBoxIcon.js +53 -80
- package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
- package/lib/TextBoxIcon/props/propTypes.js +4 -9
- package/lib/Textarea/Textarea.js +29 -54
- package/lib/Textarea/Textarea.module.css +22 -22
- package/lib/Textarea/props/propTypes.js +0 -3
- package/lib/Tooltip/Tooltip.js +31 -94
- package/lib/Tooltip/Tooltip.module.css +5 -9
- package/lib/Tooltip/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +16 -40
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +25 -53
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/index.js +0 -3
- package/lib/common/animation.module.css +8 -8
- package/lib/common/avatarsizes.module.css +16 -16
- package/lib/common/basicReset.module.css +3 -3
- package/lib/common/common.module.css +24 -24
- package/lib/common/customscroll.module.css +2 -12
- package/lib/css.js +0 -40
- package/lib/deprecated/PortalLayer/PortalLayer.js +23 -46
- package/lib/deprecated/PortalLayer/props/propTypes.js +0 -3
- package/lib/index.js +0 -58
- package/lib/semantic/Button/Button.js +22 -42
- package/lib/semantic/Button/props/propTypes.js +0 -3
- package/lib/semantic/Button/semanticButton.module.css +1 -1
- package/lib/semantic/index.js +0 -2
- package/lib/utils/Common.js +18 -111
- package/lib/utils/ContextOptimizer.js +10 -16
- package/lib/utils/constructFullName.js +4 -13
- package/lib/utils/datetime/common.js +5 -34
- package/lib/utils/debounce.js +1 -6
- package/lib/utils/dropDownUtils.js +59 -175
- package/lib/utils/dummyFunction.js +0 -2
- package/lib/utils/getHTMLFontSize.js +0 -1
- package/lib/utils/getInitial.js +0 -6
- package/lib/utils/index.js +0 -1
- package/lib/utils/scrollTo.js +0 -2
- package/lib/utils/shallowEqual.js +0 -8
- package/lib/v1/Accordion/Accordion.js +19 -38
- package/lib/v1/Accordion/AccordionItem.js +13 -23
- package/lib/v1/Accordion/index.js +0 -3
- package/lib/v1/Accordion/props/propTypes.js +0 -3
- package/lib/v1/Animation/Animation.js +14 -20
- package/lib/v1/Animation/props/propTypes.js +0 -3
- package/lib/v1/AppContainer/AppContainer.js +17 -46
- package/lib/v1/AppContainer/props/propTypes.js +0 -3
- package/lib/v1/Avatar/Avatar.js +32 -68
- package/lib/v1/Avatar/props/propTypes.js +0 -3
- package/lib/v1/AvatarTeam/AvatarTeam.js +24 -32
- package/lib/v1/AvatarTeam/props/propTypes.js +0 -3
- package/lib/v1/Button/Button.js +22 -32
- package/lib/v1/Button/props/defaultProps.js +0 -2
- package/lib/v1/Button/props/propTypes.js +0 -3
- package/lib/v1/Buttongroup/Buttongroup.js +5 -13
- package/lib/v1/Buttongroup/props/propTypes.js +0 -3
- package/lib/v1/Card/Card.js +44 -78
- package/lib/v1/Card/index.js +0 -4
- package/lib/v1/Card/props/propTypes.js +0 -3
- package/lib/v1/CheckBox/CheckBox.js +41 -52
- package/lib/v1/CheckBox/props/propTypes.js +0 -3
- package/lib/v1/DateTime/CalendarView.js +48 -89
- package/lib/v1/DateTime/DateTime.js +158 -246
- package/lib/v1/DateTime/DateTimePopupFooter.js +8 -33
- package/lib/v1/DateTime/DateTimePopupHeader.js +17 -49
- package/lib/v1/DateTime/DateWidget.js +251 -352
- package/lib/v1/DateTime/DaysRow.js +5 -28
- package/lib/v1/DateTime/Time.js +32 -75
- package/lib/v1/DateTime/YearView.js +27 -76
- package/lib/v1/DateTime/index.js +0 -2
- package/lib/v1/DateTime/props/propTypes.js +1 -11
- package/lib/v1/DropBox/DropBox.js +21 -45
- package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +40 -60
- package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +0 -3
- package/lib/v1/DropBox/props/defaultProps.js +4 -8
- package/lib/v1/DropBox/props/propTypes.js +4 -10
- package/lib/v1/DropDown/DropDown.js +3 -23
- package/lib/v1/DropDown/DropDownHeading.js +13 -20
- package/lib/v1/DropDown/DropDownItem.js +11 -26
- package/lib/v1/DropDown/DropDownSearch.js +16 -28
- package/lib/v1/DropDown/DropDownSeparator.js +1 -7
- package/lib/v1/DropDown/props/propTypes.js +4 -10
- package/lib/v1/Heading/Heading.js +14 -19
- package/lib/v1/Heading/props/propTypes.js +0 -3
- package/lib/v1/Label/Label.js +14 -22
- package/lib/v1/Label/props/propTypes.js +0 -3
- package/lib/v1/Layout/Box.js +15 -35
- package/lib/v1/Layout/Container.js +14 -33
- package/lib/v1/Layout/index.js +0 -3
- package/lib/v1/Layout/props/propTypes.js +0 -3
- package/lib/v1/ListItem/ListContainer.js +30 -55
- package/lib/v1/ListItem/ListItem.js +38 -53
- package/lib/v1/ListItem/ListItemWithAvatar.js +39 -62
- package/lib/v1/ListItem/ListItemWithCheckBox.js +34 -49
- package/lib/v1/ListItem/ListItemWithIcon.js +37 -52
- package/lib/v1/ListItem/ListItemWithRadio.js +35 -49
- package/lib/v1/ListItem/index.js +0 -7
- package/lib/v1/ListItem/props/propTypes.js +4 -6
- package/lib/v1/Modal/Modal.js +9 -46
- package/lib/v1/Modal/props/propTypes.js +0 -3
- package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +168 -294
- package/lib/v1/MultiSelect/AdvancedMultiSelect.js +125 -202
- package/lib/v1/MultiSelect/EmptyState.js +24 -45
- package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -14
- package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +0 -3
- package/lib/v1/MultiSelect/MultiSelect.js +216 -335
- package/lib/v1/MultiSelect/MultiSelectHeader.js +7 -29
- package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +43 -86
- package/lib/v1/MultiSelect/SelectedOptions.js +17 -43
- package/lib/v1/MultiSelect/Suggestions.js +32 -64
- package/lib/v1/MultiSelect/index.js +0 -5
- package/lib/v1/MultiSelect/props/defaultProps.js +0 -2
- package/lib/v1/MultiSelect/props/propTypes.js +4 -14
- package/lib/v1/PopOver/PopOver.js +40 -71
- package/lib/v1/PopOver/props/propTypes.js +0 -3
- package/lib/v1/Popup/Popup.js +81 -158
- package/lib/v1/Provider/AvatarSize.js +0 -4
- package/lib/v1/Provider/Config.js +0 -2
- package/lib/v1/Provider/CssProvider.js +0 -4
- package/lib/v1/Provider/IdProvider.js +6 -17
- package/lib/v1/Provider/LibraryContext.js +15 -35
- package/lib/v1/Provider/LibraryContextInit.js +0 -4
- package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +15 -44
- package/lib/v1/Provider/ZindexProvider.js +3 -15
- package/lib/v1/Provider/index.js +0 -5
- package/lib/v1/Radio/Radio.js +32 -42
- package/lib/v1/Radio/props/propTypes.js +0 -3
- package/lib/v1/Responsive/CustomResponsive.js +29 -73
- package/lib/v1/Responsive/RefWrapper.js +11 -17
- package/lib/v1/Responsive/ResizeComponent.js +36 -62
- package/lib/v1/Responsive/ResizeObserver.js +10 -24
- package/lib/v1/Responsive/Responsive.js +30 -80
- package/lib/v1/Responsive/index.js +0 -4
- package/lib/v1/Responsive/props/propTypes.js +0 -3
- package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +13 -27
- package/lib/v1/ResponsiveDropBox/props/propTypes.js +4 -9
- package/lib/v1/Ribbon/Ribbon.js +7 -14
- package/lib/v1/Ribbon/props/propTypes.js +0 -3
- package/lib/v1/RippleEffect/RippleEffect.js +7 -17
- package/lib/v1/RippleEffect/props/propTypes.js +0 -3
- package/lib/v1/Select/GroupSelect.js +130 -229
- package/lib/v1/Select/Select.js +215 -298
- package/lib/v1/Select/SelectWithAvatar.js +56 -102
- package/lib/v1/Select/SelectWithIcon.js +76 -131
- package/lib/v1/Select/index.js +0 -5
- package/lib/v1/Select/props/defaultProps.js +4 -5
- package/lib/v1/Select/props/propTypes.js +4 -10
- package/lib/v1/Stencils/Stencils.js +3 -13
- package/lib/v1/Stencils/props/propTypes.js +0 -3
- package/lib/v1/Switch/Switch.js +25 -38
- package/lib/v1/Switch/props/propTypes.js +0 -3
- package/lib/v1/Tab/Tab.js +27 -40
- package/lib/v1/Tab/TabContent.js +5 -12
- package/lib/v1/Tab/TabContentWrapper.js +13 -16
- package/lib/v1/Tab/TabWrapper.js +19 -37
- package/lib/v1/Tab/Tabs.js +83 -170
- package/lib/v1/Tab/index.js +0 -6
- package/lib/v1/Tab/props/defaultProps.js +2 -1
- package/lib/v1/Tab/props/propTypes.js +3 -4
- package/lib/v1/Tab/v1Tab.module.css +14 -14
- package/lib/v1/Tab/v1Tabs.module.css +22 -22
- package/lib/v1/Tag/Tag.js +32 -50
- package/lib/v1/Tag/props/propTypes.js +0 -3
- package/lib/v1/TextBox/TextBox.js +47 -70
- package/lib/v1/TextBox/props/propTypes.js +4 -6
- package/lib/v1/TextBoxIcon/TextBoxIcon.js +55 -80
- package/lib/v1/TextBoxIcon/props/propTypes.js +4 -9
- package/lib/v1/Textarea/Textarea.js +28 -45
- package/lib/v1/Textarea/props/propTypes.js +0 -3
- package/lib/v1/Tooltip/Tooltip.js +31 -94
- package/lib/v1/Tooltip/props/propTypes.js +0 -3
- package/lib/v1/Typography/Typography.js +15 -26
- package/lib/v1/Typography/css/Typography.module.css +31 -31
- package/lib/v1/Typography/css/cssJSLogic.js +20 -25
- package/lib/v1/Typography/props/propTypes.js +0 -3
- package/lib/v1/Typography/utils/index.js +0 -1
- package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +12 -25
- package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +0 -3
- package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +22 -38
- package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +0 -3
- package/lib/v1/semantic/Button/Button.js +18 -24
- package/lib/v1/semantic/Button/props/propTypes.js +0 -3
- package/lib/v1/semantic/index.js +0 -2
- package/package.json +13 -12
- package/propValidationArg.json +2 -2
- package/result.json +1 -1
- /package/.cli/{AppearanceThemeValidationExcludeFiles.js → ThemeValidationExcludeFiles.js} +0 -0
|
@@ -3,8 +3,8 @@ import React from 'react';
|
|
|
3
3
|
import { MultiSelect_propTypes } from './props/propTypes';
|
|
4
4
|
import { MultiSelect_defaultProps } from './props/defaultProps';
|
|
5
5
|
import { defaultProps as MobileHeader_defaultProps } from './MobileHeader/props/defaultProps';
|
|
6
|
-
/**** Components ****/
|
|
7
6
|
|
|
7
|
+
/**** Components ****/
|
|
8
8
|
import Popup from '../Popup/Popup';
|
|
9
9
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
10
10
|
import { Container, Box } from '../Layout';
|
|
@@ -20,18 +20,16 @@ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
|
20
20
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
21
21
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
22
22
|
/**** Icons ****/
|
|
23
|
-
|
|
24
23
|
import { Icon } from '@zohodesk/icons';
|
|
25
24
|
/**** CSS ****/
|
|
26
|
-
|
|
27
25
|
import style from '../../MultiSelect/MultiSelect.module.css';
|
|
28
|
-
/**** Methods ****/
|
|
29
26
|
|
|
27
|
+
/**** Methods ****/
|
|
30
28
|
import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../../utils/Common.js';
|
|
31
29
|
import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../../utils/dropDownUtils';
|
|
32
30
|
import { getLibraryConfig } from '../../Provider/Config';
|
|
33
|
-
/* eslint-disable react/forbid-component-props */
|
|
34
31
|
|
|
32
|
+
/* eslint-disable react/forbid-component-props */
|
|
35
33
|
/* eslint-disable react/no-unused-prop-types */
|
|
36
34
|
|
|
37
35
|
const dummyArray = [];
|
|
@@ -42,8 +40,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
42
40
|
this.getFilterSuggestions = makeGetFilterSuggestions();
|
|
43
41
|
this.formatOptions = makeFormatOptions();
|
|
44
42
|
this.getSelectedOptions = makeGetSelectedOptions();
|
|
45
|
-
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
43
|
+
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
46
44
|
|
|
45
|
+
//Use in AdvancedMultiSelect component
|
|
47
46
|
this.objectConcat = makeObjectConcat();
|
|
48
47
|
this.formatSelectedOptions = makeFormatOptions();
|
|
49
48
|
const {
|
|
@@ -81,11 +80,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
81
80
|
this.handleScroll = this.handleScroll.bind(this);
|
|
82
81
|
this.handleScrollFuncCall = debounce(this.handleScrollFuncCall.bind(this), 500);
|
|
83
82
|
}
|
|
84
|
-
|
|
85
83
|
componentDidMount() {
|
|
86
84
|
// let { suggestionContainer } = this;
|
|
87
85
|
this._isMounted = true;
|
|
88
|
-
this.handleExposedPublicMethods();
|
|
86
|
+
this.handleExposedPublicMethods();
|
|
87
|
+
// suggestionContainer &&
|
|
89
88
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
90
89
|
}
|
|
91
90
|
|
|
@@ -98,7 +97,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
98
97
|
prefixText
|
|
99
98
|
} = nextProps;
|
|
100
99
|
const oldProps = this.props;
|
|
101
|
-
|
|
102
100
|
if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
|
|
103
101
|
) {
|
|
104
102
|
const {
|
|
@@ -137,7 +135,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
137
135
|
});
|
|
138
136
|
}
|
|
139
137
|
}
|
|
140
|
-
|
|
141
138
|
componentDidUpdate(prevProps, prevState) {
|
|
142
139
|
const {
|
|
143
140
|
suggestionContainer,
|
|
@@ -156,11 +153,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
156
153
|
onDropBoxClose,
|
|
157
154
|
onDropBoxOpen,
|
|
158
155
|
isSearchClearOnClose
|
|
159
|
-
} = this.props;
|
|
156
|
+
} = this.props;
|
|
160
157
|
|
|
158
|
+
//handle dropbox open & close
|
|
161
159
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
162
160
|
isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
163
|
-
|
|
164
161
|
if (!isPopupOpen) {
|
|
165
162
|
this.setState({
|
|
166
163
|
hoverOption: 0
|
|
@@ -168,42 +165,41 @@ export class MultiSelectComponent extends React.Component {
|
|
|
168
165
|
isSearchClearOnClose && searchStr && this.handleSearch('');
|
|
169
166
|
onDropBoxClose && onDropBoxClose();
|
|
170
167
|
}
|
|
171
|
-
}
|
|
172
|
-
|
|
168
|
+
}
|
|
173
169
|
|
|
170
|
+
//scrollTo handling
|
|
174
171
|
const hoverId = suggestionsOrder[hoverOption] || '';
|
|
175
172
|
const selectedSuggestion = this[`suggestion_${hoverId}`];
|
|
176
173
|
const lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
|
|
177
174
|
const selectedOption = this[`selectedOption_${lastHighLightedSelectOption}`];
|
|
178
175
|
isPopupOpen && scrollTo(suggestionContainer, selectedSuggestion);
|
|
179
|
-
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
176
|
+
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
180
177
|
|
|
178
|
+
//When suggestions length less than 5, getNextOptions function call
|
|
181
179
|
const {
|
|
182
180
|
isNextOptions,
|
|
183
181
|
getNextOptions
|
|
184
|
-
} = this.props;
|
|
185
|
-
|
|
182
|
+
} = this.props;
|
|
183
|
+
// let { searchStr } = this.state;
|
|
186
184
|
const suggestions = this.handleFilterSuggestions();
|
|
187
185
|
const suggestionsLen = suggestions.length;
|
|
188
|
-
|
|
189
186
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
190
187
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
191
|
-
}
|
|
192
|
-
|
|
188
|
+
}
|
|
193
189
|
|
|
190
|
+
//Need To MultiselectNew Component
|
|
194
191
|
this.handleComponentDidUpdate(prevProps, prevState);
|
|
195
192
|
}
|
|
196
|
-
|
|
197
193
|
componentWillUnmount() {
|
|
198
194
|
// let { suggestionContainer } = this;
|
|
199
|
-
this._isMounted = false;
|
|
195
|
+
this._isMounted = false;
|
|
196
|
+
// suggestionContainer &&
|
|
200
197
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
201
198
|
}
|
|
202
199
|
|
|
203
200
|
handleComponentDidUpdate() {
|
|
204
201
|
return;
|
|
205
202
|
}
|
|
206
|
-
|
|
207
203
|
handleFormatOptions(props) {
|
|
208
204
|
const {
|
|
209
205
|
options,
|
|
@@ -221,14 +217,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
221
217
|
disabledOptions
|
|
222
218
|
});
|
|
223
219
|
}
|
|
224
|
-
|
|
225
220
|
handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
|
|
226
221
|
return this.getSelectedOptions({
|
|
227
222
|
selectedOptions,
|
|
228
223
|
normalizedFormatOptions
|
|
229
224
|
});
|
|
230
225
|
}
|
|
231
|
-
|
|
232
226
|
handleInputCick(e) {
|
|
233
227
|
const {
|
|
234
228
|
removeClose
|
|
@@ -237,7 +231,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
237
231
|
highLightedSelectOptions,
|
|
238
232
|
searchStr = ''
|
|
239
233
|
} = this.state;
|
|
240
|
-
|
|
241
234
|
if (highLightedSelectOptions.length) {
|
|
242
235
|
this.setState({
|
|
243
236
|
highLightedSelectOptions: [],
|
|
@@ -251,7 +244,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
251
244
|
this.togglePopup(e);
|
|
252
245
|
}
|
|
253
246
|
}
|
|
254
|
-
|
|
255
247
|
handleFilterSuggestions() {
|
|
256
248
|
const {
|
|
257
249
|
options = dummyArray,
|
|
@@ -275,7 +267,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
275
267
|
this.suggestionsOrder = suggestionIds;
|
|
276
268
|
return suggestions;
|
|
277
269
|
}
|
|
278
|
-
|
|
279
270
|
handleKeyDown(e) {
|
|
280
271
|
const {
|
|
281
272
|
keyCode,
|
|
@@ -300,27 +291,20 @@ export class MultiSelectComponent extends React.Component {
|
|
|
300
291
|
onKeyDown
|
|
301
292
|
} = this.props;
|
|
302
293
|
const highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
303
|
-
|
|
304
294
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
|
|
305
295
|
suggestions = this.handleFilterSuggestions();
|
|
306
296
|
}
|
|
307
|
-
|
|
308
297
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
309
298
|
onKeyDown && onKeyDown(e);
|
|
310
299
|
}
|
|
311
|
-
|
|
312
300
|
if (!isPopupOpen && keyCode === 40) {
|
|
313
301
|
//down arrow press popup open
|
|
314
302
|
e.preventDefault(); //prevent body scroll
|
|
315
|
-
|
|
316
303
|
this.togglePopup(e);
|
|
317
304
|
}
|
|
318
|
-
|
|
319
305
|
const suggestionsLen = suggestions.length;
|
|
320
|
-
|
|
321
306
|
if (suggestionsLen && isPopupOpen && keyCode === 38) {
|
|
322
307
|
//up arrow
|
|
323
|
-
|
|
324
308
|
/*if (hoverOption === 0) { //disable first to last option higlight
|
|
325
309
|
!isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
|
|
326
310
|
}*/
|
|
@@ -331,7 +315,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
331
315
|
}
|
|
332
316
|
} else if (suggestionsLen && isPopupOpen && keyCode === 40) {
|
|
333
317
|
//down arrow
|
|
334
|
-
|
|
335
318
|
/*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
|
|
336
319
|
//disable last to first option higlight
|
|
337
320
|
!isNextOptions && this.setState({ hoverOption: 0 });
|
|
@@ -359,7 +342,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
359
342
|
if (highLightedSelectOptionsLen) {
|
|
360
343
|
this.handleRemoveOption(highLightedSelectOptions);
|
|
361
344
|
} else {
|
|
362
|
-
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
345
|
+
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
346
|
+
// this.setState({
|
|
363
347
|
// highLightedSelectOptions: selectedOptions.slice(-1)
|
|
364
348
|
// });
|
|
365
349
|
}
|
|
@@ -374,7 +358,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
374
358
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
375
359
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
|
|
376
360
|
const newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
|
|
377
|
-
|
|
378
361
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
379
362
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
|
|
380
363
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -391,7 +374,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
391
374
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
|
|
392
375
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
|
|
393
376
|
const newHighLightedSelectOption = selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted - 1];
|
|
394
|
-
|
|
395
377
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
396
378
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
|
|
397
379
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -404,15 +386,14 @@ export class MultiSelectComponent extends React.Component {
|
|
|
404
386
|
});
|
|
405
387
|
}
|
|
406
388
|
} else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
|
|
407
|
-
const isRightArrow = keyCode === 39 ? true : false;
|
|
408
|
-
|
|
389
|
+
const isRightArrow = keyCode === 39 ? true : false;
|
|
390
|
+
// let isLefttArrow = keyCode === 37 ? true : false;
|
|
409
391
|
if (highLightedSelectOptions.length) {
|
|
410
392
|
const [lastHighLightedSelectOption] = highLightedSelectOptions.slice(-1);
|
|
411
393
|
const lastHighLightedSelectOptionIndex = selectedOptions.indexOf(lastHighLightedSelectOption);
|
|
412
394
|
const newLastHighLightedSelectOptionIndex = isRightArrow ? lastHighLightedSelectOptionIndex === selectedOptions.length - 1 ? lastHighLightedSelectOptionIndex : lastHighLightedSelectOptionIndex + 1 : lastHighLightedSelectOptionIndex - 1;
|
|
413
395
|
const newLastHighLightedSelectOption = selectedOptions[newLastHighLightedSelectOptionIndex];
|
|
414
396
|
const isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === lastHighLightedSelectOption ? true : false;
|
|
415
|
-
|
|
416
397
|
if (!getIsEmptyValue(newLastHighLightedSelectOption)) {
|
|
417
398
|
this.setState({
|
|
418
399
|
lastHighLightedSelectOption: isEmptyHighlighted ? '' : newLastHighLightedSelectOption,
|
|
@@ -428,13 +409,14 @@ export class MultiSelectComponent extends React.Component {
|
|
|
428
409
|
shiftKeyPressHighLighted: 0
|
|
429
410
|
});
|
|
430
411
|
}
|
|
431
|
-
}
|
|
432
|
-
|
|
412
|
+
}
|
|
413
|
+
// eslint-disable-next-line
|
|
414
|
+
else if (keyCode === 27) {
|
|
415
|
+
// this.handlePopupClose(e);
|
|
433
416
|
} else if (keyCode === 9) {
|
|
434
417
|
this.handlePopupClose(e);
|
|
435
418
|
}
|
|
436
419
|
}
|
|
437
|
-
|
|
438
420
|
handleSelectAll(e) {
|
|
439
421
|
e && e.preventDefault();
|
|
440
422
|
const suggestions = this.handleFilterSuggestions();
|
|
@@ -446,12 +428,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
446
428
|
const {
|
|
447
429
|
id
|
|
448
430
|
} = option;
|
|
449
|
-
|
|
450
431
|
if (selectedOptions.indexOf(id) === -1) {
|
|
451
432
|
newSelectedOptions.push(id);
|
|
452
433
|
}
|
|
453
434
|
});
|
|
454
|
-
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
435
|
+
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
436
|
+
// this.handlePopupClose(e);
|
|
455
437
|
}
|
|
456
438
|
|
|
457
439
|
handleDeselectAll(e) {
|
|
@@ -462,18 +444,15 @@ export class MultiSelectComponent extends React.Component {
|
|
|
462
444
|
const {
|
|
463
445
|
highLightedSelectOptions
|
|
464
446
|
} = this.state;
|
|
465
|
-
|
|
466
447
|
if (highLightedSelectOptions.length) {
|
|
467
448
|
this.setState({
|
|
468
449
|
highLightedSelectOptions: [],
|
|
469
450
|
lastHighLightedSelectOption: ''
|
|
470
451
|
});
|
|
471
452
|
}
|
|
472
|
-
|
|
473
453
|
removeClose(e);
|
|
474
454
|
this.handleChange([]);
|
|
475
455
|
}
|
|
476
|
-
|
|
477
456
|
handleSelectOption(option, value, index, e) {
|
|
478
457
|
const {
|
|
479
458
|
selectedOptions,
|
|
@@ -483,11 +462,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
483
462
|
const {
|
|
484
463
|
searchStr
|
|
485
464
|
} = this.state;
|
|
486
|
-
|
|
487
465
|
if (searchStr.trim() != '' && isSearchClearOnSelect) {
|
|
488
466
|
this.handleSearch('');
|
|
489
467
|
}
|
|
490
|
-
|
|
491
468
|
if (keepSelectedOptions && selectedOptions.indexOf(option) != -1) {
|
|
492
469
|
let newSelectedOptions = selectedOptions.filter(id => {
|
|
493
470
|
return id != option;
|
|
@@ -497,7 +474,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
497
474
|
this.handleChange([...selectedOptions, option], e);
|
|
498
475
|
}
|
|
499
476
|
}
|
|
500
|
-
|
|
501
477
|
handleRemoveOption(options) {
|
|
502
478
|
const newOptions = !getIsEmptyValue(options) && !Array.isArray(options) ? [options] : options;
|
|
503
479
|
const {
|
|
@@ -509,22 +485,18 @@ export class MultiSelectComponent extends React.Component {
|
|
|
509
485
|
lastHighLightedSelectOption,
|
|
510
486
|
shiftKeyPressHighLighted
|
|
511
487
|
} = this.state;
|
|
512
|
-
|
|
513
488
|
if (newOptions.length && !isReadOnly) {
|
|
514
489
|
const newSelectedOptions = selectedOptions.filter(option => newOptions.indexOf(option) === -1);
|
|
515
490
|
const newHighLightedSelectOptions = highLightedSelectOptions.filter(option => newSelectedOptions.indexOf(option) >= 0);
|
|
516
491
|
let isHighlightedRemoved = false;
|
|
517
492
|
const newOptionsLen = newOptions.length;
|
|
518
|
-
|
|
519
493
|
for (let i = 0; i < newOptionsLen; i++) {
|
|
520
494
|
const removedOption = newOptions[i];
|
|
521
|
-
|
|
522
495
|
if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
|
|
523
496
|
isHighlightedRemoved = true;
|
|
524
497
|
break;
|
|
525
498
|
}
|
|
526
499
|
}
|
|
527
|
-
|
|
528
500
|
this.setState({
|
|
529
501
|
lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
|
|
530
502
|
highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
|
|
@@ -532,10 +504,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
532
504
|
});
|
|
533
505
|
this.handleChange(newSelectedOptions);
|
|
534
506
|
}
|
|
535
|
-
|
|
536
507
|
this.moveFocusToTextbox();
|
|
537
508
|
}
|
|
538
|
-
|
|
539
509
|
handleMouseEnter(id, val, hoverOptionIndex, e) {
|
|
540
510
|
e && e.preventDefault();
|
|
541
511
|
const {
|
|
@@ -545,19 +515,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
545
515
|
suggestionsOrder
|
|
546
516
|
} = this;
|
|
547
517
|
const newHoverIndex = suggestionsOrder.indexOf(id);
|
|
548
|
-
|
|
549
518
|
if (newHoverIndex !== hoverOption) {
|
|
550
519
|
this.setState({
|
|
551
520
|
hoverOption: newHoverIndex
|
|
552
521
|
});
|
|
553
522
|
}
|
|
554
523
|
}
|
|
555
|
-
|
|
556
524
|
handleFetchOptions() {
|
|
557
525
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
558
526
|
args[_key] = arguments[_key];
|
|
559
527
|
}
|
|
560
|
-
|
|
561
528
|
const [APICall, searchStr] = args;
|
|
562
529
|
const {
|
|
563
530
|
isFetchingOptions
|
|
@@ -566,12 +533,10 @@ export class MultiSelectComponent extends React.Component {
|
|
|
566
533
|
_isMounted
|
|
567
534
|
} = this;
|
|
568
535
|
const isForce = isFetchingOptions && searchStr ? true : false;
|
|
569
|
-
|
|
570
536
|
if (!isFetchingOptions && APICall || isForce) {
|
|
571
537
|
this.setState({
|
|
572
538
|
isFetchingOptions: true
|
|
573
539
|
});
|
|
574
|
-
|
|
575
540
|
try {
|
|
576
541
|
return APICall(searchStr).then(() => {
|
|
577
542
|
_isMounted && this.setState({
|
|
@@ -589,7 +554,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
589
554
|
}
|
|
590
555
|
}
|
|
591
556
|
}
|
|
592
|
-
|
|
593
557
|
handleSearchOptions() {
|
|
594
558
|
const {
|
|
595
559
|
onSearch
|
|
@@ -599,7 +563,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
599
563
|
} = this.state;
|
|
600
564
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
601
565
|
}
|
|
602
|
-
|
|
603
566
|
handleSearch(value, e) {
|
|
604
567
|
const {
|
|
605
568
|
onSearch,
|
|
@@ -622,7 +585,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
622
585
|
}
|
|
623
586
|
});
|
|
624
587
|
}
|
|
625
|
-
|
|
626
588
|
handleClickSelectedOption() {
|
|
627
589
|
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
628
590
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -638,16 +600,13 @@ export class MultiSelectComponent extends React.Component {
|
|
|
638
600
|
ctrlKey,
|
|
639
601
|
shiftKey
|
|
640
602
|
} = e;
|
|
641
|
-
|
|
642
603
|
if (e && shiftKey) {
|
|
643
604
|
//shift+click
|
|
644
605
|
let from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
645
606
|
let to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
|
|
646
|
-
|
|
647
607
|
if (to >= 0 && to < from) {
|
|
648
608
|
[to] = [from, from = to];
|
|
649
609
|
}
|
|
650
|
-
|
|
651
610
|
to += 1;
|
|
652
611
|
const newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
|
|
653
612
|
to && this.setState({
|
|
@@ -658,7 +617,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
658
617
|
//ctrl+click
|
|
659
618
|
const isRemove = highLightedSelectOptions.indexOf(id) >= 0;
|
|
660
619
|
let newSelectedHighlights = [];
|
|
661
|
-
|
|
662
620
|
if (isRemove) {
|
|
663
621
|
lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
|
|
664
622
|
newSelectedHighlights = highLightedSelectOptions.filter(option => option !== id);
|
|
@@ -666,7 +624,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
666
624
|
lastHighLightedSelectOption = id;
|
|
667
625
|
newSelectedHighlights = [...highLightedSelectOptions, id];
|
|
668
626
|
}
|
|
669
|
-
|
|
670
627
|
this.setState({
|
|
671
628
|
highLightedSelectOptions: newSelectedHighlights,
|
|
672
629
|
lastHighLightedSelectOption
|
|
@@ -677,19 +634,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
677
634
|
lastHighLightedSelectOption: id
|
|
678
635
|
});
|
|
679
636
|
}
|
|
680
|
-
|
|
681
637
|
this.setState({
|
|
682
638
|
shiftKeyPressHighLighted: 0
|
|
683
639
|
});
|
|
684
640
|
this.moveFocusToTextbox();
|
|
685
641
|
}
|
|
686
|
-
|
|
687
642
|
handleScroll(e) {
|
|
688
643
|
let ele = e.target;
|
|
689
644
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
690
645
|
isScrollReachedBottom && this.handleScrollFuncCall();
|
|
691
646
|
}
|
|
692
|
-
|
|
693
647
|
handleScrollFuncCall() {
|
|
694
648
|
const {
|
|
695
649
|
getNextOptions,
|
|
@@ -700,7 +654,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
700
654
|
} = this.state;
|
|
701
655
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
702
656
|
}
|
|
703
|
-
|
|
704
657
|
handleChange() {
|
|
705
658
|
let selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
706
659
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -723,21 +676,17 @@ export class MultiSelectComponent extends React.Component {
|
|
|
723
676
|
});
|
|
724
677
|
const selectedOptionsLen = newSelectedOptions.length;
|
|
725
678
|
const allSelectedOptionsDetails = [];
|
|
726
|
-
|
|
727
679
|
for (let i = 0; i < selectedOptionsLen; i++) {
|
|
728
680
|
const id = newSelectedOptions[i];
|
|
729
681
|
allSelectedOptionsDetails.push(optionsNormalize[id]);
|
|
730
682
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
683
|
+
onChange && onChange(newSelectedOptions, allSelectedOptionsDetails);
|
|
684
|
+
// this.setState({ searchStr: '' });
|
|
734
685
|
this.moveFocusToTextbox();
|
|
735
|
-
|
|
736
686
|
if (needToCloseOnSelect) {
|
|
737
687
|
togglePopup(e);
|
|
738
688
|
}
|
|
739
689
|
}
|
|
740
|
-
|
|
741
690
|
togglePopup(e) {
|
|
742
691
|
const {
|
|
743
692
|
togglePopup,
|
|
@@ -746,14 +695,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
746
695
|
} = this.props;
|
|
747
696
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
|
|
748
697
|
}
|
|
749
|
-
|
|
750
698
|
handlePopupClose(e) {
|
|
751
699
|
const {
|
|
752
700
|
closePopupOnly
|
|
753
701
|
} = this.props;
|
|
754
702
|
closePopupOnly(e);
|
|
755
703
|
}
|
|
756
|
-
|
|
757
704
|
searchInputRef(el) {
|
|
758
705
|
const {
|
|
759
706
|
getRef
|
|
@@ -761,7 +708,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
761
708
|
this.searchInput = el;
|
|
762
709
|
getRef && getRef(el);
|
|
763
710
|
}
|
|
764
|
-
|
|
765
711
|
selectedOptionContainerRef(el) {
|
|
766
712
|
const {
|
|
767
713
|
getTargetRef
|
|
@@ -769,31 +715,25 @@ export class MultiSelectComponent extends React.Component {
|
|
|
769
715
|
this.selectedOptionContainer = el;
|
|
770
716
|
getTargetRef(el);
|
|
771
717
|
}
|
|
772
|
-
|
|
773
718
|
selectedOptionRef(el, id) {
|
|
774
719
|
this[`selectedOption_${id}`] = el;
|
|
775
720
|
}
|
|
776
|
-
|
|
777
721
|
suggestionContainerRef(el) {
|
|
778
722
|
this.suggestionContainer = el;
|
|
779
723
|
}
|
|
780
|
-
|
|
781
724
|
suggestionItemRef(el, index, id) {
|
|
782
725
|
this[`suggestion_${id}`] = el;
|
|
783
726
|
}
|
|
784
|
-
|
|
785
727
|
handleActive(e) {
|
|
786
728
|
const {
|
|
787
729
|
searchStr,
|
|
788
730
|
isActive
|
|
789
731
|
} = this.state;
|
|
790
|
-
|
|
791
732
|
if (!isActive) {
|
|
792
733
|
this.setState({
|
|
793
734
|
isActive: true
|
|
794
735
|
});
|
|
795
736
|
}
|
|
796
|
-
|
|
797
737
|
const {
|
|
798
738
|
target
|
|
799
739
|
} = e || {};
|
|
@@ -803,19 +743,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
803
743
|
} = this.props;
|
|
804
744
|
onFocus && onFocus(searchStr);
|
|
805
745
|
}
|
|
806
|
-
|
|
807
746
|
handleInactive() {
|
|
808
747
|
const {
|
|
809
748
|
isActive
|
|
810
749
|
} = this.state;
|
|
811
|
-
|
|
812
750
|
if (isActive) {
|
|
813
751
|
this.setState({
|
|
814
752
|
isActive: false
|
|
815
753
|
});
|
|
816
754
|
}
|
|
817
755
|
}
|
|
818
|
-
|
|
819
756
|
handleInputFocus() {
|
|
820
757
|
const {
|
|
821
758
|
isDisabled,
|
|
@@ -823,13 +760,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
823
760
|
} = this.props;
|
|
824
761
|
!isDisabled && !isReadOnly && this.moveFocusToTextbox();
|
|
825
762
|
}
|
|
826
|
-
|
|
827
763
|
moveFocusToTextbox() {
|
|
828
764
|
this.searchInput && this.searchInput.focus({
|
|
829
765
|
preventScroll: true
|
|
830
766
|
});
|
|
831
767
|
}
|
|
832
|
-
|
|
833
768
|
handleExposedPublicMethods() {
|
|
834
769
|
const {
|
|
835
770
|
getPublicMethods,
|
|
@@ -839,7 +774,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
839
774
|
openPopupOnly
|
|
840
775
|
});
|
|
841
776
|
}
|
|
842
|
-
|
|
843
777
|
responsiveFunc(_ref) {
|
|
844
778
|
let {
|
|
845
779
|
mediaQueryOR
|
|
@@ -850,7 +784,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
850
784
|
}])
|
|
851
785
|
};
|
|
852
786
|
}
|
|
853
|
-
|
|
854
787
|
getSelectionUI() {
|
|
855
788
|
let isResponsive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
856
789
|
let {
|
|
@@ -970,7 +903,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
970
903
|
dataId: `${dataId}_children`
|
|
971
904
|
}, children) : null))));
|
|
972
905
|
}
|
|
973
|
-
|
|
974
906
|
render() {
|
|
975
907
|
let {
|
|
976
908
|
isReadOnly,
|
|
@@ -1110,7 +1042,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
1110
1042
|
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
|
|
1111
1043
|
}) : null);
|
|
1112
1044
|
}
|
|
1113
|
-
|
|
1114
1045
|
}
|
|
1115
1046
|
MultiSelectComponent.propTypes = MultiSelect_propTypes;
|
|
1116
1047
|
MultiSelectComponent.defaultProps = MultiSelect_defaultProps;
|
|
@@ -3,10 +3,8 @@ import React from 'react';
|
|
|
3
3
|
import { MultiSelectHeader_propTypes } from './props/propTypes';
|
|
4
4
|
import { MultiSelectHeader_defaultProps } from './props/defaultProps';
|
|
5
5
|
/**** Icons ****/
|
|
6
|
-
|
|
7
6
|
import ListItemWithIcon from '../ListItem/ListItemWithIcon';
|
|
8
7
|
/**** CSS ****/
|
|
9
|
-
|
|
10
8
|
import style from '../../MultiSelect/MultiSelect.module.css';
|
|
11
9
|
export default class MultiSelectHeader extends React.PureComponent {
|
|
12
10
|
render() {
|
|
@@ -26,7 +24,6 @@ export default class MultiSelectHeader extends React.PureComponent {
|
|
|
26
24
|
customClass: style.selectAll
|
|
27
25
|
}) : null);
|
|
28
26
|
}
|
|
29
|
-
|
|
30
27
|
}
|
|
31
28
|
MultiSelectHeader.propTypes = MultiSelectHeader_propTypes;
|
|
32
29
|
MultiSelectHeader.defaultProps = MultiSelectHeader_defaultProps;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
2
|
/**** Libraries ****/
|
|
4
3
|
import React from 'react';
|
|
5
4
|
import { MultiSelectWithAvatar_propTypes } from './props/propTypes';
|
|
6
5
|
import { MultiSelectWithAvatar_defaultProps } from './props/defaultProps';
|
|
7
6
|
import { defaultProps as MobileHeader_defaultProps } from './MobileHeader/props/defaultProps';
|
|
8
|
-
/**** Components ****/
|
|
9
7
|
|
|
8
|
+
/**** Components ****/
|
|
10
9
|
import { MultiSelectComponent } from './MultiSelect';
|
|
11
10
|
import Popup from '../Popup/Popup';
|
|
12
11
|
import { Container, Box } from '../Layout';
|
|
@@ -20,16 +19,14 @@ import { getUniqueId } from '../../Provider/IdProvider';
|
|
|
20
19
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
21
20
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
22
21
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
23
|
-
/**** Icons ****/
|
|
24
22
|
|
|
23
|
+
/**** Icons ****/
|
|
25
24
|
import { Icon } from '@zohodesk/icons';
|
|
26
25
|
/**** CSS ****/
|
|
27
|
-
|
|
28
26
|
import style from '../../MultiSelect/MultiSelect.module.css';
|
|
29
|
-
/*eslint-disable react/sort-prop-types*/
|
|
30
27
|
|
|
28
|
+
/*eslint-disable react/sort-prop-types*/
|
|
31
29
|
/* eslint-disable react/forbid-component-props */
|
|
32
|
-
|
|
33
30
|
/* eslint-disable react/no-unused-prop-types */
|
|
34
31
|
|
|
35
32
|
class MultiSelectWithAvatarComponent extends MultiSelectComponent {
|
|
@@ -38,7 +35,6 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
|
|
|
38
35
|
this.handleFormatOptions = this.handleFormatOptions.bind(this);
|
|
39
36
|
this.getNextAriaId = getUniqueId(this);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
38
|
handleFormatOptions(props) {
|
|
43
39
|
const {
|
|
44
40
|
options,
|
|
@@ -56,7 +52,6 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
|
|
|
56
52
|
disabledOptions
|
|
57
53
|
});
|
|
58
54
|
}
|
|
59
|
-
|
|
60
55
|
responsiveFunc(_ref) {
|
|
61
56
|
let {
|
|
62
57
|
mediaQueryOR
|
|
@@ -67,7 +62,6 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
|
|
|
67
62
|
}])
|
|
68
63
|
};
|
|
69
64
|
}
|
|
70
|
-
|
|
71
65
|
render() {
|
|
72
66
|
let {
|
|
73
67
|
isReadOnly,
|
|
@@ -205,9 +199,7 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
|
|
|
205
199
|
}, /*#__PURE__*/React.createElement(Loader, null))))));
|
|
206
200
|
}) : null);
|
|
207
201
|
}
|
|
208
|
-
|
|
209
202
|
}
|
|
210
|
-
|
|
211
203
|
MultiSelectWithAvatarComponent.propTypes = MultiSelectWithAvatar_propTypes;
|
|
212
204
|
MultiSelectWithAvatarComponent.defaultProps = MultiSelectWithAvatar_defaultProps;
|
|
213
205
|
MultiSelectWithAvatarComponent.displayName = 'MultiSelectWithAvatar';
|