UNPKG

@mapcss/preset-svg

Version:
34 lines (33 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCSSObject = void 0; const _utils_js_1 = require("./_utils.js"); const format_js_1 = require("../core/utils/format.js"); const deps_js_1 = require("../deps.js"); const format_js_2 = require("../core/utils/format.js"); function createCSSObject(svgMarkup, { declaration }) { return (_, { variablePrefix }) => { const scale = "1"; const data = `"data:image/svg+xml;utf8,${(0, _utils_js_1.encodeSvg)(svgMarkup)}"`; const $cssFn = (0, deps_js_1.curry)(format_js_1.cssFn); const urlFn = $cssFn("url"); const varFn = $cssFn("var"); const url = (0, deps_js_1.chain)(data).map(urlFn).unwrap(); const varIcon = (0, format_js_2.stringifyCustomProperty)("icon", variablePrefix); const varFnIcon = varFn(varIcon); const mask = `${varFnIcon} no-repeat`; const maskSize = "100% 100%"; return { [varIcon]: url, mask, WebkitMask: mask, maskSize, WebkitMaskSize: maskSize, backgroundColor: "currentColor", height: `${scale}em`, width: `${scale}em`, ...declaration, }; }; } exports.createCSSObject = createCSSObject;