wix-style-react
Version:
wix-style-react
174 lines (173 loc) • 6.36 kB
JavaScript
;
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