transitions-refine 0.3.30 → 0.3.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/demo.html CHANGED
@@ -2644,8 +2644,12 @@
2644
2644
  const vn=vm?rootVar(vm[1]):null;
2645
2645
  // distance is a magnitude — direction lives in the CSS (± calc).
2646
2646
  const num=Math.abs(vn?parseFloat(cs.getPropertyValue(vn)):parseFloat(inner));
2647
- if(Number.isFinite(num)&&num>1e-4&&(!bestTranslate||num>bestTranslate.translate))
2648
- bestTranslate={translate:num,...(vn?{translateVarName:vn}:{})};}}
2647
+ // a var-backed translate at rest (0) still reports its var — the
2648
+ // hook for ADDING a slide distance the source neutralized (e.g. a
2649
+ // generic text swap with --text-swap-translate-y: 0).
2650
+ if(Number.isFinite(num)&&(num>1e-4||vn)){
2651
+ const better=!bestTranslate||num>bestTranslate.translate||(bestTranslate.translateVarName==null&&vn);
2652
+ if(better)bestTranslate={translate:num,...(vn?{translateVarName:vn}:{})};}}}
2649
2653
  }else{
2650
2654
  const fm=txt.match(/filter\s*:\s*([^;}]+)/i);
2651
2655
  if(fm){const bl=fm[1].match(/blur\(\s*([^)]+)\)/i);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "transitions-refine",
3
- "version": "0.3.30",
3
+ "version": "0.3.31",
4
4
  "description": "Live, agent-driven Refine panel for CSS/Motion transitions — injects a timeline + Refine UI and runs transitions.dev suggestions via your coding agent.",
5
5
  "type": "module",
6
6
  "bin": {
package/server/relay.mjs CHANGED
@@ -269,6 +269,7 @@ const RECIPES_BLOCK = [
269
269
  " - Panel reveal → filter blur 2px (Small)",
270
270
  " - Page side-by-side → filter blur 3px (Medium) AND transform translate distance 8px, both on the sliding page",
271
271
  " - Icon swap → filter blur 2px (Small) AND transform scale 0.25 (start-scale) on the swapping icon",
272
+ " - Text states swap → filter blur 2px (Small) AND transform translateY distance 4px, on the swapping text (exit and enter both settle to blur 0 / translate 0)",
272
273
  " - Skeleton loader and reveal → filter blur 2px (Small)",
273
274
  " - Texts reveal → filter blur 3px (Medium)",
274
275
  " - Success check → filter blur 8px (Large)",