@zohodesk/components 1.0.0-temp-212 → 1.0.0-temp-199.4
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/.cli/propValidation_report.html +1 -1
- package/README.md +9 -1
- package/es/Accordion/Accordion.js +2 -2
- package/es/Accordion/AccordionItem.js +4 -4
- package/es/Accordion/__tests__/Accordion.spec.js +1 -1
- package/es/Accordion/__tests__/AccordionItem.spec.js +1 -1
- package/es/Accordion/index.js +2 -2
- package/es/Animation/Animation.js +3 -3
- package/es/Animation/__tests__/Animation.spec.js +1 -1
- package/es/Animation/utils.js +1 -1
- package/es/AppContainer/AppContainer.js +9 -9
- package/es/AppContainer/__tests__/AppContainer.spec.js +1 -1
- package/es/Avatar/Avatar.js +5 -5
- package/es/Avatar/__tests__/Avatar.spec.js +1 -1
- package/es/AvatarTeam/AvatarTeam.js +4 -4
- package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -1
- package/es/Button/Button.js +6 -13
- package/es/Button/__tests__/Button.spec.js +1 -1
- package/es/Button/css/Button.module.css +0 -78
- package/es/Button/css/cssJSLogic.js +3 -7
- package/es/Button/index.js +2 -2
- package/es/Button/props/defaultProps.js +1 -1
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/__tests__/Buttongroup.spec.js +1 -1
- package/es/Card/Card.js +5 -5
- package/es/Card/__tests__/Card.spec.js +1 -1
- package/es/Card/index.js +4 -4
- package/es/CheckBox/CheckBox.js +6 -6
- package/es/CheckBox/__tests__/CheckBox.spec.js +1 -1
- package/es/DateTime/CalendarView.js +6 -6
- package/es/DateTime/DateTime.js +15 -15
- package/es/DateTime/DateTimePopupFooter.js +5 -5
- package/es/DateTime/DateTimePopupHeader.js +4 -4
- package/es/DateTime/DateWidget.js +17 -17
- package/es/DateTime/DaysRow.js +3 -3
- package/es/DateTime/Time.js +5 -5
- package/es/DateTime/YearView.js +6 -6
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -1
- package/es/DateTime/__tests__/DateTime.spec.js +1 -1
- package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +1 -1
- package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +1 -1
- package/es/DateTime/__tests__/DateWidget.spec.js +1 -1
- package/es/DateTime/__tests__/DaysRow.spec.js +1 -1
- package/es/DateTime/__tests__/Time.spec.js +1 -1
- package/es/DateTime/__tests__/YearView.spec.js +1 -1
- package/es/DateTime/dateFormatUtils/dateFormat.js +4 -4
- package/es/DateTime/dateFormatUtils/dayChange.js +2 -2
- package/es/DateTime/dateFormatUtils/index.js +3 -3
- package/es/DateTime/dateFormatUtils/monthChange.js +2 -2
- package/es/DateTime/dateFormatUtils/timeChange.js +2 -2
- package/es/DateTime/dateFormatUtils/yearChange.js +2 -2
- package/es/DateTime/index.js +1 -1
- package/es/DateTime/props/propTypes.js +1 -1
- package/es/DateTime/validator.js +2 -2
- package/es/DropBox/DropBox.js +9 -9
- package/es/DropBox/DropBoxElement/DropBoxElement.js +9 -7
- package/es/DropBox/DropBoxElement/__tests__/DropBoxElement.spec.js +1 -1
- package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -0
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +1 -1
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +1 -1
- package/es/DropBox/__tests__/DropBox.spec.js +1 -1
- package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -0
- package/es/DropBox/css/cssJSLogic.js +1 -1
- package/es/DropBox/props/defaultProps.js +1 -1
- package/es/DropBox/props/propTypes.js +1 -1
- package/es/DropBox/utils/isMobilePopover.js +1 -1
- package/es/DropDown/DropDown.js +4 -4
- package/es/DropDown/DropDownHeading.js +3 -3
- package/es/DropDown/DropDownItem.js +3 -3
- package/es/DropDown/DropDownSearch.js +4 -4
- package/es/DropDown/DropDownSeparator.js +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownHeading.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownItem.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownSearch.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownSeparator.spec.js +1 -1
- package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +1 -0
- package/es/DropDown/index.js +7 -7
- package/es/DropDown/props/propTypes.js +1 -1
- package/es/Heading/Heading.js +4 -4
- package/es/Heading/__tests__/Heading.spec.js +1 -1
- package/es/Label/Label.js +4 -4
- package/es/Label/__tests__/Label.spec.js +1 -1
- package/es/Layout/Box.js +4 -4
- package/es/Layout/Container.js +4 -4
- package/es/Layout/__tests__/Box.spec.js +1 -1
- package/es/Layout/__tests__/Container.spec.js +1 -1
- package/es/Layout/index.js +2 -2
- package/es/ListItem/ListContainer.js +6 -6
- package/es/ListItem/ListItem.js +7 -7
- package/es/ListItem/ListItem.module.css +85 -18
- package/es/ListItem/ListItemWithAvatar.js +10 -10
- package/es/ListItem/ListItemWithCheckBox.js +6 -6
- package/es/ListItem/ListItemWithIcon.js +7 -7
- package/es/ListItem/ListItemWithRadio.js +6 -6
- package/es/ListItem/__tests__/ListContainer.spec.js +1 -1
- package/es/ListItem/__tests__/ListItem.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +1 -1
- package/es/ListItem/index.js +6 -6
- package/es/Modal/Modal.js +3 -3
- package/es/Modal/__tests__/Modal.spec.js +1 -1
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +24 -19
- package/es/MultiSelect/AdvancedMultiSelect.js +19 -18
- package/es/MultiSelect/EmptyState.js +3 -3
- package/es/MultiSelect/MobileHeader/MobileHeader.js +5 -5
- package/es/MultiSelect/MobileHeader/__tests__/MobileHeader.spec.js +1 -1
- package/es/MultiSelect/MultiSelect.js +27 -22
- package/es/MultiSelect/MultiSelectHeader.js +4 -4
- package/es/MultiSelect/MultiSelectWithAvatar.js +16 -16
- package/es/MultiSelect/SelectedOptions.js +5 -5
- package/es/MultiSelect/Suggestions.js +14 -10
- package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/EmptyState.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +1 -1
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +1 -1
- package/es/MultiSelect/__tests__/Suggestions.spec.js +1 -1
- package/es/MultiSelect/index.js +4 -4
- package/es/MultiSelect/props/defaultProps.js +7 -5
- package/es/MultiSelect/props/propTypes.js +6 -3
- package/es/PopOver/PopOver.js +6 -6
- package/es/PopOver/__tests__/PopOver.spec.js +1 -1
- package/es/PopOver/index.js +3 -3
- package/es/Popup/Popup.js +110 -11
- package/es/Popup/intersectionObserver.js +39 -0
- package/es/Popup/props/propTypes.js +30 -0
- package/es/Provider/AvatarSize.js +1 -1
- package/es/Provider/CssProvider.js +1 -1
- package/es/Provider/IdProvider.js +2 -2
- package/es/Provider/LibraryContext.js +3 -5
- package/es/Provider/ZindexProvider.js +2 -2
- package/es/Provider/index.js +4 -4
- package/es/Radio/Radio.js +5 -5
- package/es/Radio/__tests__/Radio.spec.js +1 -1
- package/es/Responsive/CustomResponsive.js +7 -7
- package/es/Responsive/ResizeComponent.js +2 -2
- package/es/Responsive/Responsive.js +6 -6
- package/es/Responsive/index.js +3 -3
- package/es/Responsive/utils/index.js +1 -1
- package/es/Responsive/windowResizeObserver.js +1 -1
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
- package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +1 -1
- package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -0
- package/es/ResponsiveDropBox/props/propTypes.js +1 -1
- package/es/Ribbon/Ribbon.js +3 -3
- package/es/Ribbon/__tests__/Ribbon.spec.js +1 -1
- package/es/RippleEffect/RippleEffect.js +4 -4
- package/es/RippleEffect/__tests__/RippleEffect.spec.js +1 -1
- package/es/Select/GroupSelect.js +23 -18
- package/es/Select/Select.js +15 -15
- package/es/Select/SelectWithAvatar.js +24 -19
- package/es/Select/SelectWithIcon.js +17 -15
- package/es/Select/__tests__/GroupSelect.spec.js +1 -1
- package/es/Select/__tests__/Select.spec.js +1 -1
- package/es/Select/__tests__/SelectWithAvatar.spec.js +1 -1
- package/es/Select/__tests__/SelectWithIcon.spec.js +1 -1
- package/es/Select/index.js +4 -4
- package/es/Select/props/defaultProps.js +5 -3
- package/es/Select/props/propTypes.js +4 -2
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/__tests__/Stencils.spec.js +1 -1
- package/es/Switch/Switch.js +5 -5
- package/es/Switch/__tests__/Switch.spec.js +1 -1
- package/es/Tab/Tab.js +5 -5
- package/es/Tab/TabContent.js +4 -4
- package/es/Tab/TabContentWrapper.js +3 -3
- package/es/Tab/TabWrapper.js +3 -3
- package/es/Tab/Tabs.js +13 -13
- package/es/Tab/__tests__/Tab.spec.js +1 -1
- package/es/Tab/__tests__/TabContent.spec.js +1 -1
- package/es/Tab/__tests__/TabContentWrapper.spec.js +1 -1
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -1
- package/es/Tab/__tests__/Tabs.spec.js +1 -1
- package/es/Tab/index.js +5 -5
- package/es/Tag/Tag.js +7 -7
- package/es/Tag/__tests__/Tag.spec.js +1 -1
- package/es/TextBox/TextBox.js +4 -4
- package/es/TextBox/__tests__/TextBox.spec.js +1 -1
- package/es/TextBoxIcon/TextBoxIcon.js +6 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +1 -1
- package/es/TextBoxIcon/props/propTypes.js +1 -1
- package/es/Textarea/Textarea.js +3 -3
- package/es/Textarea/__tests__/Textarea.spec.js +1 -1
- package/es/Tooltip/Tooltip.js +6 -6
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
- package/es/VelocityAnimation/VelocityAnimation/__tests__/VelocityAnimation.spec.js +1 -1
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
- package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js +1 -1
- package/es/VelocityAnimation/index.js +2 -2
- package/es/css.js +37 -37
- package/es/deprecated/PortalLayer/PortalLayer.js +3 -3
- package/es/index.js +39 -39
- package/es/semantic/Button/Button.js +3 -3
- package/es/semantic/Button/__tests__/Button.spec.js +1 -1
- package/es/semantic/index.js +1 -1
- package/es/utils/Common.js +1 -1
- package/es/utils/ContextOptimizer.js +1 -1
- package/es/utils/cssUtils.js +1 -1
- package/es/utils/datetime/common.js +1 -1
- package/es/utils/dropDownUtils.js +1 -1
- package/es/utils/index.js +1 -1
- package/es/v1/Accordion/Accordion.js +2 -2
- package/es/v1/Accordion/AccordionItem.js +4 -4
- package/es/v1/Accordion/index.js +2 -2
- package/es/v1/Animation/Animation.js +3 -3
- package/es/v1/Animation/utils.js +1 -1
- package/es/v1/AppContainer/AppContainer.js +8 -8
- package/es/v1/Avatar/Avatar.js +5 -5
- package/es/v1/AvatarTeam/AvatarTeam.js +4 -4
- package/es/v1/Button/Button.js +4 -4
- package/es/v1/Button/props/defaultProps.js +1 -1
- package/es/v1/Buttongroup/Buttongroup.js +3 -3
- package/es/v1/Card/Card.js +5 -5
- package/es/v1/Card/index.js +4 -4
- package/es/v1/CheckBox/CheckBox.js +6 -6
- package/es/v1/DateTime/CalendarView.js +7 -7
- package/es/v1/DateTime/DateTime.js +15 -15
- package/es/v1/DateTime/DateTimePopupFooter.js +5 -5
- package/es/v1/DateTime/DateTimePopupHeader.js +4 -4
- package/es/v1/DateTime/DateWidget.js +17 -17
- package/es/v1/DateTime/DaysRow.js +3 -3
- package/es/v1/DateTime/Time.js +5 -5
- package/es/v1/DateTime/YearView.js +6 -6
- package/es/v1/DateTime/index.js +1 -1
- package/es/v1/DateTime/props/propTypes.js +1 -1
- package/es/v1/DropBox/DropBox.js +9 -9
- package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +6 -6
- package/es/v1/DropBox/props/defaultProps.js +1 -1
- package/es/v1/DropBox/props/propTypes.js +1 -1
- package/es/v1/DropBox/utils/isMobilePopover.js +1 -1
- package/es/v1/DropDown/DropDown.js +4 -4
- package/es/v1/DropDown/DropDownHeading.js +3 -3
- package/es/v1/DropDown/DropDownItem.js +3 -3
- package/es/v1/DropDown/DropDownSearch.js +4 -4
- package/es/v1/DropDown/DropDownSeparator.js +2 -2
- package/es/v1/DropDown/props/propTypes.js +1 -1
- package/es/v1/Heading/Heading.js +4 -4
- package/es/v1/Label/Label.js +4 -4
- package/es/v1/Layout/Box.js +4 -4
- package/es/v1/Layout/Container.js +4 -4
- package/es/v1/Layout/index.js +2 -2
- package/es/v1/ListItem/ListContainer.js +6 -6
- package/es/v1/ListItem/ListItem.js +5 -5
- package/es/v1/ListItem/ListItemWithAvatar.js +7 -7
- package/es/v1/ListItem/ListItemWithCheckBox.js +6 -6
- package/es/v1/ListItem/ListItemWithIcon.js +5 -5
- package/es/v1/ListItem/ListItemWithRadio.js +6 -6
- package/es/v1/ListItem/index.js +6 -6
- package/es/v1/Modal/Modal.js +3 -3
- package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
- package/es/v1/MultiSelect/AdvancedMultiSelect.js +19 -18
- package/es/v1/MultiSelect/EmptyState.js +3 -3
- package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
- package/es/v1/MultiSelect/MultiSelect.js +26 -21
- package/es/v1/MultiSelect/MultiSelectHeader.js +4 -4
- package/es/v1/MultiSelect/MultiSelectWithAvatar.js +16 -16
- package/es/v1/MultiSelect/SelectedOptions.js +5 -5
- package/es/v1/MultiSelect/Suggestions.js +14 -10
- package/es/v1/MultiSelect/index.js +4 -4
- package/es/v1/MultiSelect/props/defaultProps.js +5 -3
- package/es/v1/MultiSelect/props/propTypes.js +6 -2
- package/es/v1/PopOver/PopOver.js +6 -6
- package/es/v1/Popup/Popup.js +3 -3
- package/es/v1/Radio/Radio.js +5 -5
- package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
- package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -1
- package/es/v1/Ribbon/Ribbon.js +3 -3
- package/es/v1/RippleEffect/RippleEffect.js +4 -4
- package/es/v1/Select/GroupSelect.js +23 -18
- package/es/v1/Select/Select.js +15 -15
- package/es/v1/Select/SelectWithAvatar.js +24 -19
- package/es/v1/Select/SelectWithIcon.js +13 -13
- package/es/v1/Select/index.js +4 -4
- package/es/v1/Select/props/defaultProps.js +5 -3
- package/es/v1/Select/props/propTypes.js +6 -2
- package/es/v1/Stencils/Stencils.js +3 -3
- package/es/v1/Switch/Switch.js +5 -5
- package/es/v1/Tab/Tab.js +5 -5
- package/es/v1/Tab/TabContent.js +4 -4
- package/es/v1/Tab/TabContentWrapper.js +3 -3
- package/es/v1/Tab/TabWrapper.js +3 -3
- package/es/v1/Tab/Tabs.js +13 -13
- package/es/v1/Tab/index.js +5 -5
- package/es/v1/Tag/Tag.js +7 -7
- package/es/v1/TextBox/TextBox.js +3 -3
- package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -6
- package/es/v1/TextBoxIcon/props/propTypes.js +1 -1
- package/es/v1/Textarea/Textarea.js +3 -3
- package/es/v1/Tooltip/Tooltip.js +6 -6
- package/es/v1/Typography/Typography.js +4 -4
- package/es/v1/Typography/css/cssJSLogic.js +1 -1
- package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
- package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
- package/es/v1/semantic/Button/Button.js +3 -3
- package/es/v1/semantic/index.js +1 -1
- package/lib/Button/Button.js +2 -24
- package/lib/Button/css/Button.module.css +0 -78
- package/lib/Button/css/cssJSLogic.js +10 -13
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +3 -1
- package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -0
- package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -0
- package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +1 -0
- package/lib/ListItem/ListItem.js +2 -2
- package/lib/ListItem/ListItem.module.css +85 -18
- package/lib/ListItem/ListItemWithAvatar.js +3 -3
- package/lib/ListItem/ListItemWithIcon.js +2 -2
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +7 -3
- package/lib/MultiSelect/AdvancedMultiSelect.js +3 -1
- package/lib/MultiSelect/MultiSelect.js +6 -3
- package/lib/MultiSelect/Suggestions.js +8 -4
- package/lib/MultiSelect/props/defaultProps.js +6 -4
- package/lib/MultiSelect/props/propTypes.js +8 -6
- package/lib/Popup/Popup.js +118 -9
- package/lib/Popup/intersectionObserver.js +62 -0
- package/lib/Popup/props/propTypes.js +51 -0
- package/lib/Provider/LibraryContext.js +1 -3
- package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -0
- package/lib/Select/GroupSelect.js +8 -3
- package/lib/Select/SelectWithAvatar.js +8 -3
- package/lib/Select/SelectWithIcon.js +5 -3
- package/lib/Select/props/defaultProps.js +4 -2
- package/lib/Select/props/propTypes.js +4 -2
- package/lib/TextBox/TextBox.js +1 -1
- package/lib/v1/MultiSelect/AdvancedMultiSelect.js +3 -1
- package/lib/v1/MultiSelect/MultiSelect.js +8 -3
- package/lib/v1/MultiSelect/Suggestions.js +8 -4
- package/lib/v1/MultiSelect/props/defaultProps.js +4 -2
- package/lib/v1/MultiSelect/props/propTypes.js +6 -2
- package/lib/v1/Select/GroupSelect.js +8 -3
- package/lib/v1/Select/SelectWithAvatar.js +8 -3
- package/lib/v1/Select/props/defaultProps.js +4 -2
- package/lib/v1/Select/props/propTypes.js +6 -2
- package/package.json +5 -5
- package/result.json +1 -1
package/es/Popup/Popup.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**** Libraries ****/
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import hoistStatics from 'hoist-non-react-statics';
|
|
4
|
+
import { PopupPropTypes, ContextTypes } from "./props/propTypes";
|
|
5
5
|
/**** Methods ****/
|
|
6
6
|
|
|
7
|
-
import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from
|
|
8
|
-
import viewPort from
|
|
9
|
-
import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from
|
|
7
|
+
import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from "../utils/Common.js";
|
|
8
|
+
import viewPort from "./viewPort";
|
|
9
|
+
import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from "./PositionMapping.js";
|
|
10
10
|
import ResizeObserver from '@zohodesk/virtualizer/lib/commons/ResizeObserver.js';
|
|
11
|
+
import { addIntersectionObserver, removeIntersectionObserver } from "./intersectionObserver";
|
|
11
12
|
let lastOpenedGroup = [];
|
|
12
13
|
let popups = {};
|
|
13
14
|
|
|
@@ -89,6 +90,12 @@ const Popup = function (Component) {
|
|
|
89
90
|
this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
|
|
90
91
|
this.handleDocumentFocus = this.handleDocumentFocus.bind(this);
|
|
91
92
|
this.handleGetNeedPrevent = this.handleGetNeedPrevent.bind(this);
|
|
93
|
+
this.handleBlockScroll = this.handleBlockScroll.bind(this);
|
|
94
|
+
this.handlePositionChange = this.handlePositionChange.bind(this);
|
|
95
|
+
this.preventKeyboardScroll = this.preventKeyboardScroll.bind(this);
|
|
96
|
+
this.addScrollBlockListeners = this.addScrollBlockListeners.bind(this);
|
|
97
|
+
this.removeScrollBlockListeners = this.removeScrollBlockListeners.bind(this);
|
|
98
|
+
this.handleIntersectionObserver = this.handleIntersectionObserver.bind(this);
|
|
92
99
|
this.popupObserver = new ResizeObserver(this.handlePopupResize); //dropBoxSize
|
|
93
100
|
|
|
94
101
|
this.size = null;
|
|
@@ -101,6 +108,7 @@ const Popup = function (Component) {
|
|
|
101
108
|
scrollDebounceTime
|
|
102
109
|
} = this.getScrollDebounceTime(this);
|
|
103
110
|
this.handleScroll = debounce(this.handleScroll.bind(this), scrollDebounceTime);
|
|
111
|
+
this.handleDebouncedPositionChange = debounce(this.handlePositionChange.bind(this), 100);
|
|
104
112
|
}
|
|
105
113
|
|
|
106
114
|
componentDidMount() {
|
|
@@ -144,7 +152,9 @@ const Popup = function (Component) {
|
|
|
144
152
|
dropElement
|
|
145
153
|
} = this;
|
|
146
154
|
const {
|
|
147
|
-
needResizeHandling: propResizeHandling
|
|
155
|
+
needResizeHandling: propResizeHandling,
|
|
156
|
+
isAbsolutePositioningNeeded,
|
|
157
|
+
isOutsideScrollBlocked
|
|
148
158
|
} = this.props;
|
|
149
159
|
|
|
150
160
|
if (oldStateOpen !== isPopupReady) {
|
|
@@ -154,6 +164,16 @@ const Popup = function (Component) {
|
|
|
154
164
|
this.size = null;
|
|
155
165
|
this.popupObserver.disconnect();
|
|
156
166
|
}
|
|
167
|
+
|
|
168
|
+
if (isOutsideScrollBlocked && !isAbsolutePositioningNeeded) {
|
|
169
|
+
if (isPopupReady) {
|
|
170
|
+
addIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
|
|
171
|
+
this.addScrollBlockListeners();
|
|
172
|
+
} else {
|
|
173
|
+
removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
|
|
174
|
+
this.removeScrollBlockListeners();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
157
177
|
}
|
|
158
178
|
}
|
|
159
179
|
|
|
@@ -169,6 +189,8 @@ const Popup = function (Component) {
|
|
|
169
189
|
|
|
170
190
|
return res;
|
|
171
191
|
}, popups);
|
|
192
|
+
removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);
|
|
193
|
+
this.removeScrollBlockListeners();
|
|
172
194
|
let noPopups = true;
|
|
173
195
|
|
|
174
196
|
for (const i in popups) {
|
|
@@ -193,6 +215,82 @@ const Popup = function (Component) {
|
|
|
193
215
|
}
|
|
194
216
|
}
|
|
195
217
|
|
|
218
|
+
addScrollBlockListeners() {
|
|
219
|
+
document.addEventListener('wheel', this.handleBlockScroll, {
|
|
220
|
+
capture: true,
|
|
221
|
+
passive: false
|
|
222
|
+
});
|
|
223
|
+
document.addEventListener('touchmove', this.handleBlockScroll, {
|
|
224
|
+
capture: true,
|
|
225
|
+
passive: false
|
|
226
|
+
});
|
|
227
|
+
document.addEventListener('scroll', this.handleDebouncedPositionChange, {
|
|
228
|
+
capture: true,
|
|
229
|
+
passive: false
|
|
230
|
+
});
|
|
231
|
+
document.addEventListener('keydown', this.preventKeyboardScroll, {
|
|
232
|
+
capture: true,
|
|
233
|
+
passive: false
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
removeScrollBlockListeners() {
|
|
238
|
+
document.removeEventListener('wheel', this.handleBlockScroll, {
|
|
239
|
+
capture: true,
|
|
240
|
+
passive: false
|
|
241
|
+
});
|
|
242
|
+
document.removeEventListener('touchmove', this.handleBlockScroll, {
|
|
243
|
+
capture: true,
|
|
244
|
+
passive: false
|
|
245
|
+
});
|
|
246
|
+
document.removeEventListener('scroll', this.handleDebouncedPositionChange, {
|
|
247
|
+
capture: true,
|
|
248
|
+
passive: false
|
|
249
|
+
});
|
|
250
|
+
document.removeEventListener('keydown', this.preventKeyboardScroll, {
|
|
251
|
+
capture: true,
|
|
252
|
+
passive: false
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
handleBlockScroll(event) {
|
|
257
|
+
// const targetElement = this.placeHolderElement;
|
|
258
|
+
const containerElement = this.dropElement;
|
|
259
|
+
|
|
260
|
+
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target)) {
|
|
261
|
+
// --- Scroll exclude Target & Container elements --- For reference. Will adopt in future
|
|
262
|
+
// if(
|
|
263
|
+
// (containerElement && (containerElement !== event.target && !containerElement.contains(event.target)))
|
|
264
|
+
// && (targetElement && (targetElement !== event.target && !targetElement.contains(event.target)))
|
|
265
|
+
// ) {
|
|
266
|
+
event.preventDefault();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
handlePositionChange(event) {
|
|
271
|
+
const targetElement = this.placeHolderElement;
|
|
272
|
+
const containerElement = this.dropElement;
|
|
273
|
+
|
|
274
|
+
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target) && targetElement && targetElement !== event.target && !targetElement.contains(event.target) && event.target.contains(targetElement)) {
|
|
275
|
+
this.handlePopupPosition(this.state.position); // this.closePopupOnly(event);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
preventKeyboardScroll(event) {
|
|
280
|
+
const containerElement = this.dropElement;
|
|
281
|
+
const keys = [32, 37, 38, 39, 40]; // Space, Arrow keys
|
|
282
|
+
|
|
283
|
+
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target) && keys.includes(event.keyCode)) {
|
|
284
|
+
event.preventDefault();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
handleIntersectionObserver(entry) {
|
|
289
|
+
if (entry.intersectionRatio === 0) {
|
|
290
|
+
this.closePopupOnly();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
196
294
|
getGroup() {
|
|
197
295
|
const {
|
|
198
296
|
popupGroup
|
|
@@ -523,13 +621,15 @@ const Popup = function (Component) {
|
|
|
523
621
|
} = betterPosition || {};
|
|
524
622
|
const {
|
|
525
623
|
left: oldLeft = '',
|
|
526
|
-
top: oldTop = ''
|
|
624
|
+
top: oldTop = '',
|
|
625
|
+
bottom: oldBottom = ''
|
|
527
626
|
} = positionsOffset[position] || {};
|
|
528
627
|
const {
|
|
529
628
|
left = '',
|
|
530
|
-
top = ''
|
|
629
|
+
top = '',
|
|
630
|
+
bottom = ''
|
|
531
631
|
} = viewsOffset[view] || {};
|
|
532
|
-
const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
|
|
632
|
+
const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top || oldBottom !== bottom; // let isInViewPort = viewPort.isInViewPort(
|
|
533
633
|
// placeHolderElement,
|
|
534
634
|
// scrollContainer
|
|
535
635
|
// );
|
|
@@ -635,9 +735,8 @@ const Popup = function (Component) {
|
|
|
635
735
|
}
|
|
636
736
|
|
|
637
737
|
Popup.displayName = Component.displayName || Component.name || Popup.name;
|
|
638
|
-
Popup.contextTypes =
|
|
639
|
-
|
|
640
|
-
};
|
|
738
|
+
Popup.contextTypes = ContextTypes;
|
|
739
|
+
Popup.propTypes = PopupPropTypes;
|
|
641
740
|
return hoistStatics(Popup, Component);
|
|
642
741
|
};
|
|
643
742
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
let observerCallbacks = null;
|
|
2
|
+
let intersectionObserver = null;
|
|
3
|
+
|
|
4
|
+
function handleObserverCallbacks(entries) {
|
|
5
|
+
entries.map((entry, i) => {
|
|
6
|
+
let oldCallbacks = observerCallbacks.get(entry.target);
|
|
7
|
+
oldCallbacks.length && oldCallbacks.forEach(callback => {
|
|
8
|
+
callback && callback(entry);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function addIntersectionObserver(element, callback, options) {
|
|
14
|
+
if (intersectionObserver === null && observerCallbacks === null) {
|
|
15
|
+
intersectionObserver = new IntersectionObserver(entries => {
|
|
16
|
+
handleObserverCallbacks(entries);
|
|
17
|
+
}, options);
|
|
18
|
+
observerCallbacks = new Map();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
intersectionObserver.observe(element);
|
|
22
|
+
let oldCallbacks = observerCallbacks.get(element) || [];
|
|
23
|
+
observerCallbacks.set(element, [...oldCallbacks, callback]);
|
|
24
|
+
}
|
|
25
|
+
export function removeIntersectionObserver(element, callback) {
|
|
26
|
+
let oldCallbacks = observerCallbacks ? observerCallbacks.get(element) : [];
|
|
27
|
+
oldCallbacks = oldCallbacks.filter(handler => handler !== callback);
|
|
28
|
+
|
|
29
|
+
if (intersectionObserver && oldCallbacks.length === 0) {
|
|
30
|
+
observerCallbacks.delete(element);
|
|
31
|
+
intersectionObserver.unobserve(element);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (intersectionObserver && observerCallbacks && observerCallbacks.size === 0) {
|
|
35
|
+
intersectionObserver.disconnect();
|
|
36
|
+
intersectionObserver = null;
|
|
37
|
+
observerCallbacks = null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
export const ContextTypes = {
|
|
3
|
+
direction: PropTypes.string
|
|
4
|
+
};
|
|
5
|
+
export const PopupPropTypes = {
|
|
6
|
+
popupGroup: PropTypes.string,
|
|
7
|
+
isArrow: PropTypes.bool,
|
|
8
|
+
isPopupOpen: PropTypes.bool,
|
|
9
|
+
closeOnScroll: PropTypes.bool,
|
|
10
|
+
isOutsideScrollBlocked: PropTypes.bool,
|
|
11
|
+
needResizeHandling: PropTypes.bool,
|
|
12
|
+
isAbsolutePositioningNeeded: PropTypes.bool,
|
|
13
|
+
scrollDebounceTime: PropTypes.number,
|
|
14
|
+
customOrder: PropTypes.arrayOf(PropTypes.string),
|
|
15
|
+
checkBeforeClose: PropTypes.func
|
|
16
|
+
};
|
|
17
|
+
export const PopupWrappersPropTypes = {
|
|
18
|
+
openPopupOnly: PropTypes.func,
|
|
19
|
+
closePopupOnly: PropTypes.func,
|
|
20
|
+
togglePopup: PropTypes.func,
|
|
21
|
+
removeClose: PropTypes.func,
|
|
22
|
+
isPopupReady: PropTypes.bool,
|
|
23
|
+
position: PropTypes.oneOf(['bottomRight', 'bottomLeft', 'bottomCenter', 'topRight', 'topLeft', 'topCenter', 'rightTop', 'rightBottom', 'rightCenter', 'leftTop', 'leftBottom', 'leftCenter']),
|
|
24
|
+
getTargetRef: PropTypes.func,
|
|
25
|
+
getContainerRef: PropTypes.func,
|
|
26
|
+
...PopupPropTypes,
|
|
27
|
+
isRestrictScroll: PropTypes.bool,
|
|
28
|
+
positionsOffset: PropTypes.object,
|
|
29
|
+
targetOffset: PropTypes.object
|
|
30
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useNumberGenerator, getNumberGenerators } from
|
|
2
|
-
import { getLibraryConfig } from
|
|
1
|
+
import { useNumberGenerator, getNumberGenerators } from "./NumberGenerator/NumberGenerator";
|
|
2
|
+
import { getLibraryConfig } from "./Config";
|
|
3
3
|
let globalId = getLibraryConfig('idCounter'),
|
|
4
4
|
deletedIndexes = [],
|
|
5
5
|
globalPrefix;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import LibraryContextInit from
|
|
4
|
-
import { getLibraryConfig } from
|
|
3
|
+
import LibraryContextInit from "./LibraryContextInit";
|
|
4
|
+
import { getLibraryConfig } from "./Config";
|
|
5
5
|
|
|
6
6
|
const LibraryContextProvider = _ref => {
|
|
7
7
|
let {
|
|
@@ -9,15 +9,13 @@ const LibraryContextProvider = _ref => {
|
|
|
9
9
|
direction,
|
|
10
10
|
coloredTagVariant,
|
|
11
11
|
hasTagColorInheritedToText,
|
|
12
|
-
a11y_strikeThroughButtons,
|
|
13
12
|
children
|
|
14
13
|
} = _ref;
|
|
15
14
|
const [value, setValue] = useState({
|
|
16
15
|
isReducedMotion,
|
|
17
16
|
direction,
|
|
18
17
|
coloredTagVariant,
|
|
19
|
-
hasTagColorInheritedToText
|
|
20
|
-
a11y_strikeThroughButtons
|
|
18
|
+
hasTagColorInheritedToText
|
|
21
19
|
});
|
|
22
20
|
|
|
23
21
|
function setGlobalContext(key, data) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useNumberGenerator, getNumberGenerators } from
|
|
2
|
-
import { getLibraryConfig } from
|
|
1
|
+
import { useNumberGenerator, getNumberGenerators } from "./NumberGenerator/NumberGenerator";
|
|
2
|
+
import { getLibraryConfig } from "./Config";
|
|
3
3
|
let globalId = getLibraryConfig('zindexCounter'),
|
|
4
4
|
deletedIndexes = [],
|
|
5
5
|
globalPrefix;
|
package/es/Provider/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getLibraryConfig, setLibraryConfig } from
|
|
2
|
-
export { default as LibraryContextProvider } from
|
|
3
|
-
export { removeGlobalZIndexPrefix, setInitialZIndex, useZIndex, getZIndex } from
|
|
4
|
-
export { setGlobalIdPrefix, removeGlobalIdPrefix, useUniqueId, getUniqueId } from
|
|
1
|
+
export { getLibraryConfig, setLibraryConfig } from "./Config";
|
|
2
|
+
export { default as LibraryContextProvider } from "./LibraryContext";
|
|
3
|
+
export { removeGlobalZIndexPrefix, setInitialZIndex, useZIndex, getZIndex } from "./ZindexProvider";
|
|
4
|
+
export { setGlobalIdPrefix, removeGlobalIdPrefix, useUniqueId, getUniqueId } from "./IdProvider";
|
package/es/Radio/Radio.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['small', 'medium'] }] */
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { defaultProps } from
|
|
4
|
-
import { propTypes } from
|
|
5
|
-
import Label from
|
|
6
|
-
import { Container, Box } from
|
|
7
|
-
import style from
|
|
3
|
+
import { defaultProps } from "./props/defaultProps";
|
|
4
|
+
import { propTypes } from "./props/propTypes";
|
|
5
|
+
import Label from "../Label/Label";
|
|
6
|
+
import { Container, Box } from "../Layout";
|
|
7
|
+
import style from "./Radio.module.css";
|
|
8
8
|
export default class Radio extends React.Component {
|
|
9
9
|
constructor(props) {
|
|
10
10
|
super(props);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useContext, useEffect, useState, useRef, useMemo } from 'react';
|
|
2
|
-
import { CustomResponsiveSender_defaultProps, CustomResponsiveReceiver_defaultProps } from
|
|
3
|
-
import { CustomResponsiveSender_propTypes, CustomResponsiveReceiver_propTypes } from
|
|
4
|
-
import ResizeObserver from
|
|
5
|
-
import DOMRefWrapper from
|
|
6
|
-
import shallowCompare from
|
|
7
|
-
import { isBreackPointMatched, Subscribale, isTouchDevice, windowResizeObserver } from
|
|
8
|
-
import { ContextOptimizer } from
|
|
2
|
+
import { CustomResponsiveSender_defaultProps, CustomResponsiveReceiver_defaultProps } from "./props/defaultProps";
|
|
3
|
+
import { CustomResponsiveSender_propTypes, CustomResponsiveReceiver_propTypes } from "./props/propTypes";
|
|
4
|
+
import ResizeObserver from "./ResizeObserver";
|
|
5
|
+
import DOMRefWrapper from "./RefWrapper";
|
|
6
|
+
import shallowCompare from "./utils/shallowCompare";
|
|
7
|
+
import { isBreackPointMatched, Subscribale, isTouchDevice, windowResizeObserver } from "./sizeObservers";
|
|
8
|
+
import { ContextOptimizer } from "../utils/ContextOptimizer"; // const commonBreakPoints = [ 480, 640, 768, 1024, 1440 ];
|
|
9
9
|
// const otherBreakPoints = [320, 360, 375, 720, 1280, 1600, 1920];
|
|
10
10
|
// defaultResponsiveId means if ResponsiveSender do not recive id This will be id
|
|
11
11
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
// 2) debounce Mutation observer and resize observer
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
-
import ResizeObserver from
|
|
8
|
-
import { getElementSpace, debounce } from
|
|
7
|
+
import ResizeObserver from "./ResizeObserver";
|
|
8
|
+
import { getElementSpace, debounce } from "../utils/Common";
|
|
9
9
|
export default class ResizeComponent extends React.Component {
|
|
10
10
|
constructor(props) {
|
|
11
11
|
super(props);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useContext, useEffect, useState, useMemo } from 'react'; // import React, { useState, useMemo, useCallback, useContext } from 'react';
|
|
2
2
|
|
|
3
|
-
import { ResponsiveSender_defaultProps, ResponsiveReceiver_defaultProps } from
|
|
4
|
-
import { ResponsiveSender_propTypes, ResponsiveReceiver_propTypes } from
|
|
5
|
-
import ResizeObserver from
|
|
6
|
-
import DOMRefWrapper from
|
|
7
|
-
import { windowResizeObserver } from
|
|
8
|
-
import { getBreakPointValue, defaultMatcher } from
|
|
3
|
+
import { ResponsiveSender_defaultProps, ResponsiveReceiver_defaultProps } from "./props/defaultProps";
|
|
4
|
+
import { ResponsiveSender_propTypes, ResponsiveReceiver_propTypes } from "./props/propTypes";
|
|
5
|
+
import ResizeObserver from "./ResizeObserver";
|
|
6
|
+
import DOMRefWrapper from "./RefWrapper";
|
|
7
|
+
import { windowResizeObserver } from "./windowResizeObserver";
|
|
8
|
+
import { getBreakPointValue, defaultMatcher } from "./utils/"; // const sortedBreackPointKey = [ 'MOBILE_XS', 'MOBILE_S', 'MOBILE_M', 'MOBILE', 'TABLET_S', 'TABLET_M', 'TABLET', 'LAPTOP_S', 'LAPTOP_M', 'LAPTOP', 'MONITOR_M', 'MONITOR'];
|
|
9
9
|
|
|
10
10
|
export const ResponsiveContext = /*#__PURE__*/React.createContext({});
|
|
11
11
|
const defaultResponsiveId = 'parentReceiver';
|
package/es/Responsive/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ResponsiveSender as CustomResponsiveSender, ResponsiveReceiver as CustomResponsiveReceiver, useResponsiveReceiver as useCustomResponsiveReceiver } from
|
|
2
|
-
export { ResponsiveSender, ResponsiveReceiver, useResponsiveReceiver } from
|
|
3
|
-
export { default as ResizeComponent } from
|
|
1
|
+
export { ResponsiveSender as CustomResponsiveSender, ResponsiveReceiver as CustomResponsiveReceiver, useResponsiveReceiver as useCustomResponsiveReceiver } from "./CustomResponsive";
|
|
2
|
+
export { ResponsiveSender, ResponsiveReceiver, useResponsiveReceiver } from "./Responsive";
|
|
3
|
+
export { default as ResizeComponent } from "./ResizeComponent"; // let Responsive = {
|
|
4
4
|
// docs: {
|
|
5
5
|
// componentGroup: 'Layout',
|
|
6
6
|
// folderName: 'Style Guide'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import DropBox from
|
|
5
|
-
import { Container } from
|
|
6
|
-
import { ResponsiveReceiver } from
|
|
7
|
-
import style from
|
|
2
|
+
import { defaultProps } from "./props/defaultProps";
|
|
3
|
+
import { propTypes } from "./props/propTypes";
|
|
4
|
+
import DropBox from "../DropBox/DropBox";
|
|
5
|
+
import { Container } from "../Layout";
|
|
6
|
+
import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
|
|
7
|
+
import style from "./ResponsiveDropBox.module.css";
|
|
8
8
|
export default class ResponsiveDropBox extends Component {
|
|
9
9
|
constructor(props) {
|
|
10
10
|
super(props);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
|
-
import ResponsiveDropBox from
|
|
3
|
+
import ResponsiveDropBox from "../ResponsiveDropBox";
|
|
4
4
|
describe('ResponsiveDropBox', () => {
|
|
5
5
|
test('rendering the defult props', () => {
|
|
6
6
|
const {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
import { DropBoxPropTypes } from
|
|
2
|
+
import { DropBoxPropTypes } from "./../../DropBox/props/propTypes";
|
|
3
3
|
export const propTypes = { ...DropBoxPropTypes,
|
|
4
4
|
children: PropTypes.element,
|
|
5
5
|
customClass: PropTypes.object,
|
package/es/Ribbon/Ribbon.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from "./props/defaultProps";
|
|
3
|
+
import { propTypes } from "./props/propTypes";
|
|
4
4
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: [default, flag, plain, ribbon, box, stamp, sticker, small, medium, large, xlarge, palette_default, palette_danger, palette_primary, palette_secondary, palette_info, palette_dark, plain_default, plain_danger, plain_primary, plain_secondary, plain_info, plain_dark, tag] }] */
|
|
5
5
|
|
|
6
|
-
import style from
|
|
6
|
+
import style from "./Ribbon.module.css";
|
|
7
7
|
export default class Ribbon extends React.Component {
|
|
8
8
|
render() {
|
|
9
9
|
let {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import CssProvider from
|
|
5
|
-
import style from
|
|
2
|
+
import { defaultProps } from "./props/defaultProps";
|
|
3
|
+
import { propTypes } from "./props/propTypes";
|
|
4
|
+
import CssProvider from "../Provider/CssProvider";
|
|
5
|
+
import style from "./RippleEffect.module.css";
|
|
6
6
|
export default function RippleEffect(props) {
|
|
7
7
|
let {
|
|
8
8
|
children,
|
package/es/Select/GroupSelect.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/**** Libraries ****/
|
|
2
2
|
import React, { PureComponent } from 'react';
|
|
3
|
-
import { GroupSelect_defaultProps } from
|
|
4
|
-
import { GroupSelect_propTypes } from
|
|
3
|
+
import { GroupSelect_defaultProps } from "./props/defaultProps";
|
|
4
|
+
import { GroupSelect_propTypes } from "./props/propTypes";
|
|
5
5
|
/**** Components ****/
|
|
6
6
|
|
|
7
|
-
import Popup from
|
|
8
|
-
import TextBoxIcon from
|
|
9
|
-
import Textbox from
|
|
10
|
-
import Card, { CardHeader, CardContent, CardFooter } from
|
|
11
|
-
import Suggestions from
|
|
12
|
-
import EmptyState from
|
|
7
|
+
import Popup from "../Popup/Popup";
|
|
8
|
+
import TextBoxIcon from "../TextBoxIcon/TextBoxIcon";
|
|
9
|
+
import Textbox from "../TextBox/TextBox";
|
|
10
|
+
import Card, { CardHeader, CardContent, CardFooter } from "../Card/Card";
|
|
11
|
+
import Suggestions from "../MultiSelect/Suggestions";
|
|
12
|
+
import EmptyState from "../MultiSelect/EmptyState";
|
|
13
13
|
import { Icon } from '@zohodesk/icons';
|
|
14
14
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
15
|
-
import DropDownHeading from
|
|
16
|
-
import { Container, Box } from
|
|
17
|
-
import { getUniqueId } from
|
|
18
|
-
import ResponsiveDropBox from
|
|
19
|
-
import { ResponsiveReceiver } from
|
|
20
|
-
import style from
|
|
15
|
+
import DropDownHeading from "../DropDown/DropDownHeading";
|
|
16
|
+
import { Container, Box } from "../Layout";
|
|
17
|
+
import { getUniqueId } from "../Provider/IdProvider";
|
|
18
|
+
import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox";
|
|
19
|
+
import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
|
|
20
|
+
import style from "./Select.module.css";
|
|
21
21
|
/**** Methods ****/
|
|
22
22
|
|
|
23
|
-
import { makeGetGroupSelectOptions, optionIdGrouping, makeGetGroupSelectFilterSuggestions, extractOptionId, extractOptionIdFromJson } from
|
|
24
|
-
import { getIsEmptyValue, scrollTo, debounce, getSearchString, findScrollEnd, getKeyValue } from
|
|
23
|
+
import { makeGetGroupSelectOptions, optionIdGrouping, makeGetGroupSelectFilterSuggestions, extractOptionId, extractOptionIdFromJson } from "../utils/dropDownUtils";
|
|
24
|
+
import { getIsEmptyValue, scrollTo, debounce, getSearchString, findScrollEnd, getKeyValue } from "../utils/Common";
|
|
25
25
|
/* eslint-disable react/no-unused-prop-types */
|
|
26
26
|
|
|
27
27
|
/* eslint-disable react/sort-prop-types */
|
|
@@ -588,8 +588,12 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
588
588
|
htmlId,
|
|
589
589
|
iconOnHover,
|
|
590
590
|
isLoading,
|
|
591
|
-
dataSelectorId
|
|
591
|
+
dataSelectorId,
|
|
592
|
+
customProps
|
|
592
593
|
} = this.props;
|
|
594
|
+
const {
|
|
595
|
+
suggestionsProps = {}
|
|
596
|
+
} = customProps;
|
|
593
597
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
594
598
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
595
599
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
|
|
@@ -782,7 +786,8 @@ export class GroupSelectComponent extends PureComponent {
|
|
|
782
786
|
ariaParentRole: 'listbox',
|
|
783
787
|
role: 'option'
|
|
784
788
|
},
|
|
785
|
-
dataId: `${dataId}_Options
|
|
789
|
+
dataId: `${dataId}_Options`,
|
|
790
|
+
...suggestionsProps
|
|
786
791
|
}));
|
|
787
792
|
}) : /*#__PURE__*/React.createElement(EmptyState, {
|
|
788
793
|
options: revampedGroups,
|