ExpandButton 使用手册
v1.0.2 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
在展开与收起之间切换,用一致的按钮反馈表达状态,适合折叠内容和详情入口。
使用选择
用于展开或还原内容。宿主 CodeBlock 等已内置同类操作时优先配置宿主,避免两套展开状态。
通过
bind:expanded或 onExpandedChange 接收状态;defaultExpanded 提供初始值。组件只提供展开操作,不创建或控制内容面板;由页面把状态连接到实际内容。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
使用
expanded/defaultExpanded:受控值与默认值。onExpandedChange:值切换回调。icon/collapseIcon:替换默认的放大、收起图标。ariaLabel/collapseAriaLabel:两种状态的辅助文本。默认图标为
arrows-out-simple/arrows-in-simple,内容替换使用轻量状态按钮的 150ms replacement appear 动效。
API
其他兼容视觉、链接与事件入口参见 Button。ExpandButton 接管 children、onclick 和 aria-expanded;继承 disabled 阻止用户切换。
此区域的内容受保护。AI 在修改此区域前必须请求用户审查。
ExpandButton 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
ExpandButton 类型与状态
必填属性:无具名必填属性。
可双向绑定:bind:expanded。
继承声明:Omit<ButtonProps, "children" | "onclick" | "aria-expanded">。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。
ButtonProps
来源:components/src/components/ExpandButton.svelte