UNPKG

@bimdos/icon

Version:

跨框架图标库,支持 React、Vue、Angular、AngularJS、小程序等多种使用方式

66 lines (56 loc) 1.38 kB
/** * Bimdos Icon Library - ESM 入口文件 */ import iconData from './icons.json' assert { type: 'json' }; /** * 获取图标数据 * @param {string} name - 图标名称 * @returns {object|null} 图标数据 */ export function getIcon(name) { return iconData.find(icon => icon.name === name) || null; } /** * 获取所有图标名称 * @returns {string[]} 图标名称数组 */ export function getIconNames() { return iconData.map(icon => icon.name); } /** * 检查图标是否存在 * @param {string} name - 图标名称 * @returns {boolean} 是否存在 */ export function hasIcon(name) { return iconData.some(icon => icon.name === name); } /** * 生成 SVG 字符串 * @param {string} name - 图标名称 * @param {object} options - 配置选项 * @returns {string} SVG 字符串 */ export function generateSvg(name, options = {}) { const icon = getIcon(name); if (!icon) { console.warn(`Icon "${name}" not found`); return ''; } const { size = 16, color = 'currentColor', className = '' } = options; return `<svg class="bimdos-icon ${className}" width="${size}" height="${size}" viewBox="0 0 24 24" fill="${color}"> <path d="${icon.path}"></path> </svg>`; } /** * 所有图标数据 */ export const icons = iconData; /** * 图标名称常量 */ export const ICON_NAMES = iconData.map(icon => icon.name);