Files
infocom-systems-design/node_modules/@iconify/utils/lib/svg/build.d.ts
2025-10-03 22:27:28 +03:00

31 lines
1.2 KiB
TypeScript

import { IconifyIconCustomisations } from "../customisations/defaults.js";
import { IconifyIcon } from "../icon/defaults.js";
import { SVGViewBox } from "./viewbox.js";
/**
* Interface for getSVGData() result
*/
interface IconifyIconBuildResult {
attributes: {
width?: string;
height?: string;
viewBox: string;
};
viewBox: SVGViewBox;
body: string;
}
/**
* Check if value should be unset. Allows multiple keywords
*/
declare const isUnsetKeyword: (value: unknown) => value is "unset" | "undefined" | "none";
/**
* Get SVG attributes and content from icon + customisations
*
* Does not generate style to make it compatible with frameworks that use objects for style, such as React.
* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.
*
* Customisations should be normalised by platform specific parser.
* Result should be converted to <svg> by platform specific parser.
* Use replaceIDs to generate unique IDs for body.
*/
declare function iconToSVG(icon: IconifyIcon, customisations?: IconifyIconCustomisations): IconifyIconBuildResult;
export { IconifyIconBuildResult, iconToSVG, isUnsetKeyword };