polished
Version:
A lightweight toolset for writing styles in Javascript.
30 lines (28 loc) • 1.04 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _errors = _interopRequireDefault(require("./_errors"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function generateSelectors(template, state) {
var stateSuffix = state ? ":" + state : '';
return template(stateSuffix);
}
/**
* Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.
* @private
*/
function statefulSelectors(states, template, stateMap) {
if (!template) throw new _errors["default"](67);
if (states.length === 0) return generateSelectors(template, null);
var selectors = [];
for (var i = 0; i < states.length; i += 1) {
if (stateMap && stateMap.indexOf(states[i]) < 0) {
throw new _errors["default"](68);
}
selectors.push(generateSelectors(template, states[i]));
}
selectors = selectors.join(',');
return selectors;
}
var _default = exports["default"] = statefulSelectors;
module.exports = exports.default;
;