Chip 使用手册
v1.2.0 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
以紧凑的行内标签展示分类、状态或简短信息,可与文字、图标和列表内容自然组合。
使用选择
用于紧凑的内容标识与组合。选择、移除或点击行为应按公开 API 声明;不要把纯展示 Chip 自动视为按钮或复选框。
默认变体内置圆点,background 变体默认不显示圆点;showDot 可显式改变。
as="leading"可替换圆点,as="trailing"添加尾部内容;动态改变尺寸时显式传 size。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
布局模型
主布局模型:槽位宿主布局(三槽位:leading / content / trailing)。 通过 <Frame singleLine> 输出 data-auto-layout,复用 auto-layout.css(源码参考:components/src/styles/auto-layout.css) 的三槽位 grid 模板,子元素以 data-as="leading" | "trailing" 声明角色。
默认 Leading 图标 (Built-in)
default 默认带前置 Dot,background 默认不显示;可通过 showDot 显式控制:
形状:内联 SVG,
viewBox 0 0 32 32,圆心(16, 16),半径6,fill="currentColor"大小:
sm12 × 12px;lg16 × 16px(由--snowui-chip-icon-size变量驱动)颜色:
currentColor,跟随父级字色
内置图标替换规则(强制)
遵循 ComponentGuidelines.md §2.7.1(源码参考:specs/maintainers/ComponentGuidelines.md)。当外部传入 data-as="leading"(原生 HTML)或 as="leading"(SnowUI 大写组件)的子元素时,组件自动隐藏内置 Dot:
颜色规则
默认颜色:
color: inherit,即继承父容器文字颜色(currentColor)。组件内部不内置任何颜色变体。多色实现:通过外部传入工具类(如
text-purple、text-red)或内联style="color: ..."改变color。背景与边框联动:
background变体下,背景与边框基于currentColor+ 透明度自动派生:背景:
color-mix(in srgb, currentColor 10%, transparent)边框:
inset 0 0 0 0.5px color-mix(in srgb, currentColor 20%, transparent)(使用 inset box-shadow,避免占用布局空间)
修改文字颜色 → 背景与边框同步变化,无需额外 prop / 变量。
布局变量链
用法示例
Chip 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
Chip 类型与状态
必填属性:无具名必填属性。
可双向绑定:本组件未声明具名双向绑定属性;状态更新通过公开回调或所属宿主处理。
继承声明:Omit<FrameProps, "size">。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。