UNPKG

wix-style-react

Version:
66 lines (59 loc) 1.96 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import ReactTestUtils from 'react-dom/test-utils'; var tabsDriverFactory = function tabsDriverFactory(_ref) { var element = _ref.element; var findFirst = function findFirst(query) { return element.querySelector(query); }; var getItemsContainer = function getItemsContainer() { return findFirst('ul'); }; var getItems = function getItems() { return _toConsumableArray(getItemsContainer().childNodes); }; var getItemsContainerType = function getItemsContainerType() { return getItemsContainer().getAttribute('data-type'); }; return { exists: function exists() { return !!element; }, getTitles: function getTitles() { return getItems().map(function (item) { return item.textContent; }); }, clickTabAt: function clickTabAt(index) { return ReactTestUtils.Simulate.click(getItems()[index]); }, getActiveTabIndex: function getActiveTabIndex() { return getItems().findIndex(function (item) { return item.getAttribute('data-active') === 'true'; }); }, isDefaultType: function isDefaultType() { return !getItemsContainerType(); }, getItemsContainerType: getItemsContainerType, getDataHook: function getDataHook(index) { return getItems()[index].getAttribute('data-hook'); }, getItemsWidth: function getItemsWidth() { return new Set(getItems().map(function (item) { return item.style.width; })); }, hasDivider: function hasDivider() { return element.getAttribute('data-divider') === 'true'; }, getSideContent: function getSideContent() { return findFirst("[data-content=\"true\"]"); }, getItemsMaxWidths: function getItemsMaxWidths() { return getItems().map(function (item) { return item.style.maxWidth; }); } }; }; export default tabsDriverFactory;