@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
package/es/Select/Select.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
2
|
-
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
2
|
/**** Libraries ****/
|
|
4
3
|
import React, { Component } from 'react';
|
|
5
4
|
import { Select_defaultProps } from './props/defaultProps';
|
|
6
5
|
import { Select_propTypes } from './props/propTypes';
|
|
7
6
|
/**** Components ****/
|
|
8
|
-
|
|
9
7
|
import Popup from '../Popup/Popup';
|
|
10
8
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
11
9
|
import { Container, Box } from '../Layout';
|
|
@@ -17,16 +15,16 @@ import { getUniqueId } from '../Provider/IdProvider';
|
|
|
17
15
|
import Icon from '@zohodesk/icons/lib/Icon';
|
|
18
16
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
19
17
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
20
|
-
|
|
18
|
+
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
21
19
|
|
|
20
|
+
/**** Methods ****/
|
|
22
21
|
import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetSelectedValueText as makeGetSelectedValue } from '../utils/dropDownUtils';
|
|
23
|
-
import { debounce, scrollTo, getIsEmptyValue, getSearchString } from '../utils/Common.js';
|
|
22
|
+
import { debounce, scrollTo, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
|
|
24
23
|
/**** CSS ****/
|
|
25
|
-
|
|
26
24
|
import style from './Select.module.css';
|
|
27
25
|
import { getLibraryConfig } from '../Provider/Config';
|
|
28
|
-
/* eslint-disable react/no-deprecated */
|
|
29
26
|
|
|
27
|
+
/* eslint-disable react/no-deprecated */
|
|
30
28
|
/* eslint-disable react/no-unused-prop-types */
|
|
31
29
|
|
|
32
30
|
let dummyArray = [];
|
|
@@ -67,10 +65,9 @@ export class SelectComponent extends Component {
|
|
|
67
65
|
valueField,
|
|
68
66
|
textField
|
|
69
67
|
});
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
if (isSelfValueChanged) {
|
|
69
|
+
// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
72
70
|
}
|
|
73
|
-
|
|
74
71
|
this.state = {
|
|
75
72
|
selected,
|
|
76
73
|
options: allOptions,
|
|
@@ -113,10 +110,10 @@ export class SelectComponent extends Component {
|
|
|
113
110
|
this.autoSelectSuggestions = [];
|
|
114
111
|
this.autoSelectIndex = 0;
|
|
115
112
|
}
|
|
116
|
-
|
|
117
113
|
componentDidMount() {
|
|
118
114
|
this._isMounted = true;
|
|
119
|
-
this.handleExposePopupHandlers();
|
|
115
|
+
this.handleExposePopupHandlers();
|
|
116
|
+
// let { suggestionContainer } = this;
|
|
120
117
|
// suggestionContainer &&
|
|
121
118
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
122
119
|
}
|
|
@@ -158,10 +155,9 @@ export class SelectComponent extends Component {
|
|
|
158
155
|
let {
|
|
159
156
|
selectedValue: oldSelectedValue
|
|
160
157
|
} = this.props;
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
if (isSelfValueChanged && oldSelectedValue !== selectedValue) {
|
|
159
|
+
// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
163
160
|
}
|
|
164
|
-
|
|
165
161
|
this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
|
|
166
162
|
this.normalizedFormatOptions = normalizedFormatOptions;
|
|
167
163
|
this.optionsOrder = optionsOrder;
|
|
@@ -174,7 +170,6 @@ export class SelectComponent extends Component {
|
|
|
174
170
|
selectedValueIndex: hoverIndex
|
|
175
171
|
});
|
|
176
172
|
}
|
|
177
|
-
|
|
178
173
|
componentDidUpdate(prevProps) {
|
|
179
174
|
let {
|
|
180
175
|
suggestionContainer,
|
|
@@ -197,7 +192,6 @@ export class SelectComponent extends Component {
|
|
|
197
192
|
let hoverId = getIsEmptyValue(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
|
|
198
193
|
let selSuggestion = this[`suggestion_${hoverId}`];
|
|
199
194
|
isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
|
|
200
|
-
|
|
201
195
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
202
196
|
if (isPopupOpen) {
|
|
203
197
|
onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
@@ -215,22 +209,20 @@ export class SelectComponent extends Component {
|
|
|
215
209
|
hoverIndex: selectedValueIndex
|
|
216
210
|
});
|
|
217
211
|
}
|
|
218
|
-
}
|
|
219
|
-
|
|
212
|
+
}
|
|
220
213
|
|
|
214
|
+
//When suggestions length less than 5, getNextOptions function call
|
|
221
215
|
let {
|
|
222
216
|
isNextOptions,
|
|
223
217
|
getNextOptions
|
|
224
|
-
} = this.props;
|
|
225
|
-
|
|
218
|
+
} = this.props;
|
|
219
|
+
// let { searchStr } = this.state;
|
|
226
220
|
let suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
|
|
227
221
|
let suggestionsLen = suggestions.length;
|
|
228
|
-
|
|
229
222
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
230
223
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
231
224
|
}
|
|
232
225
|
}
|
|
233
|
-
|
|
234
226
|
componentWillUnmount() {
|
|
235
227
|
this._isMounted = false;
|
|
236
228
|
let {
|
|
@@ -242,7 +234,8 @@ export class SelectComponent extends Component {
|
|
|
242
234
|
closePopup: null,
|
|
243
235
|
togglePopup: null
|
|
244
236
|
};
|
|
245
|
-
getPopupHandlers && getPopupHandlers(methods);
|
|
237
|
+
getPopupHandlers && getPopupHandlers(methods);
|
|
238
|
+
// let { suggestionContainer } = this;
|
|
246
239
|
// suggestionContainer &&
|
|
247
240
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
248
241
|
}
|
|
@@ -264,7 +257,6 @@ export class SelectComponent extends Component {
|
|
|
264
257
|
listItemProps
|
|
265
258
|
});
|
|
266
259
|
}
|
|
267
|
-
|
|
268
260
|
handleChange(id, value, index, e) {
|
|
269
261
|
e && e.preventDefault && e.preventDefault();
|
|
270
262
|
let {
|
|
@@ -275,11 +267,10 @@ export class SelectComponent extends Component {
|
|
|
275
267
|
let {
|
|
276
268
|
optionsNormalize
|
|
277
269
|
} = this.state;
|
|
278
|
-
!isReadOnly && onChange && onChange(id, optionsNormalize[id]);
|
|
279
|
-
|
|
270
|
+
!isReadOnly && onChange && onChange(id, optionsNormalize[id]);
|
|
271
|
+
// this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
280
272
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
281
273
|
}
|
|
282
|
-
|
|
283
274
|
responsiveFunc(_ref) {
|
|
284
275
|
let {
|
|
285
276
|
mediaQueryOR
|
|
@@ -290,7 +281,6 @@ export class SelectComponent extends Component {
|
|
|
290
281
|
}])
|
|
291
282
|
};
|
|
292
283
|
}
|
|
293
|
-
|
|
294
284
|
handleKeyDown(e) {
|
|
295
285
|
let {
|
|
296
286
|
onChange,
|
|
@@ -307,38 +297,33 @@ export class SelectComponent extends Component {
|
|
|
307
297
|
let {
|
|
308
298
|
keyCode
|
|
309
299
|
} = e;
|
|
310
|
-
|
|
311
300
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
312
301
|
onKeyDown && onKeyDown(e);
|
|
313
302
|
}
|
|
314
|
-
|
|
315
303
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
|
|
316
304
|
e.preventDefault(); //prevent body scroll and enter key prevent
|
|
317
305
|
} else if (!isPopupOpen && keyCode === 40) {
|
|
318
306
|
e.preventDefault(); //prevent body scroll
|
|
319
|
-
|
|
320
307
|
this.togglePopup(e);
|
|
321
308
|
}
|
|
322
|
-
|
|
323
309
|
if (keyCode === 38 && isPopupOpen && options.length) {
|
|
324
|
-
if (hoverIndex === 0) {
|
|
310
|
+
if (hoverIndex === 0) {
|
|
311
|
+
// hoverIndex = options.length - 1;
|
|
325
312
|
} else {
|
|
326
313
|
hoverIndex -= 1;
|
|
327
314
|
}
|
|
328
|
-
|
|
329
315
|
this.setState({
|
|
330
316
|
hoverIndex
|
|
331
317
|
});
|
|
332
318
|
} else if (keyCode === 40 && isPopupOpen && options.length) {
|
|
333
|
-
if (hoverIndex === options.length - 1) {
|
|
319
|
+
if (hoverIndex === options.length - 1) {
|
|
320
|
+
// hoverIndex = 0;
|
|
334
321
|
} else {
|
|
335
322
|
if (hoverIndex === options.length - 3) {
|
|
336
323
|
this.handleGetNextOptions();
|
|
337
324
|
}
|
|
338
|
-
|
|
339
325
|
hoverIndex += 1;
|
|
340
326
|
}
|
|
341
|
-
|
|
342
327
|
this.setState({
|
|
343
328
|
hoverIndex
|
|
344
329
|
});
|
|
@@ -347,36 +332,32 @@ export class SelectComponent extends Component {
|
|
|
347
332
|
let {
|
|
348
333
|
id
|
|
349
334
|
} = option || {};
|
|
350
|
-
|
|
351
335
|
if (isPopupOpen && !getIsEmptyValue(id) && onChange) {
|
|
352
336
|
onChange(id, optionsNormalize[id]);
|
|
353
337
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
354
338
|
}
|
|
355
|
-
|
|
356
339
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
357
340
|
this.togglePopup(e);
|
|
358
341
|
}
|
|
359
342
|
} else if (keyCode === 27) {
|
|
360
343
|
this.valueInput && this.valueInput.focus({
|
|
361
344
|
preventScroll: true
|
|
362
|
-
});
|
|
345
|
+
});
|
|
346
|
+
//this.handlePopupClose(e);
|
|
363
347
|
} else if (keyCode === 9) {
|
|
364
348
|
let option = options[hoverIndex];
|
|
365
349
|
let {
|
|
366
350
|
id
|
|
367
351
|
} = option || {};
|
|
368
|
-
|
|
369
352
|
if (isPopupOpen && !getIsEmptyValue(id)) {
|
|
370
353
|
onChange && onChange(id, optionsNormalize[id]);
|
|
371
354
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
372
355
|
}
|
|
373
|
-
|
|
374
356
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
375
357
|
this.togglePopup(e);
|
|
376
358
|
}
|
|
377
359
|
}
|
|
378
360
|
}
|
|
379
|
-
|
|
380
361
|
handleSearchOptions() {
|
|
381
362
|
let {
|
|
382
363
|
onSearch
|
|
@@ -386,7 +367,6 @@ export class SelectComponent extends Component {
|
|
|
386
367
|
} = this.state;
|
|
387
368
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
388
369
|
}
|
|
389
|
-
|
|
390
370
|
handleSearch(value) {
|
|
391
371
|
// let { value = '' } = e.target;
|
|
392
372
|
let {
|
|
@@ -409,10 +389,7 @@ export class SelectComponent extends Component {
|
|
|
409
389
|
}
|
|
410
390
|
});
|
|
411
391
|
}
|
|
412
|
-
|
|
413
|
-
handleMouseEnter(id
|
|
414
|
-
/*val, index*/
|
|
415
|
-
) {
|
|
392
|
+
handleMouseEnter(id /*val, index*/) {
|
|
416
393
|
let {
|
|
417
394
|
hoverIndex
|
|
418
395
|
} = this.state;
|
|
@@ -424,21 +401,21 @@ export class SelectComponent extends Component {
|
|
|
424
401
|
hoverIndex: newHoverIndex
|
|
425
402
|
});
|
|
426
403
|
}
|
|
427
|
-
|
|
428
404
|
handleFilterSuggestions() {
|
|
429
405
|
let {
|
|
430
406
|
needLocalSearch,
|
|
431
|
-
excludeOptions = dummyArray
|
|
432
|
-
|
|
407
|
+
excludeOptions = dummyArray
|
|
408
|
+
// needSearch
|
|
433
409
|
} = this.props;
|
|
434
410
|
let {
|
|
435
411
|
options = dummyArray,
|
|
436
412
|
searchStr = ''
|
|
437
|
-
} = this.state;
|
|
413
|
+
} = this.state;
|
|
414
|
+
|
|
415
|
+
// if (
|
|
438
416
|
// (needSearch && searchStr && searchStr.trim().length) ||
|
|
439
417
|
// (excludeOptions && excludeOptions.length)
|
|
440
418
|
// ) {
|
|
441
|
-
|
|
442
419
|
searchStr = getSearchString(searchStr);
|
|
443
420
|
let {
|
|
444
421
|
suggestions,
|
|
@@ -450,25 +427,16 @@ export class SelectComponent extends Component {
|
|
|
450
427
|
needSearch: needLocalSearch
|
|
451
428
|
});
|
|
452
429
|
this.optionsOrder = suggestionIds;
|
|
453
|
-
return suggestions;
|
|
430
|
+
return suggestions;
|
|
431
|
+
// }
|
|
454
432
|
// return options;
|
|
455
433
|
}
|
|
456
434
|
|
|
457
435
|
handleScroll(e) {
|
|
458
436
|
let ele = e.target;
|
|
459
|
-
let
|
|
460
|
-
|
|
461
|
-
} = ele.getBoundingClientRect();
|
|
462
|
-
let elementHeight = eleHeight || ele.clientHeight; // let elementHeight = ele.clientHeight;
|
|
463
|
-
|
|
464
|
-
let eleScrollTop = ele.scrollTop;
|
|
465
|
-
let eleScrollHeight = ele.scrollHeight;
|
|
466
|
-
|
|
467
|
-
if (eleScrollHeight - (eleScrollTop + elementHeight) < 1) {
|
|
468
|
-
this.handleGetNextOptions();
|
|
469
|
-
}
|
|
437
|
+
let isScrollReachedBottom = findScrollEnd(ele);
|
|
438
|
+
isScrollReachedBottom && this.handleGetNextOptions();
|
|
470
439
|
}
|
|
471
|
-
|
|
472
440
|
handleFetchOptions(APICall) {
|
|
473
441
|
let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
474
442
|
// let funcArgs = args.slice(1, args.length);
|
|
@@ -478,12 +446,10 @@ export class SelectComponent extends Component {
|
|
|
478
446
|
let {
|
|
479
447
|
_isMounted
|
|
480
448
|
} = this;
|
|
481
|
-
|
|
482
449
|
if (!isFetchingOptions && APICall) {
|
|
483
450
|
this.setState({
|
|
484
451
|
isFetchingOptions: true
|
|
485
452
|
});
|
|
486
|
-
|
|
487
453
|
try {
|
|
488
454
|
return APICall(searchStr).then(() => {
|
|
489
455
|
_isMounted && this.setState({
|
|
@@ -501,7 +467,6 @@ export class SelectComponent extends Component {
|
|
|
501
467
|
}
|
|
502
468
|
}
|
|
503
469
|
}
|
|
504
|
-
|
|
505
470
|
handleGetNextOptions() {
|
|
506
471
|
let {
|
|
507
472
|
isNextOptions,
|
|
@@ -512,7 +477,6 @@ export class SelectComponent extends Component {
|
|
|
512
477
|
} = this.state;
|
|
513
478
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
514
479
|
}
|
|
515
|
-
|
|
516
480
|
togglePopup(e) {
|
|
517
481
|
let {
|
|
518
482
|
togglePopup,
|
|
@@ -524,7 +488,6 @@ export class SelectComponent extends Component {
|
|
|
524
488
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
|
|
525
489
|
!isPopupOpen && typeof onFocus === 'function' && onFocus(e);
|
|
526
490
|
}
|
|
527
|
-
|
|
528
491
|
handlePopupClose(e) {
|
|
529
492
|
let {
|
|
530
493
|
closePopupOnly
|
|
@@ -534,19 +497,15 @@ export class SelectComponent extends Component {
|
|
|
534
497
|
});
|
|
535
498
|
closePopupOnly(e);
|
|
536
499
|
}
|
|
537
|
-
|
|
538
500
|
suggestionContainerRef(el) {
|
|
539
501
|
this.suggestionContainer = el;
|
|
540
502
|
}
|
|
541
|
-
|
|
542
503
|
suggestionItemRef(el, index, id) {
|
|
543
504
|
this[`suggestion_${id}`] = el;
|
|
544
505
|
}
|
|
545
|
-
|
|
546
506
|
searchInputRef(el) {
|
|
547
507
|
this.searchInput = el;
|
|
548
508
|
}
|
|
549
|
-
|
|
550
509
|
valueInputRef(el) {
|
|
551
510
|
let {
|
|
552
511
|
getRef
|
|
@@ -554,14 +513,12 @@ export class SelectComponent extends Component {
|
|
|
554
513
|
this.valueInput = el;
|
|
555
514
|
getRef && getRef(el);
|
|
556
515
|
}
|
|
557
|
-
|
|
558
516
|
handleSelectFocus() {
|
|
559
517
|
let {
|
|
560
518
|
valueInput
|
|
561
519
|
} = this;
|
|
562
520
|
valueInput && valueInput.setSelectionRange(valueInput, 0);
|
|
563
521
|
}
|
|
564
|
-
|
|
565
522
|
handleClearSearch() {
|
|
566
523
|
this.handleSearch('');
|
|
567
524
|
setTimeout(() => {
|
|
@@ -570,7 +527,6 @@ export class SelectComponent extends Component {
|
|
|
570
527
|
});
|
|
571
528
|
}, 1);
|
|
572
529
|
}
|
|
573
|
-
|
|
574
530
|
handleValueInputChange(e) {
|
|
575
531
|
let {
|
|
576
532
|
which
|
|
@@ -580,13 +536,11 @@ export class SelectComponent extends Component {
|
|
|
580
536
|
isPopupOpen,
|
|
581
537
|
autoSelectOnType
|
|
582
538
|
} = this.props;
|
|
583
|
-
|
|
584
539
|
if (!isPopupOpen && autoSelectOnType) {
|
|
585
540
|
this.valueInputTypeString += (typeString || '').trim();
|
|
586
541
|
this.handleChangeOnType();
|
|
587
542
|
}
|
|
588
543
|
}
|
|
589
|
-
|
|
590
544
|
handleChangeOnType() {
|
|
591
545
|
let {
|
|
592
546
|
excludeOptions = dummyArray
|
|
@@ -599,13 +553,11 @@ export class SelectComponent extends Component {
|
|
|
599
553
|
} = this;
|
|
600
554
|
let typeString = this.valueInputTypeString;
|
|
601
555
|
this.valueInputTypeString = '';
|
|
602
|
-
|
|
603
556
|
let changeValue = () => {
|
|
604
557
|
let optionDetails = this.autoSelectSuggestions[this.autoSelectIndex];
|
|
605
558
|
let {
|
|
606
559
|
id
|
|
607
560
|
} = optionDetails || {};
|
|
608
|
-
|
|
609
561
|
if (!getIsEmptyValue(id)) {
|
|
610
562
|
this.handleChange(id);
|
|
611
563
|
let hoverIndex = optionsOrder.indexOf(id);
|
|
@@ -614,14 +566,12 @@ export class SelectComponent extends Component {
|
|
|
614
566
|
});
|
|
615
567
|
}
|
|
616
568
|
};
|
|
617
|
-
|
|
618
569
|
if (typeString && typeString === this.valueInputSearchString) {
|
|
619
570
|
if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
|
|
620
571
|
this.autoSelectIndex += 1;
|
|
621
572
|
} else {
|
|
622
573
|
this.autoSelectIndex = 0;
|
|
623
574
|
}
|
|
624
|
-
|
|
625
575
|
changeValue();
|
|
626
576
|
} else if (typeString) {
|
|
627
577
|
this.valueInputSearchString = typeString;
|
|
@@ -639,7 +589,6 @@ export class SelectComponent extends Component {
|
|
|
639
589
|
changeValue();
|
|
640
590
|
}
|
|
641
591
|
}
|
|
642
|
-
|
|
643
592
|
handleAddNewOption() {
|
|
644
593
|
let {
|
|
645
594
|
searchStr
|
|
@@ -648,7 +597,6 @@ export class SelectComponent extends Component {
|
|
|
648
597
|
onAddNewOption,
|
|
649
598
|
getCustomEmptyState
|
|
650
599
|
} = this.props;
|
|
651
|
-
|
|
652
600
|
if (getCustomEmptyState) {
|
|
653
601
|
this.setState({
|
|
654
602
|
searchStr: ''
|
|
@@ -656,7 +604,6 @@ export class SelectComponent extends Component {
|
|
|
656
604
|
this.handleFetchOptions(onAddNewOption, searchStr);
|
|
657
605
|
}
|
|
658
606
|
}
|
|
659
|
-
|
|
660
607
|
handleExposePopupHandlers() {
|
|
661
608
|
let {
|
|
662
609
|
removeClose,
|
|
@@ -673,7 +620,6 @@ export class SelectComponent extends Component {
|
|
|
673
620
|
};
|
|
674
621
|
getPopupHandlers && getPopupHandlers(methods);
|
|
675
622
|
}
|
|
676
|
-
|
|
677
623
|
handleGetAddNewOptionText() {
|
|
678
624
|
let {
|
|
679
625
|
searchStr
|
|
@@ -686,7 +632,6 @@ export class SelectComponent extends Component {
|
|
|
686
632
|
onAddNewOption: this.handleAddNewOption
|
|
687
633
|
});
|
|
688
634
|
}
|
|
689
|
-
|
|
690
635
|
render() {
|
|
691
636
|
let {
|
|
692
637
|
needSearch,
|
|
@@ -730,7 +675,8 @@ export class SelectComponent extends Component {
|
|
|
730
675
|
children,
|
|
731
676
|
iconOnHover,
|
|
732
677
|
customProps,
|
|
733
|
-
autoComplete
|
|
678
|
+
autoComplete,
|
|
679
|
+
isLoading
|
|
734
680
|
} = this.props;
|
|
735
681
|
let {
|
|
736
682
|
TextBoxIcon_i18n,
|
|
@@ -869,7 +815,10 @@ export class SelectComponent extends Component {
|
|
|
869
815
|
isPadding: false,
|
|
870
816
|
isResponsivePadding: getFooter ? false : true,
|
|
871
817
|
alignBox: "row"
|
|
872
|
-
},
|
|
818
|
+
}, isLoading ? /*#__PURE__*/React.createElement(Container, {
|
|
819
|
+
align: "both",
|
|
820
|
+
className: style.loader
|
|
821
|
+
}, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
|
|
873
822
|
flexible: true
|
|
874
823
|
}, /*#__PURE__*/React.createElement(Card, {
|
|
875
824
|
onScroll: this.handleScroll
|
|
@@ -926,12 +875,14 @@ export class SelectComponent extends Component {
|
|
|
926
875
|
getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
|
|
927
876
|
i18nKeys: i18nKeys,
|
|
928
877
|
htmlId: ariaErrorId
|
|
929
|
-
})
|
|
878
|
+
}), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
|
|
879
|
+
isCover: false,
|
|
880
|
+
align: "both"
|
|
881
|
+
}, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)) : /*#__PURE__*/React.createElement(Box, {
|
|
930
882
|
flexible: true
|
|
931
|
-
}, getChildren()));
|
|
883
|
+
}, getChildren())));
|
|
932
884
|
}) : null);
|
|
933
885
|
}
|
|
934
|
-
|
|
935
886
|
}
|
|
936
887
|
SelectComponent.propTypes = Select_propTypes;
|
|
937
888
|
SelectComponent.defaultProps = Select_defaultProps;
|
|
@@ -939,14 +890,13 @@ SelectComponent.displayName = 'Select';
|
|
|
939
890
|
let Select = Popup(SelectComponent);
|
|
940
891
|
Select.defaultProps = SelectComponent.defaultProps;
|
|
941
892
|
export default Select;
|
|
942
|
-
|
|
943
893
|
if (false) {
|
|
944
894
|
Select.docs = {
|
|
945
895
|
componentGroup: 'Form Elements',
|
|
946
896
|
folderName: 'Style Guide',
|
|
947
897
|
external: true,
|
|
948
898
|
description: ' '
|
|
949
|
-
};
|
|
950
|
-
|
|
899
|
+
};
|
|
900
|
+
// eslint-disable-next-line react/forbid-foreign-prop-types
|
|
951
901
|
Select.propTypes = SelectComponent.propTypes;
|
|
952
902
|
}
|
|
@@ -68,12 +68,22 @@
|
|
|
68
68
|
position: absolute;
|
|
69
69
|
top: 0;
|
|
70
70
|
bottom: 0;
|
|
71
|
-
left: 0;
|
|
72
71
|
width: var(--zd_size30);
|
|
73
72
|
}
|
|
74
|
-
|
|
73
|
+
|
|
74
|
+
[dir=ltr] .leftIcon {
|
|
75
|
+
left: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
[dir=rtl] .leftIcon {
|
|
79
|
+
right: 0;
|
|
80
|
+
}
|
|
81
|
+
[dir=ltr] .iconSelect {
|
|
75
82
|
padding-left: var(--zd_size30);
|
|
76
83
|
}
|
|
84
|
+
[dir=rtl] .iconSelect {
|
|
85
|
+
padding-right: var(--zd_size30);
|
|
86
|
+
}
|
|
77
87
|
|
|
78
88
|
.dropBoxList {
|
|
79
89
|
padding: var(--zd_size10) 0;
|
|
@@ -94,3 +104,6 @@
|
|
|
94
104
|
opacity: 1;
|
|
95
105
|
visibility: visible;
|
|
96
106
|
}
|
|
107
|
+
.loader {
|
|
108
|
+
padding: var(--zd_size10);
|
|
109
|
+
}
|
|
@@ -3,7 +3,6 @@ import React from 'react';
|
|
|
3
3
|
import { SelectWithAvatar_defaultProps } from './props/defaultProps';
|
|
4
4
|
import { SelectWithAvatar_propTypes } from './props/propTypes';
|
|
5
5
|
/**** Components ****/
|
|
6
|
-
|
|
7
6
|
import { SelectComponent } from './Select';
|
|
8
7
|
import Popup from '../Popup/Popup';
|
|
9
8
|
import Tag from '../Tag/Tag';
|
|
@@ -17,11 +16,11 @@ import DropDownHeading from '../DropDown/DropDownHeading';
|
|
|
17
16
|
import { getUniqueId } from '../Provider/IdProvider';
|
|
18
17
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
19
18
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
20
|
-
|
|
19
|
+
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
21
20
|
|
|
21
|
+
/**** CSS ****/
|
|
22
22
|
import style from '../MultiSelect/MultiSelect.module.css';
|
|
23
23
|
import selectStyle from './Select.module.css';
|
|
24
|
-
|
|
25
24
|
class SelectWithAvatarComponent extends SelectComponent {
|
|
26
25
|
constructor(props) {
|
|
27
26
|
super(props);
|
|
@@ -33,7 +32,6 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
33
32
|
this.handleRemoveOption = this.handleRemoveOption.bind(this);
|
|
34
33
|
this.getNextAriaId = getUniqueId(this);
|
|
35
34
|
}
|
|
36
|
-
|
|
37
35
|
handleFormatOptions(props) {
|
|
38
36
|
let {
|
|
39
37
|
options,
|
|
@@ -49,18 +47,15 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
49
47
|
optionType: 'avatar'
|
|
50
48
|
});
|
|
51
49
|
}
|
|
52
|
-
|
|
53
50
|
handleActive(e) {
|
|
54
51
|
let {
|
|
55
52
|
isActive
|
|
56
53
|
} = this.state;
|
|
57
|
-
|
|
58
54
|
if (!isActive) {
|
|
59
55
|
this.setState({
|
|
60
56
|
isActive: true
|
|
61
57
|
});
|
|
62
58
|
}
|
|
63
|
-
|
|
64
59
|
let {
|
|
65
60
|
target
|
|
66
61
|
} = e || {};
|
|
@@ -70,19 +65,16 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
70
65
|
} = this.props;
|
|
71
66
|
onFocus && onFocus(this.state.searchStr);
|
|
72
67
|
}
|
|
73
|
-
|
|
74
68
|
handleInactive() {
|
|
75
69
|
let {
|
|
76
70
|
isActive
|
|
77
71
|
} = this.state;
|
|
78
|
-
|
|
79
72
|
if (isActive) {
|
|
80
73
|
this.setState({
|
|
81
74
|
isActive: false
|
|
82
75
|
});
|
|
83
76
|
}
|
|
84
77
|
}
|
|
85
|
-
|
|
86
78
|
handleSearchChange(e) {
|
|
87
79
|
let {
|
|
88
80
|
isPopupOpen
|
|
@@ -90,7 +82,6 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
90
82
|
!isPopupOpen && this.togglePopup(e);
|
|
91
83
|
this.handleSearch(e);
|
|
92
84
|
}
|
|
93
|
-
|
|
94
85
|
handleRemoveOption(e) {
|
|
95
86
|
let {
|
|
96
87
|
keyCode
|
|
@@ -101,14 +92,12 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
101
92
|
let {
|
|
102
93
|
isDefaultSelectValue
|
|
103
94
|
} = this.props;
|
|
104
|
-
|
|
105
95
|
if (keyCode === 8 && searchStr.length === 0 && !isDefaultSelectValue) {
|
|
106
96
|
this.handleChange('');
|
|
107
97
|
} else {
|
|
108
98
|
this.handleKeyDown(e);
|
|
109
99
|
}
|
|
110
100
|
}
|
|
111
|
-
|
|
112
101
|
responsiveFunc(_ref) {
|
|
113
102
|
let {
|
|
114
103
|
mediaQueryOR
|
|
@@ -119,7 +108,6 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
119
108
|
}])
|
|
120
109
|
};
|
|
121
110
|
}
|
|
122
|
-
|
|
123
111
|
render() {
|
|
124
112
|
let {
|
|
125
113
|
dropBoxSize,
|
|
@@ -155,7 +143,8 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
155
143
|
groupName,
|
|
156
144
|
i18nKeys,
|
|
157
145
|
htmlId,
|
|
158
|
-
needEffect
|
|
146
|
+
needEffect,
|
|
147
|
+
isLoading
|
|
159
148
|
} = this.props;
|
|
160
149
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
161
150
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -252,7 +241,10 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
252
241
|
isPadding: false,
|
|
253
242
|
isResponsivePadding: true,
|
|
254
243
|
alignBox: "row"
|
|
255
|
-
}, /*#__PURE__*/React.createElement(
|
|
244
|
+
}, isLoading ? /*#__PURE__*/React.createElement(Container, {
|
|
245
|
+
align: "both",
|
|
246
|
+
className: style.loader
|
|
247
|
+
}, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
|
|
256
248
|
flexible: true
|
|
257
249
|
}, /*#__PURE__*/React.createElement(Card, {
|
|
258
250
|
onScroll: this.handleScroll
|
|
@@ -309,25 +301,24 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
309
301
|
dataId: dataId,
|
|
310
302
|
i18nKeys: i18nKeys,
|
|
311
303
|
htmlId: ariaErrorId
|
|
312
|
-
})
|
|
304
|
+
}), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
|
|
305
|
+
isCover: false,
|
|
306
|
+
align: "both"
|
|
307
|
+
}, /*#__PURE__*/React.createElement(Loader, null))))));
|
|
313
308
|
}) : null);
|
|
314
309
|
}
|
|
315
|
-
|
|
316
310
|
}
|
|
317
|
-
|
|
318
311
|
SelectWithAvatarComponent.propTypes = SelectWithAvatar_propTypes;
|
|
319
312
|
SelectWithAvatarComponent.defaultProps = SelectWithAvatar_defaultProps;
|
|
320
313
|
SelectWithAvatarComponent.displayName = 'SelectWithAvatar';
|
|
321
314
|
let SelectWithAvatar = Popup(SelectWithAvatarComponent);
|
|
322
315
|
SelectWithAvatar.defaultProps = SelectWithAvatarComponent.defaultProps;
|
|
323
|
-
|
|
324
316
|
if (false) {
|
|
325
317
|
SelectWithAvatar.docs = {
|
|
326
318
|
componentGroup: 'Form Elements',
|
|
327
319
|
folderName: 'Style Guide'
|
|
328
|
-
};
|
|
329
|
-
|
|
320
|
+
};
|
|
321
|
+
// eslint-disable-next-line react/forbid-foreign-prop-types
|
|
330
322
|
SelectWithAvatar.propTypes = SelectWithAvatarComponent.propTypes;
|
|
331
323
|
}
|
|
332
|
-
|
|
333
|
-
export default Popup(SelectWithAvatar);
|
|
324
|
+
export default SelectWithAvatar;
|