UNPKG

wix-style-react

Version:
72 lines (71 loc) 2.82 kB
"use strict"; exports.__esModule = true; exports.popoverLegacyDriverFactory = void 0; var _getTargetElement = element => element && element.querySelectorAll('[data-hook="popover-element"]')[0]; var queryDocumentOrElement = (element, query) => element && element.querySelectorAll(query)[0] || document && document.querySelector(query); var _getContentElement = element => { var contentHook = element == null ? void 0 : element.getAttribute('data-content-hook'); var contentSelector = "[data-content-element=\"".concat(contentHook, "\"]"); return queryDocumentOrElement(element, contentSelector); }; var _getArrowElement = element => element && element.querySelectorAll('[data-hook="popover-arrow"]')[0]; var popoverLegacyDriverFactory = _ref => { var { element, eventTrigger } = _ref; return { /** Whether the element exists or not */ exists: () => !!element, /** Returns the target element (`<Popover.Element/>`) */ getTargetElement: () => _getTargetElement(element), /** Returns the content element (`<Popover.Content/>`) */ getContentElement: () => _getContentElement(element), /** Returns the arrow element */ getArrowElement: () => _getArrowElement(element), /** Returns `true` whether the target element (`<Popover.Element/>`) exists */ isTargetElementExists: () => !!_getTargetElement(element), /** Returns `true` whether the content element (`<Popover.Content/>`) exists */ isContentElementExists: () => !!_getContentElement(element), /** Trigger `mouseEnter` on the element */ mouseEnter: () => element && eventTrigger.mouseEnter(element), /** Trigger `mouseLeave` on the element */ mouseLeave: () => element && eventTrigger.mouseLeave(element), /** Click on the element */ click: () => { var targetElement = _getTargetElement(element); if (targetElement) { eventTrigger.click(targetElement); } }, /** Click outside the element */ clickOutside: () => { document.dispatchEvent(new Event('mousedown')); document.dispatchEvent(new Event('mouseup')); }, /** Returns the arrow offset */ getArrowOffset: () => { var _getArrowElement2; // @ts-ignore var { top, left, right, bottom } = (_getArrowElement2 = _getArrowElement(element)) == null ? void 0 : _getArrowElement2.style; return { top, left, right, bottom }; }, /** Returns the element's inline styles */ // @ts-ignore inlineStyles: () => element == null ? void 0 : element.style, /** Returns the element's id */ getElementId: () => element == null ? void 0 : element.id }; }; exports.popoverLegacyDriverFactory = popoverLegacyDriverFactory; //# sourceMappingURL=Popover.driver.js.map