UNPKG

wix-style-react

Version:
466 lines (391 loc) • 14.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.tabsUniDriverFactory = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _unidriver = require("../../test/utils/unidriver"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var tabsUniDriverFactory = function tabsUniDriverFactory(base) { var findFirst = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(query) { var item; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: item = base.$$(query).get(0); _context.next = 3; return item.exists(); case 3: if (!_context.sent) { _context.next = 7; break; } _context.t0 = item; _context.next = 8; break; case 7: _context.t0 = null; case 8: return _context.abrupt("return", _context.t0); case 9: case "end": return _context.stop(); } } }, _callee); })); return function findFirst(_x) { return _ref.apply(this, arguments); }; }(); var getItemsContainer = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", findFirst('ul')); case 1: case "end": return _context2.stop(); } } }, _callee2); })); return function getItemsContainer() { return _ref2.apply(this, arguments); }; }(); var getItems = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var itemsContainer; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return getItemsContainer(); case 2: itemsContainer = _context3.sent; return _context3.abrupt("return", itemsContainer.$$('li').map(function (child) { return child; })); case 4: case "end": return _context3.stop(); } } }, _callee3); })); return function getItems() { return _ref3.apply(this, arguments); }; }(); var getItemsContainerType = /*#__PURE__*/function () { var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { var itemContainer; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return getItemsContainer(); case 2: itemContainer = _context4.sent; _context4.next = 5; return itemContainer.attr('data-type'); case 5: return _context4.abrupt("return", _context4.sent); case 6: case "end": return _context4.stop(); } } }, _callee4); })); return function getItemsContainerType() { return _ref4.apply(this, arguments); }; }(); return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, { /** * Gets all titles text * @return {Promise<string[]>} */ getTitles: function () { var _getTitles = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.t0 = Promise; _context5.next = 3; return getItems(); case 3: _context5.t1 = _context5.sent.map(function (item) { return item.text(); }); return _context5.abrupt("return", _context5.t0.all.call(_context5.t0, _context5.t1)); case 5: case "end": return _context5.stop(); } } }, _callee5); })); function getTitles() { return _getTitles.apply(this, arguments); } return getTitles; }(), /** * Clicks the tab at index * @param {number} index * @return {Promise<void>} */ clickTabAt: function () { var _clickTabAt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(index) { return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return getItems(); case 2: _context6.t0 = index; return _context6.abrupt("return", _context6.sent[_context6.t0].click()); case 4: case "end": return _context6.stop(); } } }, _callee6); })); function clickTabAt(_x2) { return _clickTabAt.apply(this, arguments); } return clickTabAt; }(), /** * Gets active tab index * @return {Promise<number>} */ getActiveTabIndex: function () { var _getActiveTabIndex = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() { var itemsDataActivePromises, itemsDataActive; return _regenerator["default"].wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return getItems(); case 2: itemsDataActivePromises = _context7.sent.map(function (item) { return item.attr('data-active'); }); _context7.next = 5; return Promise.all(itemsDataActivePromises); case 5: itemsDataActive = _context7.sent; return _context7.abrupt("return", itemsDataActive.findIndex(function (active) { return active === 'true'; })); case 7: case "end": return _context7.stop(); } } }, _callee7); })); function getActiveTabIndex() { return _getActiveTabIndex.apply(this, arguments); } return getActiveTabIndex; }(), /** * Checks whether tabs type is default * @return {Promise<boolean>} */ isDefaultType: function () { var _isDefaultType = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { return _regenerator["default"].wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _context8.next = 2; return getItemsContainerType(); case 2: return _context8.abrupt("return", !_context8.sent); case 3: case "end": return _context8.stop(); } } }, _callee8); })); function isDefaultType() { return _isDefaultType.apply(this, arguments); } return isDefaultType; }(), /** * Checks whether tabs type is container * @return {Promise<boolean>} */ getItemsContainerType: getItemsContainerType, /** * Gets the data-hook * @param {number} index * @return {Promise<string>} */ getDataHook: function () { var _getDataHook = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(index) { return _regenerator["default"].wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: _context9.next = 2; return getItems(); case 2: _context9.t0 = index; return _context9.abrupt("return", _context9.sent[_context9.t0].attr('data-hook')); case 4: case "end": return _context9.stop(); } } }, _callee9); })); function getDataHook(_x3) { return _getDataHook.apply(this, arguments); } return getDataHook; }(), /** * Gets a set of tabs widths * @return {Promise<Set<string>>} */ getItemsWidth: function () { var _getItemsWidth = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() { var items, itemsWidthArrayPromise, itemsWidthArray; return _regenerator["default"].wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: _context10.next = 2; return getItems(); case 2: items = _context10.sent; itemsWidthArrayPromise = items.map(function (item) { return item._prop('style').then(function (style) { return style.width; }); }); _context10.next = 6; return Promise.all(itemsWidthArrayPromise); case 6: itemsWidthArray = _context10.sent; return _context10.abrupt("return", new Set(itemsWidthArray)); case 8: case "end": return _context10.stop(); } } }, _callee10); })); function getItemsWidth() { return _getItemsWidth.apply(this, arguments); } return getItemsWidth; }(), /** * Checks whether tabs has a divider * @return {Promise<boolean>} */ hasDivider: function () { var _hasDivider = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() { return _regenerator["default"].wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: _context11.next = 2; return base.attr('data-divider'); case 2: _context11.t0 = _context11.sent; return _context11.abrupt("return", _context11.t0 === 'true'); case 4: case "end": return _context11.stop(); } } }, _callee11); })); function hasDivider() { return _hasDivider.apply(this, arguments); } return hasDivider; }(), /** * Gets the side content * @return {Promise<UniDriver|null>} */ getSideContent: function () { var _getSideContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { return _regenerator["default"].wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: return _context12.abrupt("return", findFirst("[data-content=\"true\"]")); case 1: case "end": return _context12.stop(); } } }, _callee12); })); function getSideContent() { return _getSideContent.apply(this, arguments); } return getSideContent; }(), /** * Gets tabs max widths * @return {Promise<string[]>} */ getItemsMaxWidths: function () { var _getItemsMaxWidths = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() { return _regenerator["default"].wrap(function _callee13$(_context13) { while (1) { switch (_context13.prev = _context13.next) { case 0: _context13.t0 = Promise; _context13.next = 3; return getItems(); case 3: _context13.t1 = _context13.sent.map(function (item) { return item._prop('style').then(function (style) { return style; }); }); return _context13.abrupt("return", _context13.t0.all.call(_context13.t0, _context13.t1)); case 5: case "end": return _context13.stop(); } } }, _callee13); })); function getItemsMaxWidths() { return _getItemsMaxWidths.apply(this, arguments); } return getItemsMaxWidths; }() }); }; exports.tabsUniDriverFactory = tabsUniDriverFactory;