@zohodesk/components 1.0.0-alpha-249 → 1.0.0-alpha-252
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/assets/Appearance/dark/mode/darkMode.module.css +2 -1
- package/assets/Appearance/default/mode/defaultMode.module.css +2 -1
- package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +2 -1
- package/es/Accordion/Accordion.js +0 -7
- package/es/Accordion/AccordionItem.js +0 -4
- package/es/Accordion/docs/Accordion__Demo.docs.js +0 -2
- package/es/Animation/Animation.js +0 -3
- package/es/Animation/docs/Animation__default.docs.js +0 -2
- package/es/Animation/docs/Animation__fadeIn.docs.js +0 -2
- package/es/Animation/docs/Animation__scaleIn.docs.js +0 -2
- package/es/Animation/docs/Animation__skewIn.docs.js +0 -2
- package/es/Animation/docs/Animation__slideDown.docs.js +0 -2
- package/es/Animation/docs/Animation__slideLeft.docs.js +0 -2
- package/es/Animation/docs/Animation__zoomIn.docs.js +0 -2
- package/es/AppContainer/AppContainer.js +3 -14
- package/es/AppContainer/docs/AppContainer__default.docs.js +0 -2
- package/es/Avatar/Avatar.js +36 -42
- package/es/Avatar/Avatar.module.css +29 -9
- package/es/Avatar/docs/Avatar__custom.docs.js +1 -3
- package/es/Avatar/docs/Avatar__default.docs.js +1 -3
- package/es/Avatar/docs/Avatar__palette.docs.js +1 -3
- package/es/Avatar/docs/Avatar__text.docs.js +1 -3
- package/es/Avatar/props/defaultProps.js +2 -1
- package/es/Avatar/props/propTypes.js +2 -1
- package/es/AvatarTeam/AvatarTeam.js +1 -4
- package/es/AvatarTeam/AvatarTeam.module.css +21 -7
- package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -2
- package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -2
- package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -2
- package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -2
- package/es/Button/Button.js +0 -4
- package/es/Button/Button.module.css +97 -24
- package/es/Button/docs/Button__custom.docs.js +11 -13
- package/es/Button/docs/Button__default.docs.js +11 -13
- package/es/Buttongroup/Buttongroup.js +0 -3
- package/es/Buttongroup/Buttongroup.module.css +37 -8
- package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -2
- package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -2
- package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -2
- package/es/Card/Card.js +7 -22
- package/es/Card/docs/Card__Custom.docs.js +0 -2
- package/es/Card/docs/Card__Default.docs.js +0 -2
- package/es/Card/docs/Card__Scroll.docs.js +0 -3
- package/es/CheckBox/CheckBox.js +1 -6
- package/es/CheckBox/CheckBox.module.css +17 -11
- package/es/CheckBox/docs/CheckBox__custom.docs.js +12 -16
- package/es/CheckBox/docs/CheckBox__default.docs.js +12 -16
- package/es/DateTime/CalendarView.js +26 -34
- package/es/DateTime/DateTime.js +22 -77
- package/es/DateTime/DateTime.module.css +87 -15
- package/es/DateTime/DateTimePopupFooter.js +2 -4
- package/es/DateTime/DateTimePopupHeader.js +2 -8
- package/es/DateTime/DateWidget.js +34 -101
- package/es/DateTime/DateWidget.module.css +9 -5
- package/es/DateTime/DaysRow.js +2 -4
- package/es/DateTime/Time.js +2 -10
- package/es/DateTime/YearView.js +4 -28
- package/es/DateTime/YearView.module.css +17 -7
- package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
- package/es/DateTime/__tests__/DateTime.spec.js +0 -1
- package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
- package/es/DateTime/common.js +0 -3
- package/es/DateTime/constants.js +0 -1
- package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
- package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
- package/es/DateTime/dateFormatUtils/index.js +2 -28
- 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/docs/DateTime__default.docs.js +6 -9
- package/es/DateTime/docs/DateWidget__default.docs.js +0 -5
- package/es/DateTime/objectUtils.js +20 -14
- package/es/DateTime/props/propTypes.js +4 -2
- package/es/DateTime/typeChecker.js +0 -3
- package/es/DateTime/validator.js +6 -58
- package/es/DropBox/DropBox.js +6 -29
- package/es/DropBox/DropBox.module.css +47 -11
- package/es/DropBox/docs/DropBox__custom.docs.js +25 -27
- package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -7
- package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -7
- package/es/DropBox/docs/DropBox__position.docs.js +35 -37
- package/es/DropBox/docs/DropBox__size.docs.js +28 -30
- package/es/DropDown/DropDown.js +1 -9
- package/es/DropDown/DropDownHeading.js +2 -4
- package/es/DropDown/DropDownHeading.module.css +7 -3
- package/es/DropDown/DropDownItem.js +0 -6
- package/es/DropDown/DropDownItem.module.css +32 -6
- package/es/DropDown/DropDownSearch.js +0 -4
- package/es/DropDown/DropDownSeparator.js +0 -1
- package/es/DropDown/__tests__/DropDown.spec.js +2 -1
- package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -2
- package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -2
- package/es/Heading/Heading.js +34 -0
- package/es/Heading/Heading.module.css +5 -0
- package/es/Heading/docs/Heading__default.docs.js +19 -0
- package/es/Heading/props/defaultProps.js +5 -0
- package/es/Heading/props/propTypes.js +11 -0
- package/es/Label/Label.js +0 -2
- package/es/Label/docs/Label__clipped.docs.js +0 -2
- package/es/Label/docs/Label__custom.docs.js +0 -2
- package/es/Label/docs/Label__palette.docs.js +0 -2
- package/es/Label/docs/Label__size.docs.js +0 -2
- package/es/Label/docs/Label__type.docs.js +0 -2
- package/es/Layout/Box.js +0 -13
- package/es/Layout/Container.js +1 -12
- package/es/Layout/docs/Layout__Hidden.docs.js +0 -1
- package/es/Layout/docs/Layout__default.docs.js +0 -1
- package/es/Layout/docs/Layout__four_Column.docs.js +0 -1
- package/es/Layout/docs/Layout__three_Column.docs.js +0 -1
- package/es/Layout/docs/Layout__two_Column.docs.js +0 -1
- package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -2
- package/es/ListItem/ListContainer.js +1 -9
- package/es/ListItem/ListItem.js +1 -10
- package/es/ListItem/ListItem.module.css +57 -25
- package/es/ListItem/ListItemWithAvatar.js +2 -10
- package/es/ListItem/ListItemWithCheckBox.js +1 -8
- package/es/ListItem/ListItemWithIcon.js +1 -9
- package/es/ListItem/ListItemWithRadio.js +1 -8
- package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -2
- package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -2
- package/es/ListItem/docs/ListItem__custom.docs.js +0 -2
- package/es/ListItem/docs/ListItem__default.docs.js +0 -2
- package/es/Modal/Modal.js +9 -29
- package/es/Modal/__docs__/Modal__default.docs.js +1 -5
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +11 -90
- package/es/MultiSelect/AdvancedMultiSelect.js +22 -40
- package/es/MultiSelect/EmptyState.js +0 -2
- package/es/MultiSelect/MultiSelect.js +49 -112
- package/es/MultiSelect/MultiSelect.module.css +28 -11
- package/es/MultiSelect/MultiSelectHeader.js +0 -3
- package/es/MultiSelect/MultiSelectWithAvatar.js +16 -17
- package/es/MultiSelect/SelectedOptions.js +4 -7
- package/es/MultiSelect/SelectedOptions.module.css +8 -2
- package/es/MultiSelect/Suggestions.js +4 -8
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
- package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -7
- package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +1 -7
- package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +1 -5
- package/es/MultiSelect/docs/MultiSelect__default.docs.js +1 -6
- package/es/MultiSelect/props/defaultProps.js +8 -4
- package/es/MultiSelect/props/propTypes.js +8 -6
- package/es/PopOver/PopOver.js +0 -18
- package/es/PopOver/PopOver.module.css +1 -1
- package/es/PopOver/__tests__/PopOver.spec.js +1 -2
- package/es/PopOver/docs/PopOver__default.docs.js +0 -2
- package/es/Popup/Popup.js +25 -78
- package/es/Popup/__tests__/Popup.spec.js +5 -17
- package/es/Popup/viewPort.js +4 -16
- package/es/Provider/IdProvider.js +2 -9
- package/es/Provider/LibraryContext.js +4 -6
- package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
- package/es/Provider/ZindexProvider.js +2 -9
- package/es/Provider/docs/Provider_Id__Class.docs.js +3 -4
- package/es/Provider/docs/Provider_Id__Function.docs.js +0 -1
- package/es/Provider/docs/Provider_Zindex__Class.docs.js +3 -4
- package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -1
- package/es/Provider.js +3 -7
- package/es/Radio/Radio.js +0 -4
- package/es/Radio/Radio.module.css +10 -4
- package/es/Radio/docs/Radio__custom.docs.js +12 -16
- package/es/Radio/docs/Radio__default.docs.js +12 -16
- package/es/Responsive/CustomResponsive.js +18 -28
- 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 -35
- package/es/Responsive/docs/Responsive__Custom.docs.js +22 -14
- package/es/Responsive/docs/Responsive__default.docs.js +1 -3
- package/es/Responsive/docs/style.module.css +17 -8
- 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 +1 -5
- package/es/Ribbon/Ribbon.js +0 -3
- package/es/Ribbon/Ribbon.module.css +93 -28
- package/es/Ribbon/docs/Ribbon__custom.docs.js +13 -14
- package/es/Ribbon/docs/Ribbon__default.docs.js +13 -14
- package/es/RippleEffect/RippleEffect.js +0 -1
- package/es/RippleEffect/RippleEffect.module.css +9 -27
- package/es/RippleEffect/docs/RippleEffect__default.docs.js +12 -14
- package/es/Select/GroupSelect.js +28 -67
- package/es/Select/Select.js +48 -98
- package/es/Select/Select.module.css +15 -2
- package/es/Select/SelectWithAvatar.js +15 -24
- package/es/Select/SelectWithIcon.js +73 -54
- package/es/Select/__tests__/Select.spec.js +8 -6
- package/es/Select/docs/GroupSelect__default.docs.js +1 -6
- package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -4
- package/es/Select/docs/SelectWithIcon__default.docs.js +0 -4
- package/es/Select/docs/Select__default.docs.js +0 -5
- package/es/Select/props/defaultProps.js +8 -4
- package/es/Select/props/propTypes.js +8 -5
- package/es/Stencils/Stencils.js +0 -3
- package/es/Stencils/Stencils.module.css +21 -3
- package/es/Stencils/docs/Stencils__custom.docs.js +0 -2
- package/es/Stencils/docs/Stencils__default.docs.js +0 -2
- package/es/Switch/Switch.js +1 -6
- package/es/Switch/Switch.module.css +6 -7
- package/es/Switch/docs/Switch__custom.docs.js +12 -14
- package/es/Switch/docs/Switch__default.docs.js +12 -14
- package/es/Tab/Tab.js +2 -5
- package/es/Tab/Tab.module.css +16 -7
- package/es/Tab/TabContent.js +0 -1
- package/es/Tab/TabContentWrapper.js +0 -2
- package/es/Tab/TabWrapper.js +3 -6
- package/es/Tab/Tabs.js +8 -55
- package/es/Tab/Tabs.module.css +42 -8
- package/es/Tab/__tests__/Tab.spec.js +2 -1
- package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
- package/es/Tab/docs/Tab__default.docs.js +0 -5
- package/es/Tab/docs/tabdocs.module.css +1 -1
- package/es/Tag/Tag.js +1 -6
- package/es/Tag/Tag.module.css +36 -14
- package/es/Tag/docs/Tag__custom.docs.js +11 -13
- package/es/Tag/docs/Tag__default.docs.js +11 -13
- package/es/TextBox/TextBox.js +1 -16
- package/es/TextBox/TextBox.module.css +7 -11
- package/es/TextBox/__tests__/TextBox.spec.js +4 -1
- package/es/TextBox/docs/TextBox__custom.docs.js +0 -2
- package/es/TextBox/docs/TextBox__default.docs.js +0 -2
- package/es/TextBox/docs/TextBox__size.docs.js +0 -2
- package/es/TextBox/docs/TextBox__variant.docs.js +0 -2
- package/es/TextBoxIcon/TextBoxIcon.js +1 -8
- package/es/TextBoxIcon/TextBoxIcon.module.css +12 -5
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
- package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -2
- package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -2
- package/es/Textarea/Textarea.js +1 -13
- package/es/Textarea/Textarea.module.css +6 -7
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Textarea/docs/Textarea__animated.docs.js +0 -2
- package/es/Textarea/docs/Textarea__custom.docs.js +0 -2
- package/es/Textarea/docs/Textarea__default.docs.js +0 -2
- package/es/Textarea/docs/Textarea__disabled.docs.js +0 -2
- package/es/Tooltip/Tooltip.js +11 -58
- package/es/Tooltip/Tooltip.module.css +9 -8
- package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
- package/es/Tooltip/docs/Tooltip__default.docs.js +63 -67
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -3
- package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -5
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -8
- package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +17 -28
- package/es/common/animation.module.css +219 -21
- package/es/common/basicReset.module.css +2 -12
- package/es/common/common.module.css +64 -18
- package/es/common/customscroll.module.css +17 -21
- package/es/common/docStyle.module.css +79 -32
- package/es/common/transition.module.css +50 -10
- package/es/deprecated/AdvancedMultiSelect.module.css +22 -8
- package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
- package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -7
- package/es/index.js +5 -2
- package/es/semantic/Button/Button.js +0 -3
- package/es/semantic/Button/docs/Button__default.docs.js +0 -3
- package/es/semantic/Button/semanticButton.module.css +3 -3
- package/es/utils/Common.js +23 -47
- package/es/utils/ContextOptimizer.js +5 -4
- package/es/utils/__tests__/debounce.spec.js +2 -2
- 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 -67
- package/es/utils/getInitial.js +0 -4
- package/es/utils/shallowEqual.js +0 -6
- package/lib/Accordion/Accordion.js +102 -0
- package/lib/Accordion/AccordionItem.js +84 -0
- package/lib/Accordion/__tests__/Accordion.spec.js +82 -0
- package/lib/Accordion/docs/Accordion__Demo.docs.js +104 -0
- package/lib/Accordion/index.js +20 -0
- package/lib/Accordion/props/defaultProps.js +16 -0
- package/lib/Accordion/props/propTypes.js +39 -0
- package/lib/Animation/Animation.js +161 -0
- package/lib/Animation/__tests__/Animation.spec.js +19 -0
- package/lib/Animation/docs/Animation__default.docs.js +61 -0
- package/lib/Animation/docs/Animation__fadeIn.docs.js +61 -0
- package/lib/Animation/docs/Animation__scaleIn.docs.js +61 -0
- package/lib/Animation/docs/Animation__skewIn.docs.js +61 -0
- package/lib/Animation/docs/Animation__slideDown.docs.js +61 -0
- package/lib/Animation/docs/Animation__slideLeft.docs.js +61 -0
- package/lib/Animation/docs/Animation__zoomIn.docs.js +61 -0
- package/lib/Animation/props/defaultProps.js +14 -0
- package/lib/Animation/props/propTypes.js +20 -0
- package/lib/AppContainer/AppContainer.js +156 -0
- package/lib/AppContainer/AppContainer.module.css +18 -0
- package/lib/AppContainer/docs/AppContainer__default.docs.js +47 -0
- package/lib/AppContainer/props/defaultProps.js +15 -0
- package/lib/AppContainer/props/propTypes.js +23 -0
- package/lib/Avatar/Avatar.js +199 -0
- package/lib/Avatar/Avatar.module.css +135 -0
- package/lib/Avatar/__tests__/Avatar.spec.js +164 -0
- package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -0
- package/lib/Avatar/docs/Avatar__custom.docs.js +62 -0
- package/lib/Avatar/docs/Avatar__default.docs.js +60 -0
- package/lib/Avatar/docs/Avatar__palette.docs.js +82 -0
- package/lib/Avatar/docs/Avatar__text.docs.js +61 -0
- package/lib/Avatar/props/defaultProps.js +21 -0
- package/lib/Avatar/props/propTypes.js +31 -0
- package/lib/AvatarTeam/AvatarTeam.js +99 -0
- package/lib/AvatarTeam/AvatarTeam.module.css +161 -0
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +79 -0
- package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -0
- package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +100 -0
- package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +58 -0
- package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +77 -0
- package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +76 -0
- package/lib/AvatarTeam/props/defaultProps.js +20 -0
- package/lib/AvatarTeam/props/propTypes.js +31 -0
- package/lib/Button/Button.js +90 -0
- package/lib/Button/Button.module.css +522 -0
- package/lib/Button/__tests__/Button.spec.js +193 -0
- package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -0
- package/lib/Button/docs/Button__custom.docs.js +800 -0
- package/lib/Button/docs/Button__default.docs.js +565 -0
- package/lib/Button/props/defaultProps.js +22 -0
- package/lib/Button/props/propTypes.js +30 -0
- package/lib/Buttongroup/Buttongroup.js +69 -0
- package/lib/Buttongroup/Buttongroup.module.css +89 -0
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +76 -0
- package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -0
- package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +64 -0
- package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +60 -0
- package/lib/Buttongroup/docs/Buttongroup__header.docs.js +71 -0
- package/lib/Buttongroup/props/defaultProps.js +11 -0
- package/lib/Buttongroup/props/propTypes.js +15 -0
- package/lib/Card/Card.js +301 -0
- package/lib/Card/Card.module.css +20 -0
- package/lib/Card/__tests__/Card.spec.js +47 -0
- package/lib/Card/docs/Card__Custom.docs.js +63 -0
- package/lib/Card/docs/Card__Default.docs.js +66 -0
- package/lib/Card/docs/Card__Scroll.docs.js +87 -0
- package/lib/Card/index.js +33 -0
- package/lib/Card/props/defaultProps.js +23 -0
- package/lib/Card/props/propTypes.js +54 -0
- package/lib/CheckBox/CheckBox.js +183 -0
- package/lib/CheckBox/CheckBox.module.css +157 -0
- package/lib/CheckBox/__tests__/CheckBox.spec.js +15 -0
- package/lib/CheckBox/docs/CheckBox__custom.docs.js +323 -0
- package/lib/CheckBox/docs/CheckBox__default.docs.js +249 -0
- package/lib/CheckBox/props/defaultProps.js +25 -0
- package/lib/CheckBox/props/propTypes.js +49 -0
- package/lib/DateTime/CalendarView.js +227 -0
- package/lib/DateTime/DateTime.js +779 -0
- package/lib/DateTime/DateTime.module.css +233 -0
- package/lib/DateTime/DateTimePopupFooter.js +65 -0
- package/lib/DateTime/DateTimePopupHeader.js +117 -0
- package/lib/DateTime/DateWidget.js +1015 -0
- package/lib/DateTime/DateWidget.module.css +38 -0
- package/lib/DateTime/DaysRow.js +52 -0
- package/lib/DateTime/Time.js +205 -0
- package/lib/DateTime/YearView.js +267 -0
- package/lib/DateTime/YearView.module.css +81 -0
- package/lib/DateTime/__tests__/CalendarView.spec.js +37 -0
- package/lib/DateTime/__tests__/DateTime.spec.js +113 -0
- package/lib/DateTime/__tests__/DateWidget.spec.js +79 -0
- package/lib/DateTime/common.js +30 -0
- package/lib/DateTime/constants.js +76 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +551 -0
- package/lib/DateTime/dateFormatUtils/dayChange.js +74 -0
- package/lib/DateTime/dateFormatUtils/index.js +225 -0
- package/lib/DateTime/dateFormatUtils/monthChange.js +84 -0
- package/lib/DateTime/dateFormatUtils/timeChange.js +208 -0
- package/lib/DateTime/dateFormatUtils/yearChange.js +108 -0
- package/lib/DateTime/docs/DateTime__default.docs.js +119 -0
- package/lib/DateTime/docs/DateWidget__default.docs.js +212 -0
- package/lib/DateTime/docs/timezonedata.json +1 -0
- package/lib/DateTime/index.js +13 -0
- package/lib/DateTime/objectUtils.js +72 -0
- package/lib/DateTime/props/defaultProps.js +61 -0
- package/lib/DateTime/props/propTypes.js +144 -0
- package/lib/DateTime/typeChecker.js +22 -0
- package/lib/DateTime/validator.js +290 -0
- package/lib/DropBox/DropBox.js +266 -0
- package/lib/DropBox/DropBox.module.css +406 -0
- package/lib/DropBox/DropBoxPositionMapping.json +145 -0
- package/lib/DropBox/__tests__/DropBox.spec.js +83 -0
- package/lib/DropBox/docs/DropBox__custom.docs.js +97 -0
- package/lib/DropBox/docs/DropBox__customOrder.docs.js +114 -0
- package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +113 -0
- package/lib/DropBox/docs/DropBox__position.docs.js +118 -0
- package/lib/DropBox/docs/DropBox__size.docs.js +92 -0
- package/lib/DropBox/props/defaultProps.js +27 -0
- package/lib/DropBox/props/propTypes.js +55 -0
- package/lib/DropDown/DropDown.js +127 -0
- package/lib/DropDown/DropDown.module.css +5 -0
- package/lib/DropDown/DropDownHeading.js +64 -0
- package/lib/DropDown/DropDownHeading.module.css +53 -0
- package/lib/DropDown/DropDownItem.js +102 -0
- package/lib/DropDown/DropDownItem.module.css +94 -0
- package/lib/DropDown/DropDownSearch.js +88 -0
- package/lib/DropDown/DropDownSearch.module.css +14 -0
- package/lib/DropDown/DropDownSeparator.js +42 -0
- package/lib/DropDown/DropDownSeparator.module.css +7 -0
- package/lib/DropDown/__tests__/DropDown.spec.js +44 -0
- package/lib/DropDown/__tests__/DropDownItem.spec.js +46 -0
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +14 -0
- package/lib/DropDown/docs/DropDownHeading__custom.docs.js +50 -0
- package/lib/DropDown/docs/DropDownHeading__default.docs.js +48 -0
- package/lib/DropDown/props/defaultProps.js +28 -0
- package/lib/DropDown/props/propTypes.js +89 -0
- package/lib/Heading/Heading.js +64 -0
- package/lib/Heading/Heading.module.css +5 -0
- package/lib/Heading/docs/Heading__default.docs.js +50 -0
- package/lib/Heading/props/defaultProps.js +12 -0
- package/lib/Heading/props/propTypes.js +19 -0
- package/lib/Label/Label.js +65 -0
- package/lib/Label/Label.module.css +52 -0
- package/lib/Label/LabelColors.module.css +21 -0
- package/lib/Label/__tests__/Label.spec.js +124 -0
- package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -0
- package/lib/Label/docs/Label__clipped.docs.js +56 -0
- package/lib/Label/docs/Label__custom.docs.js +59 -0
- package/lib/Label/docs/Label__palette.docs.js +71 -0
- package/lib/Label/docs/Label__size.docs.js +58 -0
- package/lib/Label/docs/Label__type.docs.js +66 -0
- package/lib/Label/props/defaultProps.js +17 -0
- package/lib/Label/props/propTypes.js +22 -0
- package/lib/Layout/Box.js +104 -0
- package/lib/Layout/Container.js +122 -0
- package/lib/Layout/Layout.module.css +336 -0
- package/lib/Layout/__tests__/Box.spec.js +105 -0
- package/lib/Layout/__tests__/Container.spec.js +110 -0
- package/lib/Layout/docs/Layout__Hidden.docs.js +105 -0
- package/lib/Layout/docs/Layout__default.docs.js +77 -0
- package/lib/Layout/docs/Layout__four_Column.docs.js +107 -0
- package/lib/Layout/docs/Layout__three_Column.docs.js +104 -0
- package/lib/Layout/docs/Layout__two_Column.docs.js +97 -0
- package/lib/Layout/index.js +30 -0
- package/lib/Layout/props/defaultProps.js +20 -0
- package/lib/Layout/props/propTypes.js +51 -0
- package/lib/Layout/utils.js +45 -0
- package/lib/LightNightMode/Colors.json +497 -0
- package/lib/LightNightMode/docs/AlternativeColors.docs.js +128 -0
- package/lib/ListItem/ListContainer.js +93 -0
- package/lib/ListItem/ListItem.js +153 -0
- package/lib/ListItem/ListItem.module.css +209 -0
- package/lib/ListItem/ListItemWithAvatar.js +175 -0
- package/lib/ListItem/ListItemWithCheckBox.js +141 -0
- package/lib/ListItem/ListItemWithIcon.js +158 -0
- package/lib/ListItem/ListItemWithRadio.js +143 -0
- package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +182 -0
- package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +139 -0
- package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +118 -0
- package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +92 -0
- package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +95 -0
- package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +89 -0
- package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +118 -0
- package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +92 -0
- package/lib/ListItem/docs/ListItem__custom.docs.js +141 -0
- package/lib/ListItem/docs/ListItem__default.docs.js +109 -0
- package/lib/ListItem/props/defaultProps.js +97 -0
- package/lib/ListItem/props/propTypes.js +176 -0
- package/lib/Modal/Modal.js +174 -0
- package/lib/Modal/__docs__/Modal__default.docs.js +65 -0
- package/lib/Modal/props/defaultProps.js +10 -0
- package/lib/Modal/props/propTypes.js +14 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1032 -0
- package/lib/MultiSelect/AdvancedMultiSelect.js +552 -0
- package/lib/MultiSelect/EmptyState.js +85 -0
- package/lib/MultiSelect/MultiSelect.js +1044 -0
- package/lib/MultiSelect/MultiSelect.module.css +206 -0
- package/lib/MultiSelect/MultiSelectHeader.js +55 -0
- package/lib/MultiSelect/MultiSelectWithAvatar.js +304 -0
- package/lib/MultiSelect/SelectedOptions.js +97 -0
- package/lib/MultiSelect/SelectedOptions.module.css +15 -0
- package/lib/MultiSelect/Suggestions.js +158 -0
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +159 -0
- package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +154 -0
- package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +140 -0
- package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +165 -0
- package/lib/MultiSelect/docs/MultiSelect__default.docs.js +186 -0
- package/lib/MultiSelect/props/defaultProps.js +158 -0
- package/lib/MultiSelect/props/propTypes.js +377 -0
- package/lib/PopOver/PopOver.js +252 -0
- package/lib/PopOver/PopOver.module.css +8 -0
- package/lib/PopOver/__tests__/PopOver.spec.js +17 -0
- package/lib/PopOver/docs/PopOver__default.docs.js +61 -0
- package/lib/PopOver/props/defaultProps.js +15 -0
- package/lib/PopOver/props/propTypes.js +63 -0
- package/lib/Popup/Popup.js +640 -0
- package/lib/Popup/PositionMapping.json +74 -0
- package/lib/Popup/__tests__/Popup.spec.js +155 -0
- package/lib/Popup/viewPort.js +354 -0
- package/lib/Provider/AvatarSize.js +19 -0
- package/lib/Provider/Config.js +25 -0
- package/lib/Provider/CssProvider.js +23 -0
- package/lib/Provider/IdProvider.js +68 -0
- package/lib/Provider/LibraryContext.js +54 -0
- package/lib/Provider/LibraryContextInit.js +11 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +145 -0
- package/lib/Provider/ZindexProvider.js +57 -0
- package/lib/Provider/docs/Provider_Id__Class.docs.js +56 -0
- package/lib/Provider/docs/Provider_Id__Function.docs.js +24 -0
- package/lib/Provider/docs/Provider_Zindex__Class.docs.js +59 -0
- package/lib/Provider/docs/Provider_Zindex__Function.docs.js +29 -0
- package/lib/Provider.js +116 -0
- package/lib/Radio/Radio.js +146 -0
- package/lib/Radio/Radio.module.css +112 -0
- package/lib/Radio/__tests__/Radiospec.js +25 -0
- package/lib/Radio/docs/Radio__custom.docs.js +273 -0
- package/lib/Radio/docs/Radio__default.docs.js +197 -0
- package/lib/Radio/props/defaultProps.js +21 -0
- package/lib/Radio/props/propTypes.js +40 -0
- package/lib/Responsive/CustomResponsive.js +192 -0
- package/lib/Responsive/RefWrapper.js +47 -0
- package/lib/Responsive/ResizeComponent.js +237 -0
- package/lib/Responsive/ResizeObserver.js +151 -0
- package/lib/Responsive/Responsive.js +222 -0
- package/lib/Responsive/docs/Responsive__Custom.docs.js +247 -0
- package/lib/Responsive/docs/Responsive__default.docs.js +118 -0
- package/lib/Responsive/docs/style.module.css +56 -0
- package/lib/Responsive/index.js +28 -0
- package/lib/Responsive/props/defaultProps.js +23 -0
- package/lib/Responsive/props/propTypes.js +36 -0
- package/lib/Responsive/sizeObservers.js +176 -0
- package/lib/Responsive/utils/index.js +62 -0
- package/lib/Responsive/utils/shallowCompare.js +29 -0
- package/lib/Responsive/windowResizeObserver.js +55 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +94 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -0
- package/lib/ResponsiveDropBox/props/defaultProps.js +11 -0
- package/lib/ResponsiveDropBox/props/propTypes.js +15 -0
- package/lib/Ribbon/Ribbon.js +71 -0
- package/lib/Ribbon/Ribbon.module.css +377 -0
- package/lib/Ribbon/__tests__/Ribbon.spec.js +171 -0
- package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -0
- package/lib/Ribbon/docs/Ribbon__custom.docs.js +414 -0
- package/lib/Ribbon/docs/Ribbon__default.docs.js +370 -0
- package/lib/Ribbon/props/defaultProps.js +15 -0
- package/lib/Ribbon/props/propTypes.js +18 -0
- package/lib/RippleEffect/RippleEffect.js +35 -0
- package/lib/RippleEffect/RippleEffect.module.css +92 -0
- package/lib/RippleEffect/docs/RippleEffect__default.docs.js +462 -0
- package/lib/RippleEffect/props/defaultProps.js +16 -0
- package/lib/RippleEffect/props/propTypes.js +19 -0
- package/lib/Select/GroupSelect.js +771 -0
- package/lib/Select/Select.js +910 -0
- package/lib/Select/Select.module.css +109 -0
- package/lib/Select/SelectWithAvatar.js +340 -0
- package/lib/Select/SelectWithIcon.js +530 -0
- package/lib/Select/__tests__/Select.spec.js +341 -0
- package/lib/Select/docs/GroupSelect__default.docs.js +173 -0
- package/lib/Select/docs/SelectWithAvatar__default.docs.js +124 -0
- package/lib/Select/docs/SelectWithIcon__default.docs.js +165 -0
- package/lib/Select/docs/Select__default.docs.js +313 -0
- package/lib/Select/props/defaultProps.js +112 -0
- package/lib/Select/props/propTypes.js +280 -0
- package/lib/Stencils/Stencils.js +57 -0
- package/lib/Stencils/Stencils.module.css +96 -0
- package/lib/Stencils/__tests__/Stencils.spec.js +72 -0
- package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -0
- package/lib/Stencils/docs/Stencils__custom.docs.js +72 -0
- package/lib/Stencils/docs/Stencils__default.docs.js +77 -0
- package/lib/Stencils/props/defaultProps.js +13 -0
- package/lib/Stencils/props/propTypes.js +15 -0
- package/lib/Switch/Switch.js +123 -0
- package/lib/Switch/Switch.module.css +111 -0
- package/lib/Switch/docs/Switch__custom.docs.js +180 -0
- package/lib/Switch/docs/Switch__default.docs.js +134 -0
- package/lib/Switch/props/defaultProps.js +17 -0
- package/lib/Switch/props/propTypes.js +35 -0
- package/lib/Tab/Tab.js +116 -0
- package/lib/Tab/Tab.module.css +101 -0
- package/lib/Tab/TabContent.js +33 -0
- package/lib/Tab/TabContent.module.css +4 -0
- package/lib/Tab/TabContentWrapper.js +33 -0
- package/lib/Tab/TabWrapper.js +69 -0
- package/lib/Tab/Tabs.js +581 -0
- package/lib/Tab/Tabs.module.css +141 -0
- package/lib/Tab/__tests__/Tab.spec.js +119 -0
- package/lib/Tab/__tests__/TabContent.spec.js +18 -0
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +51 -0
- package/lib/Tab/__tests__/TabWrapper.spec.js +88 -0
- package/lib/Tab/__tests__/Tabs.spec.js +109 -0
- package/lib/Tab/docs/Tab__default.docs.js +283 -0
- package/lib/Tab/docs/tabdocs.module.css +29 -0
- package/lib/Tab/index.js +41 -0
- package/lib/Tab/props/defaultProps.js +50 -0
- package/lib/Tab/props/propTypes.js +114 -0
- package/lib/Tag/Tag.js +177 -0
- package/lib/Tag/Tag.module.css +255 -0
- package/lib/Tag/__tests__/Tag.spec.js +29 -0
- package/lib/Tag/docs/Tag__custom.docs.js +397 -0
- package/lib/Tag/docs/Tag__default.docs.js +352 -0
- package/lib/Tag/props/defaultProps.js +20 -0
- package/lib/Tag/props/propTypes.js +42 -0
- package/lib/TextBox/TextBox.js +193 -0
- package/lib/TextBox/TextBox.module.css +157 -0
- package/lib/TextBox/__tests__/TextBox.spec.js +195 -0
- package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -0
- package/lib/TextBox/docs/TextBox__custom.docs.js +72 -0
- package/lib/TextBox/docs/TextBox__default.docs.js +69 -0
- package/lib/TextBox/docs/TextBox__size.docs.js +67 -0
- package/lib/TextBox/docs/TextBox__variant.docs.js +67 -0
- package/lib/TextBox/props/defaultProps.js +26 -0
- package/lib/TextBox/props/propTypes.js +57 -0
- package/lib/TextBoxIcon/TextBoxIcon.js +187 -0
- package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -0
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +219 -0
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -0
- package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +118 -0
- package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +90 -0
- package/lib/TextBoxIcon/props/defaultProps.js +28 -0
- package/lib/TextBoxIcon/props/propTypes.js +57 -0
- package/lib/Textarea/Textarea.js +130 -0
- package/lib/Textarea/Textarea.module.css +139 -0
- package/lib/Textarea/__tests__/Textarea.spec.js +174 -0
- package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -0
- package/lib/Textarea/docs/Textarea__animated.docs.js +70 -0
- package/lib/Textarea/docs/Textarea__custom.docs.js +111 -0
- package/lib/Textarea/docs/Textarea__default.docs.js +105 -0
- package/lib/Textarea/docs/Textarea__disabled.docs.js +58 -0
- package/lib/Textarea/props/defaultProps.js +23 -0
- package/lib/Textarea/props/propTypes.js +39 -0
- package/lib/Tooltip/Tooltip.js +516 -0
- package/lib/Tooltip/Tooltip.module.css +109 -0
- package/lib/Tooltip/__tests__/Tooltip.spec.js +75 -0
- package/lib/Tooltip/docs/Tooltip__default.docs.js +402 -0
- package/lib/Tooltip/props/defaultProps.js +11 -0
- package/lib/Tooltip/props/propTypes.js +16 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +100 -0
- package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +123 -0
- package/lib/VelocityAnimation/VelocityAnimation/props/defaultProps.js +14 -0
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +20 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +131 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +174 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +22 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +27 -0
- package/lib/common/animation.module.css +624 -0
- package/lib/common/avatarsizes.module.css +45 -0
- package/lib/common/basic.module.css +33 -0
- package/lib/common/basicReset.module.css +40 -0
- package/lib/common/common.module.css +525 -0
- package/lib/common/customscroll.module.css +89 -0
- package/lib/common/docStyle.module.css +766 -0
- package/lib/common/reset.module.css +12 -0
- package/lib/common/transition.module.css +146 -0
- package/lib/css.js +42 -0
- package/lib/deprecated/AdvancedMultiSelect.module.css +127 -0
- package/lib/deprecated/PortalLayer/PortalLayer.js +126 -0
- package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +111 -0
- package/lib/deprecated/PortalLayer/props/defaultProps.js +12 -0
- package/lib/deprecated/PortalLayer/props/propTypes.js +19 -0
- package/lib/deprecated/advancedMultiSelectVariableJson.js +82 -0
- package/lib/index.js +1245 -0
- package/lib/semantic/Button/Button.js +81 -0
- package/lib/semantic/Button/docs/Button__default.docs.js +43 -0
- package/lib/semantic/Button/props/defaultProps.js +19 -0
- package/lib/semantic/Button/props/propTypes.js +34 -0
- package/lib/semantic/Button/semanticButton.module.css +9 -0
- package/lib/utils/Common.js +391 -0
- package/lib/utils/ContextOptimizer.js +43 -0
- package/lib/utils/__tests__/constructFullName.spec.js +11 -0
- package/lib/utils/__tests__/debounce.spec.js +39 -0
- package/lib/utils/__tests__/getInitial.spec.js +25 -0
- package/lib/utils/constant.js +10 -0
- package/lib/utils/constructFullName.js +25 -0
- package/lib/utils/datetime/common.js +206 -0
- package/lib/utils/debounce.js +25 -0
- package/lib/utils/dropDownUtils.js +491 -0
- package/lib/utils/dummyFunction.js +8 -0
- package/lib/utils/getHTMLFontSize.js +10 -0
- package/lib/utils/getInitial.js +27 -0
- package/lib/utils/scrollTo.js +20 -0
- package/lib/utils/shallowEqual.js +33 -0
- package/package.json +1 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { MultiSelect_propTypes } from './props/propTypes';
|
|
4
4
|
import { MultiSelect_defaultProps } from './props/defaultProps';
|
|
5
|
-
/**** Components ****/
|
|
6
5
|
|
|
6
|
+
/**** Components ****/
|
|
7
7
|
import Popup from '../Popup/Popup';
|
|
8
8
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
9
9
|
import { Container, Box } from '../Layout';
|
|
@@ -16,19 +16,18 @@ import CssProvider from '../Provider/CssProvider';
|
|
|
16
16
|
import { getUniqueId } from '../Provider/IdProvider';
|
|
17
17
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
18
18
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
19
|
+
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
19
20
|
/**** Icons ****/
|
|
20
|
-
|
|
21
21
|
import Icon from '@zohodesk/icons/lib/Icon';
|
|
22
22
|
/**** CSS ****/
|
|
23
|
-
|
|
24
23
|
import style from './MultiSelect.module.css';
|
|
25
|
-
/**** Methods ****/
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
/**** Methods ****/
|
|
26
|
+
import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
|
|
28
27
|
import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../utils/dropDownUtils';
|
|
29
28
|
import { getLibraryConfig } from '../Provider/Config';
|
|
30
|
-
/* eslint-disable react/forbid-component-props */
|
|
31
29
|
|
|
30
|
+
/* eslint-disable react/forbid-component-props */
|
|
32
31
|
/* eslint-disable react/no-unused-prop-types */
|
|
33
32
|
|
|
34
33
|
const dummyArray = [];
|
|
@@ -39,8 +38,9 @@ export class MultiSelectComponent extends React.Component {
|
|
|
39
38
|
this.getFilterSuggestions = makeGetFilterSuggestions();
|
|
40
39
|
this.formatOptions = makeFormatOptions();
|
|
41
40
|
this.getSelectedOptions = makeGetSelectedOptions();
|
|
42
|
-
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
41
|
+
this.getIsShowClearIcon = makeGetIsShowClearIcon();
|
|
43
42
|
|
|
43
|
+
//Use in AdvancedMultiSelect component
|
|
44
44
|
this.objectConcat = makeObjectConcat();
|
|
45
45
|
this.formatSelectedOptions = makeFormatOptions();
|
|
46
46
|
const {
|
|
@@ -78,11 +78,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
78
78
|
this.handleScroll = this.handleScroll.bind(this);
|
|
79
79
|
this.handleScrollFuncCall = debounce(this.handleScrollFuncCall.bind(this), 500);
|
|
80
80
|
}
|
|
81
|
-
|
|
82
81
|
componentDidMount() {
|
|
83
82
|
// let { suggestionContainer } = this;
|
|
84
83
|
this._isMounted = true;
|
|
85
|
-
this.handleExposedPublicMethods();
|
|
84
|
+
this.handleExposedPublicMethods();
|
|
85
|
+
// suggestionContainer &&
|
|
86
86
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -95,7 +95,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
95
95
|
prefixText
|
|
96
96
|
} = nextProps;
|
|
97
97
|
const oldProps = this.props;
|
|
98
|
-
|
|
99
98
|
if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
|
|
100
99
|
) {
|
|
101
100
|
const {
|
|
@@ -134,7 +133,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
134
133
|
});
|
|
135
134
|
}
|
|
136
135
|
}
|
|
137
|
-
|
|
138
136
|
componentDidUpdate(prevProps, prevState) {
|
|
139
137
|
const {
|
|
140
138
|
suggestionContainer,
|
|
@@ -153,11 +151,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
153
151
|
onDropBoxClose,
|
|
154
152
|
onDropBoxOpen,
|
|
155
153
|
isSearchClearOnClose
|
|
156
|
-
} = this.props;
|
|
154
|
+
} = this.props;
|
|
157
155
|
|
|
156
|
+
//handle dropbox open & close
|
|
158
157
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
159
158
|
isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
160
|
-
|
|
161
159
|
if (!isPopupOpen) {
|
|
162
160
|
this.setState({
|
|
163
161
|
hoverOption: 0
|
|
@@ -165,42 +163,41 @@ export class MultiSelectComponent extends React.Component {
|
|
|
165
163
|
isSearchClearOnClose && searchStr && this.handleSearch('');
|
|
166
164
|
onDropBoxClose && onDropBoxClose();
|
|
167
165
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
166
|
+
}
|
|
170
167
|
|
|
168
|
+
//scrollTo handling
|
|
171
169
|
const hoverId = suggestionsOrder[hoverOption] || '';
|
|
172
170
|
const selectedSuggestion = this[`suggestion_${hoverId}`];
|
|
173
171
|
const lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
|
|
174
172
|
const selectedOption = this[`selectedOption_${lastHighLightedSelectOption}`];
|
|
175
173
|
isPopupOpen && scrollTo(suggestionContainer, selectedSuggestion);
|
|
176
|
-
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
174
|
+
selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
|
|
177
175
|
|
|
176
|
+
//When suggestions length less than 5, getNextOptions function call
|
|
178
177
|
const {
|
|
179
178
|
isNextOptions,
|
|
180
179
|
getNextOptions
|
|
181
|
-
} = this.props;
|
|
182
|
-
|
|
180
|
+
} = this.props;
|
|
181
|
+
// let { searchStr } = this.state;
|
|
183
182
|
const suggestions = this.handleFilterSuggestions();
|
|
184
183
|
const suggestionsLen = suggestions.length;
|
|
185
|
-
|
|
186
184
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
187
185
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
188
|
-
}
|
|
189
|
-
|
|
186
|
+
}
|
|
190
187
|
|
|
188
|
+
//Need To MultiselectNew Component
|
|
191
189
|
this.handleComponentDidUpdate(prevProps, prevState);
|
|
192
190
|
}
|
|
193
|
-
|
|
194
191
|
componentWillUnmount() {
|
|
195
192
|
// let { suggestionContainer } = this;
|
|
196
|
-
this._isMounted = false;
|
|
193
|
+
this._isMounted = false;
|
|
194
|
+
// suggestionContainer &&
|
|
197
195
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
198
196
|
}
|
|
199
197
|
|
|
200
198
|
handleComponentDidUpdate() {
|
|
201
199
|
return;
|
|
202
200
|
}
|
|
203
|
-
|
|
204
201
|
handleFormatOptions(props) {
|
|
205
202
|
const {
|
|
206
203
|
options,
|
|
@@ -218,14 +215,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
218
215
|
disabledOptions
|
|
219
216
|
});
|
|
220
217
|
}
|
|
221
|
-
|
|
222
218
|
handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
|
|
223
219
|
return this.getSelectedOptions({
|
|
224
220
|
selectedOptions,
|
|
225
221
|
normalizedFormatOptions
|
|
226
222
|
});
|
|
227
223
|
}
|
|
228
|
-
|
|
229
224
|
handleInputCick(e) {
|
|
230
225
|
const {
|
|
231
226
|
removeClose
|
|
@@ -234,7 +229,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
234
229
|
highLightedSelectOptions,
|
|
235
230
|
searchStr = ''
|
|
236
231
|
} = this.state;
|
|
237
|
-
|
|
238
232
|
if (highLightedSelectOptions.length) {
|
|
239
233
|
this.setState({
|
|
240
234
|
highLightedSelectOptions: [],
|
|
@@ -248,7 +242,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
248
242
|
this.togglePopup(e);
|
|
249
243
|
}
|
|
250
244
|
}
|
|
251
|
-
|
|
252
245
|
handleFilterSuggestions() {
|
|
253
246
|
const {
|
|
254
247
|
options = dummyArray,
|
|
@@ -270,7 +263,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
270
263
|
this.suggestionsOrder = suggestionIds;
|
|
271
264
|
return suggestions;
|
|
272
265
|
}
|
|
273
|
-
|
|
274
266
|
handleKeyDown(e) {
|
|
275
267
|
const {
|
|
276
268
|
keyCode,
|
|
@@ -295,27 +287,20 @@ export class MultiSelectComponent extends React.Component {
|
|
|
295
287
|
onKeyDown
|
|
296
288
|
} = this.props;
|
|
297
289
|
const highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
298
|
-
|
|
299
290
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
|
|
300
291
|
suggestions = this.handleFilterSuggestions();
|
|
301
292
|
}
|
|
302
|
-
|
|
303
293
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
304
294
|
onKeyDown && onKeyDown(e);
|
|
305
295
|
}
|
|
306
|
-
|
|
307
296
|
if (!isPopupOpen && keyCode === 40) {
|
|
308
297
|
//down arrow press popup open
|
|
309
298
|
e.preventDefault(); //prevent body scroll
|
|
310
|
-
|
|
311
299
|
this.togglePopup(e);
|
|
312
300
|
}
|
|
313
|
-
|
|
314
301
|
const suggestionsLen = suggestions.length;
|
|
315
|
-
|
|
316
302
|
if (suggestionsLen && isPopupOpen && keyCode === 38) {
|
|
317
303
|
//up arrow
|
|
318
|
-
|
|
319
304
|
/*if (hoverOption === 0) { //disable first to last option higlight
|
|
320
305
|
!isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
|
|
321
306
|
}*/
|
|
@@ -326,7 +311,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
326
311
|
}
|
|
327
312
|
} else if (suggestionsLen && isPopupOpen && keyCode === 40) {
|
|
328
313
|
//down arrow
|
|
329
|
-
|
|
330
314
|
/*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
|
|
331
315
|
//disable last to first option higlight
|
|
332
316
|
!isNextOptions && this.setState({ hoverOption: 0 });
|
|
@@ -354,7 +338,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
354
338
|
if (highLightedSelectOptionsLen) {
|
|
355
339
|
this.handleRemoveOption(highLightedSelectOptions);
|
|
356
340
|
} else {
|
|
357
|
-
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
341
|
+
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
342
|
+
// this.setState({
|
|
358
343
|
// highLightedSelectOptions: selectedOptions.slice(-1)
|
|
359
344
|
// });
|
|
360
345
|
}
|
|
@@ -369,7 +354,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
369
354
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
370
355
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
|
|
371
356
|
const newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
|
|
372
|
-
|
|
373
357
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
374
358
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
|
|
375
359
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -386,7 +370,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
386
370
|
const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
|
|
387
371
|
const newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
|
|
388
372
|
const newHighLightedSelectOption = selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted - 1];
|
|
389
|
-
|
|
390
373
|
if (!getIsEmptyValue(newHighLightedSelectOption)) {
|
|
391
374
|
const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
|
|
392
375
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -399,15 +382,14 @@ export class MultiSelectComponent extends React.Component {
|
|
|
399
382
|
});
|
|
400
383
|
}
|
|
401
384
|
} else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
|
|
402
|
-
const isRightArrow = keyCode === 39 ? true : false;
|
|
403
|
-
|
|
385
|
+
const isRightArrow = keyCode === 39 ? true : false;
|
|
386
|
+
// let isLefttArrow = keyCode === 37 ? true : false;
|
|
404
387
|
if (highLightedSelectOptions.length) {
|
|
405
388
|
const [lastHighLightedSelectOption] = highLightedSelectOptions.slice(-1);
|
|
406
389
|
const lastHighLightedSelectOptionIndex = selectedOptions.indexOf(lastHighLightedSelectOption);
|
|
407
390
|
const newLastHighLightedSelectOptionIndex = isRightArrow ? lastHighLightedSelectOptionIndex === selectedOptions.length - 1 ? lastHighLightedSelectOptionIndex : lastHighLightedSelectOptionIndex + 1 : lastHighLightedSelectOptionIndex - 1;
|
|
408
391
|
const newLastHighLightedSelectOption = selectedOptions[newLastHighLightedSelectOptionIndex];
|
|
409
392
|
const isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === lastHighLightedSelectOption ? true : false;
|
|
410
|
-
|
|
411
393
|
if (!getIsEmptyValue(newLastHighLightedSelectOption)) {
|
|
412
394
|
this.setState({
|
|
413
395
|
lastHighLightedSelectOption: isEmptyHighlighted ? '' : newLastHighLightedSelectOption,
|
|
@@ -423,12 +405,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
423
405
|
shiftKeyPressHighLighted: 0
|
|
424
406
|
});
|
|
425
407
|
}
|
|
426
|
-
} else if (keyCode === 27) {
|
|
408
|
+
} else if (keyCode === 27) {
|
|
409
|
+
// this.handlePopupClose(e);
|
|
427
410
|
} else if (keyCode === 9) {
|
|
428
411
|
this.handlePopupClose(e);
|
|
429
412
|
}
|
|
430
413
|
}
|
|
431
|
-
|
|
432
414
|
handleSelectAll(e) {
|
|
433
415
|
e && e.preventDefault();
|
|
434
416
|
const suggestions = this.handleFilterSuggestions();
|
|
@@ -440,12 +422,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
440
422
|
const {
|
|
441
423
|
id
|
|
442
424
|
} = option;
|
|
443
|
-
|
|
444
425
|
if (selectedOptions.indexOf(id) === -1) {
|
|
445
426
|
newSelectedOptions.push(id);
|
|
446
427
|
}
|
|
447
428
|
});
|
|
448
|
-
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
429
|
+
this.handleChange([...selectedOptions, ...newSelectedOptions]);
|
|
430
|
+
// this.handlePopupClose(e);
|
|
449
431
|
}
|
|
450
432
|
|
|
451
433
|
handleDeselectAll(e) {
|
|
@@ -456,18 +438,15 @@ export class MultiSelectComponent extends React.Component {
|
|
|
456
438
|
const {
|
|
457
439
|
highLightedSelectOptions
|
|
458
440
|
} = this.state;
|
|
459
|
-
|
|
460
441
|
if (highLightedSelectOptions.length) {
|
|
461
442
|
this.setState({
|
|
462
443
|
highLightedSelectOptions: [],
|
|
463
444
|
lastHighLightedSelectOption: ''
|
|
464
445
|
});
|
|
465
446
|
}
|
|
466
|
-
|
|
467
447
|
removeClose(e);
|
|
468
448
|
this.handleChange([]);
|
|
469
449
|
}
|
|
470
|
-
|
|
471
450
|
handleSelectOption(option, value, index, e) {
|
|
472
451
|
const {
|
|
473
452
|
selectedOptions,
|
|
@@ -476,12 +455,11 @@ export class MultiSelectComponent extends React.Component {
|
|
|
476
455
|
const {
|
|
477
456
|
searchStr
|
|
478
457
|
} = this.state;
|
|
479
|
-
|
|
480
458
|
if (searchStr.trim() != '' && isSearchClearOnSelect) {
|
|
481
459
|
this.handleSearch('');
|
|
482
460
|
}
|
|
483
|
-
|
|
484
|
-
|
|
461
|
+
this.handleChange([...selectedOptions, option], e);
|
|
462
|
+
// e && e.stopPropagation && this.handlePopupClose(e);
|
|
485
463
|
}
|
|
486
464
|
|
|
487
465
|
handleRemoveOption(options) {
|
|
@@ -495,22 +473,18 @@ export class MultiSelectComponent extends React.Component {
|
|
|
495
473
|
lastHighLightedSelectOption,
|
|
496
474
|
shiftKeyPressHighLighted
|
|
497
475
|
} = this.state;
|
|
498
|
-
|
|
499
476
|
if (newOptions.length && !isReadOnly) {
|
|
500
477
|
const newSelectedOptions = selectedOptions.filter(option => newOptions.indexOf(option) === -1);
|
|
501
478
|
const newHighLightedSelectOptions = highLightedSelectOptions.filter(option => newSelectedOptions.indexOf(option) >= 0);
|
|
502
479
|
let isHighlightedRemoved = false;
|
|
503
480
|
const newOptionsLen = newOptions.length;
|
|
504
|
-
|
|
505
481
|
for (let i = 0; i < newOptionsLen; i++) {
|
|
506
482
|
const removedOption = newOptions[i];
|
|
507
|
-
|
|
508
483
|
if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
|
|
509
484
|
isHighlightedRemoved = true;
|
|
510
485
|
break;
|
|
511
486
|
}
|
|
512
487
|
}
|
|
513
|
-
|
|
514
488
|
this.setState({
|
|
515
489
|
lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
|
|
516
490
|
highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
|
|
@@ -518,12 +492,10 @@ export class MultiSelectComponent extends React.Component {
|
|
|
518
492
|
});
|
|
519
493
|
this.handleChange(newSelectedOptions);
|
|
520
494
|
}
|
|
521
|
-
|
|
522
495
|
this.searchInput && this.searchInput.focus({
|
|
523
496
|
preventScroll: true
|
|
524
497
|
});
|
|
525
498
|
}
|
|
526
|
-
|
|
527
499
|
handleMouseEnter(id, val, hoverOptionIndex, e) {
|
|
528
500
|
e && e.preventDefault();
|
|
529
501
|
const {
|
|
@@ -533,19 +505,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
533
505
|
suggestionsOrder
|
|
534
506
|
} = this;
|
|
535
507
|
const newHoverIndex = suggestionsOrder.indexOf(id);
|
|
536
|
-
|
|
537
508
|
if (newHoverIndex !== hoverOption) {
|
|
538
509
|
this.setState({
|
|
539
510
|
hoverOption: newHoverIndex
|
|
540
511
|
});
|
|
541
512
|
}
|
|
542
513
|
}
|
|
543
|
-
|
|
544
514
|
handleFetchOptions() {
|
|
545
515
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
546
516
|
args[_key] = arguments[_key];
|
|
547
517
|
}
|
|
548
|
-
|
|
549
518
|
const [APICall, searchStr] = args;
|
|
550
519
|
const {
|
|
551
520
|
isFetchingOptions
|
|
@@ -554,12 +523,10 @@ export class MultiSelectComponent extends React.Component {
|
|
|
554
523
|
_isMounted
|
|
555
524
|
} = this;
|
|
556
525
|
const isForce = isFetchingOptions && searchStr ? true : false;
|
|
557
|
-
|
|
558
526
|
if (!isFetchingOptions && APICall || isForce) {
|
|
559
527
|
this.setState({
|
|
560
528
|
isFetchingOptions: true
|
|
561
529
|
});
|
|
562
|
-
|
|
563
530
|
try {
|
|
564
531
|
return APICall(searchStr).then(() => {
|
|
565
532
|
_isMounted && this.setState({
|
|
@@ -577,7 +544,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
577
544
|
}
|
|
578
545
|
}
|
|
579
546
|
}
|
|
580
|
-
|
|
581
547
|
handleSearchOptions() {
|
|
582
548
|
const {
|
|
583
549
|
onSearch
|
|
@@ -587,7 +553,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
587
553
|
} = this.state;
|
|
588
554
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
589
555
|
}
|
|
590
|
-
|
|
591
556
|
handleSearch(value, e) {
|
|
592
557
|
const {
|
|
593
558
|
onSearch,
|
|
@@ -610,7 +575,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
610
575
|
}
|
|
611
576
|
});
|
|
612
577
|
}
|
|
613
|
-
|
|
614
578
|
handleClickSelectedOption() {
|
|
615
579
|
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
616
580
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -626,16 +590,13 @@ export class MultiSelectComponent extends React.Component {
|
|
|
626
590
|
ctrlKey,
|
|
627
591
|
shiftKey
|
|
628
592
|
} = e;
|
|
629
|
-
|
|
630
593
|
if (e && shiftKey) {
|
|
631
594
|
//shift+click
|
|
632
595
|
let from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
633
596
|
let to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
|
|
634
|
-
|
|
635
597
|
if (to >= 0 && to < from) {
|
|
636
598
|
[to] = [from, from = to];
|
|
637
599
|
}
|
|
638
|
-
|
|
639
600
|
to += 1;
|
|
640
601
|
const newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
|
|
641
602
|
to && this.setState({
|
|
@@ -646,7 +607,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
646
607
|
//ctrl+click
|
|
647
608
|
const isRemove = highLightedSelectOptions.indexOf(id) >= 0;
|
|
648
609
|
let newSelectedHighlights = [];
|
|
649
|
-
|
|
650
610
|
if (isRemove) {
|
|
651
611
|
lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
|
|
652
612
|
newSelectedHighlights = highLightedSelectOptions.filter(option => option !== id);
|
|
@@ -654,7 +614,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
654
614
|
lastHighLightedSelectOption = id;
|
|
655
615
|
newSelectedHighlights = [...highLightedSelectOptions, id];
|
|
656
616
|
}
|
|
657
|
-
|
|
658
617
|
this.setState({
|
|
659
618
|
highLightedSelectOptions: newSelectedHighlights,
|
|
660
619
|
lastHighLightedSelectOption
|
|
@@ -665,7 +624,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
665
624
|
lastHighLightedSelectOption: id
|
|
666
625
|
});
|
|
667
626
|
}
|
|
668
|
-
|
|
669
627
|
this.setState({
|
|
670
628
|
shiftKeyPressHighLighted: 0
|
|
671
629
|
});
|
|
@@ -673,27 +631,21 @@ export class MultiSelectComponent extends React.Component {
|
|
|
673
631
|
preventScroll: true
|
|
674
632
|
});
|
|
675
633
|
}
|
|
676
|
-
|
|
677
634
|
handleScroll(e) {
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1 && isNextOptions) {
|
|
683
|
-
this.handleScrollFuncCall();
|
|
684
|
-
}
|
|
635
|
+
let ele = e.target;
|
|
636
|
+
let isScrollReachedBottom = findScrollEnd(ele);
|
|
637
|
+
isScrollReachedBottom && this.handleScrollFuncCall();
|
|
685
638
|
}
|
|
686
|
-
|
|
687
639
|
handleScrollFuncCall() {
|
|
688
640
|
const {
|
|
689
|
-
getNextOptions
|
|
641
|
+
getNextOptions,
|
|
642
|
+
isNextOptions
|
|
690
643
|
} = this.props;
|
|
691
644
|
const {
|
|
692
645
|
searchStr
|
|
693
646
|
} = this.state;
|
|
694
|
-
getNextOptions && getNextOptions
|
|
647
|
+
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
695
648
|
}
|
|
696
|
-
|
|
697
649
|
handleChange() {
|
|
698
650
|
let selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
699
651
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -716,23 +668,19 @@ export class MultiSelectComponent extends React.Component {
|
|
|
716
668
|
});
|
|
717
669
|
const selectedOptionsLen = newSelectedOptions.length;
|
|
718
670
|
const allSelectedOptionsDetails = [];
|
|
719
|
-
|
|
720
671
|
for (let i = 0; i < selectedOptionsLen; i++) {
|
|
721
672
|
const id = newSelectedOptions[i];
|
|
722
673
|
allSelectedOptionsDetails.push(optionsNormalize[id]);
|
|
723
674
|
}
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
675
|
+
onChange && onChange(newSelectedOptions, allSelectedOptionsDetails);
|
|
676
|
+
// this.setState({ searchStr: '' });
|
|
727
677
|
this.searchInput && this.searchInput.focus({
|
|
728
678
|
preventScroll: true
|
|
729
679
|
});
|
|
730
|
-
|
|
731
680
|
if (needToCloseOnSelect) {
|
|
732
681
|
togglePopup(e);
|
|
733
682
|
}
|
|
734
683
|
}
|
|
735
|
-
|
|
736
684
|
togglePopup(e) {
|
|
737
685
|
const {
|
|
738
686
|
togglePopup,
|
|
@@ -741,14 +689,12 @@ export class MultiSelectComponent extends React.Component {
|
|
|
741
689
|
} = this.props;
|
|
742
690
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
|
|
743
691
|
}
|
|
744
|
-
|
|
745
692
|
handlePopupClose(e) {
|
|
746
693
|
const {
|
|
747
694
|
closePopupOnly
|
|
748
695
|
} = this.props;
|
|
749
696
|
closePopupOnly(e);
|
|
750
697
|
}
|
|
751
|
-
|
|
752
698
|
searchInputRef(el) {
|
|
753
699
|
const {
|
|
754
700
|
getRef
|
|
@@ -756,7 +702,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
756
702
|
this.searchInput = el;
|
|
757
703
|
getRef && getRef(el);
|
|
758
704
|
}
|
|
759
|
-
|
|
760
705
|
selectedOptionContainerRef(el) {
|
|
761
706
|
const {
|
|
762
707
|
getTargetRef
|
|
@@ -764,31 +709,25 @@ export class MultiSelectComponent extends React.Component {
|
|
|
764
709
|
this.selectedOptionContainer = el;
|
|
765
710
|
getTargetRef(el);
|
|
766
711
|
}
|
|
767
|
-
|
|
768
712
|
selectedOptionRef(el, id) {
|
|
769
713
|
this[`selectedOption_${id}`] = el;
|
|
770
714
|
}
|
|
771
|
-
|
|
772
715
|
suggestionContainerRef(el) {
|
|
773
716
|
this.suggestionContainer = el;
|
|
774
717
|
}
|
|
775
|
-
|
|
776
718
|
suggestionItemRef(el, index, id) {
|
|
777
719
|
this[`suggestion_${id}`] = el;
|
|
778
720
|
}
|
|
779
|
-
|
|
780
721
|
handleActive(e) {
|
|
781
722
|
const {
|
|
782
723
|
searchStr,
|
|
783
724
|
isActive
|
|
784
725
|
} = this.state;
|
|
785
|
-
|
|
786
726
|
if (!isActive) {
|
|
787
727
|
this.setState({
|
|
788
728
|
isActive: true
|
|
789
729
|
});
|
|
790
730
|
}
|
|
791
|
-
|
|
792
731
|
const {
|
|
793
732
|
target
|
|
794
733
|
} = e || {};
|
|
@@ -798,19 +737,16 @@ export class MultiSelectComponent extends React.Component {
|
|
|
798
737
|
} = this.props;
|
|
799
738
|
onFocus && onFocus(searchStr);
|
|
800
739
|
}
|
|
801
|
-
|
|
802
740
|
handleInactive() {
|
|
803
741
|
const {
|
|
804
742
|
isActive
|
|
805
743
|
} = this.state;
|
|
806
|
-
|
|
807
744
|
if (isActive) {
|
|
808
745
|
this.setState({
|
|
809
746
|
isActive: false
|
|
810
747
|
});
|
|
811
748
|
}
|
|
812
749
|
}
|
|
813
|
-
|
|
814
750
|
handleInputFocus() {
|
|
815
751
|
const {
|
|
816
752
|
isDisabled,
|
|
@@ -820,7 +756,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
820
756
|
preventScroll: true
|
|
821
757
|
});
|
|
822
758
|
}
|
|
823
|
-
|
|
824
759
|
handleExposedPublicMethods() {
|
|
825
760
|
const {
|
|
826
761
|
getPublicMethods,
|
|
@@ -830,7 +765,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
830
765
|
openPopupOnly
|
|
831
766
|
});
|
|
832
767
|
}
|
|
833
|
-
|
|
834
768
|
responsiveFunc(_ref) {
|
|
835
769
|
let {
|
|
836
770
|
mediaQueryOR
|
|
@@ -841,7 +775,6 @@ export class MultiSelectComponent extends React.Component {
|
|
|
841
775
|
}])
|
|
842
776
|
};
|
|
843
777
|
}
|
|
844
|
-
|
|
845
778
|
render() {
|
|
846
779
|
let {
|
|
847
780
|
isReadOnly,
|
|
@@ -884,7 +817,8 @@ export class MultiSelectComponent extends React.Component {
|
|
|
884
817
|
needEffect,
|
|
885
818
|
disabledOptions,
|
|
886
819
|
boxSize,
|
|
887
|
-
autoComplete
|
|
820
|
+
autoComplete,
|
|
821
|
+
isLoading
|
|
888
822
|
} = this.props;
|
|
889
823
|
const {
|
|
890
824
|
clearText = 'Clear all',
|
|
@@ -1029,7 +963,10 @@ export class MultiSelectComponent extends React.Component {
|
|
|
1029
963
|
selectAllText: selectAllText,
|
|
1030
964
|
suggestions: suggestions,
|
|
1031
965
|
dataId: dataId
|
|
1032
|
-
})), /*#__PURE__*/React.createElement(
|
|
966
|
+
})), isLoading ? /*#__PURE__*/React.createElement(Container, {
|
|
967
|
+
align: "both",
|
|
968
|
+
className: style.loader
|
|
969
|
+
}, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(CardContent, {
|
|
1033
970
|
shrink: true,
|
|
1034
971
|
customClass: !tabletMode && dropBoxSize ? style[dropBoxSize] : '',
|
|
1035
972
|
eleRef: this.suggestionContainerRef
|
|
@@ -1056,21 +993,21 @@ export class MultiSelectComponent extends React.Component {
|
|
|
1056
993
|
palette: palette,
|
|
1057
994
|
i18nKeys: i18nKeys,
|
|
1058
995
|
htmlId: ariaErrorId
|
|
1059
|
-
})
|
|
996
|
+
}), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
|
|
997
|
+
isCover: false,
|
|
998
|
+
align: "both"
|
|
999
|
+
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
|
|
1060
1000
|
}) : null);
|
|
1061
1001
|
}
|
|
1062
|
-
|
|
1063
1002
|
}
|
|
1064
1003
|
MultiSelectComponent.propTypes = MultiSelect_propTypes;
|
|
1065
1004
|
MultiSelectComponent.defaultProps = MultiSelect_defaultProps;
|
|
1066
|
-
|
|
1067
1005
|
if (false) {
|
|
1068
1006
|
MultiSelectComponent.docs = {
|
|
1069
1007
|
componentGroup: 'Form Elements',
|
|
1070
1008
|
folderName: 'Style Guide'
|
|
1071
1009
|
};
|
|
1072
1010
|
}
|
|
1073
|
-
|
|
1074
1011
|
MultiSelectComponent.displayName = 'MultiSelect';
|
|
1075
1012
|
const MultiSelect = Popup(MultiSelectComponent);
|
|
1076
1013
|
MultiSelect.propTypes = MultiSelectComponent.propTypes;
|