"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rem = exports.default = void 0; var _postcss_plugin = _interopRequireDefault(require("../../helpers/postcss_plugin")); var _font_size = require("./font_size"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** @module */ const skipParsingMatcher = /("[^"]*"|'[^']*'|(?:attr|url|var)\([^)]*\))/g; /** * Marpit PostCSS rem plugin. * * Replace `rem` unit to calculated value from CSS variable. * * @function rem */ const rem = exports.rem = (0, _postcss_plugin.default)('marpit-postcss-rem', () => css => css.walkDecls(decl => { decl.value = decl.value.split(skipParsingMatcher).map((v, i) => { if (i % 2) return v; return v.replace(/(\d*\.?\d+)rem\b/g, (_, num) => `calc(var(${_font_size.rootFontSizeCustomProp}, 1rem) * ${num})`); }).join(''); })); var _default = exports.default = rem;