UNPKG

wix-style-react

Version:
174 lines (173 loc) • 6.36 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.popoverUniDriverFactory = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _unidriver = require("../test-utils/utils/unidriver"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var popoverUniDriverFactory = (base, body) => { var byHook = hook => base.$("[data-hook=\"".concat(hook, "\"]")); var queryDocumentOrElement = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)(function* (query) { var elm = base.$$(query).get(0); if (yield elm.exists()) { return elm; } return body.$(query); }); return function queryDocumentOrElement(_x) { return _ref.apply(this, arguments); }; }(); var _getContentElement = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)(function* () { var contentHook = yield base.attr('data-content-hook'); var contentSelector = "[data-content-element=\"".concat(contentHook, "\"]"); return queryDocumentOrElement(contentSelector); }); return function getContentElement() { return _ref2.apply(this, arguments); }; }(); return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, { /** * Clicks on the target element * @returns {Promise<void>} */ click: function () { var _click = (0, _asyncToGenerator2.default)(function* () { return byHook('popover-element').click(); }); function click() { return _click.apply(this, arguments); } return click; }(), /** * Gets the target element * @returns {Promise<any>} */ getTargetElement: function () { var _getTargetElement = (0, _asyncToGenerator2.default)(function* () { return byHook('popover-element').getNative(); }); function getTargetElement() { return _getTargetElement.apply(this, arguments); } return getTargetElement; }(), /** * Checks whether target element exists * @returns {Promise<boolean>} */ isTargetElementExists: function () { var _isTargetElementExists = (0, _asyncToGenerator2.default)(function* () { return byHook('popover-element').exists(); }); function isTargetElementExists() { return _isTargetElementExists.apply(this, arguments); } return isTargetElementExists; }(), /** * Gets the portal element * @returns {Promise<any>} */ getPortalElement: function () { var _getPortalElement = (0, _asyncToGenerator2.default)(function* () { return byHook('popover-portal').getNative(); }); function getPortalElement() { return _getPortalElement.apply(this, arguments); } return getPortalElement; }(), /** * Gets the content element * @returns {Promise<any>} */ getContentElement: function () { var _getContentElement2 = (0, _asyncToGenerator2.default)(function* () { return (yield _getContentElement()).getNative(); }); function getContentElement() { return _getContentElement2.apply(this, arguments); } return getContentElement; }(), /** * Checks whether content element exists * @returns {Promise<boolean>} */ isContentElementExists: function () { var _isContentElementExists = (0, _asyncToGenerator2.default)(function* () { return (yield _getContentElement()).exists(); }); function isContentElementExists() { return _isContentElementExists.apply(this, arguments); } return isContentElementExists; }(), /** * Triggers a mouseEnter event * @returns {Promise<void>} */ mouseEnter: () => base.hover(), /** * Triggers a mouseLeave event * @returns {Promise<void>} */ mouseLeave: function () { var _mouseLeave = (0, _asyncToGenerator2.default)(function* () { return base.mouse.leave(); }); function mouseLeave() { return _mouseLeave.apply(this, arguments); } return mouseLeave; }(), /** * Clicks outside the target element (triggers mouseDown and mouseUp events) * @returns {Promise<void>} */ clickOutside: function () { var _clickOutside = (0, _asyncToGenerator2.default)(function* () { return body.click(); }); function clickOutside() { return _clickOutside.apply(this, arguments); } return clickOutside; }(), /** * Gets the arrow offset * @returns {Promise<any>} */ getArrowOffset: function () { var _getArrowOffset = (0, _asyncToGenerator2.default)(function* () { return (yield byHook('popover-arrow').getNative()).style; }); function getArrowOffset() { return _getArrowOffset.apply(this, arguments); } return getArrowOffset; }(), /** * Gets content as unidriver element * @private */ getContentElementUniDriver: function () { var _getContentElementUniDriver = (0, _asyncToGenerator2.default)(function* () { return _getContentElement(); }); function getContentElementUniDriver() { return _getContentElementUniDriver.apply(this, arguments); } return getContentElementUniDriver; }() }); }; exports.popoverUniDriverFactory = popoverUniDriverFactory; //# sourceMappingURL=Popover.uni.driver.js.map