Spaces:
Paused
Paused
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.hover = hover; | |
| exports.unhover = unhover; | |
| var _dom = require("@testing-library/dom"); | |
| var _utils = require("./utils"); | |
| // includes `element` | |
| function getParentElements(element) { | |
| const parentElements = [element]; | |
| let currentElement = element; | |
| while ((currentElement = currentElement.parentElement) != null) { | |
| parentElements.push(currentElement); | |
| } | |
| return parentElements; | |
| } | |
| function hover(element, init, { | |
| skipPointerEventsCheck = false | |
| } = {}) { | |
| if (!skipPointerEventsCheck && !(0, _utils.hasPointerEvents)(element)) { | |
| throw new Error('unable to hover element as it has or inherits pointer-events set to "none".'); | |
| } | |
| if ((0, _utils.isLabelWithInternallyDisabledControl)(element)) return; | |
| const parentElements = getParentElements(element).reverse(); | |
| _dom.fireEvent.pointerOver(element, init); | |
| for (const el of parentElements) { | |
| _dom.fireEvent.pointerEnter(el, init); | |
| } | |
| if (!(0, _utils.isDisabled)(element)) { | |
| _dom.fireEvent.mouseOver(element, (0, _utils.getMouseEventOptions)('mouseover', init)); | |
| for (const el of parentElements) { | |
| _dom.fireEvent.mouseEnter(el, (0, _utils.getMouseEventOptions)('mouseenter', init)); | |
| } | |
| } | |
| _dom.fireEvent.pointerMove(element, init); | |
| if (!(0, _utils.isDisabled)(element)) { | |
| _dom.fireEvent.mouseMove(element, (0, _utils.getMouseEventOptions)('mousemove', init)); | |
| } | |
| } | |
| function unhover(element, init, { | |
| skipPointerEventsCheck = false | |
| } = {}) { | |
| if (!skipPointerEventsCheck && !(0, _utils.hasPointerEvents)(element)) { | |
| throw new Error('unable to unhover element as it has or inherits pointer-events set to "none".'); | |
| } | |
| if ((0, _utils.isLabelWithInternallyDisabledControl)(element)) return; | |
| const parentElements = getParentElements(element); | |
| _dom.fireEvent.pointerMove(element, init); | |
| if (!(0, _utils.isDisabled)(element)) { | |
| _dom.fireEvent.mouseMove(element, (0, _utils.getMouseEventOptions)('mousemove', init)); | |
| } | |
| _dom.fireEvent.pointerOut(element, init); | |
| for (const el of parentElements) { | |
| _dom.fireEvent.pointerLeave(el, init); | |
| } | |
| if (!(0, _utils.isDisabled)(element)) { | |
| _dom.fireEvent.mouseOut(element, (0, _utils.getMouseEventOptions)('mouseout', init)); | |
| for (const el of parentElements) { | |
| _dom.fireEvent.mouseLeave(el, (0, _utils.getMouseEventOptions)('mouseleave', init)); | |
| } | |
| } | |
| } |