wix-style-react
Version:
64 lines (50 loc) • 2.11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _constants = require("./constants");
var selector = function selector(element) {
return function (hook) {
return element.querySelectorAll("[data-hook=\"".concat(hook, "\"]"));
};
};
var _default = function _default(_ref) {
var element = _ref.element;
var byHook = selector(element);
return {
exists: function exists() {
return !!element;
},
/** return number of lines rendered */
getNumLines: function getNumLines() {
return byHook(_constants.dataHooks.line).length;
},
/** return boolean representing whether given spacing is rendered */
hasSpacing: function hasSpacing(spacing) {
return element.getAttribute('data-spacing') === spacing;
},
/** return boolean representing whether given list of sizes is rendered */
hasSizes: function hasSizes(sizes) {
var _Array$from$reduce = Array.from(byHook(_constants.dataHooks.chunk)).reduce(function (_ref2, chunkElement) {
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
result = _ref3[0],
_ref3$ = (0, _toArray2["default"])(_ref3[1]),
expectedSize = _ref3$[0],
restSizes = _ref3$.slice(1);
return [result.concat(chunkElement.getAttribute('data-size') === expectedSize), restSizes];
}, [[], sizes]),
_Array$from$reduce2 = (0, _slicedToArray2["default"])(_Array$from$reduce, 1),
assertions = _Array$from$reduce2[0];
return assertions.every(Boolean);
},
/** return boolean representing whether given alignment is rendered */
hasAlignment: function hasAlignment(alignment) {
return element.getAttribute('data-alignment') === alignment;
}
};
};
exports["default"] = _default;