31 lines
1.2 KiB
TypeScript
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 }; |