UNPKG

@wix/design-system

Version:

@wix/design-system

109 lines (106 loc) 4.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.popoverNextLegacyDriverFactory = void 0; var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var queryElementOrDocument = (query, element) => { var _element$querySelecto; return (_element$querySelecto = element == null ? void 0 : element.querySelector(query)) !== null && _element$querySelecto !== void 0 ? _element$querySelecto : document.body.querySelector(query); }; var getPopoverDataHook = element => { var popoverRootQuery = '[data-popover-root]'; var foundElement = queryElementOrDocument(popoverRootQuery, element); return (foundElement == null ? void 0 : foundElement.getAttribute('data-hook')) || undefined; }; var _getTriggerElement = element => queryElementOrDocument("[data-hook=\"".concat(getPopoverDataHook(element), "-trigger\"]"), element); var _getContentElement = element => queryElementOrDocument("[data-hook=\"".concat(getPopoverDataHook(element), "-content\"]"), element); // TODO: update when implemented var _getArrowElement = element => element && element.querySelectorAll('[data-hook="popover-arrow"]')[0]; /** @deprecated use popoverNextUniDriverFactory instead */ var popoverNextLegacyDriverFactory = _ref => { var { element, eventTrigger } = _ref; return { /** Whether the element exists or not */ exists: () => !!element, /** Returns the target element (`<Popover.Trigger/>`) * @deprecated * Use getTriggerElement */ getTargetElement: () => _getTriggerElement(element), /** Returns the trigger element (`<Popover.Trigger/>`) */ getTriggerElement: () => _getTriggerElement(element), /** Returns the content element (`<Popover.Content/>`) */ getContentElement: () => _getContentElement(element), /** Returns the arrow element * @todo not yet implemented */ getArrowElement: () => _getArrowElement(element), /** Returns `true` whether the target element (`<Popover.Trigger/>`) exists * @deprecated - use isTriggerElementExists */ isTargetElementExists: () => !!_getTriggerElement(element), /** Returns `true` whether the target element (`<Popover.Trigger/>`) exists */ isTriggerElementExists: () => !!_getTriggerElement(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), /** Trigger key press on the element */ pressKey: function () { var _pressKey = (0, _asyncToGenerator2.default)(function* (key) { return element && eventTrigger.keyPress(element, { key }); }); function pressKey(_x) { return _pressKey.apply(this, arguments); } return pressKey; }(), /** Click on the element */ click: () => { var triggerElement = _getTriggerElement(element); if (triggerElement) { eventTrigger.click(triggerElement); } }, /** 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 * @deprecated */ // @ts-ignore inlineStyles: () => element == null ? void 0 : element.style, /** Returns the element's id * @deprecated */ getElementId: () => element == null ? void 0 : element.id }; }; exports.popoverNextLegacyDriverFactory = popoverNextLegacyDriverFactory; //# sourceMappingURL=PopoverNext.driver.js.map