@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272
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 +4 -0
- package/es/Accordion/Accordion.js +7 -3
- package/es/Accordion/AccordionItem.js +4 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +13 -5
- package/es/Avatar/Avatar.js +23 -11
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/Button/Button.js +4 -3
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +75 -10
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
- package/es/DateTime/__tests__/DateTime.spec.js +1 -0
- package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +32 -2
- package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
- package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
- package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/props/defaultProps.js +2 -1
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +8 -4
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Label/Label.js +2 -3
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItemWithAvatar.js +9 -3
- package/es/ListItem/ListItemWithCheckBox.js +7 -2
- package/es/ListItem/ListItemWithIcon.js +8 -3
- package/es/ListItem/ListItemWithRadio.js +7 -3
- package/es/Modal/Modal.js +28 -11
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
- package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/MultiSelect/EmptyState.js +2 -0
- package/es/MultiSelect/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/Suggestions.js +7 -3
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/props/propTypes.js +2 -0
- package/es/PopOver/PopOver.js +18 -2
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -24
- package/es/Popup/__tests__/Popup.spec.js +17 -5
- package/es/Popup/viewPort.js +16 -4
- package/es/Provider/IdProvider.js +10 -5
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Radio/Radio.js +4 -2
- package/es/Responsive/CustomResponsive.js +30 -18
- package/es/Responsive/RefWrapper.js +6 -7
- package/es/Responsive/ResizeComponent.js +35 -25
- package/es/Responsive/ResizeObserver.js +26 -6
- package/es/Responsive/Responsive.js +34 -20
- package/es/Responsive/index.js +1 -3
- package/es/Responsive/sizeObservers.js +28 -7
- package/es/Responsive/utils/index.js +7 -5
- package/es/Responsive/utils/shallowCompare.js +7 -2
- package/es/Responsive/windowResizeObserver.js +7 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/SelectWithAvatar.js +17 -4
- package/es/Select/SelectWithIcon.js +46 -5
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/props/propTypes.js +1 -0
- package/es/Stencils/Stencils.js +3 -3
- package/es/Switch/Switch.js +5 -3
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +6 -3
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/utils/Common.js +54 -9
- package/es/utils/ContextOptimizer.js +4 -5
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +2 -0
- package/es/utils/css/compileClassNames.js +5 -0
- package/es/utils/css/mergeStyle.js +7 -6
- package/es/utils/css/utils.js +1 -0
- package/es/utils/datetime/GMTZones.js +48 -0
- package/es/utils/datetime/common.js +31 -7
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- package/lib/Button/css/cssJSLogic.js +18 -17
- package/lib/Button/index.js +3 -0
- package/lib/Button/props/defaultProps.js +2 -0
- package/lib/Button/props/propTypes.js +3 -0
- package/lib/Buttongroup/Buttongroup.js +32 -12
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- package/lib/Card/__tests__/Card.spec.js +10 -1
- package/lib/Card/index.js +4 -0
- package/lib/Card/props/propTypes.js +3 -0
- package/lib/CheckBox/CheckBox.js +71 -47
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +246 -158
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
- package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
- package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +74 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +2 -0
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/defaultProps.js +2 -1
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
- package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
- package/lib/DropBox/css/cssJSLogic.js +3 -1
- package/lib/DropBox/props/defaultProps.js +8 -4
- package/lib/DropBox/props/propTypes.js +10 -4
- package/lib/DropDown/DropDown.js +52 -8
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
- package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +6 -4
- package/lib/Heading/Heading.js +37 -15
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +31 -11
- package/lib/Layout/Container.js +29 -10
- package/lib/Layout/__tests__/Box.spec.js +65 -49
- package/lib/Layout/__tests__/Container.spec.js +67 -50
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +10 -0
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItemWithAvatar.js +75 -48
- package/lib/ListItem/ListItemWithCheckBox.js +64 -39
- package/lib/ListItem/ListItemWithIcon.js +68 -44
- package/lib/ListItem/ListItemWithRadio.js +65 -41
- package/lib/ListItem/index.js +7 -0
- package/lib/ListItem/props/propTypes.js +6 -4
- package/lib/Modal/Modal.js +45 -10
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MultiSelect.js +323 -206
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/Suggestions.js +64 -32
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +5 -0
- package/lib/PopOver/PopOver.js +95 -49
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +4 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -81
- package/lib/Popup/__tests__/Popup.spec.js +43 -8
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +4 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +17 -6
- package/lib/Provider/LibraryContext.js +35 -15
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +5 -0
- package/lib/Radio/Radio.js +61 -38
- package/lib/Radio/__tests__/Radiospec.js +9 -5
- package/lib/Radio/props/propTypes.js +3 -0
- package/lib/Responsive/CustomResponsive.js +73 -29
- package/lib/Responsive/RefWrapper.js +17 -11
- package/lib/Responsive/ResizeComponent.js +62 -36
- package/lib/Responsive/ResizeObserver.js +24 -10
- package/lib/Responsive/Responsive.js +80 -30
- package/lib/Responsive/index.js +4 -0
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +53 -17
- package/lib/Responsive/utils/index.js +11 -3
- package/lib/Responsive/utils/shallowCompare.js +11 -2
- package/lib/Responsive/windowResizeObserver.js +8 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +290 -209
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +132 -76
- package/lib/Select/__tests__/Select.spec.js +133 -91
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +4 -0
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +57 -34
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/__tests__/Tab.spec.js +67 -58
- package/lib/Tab/__tests__/TabContent.spec.js +10 -6
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
- package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
- package/lib/Tab/__tests__/Tabs.spec.js +53 -39
- package/lib/Tab/index.js +6 -0
- package/lib/Tab/props/propTypes.js +3 -0
- package/lib/Tag/Tag.js +72 -43
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +85 -59
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +3 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +57 -0
- package/lib/semantic/Button/Button.js +42 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +110 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/GMTZones.js +55 -0
- package/lib/utils/datetime/common.js +52 -7
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +1 -1
package/lib/Popup/Popup.js
CHANGED
|
@@ -1,39 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
10
14
|
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
15
|
+
|
|
11
16
|
var _Common = require("../utils/Common.js");
|
|
17
|
+
|
|
12
18
|
var _viewPort = _interopRequireDefault(require("./viewPort"));
|
|
19
|
+
|
|
13
20
|
var _PositionMapping = require("./PositionMapping.json");
|
|
21
|
+
|
|
14
22
|
var _ResizeObserver = _interopRequireDefault(require("@zohodesk/virtualizer/lib/commons/ResizeObserver.js"));
|
|
23
|
+
|
|
15
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
16
26
|
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); }
|
|
27
|
+
|
|
17
28
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
29
|
+
|
|
18
30
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
31
|
+
|
|
19
32
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
|
+
|
|
20
34
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
35
|
+
|
|
21
36
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
22
|
-
|
|
37
|
+
|
|
38
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
39
|
+
|
|
23
40
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
24
|
-
|
|
41
|
+
|
|
42
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
43
|
+
|
|
25
44
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
26
|
-
|
|
27
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
45
|
+
|
|
28
46
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
47
|
+
|
|
29
48
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
49
|
+
|
|
30
50
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
51
|
+
|
|
31
52
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
53
|
+
|
|
32
54
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
55
|
+
|
|
33
56
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
57
|
+
|
|
34
58
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
59
|
+
|
|
35
60
|
var lastOpenedGroup = [];
|
|
36
61
|
var popups = {};
|
|
62
|
+
|
|
37
63
|
global.closeGroupPopups = function (groupName) {
|
|
38
64
|
var groupPopups = popups[groupName] || [];
|
|
39
65
|
groupPopups.forEach(function (popup) {
|
|
@@ -43,6 +69,7 @@ global.closeGroupPopups = function (groupName) {
|
|
|
43
69
|
});
|
|
44
70
|
});
|
|
45
71
|
};
|
|
72
|
+
|
|
46
73
|
var defaultState = {
|
|
47
74
|
position: 'bottomCenter',
|
|
48
75
|
height: '0px',
|
|
@@ -56,30 +83,36 @@ var defaultState = {
|
|
|
56
83
|
//{height: ‘’, width: ‘’,}
|
|
57
84
|
isAbsolutePositioningNeeded: true
|
|
58
85
|
};
|
|
59
|
-
|
|
60
86
|
/* eslint-disable react/no-deprecated */
|
|
87
|
+
|
|
61
88
|
/* eslint-disable react/prop-types */
|
|
62
89
|
|
|
63
90
|
var Popup = function Popup(Component) {
|
|
64
91
|
var group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'global';
|
|
65
92
|
var needResizeHandling = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
93
|
+
|
|
66
94
|
var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
95
|
+
_ref$isAbsolutePositi = _ref.isAbsolutePositioningNeeded,
|
|
96
|
+
isAbsolutePopup = _ref$isAbsolutePositi === void 0 ? true : _ref$isAbsolutePositi,
|
|
97
|
+
_ref$isArrow = _ref.isArrow,
|
|
98
|
+
needPopupArrow = _ref$isArrow === void 0 ? false : _ref$isArrow,
|
|
99
|
+
_ref$customOrder = _ref.customOrder,
|
|
100
|
+
customPositionOrder = _ref$customOrder === void 0 ? [] : _ref$customOrder,
|
|
101
|
+
_ref$scrollDebounceTi = _ref.scrollDebounceTime,
|
|
102
|
+
popupScrollDebounceTime = _ref$scrollDebounceTi === void 0 ? 0 : _ref$scrollDebounceTi,
|
|
103
|
+
_ref$closeOnScroll = _ref.closeOnScroll,
|
|
104
|
+
closeOnScrollPopup = _ref$closeOnScroll === void 0 ? false : _ref$closeOnScroll;
|
|
105
|
+
|
|
77
106
|
var Popup = /*#__PURE__*/function (_React$Component) {
|
|
78
107
|
_inherits(Popup, _React$Component);
|
|
108
|
+
|
|
79
109
|
var _super = _createSuper(Popup);
|
|
110
|
+
|
|
80
111
|
function Popup(props) {
|
|
81
112
|
var _this;
|
|
113
|
+
|
|
82
114
|
_classCallCheck(this, Popup);
|
|
115
|
+
|
|
83
116
|
_this = _super.call(this, props);
|
|
84
117
|
_this.state = {
|
|
85
118
|
isPopupOpen: props.isPopupOpen || false,
|
|
@@ -118,20 +151,22 @@ var Popup = function Popup(Component) {
|
|
|
118
151
|
_this.handleDocumentMouseDown = _this.handleDocumentMouseDown.bind(_assertThisInitialized(_this));
|
|
119
152
|
_this.handleDocumentFocus = _this.handleDocumentFocus.bind(_assertThisInitialized(_this));
|
|
120
153
|
_this.handleGetNeedPrevent = _this.handleGetNeedPrevent.bind(_assertThisInitialized(_this));
|
|
121
|
-
_this.popupObserver = new _ResizeObserver["default"](_this.handlePopupResize);
|
|
154
|
+
_this.popupObserver = new _ResizeObserver["default"](_this.handlePopupResize); //dropBoxSize
|
|
122
155
|
|
|
123
|
-
//dropBoxSize
|
|
124
156
|
_this.size = null;
|
|
125
157
|
_this.isAbsolutePopup = isAbsolutePopup;
|
|
126
158
|
_this.needPopupArrow = needPopupArrow;
|
|
127
159
|
_this.customPositionOrder = customPositionOrder;
|
|
128
160
|
_this.scrollDebounceTime = popupScrollDebounceTime;
|
|
129
161
|
_this.closeOnScroll = closeOnScrollPopup;
|
|
162
|
+
|
|
130
163
|
var _this$getScrollDeboun = _this.getScrollDebounceTime(_assertThisInitialized(_this)),
|
|
131
|
-
|
|
164
|
+
scrollDebounceTime = _this$getScrollDeboun.scrollDebounceTime;
|
|
165
|
+
|
|
132
166
|
_this.handleScroll = (0, _Common.debounce)(_this.handleScroll.bind(_assertThisInitialized(_this)), scrollDebounceTime);
|
|
133
167
|
return _this;
|
|
134
168
|
}
|
|
169
|
+
|
|
135
170
|
_createClass(Popup, [{
|
|
136
171
|
key: "componentDidMount",
|
|
137
172
|
value: function componentDidMount() {
|
|
@@ -139,10 +174,11 @@ var Popup = function Popup(Component) {
|
|
|
139
174
|
var groupPopups = popups[group] || [];
|
|
140
175
|
groupPopups.push(this);
|
|
141
176
|
popups[group] = groupPopups;
|
|
177
|
+
|
|
142
178
|
if (Object.keys(popups).length === 1 && groupPopups.length === 1) {
|
|
143
179
|
document.addEventListener('click', this.documentClickHandler, false);
|
|
144
|
-
document.addEventListener('keyup', this.documentKeyupHandler, false);
|
|
145
|
-
|
|
180
|
+
document.addEventListener('keyup', this.documentKeyupHandler, false); // document.addEventListener('scroll', this.handleScroll, true);
|
|
181
|
+
|
|
146
182
|
window.addEventListener('resize', this.handleResize);
|
|
147
183
|
document.addEventListener('click', this.documentClickHandler1, true);
|
|
148
184
|
document.addEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
@@ -153,6 +189,7 @@ var Popup = function Popup(Component) {
|
|
|
153
189
|
key: "componentWillReceiveProps",
|
|
154
190
|
value: function componentWillReceiveProps(nextProps) {
|
|
155
191
|
var isPopupOpen = this.state.isPopupOpen;
|
|
192
|
+
|
|
156
193
|
if (typeof nextProps.isPopupOpen !== 'undefined' && nextProps.isPopupOpen !== isPopupOpen) {
|
|
157
194
|
this.setState({
|
|
158
195
|
isPopupOpen: nextProps.isPopupOpen,
|
|
@@ -164,11 +201,14 @@ var Popup = function Popup(Component) {
|
|
|
164
201
|
key: "componentDidUpdate",
|
|
165
202
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
166
203
|
var isPopupReady = this.state.isPopupReady;
|
|
204
|
+
|
|
167
205
|
var _ref2 = prevState || {},
|
|
168
|
-
|
|
169
|
-
|
|
206
|
+
_ref2$isPopupReady = _ref2.isPopupReady,
|
|
207
|
+
oldStateOpen = _ref2$isPopupReady === void 0 ? false : _ref2$isPopupReady;
|
|
208
|
+
|
|
170
209
|
var dropElement = this.dropElement;
|
|
171
210
|
var propResizeHandling = this.props.needResizeHandling;
|
|
211
|
+
|
|
172
212
|
if (oldStateOpen !== isPopupReady) {
|
|
173
213
|
if (isPopupReady && dropElement && (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)) {
|
|
174
214
|
this.popupObserver.replaceObservationElement(dropElement);
|
|
@@ -182,6 +222,7 @@ var Popup = function Popup(Component) {
|
|
|
182
222
|
key: "componentWillUnmount",
|
|
183
223
|
value: function componentWillUnmount() {
|
|
184
224
|
var _this2 = this;
|
|
225
|
+
|
|
185
226
|
var group = this.getGroup();
|
|
186
227
|
popups = Object.keys(popups).reduce(function (res, groupName) {
|
|
187
228
|
if (groupName === group) {
|
|
@@ -192,22 +233,26 @@ var Popup = function Popup(Component) {
|
|
|
192
233
|
newGroupPopups.length === 0 && lastOpenedGroup.indexOf(group) >= 0 && lastOpenedGroup.splice(lastOpenedGroup.indexOf(group), 1);
|
|
193
234
|
res[group] = newGroupPopups;
|
|
194
235
|
}
|
|
236
|
+
|
|
195
237
|
return res;
|
|
196
238
|
}, popups);
|
|
197
239
|
var noPopups = true;
|
|
240
|
+
|
|
198
241
|
for (var i in popups) {
|
|
199
242
|
if (popups[i].length >= 1) {
|
|
200
243
|
noPopups = false;
|
|
201
244
|
break;
|
|
202
245
|
}
|
|
203
246
|
}
|
|
247
|
+
|
|
204
248
|
if (this.popupObserver) {
|
|
205
249
|
this.popupObserver.disconnect();
|
|
206
250
|
}
|
|
251
|
+
|
|
207
252
|
if (noPopups) {
|
|
208
253
|
document.removeEventListener('click', this.documentClickHandler);
|
|
209
|
-
document.removeEventListener('keyup', this.documentKeyupHandler);
|
|
210
|
-
|
|
254
|
+
document.removeEventListener('keyup', this.documentKeyupHandler); // document.removeEventListener('scroll', this.handleScroll);
|
|
255
|
+
|
|
211
256
|
window.removeEventListener('resize', this.handleResize);
|
|
212
257
|
document.removeEventListener('click', this.documentClickHandler1, true);
|
|
213
258
|
document.removeEventListener('mousedown', this.handleDocumentMouseDown, true);
|
|
@@ -252,7 +297,7 @@ var Popup = function Popup(Component) {
|
|
|
252
297
|
key: "getCustomPositionOrder",
|
|
253
298
|
value: function getCustomPositionOrder(popup) {
|
|
254
299
|
var _popup$props$customOr = popup.props.customOrder,
|
|
255
|
-
|
|
300
|
+
customOrder = _popup$props$customOr === void 0 ? [] : _popup$props$customOr;
|
|
256
301
|
var customPositionOrder = popup.customPositionOrder;
|
|
257
302
|
return customOrder.length !== 0 ? customOrder : customPositionOrder;
|
|
258
303
|
}
|
|
@@ -260,6 +305,7 @@ var Popup = function Popup(Component) {
|
|
|
260
305
|
key: "togglePopup",
|
|
261
306
|
value: function togglePopup(e, defaultPosition) {
|
|
262
307
|
var _this3 = this;
|
|
308
|
+
|
|
263
309
|
var group = this.getGroup();
|
|
264
310
|
this.removeClose(e);
|
|
265
311
|
var isPopupOpen = this.state.isPopupOpen;
|
|
@@ -274,6 +320,7 @@ var Popup = function Popup(Component) {
|
|
|
274
320
|
});
|
|
275
321
|
}
|
|
276
322
|
});
|
|
323
|
+
|
|
277
324
|
if (isPopupOpen) {
|
|
278
325
|
this.setState({
|
|
279
326
|
isPopupOpen: false,
|
|
@@ -297,6 +344,7 @@ var Popup = function Popup(Component) {
|
|
|
297
344
|
this.removeClose(e);
|
|
298
345
|
lastOpenedGroup.splice(0, 1);
|
|
299
346
|
var isPopupOpen = this.state.isPopupOpen;
|
|
347
|
+
|
|
300
348
|
if (isPopupOpen) {
|
|
301
349
|
this.setState({
|
|
302
350
|
isPopupOpen: false,
|
|
@@ -320,6 +368,7 @@ var Popup = function Popup(Component) {
|
|
|
320
368
|
key: "handleDocumentMouseDown",
|
|
321
369
|
value: function handleDocumentMouseDown(e) {
|
|
322
370
|
var needPrevent = this.handleGetNeedPrevent(e);
|
|
371
|
+
|
|
323
372
|
if (needPrevent) {
|
|
324
373
|
this.removeClose(e);
|
|
325
374
|
}
|
|
@@ -328,6 +377,7 @@ var Popup = function Popup(Component) {
|
|
|
328
377
|
key: "handleDocumentFocus",
|
|
329
378
|
value: function handleDocumentFocus(e) {
|
|
330
379
|
var needPrevent = this.handleGetNeedPrevent(e);
|
|
380
|
+
|
|
331
381
|
if (needPrevent) {
|
|
332
382
|
this.removeClose(e);
|
|
333
383
|
}
|
|
@@ -336,25 +386,27 @@ var Popup = function Popup(Component) {
|
|
|
336
386
|
key: "handleGetNeedPrevent",
|
|
337
387
|
value: function handleGetNeedPrevent(e) {
|
|
338
388
|
var needPrevent = false;
|
|
389
|
+
|
|
339
390
|
if (lastOpenedGroup.length > 1) {
|
|
340
391
|
var target = e.target;
|
|
341
392
|
var groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] : [];
|
|
342
|
-
var openedPopup = null;
|
|
343
|
-
|
|
393
|
+
var openedPopup = null; // eslint-disable-next-line guard-for-in
|
|
394
|
+
|
|
344
395
|
for (var i in groupPopups) {
|
|
345
396
|
var isPopupOpen = groupPopups[i].state.isPopupOpen;
|
|
397
|
+
|
|
346
398
|
if (isPopupOpen) {
|
|
347
399
|
openedPopup = groupPopups[i];
|
|
348
400
|
break;
|
|
349
401
|
}
|
|
350
402
|
}
|
|
403
|
+
|
|
351
404
|
if (openedPopup) {
|
|
352
405
|
var _openedPopup = openedPopup,
|
|
353
|
-
|
|
354
|
-
|
|
406
|
+
dropElement = _openedPopup.dropElement,
|
|
407
|
+
placeHolderElement = _openedPopup.placeHolderElement;
|
|
355
408
|
var isDropBoxChild = (0, _Common.isDescendant)(dropElement, target);
|
|
356
|
-
var isTargetChild = (0, _Common.isDescendant)(placeHolderElement, target);
|
|
357
|
-
// const massUpdateParent = document.querySelector(
|
|
409
|
+
var isTargetChild = (0, _Common.isDescendant)(placeHolderElement, target); // const massUpdateParent = document.querySelector(
|
|
358
410
|
// '[data-id=massUpdatePopup]'
|
|
359
411
|
// );
|
|
360
412
|
// const isPopupMassUpdateChild = isDescendant(
|
|
@@ -362,19 +414,20 @@ var Popup = function Popup(Component) {
|
|
|
362
414
|
// dropElement
|
|
363
415
|
// );
|
|
364
416
|
|
|
365
|
-
if (!isDropBoxChild && !isTargetChild
|
|
366
|
-
// && isPopupMassUpdateChild
|
|
417
|
+
if (!isDropBoxChild && !isTargetChild // && isPopupMassUpdateChild
|
|
367
418
|
) {
|
|
368
419
|
needPrevent = true;
|
|
369
420
|
}
|
|
370
421
|
}
|
|
371
422
|
}
|
|
423
|
+
|
|
372
424
|
return needPrevent;
|
|
373
425
|
}
|
|
374
426
|
}, {
|
|
375
427
|
key: "documentClickHandler1",
|
|
376
428
|
value: function documentClickHandler1(e) {
|
|
377
429
|
var needPrevent = this.handleGetNeedPrevent(e);
|
|
430
|
+
|
|
378
431
|
if (needPrevent) {
|
|
379
432
|
this.removeClose(e);
|
|
380
433
|
this.handleCloseLastOpenedGroup();
|
|
@@ -394,8 +447,7 @@ var Popup = function Popup(Component) {
|
|
|
394
447
|
});
|
|
395
448
|
});
|
|
396
449
|
lastOpenedGroup = [];
|
|
397
|
-
} catch (e) {
|
|
398
|
-
// eslint-disable-next-line no-console
|
|
450
|
+
} catch (e) {// eslint-disable-next-line no-console
|
|
399
451
|
//console.error('popup component not unmounted properly', e);
|
|
400
452
|
}
|
|
401
453
|
}
|
|
@@ -406,8 +458,7 @@ var Popup = function Popup(Component) {
|
|
|
406
458
|
if (e.keyCode === 27) {
|
|
407
459
|
this.handleCloseLastOpenedGroup();
|
|
408
460
|
}
|
|
409
|
-
} catch (e) {
|
|
410
|
-
// eslint-disable-next-line no-console
|
|
461
|
+
} catch (e) {// eslint-disable-next-line no-console
|
|
411
462
|
//console.log('error', e);
|
|
412
463
|
}
|
|
413
464
|
}
|
|
@@ -421,21 +472,26 @@ var Popup = function Popup(Component) {
|
|
|
421
472
|
key: "handlePopupPosition",
|
|
422
473
|
value: function handlePopupPosition() {
|
|
423
474
|
var _this4 = this;
|
|
475
|
+
|
|
424
476
|
var defaultPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bottomCenter';
|
|
425
477
|
var isResizeHandling = arguments.length > 1 ? arguments[1] : undefined;
|
|
478
|
+
|
|
426
479
|
// isResizeHandling --->>> Window resize and dropBox resize
|
|
427
480
|
var _ref3 = this.context || {},
|
|
428
|
-
|
|
481
|
+
direction = _ref3.direction;
|
|
482
|
+
|
|
429
483
|
var placeHolderElement = this.placeHolderElement,
|
|
430
|
-
|
|
484
|
+
dropElement = this.dropElement;
|
|
431
485
|
var needArrow = this.getNeedArrow(this);
|
|
432
486
|
var isAbsolute = this.getIsAbsolutePopup(this);
|
|
433
487
|
var customOrder = this.getCustomPositionOrder(this);
|
|
488
|
+
|
|
434
489
|
if (direction === 'rtl') {
|
|
435
490
|
defaultPosition = isAbsolute ? _PositionMapping.rtlAbsolutePositionMapping[defaultPosition] : _PositionMapping.rtlFixedPositionMapping[defaultPosition];
|
|
436
491
|
} else {
|
|
437
492
|
defaultPosition = isAbsolute ? _PositionMapping.absolutePositionMapping[defaultPosition] : defaultPosition;
|
|
438
493
|
}
|
|
494
|
+
|
|
439
495
|
if (!placeHolderElement && !dropElement) {
|
|
440
496
|
this.setState({
|
|
441
497
|
isPopupOpen: true,
|
|
@@ -443,25 +499,29 @@ var Popup = function Popup(Component) {
|
|
|
443
499
|
});
|
|
444
500
|
return;
|
|
445
501
|
}
|
|
502
|
+
|
|
446
503
|
var setPosition = function setPosition() {
|
|
447
504
|
requestAnimationFrame(function () {
|
|
448
505
|
var placeHolderElement = _this4.placeHolderElement,
|
|
449
|
-
|
|
506
|
+
dropElement = _this4.dropElement;
|
|
450
507
|
var _this4$state = _this4.state,
|
|
451
|
-
|
|
452
|
-
|
|
508
|
+
position = _this4$state.position,
|
|
509
|
+
isPopupReady = _this4$state.isPopupReady;
|
|
453
510
|
var scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
|
|
511
|
+
|
|
454
512
|
var betterPosition = _viewPort["default"].betterView(dropElement, placeHolderElement, defaultPosition, scrollContainer, {
|
|
455
513
|
needArrow: needArrow,
|
|
456
514
|
isAbsolute: isAbsolute,
|
|
457
515
|
customOrder: customOrder
|
|
458
516
|
});
|
|
517
|
+
|
|
459
518
|
var _ref4 = betterPosition || {},
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
519
|
+
view = _ref4.view,
|
|
520
|
+
views = _ref4.views,
|
|
521
|
+
viewsOffset = _ref4.viewsOffset,
|
|
522
|
+
targetOffset = _ref4.targetOffset,
|
|
523
|
+
popupOffset = _ref4.popupOffset;
|
|
524
|
+
|
|
465
525
|
if (position !== view || !isPopupReady) {
|
|
466
526
|
_this4.setState({
|
|
467
527
|
isPopupReady: true,
|
|
@@ -475,6 +535,7 @@ var Popup = function Popup(Component) {
|
|
|
475
535
|
}
|
|
476
536
|
});
|
|
477
537
|
};
|
|
538
|
+
|
|
478
539
|
if (isResizeHandling) {
|
|
479
540
|
setPosition();
|
|
480
541
|
} else {
|
|
@@ -489,48 +550,55 @@ var Popup = function Popup(Component) {
|
|
|
489
550
|
key: "handleOpenPopupPositionChange",
|
|
490
551
|
value: function handleOpenPopupPositionChange() {
|
|
491
552
|
var _this5 = this;
|
|
553
|
+
|
|
492
554
|
Object.keys(popups).forEach(function (groupName) {
|
|
493
555
|
var groupPopups = popups[groupName] || [];
|
|
494
556
|
groupPopups.forEach(function (popup) {
|
|
495
557
|
if (popup.state.isPopupOpen) {
|
|
496
558
|
var placeHolderElement = popup.placeHolderElement,
|
|
497
|
-
|
|
498
|
-
|
|
559
|
+
dropElement = popup.dropElement,
|
|
560
|
+
defaultPosition = popup.defaultPosition;
|
|
499
561
|
var _popup$state = popup.state,
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
562
|
+
position = _popup$state.position,
|
|
563
|
+
_popup$state$position = _popup$state.positionsOffset,
|
|
564
|
+
positionsOffset = _popup$state$position === void 0 ? {} : _popup$state$position;
|
|
565
|
+
|
|
503
566
|
if (placeHolderElement && dropElement) {
|
|
504
567
|
var scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
|
|
505
568
|
requestAnimationFrame(function () {
|
|
506
569
|
var needArrow = _this5.getNeedArrow(popup);
|
|
570
|
+
|
|
507
571
|
var isAbsolute = _this5.getIsAbsolutePopup(popup);
|
|
572
|
+
|
|
508
573
|
var customOrder = _this5.getCustomPositionOrder(popup);
|
|
574
|
+
|
|
509
575
|
var betterPosition = _viewPort["default"].betterView(dropElement, placeHolderElement, defaultPosition, scrollContainer, {
|
|
510
576
|
needArrow: needArrow,
|
|
511
577
|
isAbsolute: isAbsolute,
|
|
512
578
|
customOrder: customOrder
|
|
513
579
|
});
|
|
580
|
+
|
|
514
581
|
var _ref5 = betterPosition || {},
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
582
|
+
view = _ref5.view,
|
|
583
|
+
views = _ref5.views,
|
|
584
|
+
_ref5$viewsOffset = _ref5.viewsOffset,
|
|
585
|
+
viewsOffset = _ref5$viewsOffset === void 0 ? {} : _ref5$viewsOffset,
|
|
586
|
+
targetOffset = _ref5.targetOffset,
|
|
587
|
+
popupOffset = _ref5.popupOffset;
|
|
588
|
+
|
|
521
589
|
var _ref6 = positionsOffset[position] || {},
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
590
|
+
_ref6$left = _ref6.left,
|
|
591
|
+
oldLeft = _ref6$left === void 0 ? '' : _ref6$left,
|
|
592
|
+
_ref6$top = _ref6.top,
|
|
593
|
+
oldTop = _ref6$top === void 0 ? '' : _ref6$top;
|
|
594
|
+
|
|
526
595
|
var _ref7 = viewsOffset[view] || {},
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top;
|
|
596
|
+
_ref7$left = _ref7.left,
|
|
597
|
+
left = _ref7$left === void 0 ? '' : _ref7$left,
|
|
598
|
+
_ref7$top = _ref7.top,
|
|
599
|
+
top = _ref7$top === void 0 ? '' : _ref7$top;
|
|
532
600
|
|
|
533
|
-
// let isInViewPort = viewPort.isInViewPort(
|
|
601
|
+
var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
|
|
534
602
|
// placeHolderElement,
|
|
535
603
|
// scrollContainer
|
|
536
604
|
// );
|
|
@@ -544,9 +612,7 @@ var Popup = function Popup(Component) {
|
|
|
544
612
|
popupOffset: popupOffset,
|
|
545
613
|
isAbsolutePositioningNeeded: isAbsolute
|
|
546
614
|
});
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
// if (!isInViewPort && !isAbsolute) {
|
|
615
|
+
} // if (!isInViewPort && !isAbsolute) {
|
|
550
616
|
// popup.setState({ isPopupOpen: false, isPopupReady: false });
|
|
551
617
|
// } else if (view && changeState) {
|
|
552
618
|
// popup.setState({
|
|
@@ -558,6 +624,7 @@ var Popup = function Popup(Component) {
|
|
|
558
624
|
// isAbsolutePositioningNeeded: isAbsolute
|
|
559
625
|
// });
|
|
560
626
|
// }
|
|
627
|
+
|
|
561
628
|
});
|
|
562
629
|
}
|
|
563
630
|
}
|
|
@@ -574,11 +641,14 @@ var Popup = function Popup(Component) {
|
|
|
574
641
|
value: function handleScroll(e) {
|
|
575
642
|
// this.handleOpenPopupPositionChange();
|
|
576
643
|
var _this$getCloseOnScrol = this.getCloseOnScrollPopup(this),
|
|
577
|
-
|
|
644
|
+
closeOnScroll = _this$getCloseOnScrol.closeOnScroll;
|
|
645
|
+
|
|
578
646
|
var isPopupReady = this.state.isPopupReady;
|
|
647
|
+
|
|
579
648
|
if (isPopupReady) {
|
|
580
649
|
console.log('onscrollPopupREady');
|
|
581
650
|
}
|
|
651
|
+
|
|
582
652
|
if (isPopupReady && closeOnScroll) {
|
|
583
653
|
console.log(this, 'handle Scroll');
|
|
584
654
|
this.togglePopup(e);
|
|
@@ -588,18 +658,22 @@ var Popup = function Popup(Component) {
|
|
|
588
658
|
key: "handlePopupResize",
|
|
589
659
|
value: function handlePopupResize(popupSize) {
|
|
590
660
|
var height = popupSize.height,
|
|
591
|
-
|
|
661
|
+
width = popupSize.width;
|
|
662
|
+
|
|
592
663
|
var _ref8 = this.size || {},
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
664
|
+
_ref8$height = _ref8.height,
|
|
665
|
+
oldHeight = _ref8$height === void 0 ? 0 : _ref8$height,
|
|
666
|
+
_ref8$width = _ref8.width,
|
|
667
|
+
oldWidth = _ref8$width === void 0 ? 0 : _ref8$width;
|
|
668
|
+
|
|
597
669
|
var _this$state = this.state,
|
|
598
|
-
|
|
599
|
-
|
|
670
|
+
isPopupReady = _this$state.isPopupReady,
|
|
671
|
+
position = _this$state.position;
|
|
672
|
+
|
|
600
673
|
if (isPopupReady && this.size && (oldHeight !== height || width !== oldWidth)) {
|
|
601
674
|
this.handlePopupPosition(position, true);
|
|
602
675
|
}
|
|
676
|
+
|
|
603
677
|
this.size = popupSize;
|
|
604
678
|
}
|
|
605
679
|
}, {
|
|
@@ -616,8 +690,8 @@ var Popup = function Popup(Component) {
|
|
|
616
690
|
key: "render",
|
|
617
691
|
value: function render() {
|
|
618
692
|
var _this$state2 = this.state,
|
|
619
|
-
|
|
620
|
-
|
|
693
|
+
isPopupReady = _this$state2.isPopupReady,
|
|
694
|
+
isPopupOpen = _this$state2.isPopupOpen;
|
|
621
695
|
var localState = isPopupReady ? this.state : {};
|
|
622
696
|
return /*#__PURE__*/_react["default"].createElement(Component, _extends({}, this.props, this.state, {
|
|
623
697
|
openPopupOnly: this.openPopupOnly,
|
|
@@ -629,13 +703,16 @@ var Popup = function Popup(Component) {
|
|
|
629
703
|
}));
|
|
630
704
|
}
|
|
631
705
|
}]);
|
|
706
|
+
|
|
632
707
|
return Popup;
|
|
633
708
|
}(_react["default"].Component);
|
|
709
|
+
|
|
634
710
|
Popup.displayName = Component.displayName || Component.name || Popup.name;
|
|
635
711
|
Popup.contextTypes = {
|
|
636
712
|
direction: _propTypes["default"].string
|
|
637
713
|
};
|
|
638
714
|
return (0, _hoistNonReactStatics["default"])(Popup, Component);
|
|
639
715
|
};
|
|
716
|
+
|
|
640
717
|
var _default = Popup;
|
|
641
718
|
exports["default"] = _default;
|