Indicator 使用手册
v1.4.0 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
提供可拖动的尺寸调整手柄,支持鼠标与键盘操作,可用于面板和内容区域的大小调整。
使用选择
用于组件公开的指示或拖动调节能力。业务页面先使用已经内置该能力的 Sidebar、SidePanel 或表格列,不复制它们的拖动逻辑。
target 默认是直接父元素,也可显式关联其他元素;minSize / maxSize 限制尺寸范围。
applySize 控制是否直接应用尺寸,onSizeChange 提供更新值;键盘步长使用 step / largeStep。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
API 参考
视觉状态
颜色与 overlay 滚动条 thumb 一致:默认
Black/10,hover / focus / dragging 为Black/20。line + width:命中带 = 父级全高 × (pinOffset + 8px)(
top/bottom:0);视觉默认 2px × 16px,hover / focus / dragging 时视觉宽变为 4px;沿边长度可用--snowui-indicator-visual-length覆盖。line + height:命中带 = 父级全宽 × (pinOffset + 8px)(
left/right:0);视觉默认 16px × 2px,hover / focus / dragging 时视觉高变为 4px;沿边长度同上变量。line 与 Scrollbar 一致通过实际 width / height 变化而非 transform 缩放,使用
var(--radius-full, 9999px),端点始终为完整胶囊圆角。corner:使用 1rem 视觉盒,通过 ComponentIcon 复用 rounded-corner;图形与外框比例以 raw-assets/icons/snowui/RoundedCorner.svg 为准。显示时为 Black/10,自身 hover / focus-visible / dragging 时为 Black/20;保留原 path 与 viewBox,按用户确认的指示器特例沿轮廓补描边:常态总笔画 2px,hover / focus / dragging 总笔画 4px,不缩放外框。
corner 固定在右下角,仅在角点附近激活;默认
axis="both",同时调整宽度和高度。corner 默认使用
nwse-resize对角双箭头;显式设置单轴时使用对应方向光标。定位:line 自管 absolute 贴边(不用 pin 居中);corner 默认
as="pin-bottom-right"+pinOffset="var(--padding-1)"+z-index: 6。默认隐藏;宿主 hover、focus-visible 或 dragging 时显示;与同一 target 内 overlay scrollbar Thumb 重叠时保持显示及 Pointer、键盘命中。
视觉与命中区分层;line 命中带铺满所在边缘全高/全宽。
动效消费与 overlay scrollbar 相同的 Frame color motion bridge。
示例
Indicator 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
Indicator 类型与状态
必填属性:无具名必填属性。
可双向绑定:本组件未声明具名双向绑定属性;状态更新通过公开回调或所属宿主处理。
继承声明:Omit<FrameProps, "children">。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。
IndicatorAxis
来源:components/src/components/Indicator.svelte
IndicatorEdge
来源:components/src/components/Indicator.svelte
IndicatorAppearance
来源:components/src/components/Indicator.svelte