Files
Shifted/node_modules/polished/lib/internalHelpers/_statefulSelectors.js
2026-02-10 01:14:19 +00:00

30 lines
1.0 KiB
JavaScript

"use strict";
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;