SearchBox 使用手册
v1.2.0 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
提供打开搜索浮层的入口,整块区域均可点击,可组合快捷键提示,适合全局搜索。
使用选择
用于打开全局搜索浮层的可点击入口,并非直接编辑查询的输入框。工具栏或列表直接输入查询用 SearchInput。
这是可点击搜索入口;bind:open 同步浮层状态,value 用于展示当前查询。
通过 children 组合浮层或快捷键提示;需要直接编辑查询时使用 SearchInput。
默认占位和清除名称随 LocaleProvider 切换;显式 placeholder(含空字符串)与 aria-label 优先,查询值保持原样。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
功能概览
两种样式:
gray与outline默认 leading 图标为
Search外置
Kbd由使用者通过 children 放入 trailing,不默认集成有值时显示清除 X,视觉规则参考
Input点击整块触发器打开浮层
可通过
collapseBelow在自身宽度不足时只保留 leading 搜索图标;最小宽度由左右实际 padding + leading Icon 固有宽度组成不显示焦点外圈;鼠标点击、Escape 等键盘操作后的视觉状态一致
使用示例
此区域的内容受保护。AI 在修改此区域前必须请求用户审查。
SearchBox 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
SearchBox 类型与状态
必填属性:无具名必填属性。
可双向绑定:bind:value、bind:open、bind:element。
继承声明:Omit<FrameProps, "children" | "tag">。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。
ComponentPartsOf
来源:components/src/logic/component-parts.svelte.ts
ConfigurableComponentPartProps
来源:components/src/logic/component-parts.svelte.ts
ComponentPartControlledKey
来源:components/src/logic/component-parts.svelte.ts