UNPKG

wix-style-react

Version:
72 lines (65 loc) 2.2 kB
import floatingTabItemDriverFactory from '../FloatingTabItem/FloatingTabItem.driver'; import buttonDriverFactory from '../Button/Button.driver'; var floatingTabsDriverFactory = function floatingTabsDriverFactory(_ref) { var element = _ref.element; var containers = Array.from(element.childNodes).map(function (container) { return floatingTabItemDriverFactory({ element: container }); }); var getButtonById = function getButtonById(id) { return element.querySelector('[data-hook="floating-tab-item-button-' + id + '"]'); }; return { exists: function exists() { return !!element; }, // clickOnTabAt: index => buttonDrivers[index].click(), activeContent: function activeContent() { var activeContent = containers.find(function (c) { return c.isActive(); }); if (activeContent) { return activeContent.content(); } return null; }, activeTitle: function activeTitle() { var activeContent = containers.find(function (c) { return c.isActive(); }); if (activeContent) { return activeContent.content(); } return null; }, isButtonByIdExists: function isButtonByIdExists(id) { return !!getButtonById(id); }, getButtonTextById: function getButtonTextById(id) { return getButtonById(id).textContent; }, isButtonActive: function isButtonActive(id) { var button = getButtonById(id); if (button) { var buttonFactory = buttonDriverFactory({ element: button }); return buttonFactory.hasTheme('fill'); } return undefined; }, isButtonHasClass: function isButtonHasClass(id, className) { var button = getButtonById(id); if (button) { var buttonFactory = buttonDriverFactory({ element: button }); return buttonFactory.hasClass(className); } return undefined; }, clickButtonById: function clickButtonById(id) { var button = getButtonById(id); if (button) { var buttonFactory = buttonDriverFactory({ element: button }); return buttonFactory.click(); } } }; }; export default floatingTabsDriverFactory;