UNPKG

@mapcss/preset-svg

Version:
24 lines (23 loc) 952 B
import { parseIconSet } from "../deps/esm.sh/@iconify/utils/lib/icon-set/parse.js"; import { defaults } from "../deps/esm.sh/@iconify/utils/lib/customisations.js"; import { iconToSVG } from "../deps/esm.sh/@iconify/utils/lib/svg/build.js"; export function iconifyJSON(icon) { const identifier = {}; parseIconSet(icon, (name, iconData) => { if (!iconData) { throw Error(iconData); } const renderData = iconToSVG(iconData, defaults); const svgAttributes = { "xmlns": "http://www.w3.org/2000/svg", "xmlns:xlink": "http://www.w3.org/1999/xlink", ...renderData.attributes, }; const svgAttributesStr = Object.keys(svgAttributes) .map((attr) => `${attr}="${svgAttributes[attr]}"`) .join(" "); const svg = `<svg ${svgAttributesStr}>${renderData.body}</svg>`; identifier[name] = svg; }); return identifier; }