@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';
|
|
@@ -18,19 +18,18 @@ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
|
18
18
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
19
19
|
import MultiSelectHeader from './MultiSelectHeader';
|
|
20
20
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
21
|
-
/**** Icons ****/
|
|
22
21
|
|
|
22
|
+
/**** Icons ****/
|
|
23
23
|
import { Icon } from '@zohodesk/icons';
|
|
24
24
|
/**** CSS ****/
|
|
25
|
-
|
|
26
25
|
import style from './MultiSelect.module.css';
|
|
27
|
-
/**** Methods ****/
|
|
28
26
|
|
|
27
|
+
/**** Methods ****/
|
|
29
28
|
import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
|
|
30
29
|
import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../utils/dropDownUtils';
|
|
31
30
|
import MobileHeader from './MobileHeader/MobileHeader';
|
|
32
|
-
/* eslint-disable react/forbid-component-props */
|
|
33
31
|
|
|
32
|
+
/* eslint-disable react/forbid-component-props */
|
|
34
33
|
/* eslint-disable react/no-unused-prop-types */
|
|
35
34
|
|
|
36
35
|
const dummyArray = [];
|
|
@@ -41,8 +40,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
41
40
|
this.getFilterSuggestions = makeGetFilterSuggestions();
|
|
42
41
|
this.formatOptions = makeFormatOptions();
|
|
43
42
|
this.getSelectedOptions = makeGetSelectedOptions();
|
|
44
|
-
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
43
|
+
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
45
44
|
|
|
45
|
+
//Use in AdvancedMultiSelect component
|
|
46
46
|
this.objectConcat = makeObjectConcat();
|
|
47
47
|
this.formatSelectedOptions = makeFormatOptions();
|
|
48
48
|
const {
|
|
@@ -80,11 +80,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
80
80
|
this.handleScroll = this.handleScroll.bind(this);
|
|
81
81
|
this.handleScrollFuncCall = debounce(this.handleScrollFuncCall.bind(this), 500);
|
|
82
82
|
}
|
|
83
|
-
|
|
84
83
|
componentDidMount() {
|
|
85
84
|
// let { suggestionContainer } = this;
|
|
86
85
|
this._isMounted = true;
|
|
87
|
-
this.handleExposedPublicMethods();
|
|
86
|
+
this.handleExposedPublicMethods();
|
|
87
|
+
// suggestionContainer &&
|
|
88
88
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -97,7 +97,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
97
97
|
prefixText
|
|
98
98
|
} = nextProps;
|
|
99
99
|
const oldProps = this.props;
|
|
100
|
-
|
|
101
100
|
if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
|
|
102
101
|
) {
|
|
103
102
|
const {
|
|
@@ -136,7 +135,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
136
135
|
});
|
|
137
136
|
}
|
|
138
137
|
}
|
|
139
|
-
|
|
140
138
|
componentDidUpdate(prevProps, prevState) {
|
|
141
139
|
const {
|
|
142
140
|
suggestionContainer,
|
|
@@ -155,11 +153,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
155
153
|
onDropBoxClose,
|
|
156
154
|
onDropBoxOpen,
|
|
157
155
|
isSearchClearOnClose
|
|
158
|
-
} = this.props;
|
|
156
|
+
} = this.props;
|
|
159
157
|
|
|
158
|
+
//handle dropbox open & close
|
|
160
159
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
161
160
|
isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
162
|
-
|
|
163
161
|
if (!isPopupOpen) {
|
|
164
162
|
this.setState({
|
|
165
163
|
hoverOption: 0
|
|
@@ -167,42 +165,41 @@ export class MultiSelectComponent extends React.Component {
|
|
|
167
165
|
isSearchClearOnClose && searchStr && this.handleSearch('');
|
|
168
166
|
onDropBoxClose && onDropBoxClose();
|
|
169
167
|
}
|
|
170
|
-
}
|
|
171
|
-
|
|
168
|
+
}
|
|
172
169
|
|
|
170
|
+
//scrollTo handling
|
|
173
171
|
const hoverId = suggestionsOrder[hoverOption] || '';
|
|
174
172
|
const selectedSuggestion = this[`suggestion_${hoverId}`];
|
|
175
173
|
const lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
|
|
176
174
|
const selectedOption = this[`selectedOption_${lastHighLightedSelectOption}`];
|
|
177
175
|
isPopupOpen && scrollTo(suggestionContainer, selectedSuggestion);
|
|
178
|
-
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
176
|
+
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
179
177
|
|
|
178
|
+
//When suggestions length less than 5, getNextOptions function call
|
|
180
179
|
const {
|
|
181
180
|
isNextOptions,
|
|
182
181
|
getNextOptions
|
|
183
|
-
} = this.props;
|
|
184
|
-
|
|
182
|
+
} = this.props;
|
|
183
|
+
// let { searchStr } = this.state;
|
|
185
184
|
const suggestions = this.handleFilterSuggestions();
|
|
186
185
|
const suggestionsLen = suggestions.length;
|
|
187
|
-
|
|
188
186
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
189
187
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
190
|
-
}
|
|
191
|
-
|
|
188
|
+
}
|
|
192
189
|
|
|
190
|
+
//Need To MultiselectNew Component
|
|
193
191
|
this.handleComponentDidUpdate(prevProps, prevState);
|
|
194
192
|
}
|
|
195
|
-
|
|
196
193
|
componentWillUnmount() {
|
|
197
194
|
// let { suggestionContainer } = this;
|
|
198
|
-
this._isMounted = false;
|
|
195
|
+
this._isMounted = false;
|
|
196
|
+
// suggestionContainer &&
|
|
199
197
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
200
198
|
}
|
|
201
199
|
|
|
202
200
|
handleComponentDidUpdate() {
|
|
203
201
|
return;
|
|
204
202
|
}
|
|
205
|
-
|
|
206
203
|
handleFormatOptions(props) {
|
|
207
204
|
const {
|
|
208
205
|
options,
|
|
@@ -220,14 +217,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
220
217
|
disabledOptions
|
|
221
218
|
});
|
|
222
219
|
}
|
|
223
|
-
|
|
224
220
|
handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
|
|
225
221
|
return this.getSelectedOptions({
|
|
226
222
|
selectedOptions,
|
|
227
223
|
normalizedFormatOptions
|
|
228
224
|
});
|
|
229
225
|
}
|
|
230
|
-
|
|
231
226
|
handleInputCick(e) {
|
|
232
227
|
const {
|
|
233
228
|
removeClose
|
|
@@ -236,7 +231,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
236
231
|
highLightedSelectOptions,
|
|
237
232
|
searchStr = ''
|
|
238
233
|
} = this.state;
|
|
239
|
-
|
|
240
234
|
if (highLightedSelectOptions.length) {
|
|
241
235
|
this.setState({
|
|
242
236
|
highLightedSelectOptions: [],
|
|
@@ -250,7 +244,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
250
244
|
this.togglePopup(e);
|
|
251
245
|
}
|
|
252
246
|
}
|
|
253
|
-
|
|
254
247
|
handleFilterSuggestions() {
|
|
255
248
|
const {
|
|
256
249
|
options = dummyArray,
|
|
@@ -274,7 +267,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
274
267
|
this.suggestionsOrder = suggestionIds;
|
|
275
268
|
return suggestions;
|
|
276
269
|
}
|
|
277
|
-
|
|
278
270
|
handleKeyDown(e) {
|
|
279
271
|
const {
|
|
280
272
|
keyCode,
|
|
@@ -299,27 +291,20 @@ export class MultiSelectComponent extends React.Component {
|
|
|
299
291
|
onKeyDown
|
|
300
292
|
} = this.props;
|
|
301
293
|
const highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
302
|
-
|
|
303
294
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
|
|
304
295
|
suggestions = this.handleFilterSuggestions();
|
|
305
296
|
}
|
|
306
|
-
|
|
307
297
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
308
298
|
onKeyDown && onKeyDown(e);
|
|
309
299
|
}
|
|
310
|
-
|
|
311
300
|
if (!isPopupOpen && keyCode === 40) {
|
|
312
301
|
//down arrow press popup open
|
|
313
302
|
e.preventDefault(); //prevent body scroll
|
|
314
|
-
|
|
315
303
|
this.togglePopup(e);
|
|
316
304
|
}
|
|
317
|
-
|
|
318
305
|
const suggestionsLen = suggestions.length;
|
|
319
|
-
|
|
320
306
|
if (suggestionsLen && isPopupOpen && keyCode === 38) {
|
|
321
307
|
//up arrow
|
|
322
|
-
|
|
323
308
|
/*if (hoverOption === 0) { //disable first to last option higlight
|
|
324
309
|
!isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
|
|
325
310
|
}*/
|
|
@@ -330,7 +315,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
330
315
|
}
|
|
331
316
|
} else if (suggestionsLen && isPopupOpen && keyCode === 40) {
|
|
332
317
|
//down arrow
|
|
333
|
-
|
|
334
318
|
/*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
|
|
335
319
|
//disable last to first option higlight
|
|
336
320
|
!isNextOptions && this.setState({ hoverOption: 0 });
|
|
@@ -358,7 +342,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
358
342
|
if (highLightedSelectOptionsLen) {
|
|
359
343
|
this.handleRemoveOption(highLightedSelectOptions);
|
|
360
344
|
} else {
|
|
361
|
-
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
345
|
+
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
346
|
+
// this.setState({
|
|
362
347
|
// highLightedSelectOptions: selectedOptions.slice(-1)
|
|
363
348
|
// });
|
|
364
349
|
}
|
|
@@ -373,7 +358,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
373
358
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
374
359
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
|
|
375
360
|
const newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
|
|
376
|
-
|
|
377
361
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
378
362
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
|
|
379
363
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -390,7 +374,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
390
374
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
|
|
391
375
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
|
|
392
376
|
const newHighLightedSelectOption = selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted - 1];
|
|
393
|
-
|
|
394
377
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
395
378
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
|
|
396
379
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -403,15 +386,14 @@ export class MultiSelectComponent extends React.Component {
|
|
|
403
386
|
});
|
|
404
387
|
}
|
|
405
388
|
} else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
|
|
406
|
-
const isRightArrow = keyCode === 39 ? true : false;
|
|
407
|
-
|
|
389
|
+
const isRightArrow = keyCode === 39 ? true : false;
|
|
390
|
+
// let isLefttArrow = keyCode === 37 ? true : false;
|
|
408
391
|
if (highLightedSelectOptions.length) {
|
|
409
392
|
const [lastHighLightedSelectOption] = highLightedSelectOptions.slice(-1);
|
|
410
393
|
const lastHighLightedSelectOptionIndex = selectedOptions.indexOf(lastHighLightedSelectOption);
|
|
411
394
|
const newLastHighLightedSelectOptionIndex = isRightArrow ? lastHighLightedSelectOptionIndex === selectedOptions.length - 1 ? lastHighLightedSelectOptionIndex : lastHighLightedSelectOptionIndex + 1 : lastHighLightedSelectOptionIndex - 1;
|
|
412
395
|
const newLastHighLightedSelectOption = selectedOptions[newLastHighLightedSelectOptionIndex];
|
|
413
396
|
const isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === lastHighLightedSelectOption ? true : false;
|
|
414
|
-
|
|
415
397
|
if (!getIsEmptyValue(newLastHighLightedSelectOption)) {
|
|
416
398
|
this.setState({
|
|
417
399
|
lastHighLightedSelectOption: isEmptyHighlighted ? '' : newLastHighLightedSelectOption,
|
|
@@ -427,12 +409,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
427
409
|
shiftKeyPressHighLighted: 0
|
|
428
410
|
});
|
|
429
411
|
}
|
|
430
|
-
} else if (keyCode === 27) {
|
|
412
|
+
} else if (keyCode === 27) {
|
|
413
|
+
// this.handlePopupClose(e);
|
|
431
414
|
} else if (keyCode === 9) {
|
|
432
415
|
this.handlePopupClose(e);
|
|
433
416
|
}
|
|
434
417
|
}
|
|
435
|
-
|
|
436
418
|
handleSelectAll(e) {
|
|
437
419
|
e && e.preventDefault();
|
|
438
420
|
const suggestions = this.handleFilterSuggestions();
|
|
@@ -444,12 +426,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
444
426
|
const {
|
|
445
427
|
id
|
|
446
428
|
} = option;
|
|
447
|
-
|
|
448
429
|
if (selectedOptions.indexOf(id) === -1) {
|
|
449
430
|
newSelectedOptions.push(id);
|
|
450
431
|
}
|
|
451
432
|
});
|
|
452
|
-
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
433
|
+
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
434
|
+
// this.handlePopupClose(e);
|
|
453
435
|
}
|
|
454
436
|
|
|
455
437
|
handleDeselectAll(e) {
|
|
@@ -460,18 +442,15 @@ export class MultiSelectComponent extends React.Component {
|
|
|
460
442
|
const {
|
|
461
443
|
highLightedSelectOptions
|
|
462
444
|
} = this.state;
|
|
463
|
-
|
|
464
445
|
if (highLightedSelectOptions.length) {
|
|
465
446
|
this.setState({
|
|
466
447
|
highLightedSelectOptions: [],
|
|
467
448
|
lastHighLightedSelectOption: ''
|
|
468
449
|
});
|
|
469
450
|
}
|
|
470
|
-
|
|
471
451
|
removeClose(e);
|
|
472
452
|
this.handleChange([]);
|
|
473
453
|
}
|
|
474
|
-
|
|
475
454
|
handleSelectOption(option, value, index, e) {
|
|
476
455
|
const {
|
|
477
456
|
selectedOptions,
|
|
@@ -481,11 +460,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
481
460
|
const {
|
|
482
461
|
searchStr
|
|
483
462
|
} = this.state;
|
|
484
|
-
|
|
485
463
|
if (searchStr.trim() != '' && isSearchClearOnSelect) {
|
|
486
464
|
this.handleSearch('');
|
|
487
465
|
}
|
|
488
|
-
|
|
489
466
|
if (keepSelectedOptions && selectedOptions.indexOf(option) != -1) {
|
|
490
467
|
let newSelectedOptions = selectedOptions.filter(id => {
|
|
491
468
|
return id != option;
|
|
@@ -495,7 +472,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
495
472
|
this.handleChange([...selectedOptions, option], e);
|
|
496
473
|
}
|
|
497
474
|
}
|
|
498
|
-
|
|
499
475
|
handleRemoveOption(options) {
|
|
500
476
|
const newOptions = !getIsEmptyValue(options) && !Array.isArray(options) ? [options] : options;
|
|
501
477
|
const {
|
|
@@ -507,22 +483,18 @@ export class MultiSelectComponent extends React.Component {
|
|
|
507
483
|
lastHighLightedSelectOption,
|
|
508
484
|
shiftKeyPressHighLighted
|
|
509
485
|
} = this.state;
|
|
510
|
-
|
|
511
486
|
if (newOptions.length && !isReadOnly) {
|
|
512
487
|
const newSelectedOptions = selectedOptions.filter(option => newOptions.indexOf(option) === -1);
|
|
513
488
|
const newHighLightedSelectOptions = highLightedSelectOptions.filter(option => newSelectedOptions.indexOf(option) >= 0);
|
|
514
489
|
let isHighlightedRemoved = false;
|
|
515
490
|
const newOptionsLen = newOptions.length;
|
|
516
|
-
|
|
517
491
|
for (let i = 0; i < newOptionsLen; i++) {
|
|
518
492
|
const removedOption = newOptions[i];
|
|
519
|
-
|
|
520
493
|
if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
|
|
521
494
|
isHighlightedRemoved = true;
|
|
522
495
|
break;
|
|
523
496
|
}
|
|
524
497
|
}
|
|
525
|
-
|
|
526
498
|
this.setState({
|
|
527
499
|
lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
|
|
528
500
|
highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
|
|
@@ -530,10 +502,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
530
502
|
});
|
|
531
503
|
this.handleChange(newSelectedOptions);
|
|
532
504
|
}
|
|
533
|
-
|
|
534
505
|
this.moveFocusToTextbox();
|
|
535
506
|
}
|
|
536
|
-
|
|
537
507
|
handleMouseEnter(id, val, hoverOptionIndex, e) {
|
|
538
508
|
e && e.preventDefault();
|
|
539
509
|
const {
|
|
@@ -543,19 +513,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
543
513
|
suggestionsOrder
|
|
544
514
|
} = this;
|
|
545
515
|
const newHoverIndex = suggestionsOrder.indexOf(id);
|
|
546
|
-
|
|
547
516
|
if (newHoverIndex !== hoverOption) {
|
|
548
517
|
this.setState({
|
|
549
518
|
hoverOption: newHoverIndex
|
|
550
519
|
});
|
|
551
520
|
}
|
|
552
521
|
}
|
|
553
|
-
|
|
554
522
|
handleFetchOptions() {
|
|
555
523
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
556
524
|
args[_key] = arguments[_key];
|
|
557
525
|
}
|
|
558
|
-
|
|
559
526
|
const [APICall, searchStr] = args;
|
|
560
527
|
const {
|
|
561
528
|
isFetchingOptions
|
|
@@ -564,12 +531,10 @@ export class MultiSelectComponent extends React.Component {
|
|
|
564
531
|
_isMounted
|
|
565
532
|
} = this;
|
|
566
533
|
const isForce = isFetchingOptions && searchStr ? true : false;
|
|
567
|
-
|
|
568
534
|
if (!isFetchingOptions && APICall || isForce) {
|
|
569
535
|
this.setState({
|
|
570
536
|
isFetchingOptions: true
|
|
571
537
|
});
|
|
572
|
-
|
|
573
538
|
try {
|
|
574
539
|
return APICall(searchStr).then(() => {
|
|
575
540
|
_isMounted && this.setState({
|
|
@@ -587,7 +552,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
587
552
|
}
|
|
588
553
|
}
|
|
589
554
|
}
|
|
590
|
-
|
|
591
555
|
handleSearchOptions() {
|
|
592
556
|
const {
|
|
593
557
|
onSearch
|
|
@@ -597,7 +561,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
597
561
|
} = this.state;
|
|
598
562
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
599
563
|
}
|
|
600
|
-
|
|
601
564
|
handleSearch(value, e) {
|
|
602
565
|
const {
|
|
603
566
|
onSearch,
|
|
@@ -620,7 +583,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
620
583
|
}
|
|
621
584
|
});
|
|
622
585
|
}
|
|
623
|
-
|
|
624
586
|
handleClickSelectedOption() {
|
|
625
587
|
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
626
588
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -636,16 +598,13 @@ export class MultiSelectComponent extends React.Component {
|
|
|
636
598
|
ctrlKey,
|
|
637
599
|
shiftKey
|
|
638
600
|
} = e;
|
|
639
|
-
|
|
640
601
|
if (e && shiftKey) {
|
|
641
602
|
//shift+click
|
|
642
603
|
let from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
643
604
|
let to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
|
|
644
|
-
|
|
645
605
|
if (to >= 0 && to < from) {
|
|
646
606
|
[to] = [from, from = to];
|
|
647
607
|
}
|
|
648
|
-
|
|
649
608
|
to += 1;
|
|
650
609
|
const newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
|
|
651
610
|
to && this.setState({
|
|
@@ -656,7 +615,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
656
615
|
//ctrl+click
|
|
657
616
|
const isRemove = highLightedSelectOptions.indexOf(id) >= 0;
|
|
658
617
|
let newSelectedHighlights = [];
|
|
659
|
-
|
|
660
618
|
if (isRemove) {
|
|
661
619
|
lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
|
|
662
620
|
newSelectedHighlights = highLightedSelectOptions.filter(option => option !== id);
|
|
@@ -664,7 +622,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
664
622
|
lastHighLightedSelectOption = id;
|
|
665
623
|
newSelectedHighlights = [...highLightedSelectOptions, id];
|
|
666
624
|
}
|
|
667
|
-
|
|
668
625
|
this.setState({
|
|
669
626
|
highLightedSelectOptions: newSelectedHighlights,
|
|
670
627
|
lastHighLightedSelectOption
|
|
@@ -675,19 +632,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
675
632
|
lastHighLightedSelectOption: id
|
|
676
633
|
});
|
|
677
634
|
}
|
|
678
|
-
|
|
679
635
|
this.setState({
|
|
680
636
|
shiftKeyPressHighLighted: 0
|
|
681
637
|
});
|
|
682
638
|
this.moveFocusToTextbox();
|
|
683
639
|
}
|
|
684
|
-
|
|
685
640
|
handleScroll(e) {
|
|
686
641
|
let ele = e.target;
|
|
687
642
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
688
643
|
isScrollReachedBottom && this.handleScrollFuncCall();
|
|
689
644
|
}
|
|
690
|
-
|
|
691
645
|
handleScrollFuncCall() {
|
|
692
646
|
const {
|
|
693
647
|
getNextOptions,
|
|
@@ -698,7 +652,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
698
652
|
} = this.state;
|
|
699
653
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
700
654
|
}
|
|
701
|
-
|
|
702
655
|
handleChange() {
|
|
703
656
|
let selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
704
657
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -721,21 +674,17 @@ export class MultiSelectComponent extends React.Component {
|
|
|
721
674
|
});
|
|
722
675
|
const selectedOptionsLen = newSelectedOptions.length;
|
|
723
676
|
const allSelectedOptionsDetails = [];
|
|
724
|
-
|
|
725
677
|
for (let i = 0; i < selectedOptionsLen; i++) {
|
|
726
678
|
const id = newSelectedOptions[i];
|
|
727
679
|
allSelectedOptionsDetails.push(optionsNormalize[id]);
|
|
728
680
|
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
681
|
+
onChange && onChange(newSelectedOptions, allSelectedOptionsDetails);
|
|
682
|
+
// this.setState({ searchStr: '' });
|
|
732
683
|
this.moveFocusToTextbox();
|
|
733
|
-
|
|
734
684
|
if (needToCloseOnSelect) {
|
|
735
685
|
togglePopup(e);
|
|
736
686
|
}
|
|
737
687
|
}
|
|
738
|
-
|
|
739
688
|
togglePopup(e) {
|
|
740
689
|
const {
|
|
741
690
|
togglePopup,
|
|
@@ -744,14 +693,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
744
693
|
} = this.props;
|
|
745
694
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
|
|
746
695
|
}
|
|
747
|
-
|
|
748
696
|
handlePopupClose(e) {
|
|
749
697
|
const {
|
|
750
698
|
closePopupOnly
|
|
751
699
|
} = this.props;
|
|
752
700
|
closePopupOnly(e);
|
|
753
701
|
}
|
|
754
|
-
|
|
755
702
|
searchInputRef(el) {
|
|
756
703
|
const {
|
|
757
704
|
getRef
|
|
@@ -759,7 +706,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
759
706
|
this.searchInput = el;
|
|
760
707
|
getRef && getRef(el);
|
|
761
708
|
}
|
|
762
|
-
|
|
763
709
|
selectedOptionContainerRef(el) {
|
|
764
710
|
const {
|
|
765
711
|
getTargetRef
|
|
@@ -767,31 +713,25 @@ export class MultiSelectComponent extends React.Component {
|
|
|
767
713
|
this.selectedOptionContainer = el;
|
|
768
714
|
getTargetRef(el);
|
|
769
715
|
}
|
|
770
|
-
|
|
771
716
|
selectedOptionRef(el, id) {
|
|
772
717
|
this[`selectedOption_${id}`] = el;
|
|
773
718
|
}
|
|
774
|
-
|
|
775
719
|
suggestionContainerRef(el) {
|
|
776
720
|
this.suggestionContainer = el;
|
|
777
721
|
}
|
|
778
|
-
|
|
779
722
|
suggestionItemRef(el, index, id) {
|
|
780
723
|
this[`suggestion_${id}`] = el;
|
|
781
724
|
}
|
|
782
|
-
|
|
783
725
|
handleActive(e) {
|
|
784
726
|
const {
|
|
785
727
|
searchStr,
|
|
786
728
|
isActive
|
|
787
729
|
} = this.state;
|
|
788
|
-
|
|
789
730
|
if (!isActive) {
|
|
790
731
|
this.setState({
|
|
791
732
|
isActive: true
|
|
792
733
|
});
|
|
793
734
|
}
|
|
794
|
-
|
|
795
735
|
const {
|
|
796
736
|
target
|
|
797
737
|
} = e || {};
|
|
@@ -801,19 +741,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
801
741
|
} = this.props;
|
|
802
742
|
onFocus && onFocus(searchStr);
|
|
803
743
|
}
|
|
804
|
-
|
|
805
744
|
handleInactive() {
|
|
806
745
|
const {
|
|
807
746
|
isActive
|
|
808
747
|
} = this.state;
|
|
809
|
-
|
|
810
748
|
if (isActive) {
|
|
811
749
|
this.setState({
|
|
812
750
|
isActive: false
|
|
813
751
|
});
|
|
814
752
|
}
|
|
815
753
|
}
|
|
816
|
-
|
|
817
754
|
handleInputFocus() {
|
|
818
755
|
const {
|
|
819
756
|
isDisabled,
|
|
@@ -821,13 +758,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
821
758
|
} = this.props;
|
|
822
759
|
!isDisabled && !isReadOnly && this.moveFocusToTextbox();
|
|
823
760
|
}
|
|
824
|
-
|
|
825
761
|
moveFocusToTextbox() {
|
|
826
762
|
this.searchInput && this.searchInput.focus({
|
|
827
763
|
preventScroll: true
|
|
828
764
|
});
|
|
829
765
|
}
|
|
830
|
-
|
|
831
766
|
handleExposedPublicMethods() {
|
|
832
767
|
const {
|
|
833
768
|
getPublicMethods,
|
|
@@ -837,7 +772,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
837
772
|
openPopupOnly
|
|
838
773
|
});
|
|
839
774
|
}
|
|
840
|
-
|
|
841
775
|
responsiveFunc(_ref) {
|
|
842
776
|
let {
|
|
843
777
|
mediaQueryOR
|
|
@@ -848,7 +782,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
848
782
|
}])
|
|
849
783
|
};
|
|
850
784
|
}
|
|
851
|
-
|
|
852
785
|
getSelectionUI() {
|
|
853
786
|
let isResponsive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
854
787
|
let {
|
|
@@ -968,7 +901,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
968
901
|
dataId: `${dataId}_children`
|
|
969
902
|
}, children) : null))));
|
|
970
903
|
}
|
|
971
|
-
|
|
972
904
|
render() {
|
|
973
905
|
let {
|
|
974
906
|
isReadOnly,
|
|
@@ -1108,7 +1040,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
1108
1040
|
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
|
|
1109
1041
|
}) : null);
|
|
1110
1042
|
}
|
|
1111
|
-
|
|
1112
1043
|
}
|
|
1113
1044
|
MultiSelectComponent.propTypes = MultiSelect_propTypes;
|
|
1114
1045
|
MultiSelectComponent.defaultProps = MultiSelect_defaultProps;
|