StyleButton 使用手册
v1.0.4 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
在 SnowUI 与 Apple 两种视觉风格之间切换,适合提供界面风格选择的入口。
使用选择
用于切换支持的视觉风格;明暗模式使用 ColorSchemeButton。它不意味着可以通过一个按钮改变任意组件私有样式。
bind:mode 同步风格,defaultMode 提供初始模式。
默认把模式应用到文档;局部控制使用 applyToDocument=false,不提供 children 时使用纯图标布局。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
使用
StyleButton 平铺 Button 的兼容 Props,支持全部变体与尺寸。默认读取 document.documentElement:mode="ios" 为 Apple 风格,移除该属性为 SnowUI 风格。当前 SnowUI 状态使用 SnowUILogo variant="icon",Apple 状态使用 Apple 品牌 Logo 矢量,而不是图标库中的 Apple Icon;无额外 children 时,StyleButton 主动向 Button 声明 iconOnly=true,因此 sm / md / lg 的四边 padding 分别保持 Button 原生的 4 / 8 / 12px。
点击后立即切换,不写入 storage,也不增加图标替换、风格切换动效。applyToDocument={false} 时只维护受控状态,适合由 Test、iframe 等宿主管理实际风格目标。
此区域的内容受保护。AI 在修改此区域前必须请求用户审查。
StyleButton 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
本组件源文件没有直接消费已登记的专属 override。组合子组件的样式通过公开 parts 或显式 child 配置;不要凭名称猜测变量。
StyleButton 类型与状态
必填属性:无具名必填属性。
可双向绑定:bind:mode。
继承声明:Omit< ButtonProps, "children" | "onclick" | "disabled" | "aria-pressed" >。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。
SnowUIStyleMode
来源:components/src/components/StyleButton.svelte
ButtonProps
来源:components/src/components/StyleButton.svelte