@visactor/vstory 0.0.1 → 0.0.2

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.
@@ -12,4 +12,5 @@ class StoryArea extends chart_1.StoryChart {
12
12
  }
13
13
  }
14
14
 
15
- exports.StoryArea = StoryArea;
15
+ exports.StoryArea = StoryArea;
16
+ //# sourceMappingURL=area.js.map
@@ -58,5 +58,4 @@ class StoryChart extends element_1.StoryElement {
58
58
  }
59
59
  }
60
60
 
61
- exports.StoryChart = StoryChart;
62
- //# sourceMappingURL=chart.js.map
61
+ exports.StoryChart = StoryChart;
@@ -75,7 +75,12 @@ function moveOut(graphic, params) {
75
75
  return graphic.animate().to({
76
76
  x: toX,
77
77
  y: toY
78
- }, duration, easing), !0;
78
+ }, duration, easing).onEnd((() => {
79
+ graphic.setAttributes({
80
+ visible: !1,
81
+ visibleAll: !1
82
+ });
83
+ })), !0;
79
84
  }
80
85
 
81
86
  function commonDisappearEffect(graphic, effect, params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dsl/story-processor/graphic/effect/disappear.ts"],"names":[],"mappings":"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","file":"disappear.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender';\nimport type { IAnimationParams } from '../../../types';\nimport type { IGraphicDisappearPayLoad } from '../../../types/graphic/disappear';\nimport { canDoGraphicAnimation } from '../util';\n\nexport interface IFadeOutParams extends IAnimationParams {\n opacity?: 'left' | 'right' | 'top' | 'bottom';\n fade?: {\n /**\n * @default 0\n */\n opacity?: number;\n duration?: number;\n easing?: string;\n /**\n * 作用于全局的透明度\n * @default false\n */\n isBaseOpacity?: string;\n };\n}\n\nexport interface IScaleOutParams extends IAnimationParams {\n ratio?: number;\n scale?: {\n /**\n * @default 0\n */\n ratio?: number;\n duration?: number;\n easing?: string;\n };\n}\n\nexport interface IMoveOutParams extends IAnimationParams {\n to?: 'left' | 'right' | 'top' | 'bottom';\n move?: {\n /**\n * @default left\n */\n to?: 'left' | 'right' | 'top' | 'bottom';\n\n /**\n * @default true\n * @description 若为true: 多个图形的move距离不同, duration相同, 即可使的多个图形同时离开画布; 若为false: 多个图形move的距离相同, duration相同, 即可使多个图形达到相同的速度, 以保持图形的相对位置不变.\n */\n isVariableSpeed?: boolean;\n duration?: number;\n easing?: string;\n };\n}\n\nexport function fadeOut(graphic: IGraphic, params: IFadeOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n\n const { fade = {} } = params;\n const opacity = fade.opacity ?? params.opacity ?? 0;\n const duration = fade.duration ?? params.duration;\n const easing = fade.easing ?? params.easing;\n const isBaseOpacity = fade.isBaseOpacity ?? false;\n const opacityKey = isBaseOpacity ? 'baseOpacity' : 'opacity';\n\n graphic.setAttributes({\n [opacityKey]: 1\n });\n\n graphic.animate().to({ [opacityKey]: opacity }, duration, easing as EasingType);\n return true;\n}\n\nexport function scaleOut(graphic: IGraphic, params: IScaleOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n const { scale = {} } = params;\n const ratio = scale.ratio ?? params.ratio ?? 0;\n const scaleCenter = (scale as any).scaleCenter ?? (params as any).scaleCenter;\n const duration = scale.duration ?? params.duration;\n const easing = scale.easing ?? params.easing;\n const originScaleCenter = graphic.attribute.scaleCenter;\n if (scaleCenter) {\n graphic.setAttributes({ scaleCenter });\n }\n graphic\n .animate()\n .to({ scaleX: ratio, scaleY: ratio }, duration, easing as EasingType)\n .onEnd(() => {\n if (originScaleCenter) {\n graphic.setAttributes({ scaleCenter: originScaleCenter });\n }\n });\n return true;\n}\n\nexport function moveOut(graphic: IGraphic, params: IMoveOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n const { move = {} } = params;\n const to = move.to ?? params.to ?? 1;\n const duration = move.duration ?? params.duration;\n const easing = move.easing ?? params.easing;\n const isVariableSpeed = move.isVariableSpeed ?? true;\n\n // 图形宽高\n const width = Math.abs(graphic.AABBBounds.x2 - graphic.AABBBounds.x1);\n const height = Math.abs(graphic.AABBBounds.y2 - graphic.AABBBounds.y1);\n\n let toX = graphic.attribute.x;\n let toY = graphic.attribute.y;\n if (isVariableSpeed) {\n // 同时抵达边缘, 速度不同.\n switch (to) {\n case 'right':\n // 画布容器宽度\n toX = graphic.parent.width;\n break;\n case 'left':\n // 负的图形宽度\n toX = -width;\n break;\n case 'bottom':\n // 容器高度 + 图形高度\n toY = graphic.parent.height + height;\n break;\n case 'top':\n // 负的图形高度\n toY = -height;\n break;\n }\n } else {\n // 速度相同, 相对位置不变.\n const distance = Math.max(graphic.parent.width, graphic.parent.height);\n switch (to) {\n case 'right':\n toX += distance;\n break;\n case 'left':\n toX += -distance;\n break;\n case 'bottom':\n toY += distance;\n break;\n case 'top':\n toY += -distance;\n break;\n }\n }\n\n graphic.animate().to({ x: toX, y: toY }, duration, easing as EasingType);\n return true;\n}\n\nexport const disappearEffectMap = {\n fade: fadeOut,\n scale: scaleOut,\n move: moveOut\n};\n\nexport function commonDisappearEffect(\n graphic: IGraphic,\n effect: string,\n params: IGraphicDisappearPayLoad['animation']\n) {\n let doAnimation = true;\n switch (effect) {\n case 'scale':\n scaleOut(graphic, params);\n break;\n case 'fade':\n fadeOut(graphic, params);\n break;\n case 'move':\n moveOut(graphic, params as unknown as IMoveOutParams);\n break;\n default:\n doAnimation = false;\n }\n return doAnimation;\n}\n"]}
1
+ {"version":3,"sources":["../src/dsl/story-processor/graphic/effect/disappear.ts"],"names":[],"mappings":"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","file":"disappear.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender';\nimport type { IAnimationParams } from '../../../types';\nimport type { IGraphicDisappearPayLoad } from '../../../types/graphic/disappear';\nimport { canDoGraphicAnimation } from '../util';\n\nexport interface IFadeOutParams extends IAnimationParams {\n opacity?: 'left' | 'right' | 'top' | 'bottom';\n fade?: {\n /**\n * @default 0\n */\n opacity?: number;\n duration?: number;\n easing?: string;\n /**\n * 作用于全局的透明度\n * @default false\n */\n isBaseOpacity?: string;\n };\n}\n\nexport interface IScaleOutParams extends IAnimationParams {\n ratio?: number;\n scale?: {\n /**\n * @default 0\n */\n ratio?: number;\n duration?: number;\n easing?: string;\n };\n}\n\nexport interface IMoveOutParams extends IAnimationParams {\n to?: 'left' | 'right' | 'top' | 'bottom';\n move?: {\n /**\n * @default left\n */\n to?: 'left' | 'right' | 'top' | 'bottom';\n\n /**\n * @default true\n * @description 若为true: 多个图形的move距离不同, duration相同, 即可使的多个图形同时离开画布; 若为false: 多个图形move的距离相同, duration相同, 即可使多个图形达到相同的速度, 以保持图形的相对位置不变.\n */\n isVariableSpeed?: boolean;\n duration?: number;\n easing?: string;\n };\n}\n\nexport function fadeOut(graphic: IGraphic, params: IFadeOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n\n const { fade = {} } = params;\n const opacity = fade.opacity ?? params.opacity ?? 0;\n const duration = fade.duration ?? params.duration;\n const easing = fade.easing ?? params.easing;\n const isBaseOpacity = fade.isBaseOpacity ?? false;\n const opacityKey = isBaseOpacity ? 'baseOpacity' : 'opacity';\n\n graphic.setAttributes({\n [opacityKey]: 1\n });\n\n graphic.animate().to({ [opacityKey]: opacity }, duration, easing as EasingType);\n return true;\n}\n\nexport function scaleOut(graphic: IGraphic, params: IScaleOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n const { scale = {} } = params;\n const ratio = scale.ratio ?? params.ratio ?? 0;\n const scaleCenter = (scale as any).scaleCenter ?? (params as any).scaleCenter;\n const duration = scale.duration ?? params.duration;\n const easing = scale.easing ?? params.easing;\n const originScaleCenter = graphic.attribute.scaleCenter;\n if (scaleCenter) {\n graphic.setAttributes({ scaleCenter });\n }\n graphic\n .animate()\n .to({ scaleX: ratio, scaleY: ratio }, duration, easing as EasingType)\n .onEnd(() => {\n if (originScaleCenter) {\n graphic.setAttributes({ scaleCenter: originScaleCenter });\n }\n });\n return true;\n}\n\nexport function moveOut(graphic: IGraphic, params: IMoveOutParams) {\n if (!canDoGraphicAnimation(graphic, params)) {\n return false;\n }\n const { move = {} } = params;\n const to = move.to ?? params.to ?? 1;\n const duration = move.duration ?? params.duration;\n const easing = move.easing ?? params.easing;\n const isVariableSpeed = move.isVariableSpeed ?? true;\n\n // 图形宽高\n const width = Math.abs(graphic.AABBBounds.x2 - graphic.AABBBounds.x1);\n const height = Math.abs(graphic.AABBBounds.y2 - graphic.AABBBounds.y1);\n\n let toX = graphic.attribute.x;\n let toY = graphic.attribute.y;\n if (isVariableSpeed) {\n // 同时抵达边缘, 速度不同.\n switch (to) {\n case 'right':\n // 画布容器宽度\n toX = graphic.parent.width;\n break;\n case 'left':\n // 负的图形宽度\n toX = -width;\n break;\n case 'bottom':\n // 容器高度 + 图形高度\n toY = graphic.parent.height + height;\n break;\n case 'top':\n // 负的图形高度\n toY = -height;\n break;\n }\n } else {\n // 速度相同, 相对位置不变.\n const distance = Math.max(graphic.parent.width, graphic.parent.height);\n switch (to) {\n case 'right':\n toX += distance;\n break;\n case 'left':\n toX += -distance;\n break;\n case 'bottom':\n toY += distance;\n break;\n case 'top':\n toY += -distance;\n break;\n }\n }\n\n graphic\n .animate()\n .to({ x: toX, y: toY }, duration, easing as EasingType)\n // 最终不显示\n .onEnd(() => {\n graphic.setAttributes({ visible: false, visibleAll: false } as any);\n });\n return true;\n}\n\nexport const disappearEffectMap = {\n fade: fadeOut,\n scale: scaleOut,\n move: moveOut\n};\n\nexport function commonDisappearEffect(\n graphic: IGraphic,\n effect: string,\n params: IGraphicDisappearPayLoad['animation']\n) {\n let doAnimation = true;\n switch (effect) {\n case 'scale':\n scaleOut(graphic, params);\n break;\n case 'fade':\n fadeOut(graphic, params);\n break;\n case 'move':\n moveOut(graphic, params as unknown as IMoveOutParams);\n break;\n default:\n doAnimation = false;\n }\n return doAnimation;\n}\n"]}
@@ -6,4 +6,5 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: !0
7
7
  }), exports.EditActionEnum = void 0, function(EditActionEnum) {
8
8
  EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect";
9
- }(EditActionEnum = exports.EditActionEnum || (exports.EditActionEnum = {}));
9
+ }(EditActionEnum = exports.EditActionEnum || (exports.EditActionEnum = {}));
10
+ //# sourceMappingURL=interface.js.map
@@ -68,5 +68,4 @@ class Scene {
68
68
  release() {}
69
69
  }
70
70
 
71
- exports.Scene = Scene;
72
- //# sourceMappingURL=scene.js.map
71
+ exports.Scene = Scene;
@@ -7,4 +7,4 @@ Object.defineProperty(exports, "__esModule", {
7
7
  class Chapter {}
8
8
 
9
9
  exports.Chapter = Chapter;
10
- //# sourceMappingURL=act.js.map
10
+ //# sourceMappingURL=act.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
package/dist/index.js CHANGED
@@ -51350,7 +51350,12 @@
51350
51350
  break;
51351
51351
  }
51352
51352
  }
51353
- graphic.animate().to({ x: toX, y: toY }, duration, easing);
51353
+ graphic
51354
+ .animate()
51355
+ .to({ x: toX, y: toY }, duration, easing)
51356
+ .onEnd(() => {
51357
+ graphic.setAttributes({ visible: false, visibleAll: false });
51358
+ });
51354
51359
  return true;
51355
51360
  }
51356
51361
  const disappearEffectMap = {