wix-style-react
Version:
wix-style-react
90 lines (68 loc) • 2.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _testUtils = require('react-dom/test-utils');
var _testUtils2 = _interopRequireDefault(_testUtils);
var _utils = require('../../test/utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 _testUtils2.default.Simulate.click(optionAt(position).querySelector('[data-hook="breadcrumb-clickable"]'));
},
/** return the active breadcrumb item position or return null if no active item exists */
getActiveItemId: function getActiveItemId() {
var activeItem = element.querySelector('.active');
if (!activeItem) {
return null;
}
return Array.from(activeItem.parentNode.children).indexOf(activeItem);
},
/** fulfilled if breadcrumbs component is large */
isLarge: function isLarge() {
return (0, _utils.isClassExists)(element, 'large');
},
/** fulfilled if breadcrumbs component is medium */
isMedium: function isMedium() {
return (0, _utils.isClassExists)(element, 'medium');
},
/** fulfilled if breadcrumbs component is on white background */
isOnWhiteBackground: function isOnWhiteBackground() {
return (0, _utils.isClassExists)(element, 'onWhiteBackground');
},
/** fulfilled if breadcrumbs component is on gray background */
isOnGrayBackground: function isOnGrayBackground() {
return (0, _utils.isClassExists)(element, 'onGrayBackground');
},
/** fulfilled if breadcrumbs component is on dark background */
isOnDarkBackground: function isOnDarkBackground() {
return (0, _utils.isClassExists)(element, 'onDarkBackground');
},
/** returns breadcrumbs component classes */
getLabelClassList: function getLabelClassList(position) {
return optionAt(position).querySelector('[data-hook="breadcrumbs-item"]').className;
},
/** returns true if the item is a link */
isActiveLinkAt: function isActiveLinkAt(index) {
return !!optionAt(index).querySelector('a');
}
};
};
exports.default = breadcrumbsDriverFactory;