@acrool/icon-symbols
Version:
Merge svg into svg symbols, and unpack svg symbols into individual svg
27 lines (26 loc) • 1.05 kB
TypeScript
import { IDef, TTagKey } from '../../../types';
/**
* 解析 SVG 中的 defs 元素
* @param defs - SVG 中的 defs 元素数据
* @param contentTags - 需要处理的内容标签列表
* @returns 包含 defIdMap 和 defsContent 的对象
* @description
* - defIdMap: 存储原始 ID 到新生成 ID 的映射关系
* - defsContent: 处理后的 defs 内容数组
*/
export declare const parseDefs: (defs: any, contentTags: TTagKey[]) => {
defIdMap: Map<string | undefined, string | undefined>;
defsContent: IDef[];
};
/**
* 处理 SVG 元素,包括属性处理和子元素递归处理
* @param el - 要处理的 SVG 元素
* @param contentTags - 需要处理的内容标签列表
* @param defIdMap - ID 映射关系表
* @returns 处理后的元素对象
* @description
* - 处理元素的标签名和属性
* - 处理 fill 和 clipPath 中的 URL 引用
* - 递归处理子元素
*/
export declare const processElement: (el: any, contentTags: TTagKey[], defIdMap: Map<string | undefined, string | undefined>) => IDef;