@visactor/vrender-animate 1.0.0-alpha.1 → 1.0.0-alpha.3

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.
Files changed (134) hide show
  1. package/cjs/custom/clip-graphic.js +1 -1
  2. package/cjs/custom/clip-graphic.js.map +1 -1
  3. package/cjs/custom/common.js +2 -0
  4. package/cjs/custom/common.js.map +1 -1
  5. package/cjs/custom/custom-animate.js +1 -1
  6. package/cjs/custom/custom-animate.js.map +1 -1
  7. package/cjs/custom/{from-to.d.ts → fromTo.d.ts} +1 -0
  8. package/cjs/custom/fromTo.js +44 -0
  9. package/cjs/custom/fromTo.js.map +1 -0
  10. package/cjs/custom/{group-fade.js → groupFade.js} +1 -1
  11. package/cjs/custom/groupFade.js.map +1 -0
  12. package/cjs/custom/growAngle.js +2 -0
  13. package/cjs/custom/growAngle.js.map +1 -1
  14. package/cjs/custom/growCenter.js +2 -0
  15. package/cjs/custom/growCenter.js.map +1 -1
  16. package/cjs/custom/growHeight.js +2 -0
  17. package/cjs/custom/growHeight.js.map +1 -1
  18. package/cjs/custom/growPoints.js +6 -6
  19. package/cjs/custom/growPoints.js.map +1 -1
  20. package/cjs/custom/growRadius.js +2 -0
  21. package/cjs/custom/growRadius.js.map +1 -1
  22. package/cjs/custom/growWidth.js +2 -0
  23. package/cjs/custom/growWidth.js.map +1 -1
  24. package/cjs/custom/label-item-animate.js +2 -0
  25. package/cjs/custom/label-item-animate.js.map +1 -1
  26. package/cjs/custom/motionPath.d.ts +21 -0
  27. package/cjs/custom/motionPath.js +31 -0
  28. package/cjs/custom/motionPath.js.map +1 -0
  29. package/cjs/custom/move.js +2 -0
  30. package/cjs/custom/move.js.map +1 -1
  31. package/cjs/custom/poptip-animate.js +2 -0
  32. package/cjs/custom/poptip-animate.js.map +1 -1
  33. package/cjs/custom/register.d.ts +27 -0
  34. package/cjs/custom/register.js +376 -4
  35. package/cjs/custom/register.js.map +1 -1
  36. package/cjs/custom/richtext/input-richtext.js +2 -1
  37. package/cjs/custom/rotate.js +2 -0
  38. package/cjs/custom/rotate.js.map +1 -1
  39. package/cjs/custom/scale.js +3 -2
  40. package/cjs/custom/scale.js.map +1 -1
  41. package/cjs/custom/sphere.js +5 -2
  42. package/cjs/custom/sphere.js.map +1 -1
  43. package/cjs/custom/state.js +1 -1
  44. package/cjs/custom/state.js.map +1 -1
  45. package/cjs/custom/story.js +5 -0
  46. package/cjs/custom/story.js.map +1 -1
  47. package/cjs/custom/streamLight.d.ts +27 -0
  48. package/cjs/custom/streamLight.js +161 -0
  49. package/cjs/custom/streamLight.js.map +1 -0
  50. package/cjs/custom/tag-points.js +1 -0
  51. package/cjs/custom/tag-points.js.map +1 -1
  52. package/cjs/custom/update.js +1 -0
  53. package/cjs/custom/update.js.map +1 -1
  54. package/cjs/executor/animate-executor.js +8 -3
  55. package/cjs/executor/animate-executor.js.map +1 -1
  56. package/cjs/index.d.ts +2 -2
  57. package/cjs/index.js +5 -14
  58. package/cjs/index.js.map +1 -1
  59. package/cjs/step.d.ts +2 -0
  60. package/cjs/step.js +10 -6
  61. package/cjs/step.js.map +1 -1
  62. package/cjs/utils/easing-func.js +1 -2
  63. package/dist/index.es.js +359 -31
  64. package/es/custom/clip-graphic.js +1 -1
  65. package/es/custom/clip-graphic.js.map +1 -1
  66. package/es/custom/common.js +2 -0
  67. package/es/custom/common.js.map +1 -1
  68. package/es/custom/custom-animate.js +1 -1
  69. package/es/custom/custom-animate.js.map +1 -1
  70. package/es/custom/{from-to.d.ts → fromTo.d.ts} +1 -0
  71. package/es/custom/fromTo.js +36 -0
  72. package/es/custom/fromTo.js.map +1 -0
  73. package/es/custom/{group-fade.js → groupFade.js} +1 -1
  74. package/es/custom/groupFade.js.map +1 -0
  75. package/es/custom/growAngle.js +2 -0
  76. package/es/custom/growAngle.js.map +1 -1
  77. package/es/custom/growCenter.js +2 -0
  78. package/es/custom/growCenter.js.map +1 -1
  79. package/es/custom/growHeight.js +2 -0
  80. package/es/custom/growHeight.js.map +1 -1
  81. package/es/custom/growPoints.js +6 -6
  82. package/es/custom/growPoints.js.map +1 -1
  83. package/es/custom/growRadius.js +2 -0
  84. package/es/custom/growRadius.js.map +1 -1
  85. package/es/custom/growWidth.js +2 -0
  86. package/es/custom/growWidth.js.map +1 -1
  87. package/es/custom/label-item-animate.js +2 -0
  88. package/es/custom/label-item-animate.js.map +1 -1
  89. package/es/custom/motionPath.d.ts +21 -0
  90. package/es/custom/motionPath.js +23 -0
  91. package/es/custom/motionPath.js.map +1 -0
  92. package/es/custom/move.js +2 -0
  93. package/es/custom/move.js.map +1 -1
  94. package/es/custom/poptip-animate.js +2 -0
  95. package/es/custom/poptip-animate.js.map +1 -1
  96. package/es/custom/register.d.ts +27 -0
  97. package/es/custom/register.js +11 -2
  98. package/es/custom/register.js.map +1 -1
  99. package/es/custom/richtext/input-richtext.js +2 -1
  100. package/es/custom/rotate.js +2 -0
  101. package/es/custom/rotate.js.map +1 -1
  102. package/es/custom/scale.js +3 -2
  103. package/es/custom/scale.js.map +1 -1
  104. package/es/custom/sphere.js +5 -2
  105. package/es/custom/sphere.js.map +1 -1
  106. package/es/custom/state.js +1 -1
  107. package/es/custom/state.js.map +1 -1
  108. package/es/custom/story.js +5 -0
  109. package/es/custom/story.js.map +1 -1
  110. package/es/custom/streamLight.d.ts +27 -0
  111. package/es/custom/streamLight.js +157 -0
  112. package/es/custom/streamLight.js.map +1 -0
  113. package/es/custom/tag-points.js +1 -0
  114. package/es/custom/tag-points.js.map +1 -1
  115. package/es/custom/update.js +1 -0
  116. package/es/custom/update.js.map +1 -1
  117. package/es/executor/animate-executor.js +7 -3
  118. package/es/executor/animate-executor.js.map +1 -1
  119. package/es/index.d.ts +2 -2
  120. package/es/index.js +2 -2
  121. package/es/index.js.map +1 -1
  122. package/es/step.d.ts +2 -0
  123. package/es/step.js +10 -6
  124. package/es/step.js.map +1 -1
  125. package/es/utils/easing-func.js +1 -2
  126. package/package.json +3 -3
  127. package/cjs/custom/from-to.js +0 -38
  128. package/cjs/custom/from-to.js.map +0 -1
  129. package/cjs/custom/group-fade.js.map +0 -1
  130. package/es/custom/from-to.js +0 -30
  131. package/es/custom/from-to.js.map +0 -1
  132. package/es/custom/group-fade.js.map +0 -1
  133. /package/cjs/custom/{group-fade.d.ts → groupFade.d.ts} +0 -0
  134. /package/es/custom/{group-fade.d.ts → groupFade.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/register.ts"],"names":[],"mappings":"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","file":"register.js","sourcesContent":["import { AnimateExecutor } from '../executor/animate-executor';\nimport { ClipIn, ClipOut } from './clip';\nimport { FadeIn, FadeOut } from './fade';\nimport { GrowAngleIn, GrowAngleOut } from './growAngle';\nimport { GrowCenterIn, GrowCenterOut } from './growCenter';\nimport { GrowHeightIn, GrowHeightOut } from './growHeight';\nimport {\n GrowPointsIn,\n GrowPointsOut,\n GrowPointsXIn,\n GrowPointsXOut,\n GrowPointsYIn,\n GrowPointsYOut\n} from './growPoints';\nimport { GrowRadiusIn, GrowRadiusOut } from './growRadius';\nimport { GrowWidthIn, GrowWidthOut } from './growWidth';\nimport { InputText } from './input-text';\nimport { LabelItemAppear, LabelItemDisappear } from './label-item-animate';\nimport { IncreaseCount } from './number';\nimport { PoptipAppear, PoptipDisappear } from './poptip-animate';\nimport { InputRichText } from './richtext/input-richtext';\nimport { OutputRichText } from './richtext/output-richtext';\nimport { SlideRichText } from './richtext/slide-richtext';\nimport { SlideOutRichText } from './richtext/slide-out-richtext';\nimport { ScaleIn, ScaleOut } from './scale';\nimport { State } from './state';\nimport {\n GrowIn,\n GrowOut,\n MoveRotateIn,\n MoveRotateOut,\n MoveScaleIn,\n MoveScaleOut,\n SlideIn,\n SlideOut,\n SpinIn,\n SpinOut\n} from './story';\nimport { Update } from './update';\nimport { MoveIn, MoveOut } from './move';\nimport { RotateIn, RotateOut } from './rotate';\nimport { FromTo } from './from-to';\n\nexport const registerCustomAnimate = () => {\n // 基础动画\n AnimateExecutor.registerBuiltInAnimate('increaseCount', IncreaseCount);\n\n AnimateExecutor.registerBuiltInAnimate('fromTo', FromTo);\n AnimateExecutor.registerBuiltInAnimate('scaleIn', ScaleIn);\n AnimateExecutor.registerBuiltInAnimate('scaleOut', ScaleOut);\n AnimateExecutor.registerBuiltInAnimate('growHeightIn', GrowHeightIn);\n AnimateExecutor.registerBuiltInAnimate('growHeightOut', GrowHeightOut);\n AnimateExecutor.registerBuiltInAnimate('growWidthIn', GrowWidthIn);\n AnimateExecutor.registerBuiltInAnimate('growWidthOut', GrowWidthOut);\n AnimateExecutor.registerBuiltInAnimate('growCenterIn', GrowCenterIn);\n AnimateExecutor.registerBuiltInAnimate('growCenterOut', GrowCenterOut);\n AnimateExecutor.registerBuiltInAnimate('clipIn', ClipIn);\n AnimateExecutor.registerBuiltInAnimate('clipOut', ClipOut);\n AnimateExecutor.registerBuiltInAnimate('fadeIn', FadeIn);\n AnimateExecutor.registerBuiltInAnimate('fadeOut', FadeOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsIn', GrowPointsIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsOut', GrowPointsOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsXIn', GrowPointsXIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsXOut', GrowPointsXOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsYIn', GrowPointsYIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsYOut', GrowPointsYOut);\n AnimateExecutor.registerBuiltInAnimate('growAngleIn', GrowAngleIn);\n AnimateExecutor.registerBuiltInAnimate('growAngleOut', GrowAngleOut);\n AnimateExecutor.registerBuiltInAnimate('growRadiusIn', GrowRadiusIn);\n AnimateExecutor.registerBuiltInAnimate('growRadiusOut', GrowRadiusOut);\n AnimateExecutor.registerBuiltInAnimate('moveIn', MoveIn);\n AnimateExecutor.registerBuiltInAnimate('moveOut', MoveOut);\n AnimateExecutor.registerBuiltInAnimate('rotateIn', RotateIn);\n AnimateExecutor.registerBuiltInAnimate('rotateOut', RotateOut);\n // state和update共用一个自定义动画类\n AnimateExecutor.registerBuiltInAnimate('update', Update);\n AnimateExecutor.registerBuiltInAnimate('state', State);\n // Label item animations\n AnimateExecutor.registerBuiltInAnimate('labelItemAppear', LabelItemAppear);\n AnimateExecutor.registerBuiltInAnimate('labelItemDisappear', LabelItemDisappear);\n // Poptip animations\n AnimateExecutor.registerBuiltInAnimate('poptipAppear', PoptipAppear);\n AnimateExecutor.registerBuiltInAnimate('poptipDisappear', PoptipDisappear);\n\n // Text input animations\n AnimateExecutor.registerBuiltInAnimate('inputText', InputText);\n AnimateExecutor.registerBuiltInAnimate('inputRichText', InputRichText);\n AnimateExecutor.registerBuiltInAnimate('outputRichText', OutputRichText);\n AnimateExecutor.registerBuiltInAnimate('slideRichText', SlideRichText);\n AnimateExecutor.registerBuiltInAnimate('slideOutRichText', SlideOutRichText);\n\n // 故事化动画 - 入场\n AnimateExecutor.registerBuiltInAnimate('slideIn', SlideIn);\n AnimateExecutor.registerBuiltInAnimate('growIn', GrowIn);\n AnimateExecutor.registerBuiltInAnimate('spinIn', SpinIn);\n AnimateExecutor.registerBuiltInAnimate('moveScaleIn', MoveScaleIn);\n AnimateExecutor.registerBuiltInAnimate('moveRotateIn', MoveRotateIn);\n\n // 故事化动画 - 出场\n AnimateExecutor.registerBuiltInAnimate('slideOut', SlideOut);\n AnimateExecutor.registerBuiltInAnimate('growOut', GrowOut);\n AnimateExecutor.registerBuiltInAnimate('spinOut', SpinOut);\n AnimateExecutor.registerBuiltInAnimate('moveScaleOut', MoveScaleOut);\n AnimateExecutor.registerBuiltInAnimate('moveRotateOut', MoveRotateOut);\n};\n"]}
1
+ {"version":3,"sources":["../src/custom/register.ts"],"names":[],"mappings":"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","file":"register.js","sourcesContent":["import { AnimateExecutor } from '../executor/animate-executor';\nimport { ClipIn, ClipOut } from './clip';\nimport { FadeIn, FadeOut } from './fade';\nimport { GrowAngleIn, GrowAngleOut } from './growAngle';\nimport { GrowCenterIn, GrowCenterOut } from './growCenter';\nimport { GrowHeightIn, GrowHeightOut } from './growHeight';\nimport {\n GrowPointsIn,\n GrowPointsOut,\n GrowPointsXIn,\n GrowPointsXOut,\n GrowPointsYIn,\n GrowPointsYOut\n} from './growPoints';\nimport { GrowRadiusIn, GrowRadiusOut } from './growRadius';\nimport { GrowWidthIn, GrowWidthOut } from './growWidth';\nimport { InputText } from './input-text';\nimport { LabelItemAppear, LabelItemDisappear } from './label-item-animate';\nimport { IncreaseCount } from './number';\nimport { PoptipAppear, PoptipDisappear } from './poptip-animate';\nimport { InputRichText } from './richtext/input-richtext';\nimport { OutputRichText } from './richtext/output-richtext';\nimport { SlideRichText } from './richtext/slide-richtext';\nimport { SlideOutRichText } from './richtext/slide-out-richtext';\nimport { ScaleIn, ScaleOut } from './scale';\nimport { State } from './state';\nimport {\n GrowIn,\n GrowOut,\n MoveRotateIn,\n MoveRotateOut,\n MoveScaleIn,\n MoveScaleOut,\n SlideIn,\n SlideOut,\n SpinIn,\n SpinOut\n} from './story';\nimport { Update } from './update';\nimport { MoveIn, MoveOut } from './move';\nimport { RotateIn, RotateOut } from './rotate';\nimport { MotionPath } from './motionPath';\nimport { FromTo } from './fromTo';\nimport { GroupFadeIn, GroupFadeOut } from './groupFade';\nimport { StreamLight } from './streamLight';\n\nexport const registerCustomAnimate = () => {\n // 基础动画\n AnimateExecutor.registerBuiltInAnimate('increaseCount', IncreaseCount);\n\n AnimateExecutor.registerBuiltInAnimate('fromTo', FromTo);\n AnimateExecutor.registerBuiltInAnimate('scaleIn', ScaleIn);\n AnimateExecutor.registerBuiltInAnimate('scaleOut', ScaleOut);\n AnimateExecutor.registerBuiltInAnimate('growHeightIn', GrowHeightIn);\n AnimateExecutor.registerBuiltInAnimate('growHeightOut', GrowHeightOut);\n AnimateExecutor.registerBuiltInAnimate('growWidthIn', GrowWidthIn);\n AnimateExecutor.registerBuiltInAnimate('growWidthOut', GrowWidthOut);\n AnimateExecutor.registerBuiltInAnimate('growCenterIn', GrowCenterIn);\n AnimateExecutor.registerBuiltInAnimate('growCenterOut', GrowCenterOut);\n AnimateExecutor.registerBuiltInAnimate('clipIn', ClipIn);\n AnimateExecutor.registerBuiltInAnimate('clipOut', ClipOut);\n AnimateExecutor.registerBuiltInAnimate('fadeIn', FadeIn);\n AnimateExecutor.registerBuiltInAnimate('fadeOut', FadeOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsIn', GrowPointsIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsOut', GrowPointsOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsXIn', GrowPointsXIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsXOut', GrowPointsXOut);\n AnimateExecutor.registerBuiltInAnimate('growPointsYIn', GrowPointsYIn);\n AnimateExecutor.registerBuiltInAnimate('growPointsYOut', GrowPointsYOut);\n AnimateExecutor.registerBuiltInAnimate('growAngleIn', GrowAngleIn);\n AnimateExecutor.registerBuiltInAnimate('growAngleOut', GrowAngleOut);\n AnimateExecutor.registerBuiltInAnimate('growRadiusIn', GrowRadiusIn);\n AnimateExecutor.registerBuiltInAnimate('growRadiusOut', GrowRadiusOut);\n AnimateExecutor.registerBuiltInAnimate('moveIn', MoveIn);\n AnimateExecutor.registerBuiltInAnimate('moveOut', MoveOut);\n AnimateExecutor.registerBuiltInAnimate('rotateIn', RotateIn);\n AnimateExecutor.registerBuiltInAnimate('rotateOut', RotateOut);\n // state和update共用一个自定义动画类\n AnimateExecutor.registerBuiltInAnimate('update', Update);\n AnimateExecutor.registerBuiltInAnimate('state', State);\n // Label item animations\n AnimateExecutor.registerBuiltInAnimate('labelItemAppear', LabelItemAppear);\n AnimateExecutor.registerBuiltInAnimate('labelItemDisappear', LabelItemDisappear);\n // Poptip animations\n AnimateExecutor.registerBuiltInAnimate('poptipAppear', PoptipAppear);\n AnimateExecutor.registerBuiltInAnimate('poptipDisappear', PoptipDisappear);\n\n // Text input animations\n AnimateExecutor.registerBuiltInAnimate('inputText', InputText);\n AnimateExecutor.registerBuiltInAnimate('inputRichText', InputRichText);\n AnimateExecutor.registerBuiltInAnimate('outputRichText', OutputRichText);\n AnimateExecutor.registerBuiltInAnimate('slideRichText', SlideRichText);\n AnimateExecutor.registerBuiltInAnimate('slideOutRichText', SlideOutRichText);\n\n // 故事化动画 - 入场\n AnimateExecutor.registerBuiltInAnimate('slideIn', SlideIn);\n AnimateExecutor.registerBuiltInAnimate('growIn', GrowIn);\n AnimateExecutor.registerBuiltInAnimate('spinIn', SpinIn);\n AnimateExecutor.registerBuiltInAnimate('moveScaleIn', MoveScaleIn);\n AnimateExecutor.registerBuiltInAnimate('moveRotateIn', MoveRotateIn);\n\n // 故事化动画 - 出场\n AnimateExecutor.registerBuiltInAnimate('slideOut', SlideOut);\n AnimateExecutor.registerBuiltInAnimate('growOut', GrowOut);\n AnimateExecutor.registerBuiltInAnimate('spinOut', SpinOut);\n AnimateExecutor.registerBuiltInAnimate('moveScaleOut', MoveScaleOut);\n AnimateExecutor.registerBuiltInAnimate('moveRotateOut', MoveRotateOut);\n\n // 路径动画\n AnimateExecutor.registerBuiltInAnimate('MotionPath', MotionPath);\n // 流光动画\n AnimateExecutor.registerBuiltInAnimate('streamLight', StreamLight);\n};\n\nexport {\n ClipIn,\n ClipOut,\n FadeIn,\n FadeOut,\n GrowAngleIn,\n GrowAngleOut,\n GrowCenterIn,\n GrowCenterOut,\n GrowHeightIn,\n GrowHeightOut,\n GrowPointsIn,\n GrowPointsOut,\n GrowPointsXIn,\n GrowPointsXOut,\n GrowPointsYIn,\n GrowPointsYOut,\n GrowRadiusIn,\n GrowRadiusOut,\n GrowWidthIn,\n GrowWidthOut,\n IncreaseCount,\n PoptipAppear,\n PoptipDisappear,\n ScaleIn,\n ScaleOut,\n MoveIn,\n MoveOut,\n RotateIn,\n RotateOut,\n State,\n Update,\n MotionPath,\n LabelItemAppear,\n LabelItemDisappear,\n InputText,\n InputRichText,\n OutputRichText,\n SlideRichText,\n SlideOutRichText,\n SlideIn,\n GrowIn,\n SpinIn,\n MoveScaleIn,\n MoveRotateIn,\n SlideOut,\n GrowOut,\n SpinOut,\n MoveScaleOut,\n MoveRotateOut,\n GroupFadeIn,\n GroupFadeOut,\n FromTo,\n StreamLight\n};\n"]}
@@ -61,4 +61,5 @@ export class InputRichText extends ACustomAnimate {
61
61
  }
62
62
  this.target.setAttribute("textConfig", currentTextConfig);
63
63
  }
64
- }
64
+ }
65
+ //# sourceMappingURL=input-richtext.js.map
@@ -46,6 +46,7 @@ export class RotateBase extends ACustomAnimate {
46
46
 
47
47
  export class RotateIn extends RotateBase {
48
48
  onBind() {
49
+ super.onBind();
49
50
  const {from: from, to: to} = rotateIn(this.target, this.params.options);
50
51
  this.props = to, this.propKeys = [ "angle" ], this.from = from, this.to = to;
51
52
  const finalAttribute = this.target.getFinalAttribute();
@@ -55,6 +56,7 @@ export class RotateIn extends RotateBase {
55
56
 
56
57
  export class RotateOut extends RotateBase {
57
58
  onBind() {
59
+ super.onBind();
58
60
  const {from: from, to: to} = rotateOut(this.target, this.params.options);
59
61
  this.props = to, this.propKeys = [ "angle" ], this.from = from, this.to = to;
60
62
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/rotate.ts"],"names":[],"mappings":"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","file":"rotate.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender-core';\nimport { isNumberClose, isValidNumber } from '@visactor/vutils';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IRotateAnimationOptions {\n orient?: 'clockwise' | 'anticlockwise';\n angle?: number;\n}\n\nexport const rotateIn = (graphic: IGraphic, options: IRotateAnimationOptions) => {\n const finalAttrs = graphic.getFinalAttribute();\n const attributeAngle = finalAttrs.angle ?? 0;\n\n let angle = 0;\n if (isNumberClose(attributeAngle / (Math.PI * 2), 0)) {\n angle = Math.round(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n } else if (isValidNumber(options?.angle)) {\n angle = options.angle;\n } else if (options?.orient === 'anticlockwise') {\n angle = Math.ceil(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n } else {\n angle = Math.floor(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n }\n return {\n from: { angle },\n to: { angle: attributeAngle }\n };\n};\n\nexport const rotateOut = (graphic: IGraphic, options: IRotateAnimationOptions) => {\n const finalAttrs = graphic.getFinalAttribute();\n const finalAngle = finalAttrs.angle ?? 0;\n let angle = 0;\n if (isNumberClose(finalAngle / (Math.PI * 2), 0)) {\n angle = Math.round(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n } else if (isValidNumber(options?.angle)) {\n angle = options.angle;\n } else if (options?.orient === 'anticlockwise') {\n angle = Math.ceil(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n } else {\n angle = Math.floor(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n }\n return {\n from: { angle: finalAngle },\n to: { angle }\n };\n};\n\nexport class RotateBase extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: any) {\n super(from, to, duration, easing, params);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 增长渐入\n */\nexport class RotateIn extends RotateBase {\n onBind(): void {\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const { from, to } = rotateIn(this.target, this.params.options);\n\n this.props = to;\n this.propKeys = ['angle'];\n this.from = from;\n this.to = to;\n\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n\n this.target.setAttributes(from);\n }\n}\n\nexport class RotateOut extends RotateBase {\n onBind(): void {\n const { from, to } = rotateOut(this.target, this.params.options);\n this.props = to;\n this.propKeys = ['angle'];\n\n this.from = from;\n this.to = to;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/custom/rotate.ts"],"names":[],"mappings":"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","file":"rotate.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender-core';\nimport { isNumberClose, isValidNumber } from '@visactor/vutils';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IRotateAnimationOptions {\n orient?: 'clockwise' | 'anticlockwise';\n angle?: number;\n}\n\nexport const rotateIn = (graphic: IGraphic, options: IRotateAnimationOptions) => {\n const finalAttrs = graphic.getFinalAttribute();\n const attributeAngle = finalAttrs.angle ?? 0;\n\n let angle = 0;\n if (isNumberClose(attributeAngle / (Math.PI * 2), 0)) {\n angle = Math.round(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n } else if (isValidNumber(options?.angle)) {\n angle = options.angle;\n } else if (options?.orient === 'anticlockwise') {\n angle = Math.ceil(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n } else {\n angle = Math.floor(attributeAngle / (Math.PI * 2)) * Math.PI * 2;\n }\n return {\n from: { angle },\n to: { angle: attributeAngle }\n };\n};\n\nexport const rotateOut = (graphic: IGraphic, options: IRotateAnimationOptions) => {\n const finalAttrs = graphic.getFinalAttribute();\n const finalAngle = finalAttrs.angle ?? 0;\n let angle = 0;\n if (isNumberClose(finalAngle / (Math.PI * 2), 0)) {\n angle = Math.round(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n } else if (isValidNumber(options?.angle)) {\n angle = options.angle;\n } else if (options?.orient === 'anticlockwise') {\n angle = Math.ceil(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n } else {\n angle = Math.floor(finalAngle / (Math.PI * 2)) * Math.PI * 2;\n }\n return {\n from: { angle: finalAngle },\n to: { angle }\n };\n};\n\nexport class RotateBase extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: any) {\n super(from, to, duration, easing, params);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 增长渐入\n */\nexport class RotateIn extends RotateBase {\n onBind(): void {\n super.onBind();\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const { from, to } = rotateIn(this.target, this.params.options);\n\n this.props = to;\n this.propKeys = ['angle'];\n this.from = from;\n this.to = to;\n\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n\n this.target.setAttributes(from);\n }\n}\n\nexport class RotateOut extends RotateBase {\n onBind(): void {\n super.onBind();\n const { from, to } = rotateOut(this.target, this.params.options);\n this.props = to;\n this.propKeys = ['angle'];\n\n this.from = from;\n this.to = to;\n }\n}\n"]}
@@ -7,6 +7,7 @@ export class ScaleIn extends ACustomAnimate {
7
7
  onBind() {
8
8
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
9
9
  let from, to;
10
+ super.onBind();
10
11
  const attrs = this.target.getFinalAttribute(), fromAttrs = null !== (_a = this.target.attribute) && void 0 !== _a ? _a : {};
11
12
  switch (null === (_b = this.params) || void 0 === _b ? void 0 : _b.direction) {
12
13
  case "x":
@@ -67,6 +68,7 @@ export class ScaleOut extends ACustomAnimate {
67
68
  onBind() {
68
69
  var _a, _b, _c, _d, _e;
69
70
  let from, to;
71
+ super.onBind();
70
72
  const attrs = this.target.attribute;
71
73
  switch (null === (_a = this.params) || void 0 === _a ? void 0 : _a.direction) {
72
74
  case "x":
@@ -105,5 +107,4 @@ export class ScaleOut extends ACustomAnimate {
105
107
  attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;
106
108
  })), this.target.addUpdatePositionTag();
107
109
  }
108
- }
109
- //# sourceMappingURL=scale.js.map
110
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/scale.ts"],"names":[],"mappings":"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","file":"scale.js","sourcesContent":["import type { EasingType, IAnimate, IStep } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IScaleAnimationOptions {\n direction?: 'x' | 'y' | 'xy';\n}\n\nexport class ScaleIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n declare _updateFunction: (ratio: number) => void;\n\n onBind(): void {\n let from: Record<string, number>;\n let to: Record<string, number>;\n const attrs = this.target.getFinalAttribute();\n const fromAttrs = this.target.attribute ?? {};\n\n switch (this.params?.direction) {\n case 'x':\n from = { scaleX: fromAttrs.scaleX ?? 0 };\n to = { scaleX: attrs?.scaleX ?? 1 };\n this._updateFunction = this.updateX;\n break;\n case 'y':\n from = { scaleY: fromAttrs.scaleY ?? 0 };\n to = { scaleY: attrs?.scaleY ?? 1 };\n this._updateFunction = this.updateY;\n break;\n case 'xy':\n default:\n from = { scaleX: fromAttrs.scaleX ?? 0, scaleY: fromAttrs.scaleY ?? 0 };\n to = {\n scaleX: attrs?.scaleX ?? 1,\n scaleY: attrs?.scaleY ?? 1\n };\n this._updateFunction = this.updateXY;\n }\n\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n\n this.props = to;\n this.from = from;\n this.to = to;\n // 调用次数不多,可以setAttributes\n this.target.setAttributes(from);\n }\n\n onEnd(cb?: (animate: IAnimate, step: IStep) => void): void {\n super.onEnd(cb);\n }\n\n updateX(ratio: number): void {\n this.target.attribute.scaleX = this.from.scaleX + (this.to.scaleX - this.from.scaleX) * ratio;\n }\n\n updateY(ratio: number): void {\n this.target.attribute.scaleY = this.from.scaleY + (this.to.scaleY - this.from.scaleY) * ratio;\n }\n\n updateXY(ratio: number): void {\n this.updateX(ratio);\n this.updateY(ratio);\n }\n\n /**\n * 删除自身属性,会直接从props等内容里删除掉\n */\n deleteSelfAttr(key: string): void {\n delete this.props[key];\n // fromProps在动画开始时才会计算,这时可能不在\n this.fromProps && delete this.fromProps[key];\n const index = this.propKeys.indexOf(key);\n if (index !== -1) {\n this.propKeys.splice(index, 1);\n }\n\n if (this.propKeys && this.propKeys.length > 1) {\n this._updateFunction = this.updateXY;\n } else if (this.propKeys[0] === 'scaleX') {\n this._updateFunction = this.updateX;\n } else if (this.propKeys[0] === 'scaleY') {\n this._updateFunction = this.updateY;\n } else {\n this._updateFunction = null;\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this._updateFunction) {\n this._updateFunction(ratio);\n this.target.addUpdatePositionTag();\n }\n }\n}\n\nexport class ScaleOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n let from: Record<string, number>;\n let to: Record<string, number>;\n // 获取当前的数据\n const attrs = this.target.attribute;\n switch (this.params?.direction) {\n case 'x':\n from = { scaleX: attrs?.scaleX ?? 1 };\n to = { scaleX: 0 };\n break;\n case 'y':\n from = { scaleY: attrs?.scaleY ?? 1 };\n to = { scaleY: 0 };\n break;\n case 'xy':\n default:\n from = { scaleX: attrs?.scaleX ?? 1, scaleY: attrs?.scaleY ?? 1 };\n to = {\n scaleX: 0,\n scaleY: 0\n };\n }\n this.props = to;\n this.from = from;\n this.to = to;\n }\n\n onEnd(cb?: (animate: IAnimate, step: IStep) => void): void {\n super.onEnd(cb);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/custom/scale.ts"],"names":[],"mappings":"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","file":"scale.js","sourcesContent":["import type { EasingType, IAnimate, IStep } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IScaleAnimationOptions {\n direction?: 'x' | 'y' | 'xy';\n}\n\nexport class ScaleIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n declare _updateFunction: (ratio: number) => void;\n\n onBind(): void {\n super.onBind();\n let from: Record<string, number>;\n let to: Record<string, number>;\n const attrs = this.target.getFinalAttribute();\n const fromAttrs = this.target.attribute ?? {};\n\n switch (this.params?.direction) {\n case 'x':\n from = { scaleX: fromAttrs.scaleX ?? 0 };\n to = { scaleX: attrs?.scaleX ?? 1 };\n this._updateFunction = this.updateX;\n break;\n case 'y':\n from = { scaleY: fromAttrs.scaleY ?? 0 };\n to = { scaleY: attrs?.scaleY ?? 1 };\n this._updateFunction = this.updateY;\n break;\n case 'xy':\n default:\n from = { scaleX: fromAttrs.scaleX ?? 0, scaleY: fromAttrs.scaleY ?? 0 };\n to = {\n scaleX: attrs?.scaleX ?? 1,\n scaleY: attrs?.scaleY ?? 1\n };\n this._updateFunction = this.updateXY;\n }\n\n // 用于入场的时候设置属性(因为有动画的时候VChart不会再设置属性了)\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n\n this.props = to;\n this.from = from;\n this.to = to;\n // 调用次数不多,可以setAttributes\n this.target.setAttributes(from);\n }\n\n onEnd(cb?: (animate: IAnimate, step: IStep) => void): void {\n super.onEnd(cb);\n }\n\n updateX(ratio: number): void {\n this.target.attribute.scaleX = this.from.scaleX + (this.to.scaleX - this.from.scaleX) * ratio;\n }\n\n updateY(ratio: number): void {\n this.target.attribute.scaleY = this.from.scaleY + (this.to.scaleY - this.from.scaleY) * ratio;\n }\n\n updateXY(ratio: number): void {\n this.updateX(ratio);\n this.updateY(ratio);\n }\n\n /**\n * 删除自身属性,会直接从props等内容里删除掉\n */\n deleteSelfAttr(key: string): void {\n delete this.props[key];\n // fromProps在动画开始时才会计算,这时可能不在\n this.fromProps && delete this.fromProps[key];\n const index = this.propKeys.indexOf(key);\n if (index !== -1) {\n this.propKeys.splice(index, 1);\n }\n\n if (this.propKeys && this.propKeys.length > 1) {\n this._updateFunction = this.updateXY;\n } else if (this.propKeys[0] === 'scaleX') {\n this._updateFunction = this.updateX;\n } else if (this.propKeys[0] === 'scaleY') {\n this._updateFunction = this.updateY;\n } else {\n this._updateFunction = null;\n }\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this._updateFunction) {\n this._updateFunction(ratio);\n this.target.addUpdatePositionTag();\n }\n }\n}\n\nexport class ScaleOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n super.onBind();\n let from: Record<string, number>;\n let to: Record<string, number>;\n // 获取当前的数据\n const attrs = this.target.attribute;\n switch (this.params?.direction) {\n case 'x':\n from = { scaleX: attrs?.scaleX ?? 1 };\n to = { scaleX: 0 };\n break;\n case 'y':\n from = { scaleY: attrs?.scaleY ?? 1 };\n to = { scaleY: 0 };\n break;\n case 'xy':\n default:\n from = { scaleX: attrs?.scaleX ?? 1, scaleY: attrs?.scaleY ?? 1 };\n to = {\n scaleX: 0,\n scaleY: 0\n };\n }\n this.props = to;\n this.from = from;\n this.to = to;\n }\n\n onEnd(cb?: (animate: IAnimate, step: IStep) => void): void {\n super.onEnd(cb);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n }\n}\n"]}
@@ -8,7 +8,9 @@ export class RotateBySphereAnimate extends ACustomAnimate {
8
8
  let theta = Math.acos((startX - center.x) / r / Math.sin(phi));
9
9
  startZ - center.z < 0 && (theta = pi2 - theta), this.theta = theta, this.phi = phi;
10
10
  }
11
- onBind() {}
11
+ onBind() {
12
+ super.onBind();
13
+ }
12
14
  onEnd() {}
13
15
  onUpdate(end, ratio, out) {
14
16
  if (null == this.phi || null == this.theta) return;
@@ -16,4 +18,5 @@ export class RotateBySphereAnimate extends ACustomAnimate {
16
18
  for (out.x = x, out.y = y, out.z = z, out.alpha = theta + pi / 2; out.alpha > pi2; ) out.alpha -= pi2;
17
19
  out.alpha = pi2 - out.alpha, out.zIndex = -1e4 * out.z, cb && cb(out);
18
20
  }
19
- }
21
+ }
22
+ //# sourceMappingURL=sphere.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/sphere.ts"],"names":[],"mappings":"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","file":"sphere.js","sourcesContent":["import { pi, pi2 } from '@visactor/vutils';\nimport { ACustomAnimate } from './custom-animate';\n\ntype RotateSphereParams =\n | {\n center: { x: number; y: number; z: number };\n r: number;\n cb?: (out: any) => void;\n }\n | (() => any);\n\nexport class RotateBySphereAnimate extends ACustomAnimate<any> {\n declare params: RotateSphereParams;\n declare theta: number;\n declare phi: number;\n\n onStart(): void {\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const startX = this.target.getComputedAttribute('x');\n const startY = this.target.getComputedAttribute('y');\n const startZ = this.target.getComputedAttribute('z');\n const phi = Math.acos((startY - center.y) / r);\n let theta = Math.acos((startX - center.x) / r / Math.sin(phi));\n if (startZ - center.z < 0) {\n theta = pi2 - theta;\n }\n this.theta = theta;\n this.phi = phi;\n }\n\n onBind() {\n return;\n }\n\n onEnd() {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.phi == null || this.theta == null) {\n return;\n }\n const { center, r, cb } = typeof this.params === 'function' ? this.params() : this.params;\n const deltaAngle = Math.PI * 2 * ratio;\n const theta = this.theta + deltaAngle;\n const phi = this.phi;\n const x = r * Math.sin(phi) * Math.cos(theta) + center.x;\n const y = r * Math.cos(phi) + center.y;\n const z = r * Math.sin(phi) * Math.sin(theta) + center.z;\n out.x = x;\n out.y = y;\n out.z = z;\n // out.beta = phi;\n out.alpha = theta + pi / 2;\n while (out.alpha > pi2) {\n out.alpha -= pi2;\n }\n out.alpha = pi2 - out.alpha;\n\n out.zIndex = out.z * -10000;\n\n cb && cb(out);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/custom/sphere.ts"],"names":[],"mappings":"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","file":"sphere.js","sourcesContent":["import { pi, pi2 } from '@visactor/vutils';\nimport { ACustomAnimate } from './custom-animate';\n\ntype RotateSphereParams =\n | {\n center: { x: number; y: number; z: number };\n r: number;\n cb?: (out: any) => void;\n }\n | (() => any);\n\nexport class RotateBySphereAnimate extends ACustomAnimate<any> {\n declare params: RotateSphereParams;\n declare theta: number;\n declare phi: number;\n\n onStart(): void {\n const { center, r } = typeof this.params === 'function' ? this.params() : this.params;\n const startX = this.target.getComputedAttribute('x');\n const startY = this.target.getComputedAttribute('y');\n const startZ = this.target.getComputedAttribute('z');\n const phi = Math.acos((startY - center.y) / r);\n let theta = Math.acos((startX - center.x) / r / Math.sin(phi));\n if (startZ - center.z < 0) {\n theta = pi2 - theta;\n }\n this.theta = theta;\n this.phi = phi;\n }\n\n onBind() {\n super.onBind();\n return;\n }\n\n onEnd() {\n return;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.phi == null || this.theta == null) {\n return;\n }\n const { center, r, cb } = typeof this.params === 'function' ? this.params() : this.params;\n const deltaAngle = Math.PI * 2 * ratio;\n const theta = this.theta + deltaAngle;\n const phi = this.phi;\n const x = r * Math.sin(phi) * Math.cos(theta) + center.x;\n const y = r * Math.cos(phi) + center.y;\n const z = r * Math.sin(phi) * Math.sin(theta) + center.z;\n out.x = x;\n out.y = y;\n out.z = z;\n // out.beta = phi;\n out.alpha = theta + pi / 2;\n while (out.alpha > pi2) {\n out.alpha -= pi2;\n }\n out.alpha = pi2 - out.alpha;\n\n out.zIndex = out.z * -10000;\n\n cb && cb(out);\n }\n}\n"]}
@@ -11,7 +11,7 @@ export class State extends ACustomAnimate {
11
11
  if (!this.animate.validAttr(this.propKeys[index])) return;
12
12
  const key = this.propKeys[index];
13
13
  func(key, this.fromProps[key], this.props[key], easedRatio, this, this.target);
14
- })), this.onUpdate(end, easedRatio, out);
14
+ })), this.onUpdate(end, easedRatio, out), this.syncAttributeUpdate();
15
15
  }
16
16
  }
17
17
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAclD,MAAM,OAAO,KAAM,SAAQ,cAAsC;IAG/D,YAAY,IAAU,EAAE,EAAQ,EAAE,QAAgB,EAAE,MAAkB,EAAE,MAAgC;QACtG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,GAAY,EAAE,KAAa,EAAE,GAAwB;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,yBAAyB;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACnG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAEtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjD,OAAO;iBACR;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;CACF","file":"state.js","sourcesContent":["import type { EasingType, IAnimate, IStep } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IUpdateAnimationOptions {\n diffAttrs: Record<string, any>;\n animationState: string;\n diffState: string;\n data: Record<string, any>[];\n}\n\n/**\n * 文本输入动画,实现类似打字机的字符逐个显示效果\n * 支持通过beforeText和afterText参数添加前缀和后缀\n * 支持通过showCursor参数显示光标,cursorChar自定义光标字符\n */\nexport class State extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IUpdateAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n update(end: boolean, ratio: number, out: Record<string, any>): void {\n this.onStart();\n if (!this.props || !this.propKeys) {\n return;\n }\n // 应用缓动函数\n const easedRatio = this.easing(ratio);\n this.animate.interpolateUpdateFunction\n ? this.animate.interpolateUpdateFunction(this.fromProps, this.props, easedRatio, this, this.target)\n : this.interpolateUpdateFunctions.forEach((func, index) => {\n // 如果这个属性被屏蔽了,直接跳过\n if (!this.animate.validAttr(this.propKeys[index])) {\n return;\n }\n const key = this.propKeys[index];\n const fromValue = this.fromProps[key];\n const toValue = this.props[key];\n func(key, fromValue, toValue, easedRatio, this, this.target);\n });\n this.onUpdate(end, easedRatio, out);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/custom/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAclD,MAAM,OAAO,KAAM,SAAQ,cAAsC;IAG/D,YAAY,IAAU,EAAE,EAAQ,EAAE,QAAgB,EAAE,MAAkB,EAAE,MAAgC;QACtG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,GAAY,EAAE,KAAa,EAAE,GAAwB;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,yBAAyB;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACnG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAEtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjD,OAAO;iBACR;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;CACF","file":"state.js","sourcesContent":["import type { EasingType, IAnimate, IStep } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\n\nexport interface IUpdateAnimationOptions {\n diffAttrs: Record<string, any>;\n animationState: string;\n diffState: string;\n data: Record<string, any>[];\n}\n\n/**\n * 文本输入动画,实现类似打字机的字符逐个显示效果\n * 支持通过beforeText和afterText参数添加前缀和后缀\n * 支持通过showCursor参数显示光标,cursorChar自定义光标字符\n */\nexport class State extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IUpdateAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n update(end: boolean, ratio: number, out: Record<string, any>): void {\n this.onStart();\n if (!this.props || !this.propKeys) {\n return;\n }\n // 应用缓动函数\n const easedRatio = this.easing(ratio);\n this.animate.interpolateUpdateFunction\n ? this.animate.interpolateUpdateFunction(this.fromProps, this.props, easedRatio, this, this.target)\n : this.interpolateUpdateFunctions.forEach((func, index) => {\n // 如果这个属性被屏蔽了,直接跳过\n if (!this.animate.validAttr(this.propKeys[index])) {\n return;\n }\n const key = this.propKeys[index];\n const fromValue = this.fromProps[key];\n const toValue = this.props[key];\n func(key, fromValue, toValue, easedRatio, this, this.target);\n });\n this.onUpdate(end, easedRatio, out);\n this.syncAttributeUpdate();\n }\n}\n"]}
@@ -12,6 +12,7 @@ export class SlideIn extends ACustomAnimate {
12
12
  }
13
13
  onBind() {
14
14
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
15
+ super.onBind();
15
16
  const attrs = this.target.getFinalAttribute(), direction = (null === (_a = this.params) || void 0 === _a ? void 0 : _a.direction) || "right", distance = (null === (_b = this.params) || void 0 === _b ? void 0 : _b.distance) || 50, fromOpacity = null !== (_d = null === (_c = this.params) || void 0 === _c ? void 0 : _c.fromOpacity) && void 0 !== _d ? _d : 0, from = {
16
17
  opacity: fromOpacity,
17
18
  baseOpacity: fromOpacity
@@ -40,6 +41,7 @@ export class GrowIn extends ACustomAnimate {
40
41
  }
41
42
  onBind() {
42
43
  var _a, _b, _c, _d, _e, _f, _g;
44
+ super.onBind();
43
45
  const attrs = this.target.getFinalAttribute(), fromScale = null !== (_b = null === (_a = this.params) || void 0 === _a ? void 0 : _a.fromScale) && void 0 !== _b ? _b : 0, direction = (null === (_c = this.params) || void 0 === _c ? void 0 : _c.direction) || "xy", fromOpacity = null !== (_e = null === (_d = this.params) || void 0 === _d ? void 0 : _d.fromOpacity) && void 0 !== _e ? _e : 0, from = {
44
46
  opacity: fromOpacity,
45
47
  baseOpacity: fromOpacity
@@ -67,6 +69,7 @@ export class SpinIn extends ACustomAnimate {
67
69
  }
68
70
  onBind() {
69
71
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
72
+ super.onBind();
70
73
  const attrs = this.target.getFinalAttribute(), fromAngle = null !== (_b = null === (_a = this.params) || void 0 === _a ? void 0 : _a.fromAngle) && void 0 !== _b ? _b : 2 * Math.PI, fromScale = null !== (_d = null === (_c = this.params) || void 0 === _c ? void 0 : _c.fromScale) && void 0 !== _d ? _d : 0, fromOpacity = null !== (_f = null === (_e = this.params) || void 0 === _e ? void 0 : _e.fromOpacity) && void 0 !== _f ? _f : 0, from = {
71
74
  opacity: fromOpacity,
72
75
  baseOpacity: fromOpacity,
@@ -100,6 +103,7 @@ export class MoveScaleIn extends ACustomAnimate {
100
103
  }
101
104
  onBind() {
102
105
  var _a, _b, _c, _d, _e, _f;
106
+ super.onBind();
103
107
  const executor = new AnimateExecutor(this.target);
104
108
  executor.execute({
105
109
  type: "custom",
@@ -136,6 +140,7 @@ export class MoveRotateIn extends ACustomAnimate {
136
140
  }
137
141
  onBind() {
138
142
  var _a, _b, _c, _d, _e, _f;
143
+ super.onBind();
139
144
  const executor = new AnimateExecutor(this.target);
140
145
  executor.execute({
141
146
  type: "custom",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/custom/story.ts"],"names":[],"mappings":"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","file":"story.js","sourcesContent":["import { FadeIn } from './fade';\nimport type { EasingType } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\nimport { AnimateExecutor } from '../executor/animate-executor';\n\nexport class StoryFadeIn extends FadeIn {}\n\n// 滑动动画的参数接口\nexport interface ISlideAnimationOptions {\n direction?: 'top' | 'bottom' | 'left' | 'right';\n distance?: number;\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n// 缩放动画的参数接口\nexport interface IGrowAnimationOptions {\n fromScale?: number;\n direction?: 'x' | 'y' | 'xy';\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n// 旋转动画的参数接口\nexport interface ISpinAnimationOptions {\n fromAngle?: number;\n fromScale?: number;\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 滑动入场动画,包括从上到下,从下到上,从左到右,从右到左的位置,以及透明度属性插值\n */\nexport class SlideIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: ISlideAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const direction = (this.params?.direction as 'top' | 'bottom' | 'left' | 'right') || 'right';\n const distance = this.params?.distance || 50;\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: 1, baseOpacity: 1 };\n\n // 根据方向设置对应的属性\n if (direction === 'top') {\n from.y = (attrs.y ?? 0) - distance;\n to.y = attrs.y ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'bottom') {\n from.y = (attrs.y ?? 0) + distance;\n to.y = attrs.y ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'left') {\n from.x = (attrs.x ?? 0) - distance;\n to.x = attrs.x ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n } else {\n // right\n from.x = (attrs.x ?? 0) + distance;\n to.x = attrs.x ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 缩放入场动画,包括scaleX、scaleY属性从某个比例缩放到1,该比例可以小于1也可以大于1,以及透明度属性插值\n */\nexport class GrowIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IGrowAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const fromScale = this.params?.fromScale ?? 0;\n const direction = this.params?.direction || 'xy';\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: 1, baseOpacity: 1 };\n this.propKeys = ['opacity', 'baseOpacity'];\n\n // 根据方向设置对应的缩放属性\n if (direction === 'x' || direction === 'xy') {\n from.scaleX = fromScale;\n to.scaleX = attrs.scaleX ?? 1;\n this.propKeys.push('scaleX');\n }\n\n if (direction === 'y' || direction === 'xy') {\n from.scaleY = fromScale;\n to.scaleY = attrs.scaleY ?? 1;\n this.propKeys.push('scaleY');\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 旋转入场动画,包括rotate属性从某个角度度旋转到0,以及缩放属性从某个比例缩放到1,该比例可以小于1也可以大于1\n */\nexport class SpinIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: ISpinAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const fromAngle = this.params?.fromAngle ?? Math.PI * 2; // 默认旋转一圈\n const fromScale = this.params?.fromScale ?? 0;\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = {\n opacity: fromOpacity,\n baseOpacity: fromOpacity,\n angle: fromAngle,\n scaleX: fromScale,\n scaleY: fromScale\n };\n\n const to: Record<string, number> = {\n opacity: 1,\n baseOpacity: 1,\n angle: attrs.angle ?? 0,\n scaleX: attrs.scaleX ?? 1,\n scaleY: attrs.scaleY ?? 1\n };\n\n this.propKeys = ['opacity', 'baseOpacity', 'angle', 'scaleX', 'scaleY'];\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n// 复合动画的参数接口\nexport interface IMoveScaleAnimationOptions {\n slideDirection?: 'top' | 'bottom' | 'left' | 'right';\n slideDistance?: number;\n fromScale?: number;\n scaleDirection?: 'x' | 'y' | 'xy';\n slideRatio?: number; // 滑动动画占总时长的比例,默认0.5\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 移动+缩放入场动画\n * 先走SlideIn,然后走GrowIn\n */\nexport class MoveScaleIn extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly slideInDuration: number;\n private readonly growInDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.slideInDuration = duration * slideRatio;\n this.growInDuration = duration * (1 - slideRatio);\n }\n\n onBind(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:滑动入场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideIn,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: this.params?.fromOpacity ?? 0\n },\n duration: this.slideInDuration,\n easing: this.easing\n });\n\n // 第二步:缩放入场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: GrowIn,\n customParameters: {\n fromScale: this.params?.fromScale || 0.5,\n direction: this.params?.scaleDirection || 'xy',\n fromOpacity: 1 // 设置初始透明度为1,使第二阶段不进行透明度插值\n },\n duration: this.growInDuration,\n easing: this.easing,\n delay: this.slideInDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n// 移动旋转动画的参数接口\nexport interface IMoveRotateAnimationOptions {\n slideDirection?: 'top' | 'bottom' | 'left' | 'right';\n slideDistance?: number;\n fromAngle?: number;\n fromScale?: number;\n slideRatio?: number; // 滑动动画占总时长的比例,默认0.5\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 移动+旋转入场动画\n * 先走SlideIn,然后走SpinIn\n */\nexport class MoveRotateIn extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly slideInDuration: number;\n private readonly spinInDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveRotateAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.slideInDuration = duration * slideRatio;\n this.spinInDuration = duration * (1 - slideRatio);\n }\n\n onBind(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:滑动入场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideIn,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: this.params?.fromOpacity ?? 0\n },\n duration: this.slideInDuration,\n easing: this.easing\n });\n\n // 第二步:旋转入场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SpinIn,\n customParameters: {\n fromAngle: this.params?.fromAngle || Math.PI,\n fromScale: this.params?.fromScale || 0.5,\n fromOpacity: 1 // 设置初始透明度为1,使第二阶段不进行透明度插值\n },\n duration: this.spinInDuration,\n easing: this.easing,\n delay: this.slideInDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n/**\n * 滑动出场动画,包括从当前位置滑动到指定方向,以及透明度属性插值\n */\nexport class SlideOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: ISlideAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const direction = (this.params?.direction as 'top' | 'bottom' | 'left' | 'right') || 'right';\n const distance = this.params?.distance || 50;\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: toOpacity, baseOpacity: toOpacity };\n\n // 根据方向设置对应的属性\n if (direction === 'top') {\n from.y = attrs.y ?? 0;\n to.y = (attrs.y ?? 0) - distance;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'bottom') {\n from.y = attrs.y ?? 0;\n to.y = (attrs.y ?? 0) + distance;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'left') {\n from.x = attrs.x ?? 0;\n to.x = (attrs.x ?? 0) - distance;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n } else {\n // right\n from.x = attrs.x ?? 0;\n to.x = (attrs.x ?? 0) + distance;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 缩放出场动画,包括scaleX、scaleY属性从当前比例缩放到指定比例,以及透明度属性插值\n */\nexport class GrowOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: IGrowAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const toScale = this.params?.fromScale ?? 0; // 使用fromScale作为目标比例\n const direction = this.params?.direction || 'xy';\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: toOpacity, baseOpacity: toOpacity };\n this.propKeys = ['opacity', 'baseOpacity'];\n\n // 根据方向设置对应的缩放属性\n if (direction === 'x' || direction === 'xy') {\n from.scaleX = attrs.scaleX ?? 1;\n to.scaleX = toScale;\n this.propKeys.push('scaleX');\n }\n\n if (direction === 'y' || direction === 'xy') {\n from.scaleY = attrs.scaleY ?? 1;\n to.scaleY = toScale;\n this.propKeys.push('scaleY');\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 旋转出场动画,包括rotate属性从当前角度旋转到指定角度,以及缩放属性从当前比例缩放到指定比例\n */\nexport class SpinOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: ISpinAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const toAngle = this.params?.fromAngle ?? Math.PI * 2; // 默认旋转一圈\n const toScale = this.params?.fromScale ?? 0;\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = {\n opacity: fromOpacity,\n baseOpacity: fromOpacity,\n angle: attrs.angle ?? 0,\n scaleX: attrs.scaleX ?? 1,\n scaleY: attrs.scaleY ?? 1\n };\n\n const to: Record<string, number> = {\n opacity: toOpacity,\n baseOpacity: toOpacity,\n angle: toAngle,\n scaleX: toScale,\n scaleY: toScale\n };\n\n this.propKeys = ['opacity', 'baseOpacity', 'angle', 'scaleX', 'scaleY'];\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 移动+缩放出场动画\n * 先走GrowOut,然后走SlideOut\n */\nexport class MoveScaleOut extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly growOutDuration: number;\n private readonly slideOutDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.growOutDuration = duration * (1 - slideRatio);\n this.slideOutDuration = duration * slideRatio;\n }\n\n onFirstRun(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:缩放出场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: GrowOut,\n customParameters: {\n fromScale: this.params?.fromScale || 0.5,\n direction: this.params?.scaleDirection || 'xy',\n fromOpacity: 1, // 保持透明度为1,不做变化\n toOpacity: 1 // 确保第一阶段不改变透明度\n },\n duration: this.growOutDuration,\n easing: this.easing\n });\n\n // 第二步:滑动出场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideOut,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: 1 // 起始透明度为1\n },\n duration: this.slideOutDuration,\n easing: this.easing,\n delay: this.growOutDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n/**\n * 移动+旋转出场动画\n * 先走SpinOut,然后走SlideOut\n */\nexport class MoveRotateOut extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly spinOutDuration: number;\n private readonly slideOutDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveRotateAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.spinOutDuration = duration * (1 - slideRatio);\n this.slideOutDuration = duration * slideRatio;\n }\n\n onFirstRun(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:旋转出场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SpinOut,\n customParameters: {\n fromAngle: this.params?.fromAngle || Math.PI,\n fromScale: this.params?.fromScale || 0.5,\n fromOpacity: 1, // 保持透明度为1,不做变化\n toOpacity: 1 // 确保第一阶段不改变透明度\n },\n duration: this.spinOutDuration,\n easing: this.easing\n });\n\n // 第二步:滑动出场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideOut,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: 1 // 起始透明度为1\n },\n duration: this.slideOutDuration,\n easing: this.easing,\n delay: this.spinOutDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/custom/story.ts"],"names":[],"mappings":"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","file":"story.js","sourcesContent":["import { FadeIn } from './fade';\nimport type { EasingType } from '@visactor/vrender-core';\nimport { ACustomAnimate } from './custom-animate';\nimport { AnimateExecutor } from '../executor/animate-executor';\n\nexport class StoryFadeIn extends FadeIn {}\n\n// 滑动动画的参数接口\nexport interface ISlideAnimationOptions {\n direction?: 'top' | 'bottom' | 'left' | 'right';\n distance?: number;\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n// 缩放动画的参数接口\nexport interface IGrowAnimationOptions {\n fromScale?: number;\n direction?: 'x' | 'y' | 'xy';\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n// 旋转动画的参数接口\nexport interface ISpinAnimationOptions {\n fromAngle?: number;\n fromScale?: number;\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 滑动入场动画,包括从上到下,从下到上,从左到右,从右到左的位置,以及透明度属性插值\n */\nexport class SlideIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: ISlideAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n super.onBind();\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const direction = (this.params?.direction as 'top' | 'bottom' | 'left' | 'right') || 'right';\n const distance = this.params?.distance || 50;\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: 1, baseOpacity: 1 };\n\n // 根据方向设置对应的属性\n if (direction === 'top') {\n from.y = (attrs.y ?? 0) - distance;\n to.y = attrs.y ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'bottom') {\n from.y = (attrs.y ?? 0) + distance;\n to.y = attrs.y ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'left') {\n from.x = (attrs.x ?? 0) - distance;\n to.x = attrs.x ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n } else {\n // right\n from.x = (attrs.x ?? 0) + distance;\n to.x = attrs.x ?? 0;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 缩放入场动画,包括scaleX、scaleY属性从某个比例缩放到1,该比例可以小于1也可以大于1,以及透明度属性插值\n */\nexport class GrowIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IGrowAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n super.onBind();\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const fromScale = this.params?.fromScale ?? 0;\n const direction = this.params?.direction || 'xy';\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: 1, baseOpacity: 1 };\n this.propKeys = ['opacity', 'baseOpacity'];\n\n // 根据方向设置对应的缩放属性\n if (direction === 'x' || direction === 'xy') {\n from.scaleX = fromScale;\n to.scaleX = attrs.scaleX ?? 1;\n this.propKeys.push('scaleX');\n }\n\n if (direction === 'y' || direction === 'xy') {\n from.scaleY = fromScale;\n to.scaleY = attrs.scaleY ?? 1;\n this.propKeys.push('scaleY');\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 旋转入场动画,包括rotate属性从某个角度度旋转到0,以及缩放属性从某个比例缩放到1,该比例可以小于1也可以大于1\n */\nexport class SpinIn extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: ISpinAnimationOptions) {\n super(from, to, duration, easing, params);\n }\n\n onBind(): void {\n super.onBind();\n // 用于入场的时候设置属性\n const attrs = this.target.getFinalAttribute();\n\n const fromAngle = this.params?.fromAngle ?? Math.PI * 2; // 默认旋转一圈\n const fromScale = this.params?.fromScale ?? 0;\n const fromOpacity = this.params?.fromOpacity ?? 0; // 使用透明度初始值参数\n\n // 初始化from和to对象\n const from: Record<string, number> = {\n opacity: fromOpacity,\n baseOpacity: fromOpacity,\n angle: fromAngle,\n scaleX: fromScale,\n scaleY: fromScale\n };\n\n const to: Record<string, number> = {\n opacity: 1,\n baseOpacity: 1,\n angle: attrs.angle ?? 0,\n scaleX: attrs.scaleX ?? 1,\n scaleY: attrs.scaleY ?? 1\n };\n\n this.propKeys = ['opacity', 'baseOpacity', 'angle', 'scaleX', 'scaleY'];\n this.from = from;\n this.to = to;\n this.props = to;\n\n // 将初始属性应用到目标对象\n this.target.setAttributes(from as any);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n// 复合动画的参数接口\nexport interface IMoveScaleAnimationOptions {\n slideDirection?: 'top' | 'bottom' | 'left' | 'right';\n slideDistance?: number;\n fromScale?: number;\n scaleDirection?: 'x' | 'y' | 'xy';\n slideRatio?: number; // 滑动动画占总时长的比例,默认0.5\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 移动+缩放入场动画\n * 先走SlideIn,然后走GrowIn\n */\nexport class MoveScaleIn extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly slideInDuration: number;\n private readonly growInDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.slideInDuration = duration * slideRatio;\n this.growInDuration = duration * (1 - slideRatio);\n }\n\n onBind(): void {\n super.onBind();\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:滑动入场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideIn,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: this.params?.fromOpacity ?? 0\n },\n duration: this.slideInDuration,\n easing: this.easing\n });\n\n // 第二步:缩放入场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: GrowIn,\n customParameters: {\n fromScale: this.params?.fromScale || 0.5,\n direction: this.params?.scaleDirection || 'xy',\n fromOpacity: 1 // 设置初始透明度为1,使第二阶段不进行透明度插值\n },\n duration: this.growInDuration,\n easing: this.easing,\n delay: this.slideInDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n// 移动旋转动画的参数接口\nexport interface IMoveRotateAnimationOptions {\n slideDirection?: 'top' | 'bottom' | 'left' | 'right';\n slideDistance?: number;\n fromAngle?: number;\n fromScale?: number;\n slideRatio?: number; // 滑动动画占总时长的比例,默认0.5\n fromOpacity?: number; // 透明度初始值,默认0\n}\n\n/**\n * 移动+旋转入场动画\n * 先走SlideIn,然后走SpinIn\n */\nexport class MoveRotateIn extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly slideInDuration: number;\n private readonly spinInDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveRotateAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.slideInDuration = duration * slideRatio;\n this.spinInDuration = duration * (1 - slideRatio);\n }\n\n onBind(): void {\n super.onBind();\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:滑动入场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideIn,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: this.params?.fromOpacity ?? 0\n },\n duration: this.slideInDuration,\n easing: this.easing\n });\n\n // 第二步:旋转入场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SpinIn,\n customParameters: {\n fromAngle: this.params?.fromAngle || Math.PI,\n fromScale: this.params?.fromScale || 0.5,\n fromOpacity: 1 // 设置初始透明度为1,使第二阶段不进行透明度插值\n },\n duration: this.spinInDuration,\n easing: this.easing,\n delay: this.slideInDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n/**\n * 滑动出场动画,包括从当前位置滑动到指定方向,以及透明度属性插值\n */\nexport class SlideOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: ISlideAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const direction = (this.params?.direction as 'top' | 'bottom' | 'left' | 'right') || 'right';\n const distance = this.params?.distance || 50;\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: toOpacity, baseOpacity: toOpacity };\n\n // 根据方向设置对应的属性\n if (direction === 'top') {\n from.y = attrs.y ?? 0;\n to.y = (attrs.y ?? 0) - distance;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'bottom') {\n from.y = attrs.y ?? 0;\n to.y = (attrs.y ?? 0) + distance;\n this.propKeys = ['opacity', 'baseOpacity', 'y'];\n } else if (direction === 'left') {\n from.x = attrs.x ?? 0;\n to.x = (attrs.x ?? 0) - distance;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n } else {\n // right\n from.x = attrs.x ?? 0;\n to.x = (attrs.x ?? 0) + distance;\n this.propKeys = ['opacity', 'baseOpacity', 'x'];\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 缩放出场动画,包括scaleX、scaleY属性从当前比例缩放到指定比例,以及透明度属性插值\n */\nexport class GrowOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: IGrowAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const toScale = this.params?.fromScale ?? 0; // 使用fromScale作为目标比例\n const direction = this.params?.direction || 'xy';\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = { opacity: fromOpacity, baseOpacity: fromOpacity };\n const to: Record<string, number> = { opacity: toOpacity, baseOpacity: toOpacity };\n this.propKeys = ['opacity', 'baseOpacity'];\n\n // 根据方向设置对应的缩放属性\n if (direction === 'x' || direction === 'xy') {\n from.scaleX = attrs.scaleX ?? 1;\n to.scaleX = toScale;\n this.propKeys.push('scaleX');\n }\n\n if (direction === 'y' || direction === 'xy') {\n from.scaleY = attrs.scaleY ?? 1;\n to.scaleY = toScale;\n this.propKeys.push('scaleY');\n }\n\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 旋转出场动画,包括rotate属性从当前角度旋转到指定角度,以及缩放属性从当前比例缩放到指定比例\n */\nexport class SpinOut extends ACustomAnimate<Record<string, number>> {\n declare valid: boolean;\n declare propKeys: string[];\n declare from: Record<string, number>;\n declare to: Record<string, number>;\n\n constructor(\n from: null,\n to: null,\n duration: number,\n easing: EasingType,\n params?: ISpinAnimationOptions & { toOpacity?: number }\n ) {\n super(from, to, duration, easing, params);\n }\n\n onFirstRun(): void {\n // 用于出场的时候设置属性\n const attrs = this.target.getAttributes();\n\n const toAngle = this.params?.fromAngle ?? Math.PI * 2; // 默认旋转一圈\n const toScale = this.params?.fromScale ?? 0;\n const fromOpacity = this.params?.fromOpacity ?? 1; // 使用透明度初始值参数\n const toOpacity = this.params?.toOpacity ?? 0; // 使用目标透明度参数\n\n // 初始化from和to对象\n const from: Record<string, number> = {\n opacity: fromOpacity,\n baseOpacity: fromOpacity,\n angle: attrs.angle ?? 0,\n scaleX: attrs.scaleX ?? 1,\n scaleY: attrs.scaleY ?? 1\n };\n\n const to: Record<string, number> = {\n opacity: toOpacity,\n baseOpacity: toOpacity,\n angle: toAngle,\n scaleX: toScale,\n scaleY: toScale\n };\n\n this.propKeys = ['opacity', 'baseOpacity', 'angle', 'scaleX', 'scaleY'];\n this.from = from;\n this.to = to;\n this.props = to;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n/**\n * 移动+缩放出场动画\n * 先走GrowOut,然后走SlideOut\n */\nexport class MoveScaleOut extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly growOutDuration: number;\n private readonly slideOutDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveScaleAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.growOutDuration = duration * (1 - slideRatio);\n this.slideOutDuration = duration * slideRatio;\n }\n\n onFirstRun(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:缩放出场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: GrowOut,\n customParameters: {\n fromScale: this.params?.fromScale || 0.5,\n direction: this.params?.scaleDirection || 'xy',\n fromOpacity: 1, // 保持透明度为1,不做变化\n toOpacity: 1 // 确保第一阶段不改变透明度\n },\n duration: this.growOutDuration,\n easing: this.easing\n });\n\n // 第二步:滑动出场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideOut,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: 1 // 起始透明度为1\n },\n duration: this.slideOutDuration,\n easing: this.easing,\n delay: this.growOutDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n\n/**\n * 移动+旋转出场动画\n * 先走SpinOut,然后走SlideOut\n */\nexport class MoveRotateOut extends ACustomAnimate<any> {\n declare valid: boolean;\n private readonly spinOutDuration: number;\n private readonly slideOutDuration: number;\n\n constructor(from: null, to: null, duration: number, easing: EasingType, params?: IMoveRotateAnimationOptions) {\n super(from, to, duration, easing, params);\n const slideRatio = params?.slideRatio ?? 0.5;\n this.spinOutDuration = duration * (1 - slideRatio);\n this.slideOutDuration = duration * slideRatio;\n }\n\n onFirstRun(): void {\n // 创建AnimateExecutor来运行序列动画\n const executor = new AnimateExecutor(this.target);\n\n // 第一步:旋转出场(不包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SpinOut,\n customParameters: {\n fromAngle: this.params?.fromAngle || Math.PI,\n fromScale: this.params?.fromScale || 0.5,\n fromOpacity: 1, // 保持透明度为1,不做变化\n toOpacity: 1 // 确保第一阶段不改变透明度\n },\n duration: this.spinOutDuration,\n easing: this.easing\n });\n\n // 第二步:滑动出场(包含透明度变化)\n executor.execute({\n type: 'custom',\n custom: SlideOut,\n customParameters: {\n direction: this.params?.slideDirection || 'right',\n distance: this.params?.slideDistance || 50,\n fromOpacity: 1 // 起始透明度为1\n },\n duration: this.slideOutDuration,\n easing: this.easing,\n delay: this.spinOutDuration // 等第一步完成后再开始\n });\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // 动画逻辑由子动画处理\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import type { EasingType, IArea, ICurve, ICustomPath2D, IGraphic, ILine, ILineAttribute, IRect, IRectAttribute } from '@visactor/vrender-core';
2
+ import { ACustomAnimate } from './custom-animate';
3
+ import type { IPoint } from '@visactor/vutils';
4
+ export declare class StreamLight extends ACustomAnimate<any> {
5
+ valid: boolean;
6
+ target: IGraphic;
7
+ rect: IRect;
8
+ line: ILine;
9
+ area: IArea;
10
+ constructor(from: any, to: any, duration: number, easing: EasingType, params?: {
11
+ attribute?: Partial<IRectAttribute | ILineAttribute>;
12
+ streamLength?: number;
13
+ isHorizontal?: boolean;
14
+ });
15
+ getEndProps(): Record<string, any>;
16
+ onStart(): void;
17
+ onStartLineOrArea(type: 'line' | 'area'): void;
18
+ onStartRect(): void;
19
+ onBind(): void;
20
+ onEnd(): void;
21
+ onUpdate(end: boolean, ratio: number, out: Record<string, any>): void;
22
+ protected onUpdateRect(end: boolean, ratio: number, out: Record<string, any>): void;
23
+ protected onUpdateLineOrArea(end: boolean, ratio: number, out: Record<string, any>): void;
24
+ protected _onUpdateLineOrAreaWithCache(customPath: ICustomPath2D, g: ILine | IArea, end: boolean, ratio: number, out: Record<string, any>): void;
25
+ protected _updateCurves(customPath: ICustomPath2D, curves: ICurve<IPoint>[], totalLen: number, ratio: number): void;
26
+ protected _onUpdateLineWithoutCache(customPath: ICustomPath2D, line: ILine, end: boolean, ratio: number, out: Record<string, any>): void;
27
+ }