UNPKG

wix-style-react

Version:
90 lines (69 loc) 3.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _testUtils = _interopRequireDefault(require("react-dom/test-utils")); var _constnats = require("./constnats"); var breadcrumbsDriverFactory = function breadcrumbsDriverFactory(_ref) { var element = _ref.element; var optionAt = function optionAt(position) { return element.childNodes[position]; }; return { exists: function exists() { return !!element; }, /** return the number of the items in the breadcrumbs */ breadcrumbsLength: function breadcrumbsLength() { return element.childNodes.length; }, /** return the breadcrumb item content at position */ breadcrumbContentAt: function breadcrumbContentAt(position) { return optionAt(position).textContent; }, /** click on breadcrumb item at position */ clickBreadcrumbAt: function clickBreadcrumbAt(position) { return _testUtils["default"].Simulate.click(optionAt(position).querySelector("[data-hook^=\"".concat(_constnats.DATA_HOOKS.BREADCRUMB_CLICKABLE, "\"]"))); }, /** return the active breadcrumb item position or return null if no active item exists */ getActiveItemId: function getActiveItemId() { var activeItem = element.querySelector("[".concat(_constnats.DATA_ATTRIBUTES.DATA_ACTIVE, "=\"true\"]")); if (!activeItem) { return null; } return Array.from(activeItem.parentNode.children).indexOf(activeItem); }, /** fulfilled if breadcrumbs component is large */ isLarge: function isLarge() { return element.getAttribute(_constnats.DATA_ATTRIBUTES.DATA_SIZE) === _constnats.SIZES.large; }, /** fulfilled if breadcrumbs component is medium */ isMedium: function isMedium() { return element.getAttribute(_constnats.DATA_ATTRIBUTES.DATA_SIZE) === _constnats.SIZES.medium; }, /** fulfilled if breadcrumbs component is on white background */ isOnWhiteBackground: function isOnWhiteBackground() { return element.getAttribute(_constnats.DATA_ATTRIBUTES.DATA_THEME) === _constnats.THEMES.onWhiteBackground; }, /** fulfilled if breadcrumbs component is on gray background */ isOnGrayBackground: function isOnGrayBackground() { return element.getAttribute(_constnats.DATA_ATTRIBUTES.DATA_THEME) === _constnats.THEMES.onGrayBackground; }, /** fulfilled if breadcrumbs component is on dark background */ isOnDarkBackground: function isOnDarkBackground() { return element.getAttribute(_constnats.DATA_ATTRIBUTES.DATA_THEME) === _constnats.THEMES.onDarkBackground; }, /** returns breadcrumbs component classes */ getLabelClassList: function getLabelClassList(position) { return optionAt(position).querySelector("[data-hook=\"".concat(_constnats.DATA_HOOKS.BREADCRUMBS_ITEM, "\"]")).className; }, /** returns true if the item is a link */ isActiveLinkAt: function isActiveLinkAt(index) { return !!optionAt(index).querySelector('a'); } }; }; var _default = breadcrumbsDriverFactory; exports["default"] = _default;