@justia/stylelint-config
Version:
Justia's base Scss Stylelint configuration
46 lines (45 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.suffix = exports.midfix = exports.prefix = void 0;
exports.trbl = trbl;
exports.border = border;
exports.prefix = {
get(property, ...prefixes) {
return prefixes.map((pfx) => `${pfx}-${property}`);
},
all(property, ...prefixes) {
return [property, ...this.get(property, ...prefixes)];
}
};
exports.midfix = {
get(property, ...midfixes) {
const holder = property.split('-');
const last = holder.pop() ?? '';
return midfixes.map((mdfx) => `${holder.join('-')}${holder.length > 0 ? '-' : ''}${mdfx}-${last}`);
},
all(property, ...midfixes) {
return [property, ...this.get(property, ...midfixes)];
}
};
exports.suffix = {
get(property, ...suffixes) {
return suffixes.map((sffx) => `${property}-${sffx}`);
},
all(property, ...suffixes) {
return [property, ...this.get(property, ...suffixes)];
}
};
function trbl(property) {
const sides = ['top', 'right', 'bottom', 'left'];
if (property) {
return [property, ...sides.map((side) => `${property}-${side}`)];
}
return sides;
}
function border() {
const borderType = ['width', 'style', 'color'];
const borderExtend = trbl('border')
.map((value) => exports.suffix.all(value, ...borderType))
.reduce((a, b) => a.concat(b));
return borderExtend;
}