@zohodesk/components 1.0.0-temp-210.3 → 1.0.0-temp-212
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 +5 -4
- 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 +13 -6
- package/es/Button/__tests__/Button.spec.js +1 -1
- package/es/Button/css/Button.module.css +78 -0
- package/es/Button/css/cssJSLogic.js +7 -3
- 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 +6 -6
- package/es/DropBox/DropBoxElement/__tests__/DropBoxElement.spec.js +1 -1
- 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/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/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 +5 -5
- package/es/ListItem/ListItemWithAvatar.js +7 -7
- package/es/ListItem/ListItemWithCheckBox.js +6 -6
- package/es/ListItem/ListItemWithIcon.js +5 -5
- 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 +17 -17
- package/es/MultiSelect/AdvancedMultiSelect.js +17 -17
- 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 +20 -20
- 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 +6 -6
- 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 +1 -1
- 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 +11 -109
- 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 +5 -3
- 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/ResizeObserver.js +21 -85
- package/es/Responsive/ResizeObserverWithPolyfill.js +140 -0
- 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/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 +16 -16
- package/es/Select/Select.js +15 -15
- package/es/Select/SelectWithAvatar.js +17 -17
- package/es/Select/SelectWithIcon.js +13 -13
- 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 +1 -1
- 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 +3 -3
- 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 +17 -17
- package/es/v1/MultiSelect/EmptyState.js +3 -3
- package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
- package/es/v1/MultiSelect/MultiSelect.js +19 -19
- 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 +6 -6
- package/es/v1/MultiSelect/index.js +4 -4
- package/es/v1/MultiSelect/props/defaultProps.js +1 -1
- package/es/v1/PopOver/PopOver.js +6 -6
- package/es/v1/Popup/Popup.js +11 -99
- 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 +16 -16
- package/es/v1/Select/Select.js +15 -15
- package/es/v1/Select/SelectWithAvatar.js +17 -17
- package/es/v1/Select/SelectWithIcon.js +13 -13
- package/es/v1/Select/index.js +4 -4
- package/es/v1/Select/props/defaultProps.js +1 -1
- 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 +24 -2
- package/lib/Button/css/Button.module.css +78 -0
- package/lib/Button/css/cssJSLogic.js +13 -10
- package/lib/Popup/Popup.js +9 -117
- package/lib/Provider/LibraryContext.js +3 -1
- package/lib/Responsive/ResizeObserver.js +20 -88
- package/lib/Responsive/ResizeObserverWithPolyfill.js +168 -0
- package/lib/v1/Popup/Popup.js +9 -105
- package/package.json +6 -6
- package/result.json +1 -1
- package/es/Popup/intersectionObserver.js +0 -39
- package/es/Popup/props/propTypes.js +0 -31
- package/lib/Popup/intersectionObserver.js +0 -62
- package/lib/Popup/props/propTypes.js +0 -44
|
@@ -12,16 +12,19 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
12
12
|
function cssJSLogic(_ref) {
|
|
13
13
|
var _compileClassNames, _compileClassNames2, _compileClassNames3;
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var buttonProps = _ref.buttonProps,
|
|
16
16
|
style = _ref.style;
|
|
17
|
-
var customClass =
|
|
18
|
-
needAppearance =
|
|
19
|
-
isBold =
|
|
20
|
-
rounded =
|
|
21
|
-
size =
|
|
22
|
-
children =
|
|
23
|
-
palette =
|
|
24
|
-
status =
|
|
17
|
+
var customClass = buttonProps.customClass,
|
|
18
|
+
needAppearance = buttonProps.needAppearance,
|
|
19
|
+
isBold = buttonProps.isBold,
|
|
20
|
+
rounded = buttonProps.rounded,
|
|
21
|
+
size = buttonProps.size,
|
|
22
|
+
children = buttonProps.children,
|
|
23
|
+
palette = buttonProps.palette,
|
|
24
|
+
status = buttonProps.status,
|
|
25
|
+
disabled = buttonProps.disabled,
|
|
26
|
+
a11y_strikeThroughButtons = buttonProps.a11y_strikeThroughButtons;
|
|
27
|
+
console.log('a11y buttonProps :', buttonProps);
|
|
25
28
|
var _customClass$customBu = customClass.customButton,
|
|
26
29
|
customButton = _customClass$customBu === void 0 ? '' : _customClass$customBu,
|
|
27
30
|
_customClass$customSt = customClass.customStatus,
|
|
@@ -30,7 +33,7 @@ function cssJSLogic(_ref) {
|
|
|
30
33
|
customStatusSize = _customClass$customSt2 === void 0 ? '' : _customClass$customSt2;
|
|
31
34
|
var paletteLower = palette.toLowerCase();
|
|
32
35
|
var statusLower = status.toLowerCase();
|
|
33
|
-
var buttonClass = (0, _utils.compileClassNames)((_compileClassNames = {}, _defineProperty(_compileClassNames, customButton, !!customButton), _defineProperty(_compileClassNames, style.bold, isBold), _defineProperty(_compileClassNames, style["default"], !needAppearance), _defineProperty(_compileClassNames, style[paletteLower], needAppearance), _defineProperty(_compileClassNames, style.rounded, needAppearance && rounded), _defineProperty(_compileClassNames, style[size.toLowerCase()], needAppearance && !children), _defineProperty(_compileClassNames, style["".concat(size, "Btn")], needAppearance && children), _defineProperty(_compileClassNames, style["".concat(size, "Btn").concat(paletteLower)], needAppearance && children && rounded), _defineProperty(_compileClassNames, style.loader, !!needAppearance && statusLower !== 'none'), _compileClassNames));
|
|
36
|
+
var buttonClass = (0, _utils.compileClassNames)((_compileClassNames = {}, _defineProperty(_compileClassNames, customButton, !!customButton), _defineProperty(_compileClassNames, style.bold, isBold), _defineProperty(_compileClassNames, style["default"], !needAppearance), _defineProperty(_compileClassNames, style[paletteLower], needAppearance), _defineProperty(_compileClassNames, style.rounded, needAppearance && rounded), _defineProperty(_compileClassNames, style[size.toLowerCase()], needAppearance && !children), _defineProperty(_compileClassNames, style["".concat(size, "Btn")], needAppearance && children), _defineProperty(_compileClassNames, style["".concat(size, "Btn").concat(paletteLower)], needAppearance && children && rounded), _defineProperty(_compileClassNames, style["".concat(paletteLower, "Strike")], disabled && a11y_strikeThroughButtons), _defineProperty(_compileClassNames, style.loader, !!needAppearance && statusLower !== 'none'), _compileClassNames));
|
|
34
37
|
var loaderParentClass = (0, _utils.compileClassNames)((_compileClassNames2 = {}, _defineProperty(_compileClassNames2, customStatusSize, !!customStatusSize), _defineProperty(_compileClassNames2, style.loading, statusLower === 'loading'), _defineProperty(_compileClassNames2, style["".concat(size, "loading")], statusLower === 'loading'), _defineProperty(_compileClassNames2, style.success, statusLower != 'loading'), _compileClassNames2));
|
|
35
38
|
var loaderChildClass = (0, _utils.compileClassNames)((_compileClassNames3 = {}, _defineProperty(_compileClassNames3, customStatus, !!customStatus), _defineProperty(_compileClassNames3, style.loadingelement, statusLower === 'loading'), _defineProperty(_compileClassNames3, style["".concat(paletteLower, "element")], statusLower === 'loading'), _defineProperty(_compileClassNames3, style.successelement, statusLower != 'loading'), _defineProperty(_compileClassNames3, style["".concat(paletteLower, "success")], statusLower != 'loading'), _compileClassNames3));
|
|
36
39
|
return {
|
package/lib/Popup/Popup.js
CHANGED
|
@@ -9,9 +9,9 @@ exports["default"] = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
|
15
15
|
|
|
16
16
|
var _Common = require("../utils/Common.js");
|
|
17
17
|
|
|
@@ -21,8 +21,6 @@ var _PositionMapping = require("./PositionMapping.js");
|
|
|
21
21
|
|
|
22
22
|
var _ResizeObserver = _interopRequireDefault(require("@zohodesk/virtualizer/lib/commons/ResizeObserver.js"));
|
|
23
23
|
|
|
24
|
-
var _intersectionObserver = require("./intersectionObserver");
|
|
25
|
-
|
|
26
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
25
|
|
|
28
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); }
|
|
@@ -153,12 +151,6 @@ var Popup = function Popup(Component) {
|
|
|
153
151
|
_this.handleDocumentMouseDown = _this.handleDocumentMouseDown.bind(_assertThisInitialized(_this));
|
|
154
152
|
_this.handleDocumentFocus = _this.handleDocumentFocus.bind(_assertThisInitialized(_this));
|
|
155
153
|
_this.handleGetNeedPrevent = _this.handleGetNeedPrevent.bind(_assertThisInitialized(_this));
|
|
156
|
-
_this.handleBlockScroll = _this.handleBlockScroll.bind(_assertThisInitialized(_this));
|
|
157
|
-
_this.handlePositionChange = _this.handlePositionChange.bind(_assertThisInitialized(_this));
|
|
158
|
-
_this.preventKeyboardScroll = _this.preventKeyboardScroll.bind(_assertThisInitialized(_this));
|
|
159
|
-
_this.addScrollBlockListeners = _this.addScrollBlockListeners.bind(_assertThisInitialized(_this));
|
|
160
|
-
_this.removeScrollBlockListeners = _this.removeScrollBlockListeners.bind(_assertThisInitialized(_this));
|
|
161
|
-
_this.handleIntersectionObserver = _this.handleIntersectionObserver.bind(_assertThisInitialized(_this));
|
|
162
154
|
_this.popupObserver = new _ResizeObserver["default"](_this.handlePopupResize); //dropBoxSize
|
|
163
155
|
|
|
164
156
|
_this.size = null;
|
|
@@ -172,7 +164,6 @@ var Popup = function Popup(Component) {
|
|
|
172
164
|
scrollDebounceTime = _this$getScrollDeboun.scrollDebounceTime;
|
|
173
165
|
|
|
174
166
|
_this.handleScroll = (0, _Common.debounce)(_this.handleScroll.bind(_assertThisInitialized(_this)), scrollDebounceTime);
|
|
175
|
-
_this.handleDebouncedPositionChange = (0, _Common.debounce)(_this.handlePositionChange.bind(_assertThisInitialized(_this)), 100);
|
|
176
167
|
return _this;
|
|
177
168
|
}
|
|
178
169
|
|
|
@@ -216,10 +207,7 @@ var Popup = function Popup(Component) {
|
|
|
216
207
|
oldStateOpen = _ref2$isPopupReady === void 0 ? false : _ref2$isPopupReady;
|
|
217
208
|
|
|
218
209
|
var dropElement = this.dropElement;
|
|
219
|
-
var
|
|
220
|
-
propResizeHandling = _this$props.needResizeHandling,
|
|
221
|
-
isAbsolutePositioningNeeded = _this$props.isAbsolutePositioningNeeded,
|
|
222
|
-
isOutsideScrollBlocked = _this$props.isOutsideScrollBlocked;
|
|
210
|
+
var propResizeHandling = this.props.needResizeHandling;
|
|
223
211
|
|
|
224
212
|
if (oldStateOpen !== isPopupReady) {
|
|
225
213
|
if (isPopupReady && dropElement && (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)) {
|
|
@@ -228,16 +216,6 @@ var Popup = function Popup(Component) {
|
|
|
228
216
|
this.size = null;
|
|
229
217
|
this.popupObserver.disconnect();
|
|
230
218
|
}
|
|
231
|
-
|
|
232
|
-
if (isOutsideScrollBlocked && !isAbsolutePositioningNeeded) {
|
|
233
|
-
if (isPopupReady) {
|
|
234
|
-
(0, _intersectionObserver.addIntersectionObserver)(this.placeHolderElement, this.handleIntersectionObserver);
|
|
235
|
-
this.addScrollBlockListeners();
|
|
236
|
-
} else {
|
|
237
|
-
(0, _intersectionObserver.removeIntersectionObserver)(this.placeHolderElement, this.handleIntersectionObserver);
|
|
238
|
-
this.removeScrollBlockListeners();
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
219
|
}
|
|
242
220
|
}
|
|
243
221
|
}, {
|
|
@@ -258,7 +236,6 @@ var Popup = function Popup(Component) {
|
|
|
258
236
|
|
|
259
237
|
return res;
|
|
260
238
|
}, popups);
|
|
261
|
-
this.removeScrollBlockListeners();
|
|
262
239
|
var noPopups = true;
|
|
263
240
|
|
|
264
241
|
for (var i in popups) {
|
|
@@ -282,88 +259,6 @@ var Popup = function Popup(Component) {
|
|
|
282
259
|
document.removeEventListener('focus', this.handleDocumentFocus, true);
|
|
283
260
|
}
|
|
284
261
|
}
|
|
285
|
-
}, {
|
|
286
|
-
key: "addScrollBlockListeners",
|
|
287
|
-
value: function addScrollBlockListeners() {
|
|
288
|
-
document.addEventListener('wheel', this.handleBlockScroll, {
|
|
289
|
-
capture: true,
|
|
290
|
-
passive: false
|
|
291
|
-
});
|
|
292
|
-
document.addEventListener('touchmove', this.handleBlockScroll, {
|
|
293
|
-
capture: true,
|
|
294
|
-
passive: false
|
|
295
|
-
});
|
|
296
|
-
document.addEventListener('scroll', this.handleDebouncedPositionChange, {
|
|
297
|
-
capture: true,
|
|
298
|
-
passive: false
|
|
299
|
-
});
|
|
300
|
-
document.addEventListener('keydown', this.preventKeyboardScroll, {
|
|
301
|
-
capture: true,
|
|
302
|
-
passive: false
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
}, {
|
|
306
|
-
key: "removeScrollBlockListeners",
|
|
307
|
-
value: function removeScrollBlockListeners() {
|
|
308
|
-
document.removeEventListener('wheel', this.handleBlockScroll, {
|
|
309
|
-
capture: true,
|
|
310
|
-
passive: false
|
|
311
|
-
});
|
|
312
|
-
document.removeEventListener('touchmove', this.handleBlockScroll, {
|
|
313
|
-
capture: true,
|
|
314
|
-
passive: false
|
|
315
|
-
});
|
|
316
|
-
document.removeEventListener('scroll', this.handleDebouncedPositionChange, {
|
|
317
|
-
capture: true,
|
|
318
|
-
passive: false
|
|
319
|
-
});
|
|
320
|
-
document.removeEventListener('keydown', this.preventKeyboardScroll, {
|
|
321
|
-
capture: true,
|
|
322
|
-
passive: false
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
}, {
|
|
326
|
-
key: "handleBlockScroll",
|
|
327
|
-
value: function handleBlockScroll(event) {
|
|
328
|
-
// const targetElement = this.placeHolderElement;
|
|
329
|
-
var containerElement = this.dropElement;
|
|
330
|
-
|
|
331
|
-
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target)) {
|
|
332
|
-
// --- Scroll exclude Target & Container elements --- For reference. Will adopt in future
|
|
333
|
-
// if(
|
|
334
|
-
// (containerElement && (containerElement !== event.target && !containerElement.contains(event.target)))
|
|
335
|
-
// && (targetElement && (targetElement !== event.target && !targetElement.contains(event.target)))
|
|
336
|
-
// ) {
|
|
337
|
-
event.preventDefault();
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}, {
|
|
341
|
-
key: "handlePositionChange",
|
|
342
|
-
value: function handlePositionChange(event) {
|
|
343
|
-
var targetElement = this.placeHolderElement;
|
|
344
|
-
var containerElement = this.dropElement;
|
|
345
|
-
|
|
346
|
-
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target) && targetElement && targetElement !== event.target && !targetElement.contains(event.target) && event.target.contains(targetElement)) {
|
|
347
|
-
this.handlePopupPosition(this.state.position); // this.closePopupOnly(event);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}, {
|
|
351
|
-
key: "preventKeyboardScroll",
|
|
352
|
-
value: function preventKeyboardScroll(event) {
|
|
353
|
-
var containerElement = this.dropElement;
|
|
354
|
-
var keys = [32, 37, 38, 39, 40]; // Space, Arrow keys
|
|
355
|
-
|
|
356
|
-
if (containerElement && containerElement !== event.target && !containerElement.contains(event.target) && keys.includes(event.keyCode)) {
|
|
357
|
-
event.preventDefault();
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
}, {
|
|
361
|
-
key: "handleIntersectionObserver",
|
|
362
|
-
value: function handleIntersectionObserver(entry) {
|
|
363
|
-
if (entry.intersectionRatio === 0) {
|
|
364
|
-
this.closePopupOnly();
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
262
|
}, {
|
|
368
263
|
key: "getGroup",
|
|
369
264
|
value: function getGroup() {
|
|
@@ -692,19 +587,15 @@ var Popup = function Popup(Component) {
|
|
|
692
587
|
_ref6$left = _ref6.left,
|
|
693
588
|
oldLeft = _ref6$left === void 0 ? '' : _ref6$left,
|
|
694
589
|
_ref6$top = _ref6.top,
|
|
695
|
-
oldTop = _ref6$top === void 0 ? '' : _ref6$top
|
|
696
|
-
_ref6$bottom = _ref6.bottom,
|
|
697
|
-
oldBottom = _ref6$bottom === void 0 ? '' : _ref6$bottom;
|
|
590
|
+
oldTop = _ref6$top === void 0 ? '' : _ref6$top;
|
|
698
591
|
|
|
699
592
|
var _ref7 = viewsOffset[view] || {},
|
|
700
593
|
_ref7$left = _ref7.left,
|
|
701
594
|
left = _ref7$left === void 0 ? '' : _ref7$left,
|
|
702
595
|
_ref7$top = _ref7.top,
|
|
703
|
-
top = _ref7$top === void 0 ? '' : _ref7$top
|
|
704
|
-
_ref7$bottom = _ref7.bottom,
|
|
705
|
-
bottom = _ref7$bottom === void 0 ? '' : _ref7$bottom;
|
|
596
|
+
top = _ref7$top === void 0 ? '' : _ref7$top;
|
|
706
597
|
|
|
707
|
-
var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top
|
|
598
|
+
var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
|
|
708
599
|
// placeHolderElement,
|
|
709
600
|
// scrollContainer
|
|
710
601
|
// );
|
|
@@ -814,8 +705,9 @@ var Popup = function Popup(Component) {
|
|
|
814
705
|
}(_react["default"].Component);
|
|
815
706
|
|
|
816
707
|
Popup.displayName = Component.displayName || Component.name || Popup.name;
|
|
817
|
-
Popup.contextTypes =
|
|
818
|
-
|
|
708
|
+
Popup.contextTypes = {
|
|
709
|
+
direction: _propTypes["default"].string
|
|
710
|
+
};
|
|
819
711
|
return (0, _hoistNonReactStatics["default"])(Popup, Component);
|
|
820
712
|
};
|
|
821
713
|
|
|
@@ -44,13 +44,15 @@ var LibraryContextProvider = function LibraryContextProvider(_ref) {
|
|
|
44
44
|
direction = _ref.direction,
|
|
45
45
|
coloredTagVariant = _ref.coloredTagVariant,
|
|
46
46
|
hasTagColorInheritedToText = _ref.hasTagColorInheritedToText,
|
|
47
|
+
a11y_strikeThroughButtons = _ref.a11y_strikeThroughButtons,
|
|
47
48
|
children = _ref.children;
|
|
48
49
|
|
|
49
50
|
var _useState = (0, _react.useState)({
|
|
50
51
|
isReducedMotion: isReducedMotion,
|
|
51
52
|
direction: direction,
|
|
52
53
|
coloredTagVariant: coloredTagVariant,
|
|
53
|
-
hasTagColorInheritedToText: hasTagColorInheritedToText
|
|
54
|
+
hasTagColorInheritedToText: hasTagColorInheritedToText,
|
|
55
|
+
a11y_strikeThroughButtons: a11y_strikeThroughButtons
|
|
54
56
|
}),
|
|
55
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
56
58
|
value = _useState2[0],
|
|
@@ -11,59 +11,31 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
11
11
|
|
|
12
12
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
attributes: true
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
function getSize(element) {
|
|
22
|
-
var offsetHeight = element.offsetHeight,
|
|
23
|
-
offsetWidth = element.offsetWidth; // const { height, width } = element.getBoundingClientRect();
|
|
14
|
+
function getBorderBoxSizeFromEntry(entry) {
|
|
15
|
+
var borderBoxSize = entry.borderBoxSize;
|
|
16
|
+
return borderBoxSize[0];
|
|
17
|
+
}
|
|
24
18
|
|
|
19
|
+
function getSize(entry) {
|
|
20
|
+
var borderBoxSize = getBorderBoxSizeFromEntry(entry);
|
|
25
21
|
return {
|
|
26
|
-
height:
|
|
27
|
-
width:
|
|
22
|
+
height: borderBoxSize.blockSize,
|
|
23
|
+
width: borderBoxSize.inlineSize
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
26
|
|
|
31
|
-
function dispatch() {
|
|
32
|
-
var resizeResponsive = new Event('resizeResponsive');
|
|
33
|
-
window.dispatchEvent(resizeResponsive);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (!hasResizeObserver) {
|
|
37
|
-
var interval = null;
|
|
38
|
-
window.addEventListener('resize', function () {
|
|
39
|
-
clearTimeout(interval);
|
|
40
|
-
interval = setTimeout(dispatch, 100);
|
|
41
|
-
});
|
|
42
|
-
} // NOTE: this is not full polyfill , we just wrote what types of changes wlli
|
|
43
|
-
|
|
44
|
-
|
|
45
27
|
var ResizeObserverPolyfill = /*#__PURE__*/function () {
|
|
46
28
|
function ResizeObserverPolyfill(onResize) {
|
|
47
29
|
_classCallCheck(this, ResizeObserverPolyfill);
|
|
48
30
|
|
|
49
|
-
// method finding
|
|
50
|
-
this.transitionEndHandler = this.transitionEndHandler.bind(this);
|
|
51
|
-
this.resizeHandlerDispatch = this.resizeHandlerDispatch.bind(this);
|
|
52
31
|
this.resizeHandler = this.resizeHandler.bind(this);
|
|
53
|
-
this.replaceResizeHandler = this.replaceResizeHandler.bind(this);
|
|
54
|
-
this.debounce = this.debounce.bind(this);
|
|
55
32
|
this.onResize = onResize;
|
|
56
33
|
this.targetNode = null;
|
|
57
34
|
this.size = {
|
|
58
35
|
height: 0,
|
|
59
36
|
width: 0
|
|
60
37
|
};
|
|
61
|
-
|
|
62
|
-
if (hasResizeObserver) {
|
|
63
|
-
this.resizeObserverInstance = new window.ResizeObserver(this.resizeHandlerDispatch);
|
|
64
|
-
} else {
|
|
65
|
-
this.mutationObserverInstance = new window.MutationObserver(this.resizeHandlerDispatch);
|
|
66
|
-
}
|
|
38
|
+
this.resizeObserverInstance = new window.ResizeObserver(this.resizeHandler);
|
|
67
39
|
}
|
|
68
40
|
|
|
69
41
|
_createClass(ResizeObserverPolyfill, [{
|
|
@@ -71,14 +43,20 @@ var ResizeObserverPolyfill = /*#__PURE__*/function () {
|
|
|
71
43
|
value: function replaceResizeHandler(onResize) {
|
|
72
44
|
this.onResize = onResize;
|
|
73
45
|
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "getEntry",
|
|
48
|
+
value: function getEntry(entries) {
|
|
49
|
+
return entries[0];
|
|
50
|
+
}
|
|
74
51
|
}, {
|
|
75
52
|
key: "resizeHandler",
|
|
76
|
-
value: function resizeHandler() {
|
|
77
|
-
if (!this.targetNode) {
|
|
53
|
+
value: function resizeHandler(entries) {
|
|
54
|
+
if (!this.targetNode || !entries.length) {
|
|
78
55
|
return;
|
|
79
56
|
}
|
|
80
57
|
|
|
81
|
-
var
|
|
58
|
+
var entry = this.getEntry(entries);
|
|
59
|
+
var currentSize = getSize(entry);
|
|
82
60
|
|
|
83
61
|
if (this.size && currentSize.height === this.size.height && currentSize.width === this.size.width) {
|
|
84
62
|
return;
|
|
@@ -88,55 +66,11 @@ var ResizeObserverPolyfill = /*#__PURE__*/function () {
|
|
|
88
66
|
this.onResize(this.size, this.targetNode);
|
|
89
67
|
return true;
|
|
90
68
|
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "resizeHandlerDispatch",
|
|
93
|
-
value: function resizeHandlerDispatch() {
|
|
94
|
-
if (!this.resizeHandler() || hasResizeObserver) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
dispatch();
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "debounce",
|
|
102
|
-
value: function debounce() {
|
|
103
|
-
clearTimeout(this.interval);
|
|
104
|
-
this.interval = setTimeout(this.resizeHandler, 100);
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "transitionEndHandler",
|
|
108
|
-
value: function transitionEndHandler(event) {
|
|
109
|
-
if (event.propertyName.indexOf('color') === -1) {
|
|
110
|
-
this.resizeHandlerDispatch();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "addEventListeners",
|
|
115
|
-
value: function addEventListeners(targetNode) {
|
|
116
|
-
targetNode.addEventListener('transitionend', this.transitionEndHandler);
|
|
117
|
-
window.addEventListener('resizeResponsive', this.debounce);
|
|
118
|
-
targetNode.addEventListener('animationend', this.resizeHandlerDispatch);
|
|
119
|
-
targetNode.addEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
120
|
-
}
|
|
121
|
-
}, {
|
|
122
|
-
key: "removeEventListeners",
|
|
123
|
-
value: function removeEventListeners(targetNode) {
|
|
124
|
-
targetNode.removeEventListener('transitionend', this.transitionEndHandler);
|
|
125
|
-
window.removeEventListener('resizeResponsive', this.debounce);
|
|
126
|
-
targetNode.removeEventListener('animationend', this.resizeHandlerDispatch);
|
|
127
|
-
targetNode.removeEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
128
|
-
}
|
|
129
69
|
}, {
|
|
130
70
|
key: "observe",
|
|
131
71
|
value: function observe(targetNode) {
|
|
132
72
|
this.targetNode = targetNode;
|
|
133
|
-
|
|
134
|
-
if (hasResizeObserver) {
|
|
135
|
-
this.resizeObserverInstance.observe(targetNode);
|
|
136
|
-
} else {
|
|
137
|
-
this.addEventListeners(targetNode);
|
|
138
|
-
this.mutationObserverInstance.observe(targetNode, mutationObserverOptions);
|
|
139
|
-
}
|
|
73
|
+
this.resizeObserverInstance.observe(targetNode);
|
|
140
74
|
}
|
|
141
75
|
}, {
|
|
142
76
|
key: "replaceObservationElement",
|
|
@@ -147,13 +81,11 @@ var ResizeObserverPolyfill = /*#__PURE__*/function () {
|
|
|
147
81
|
|
|
148
82
|
this.targetNode && this.disconnect();
|
|
149
83
|
targetNode && this.observe(targetNode);
|
|
150
|
-
targetNode && this.resizeHandlerDispatch();
|
|
151
84
|
}
|
|
152
85
|
}, {
|
|
153
86
|
key: "disconnect",
|
|
154
87
|
value: function disconnect() {
|
|
155
|
-
this.
|
|
156
|
-
hasResizeObserver ? this.resizeObserverInstance.disconnect() : this.mutationObserverInstance.disconnect();
|
|
88
|
+
this.resizeObserverInstance.disconnect();
|
|
157
89
|
this.targetNode = null;
|
|
158
90
|
this.size = {
|
|
159
91
|
height: 0,
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
|
|
10
|
+
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); } }
|
|
11
|
+
|
|
12
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
+
|
|
14
|
+
var hasResizeObserver = !!window.ResizeObserver;
|
|
15
|
+
var mutationObserverOptions = {
|
|
16
|
+
//NOTE: we donot consider child Count
|
|
17
|
+
// childList: true,
|
|
18
|
+
attributes: true
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
function getSize(element) {
|
|
22
|
+
var offsetHeight = element.offsetHeight,
|
|
23
|
+
offsetWidth = element.offsetWidth; // const { height, width } = element.getBoundingClientRect();
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
height: offsetHeight,
|
|
27
|
+
width: offsetWidth
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function dispatch() {
|
|
32
|
+
var resizeResponsive = new Event('resizeResponsive');
|
|
33
|
+
window.dispatchEvent(resizeResponsive);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (!hasResizeObserver) {
|
|
37
|
+
var interval = null;
|
|
38
|
+
window.addEventListener('resize', function () {
|
|
39
|
+
clearTimeout(interval);
|
|
40
|
+
interval = setTimeout(dispatch, 100);
|
|
41
|
+
});
|
|
42
|
+
} // NOTE: this is not full polyfill , we just wrote what types of changes wlli
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
var ResizeObserverPolyfill = /*#__PURE__*/function () {
|
|
46
|
+
function ResizeObserverPolyfill(onResize) {
|
|
47
|
+
_classCallCheck(this, ResizeObserverPolyfill);
|
|
48
|
+
|
|
49
|
+
// method finding
|
|
50
|
+
this.transitionEndHandler = this.transitionEndHandler.bind(this);
|
|
51
|
+
this.resizeHandlerDispatch = this.resizeHandlerDispatch.bind(this);
|
|
52
|
+
this.resizeHandler = this.resizeHandler.bind(this);
|
|
53
|
+
this.replaceResizeHandler = this.replaceResizeHandler.bind(this);
|
|
54
|
+
this.debounce = this.debounce.bind(this);
|
|
55
|
+
this.onResize = onResize;
|
|
56
|
+
this.targetNode = null;
|
|
57
|
+
this.size = {
|
|
58
|
+
height: 0,
|
|
59
|
+
width: 0
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
if (hasResizeObserver) {
|
|
63
|
+
this.resizeObserverInstance = new window.ResizeObserver(this.resizeHandlerDispatch);
|
|
64
|
+
} else {
|
|
65
|
+
this.mutationObserverInstance = new window.MutationObserver(this.resizeHandlerDispatch);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_createClass(ResizeObserverPolyfill, [{
|
|
70
|
+
key: "replaceResizeHandler",
|
|
71
|
+
value: function replaceResizeHandler(onResize) {
|
|
72
|
+
this.onResize = onResize;
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "resizeHandler",
|
|
76
|
+
value: function resizeHandler() {
|
|
77
|
+
if (!this.targetNode) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
var currentSize = getSize(this.targetNode); // if (this.size && shallowCompare(currentSize, this.size)) {
|
|
82
|
+
|
|
83
|
+
if (this.size && currentSize.height === this.size.height && currentSize.width === this.size.width) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
this.size = currentSize;
|
|
88
|
+
this.onResize(this.size, this.targetNode);
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "resizeHandlerDispatch",
|
|
93
|
+
value: function resizeHandlerDispatch() {
|
|
94
|
+
if (!this.resizeHandler() || hasResizeObserver) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
dispatch();
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "debounce",
|
|
102
|
+
value: function debounce() {
|
|
103
|
+
clearTimeout(this.interval);
|
|
104
|
+
this.interval = setTimeout(this.resizeHandler, 100);
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "transitionEndHandler",
|
|
108
|
+
value: function transitionEndHandler(event) {
|
|
109
|
+
if (event.propertyName.indexOf('color') === -1) {
|
|
110
|
+
this.resizeHandlerDispatch();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "addEventListeners",
|
|
115
|
+
value: function addEventListeners(targetNode) {
|
|
116
|
+
targetNode.addEventListener('transitionend', this.transitionEndHandler);
|
|
117
|
+
window.addEventListener('resizeResponsive', this.debounce);
|
|
118
|
+
targetNode.addEventListener('animationend', this.resizeHandlerDispatch);
|
|
119
|
+
targetNode.addEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
120
|
+
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "removeEventListeners",
|
|
123
|
+
value: function removeEventListeners(targetNode) {
|
|
124
|
+
targetNode.removeEventListener('transitionend', this.transitionEndHandler);
|
|
125
|
+
window.removeEventListener('resizeResponsive', this.debounce);
|
|
126
|
+
targetNode.removeEventListener('animationend', this.resizeHandlerDispatch);
|
|
127
|
+
targetNode.removeEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "observe",
|
|
131
|
+
value: function observe(targetNode) {
|
|
132
|
+
this.targetNode = targetNode;
|
|
133
|
+
|
|
134
|
+
if (hasResizeObserver) {
|
|
135
|
+
this.resizeObserverInstance.observe(targetNode);
|
|
136
|
+
} else {
|
|
137
|
+
this.addEventListeners(targetNode);
|
|
138
|
+
this.mutationObserverInstance.observe(targetNode, mutationObserverOptions);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
142
|
+
key: "replaceObservationElement",
|
|
143
|
+
value: function replaceObservationElement(targetNode) {
|
|
144
|
+
if (this.targetNode === targetNode) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
this.targetNode && this.disconnect();
|
|
149
|
+
targetNode && this.observe(targetNode);
|
|
150
|
+
targetNode && this.resizeHandlerDispatch();
|
|
151
|
+
}
|
|
152
|
+
}, {
|
|
153
|
+
key: "disconnect",
|
|
154
|
+
value: function disconnect() {
|
|
155
|
+
this.targetNode && this.removeEventListeners(this.targetNode);
|
|
156
|
+
hasResizeObserver ? this.resizeObserverInstance.disconnect() : this.mutationObserverInstance.disconnect();
|
|
157
|
+
this.targetNode = null;
|
|
158
|
+
this.size = {
|
|
159
|
+
height: 0,
|
|
160
|
+
width: 0
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}]);
|
|
164
|
+
|
|
165
|
+
return ResizeObserverPolyfill;
|
|
166
|
+
}();
|
|
167
|
+
|
|
168
|
+
exports["default"] = ResizeObserverPolyfill;
|