Tooltip 更新日志
v1.24.5 (2026-10-23)
来源组件卸载时,共享Portal同步释放其当前/旧层内容引用,避免Text全文提示在通知清空后读取已销毁的派生数据。若仅旧层来源卸载,结束该段交接并保留存活目标;普通离开、正常切换、回弹与通知队列行为不变。
v1.24.4 (2026-10-23)
连续切换的时间进度限制在0到1;首帧回调时间早于时间线启动时保留有效起点,避免负进度经分数幂产生NaN坐标。正常时序、曲线、回弹、内容拼接及公开API保持。
2026-10-23:复杂内容Test中的短标题/状态、快捷键与人数组合复用Frame单行和Text全文缩略;这些Tooltip内容中的Text显式关闭重复自动提示,保留完整可访问文字与原正文,避免共享浮层被内层短标签替换。大字号诊断和Tooltip定位/连续切换协议保持,仅文档和示例修订。
v1.24.3 (2026-10-12)
修复共享浮层关闭时 Frame 延迟读取已清空属性导致的空值错误;保留退出时序、属性透传与再次显示行为。
v1.24.2 (2026-09-27)
Button 内容整体缩放不再误触发动效关闭;真实触发器 / 祖先运动以及后代尺寸变化仍立即关闭。
2026-09-21:统一使用文档、源码属性表与 Site / AI 阅读入口;仅文档修订,不改变组件行为。
v1.24.1 (2026-09-21)
普通切换改用立即起步的 cubic ease-out,基线收紧到 120–180ms,内容滞后减至 0.02;速度适配下限降至 60ms,收尾余量降至 20ms。
v1.24.0 (2026-09-20)
连续切换按显示期间的平滑鼠标速度缩短时间线,保持同帧同步与中断接管;慢移不被延长,陈旧样本不影响下一次切换。
v1.23.1 (2026-09-20)
连续切换按外框中心和视口各轴比例判断距离,修复矮视口中横向相邻提示跳变,以及长短文案正反向切换判定不一致。
v1.23.0 (2026-09-20)
增加 maxWidth,默认 360px;正文自动换行,四边保留 16px 可视区安全距离。
测量后选择方向和最小溢出回退;响应 visualViewport 变化,超高内容可悬停滚动,Escape 关闭。
v1.22.4 (2026-09-19)
为独立 Backdrop 添加完全透明的渐变绘制面,修复内嵌浏览器中滤镜有计算值但底层文字仍清晰穿透的问题;保留 20px 模糊与原有透明颜色。
v1.22.3 (2026-08-24)
warm Tooltip 切换在新 Snippet 提交后立即完成一次真实尺寸测量与定位,不再等待 ResizeObserver 的下一帧交付。
prepare 状态提交后直接启动逐帧时间线,删除额外的
requestAnimationFrame;本地 Chromium 测量中 moving 从约33ms提前到约4ms,动效时长与曲线保持不变。
v1.22.2 (2026-08-21)
将快速重定向窗口收窄为真实的位置与内容交接期;显式宽度回弹在内容已对齐后的尾段不再把下一次切换误判为快速重定向。
修复 E1 开启回弹时在“复制”和“下载”间反复切换,反向内容动效被压缩到
90ms、视觉上丢失连续裁切揭示的问题。
v1.22.1 (2026-08-21)
修复不满足内容拼接门槛时,长内容切换到短内容会在尚未收敛的宽外框中贴左显示的问题。
未拼接的新内容在整个宽高过渡中按最终 placement 保持中心或触发器侧边缘锚定;外框收敛后偏移自然归零。
v1.22.0 (2026-08-21)
恢复默认开启的
rapidRetarget:连续运动被新目标打断时使用90–160mscubic ease-out 与0.02内容滞后,从当前可见外框和主要内容层接管。rapidRetarget={false}时仍实时接管但使用普通180–360ms正弦协调时间线;显式宽度回弹保持独立1000ms曲线。
v1.21.1 (2026-08-21)
widthRebound默认值由true改为false;连续 Tooltip 默认不再产生宽度越界回弹。显式
widthRebound={true}仍完整保留原宽度弹簧、双向回弹与连续裁切行为。
v1.21.0 (2026-08-21)
新增默认开启的
widthRebound;设为false时连续切换宽度使用与位置相同的协调曲线,不产生目标宽度越界。关闭回弹只改变宽度曲线,连续移动、内容拼接、裁切揭示、实时重定向与 reduced-motion 最终状态保持不变。
删除 Test 专用动效调节器及组件运行时读取其 CSS 参数的路径,E1 / E2 改为有回弹与无回弹的左右对照。
v1.20.1 (2026-08-21)
旧内容层在
450ms清理时不再同帧清零 incoming 偏移,避免下一帧宽度弹簧重新写入补偿偏移造成文字往返抖动。incoming 内容在自身移动完成后保持最终视口位置,直到宽度弹簧结束帧与外框自然对齐。
v1.20.0 (2026-08-21)
删除快速重定向专属的
90–160ms时长、cubic ease-out、0.02内容滞后和运行时状态。运动中改目标仍从当前画面接管,但改为与普通连续切换共用
180–360ms正弦协调时间线和0.08内容滞后。
v1.19.9 (2026-08-21)
快速重定向接管当前裁切窗口内实际可见面积更大的内容层,不再把未测量、未定位或尚未被揭示的中间 Tooltip 提升为旧内容。
取消旧时间线时立即以当前外框为基准冻结内容层偏移,消除重定向首帧复用上一段偏移造成的跳动。
v1.19.8 (2026-08-21)
内容移动恢复原
180–360ms对齐时长,旧内容层仍保留到450ms,拆开“移动速度”和“裁切存活时间”,消除 E1 快速重定向时的内容抖动。小宽度差的双向回弹增加
1.5px可见下限;自然约3%回弹大于该值时保持原幅度,避免 E1 重定向后回弹退化为不可见亚像素。
v1.19.7 (2026-08-21)
E1“归档 → 下载”等长内容切短内容路径中,连续裁切内容带由原位置时长延长到宽度首次回弹点
450ms。主要宽度收缩期间始终保留新旧内容拼接与圆角裁切;内容带结束后只剩约
3%的真实宽度回弹,避免短内容提前落入过宽空外框。
v1.19.6 (2026-08-21)
宽度彻底退出
isRetargeting分支:每次目标变化都从当前可见宽度以相同1000ms/3%曲线重新响应。不再继承上一段累计速度,避免 E1 连续扫过时后续宽度变化在视觉上越来越快;位置和内容的快速重定向保持不变。
v1.19.5 (2026-08-21)
参考 beUI 快速连续切换:宽度重定向不再使用独立的较短时长,稳定与重定向统一使用
1000ms弹簧参数。重定向继承当前宽度速度,不再把速度清零;目标反向变化时先保留惯性,再自然减速、反向并回弹。
v1.19.4 (2026-08-21)
双向宽度越界由约
5%进一步收小到约3%。稳定宽度弹性由
900ms放慢到1000ms,快速重定向由560ms放慢到640ms。
v1.19.3 (2026-08-21)
双向宽度越界由约
7%收小到约5%,减轻回弹幅度。稳定宽度弹性由
800ms放慢到900ms,快速重定向由480ms放慢到560ms。
v1.19.2 (2026-08-21)
宽度弹性越界由约
4%提高到约7%,让常见文本宽度差也能清楚看到回弹。双向规则明确为:变宽时先宽于目标再缩回,变窄时先窄于目标再扩回;浏览器回归分别逐帧验证最大值和最小值。
v1.19.1 (2026-08-21)
宽度回弹从原
180–360ms位置时间线中拆出,稳定切换使用接近参考效果的800ms弹性,回弹峰值约在360ms;快速重定向使用480ms。位置、内容与旧内容清理仍按原时间线完成,不会因宽度回弹变慢;宽度变化按 placement 固定靠近触发器的锚点。
v1.19.0 (2026-08-21)
连续切换的 Tooltip 外框宽度改用独立欠阻尼曲线:快速接近目标后约
4%轻微越界,再回弹到目标宽度。回弹复用既有
180–360ms/90–160ms时间线,不延长位置、内容或整体动效;高度与位置曲线保持不变。
v1.18.0 (2026-08-21)
连续裁切内容带的新旧内容投影间距由
4px增加为16px。是否允许拼接仍以两个目标 Tooltip 矩形最短距离不超过
4px为门槛;目标更远时仍只移动外框,不建立内容带。
v1.17.0 (2026-08-21)
Tooltip Foreground 以
110ms从0.94放大到1,并按最终 placement 从触发器方向反向滑入2px;具体数值以 Tooltip preset catalog 为准。top / bottom / left / right 分别从下 / 上 / 右 / 左进入,transform origin 对齐靠近触发器的一侧中心;Portal、size shell 与 Backdrop 继续保持稳定。
prefers-reduced-motion: reduce下取消 Foreground 的 opacity、scale 与位移,直接显示最终稳定状态。
v1.16.0 (2026-08-21)
连续裁切揭示调整为最初版本约
0.75倍速度,并优先使用整十毫秒时长。稳定段改为
180–360ms,retarget 改为90–160ms;外框、尺寸和内容仍同帧开始、同帧结束,内容相位滞后不变。
v1.15.0 (2026-08-21)
共享 Overlay store、动效关闭、reduced-motion 与 window 定位监听收敛到唯一 Portal host,非 host Tooltip 不再因其他提示切换而执行响应逻辑。
scroll、resize、ResizeObserver 和 Overlay 更新产生的定位请求改为每帧合并,避免同一帧重复读取布局。
动效感知关闭由 Portal host 根据当前 Overlay 的
dismissOnMotion配置注册,公开 Prop 和交互语义不变。
v1.14.1 (2026-08-21)
Tooltip 组合在 Link / Button 内部包装层时,改为使用最近交互祖先作为 hover 与定位触发器。
修复 SidebarItem 的 Link 路径在折叠 label 后 Tooltip 占位层变为零宽、导致图标 hover 无法显示提示的问题。
v1.14.0 (2026-08-21)
稳定切换改为
140–280ms,进行中重定向改为70–120ms;约 40px 的 SidebarItem 切换稳定在约140ms。稳定段 / 重定向段内容相位滞后收敛到
0.08 / 0.02。Test 增加多层 Frame、Text、Badge、Kbd 与不同宽高 Snippet 的复杂连续切换示例。
light 外观继续使用透明 Black/4 +
20pxbackdrop blur;宿主背景导致的颜色变化属于毛玻璃视觉的一部分。
v1.13.0 (2026-08-21)
动画进行中改目标时进入
90–160ms快速重定向段,从当前画面使用 cubic ease-out 继续运动,不再反复重启完整正弦时间线的低速起步。重定向段内容相位滞后收窄为
0.04;首次稳定切换仍保留200–320ms完整协调动效。触发依据只取当前动画阶段,不新增 pointermove、burst 计时器或待播放队列。
v1.12.0 (2026-08-21)
参考视频逐帧重建连续交接:外框与内容改为
200–320ms有界协调时间线,取消独立像素速度与末段长尾。外框位置和尺寸使用平滑加减速;内容以轻微相位滞后跟随,并与外框同帧结束。
删除
180msburst 直达;每个 warm 目标立即提交,进行中的动效从当前画面重定向,快速扫过不会排队或累积时长。删除会切入新内容第一个字形的图层互补 mask;真实文字矩形直接保持
4px间距,只由圆角外框裁切。保留旧连续动效 preset 导出为 deprecated 兼容别名,避免开发服务器 HMR 期间旧模块图请求不存在的 export。
v1.11.0 (2026-08-21)
默认减速起点改为时间线
90%,最终速度改为0.05px/ms。连续裁切触发从瞬时指针速度改为切换节奏:首次相邻切换始终执行,
180msburst 内后续目标直达,稳定后自动恢复。删除 document
pointermove热路径;burst 直达不再读取旧内容和旧图层矩形,也不创建连续动画帧。
v1.10.0 (2026-08-20)
移除已显示 Tooltip 间固定
100ms意图延迟;快速扫过时立即响应并跳过连续裁切,低速进入仍执行完整动效。内容速度改为分段模型:时间线前
75%保持0.3px/ms,后25%线性减速并以0.1px/ms结束。Test 调节器改为直接控制开始减速时间与最终速度。
v1.9.0 (2026-08-20)
内容速度采用用户调定的
0.3px/ms;Test 新增可调外框速度、内容速度与 cubic-bezier 四个控制点的真实动效控制台。已显示 Tooltip 间增加
100ms切换意图确认;短暂掠过新触发器会取消待触发计时,不启动连续裁切动效。
v1.8.5 (2026-08-20)
内容带移动由线性进度改为 cubic ease-out 缓出,外框继续保持线性移动。
保留用户当前调定的
0.4px/ms内容时长速度;外框仍为0.5px/ms。
v1.8.4 (2026-08-20)
将外框与内容带速度拆为独立 preset:外框保留
0.5px/ms,内容带改为较慢的0.3px/ms。两者仍从同一帧开始,并分别按自身距离和独立速度计算时长。
v1.8.3 (2026-08-20)
外框与拼接内容带改为同一帧开始移动,不再分为“先外框、后内容”两段。
两者统一消费
TOOLTIP_CONTINUOUS_MOVE_SPEED_PX_PER_MS的线性像素速度,各自时长按自身移动距离计算;距离更长时动效持续更久,且两者允许在不同时间结束。连续切换期间的外框宽高并入同一逐帧几何时间线,避免固定尺寸 transition 改变外框中心的实际速度。
v1.8.2 (2026-08-20)
将连续裁切改为“拼接内容带 → 移动外框 → 对齐内容带”的两段式切换,还原参考视频中外框与内容分阶段移动的关系。
新旧内容沿任意二维移动向量保持精确
4px投影间距;只有目标 Tooltip 矩形最短距离不超过4px时才拼接。目标 Tooltip 间距超过
4px时取消内容拼接与独立内容位移,只保留外框移动;连续打断仍从实时可见位置继续。
v1.8.1 (2026-08-20)
按参考视频补齐连续裁切中的内容推进:旧内容沿移动方向短距离退出,新内容从反方向短距离归位。
内容位移按任意二维移动向量计算,短移动段自动限制距离;中断时从内容层实时矩形继续,不发生回跳。
互补蒙版改为按内容实际运动矩形计算,继续保证交集不重叠绘制。
v1.8.0 (2026-08-20)
连续 Tooltip 切换成为默认能力,不再依赖额外注册增强。
近距离共享外框支持任意二维方向移动;删除
48px交叉轴限制,保留min(240px, 视口短边 25%)远距离直接定位阈值。切换期间保留旧、新内容并固定到各自视口位置,由移动圆角外框裁切揭示;补充连续打断和 reduced-motion 收敛规则。
修复新旧内容目标矩形相交时被共享外框同时裁入、导致文字重叠的问题;交集改用沿移动方向推进的互补裁切分区。
修复 Button hover 伪元素的 inset / radius transition 被误判为触发器锚点运动、导致 warm Tooltip 立即关闭的问题。
v1.7.6 (2026-08-12)
修复 Test Footer 相邻按钮间移动速度不同时,共享 Tooltip 偶发先消失再出现的问题。共享外框保留窗口由固定 80ms 对齐到共享 300ms skip-delay,隐藏函数同时改为尊重实际
delayMs。
v1.7.5 (2026-08-12)
将 Tooltip 可见表面拆分为稳定 Backdrop 与独立 Foreground:Backdrop 首帧完整执行
blur(20px),Foreground 的背景色和内容恢复 opacity + 轻微 scale。保留一个不可见预绘制帧,退出时 Foreground 继续使用原快速 opacity + scale。
v1.7.4 (2026-08-12)
Test Footer 复测仍能看到实际模糊像素晚于 Tooltip。进一步移除出现态 transform,并在
data-ready=true前增加一个不可见预绘制帧;毛玻璃层只在 Tooltip 挂载期间通过will-change预合成,退出动效保持不变。
v1.7.3 (2026-08-12)
修复 Tooltip 已出现后背景模糊才逐渐清晰的问题。滤镜计算本身没有延迟;出现 preset 移除 Portal opacity 与额外 delay,仅保留轻微 scale,使完整毛玻璃与 Tooltip 同帧出现。
v1.7.2 (2026-08-12)
修复动画 Logo / Icon 作为触发器后代时,装饰性
animationstart误关闭 Tooltip 的问题;触发器自身、祖先动效及后代几何 transition 的关闭保护保持不变。
v1.7.1 (2026-08-12)
修复 Styles 根节点隔离选择器误命中 Tooltip Portal,导致
blur(1.25rem)无法采样应用内容的问题;Tooltip 默认 light 变体保持不变。
v1.7.0 (2026-07-28)
新增默认开启的
dismissOnMotion。触发元素或其祖先开始几何动效时,Tooltip 会在第一帧位移前立即卸载,避免 Portal 跟随定位产生跳动。动效监听按需启停并由同一 document 共享,不使用逐帧布局读取或常驻 Observer。
v1.6.17 (2026-07-28)
Tooltip 默认外观变体由
dark改为light;仍可显式传入variant="dark"。
v1.6.16 (2026-06-30)
删除 inner Frame 中未进入 Active、也未解析出任何视觉的
whileActive={true}占位;生命周期与尺寸动效继续分别由 Tooltip preset 和显式effectiveSizeMotion承担,运行时视觉不变。
v1.6.14 (2026-06-06)
Tooltip 坐标计算改为使用已测量的目标宽高,而不是 Portal 当前 DOM 高度,修复第一次出现时 top placement 与按钮间距小于规范 offset 的问题。
v1.6.13 (2026-06-06)
Tooltip 尺寸 shell 的居中偏移从可过渡的
translate改为静态transform: translateX/Y(-50%),宽高仍使用 Frame size motion bridge 过渡。修复 E1 示例中多次快速切换后,上一段尺寸偏移动画残留导致 Tooltip 外框未居中到当前触发按钮的问题。
v1.6.15 (2026-06-18)
Tooltip 出现/消失动效改为引用
TOOLTIP_APPEAR_MOTION/TOOLTIP_DISAPPEAR_MOTION,具体值以 motion preset catalog 为准。Tooltip 默认启用生命周期出入场动效;平滑移动与尺寸动效仍由增强能力控制。
Tooltip / Popover 共享首次 hover 延迟调整为
450ms。
v1.6.12 (2026-06-06)
Tooltip Portal 层移除
whileActive带来的全属性 transition,避免跨行 snap 时 top / left 仍被隐式过渡影响。近距离平滑移动改由 Tooltip Portal CSS 自己持有
150ms ease-outtiming;尺寸 shell 仍继续使用 Frame size motion bridge。
v1.6.11 (2026-06-06)
Tooltip 近距离平滑移动新增同排/同轴限制:top / bottom placement 切换时垂直差超过
48px会直接 snap,left / right placement 切换时水平差超过48px会直接 snap。修复 E1 示例中从下排按钮快速移动到上排按钮时,Tooltip 在移动途中看起来没有对齐当前触发器的问题。
v1.6.10 (2026-06-06)
Tooltip 出现动效时长从
150ms调整为100ms;消失动效、宽度变化、近距离移动规则和 hover 延迟时序保持不变。
v1.6.9 (2026-06-06)
Tooltip 出现/消失动效参考 HeroUI Tooltip:出现为
150ms淡入 +scale(0.9 -> 1)+ placement 反向4px轻微滑入;消失为100ms淡出 +scale(1 -> 0.95)。仅调整显隐生命周期动效,不改变宽度变化、近距离移动规则和 hover 延迟时序。
v1.6.8 (2026-06-06)
Tooltip 出现/消失改为 Frame fade-only 生命周期动效:出现只渐显,消失只渐隐,不再使用默认
scaleIn,避免视觉大小变化。显隐动效时长从默认 fade 的
300ms减半为150ms;hover 首次出现延迟与 warmup / cooldown 时序保持不变。新一轮显示先完成不可见测量和定位,下一帧再启动渐显;尺寸动效延后到渐显结束后开启,避免从页面左上角、旧位置或旧宽度过渡进入。
v1.6.7 (2026-06-06)
Tooltip 共享 Portal 接入 Frame 生命周期动效:出现时使用默认
whileAppear,消失时使用默认whileDisappear。非受控 hover 模式在 overlay 状态清空时保留上一帧
renderedOverlay快照,等待 Frame 默认退出动效完成后再卸载外框。
v1.6.6 (2026-06-06)
Tooltip 外框隐藏后再次出现时,会清空上一轮
coords、measuredSize、lastPositionTooltipId和移动状态,避免从上一次位置飞到当前触发器。新一轮显示先以不可见状态完成测量和定位,首帧直接出现在当前 hover 触发器的正确位置;首轮尺寸写入不执行宽高变化动效,后续同一可见外框切换才开启尺寸动效。
v1.6.5 (2026-06-06)
Tooltip 定位改为锚点中心模型:top / bottom 以触发器中心为 portal 坐标,left / right 以触发器垂直中心为 portal 坐标。
外框宽高变化、居中偏移和近距离移动统一使用
150msFrame motion timing,避免尺寸动画过程中 Tooltip 与当前触发器中心错位。动态坐标与测量尺寸统一保留
px写入样式,避免根字号不是16px时getBoundingClientRect()坐标转rem造成锚点偏移。
v1.6.4 (2026-06-06)
Tooltip 外框变宽 / 变窄动效加快一倍:尺寸 shell 继续基于 Frame 默认
MORPH_MOTION,但 duration 减半为150ms后注入 Frame size motion bridge。
v1.6.3 (2026-06-06)
Tooltip 尺寸动画改为外框自身形态变化:
snowui-tooltip-size-shell承担视觉外框,内部snowui-tooltip-inner只负责内容测量与排布,避免出现“遮罩揭开长外框”的视觉。
v1.6.2 (2026-06-06)
Tooltip 外框宽高变化改为明确尺寸 shell,内容自然尺寸通过共享 ResizeObserver 测量后写入宽高,过渡时序消费 Frame size motion bridge。
v1.6.1 (2026-06-06)
共享 Portal 切换触发器时新增移动规则:近距离使用 Frame control motion bridge 平滑移动,远距离直接定位到新触发器。
Tooltip E1 示例中的多个按钮改为不同提示内容,用于验证共享外框、内容更新与位置移动。
v1.6.0 (2026-06-06)
非受控 hover 模式改为页面级共享 Portal,快速切换不同 Tooltip 触发器时复用同一个外框,仅更新内容、定位和尺寸。
Tooltip 内容外壳消费 Frame size motion bridge,文案变化导致的宽高变化沿用 Frame 默认尺寸动效时序。
v1.5.0 (2026-06-02)
参考 Radix Tooltip 的
delayDuration/skipDelayDuration语义,新增共享 warmup / cooldown 协调器。首次 hover 延迟调整为
600ms;任一 Tooltip 成功显示后,300ms内切换到其他 Tooltip 时立即显示。open受控模式保持由外部状态直接控制,不参与共享延迟状态。
v1.4.7 (2026-05-15)
移除 Tooltip 自定义
Idle/Active缩放淡入动效,统一改用 Frame 默认whileAppear,与 Popover 保持一致马上显示。
v1.4.6 (2026-03-07)
释放
whileLoad关键字:Tooltip 改用loading作为禁用触发入口,并将whileLoad透传回Frame作为加载态动效配置。
v1.4.5 (2026-03-06)
Tooltip Portal 外层改为 Frame,
loopMotion现在作用于可见浮层根节点;内部内容层继续保留Idle -> Active的默认进入组合动效
v1.4.4 (2026-03-03)
Tooltip 自身进入动效改为 Frame 通用状态动效链(
Idle -> Active自动触发);0.5shover 延迟仍由组件本地控制
v1.4.3 (2026-02-26)
移除 Tooltip 对
theme属性的兼容读取,外观仅通过variant控制
v1.4.2 (2026-02-26)
Tooltip 外观属性从
theme调整为variant(dark | light)
v1.4.1 (2026-02-26)
移除 Tooltip 的投影效果(
box-shadow)
v1.4.0 (2026-02-26)
按 Figma 规范更新 Tooltip 样式(padding/gap/radius/font/backdrop-filter)
新增
theme属性:dark | light,默认darkdark使用Static Black/80% + Static White/10%叠加背景与Static White/100%文字light使用Black/4%背景与Black/100%文字
v1.3.1 (2026-02-26)
hover 进入后延迟
0.5s显示 Tooltip,并以淡入呈现;移出时立即隐藏(无淡出)
v1.3.0 (2026-02-26)
移除
contentprop,统一使用 Tooltip 子内容作为提示文案
v1.2.1 (2026-02-25)
修复 role 判定:仅
as="tooltip"时遵循 Text 截断态显示规则
v1.2.0 (2026-02-03)
初始版本,支持 Portal 模式与角色化组合