@ 设计工具/ 套件
CSS 29 个属性及其值的手工图标. 用来设计说出代码的工具.
反应组件和生SVG. 每个图标都符合一个15x15像素网格,并有1x分辨率的脆边.
带给你的 flett.cc (英语)
安装
npm install @designtools/cascade
使用量
import { DisplayFlex, PaddingTop, FlexDirectionRow } from "@designtools/cascade";
function App() {
return (
<div>
<DisplayFlex />
<PaddingTop />
<FlexDirectionRow />
</div>
);
}
道具
每个图标组件接受以下道具以及所有标准SVG属性(SVGAttributes<SVGSVGElement>:
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
color | string | currentColor | 图标颜色。 默认从父文本颜色继承 . |
solid | boolean | false | 完全不透明地发作(strips duotone flowing). 对非duotone图标没有影响. |
width | number | string | 15 | 图标宽度。 使用15的倍数进行像素完美渲染. |
height | number | string | 15 | 图标高. 使用15的倍数进行像素完美渲染. |
<DisplayFlex color="#6366f1" />
<DisplayFlex solid />
<DisplayFlex width={30} height={30} />
任何标准的SVG属性(例如. className, (中文(简体) ), style, (中文(简体) ), aria-hidden)也可以直接通过.
无障碍
没有图标的船 aria-hidden 因此消费者可以决定每个使用案例.
装饰性 (最常见的)——添加 aria-hidden="true"数字 :
<label>
<DisplayFlex aria-hidden="true" />
Flex
</label>
独立/意义 ——使用 aria-label数字 :
<button aria-label="Set display to flex">
<DisplayFlex aria-hidden="true" />
</button>
原始 SVGs 软件
静态 .svg 文件包含在 svg/ 用于外部 React 的目录.
元数据
包输出 a metadata 将 CSS 属性/ 值映射到图标名称 :
import { metadata } from "@designtools/cascade";
// Each entry: { property: string, value: string | null, icon: string }
metadata.forEach((entry) => {
console.log(`${entry.property}: ${entry.value} → ${entry.icon}`);
});
用于构建图标拾取器,文档,或编辑器在程序上集成.
类别
| 类别 | 图标 | 实例 |
|---|---|---|
| 显示 | 第8条 | DisplayBlock, (中文(简体) ), DisplayFlex, (中文(简体) ), DisplayGrid, (中文(简体) ), DisplayNone |
| 弹性方向 | 页:1 | FlexDirectionRow, (中文(简体) ), FlexDirectionColumn |
| 弹性包装 | 3个 | FlexWrapWrap, (中文(简体) ), FlexWrapNowrap |
| 弹性生长/收缩 | 2个 | FlexGrow, (中文(简体) ), FlexShrink |
| 说明内容 | 6个 | JustifyContentCenter, (中文(简体) ), JustifyContentSpaceBetween |
| 对齐项目 | 第7条 | AlignItemsCenter, (中文(简体) ), AlignItemsStretch |
| 对齐自己 | 第8条 | AlignSelfCenter, (中文(简体) ), AlignSelfStretch |
| 对齐内容 | 第9条 | AlignContentCenter, (中文(简体) ), AlignContentSpaceBetween |
| 职位 | 页:1 | PositionAbsolute, (中文(简体) ), PositionSticky |
| 铺垫 | 页:1 | PaddingAll, (中文(简体) ), PaddingTop |
| 边距 | 页:1 | MarginAll, (中文(简体) ), MarginTop |
| 差距 | 2个 | GapColumn, (中文(简体) ), GapRow |
| 大小 | 2个 | SizeHorizontal, (中文(简体) ), SizeVertical |
| 轴 | 2个 | AxisX, (中文(简体) ), AxisY |
| 边界半径 | 页:1 | BorderRadiusAll, (中文(简体) ), BorderRadiusTopLeft |
| 边框样式/ 宽度 | 2个 | BorderStyle, (中文(简体) ), BorderWidth |
| 过多 | 页:1 | OverflowVisible, (中文(简体) ), OverflowScroll |
| 文本对齐 | 页:1 | TextAlignLeft, (中文(简体) ), TextAlignCenter |
| 文字装饰 | 3个 | TextDecorationUnderline, (中文(简体) ), TextDecorationNone |
| 文本转换 | 3个 | TextTransformUppercase, (中文(简体) ), TextTransformCapitalize |
| 类型 | 页:1 | FontFamily, (中文(简体) ), FontSize, (中文(简体) ), FontWeight, (中文(简体) ), LineHeight, (中文(简体) ), LetterSpacing |
| 不透明度 | 1个 | Opacity |
| 框阴影 | 1个 | BoxShadow |
兼容性
包裹两只 无害环境管理 (单位:千美元).mjs和 司法理事会 (单位:千美元).cjs)捆绑了完整的TypeScript声明. 它与任何现代的捆绑或运行时间一起在盒子外工作:
| 格式 | 入境点 | 用于 |
|---|---|---|
| 无害环境管理 | dist/index.mjs | Vite, Next.js, 网页包装 5+, 建设 |
| 司法理事会 | dist/index.cjs | 节点.js require(),旧捆绑者 |
| 类型 | dist/index.d.ts | 类型脚本 |
这个 exports 地图在 package.json 确保正确格式自动解决。 软件包是标记的 sideEffects: false,因此导入一个图标不会捆绑其余部分.
要求数 反应 18+ 作为同伴的依赖.
许可证
麻省理工学院. 生成自 间 (单位:千美元).