@fibrae/ semi-icons-core (中文(简体) )
框架不可知图标和插图数据,外加图标样式,用于Semi Design Next. 图标软件包( E)semi-icons-<framework>每个框架都读取这些数据。 也可以直接使用来自制图标.
安装
pnpm add @fibrae/semi-icons-core
船舶无害环境管理,不依赖同伴.
使用量
每个图标都是出口的无害环境管理模块 IconData,在与每个框架的图标组件同名下:
import { IconActivity } from '@fibrae/semi-icons-core';
import { IconAvatar } from '@fibrae/semi-icons-core/lab'; // color icon that keeps its original colors
IconActivity;
// {
// name: 'activity', // icon type, rendered as the `semi-icon-activity` class
// attrs: { viewBox: '0 0 24 24', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
// children: [['path', { 'fill-rule': 'evenodd', 'clip-rule': 'evenodd', d: '...', fill: 'currentColor' }]],
// }
- 一个节点是
[tag, attrs, children?]属性名称为 DOM 名称(fill-rule, (中文(简体) ),class,与style作为字符串),所以一个框架可以按原样通过它们或者一次映射它们(反应使用fillRule, (中文(简体) ),className和样式对象). - 渲染时添加
defaultAttrs转到根svg数字 :width财务报告和审定财务报表height联 合 国1em, (中文(简体) ),focusable="false", (中文(简体) ),aria-hidden="true"。 。 。 . - 多彩图标( O)
IconAI*Level2, (中文(简体) ),IconAI*Level3, (中文(简体) ),IconAILoading携带fills,通过fill道具 (英语). 属性值包含占位符 :{fillN}是 N 颜色getFillColor(fill, fills),以及{uid}是每个实例独有的ID。 替换为resolveValue(value, colors, uid)。其他图标通过fill直指根头svg。 。 。 .
子路径条目
| 条目 | 目录 |
|---|---|
@fibrae/semi-icons-core | 全体 IconXxx 数据,类型 IconData 财务报告和审定财务报表 IconNode,以及公用事业 defaultAttrs, (中文(简体) ), getFillColor 财务报告和审定财务报表 resolveValue |
@fibrae/semi-icons-core/lab | 保持其原始颜色的颜色图标的数据 |
@fibrae/semi-icons-core/illustrations | 说明数据 IllustrationXxx,保留原色并默认大小为200 |
@fibrae/semi-icons-core/styles/icons.scss | 图标样式,也可用编译 .css |
@fibrae/semi-icons-core/* | 其他深道,例如: /utils 财务报告和审定财务报表 /types |
样式定义 .{prefix}-icon, (中文(简体) ), -extra-small, (中文(简体) ), -small, (中文(简体) ), -default, (中文(简体) ), -large, (中文(简体) ), -extra-large, (中文(简体) ), -spinning 和旋转动画,并依赖 $prefix 从 semi:theme。框架图标包已经导入它们;直接使用核心时自行导入.
相关软件包
- 取决于没有其他Semi软件包.
- 每个框架的图标包使用.
添加图标
- 单色图标:添加
svgs/icons/<name>.svg和条目svgs/icons/meta.json。 。 。 .category是图标页面上的组名称,并重用已有值,例如Basic, (中文(简体) ),Arrow财务报告和审定财务报表Interface; AI 图标使用One Color, (中文(简体) ),Two Color财务报告和审定财务报表Multiple Color按颜色级别。 颜色变为currentColor。 。 。 . - 颜色图标:添加
svgs/lab/<name>.svg和条目svgs/lab/meta.json颜色不变. - SVG 文件名称是图标类型, 导出名称是
Icon加上PascalCase( 选项) (ai_变成AI),生成的模块文件名是 kebab- case 中的导出名(IconAIBellLevel2变成icon-ai-bell-level-2.ts) (中文(简体) ). - 不要手写
{uid}用于 SVG 源代码 。 生成器会添加前缀,渲染会取代每个实例. - 运行
pnpm build:icon在寄存器根处。 它首先写src/icons, (中文(简体) ),src/lab财务报告和审定财务报表src/illustrations在本套件中 (scripts/build-icon.ts,然后生成每个框架的图标和插图组件。 不用手编辑生成的文件 . - 运行
pnpm site:dev打开 图标文件页面 以检查新图标.
添加插图
- 添加
svgs/illustrations/<name>.svg,并命名暗变体<name>-dark.svg颜色,width财务报告和审定财务报表height保持原样,颜色写成var(--semi-color-*)。 。 。 . - 导出名称为
Illustration加上PascalCase,这样noContent-dark变成IllustrationNoContentDark。 。 。 . - 密码也跳过手写
{uid}运行pnpm build:icon生成src/illustrations和每个框架的示例部分.
发展
- 构建 :
vp pack。关于一般命令,参见 捐款额 在寄存器根处. - 测试 :
__tests__/data.test.ts检查所有图标和插图的标识和引用.