@zohodesk/components 1.0.0-alpha-250 → 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 +18 -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 +2 -13
- package/es/AppContainer/docs/AppContainer__default.docs.js +0 -2
- package/es/Avatar/Avatar.js +7 -21
- 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/AvatarTeam/AvatarTeam.js +0 -3
- 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/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/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 +0 -5
- 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 +50 -5
- package/es/DateTime/DateTimePopupFooter.js +2 -4
- package/es/DateTime/DateTimePopupHeader.js +2 -8
- package/es/DateTime/DateWidget.js +34 -101
- package/es/DateTime/DaysRow.js +2 -4
- package/es/DateTime/Time.js +2 -10
- package/es/DateTime/YearView.js +4 -28
- 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 +5 -28
- 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/DropDownItem.js +0 -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 +0 -2
- package/es/Heading/Heading.module.css +3 -3
- package/es/Heading/docs/Heading__default.docs.js +0 -2
- 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 +0 -8
- package/es/ListItem/ListItem.js +0 -9
- package/es/ListItem/ListItemWithAvatar.js +1 -9
- package/es/ListItem/ListItemWithCheckBox.js +0 -7
- package/es/ListItem/ListItemWithIcon.js +0 -8
- package/es/ListItem/ListItemWithRadio.js +0 -7
- 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 +8 -28
- package/es/Modal/__docs__/Modal__default.docs.js +1 -5
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +11 -90
- package/es/MultiSelect/AdvancedMultiSelect.js +21 -39
- package/es/MultiSelect/EmptyState.js +0 -2
- package/es/MultiSelect/MultiSelect.js +49 -112
- package/es/MultiSelect/MultiSelectHeader.js +0 -3
- package/es/MultiSelect/MultiSelectWithAvatar.js +16 -17
- package/es/MultiSelect/SelectedOptions.js +3 -6
- package/es/MultiSelect/Suggestions.js +3 -7
- 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/__tests__/PopOver.spec.js +1 -2
- package/es/PopOver/docs/PopOver__default.docs.js +0 -2
- package/es/Popup/Popup.js +24 -77
- 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/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 -34
- package/es/Responsive/docs/Responsive__Custom.docs.js +22 -14
- package/es/Responsive/docs/Responsive__default.docs.js +1 -3
- package/es/Responsive/sizeObservers.js +7 -28
- package/es/Responsive/utils/index.js +5 -7
- package/es/Responsive/utils/shallowCompare.js +2 -7
- package/es/Responsive/windowResizeObserver.js +0 -7
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +0 -4
- package/es/Ribbon/Ribbon.js +0 -3
- 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/docs/RippleEffect__default.docs.js +12 -14
- package/es/Select/GroupSelect.js +28 -67
- package/es/Select/Select.js +47 -97
- package/es/Select/Select.module.css +3 -0
- package/es/Select/SelectWithAvatar.js +15 -24
- package/es/Select/SelectWithIcon.js +73 -53
- 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/docs/Stencils__custom.docs.js +0 -2
- package/es/Stencils/docs/Stencils__default.docs.js +0 -2
- package/es/Switch/Switch.js +0 -5
- 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 +1 -4
- package/es/Tab/TabContent.js +0 -1
- package/es/Tab/TabContentWrapper.js +0 -2
- package/es/Tab/TabWrapper.js +2 -5
- package/es/Tab/Tabs.js +7 -54
- 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/Tag/Tag.js +1 -6
- 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 +0 -15
- 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 +0 -7
- 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 +0 -12
- 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/__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 +2 -7
- package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +17 -28
- package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
- package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -7
- package/es/index.js +2 -1
- package/es/semantic/Button/Button.js +0 -3
- package/es/semantic/Button/docs/Button__default.docs.js +0 -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 +10 -39
- package/lib/Accordion/AccordionItem.js +12 -38
- package/lib/Accordion/__tests__/Accordion.spec.js +0 -3
- package/lib/Accordion/docs/Accordion__Demo.docs.js +0 -22
- package/lib/Accordion/index.js +0 -3
- package/lib/Accordion/props/propTypes.js +0 -3
- package/lib/Animation/Animation.js +12 -37
- package/lib/Animation/__tests__/Animation.spec.js +7 -11
- package/lib/Animation/docs/Animation__default.docs.js +0 -24
- package/lib/Animation/docs/Animation__fadeIn.docs.js +0 -24
- package/lib/Animation/docs/Animation__scaleIn.docs.js +0 -24
- package/lib/Animation/docs/Animation__skewIn.docs.js +0 -24
- package/lib/Animation/docs/Animation__slideDown.docs.js +0 -24
- package/lib/Animation/docs/Animation__slideLeft.docs.js +0 -24
- package/lib/Animation/docs/Animation__zoomIn.docs.js +0 -24
- package/lib/Animation/props/propTypes.js +0 -3
- package/lib/AppContainer/AppContainer.js +14 -52
- package/lib/AppContainer/docs/AppContainer__default.docs.js +0 -23
- package/lib/AppContainer/props/propTypes.js +0 -3
- package/lib/Avatar/Avatar.js +27 -71
- package/lib/Avatar/__tests__/Avatar.spec.js +0 -44
- package/lib/Avatar/docs/Avatar__custom.docs.js +1 -26
- package/lib/Avatar/docs/Avatar__default.docs.js +1 -24
- package/lib/Avatar/docs/Avatar__palette.docs.js +1 -26
- package/lib/Avatar/docs/Avatar__text.docs.js +1 -26
- package/lib/Avatar/props/propTypes.js +0 -3
- package/lib/AvatarTeam/AvatarTeam.js +20 -47
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -13
- package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -24
- package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -24
- package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -24
- package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -24
- package/lib/AvatarTeam/props/propTypes.js +0 -3
- package/lib/Button/Button.js +19 -44
- package/lib/Button/__tests__/Button.spec.js +0 -40
- package/lib/Button/docs/Button__custom.docs.js +11 -37
- package/lib/Button/docs/Button__default.docs.js +11 -36
- package/lib/Button/props/defaultProps.js +0 -2
- package/lib/Button/props/propTypes.js +0 -3
- package/lib/Buttongroup/Buttongroup.js +5 -31
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -10
- package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +0 -25
- package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +0 -25
- package/lib/Buttongroup/docs/Buttongroup__header.docs.js +0 -27
- package/lib/Buttongroup/props/propTypes.js +0 -3
- package/lib/Card/Card.js +41 -102
- package/lib/Card/__tests__/Card.spec.js +1 -10
- package/lib/Card/docs/Card__Custom.docs.js +0 -27
- package/lib/Card/docs/Card__Default.docs.js +0 -26
- package/lib/Card/docs/Card__Scroll.docs.js +3 -30
- package/lib/Card/index.js +0 -4
- package/lib/Card/props/propTypes.js +0 -3
- package/lib/CheckBox/CheckBox.js +40 -69
- package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -3
- package/lib/CheckBox/docs/CheckBox__custom.docs.js +12 -37
- package/lib/CheckBox/docs/CheckBox__default.docs.js +12 -36
- package/lib/CheckBox/props/propTypes.js +0 -3
- package/lib/DateTime/CalendarView.js +40 -79
- package/lib/DateTime/DateTime.js +164 -245
- package/lib/DateTime/DateTime.module.css +50 -5
- package/lib/DateTime/DateTimePopupFooter.js +5 -30
- package/lib/DateTime/DateTimePopupHeader.js +13 -45
- package/lib/DateTime/DateWidget.js +243 -349
- package/lib/DateTime/DaysRow.js +2 -26
- package/lib/DateTime/Time.js +29 -72
- package/lib/DateTime/YearView.js +25 -75
- package/lib/DateTime/__tests__/CalendarView.spec.js +5 -13
- package/lib/DateTime/__tests__/DateTime.spec.js +37 -51
- package/lib/DateTime/__tests__/DateWidget.spec.js +8 -10
- package/lib/DateTime/common.js +0 -6
- package/lib/DateTime/constants.js +0 -1
- package/lib/DateTime/dateFormatUtils/dateFormat.js +122 -184
- package/lib/DateTime/dateFormatUtils/dayChange.js +7 -14
- package/lib/DateTime/dateFormatUtils/index.js +12 -61
- package/lib/DateTime/dateFormatUtils/monthChange.js +9 -19
- package/lib/DateTime/dateFormatUtils/timeChange.js +20 -52
- package/lib/DateTime/dateFormatUtils/yearChange.js +11 -22
- package/lib/DateTime/docs/DateTime__default.docs.js +10 -33
- package/lib/DateTime/docs/DateWidget__default.docs.js +2 -30
- package/lib/DateTime/index.js +0 -2
- package/lib/DateTime/objectUtils.js +20 -24
- package/lib/DateTime/props/propTypes.js +4 -5
- package/lib/DateTime/typeChecker.js +0 -4
- package/lib/DateTime/validator.js +6 -69
- package/lib/DropBox/DropBox.js +58 -119
- package/lib/DropBox/__tests__/DropBox.spec.js +2 -6
- package/lib/DropBox/docs/DropBox__custom.docs.js +25 -50
- package/lib/DropBox/docs/DropBox__customOrder.docs.js +9 -36
- package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +9 -36
- package/lib/DropBox/docs/DropBox__position.docs.js +35 -59
- package/lib/DropBox/docs/DropBox__size.docs.js +28 -52
- package/lib/DropBox/props/propTypes.js +0 -3
- package/lib/DropDown/DropDown.js +3 -53
- package/lib/DropDown/DropDownHeading.js +11 -35
- package/lib/DropDown/DropDownItem.js +17 -41
- package/lib/DropDown/DropDownSearch.js +15 -41
- package/lib/DropDown/DropDownSeparator.js +1 -23
- package/lib/DropDown/__tests__/DropDown.spec.js +9 -15
- package/lib/DropDown/__tests__/DropDownItem.spec.js +4 -9
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -3
- package/lib/DropDown/docs/DropDownHeading__custom.docs.js +0 -23
- package/lib/DropDown/docs/DropDownHeading__default.docs.js +0 -22
- package/lib/DropDown/props/propTypes.js +0 -5
- package/lib/Heading/Heading.js +8 -35
- package/lib/Heading/Heading.module.css +3 -3
- package/lib/Heading/docs/Heading__default.docs.js +0 -24
- package/lib/Heading/props/propTypes.js +0 -3
- package/lib/Label/Label.js +11 -36
- package/lib/Label/__tests__/Label.spec.js +1 -14
- package/lib/Label/docs/Label__clipped.docs.js +0 -25
- package/lib/Label/docs/Label__custom.docs.js +0 -26
- package/lib/Label/docs/Label__palette.docs.js +0 -25
- package/lib/Label/docs/Label__size.docs.js +0 -25
- package/lib/Label/docs/Label__type.docs.js +0 -25
- package/lib/Label/props/propTypes.js +0 -3
- package/lib/Layout/Box.js +11 -31
- package/lib/Layout/Container.js +10 -29
- package/lib/Layout/__tests__/Box.spec.js +49 -65
- package/lib/Layout/__tests__/Container.spec.js +50 -67
- package/lib/Layout/docs/Layout__Hidden.docs.js +0 -22
- package/lib/Layout/docs/Layout__default.docs.js +0 -21
- package/lib/Layout/docs/Layout__four_Column.docs.js +0 -22
- package/lib/Layout/docs/Layout__three_Column.docs.js +0 -22
- package/lib/Layout/docs/Layout__two_Column.docs.js +0 -22
- package/lib/Layout/index.js +0 -4
- package/lib/Layout/props/propTypes.js +0 -3
- package/lib/Layout/utils.js +0 -10
- package/lib/LightNightMode/docs/AlternativeColors.docs.js +1 -26
- package/lib/ListItem/ListContainer.js +25 -46
- package/lib/ListItem/ListItem.js +37 -66
- package/lib/ListItem/ListItemWithAvatar.js +41 -72
- package/lib/ListItem/ListItemWithCheckBox.js +32 -61
- package/lib/ListItem/ListItemWithIcon.js +36 -65
- package/lib/ListItem/ListItemWithRadio.js +33 -62
- package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -24
- package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -23
- package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -24
- package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -23
- package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -24
- package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +0 -23
- package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -24
- package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +0 -23
- package/lib/ListItem/docs/ListItem__custom.docs.js +0 -23
- package/lib/ListItem/docs/ListItem__default.docs.js +0 -22
- package/lib/ListItem/props/propTypes.js +0 -5
- package/lib/Modal/Modal.js +4 -44
- package/lib/Modal/__docs__/Modal__default.docs.js +0 -23
- package/lib/Modal/props/propTypes.js +0 -3
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +157 -289
- package/lib/MultiSelect/AdvancedMultiSelect.js +130 -203
- package/lib/MultiSelect/EmptyState.js +21 -44
- package/lib/MultiSelect/MultiSelect.js +213 -325
- package/lib/MultiSelect/MultiSelectHeader.js +5 -29
- package/lib/MultiSelect/MultiSelectWithAvatar.js +61 -98
- package/lib/MultiSelect/SelectedOptions.js +15 -44
- package/lib/MultiSelect/Suggestions.js +26 -59
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +75 -86
- package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -23
- package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +3 -28
- package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +2 -28
- package/lib/MultiSelect/docs/MultiSelect__default.docs.js +2 -30
- package/lib/MultiSelect/props/defaultProps.js +8 -6
- package/lib/MultiSelect/props/propTypes.js +8 -9
- package/lib/PopOver/PopOver.js +44 -94
- package/lib/PopOver/__tests__/PopOver.spec.js +1 -4
- package/lib/PopOver/docs/PopOver__default.docs.js +0 -25
- package/lib/PopOver/props/propTypes.js +0 -3
- package/lib/Popup/Popup.js +77 -156
- package/lib/Popup/__tests__/Popup.spec.js +5 -42
- package/lib/Popup/viewPort.js +14 -28
- package/lib/Provider/AvatarSize.js +0 -4
- package/lib/Provider/Config.js +0 -2
- package/lib/Provider/CssProvider.js +0 -4
- package/lib/Provider/IdProvider.js +3 -17
- package/lib/Provider/LibraryContext.js +10 -32
- package/lib/Provider/LibraryContextInit.js +0 -4
- package/lib/Provider/NumberGenerator/NumberGenerator.js +14 -43
- package/lib/Provider/ZindexProvider.js +3 -15
- package/lib/Provider/docs/Provider_Id__Class.docs.js +3 -24
- package/lib/Provider/docs/Provider_Id__Function.docs.js +0 -5
- package/lib/Provider/docs/Provider_Zindex__Class.docs.js +3 -24
- package/lib/Provider/docs/Provider_Zindex__Function.docs.js +0 -5
- package/lib/Provider.js +2 -61
- package/lib/Radio/Radio.js +33 -60
- package/lib/Radio/__tests__/Radiospec.js +5 -9
- package/lib/Radio/docs/Radio__custom.docs.js +12 -38
- package/lib/Radio/docs/Radio__default.docs.js +12 -37
- package/lib/Radio/props/propTypes.js +0 -3
- package/lib/Responsive/CustomResponsive.js +23 -67
- package/lib/Responsive/RefWrapper.js +7 -15
- package/lib/Responsive/ResizeComponent.js +27 -58
- package/lib/Responsive/ResizeObserver.js +6 -23
- package/lib/Responsive/Responsive.js +24 -76
- package/lib/Responsive/docs/Responsive__Custom.docs.js +29 -54
- package/lib/Responsive/docs/Responsive__default.docs.js +4 -28
- package/lib/Responsive/index.js +0 -2
- package/lib/Responsive/props/propTypes.js +0 -3
- package/lib/Responsive/sizeObservers.js +13 -51
- package/lib/Responsive/utils/index.js +3 -11
- package/lib/Responsive/utils/shallowCompare.js +2 -11
- package/lib/Responsive/windowResizeObserver.js +0 -8
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +14 -44
- package/lib/ResponsiveDropBox/props/propTypes.js +0 -3
- package/lib/Ribbon/Ribbon.js +7 -31
- package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -22
- package/lib/Ribbon/docs/Ribbon__custom.docs.js +13 -36
- package/lib/Ribbon/docs/Ribbon__default.docs.js +13 -35
- package/lib/Ribbon/props/propTypes.js +0 -3
- package/lib/RippleEffect/RippleEffect.js +7 -18
- package/lib/RippleEffect/docs/RippleEffect__default.docs.js +12 -34
- package/lib/RippleEffect/props/propTypes.js +0 -3
- package/lib/Select/GroupSelect.js +138 -230
- package/lib/Select/Select.js +213 -297
- package/lib/Select/Select.module.css +3 -0
- package/lib/Select/SelectWithAvatar.js +61 -104
- package/lib/Select/SelectWithIcon.js +149 -143
- package/lib/Select/__tests__/Select.spec.js +89 -131
- package/lib/Select/docs/GroupSelect__default.docs.js +0 -26
- package/lib/Select/docs/SelectWithAvatar__default.docs.js +0 -28
- package/lib/Select/docs/SelectWithIcon__default.docs.js +4 -29
- package/lib/Select/docs/Select__default.docs.js +0 -27
- package/lib/Select/props/defaultProps.js +7 -8
- package/lib/Select/props/propTypes.js +8 -8
- package/lib/Stencils/Stencils.js +4 -28
- package/lib/Stencils/__tests__/Stencils.spec.js +0 -12
- package/lib/Stencils/docs/Stencils__custom.docs.js +0 -24
- package/lib/Stencils/docs/Stencils__default.docs.js +0 -24
- package/lib/Stencils/props/propTypes.js +0 -3
- package/lib/Switch/Switch.js +27 -55
- package/lib/Switch/docs/Switch__custom.docs.js +12 -35
- package/lib/Switch/docs/Switch__default.docs.js +12 -34
- package/lib/Switch/props/propTypes.js +0 -3
- package/lib/Tab/Tab.js +23 -39
- package/lib/Tab/TabContent.js +4 -11
- package/lib/Tab/TabContentWrapper.js +5 -12
- package/lib/Tab/TabWrapper.js +16 -34
- package/lib/Tab/Tabs.js +85 -166
- package/lib/Tab/__tests__/Tab.spec.js +63 -74
- package/lib/Tab/__tests__/TabContent.spec.js +6 -10
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +20 -28
- package/lib/Tab/__tests__/TabWrapper.spec.js +0 -12
- package/lib/Tab/__tests__/Tabs.spec.js +39 -53
- package/lib/Tab/docs/Tab__default.docs.js +0 -25
- package/lib/Tab/index.js +0 -6
- package/lib/Tab/props/propTypes.js +0 -3
- package/lib/Tag/Tag.js +37 -70
- package/lib/Tag/__tests__/Tag.spec.js +8 -14
- package/lib/Tag/docs/Tag__custom.docs.js +11 -37
- package/lib/Tag/docs/Tag__default.docs.js +11 -36
- package/lib/Tag/props/propTypes.js +0 -3
- package/lib/TextBox/TextBox.js +52 -83
- package/lib/TextBox/__tests__/TextBox.spec.js +4 -14
- package/lib/TextBox/docs/TextBox__custom.docs.js +0 -26
- package/lib/TextBox/docs/TextBox__default.docs.js +0 -26
- package/lib/TextBox/docs/TextBox__size.docs.js +0 -26
- package/lib/TextBox/docs/TextBox__variant.docs.js +0 -26
- package/lib/TextBox/props/propTypes.js +0 -5
- package/lib/TextBoxIcon/TextBoxIcon.js +48 -80
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +5 -14
- package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -27
- package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -27
- package/lib/TextBoxIcon/props/propTypes.js +0 -3
- package/lib/Textarea/Textarea.js +22 -52
- package/lib/Textarea/__tests__/Textarea.spec.js +2 -14
- package/lib/Textarea/docs/Textarea__animated.docs.js +0 -25
- package/lib/Textarea/docs/Textarea__custom.docs.js +0 -26
- package/lib/Textarea/docs/Textarea__default.docs.js +0 -25
- package/lib/Textarea/docs/Textarea__disabled.docs.js +0 -25
- package/lib/Textarea/props/propTypes.js +0 -3
- package/lib/Tooltip/Tooltip.js +25 -92
- package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -23
- package/lib/Tooltip/docs/Tooltip__default.docs.js +63 -91
- package/lib/Tooltip/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +11 -39
- package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +2 -29
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +0 -3
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +18 -51
- package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +22 -54
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +0 -3
- package/lib/css.js +0 -39
- package/lib/deprecated/PortalLayer/PortalLayer.js +17 -45
- package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +2 -36
- package/lib/deprecated/PortalLayer/props/propTypes.js +0 -3
- package/lib/index.js +0 -158
- package/lib/semantic/Button/Button.js +17 -41
- package/lib/semantic/Button/docs/Button__default.docs.js +0 -23
- package/lib/semantic/Button/props/propTypes.js +0 -3
- package/lib/utils/Common.js +29 -95
- package/lib/utils/ContextOptimizer.js +10 -16
- package/lib/utils/__tests__/constructFullName.spec.js +0 -1
- package/lib/utils/__tests__/debounce.spec.js +2 -3
- package/lib/utils/__tests__/getInitial.spec.js +0 -1
- package/lib/utils/constructFullName.js +2 -11
- package/lib/utils/datetime/common.js +5 -32
- package/lib/utils/debounce.js +1 -6
- package/lib/utils/dropDownUtils.js +54 -171
- package/lib/utils/dummyFunction.js +0 -2
- package/lib/utils/getHTMLFontSize.js +0 -1
- package/lib/utils/getInitial.js +0 -6
- package/lib/utils/scrollTo.js +0 -2
- package/lib/utils/shallowEqual.js +0 -8
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import React, { Component } from 'react';
|
|
|
2
2
|
import { SelectWithIcon_defaultProps } from './props/defaultProps';
|
|
3
3
|
import { SelectWithIcon_propTypes } from './props/propTypes';
|
|
4
4
|
/**** Components ****/
|
|
5
|
-
|
|
6
5
|
import Popup from '../Popup/Popup';
|
|
7
6
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
8
7
|
import Icon from '@zohodesk/icons/lib/Icon';
|
|
@@ -13,21 +12,21 @@ import { Container, Box } from '../Layout';
|
|
|
13
12
|
import { getUniqueId } from '../Provider/IdProvider';
|
|
14
13
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
15
14
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
15
|
+
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
16
16
|
/**** Methods ****/
|
|
17
|
-
|
|
18
|
-
import { scrollTo } from '../utils/Common.js';
|
|
17
|
+
import { scrollTo, findScrollEnd } from '../utils/Common.js';
|
|
19
18
|
/**** CSS ****/
|
|
20
|
-
|
|
21
19
|
import style from './Select.module.css';
|
|
22
|
-
|
|
23
20
|
class SelectWithIcon extends Component {
|
|
24
21
|
constructor(props) {
|
|
25
22
|
super(props);
|
|
26
23
|
this.state = {
|
|
27
24
|
searchValue: '',
|
|
28
25
|
selectedIndex: 0,
|
|
29
|
-
options: props.options
|
|
26
|
+
options: props.options,
|
|
27
|
+
isFetchingOptions: false
|
|
30
28
|
};
|
|
29
|
+
this._isMounted = false;
|
|
31
30
|
this.onSearchClear = this.onSearchClear.bind(this);
|
|
32
31
|
this.onSearch = this.onSearch.bind(this);
|
|
33
32
|
this.togglePopup = this.togglePopup.bind(this);
|
|
@@ -40,36 +39,37 @@ class SelectWithIcon extends Component {
|
|
|
40
39
|
this.inputRef = this.inputRef.bind(this);
|
|
41
40
|
this.handleScroll = this.handleScroll.bind(this);
|
|
42
41
|
this.getNextAriaId = getUniqueId(this);
|
|
42
|
+
this.handleGetNextOptions = this.handleGetNextOptions.bind(this);
|
|
43
|
+
this.handleFetchOptions = this.handleFetchOptions.bind(this);
|
|
44
|
+
}
|
|
45
|
+
componentDidMount() {
|
|
46
|
+
this._isMounted = true;
|
|
47
|
+
}
|
|
48
|
+
componentWillUnmount() {
|
|
49
|
+
this._isMounted = false;
|
|
43
50
|
}
|
|
44
|
-
|
|
45
51
|
inputRef(el) {
|
|
46
52
|
this.input = el;
|
|
47
53
|
}
|
|
48
|
-
|
|
49
54
|
itemRef(ele, index, id) {
|
|
50
55
|
this[`suggestion_${id}`] = ele;
|
|
51
56
|
}
|
|
52
|
-
|
|
53
57
|
searchInputRef(el) {
|
|
54
58
|
this.searchInput = el;
|
|
55
59
|
}
|
|
56
|
-
|
|
57
60
|
scrollContentRef(el) {
|
|
58
61
|
let {
|
|
59
62
|
isPopupOpen
|
|
60
63
|
} = this.props;
|
|
61
|
-
|
|
62
64
|
if (isPopupOpen) {
|
|
63
65
|
this.optionsContainer = el;
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
|
-
|
|
67
68
|
handleMouseEnter(id, value, index, e) {
|
|
68
69
|
this.setState({
|
|
69
70
|
selectedIndex: index
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
|
-
|
|
73
73
|
handleKeyDown(e) {
|
|
74
74
|
let {
|
|
75
75
|
keyCode
|
|
@@ -79,19 +79,15 @@ class SelectWithIcon extends Component {
|
|
|
79
79
|
options
|
|
80
80
|
} = this.state;
|
|
81
81
|
let {
|
|
82
|
-
isNextOptions,
|
|
83
|
-
getNextOptions,
|
|
84
82
|
idKey,
|
|
85
83
|
valueKey,
|
|
86
84
|
isPopupOpen,
|
|
87
85
|
selectedId
|
|
88
86
|
} = this.props;
|
|
89
|
-
|
|
90
87
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
|
|
91
88
|
e.preventDefault(); //prevent body scroll
|
|
92
89
|
} else if (!isPopupOpen && (keyCode === 40 || keyCode === 13)) {
|
|
93
90
|
e.preventDefault(); //prevent body scroll
|
|
94
|
-
|
|
95
91
|
this.togglePopup(e);
|
|
96
92
|
options.map((list, index) => {
|
|
97
93
|
if (list.id === selectedId) {
|
|
@@ -101,7 +97,6 @@ class SelectWithIcon extends Component {
|
|
|
101
97
|
}
|
|
102
98
|
});
|
|
103
99
|
}
|
|
104
|
-
|
|
105
100
|
if (isPopupOpen) {
|
|
106
101
|
switch (keyCode) {
|
|
107
102
|
case 40:
|
|
@@ -111,16 +106,13 @@ class SelectWithIcon extends Component {
|
|
|
111
106
|
});
|
|
112
107
|
} else {
|
|
113
108
|
if (selectedIndex === options.length - 3) {
|
|
114
|
-
|
|
109
|
+
this.handleGetNextOptions();
|
|
115
110
|
}
|
|
116
|
-
|
|
117
111
|
this.setState({
|
|
118
112
|
selectedIndex: selectedIndex + 1
|
|
119
113
|
});
|
|
120
114
|
}
|
|
121
|
-
|
|
122
115
|
break;
|
|
123
|
-
|
|
124
116
|
case 38:
|
|
125
117
|
if (selectedIndex === 0) {
|
|
126
118
|
this.setState({
|
|
@@ -131,9 +123,7 @@ class SelectWithIcon extends Component {
|
|
|
131
123
|
selectedIndex: selectedIndex - 1
|
|
132
124
|
});
|
|
133
125
|
}
|
|
134
|
-
|
|
135
126
|
break;
|
|
136
|
-
|
|
137
127
|
case 13:
|
|
138
128
|
let option = options[selectedIndex];
|
|
139
129
|
this.handleChange && this.handleChange(option[idKey], option[valueKey], selectedIndex, e);
|
|
@@ -141,7 +131,6 @@ class SelectWithIcon extends Component {
|
|
|
141
131
|
}
|
|
142
132
|
}
|
|
143
133
|
}
|
|
144
|
-
|
|
145
134
|
componentDidUpdate(prevProps) {
|
|
146
135
|
let {
|
|
147
136
|
idKey,
|
|
@@ -152,7 +141,6 @@ class SelectWithIcon extends Component {
|
|
|
152
141
|
selectedIndex,
|
|
153
142
|
options
|
|
154
143
|
} = this.state;
|
|
155
|
-
|
|
156
144
|
if (prevProps.isPopupOpen != isPopupOpen) {
|
|
157
145
|
setTimeout(() => {
|
|
158
146
|
isPopupOpen ? needSearch ? this.searchInput.focus({
|
|
@@ -164,39 +152,32 @@ class SelectWithIcon extends Component {
|
|
|
164
152
|
});
|
|
165
153
|
}, 10);
|
|
166
154
|
}
|
|
167
|
-
|
|
168
155
|
let option = options[selectedIndex];
|
|
169
156
|
let id = option && option[idKey] || {};
|
|
170
157
|
let selSuggestion = this[`suggestion_${id}`];
|
|
171
|
-
|
|
172
158
|
if (isPopupOpen) {
|
|
173
159
|
this.optionsContainer && scrollTo(this.optionsContainer, selSuggestion);
|
|
174
160
|
}
|
|
175
161
|
}
|
|
176
|
-
|
|
177
162
|
searchList(searchValue) {
|
|
178
163
|
let datas = [];
|
|
179
164
|
let {
|
|
180
165
|
options,
|
|
181
166
|
valueKey
|
|
182
167
|
} = this.props;
|
|
183
|
-
|
|
184
168
|
if (options.length) {
|
|
185
169
|
datas = options.filter(obj => obj[valueKey].toLowerCase().includes(searchValue.toLowerCase()));
|
|
186
170
|
}
|
|
187
|
-
|
|
188
171
|
return datas;
|
|
189
172
|
}
|
|
190
|
-
|
|
191
173
|
onSearchClear() {
|
|
192
|
-
let options = this.searchList('');
|
|
193
|
-
|
|
174
|
+
let options = this.searchList('');
|
|
175
|
+
// this.searchInput.focus({preventScroll:false});
|
|
194
176
|
this.setState({
|
|
195
177
|
searchValue: '',
|
|
196
178
|
options
|
|
197
179
|
});
|
|
198
180
|
}
|
|
199
|
-
|
|
200
181
|
onSearch(searchValue) {
|
|
201
182
|
let options = this.searchList(searchValue);
|
|
202
183
|
this.setState({
|
|
@@ -205,7 +186,6 @@ class SelectWithIcon extends Component {
|
|
|
205
186
|
options
|
|
206
187
|
});
|
|
207
188
|
}
|
|
208
|
-
|
|
209
189
|
togglePopup(e) {
|
|
210
190
|
let {
|
|
211
191
|
togglePopup,
|
|
@@ -214,7 +194,6 @@ class SelectWithIcon extends Component {
|
|
|
214
194
|
} = this.props;
|
|
215
195
|
!isReadOnly && togglePopup(e, boxPosition);
|
|
216
196
|
}
|
|
217
|
-
|
|
218
197
|
handleChange(id, value, index, e) {
|
|
219
198
|
let {
|
|
220
199
|
onChange,
|
|
@@ -223,18 +202,57 @@ class SelectWithIcon extends Component {
|
|
|
223
202
|
!isReadOnly && onChange && onChange(id, value, index, e);
|
|
224
203
|
this.togglePopup(e);
|
|
225
204
|
}
|
|
226
|
-
|
|
227
205
|
handleScroll(e) {
|
|
228
|
-
|
|
206
|
+
let ele = e.target;
|
|
207
|
+
let isScrollReachedBottom = findScrollEnd(ele);
|
|
208
|
+
isScrollReachedBottom && this.handleGetNextOptions();
|
|
209
|
+
}
|
|
210
|
+
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
211
|
+
if (nextProps.options.length != this.props.options.length) {
|
|
212
|
+
this.setState({
|
|
213
|
+
options: nextProps.options
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
handleGetNextOptions() {
|
|
218
|
+
let {
|
|
229
219
|
isNextOptions,
|
|
230
220
|
getNextOptions
|
|
231
221
|
} = this.props;
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
222
|
+
let {
|
|
223
|
+
searchValue
|
|
224
|
+
} = this.state;
|
|
225
|
+
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchValue);
|
|
226
|
+
}
|
|
227
|
+
handleFetchOptions(APICall) {
|
|
228
|
+
let searchValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
229
|
+
let {
|
|
230
|
+
isFetchingOptions = false
|
|
231
|
+
} = this.state;
|
|
232
|
+
let {
|
|
233
|
+
_isMounted
|
|
234
|
+
} = this;
|
|
235
|
+
if (!isFetchingOptions && APICall) {
|
|
236
|
+
this.setState({
|
|
237
|
+
isFetchingOptions: true
|
|
238
|
+
});
|
|
239
|
+
try {
|
|
240
|
+
return APICall(searchValue).then(() => {
|
|
241
|
+
_isMounted && this.setState({
|
|
242
|
+
isFetchingOptions: false
|
|
243
|
+
});
|
|
244
|
+
}, () => {
|
|
245
|
+
_isMounted && this.setState({
|
|
246
|
+
isFetchingOptions: false
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
} catch (e) {
|
|
250
|
+
_isMounted && this.setState({
|
|
251
|
+
isFetchingOptions: false
|
|
252
|
+
});
|
|
253
|
+
}
|
|
235
254
|
}
|
|
236
255
|
}
|
|
237
|
-
|
|
238
256
|
responsiveFunc(_ref) {
|
|
239
257
|
let {
|
|
240
258
|
mediaQueryOR
|
|
@@ -245,7 +263,6 @@ class SelectWithIcon extends Component {
|
|
|
245
263
|
}])
|
|
246
264
|
};
|
|
247
265
|
}
|
|
248
|
-
|
|
249
266
|
render() {
|
|
250
267
|
let {
|
|
251
268
|
animationStyle,
|
|
@@ -281,13 +298,13 @@ class SelectWithIcon extends Component {
|
|
|
281
298
|
boxSize,
|
|
282
299
|
dropBoxSize,
|
|
283
300
|
emptyMessage,
|
|
284
|
-
isFetchingOptions,
|
|
285
301
|
needIcon,
|
|
286
302
|
iconName,
|
|
287
303
|
iconSize,
|
|
288
304
|
iconClass,
|
|
289
305
|
i18nKeys,
|
|
290
|
-
htmlId
|
|
306
|
+
htmlId,
|
|
307
|
+
isLoading
|
|
291
308
|
} = this.props;
|
|
292
309
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
293
310
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
@@ -296,7 +313,8 @@ class SelectWithIcon extends Component {
|
|
|
296
313
|
let {
|
|
297
314
|
searchValue,
|
|
298
315
|
selectedIndex,
|
|
299
|
-
options
|
|
316
|
+
options,
|
|
317
|
+
isFetchingOptions
|
|
300
318
|
} = this.state;
|
|
301
319
|
let setAriaId = this.getNextAriaId();
|
|
302
320
|
let ariaErrorId = this.getNextAriaId();
|
|
@@ -379,7 +397,10 @@ class SelectWithIcon extends Component {
|
|
|
379
397
|
isPadding: false,
|
|
380
398
|
isResponsivePadding: true,
|
|
381
399
|
alignBox: "row"
|
|
382
|
-
}, /*#__PURE__*/React.createElement(
|
|
400
|
+
}, isLoading ? /*#__PURE__*/React.createElement(Container, {
|
|
401
|
+
align: "both",
|
|
402
|
+
className: style.loader
|
|
403
|
+
}, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
|
|
383
404
|
flexible: true
|
|
384
405
|
}, /*#__PURE__*/React.createElement(Card, {
|
|
385
406
|
onScroll: this.handleScroll,
|
|
@@ -445,20 +466,19 @@ class SelectWithIcon extends Component {
|
|
|
445
466
|
dataId: dataId,
|
|
446
467
|
i18nKeys: i18nKeys,
|
|
447
468
|
htmlId: ariaErrorId
|
|
448
|
-
})
|
|
469
|
+
}), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
|
|
470
|
+
isCover: false,
|
|
471
|
+
align: "both"
|
|
472
|
+
}, /*#__PURE__*/React.createElement(Loader, null))))));
|
|
449
473
|
}) : null);
|
|
450
474
|
}
|
|
451
|
-
|
|
452
475
|
}
|
|
453
|
-
|
|
454
476
|
SelectWithIcon.propTypes = SelectWithIcon_propTypes;
|
|
455
477
|
SelectWithIcon.defaultProps = SelectWithIcon_defaultProps;
|
|
456
|
-
|
|
457
478
|
if (false) {
|
|
458
479
|
SelectWithIcon.docs = {
|
|
459
480
|
componentGroup: 'Form Elements',
|
|
460
481
|
folderName: 'Style Guide'
|
|
461
482
|
};
|
|
462
483
|
}
|
|
463
|
-
|
|
464
484
|
export default Popup(SelectWithIcon);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/* eslint-disable no-undef */
|
|
2
|
-
|
|
3
2
|
/**** Libraries ****/
|
|
4
3
|
import expect from 'expect';
|
|
5
|
-
/**** Components ****/
|
|
6
4
|
|
|
5
|
+
/**** Components ****/
|
|
7
6
|
import Select from '../Select';
|
|
8
7
|
import ListItem from '../../ListItem/ListItem';
|
|
9
8
|
describe('Select component conditions', () => {
|
|
@@ -189,8 +188,9 @@ describe('Select component conditions', () => {
|
|
|
189
188
|
target: {
|
|
190
189
|
value: 'value changed'
|
|
191
190
|
}
|
|
192
|
-
});
|
|
191
|
+
});
|
|
193
192
|
|
|
193
|
+
//
|
|
194
194
|
setTimeout(() => {
|
|
195
195
|
expect(props.onSearch).toHaveBeenCalled();
|
|
196
196
|
expect(props.onSearch.mock.calls[0][0]).toEqual('value changed');
|
|
@@ -202,8 +202,10 @@ describe('Select component conditions', () => {
|
|
|
202
202
|
expect(loadingEleArr.length).toBe(0);
|
|
203
203
|
cb();
|
|
204
204
|
});
|
|
205
|
-
}, searchDebounceTime);
|
|
205
|
+
}, searchDebounceTime);
|
|
206
|
+
//
|
|
206
207
|
});
|
|
208
|
+
|
|
207
209
|
it('Should call onChange, When select list item', () => {
|
|
208
210
|
let defaultProps = {
|
|
209
211
|
options: [{
|
|
@@ -299,11 +301,11 @@ describe('Select component conditions', () => {
|
|
|
299
301
|
};
|
|
300
302
|
let {
|
|
301
303
|
renderedDOM
|
|
302
|
-
} = setup(Select, defaultProps);
|
|
304
|
+
} = setup(Select, defaultProps);
|
|
305
|
+
// let liteItemArr = TestUtils.scryRenderedComponentsWithTestid(
|
|
303
306
|
// renderedDOM,
|
|
304
307
|
// 'listItem'
|
|
305
308
|
// );
|
|
306
|
-
|
|
307
309
|
let liteItemArr = TestUtils.scryRenderedComponentsWithType(renderedDOM, ListItem);
|
|
308
310
|
expect(liteItemArr.length).toBe(3);
|
|
309
311
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**** Libraries ****/
|
|
2
2
|
import React, { Component } from 'react';
|
|
3
|
-
/**** Components ****/
|
|
4
3
|
|
|
4
|
+
/**** Components ****/
|
|
5
5
|
import GroupSelect from '../GroupSelect';
|
|
6
6
|
let groupedOptions = [{
|
|
7
7
|
id: 'tickets',
|
|
@@ -100,17 +100,14 @@ export default class GroupSelect__default extends Component {
|
|
|
100
100
|
this.handleChange = this.handleChange.bind(this);
|
|
101
101
|
this.groupFooter = this.groupFooter.bind(this);
|
|
102
102
|
}
|
|
103
|
-
|
|
104
103
|
handleChange(selectedOption) {
|
|
105
104
|
this.setState({
|
|
106
105
|
selectedOption
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
|
-
|
|
110
108
|
groupFooter() {
|
|
111
109
|
return /*#__PURE__*/React.createElement("div", null, "Footer");
|
|
112
110
|
}
|
|
113
|
-
|
|
114
111
|
render() {
|
|
115
112
|
let {
|
|
116
113
|
selectedOption
|
|
@@ -138,9 +135,7 @@ export default class GroupSelect__default extends Component {
|
|
|
138
135
|
getFooter: this.groupFooter
|
|
139
136
|
}, "Children"));
|
|
140
137
|
}
|
|
141
|
-
|
|
142
138
|
}
|
|
143
|
-
|
|
144
139
|
if (false) {
|
|
145
140
|
GroupSelect__default.docs = {
|
|
146
141
|
componentGroup: 'Form Elements',
|
|
@@ -40,13 +40,11 @@ export default class SelectWithAvatar__default extends Component {
|
|
|
40
40
|
};
|
|
41
41
|
this.handleChange = this.handleChange.bind(this);
|
|
42
42
|
}
|
|
43
|
-
|
|
44
43
|
handleChange(value) {
|
|
45
44
|
this.setState({
|
|
46
45
|
value
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
|
-
|
|
50
48
|
render() {
|
|
51
49
|
let {
|
|
52
50
|
value
|
|
@@ -86,9 +84,7 @@ export default class SelectWithAvatar__default extends Component {
|
|
|
86
84
|
isDisabled: true
|
|
87
85
|
})));
|
|
88
86
|
}
|
|
89
|
-
|
|
90
87
|
}
|
|
91
|
-
|
|
92
88
|
if (false) {
|
|
93
89
|
SelectWithAvatar__default.docs = {
|
|
94
90
|
componentGroup: 'Form Elements',
|
|
@@ -52,7 +52,6 @@ export default class SelectWithIcon__default extends Component {
|
|
|
52
52
|
};
|
|
53
53
|
this.handleChange = this.handleChange.bind(this);
|
|
54
54
|
}
|
|
55
|
-
|
|
56
55
|
handleChange(selectedId, selectedValue, index, e) {
|
|
57
56
|
this.setState({
|
|
58
57
|
selectedValue,
|
|
@@ -61,7 +60,6 @@ export default class SelectWithIcon__default extends Component {
|
|
|
61
60
|
selectedIconSize: this.options[index].iconSize
|
|
62
61
|
});
|
|
63
62
|
}
|
|
64
|
-
|
|
65
63
|
render() {
|
|
66
64
|
let {
|
|
67
65
|
selectedValue,
|
|
@@ -127,9 +125,7 @@ export default class SelectWithIcon__default extends Component {
|
|
|
127
125
|
iconName: selectedIcon
|
|
128
126
|
})));
|
|
129
127
|
}
|
|
130
|
-
|
|
131
128
|
}
|
|
132
|
-
|
|
133
129
|
if (false) {
|
|
134
130
|
SelectWithIcon__default.docs = {
|
|
135
131
|
componentGroup: 'Form Elements',
|
|
@@ -80,18 +80,15 @@ export default class Select__default extends React.Component {
|
|
|
80
80
|
this.handleChange = this.handleChange.bind(this);
|
|
81
81
|
this.customChildren = this.customChildren.bind(this);
|
|
82
82
|
}
|
|
83
|
-
|
|
84
83
|
handleChange(value) {
|
|
85
84
|
this.setState({
|
|
86
85
|
value
|
|
87
86
|
});
|
|
88
87
|
}
|
|
89
|
-
|
|
90
88
|
customChildren() {
|
|
91
89
|
let serach = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
92
90
|
return /*#__PURE__*/React.createElement("div", null, serach.searchString, "Custom Children");
|
|
93
91
|
}
|
|
94
|
-
|
|
95
92
|
render() {
|
|
96
93
|
let {
|
|
97
94
|
value
|
|
@@ -275,9 +272,7 @@ export default class Select__default extends React.Component {
|
|
|
275
272
|
size: "18"
|
|
276
273
|
})))));
|
|
277
274
|
}
|
|
278
|
-
|
|
279
275
|
}
|
|
280
|
-
|
|
281
276
|
if (false) {
|
|
282
277
|
Select__default.docs = {
|
|
283
278
|
componentGroup: 'Form Elements',
|
|
@@ -30,7 +30,8 @@ export const Select_defaultProps = {
|
|
|
30
30
|
isSearchClearOnClose: true,
|
|
31
31
|
i18nKeys: {},
|
|
32
32
|
iconOnHover: false,
|
|
33
|
-
customProps: {}
|
|
33
|
+
customProps: {},
|
|
34
|
+
isLoading: false
|
|
34
35
|
};
|
|
35
36
|
export const GroupSelect_defaultProps = {
|
|
36
37
|
animationStyle: 'bounce',
|
|
@@ -61,7 +62,8 @@ export const GroupSelect_defaultProps = {
|
|
|
61
62
|
needLocalSearch: true,
|
|
62
63
|
isSearchClearOnClose: true,
|
|
63
64
|
i18nKeys: {},
|
|
64
|
-
iconOnHover: false
|
|
65
|
+
iconOnHover: false,
|
|
66
|
+
isLoading: false
|
|
65
67
|
};
|
|
66
68
|
export const SelectWithAvatar_defaultProps = {
|
|
67
69
|
animationStyle: 'bounce',
|
|
@@ -83,7 +85,8 @@ export const SelectWithAvatar_defaultProps = {
|
|
|
83
85
|
borderColor: 'default',
|
|
84
86
|
isSearchClearOnClose: true,
|
|
85
87
|
i18nKeys: {},
|
|
86
|
-
needEffect: true
|
|
88
|
+
needEffect: true,
|
|
89
|
+
isLoading: false
|
|
87
90
|
};
|
|
88
91
|
export const SelectWithIcon_defaultProps = {
|
|
89
92
|
isReadOnly: false,
|
|
@@ -106,5 +109,6 @@ export const SelectWithIcon_defaultProps = {
|
|
|
106
109
|
dropBoxSize: 'small',
|
|
107
110
|
needIcon: true,
|
|
108
111
|
iconSize: '14',
|
|
109
|
-
i18nKeys: {}
|
|
112
|
+
i18nKeys: {},
|
|
113
|
+
isLoading: false
|
|
110
114
|
};
|
|
@@ -83,7 +83,8 @@ export const Select_propTypes = {
|
|
|
83
83
|
DropdownSearchTextBoxProps: PropTypes.object,
|
|
84
84
|
listItemProps: PropTypes.object,
|
|
85
85
|
SuggestionsProps: PropTypes.object
|
|
86
|
-
})
|
|
86
|
+
}),
|
|
87
|
+
isLoading: PropTypes.bool
|
|
87
88
|
};
|
|
88
89
|
export const GroupSelect_propTypes = {
|
|
89
90
|
groupedOptions: PropTypes.arrayOf(PropTypes.shape({
|
|
@@ -145,7 +146,6 @@ export const GroupSelect_propTypes = {
|
|
|
145
146
|
getFooter: PropTypes.func,
|
|
146
147
|
htmlId: PropTypes.string,
|
|
147
148
|
iconOnHover: PropTypes.bool,
|
|
148
|
-
|
|
149
149
|
/**** Popup Props ****/
|
|
150
150
|
isPopupOpen: PropTypes.bool,
|
|
151
151
|
isPopupReady: PropTypes.bool,
|
|
@@ -160,7 +160,8 @@ export const GroupSelect_propTypes = {
|
|
|
160
160
|
emptyText: PropTypes.string,
|
|
161
161
|
noMoreText: PropTypes.string,
|
|
162
162
|
searchEmptyText: PropTypes.string
|
|
163
|
-
})
|
|
163
|
+
}),
|
|
164
|
+
isLoading: PropTypes.bool
|
|
164
165
|
};
|
|
165
166
|
export const SelectWithAvatar_propTypes = {
|
|
166
167
|
animationStyle: PropTypes.string,
|
|
@@ -217,7 +218,8 @@ export const SelectWithAvatar_propTypes = {
|
|
|
217
218
|
togglePopup: PropTypes.func,
|
|
218
219
|
valueField: PropTypes.string,
|
|
219
220
|
htmlId: PropTypes.string,
|
|
220
|
-
needEffect: PropTypes.bool
|
|
221
|
+
needEffect: PropTypes.bool,
|
|
222
|
+
isLoading: PropTypes.bool
|
|
221
223
|
};
|
|
222
224
|
export const SelectWithIcon_propTypes = {
|
|
223
225
|
animationStyle: PropTypes.oneOf(['default', 'bounce']),
|
|
@@ -262,5 +264,6 @@ export const SelectWithIcon_propTypes = {
|
|
|
262
264
|
textBoxVariant: PropTypes.oneOf(['primary', 'secondary', 'default']),
|
|
263
265
|
togglePopup: PropTypes.func,
|
|
264
266
|
valueKey: PropTypes.string,
|
|
265
|
-
htmlId: PropTypes.string
|
|
267
|
+
htmlId: PropTypes.string,
|
|
268
|
+
isLoading: PropTypes.bool
|
|
266
269
|
};
|
package/es/Stencils/Stencils.js
CHANGED
|
@@ -2,7 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import { defaultProps } from './props/defaultProps';
|
|
3
3
|
import { propTypes } from './props/propTypes';
|
|
4
4
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: [primary, secondary, small, default, medium, large, clarge, cmedium, cdefault, csmall] }] */
|
|
5
|
-
|
|
6
5
|
import style from './Stencils.module.css';
|
|
7
6
|
export default class Stencils extends React.PureComponent {
|
|
8
7
|
render() {
|
|
@@ -18,11 +17,9 @@ export default class Stencils extends React.PureComponent {
|
|
|
18
17
|
className: `${style.container} ${shape} ${size} ${style[palette]} ${customClass}`
|
|
19
18
|
});
|
|
20
19
|
}
|
|
21
|
-
|
|
22
20
|
}
|
|
23
21
|
Stencils.propTypes = propTypes;
|
|
24
22
|
Stencils.defaultProps = defaultProps;
|
|
25
|
-
|
|
26
23
|
if (false) {
|
|
27
24
|
Stencils.docs = {
|
|
28
25
|
componentGroup: 'Atom',
|
package/es/Switch/Switch.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { defaultProps } from './props/defaultProps';
|
|
5
4
|
import { propTypes } from './props/propTypes';
|
|
@@ -11,7 +10,6 @@ export default class Switch extends React.Component {
|
|
|
11
10
|
super(props);
|
|
12
11
|
this.onChange = this.onChange.bind(this);
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
onChange(e) {
|
|
16
14
|
let {
|
|
17
15
|
onChange,
|
|
@@ -19,7 +17,6 @@ export default class Switch extends React.Component {
|
|
|
19
17
|
} = this.props;
|
|
20
18
|
onChange && onChange(!checked, e);
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
render() {
|
|
24
21
|
let {
|
|
25
22
|
id,
|
|
@@ -85,11 +82,9 @@ export default class Switch extends React.Component {
|
|
|
85
82
|
customClass: customLabel
|
|
86
83
|
}, LabelProps)));
|
|
87
84
|
}
|
|
88
|
-
|
|
89
85
|
}
|
|
90
86
|
Switch.defaultProps = defaultProps;
|
|
91
87
|
Switch.propTypes = propTypes;
|
|
92
|
-
|
|
93
88
|
if (false) {
|
|
94
89
|
Switch.docs = {
|
|
95
90
|
componentGroup: 'Form Elements',
|
|
@@ -4,18 +4,18 @@ import styles from '../../common/docStyle.module.css';
|
|
|
4
4
|
export default class Switch__custom extends React.Component {
|
|
5
5
|
render() {
|
|
6
6
|
let style = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
margin: '10px'
|
|
8
|
+
},
|
|
9
|
+
titleStyle = {
|
|
10
|
+
fontSize: '13px',
|
|
11
|
+
padding: '15px 0',
|
|
12
|
+
textTransform: 'upperCase',
|
|
13
|
+
borderBottom: '1px solid #e3e6eb'
|
|
14
|
+
},
|
|
15
|
+
spanStyle = {
|
|
16
|
+
display: 'inline-block',
|
|
17
|
+
margin: '10px 10px 10px 0'
|
|
18
|
+
};
|
|
19
19
|
return /*#__PURE__*/React.createElement("div", {
|
|
20
20
|
style: style
|
|
21
21
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -141,9 +141,7 @@ export default class Switch__custom extends React.Component {
|
|
|
141
141
|
text: "Disabled"
|
|
142
142
|
}))));
|
|
143
143
|
}
|
|
144
|
-
|
|
145
144
|
}
|
|
146
|
-
|
|
147
145
|
if (false) {
|
|
148
146
|
Switch__custom.docs = {
|
|
149
147
|
componentGroup: 'Form Elements',
|