SlotText 使用手册
v1.11.2 · @snowui-design-system/components
许可阅读:首次阅读组件文档、源码或 npm 使用流程,先读完整 LICENSE;同任务同版本去重。公开 API 配置与内部实现修改分别按许可处理;全部组件使用统一运行包,源码权益以许可为准。
组件介绍
以逐字符的纵向滚动展示文字变化,适合短标题、状态、计数与计时信息。
使用选择
用于槽位式文本替换动效。静态文字用 Text;数值专属滚动可选 NumberFlow 或 NumericText。
text 更新内容,replayKey 可重播同一内容,playOnMount 控制首次展示动效。
animated=false 直接显示;需要遵循系统减少动效偏好时启用 respectMotionPreference。
快速开始
以下示例展示推荐的基本组合。更多场景与组合限制见后文。
API
未重新声明的继承能力请查所属基础组件文档;本表只列本组件源码具名公开属性。
使用边界与详细说明
关键字
六项排版默认全部继承父级。motionColor 在更新时覆盖目标全文,并从左到右在主时长与逐字 delay 后回到 color 或父级继承色;颜色主时长保留 duration + exitOffset,回落时长保留 colorFade。数字位移仍按低位到高位启动,两条时间线互不改变对方的方向。
数字内容遵循统一趋势协议:趋势只比较新旧结果值大小,-3 -> -2 仍是增加、-2 -> -3 仍是减少。乘除等运算不按运算符决定方向,只按结果变大 / 变小决定 Up / Down。完整时间文本按 mm:ss / HH:mm:ss 的 60 进制环形差值判断,59:59 -> 00:00 是计时器增加,00:00 -> 59:59 是倒计时减少;motionRole="timer" 或 "countdown" 且内容为单段 00..59 时也按 60 进制单位处理。direction="normal" 时,文字默认向上退出、从下方进入,数字增加向上、减少向下,计时器增加向上、倒计时减少向下;direction="reverse" 时以上规则全部取反。变化数位按低位到高位(视觉上从右向左)启动。trend={1|-1} 可显式覆盖自动判断,但仍会被 reverse 取反。
SlotText 样式覆盖
先阅读 完整 LICENSE;同任务、同版本、同范围去重。
优先用组件公开 Props 匹配合适样式,尽可能保留原有视觉。确需改写时按 样式选择与改写顺序 使用自己的 class(含项目已有 Tailwind)或实例 style。以下名称来自源码实际消费的公开 override;先核对目标作用域,不修改私有 DOM。采用 SnowUI Token 时选择正确类别,外部应用不被要求安装一方 utilities。
本组件源文件没有直接消费已登记的专属 override。组合子组件的样式通过公开 parts 或显式 child 配置;不要凭名称猜测变量。
SlotText 类型与状态
必填属性:无具名必填属性。
可双向绑定:本组件未声明具名双向绑定属性;状态更新通过公开回调或所属宿主处理。
继承声明:Omit<FrameProps, "children">。继承能力以基类公开文档为准;Omit 中的字段已排除,不能按基类原样使用。
以下为公开属性实际引用的类型声明,来自源码;Svelte Snippet 表示内容片段,ComponentProps 表示对应组件的 Props。
SlotTextDirection
来源:components/src/components/SlotText.svelte
SlotTextTrend
来源:components/src/components/SlotText.svelte
TextMotionTrend
来源:components/src/lib/text-motion/types.ts
TextMotionRole
来源:components/src/lib/text-motion/types.ts
SlotTextTransition
来源:components/src/components/SlotText.svelte
SnowUIColor
来源:components/src/lib/color.ts
TextMotionAlign
来源:components/src/lib/text-motion/types.ts
TextMotionColor
来源:components/src/lib/text-motion/types.ts
TextMotionColorResolver
来源:components/src/lib/text-motion/types.ts