@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
21 lines (20 loc) • 914 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateSpaceMixins = void 0;
const DIRECTION_MAPPING = {
all: ['margin'],
top: ['margin-top'],
bottom: ['margin-bottom'],
left: ['margin-left'],
right: ['margin-right'],
vertical: ['margin-top', 'margin-bottom'],
horizontal: ['margin-left', 'margin-right'],
};
const SPACE = 0.25;
// .tui-space(top, 4);
// @include tui-space(top, 4);
const MIXIN_RE = new RegExp(`(?:@include\\s|\\.)tui-space\\((?<direction>${Object.keys(DIRECTION_MAPPING).join('|')}),\\s?(?<size>-?\\d+)\\)(\\s?!important)?;`, 'g');
function migrateSpaceMixins(fileContent) {
return fileContent.replaceAll(MIXIN_RE, (_, direction, size, important = '') => `${DIRECTION_MAPPING[direction].map((property) => `${property}: ${Number(size) * SPACE}rem${important};`).join('\n')}`);
}
exports.migrateSpaceMixins = migrateSpaceMixins;