UNPKG

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