@visactor/vgrammar-core 0.13.4 → 0.13.6

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 (61) hide show
  1. package/cjs/graph/animation/animation/fade.js +4 -3
  2. package/cjs/graph/animation/animation/fade.js.map +1 -1
  3. package/cjs/graph/animation/animation/grow-interval.js +9 -6
  4. package/cjs/graph/animation/animation/grow-interval.js.map +1 -1
  5. package/cjs/graph/animation/animation/grow-polar.js +76 -63
  6. package/cjs/graph/animation/animation/grow-polar.js.map +1 -1
  7. package/cjs/graph/animation/animation/move.js +5 -5
  8. package/cjs/graph/animation/animation/move.js.map +1 -1
  9. package/cjs/graph/animation/animation/rotate.js +2 -2
  10. package/cjs/graph/animation/animation/rotate.js.map +1 -1
  11. package/cjs/graph/animation/animation/scale.js +5 -4
  12. package/cjs/graph/animation/animation/scale.js.map +1 -1
  13. package/cjs/graph/element.d.ts +1 -0
  14. package/cjs/graph/element.js +19 -0
  15. package/cjs/graph/element.js.map +1 -1
  16. package/cjs/index.d.ts +1 -1
  17. package/cjs/index.js +1 -1
  18. package/cjs/index.js.map +1 -1
  19. package/cjs/interactions/brush-highlight.js +16 -7
  20. package/cjs/interactions/brush-highlight.js.map +1 -1
  21. package/cjs/interactions/element-highlight-by-group.js +9 -3
  22. package/cjs/interactions/element-highlight-by-group.js.map +1 -1
  23. package/cjs/interactions/element-highlight-by-key.js +16 -5
  24. package/cjs/interactions/element-highlight-by-key.js.map +1 -1
  25. package/cjs/interactions/element-highlight-by-legend.js +9 -3
  26. package/cjs/interactions/element-highlight-by-legend.js.map +1 -1
  27. package/cjs/interactions/element-highlight-by-name.js +9 -3
  28. package/cjs/interactions/element-highlight-by-name.js.map +1 -1
  29. package/cjs/types/element.d.ts +2 -1
  30. package/cjs/types/element.js.map +1 -1
  31. package/es/graph/animation/animation/fade.js +4 -3
  32. package/es/graph/animation/animation/fade.js.map +1 -1
  33. package/es/graph/animation/animation/grow-interval.js +9 -6
  34. package/es/graph/animation/animation/grow-interval.js.map +1 -1
  35. package/es/graph/animation/animation/grow-polar.js +76 -63
  36. package/es/graph/animation/animation/grow-polar.js.map +1 -1
  37. package/es/graph/animation/animation/move.js +5 -5
  38. package/es/graph/animation/animation/move.js.map +1 -1
  39. package/es/graph/animation/animation/rotate.js +2 -2
  40. package/es/graph/animation/animation/rotate.js.map +1 -1
  41. package/es/graph/animation/animation/scale.js +5 -4
  42. package/es/graph/animation/animation/scale.js.map +1 -1
  43. package/es/graph/element.d.ts +1 -0
  44. package/es/graph/element.js +20 -1
  45. package/es/graph/element.js.map +1 -1
  46. package/es/index.d.ts +1 -1
  47. package/es/index.js +1 -1
  48. package/es/index.js.map +1 -1
  49. package/es/interactions/brush-highlight.js +16 -7
  50. package/es/interactions/brush-highlight.js.map +1 -1
  51. package/es/interactions/element-highlight-by-group.js +9 -3
  52. package/es/interactions/element-highlight-by-group.js.map +1 -1
  53. package/es/interactions/element-highlight-by-key.js +16 -5
  54. package/es/interactions/element-highlight-by-key.js.map +1 -1
  55. package/es/interactions/element-highlight-by-legend.js +9 -3
  56. package/es/interactions/element-highlight-by-legend.js.map +1 -1
  57. package/es/interactions/element-highlight-by-name.js +9 -3
  58. package/es/interactions/element-highlight-by-name.js.map +1 -1
  59. package/es/types/element.d.ts +2 -1
  60. package/es/types/element.js.map +1 -1
  61. package/package.json +11 -11
@@ -1,7 +1,7 @@
1
1
  import type { IArc, IArc3d, IArea, ICircle, IGlyph, IGraphic, IGroup, IImage, ILine, IPath, IPolygon, IPyramid3d, IRect, IRect3d, IRichText, ISymbol, IText } from '@visactor/vrender-core';
2
2
  import type { DiffState } from '../graph/enums';
3
3
  import type { IMark, IGlyphMark } from './grammar';
4
- import type { BaseEncodeSpec, MarkFunctionType, MarkKeySpec, MarkType } from './mark';
4
+ import type { BaseEncodeSpec, BaseSingleEncodeSpec, MarkFunctionType, MarkKeySpec, MarkType } from './mark';
5
5
  export interface ElementGraphicMap {
6
6
  circle: ICircle;
7
7
  arc: IArc;
@@ -93,6 +93,7 @@ export interface IElement {
93
93
  addState: (state: string | string[], attrs?: any) => boolean;
94
94
  removeState: (state: string | string[]) => boolean;
95
95
  useStates: (states: string[], noAnimation?: boolean) => boolean;
96
+ updateStates: (states: Record<string, boolean | BaseSingleEncodeSpec>) => any;
96
97
  }
97
98
  export interface IGlyphElement<P = any> extends IElement {
98
99
  mark: IGlyphMark;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types/element.ts"],"names":[],"mappings":"","file":"element.js","sourcesContent":["import type {\n IArc,\n IArc3d,\n IArea,\n ICircle,\n IGlyph,\n IGraphic,\n IGroup,\n IImage,\n ILine,\n IPath,\n IPolygon,\n IPyramid3d,\n IRect,\n IRect3d,\n IRichText,\n ISymbol,\n IText\n} from '@visactor/vrender-core';\nimport type { DiffState } from '../graph/enums';\nimport type { IMark, IGlyphMark } from './grammar';\nimport type { BaseEncodeSpec, IMarkConfig, MarkFunctionType, MarkKeySpec, MarkType } from './mark';\n\nexport interface ElementGraphicMap {\n circle: ICircle;\n arc: IArc;\n area: IArea;\n image: IImage;\n line: ILine;\n path: IPath;\n rule: ILine;\n shape: IPath;\n symbol: ISymbol;\n text: IText;\n richtext: IRichText;\n polygon: IPolygon;\n cell: ISymbol;\n interval: IGraphic;\n rect: IRect;\n rect3d: IRect3d;\n arc3d: IArc3d;\n pyramid3d: IPyramid3d;\n group: IGroup;\n glyph: IGlyph;\n linkPath: IGlyph;\n treePath: IGlyph;\n wave: IGlyph;\n ripplePoint: IGlyph;\n barBoxplot: IGlyph;\n boxPlot: IGlyph;\n component: IGroup;\n axis: IGroup;\n legend: IGroup;\n corsshair: IGroup;\n slider: IGroup;\n datazoom: IGroup;\n label: IGroup;\n player: IGroup;\n}\n\nexport type GetGraphicByType<T> = T extends keyof ElementGraphicMap ? ElementGraphicMap[T] : IGraphic;\n\n/**\n * 保存graphicItem状态\n */\nexport interface MarkElementItem {\n /** 唯一key */\n key: string;\n /** 原始数据 */\n datum: any;\n /** VGrammar view */\n view: any;\n /** 当前渲染帧下graphicItem对应的最新属性 */\n nextAttrs?: any;\n /** 是否初始化过,用于解决collection mark对应的item,可能跳过enter状态的问题 */\n // hasEntered: boolean;\n}\nexport interface IElement {\n mark: IMark;\n isReserved: boolean;\n diffState: DiffState;\n key: string;\n groupKey?: string;\n data?: any[];\n /**\n * 不推荐使用,但是collection图元暂时可能回涉及到相关修改\n */\n items: MarkElementItem[];\n\n initGraphicItem: (attrs?: any) => void;\n updateGraphicItem: () => void;\n\n getDatum: () => any;\n getBounds: () => any;\n getGraphicItem: () => IGraphic;\n removeGraphicItem: () => void;\n resetGraphicItem: () => void;\n\n /**\n * 获取 graphic 视觉通道属性\n * @param channel 视觉通道\n * @param prev 是否从之前的 graphic 属性上获取,默认为 false\n * @returns 视觉通道值\n */\n getGraphicAttribute: (channel: string, prev?: boolean) => any;\n /**\n * 设置 graphic 视觉通道属性\n * @param channel 视觉通道\n * @param value 视觉通道属性\n * @param final 是否更新 graphic 最终变更的视觉通道结果,默认为 false\n */\n setGraphicAttribute: (channel: string, value: any, final?: boolean) => void;\n /**\n * 设置一系列 graphic 视觉通道属性\n * @param attributes 视觉通道键值对\n * @param final 是否更新 graphic 最终变更的视觉通道结果,默认为 false\n */\n setGraphicAttributes: (attributes: { [channel: string]: any }, final?: boolean) => void;\n\n /**\n * 【慎重使用】获取 VGrammar 自身的视觉通道属性\n * 只有在 'afterEncodeItems' 时机的mark transform中才能调用\n */\n getItemAttribute: (channel?: string) => any;\n /**\n * 【慎重使用】设置 VGrammar 自身的视觉通道\n * 只有在 'afterEncodeItems' 时机的mark transform中才能调用\n * @param attributes\n * @returns\n */\n setItemAttributes: (attributes: { [channel: string]: any } | any[]) => void;\n\n // element 执行流程相关接口\n updateData: (groupKey: string, data: any[], keyGenerator: MarkKeySpec, view: any) => void;\n state: (markState: MarkFunctionType<string | string[]>, parameters?: any) => void;\n encodeItems: (items: MarkElementItem[], encoders: BaseEncodeSpec, isReentered?: boolean, parameters?: any) => void;\n encodeGraphic: (attributes?: any) => void;\n transformElementItems: (items: MarkElementItem[], markType: MarkType, computePoints?: boolean) => Record<string, any>;\n remove: () => void;\n release: () => void;\n\n // 动画相关接口\n\n getFinalGraphicAttributes: () => { [key: string]: any };\n getPrevGraphicAttributes: () => { [key: string]: any };\n getNextGraphicAttributes: () => { [key: string]: any };\n clearChangedGraphicAttributes: () => void;\n clearGraphicAttributes: () => void;\n\n // state相关接口\n getStates: () => string[];\n hasState: (state: string) => boolean;\n clearStates: (noAnimation?: boolean) => void;\n addState: (state: string | string[], attrs?: any) => boolean;\n removeState: (state: string | string[]) => boolean;\n useStates: (states: string[], noAnimation?: boolean) => boolean;\n}\n\nexport interface IGlyphElement<P = any> extends IElement {\n mark: IGlyphMark;\n\n getGlyphGraphicItems: () => { [markName: string]: any };\n\n getGraphicAttribute: (channel: string, prev?: boolean, markName?: any) => any;\n setGraphicAttribute: (channel: string, value: any, final?: boolean, markName?: any) => void;\n setGraphicAttributes: (attributes: { [channel: string]: any }, final?: boolean, markName?: any) => void;\n\n getFinalGraphicAttributes: (markName?: string) => { [key: string]: any };\n getPrevGraphicAttributes: (markName?: string) => { [key: string]: any };\n getNextGraphicAttributes: (markName?: string) => { [key: string]: any };\n\n encodeCustom: (nextAttrs?: any) => { [markName: string]: any };\n}\n"]}
1
+ {"version":3,"sources":["../src/types/element.ts"],"names":[],"mappings":"","file":"element.js","sourcesContent":["import type {\n IArc,\n IArc3d,\n IArea,\n ICircle,\n IGlyph,\n IGraphic,\n IGroup,\n IImage,\n ILine,\n IPath,\n IPolygon,\n IPyramid3d,\n IRect,\n IRect3d,\n IRichText,\n ISymbol,\n IText\n} from '@visactor/vrender-core';\nimport type { DiffState } from '../graph/enums';\nimport type { IMark, IGlyphMark } from './grammar';\nimport type {\n BaseEncodeSpec,\n BaseSingleEncodeSpec,\n IMarkConfig,\n MarkFunctionType,\n MarkKeySpec,\n MarkType\n} from './mark';\n\nexport interface ElementGraphicMap {\n circle: ICircle;\n arc: IArc;\n area: IArea;\n image: IImage;\n line: ILine;\n path: IPath;\n rule: ILine;\n shape: IPath;\n symbol: ISymbol;\n text: IText;\n richtext: IRichText;\n polygon: IPolygon;\n cell: ISymbol;\n interval: IGraphic;\n rect: IRect;\n rect3d: IRect3d;\n arc3d: IArc3d;\n pyramid3d: IPyramid3d;\n group: IGroup;\n glyph: IGlyph;\n linkPath: IGlyph;\n treePath: IGlyph;\n wave: IGlyph;\n ripplePoint: IGlyph;\n barBoxplot: IGlyph;\n boxPlot: IGlyph;\n component: IGroup;\n axis: IGroup;\n legend: IGroup;\n corsshair: IGroup;\n slider: IGroup;\n datazoom: IGroup;\n label: IGroup;\n player: IGroup;\n}\n\nexport type GetGraphicByType<T> = T extends keyof ElementGraphicMap ? ElementGraphicMap[T] : IGraphic;\n\n/**\n * 保存graphicItem状态\n */\nexport interface MarkElementItem {\n /** 唯一key */\n key: string;\n /** 原始数据 */\n datum: any;\n /** VGrammar view */\n view: any;\n /** 当前渲染帧下graphicItem对应的最新属性 */\n nextAttrs?: any;\n /** 是否初始化过,用于解决collection mark对应的item,可能跳过enter状态的问题 */\n // hasEntered: boolean;\n}\nexport interface IElement {\n mark: IMark;\n isReserved: boolean;\n diffState: DiffState;\n key: string;\n groupKey?: string;\n data?: any[];\n /**\n * 不推荐使用,但是collection图元暂时可能回涉及到相关修改\n */\n items: MarkElementItem[];\n\n initGraphicItem: (attrs?: any) => void;\n updateGraphicItem: () => void;\n\n getDatum: () => any;\n getBounds: () => any;\n getGraphicItem: () => IGraphic;\n removeGraphicItem: () => void;\n resetGraphicItem: () => void;\n\n /**\n * 获取 graphic 视觉通道属性\n * @param channel 视觉通道\n * @param prev 是否从之前的 graphic 属性上获取,默认为 false\n * @returns 视觉通道值\n */\n getGraphicAttribute: (channel: string, prev?: boolean) => any;\n /**\n * 设置 graphic 视觉通道属性\n * @param channel 视觉通道\n * @param value 视觉通道属性\n * @param final 是否更新 graphic 最终变更的视觉通道结果,默认为 false\n */\n setGraphicAttribute: (channel: string, value: any, final?: boolean) => void;\n /**\n * 设置一系列 graphic 视觉通道属性\n * @param attributes 视觉通道键值对\n * @param final 是否更新 graphic 最终变更的视觉通道结果,默认为 false\n */\n setGraphicAttributes: (attributes: { [channel: string]: any }, final?: boolean) => void;\n\n /**\n * 【慎重使用】获取 VGrammar 自身的视觉通道属性\n * 只有在 'afterEncodeItems' 时机的mark transform中才能调用\n */\n getItemAttribute: (channel?: string) => any;\n /**\n * 【慎重使用】设置 VGrammar 自身的视觉通道\n * 只有在 'afterEncodeItems' 时机的mark transform中才能调用\n * @param attributes\n * @returns\n */\n setItemAttributes: (attributes: { [channel: string]: any } | any[]) => void;\n\n // element 执行流程相关接口\n updateData: (groupKey: string, data: any[], keyGenerator: MarkKeySpec, view: any) => void;\n state: (markState: MarkFunctionType<string | string[]>, parameters?: any) => void;\n encodeItems: (items: MarkElementItem[], encoders: BaseEncodeSpec, isReentered?: boolean, parameters?: any) => void;\n encodeGraphic: (attributes?: any) => void;\n transformElementItems: (items: MarkElementItem[], markType: MarkType, computePoints?: boolean) => Record<string, any>;\n remove: () => void;\n release: () => void;\n\n // 动画相关接口\n\n getFinalGraphicAttributes: () => { [key: string]: any };\n getPrevGraphicAttributes: () => { [key: string]: any };\n getNextGraphicAttributes: () => { [key: string]: any };\n clearChangedGraphicAttributes: () => void;\n clearGraphicAttributes: () => void;\n\n // state相关接口\n getStates: () => string[];\n hasState: (state: string) => boolean;\n clearStates: (noAnimation?: boolean) => void;\n addState: (state: string | string[], attrs?: any) => boolean;\n removeState: (state: string | string[]) => boolean;\n useStates: (states: string[], noAnimation?: boolean) => boolean;\n updateStates: (states: Record<string, boolean | BaseSingleEncodeSpec>) => any;\n}\n\nexport interface IGlyphElement<P = any> extends IElement {\n mark: IGlyphMark;\n\n getGlyphGraphicItems: () => { [markName: string]: any };\n\n getGraphicAttribute: (channel: string, prev?: boolean, markName?: any) => any;\n setGraphicAttribute: (channel: string, value: any, final?: boolean, markName?: any) => void;\n setGraphicAttributes: (attributes: { [channel: string]: any }, final?: boolean, markName?: any) => void;\n\n getFinalGraphicAttributes: (markName?: string) => { [key: string]: any };\n getPrevGraphicAttributes: (markName?: string) => { [key: string]: any };\n getNextGraphicAttributes: (markName?: string) => { [key: string]: any };\n\n encodeCustom: (nextAttrs?: any) => { [markName: string]: any };\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  export const fadeIn = (element, options, animationParameters) => {
2
2
  var _a, _b, _c;
3
+ const finalAttrs = element.getFinalGraphicAttributes();
3
4
  return {
4
5
  from: {
5
6
  opacity: 0,
@@ -7,9 +8,9 @@ export const fadeIn = (element, options, animationParameters) => {
7
8
  strokeOpacity: 0
8
9
  },
9
10
  to: {
10
- opacity: null !== (_a = element.getGraphicAttribute("opacity", !1)) && void 0 !== _a ? _a : 1,
11
- fillOpacity: null !== (_b = element.getGraphicAttribute("fillOpacity", !1)) && void 0 !== _b ? _b : 1,
12
- strokeOpacity: null !== (_c = element.getGraphicAttribute("strokeOpacity", !1)) && void 0 !== _c ? _c : 1
11
+ opacity: null !== (_a = finalAttrs.opacity) && void 0 !== _a ? _a : 1,
12
+ fillOpacity: null !== (_b = finalAttrs.fillOpacity) && void 0 !== _b ? _b : 1,
13
+ strokeOpacity: null !== (_c = finalAttrs.strokeOpacity) && void 0 !== _c ? _c : 1
13
14
  }
14
15
  };
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/animation/animation/fade.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,MAAM,GAA4B,CAC7C,OAAiB,EACjB,OAAY,EACZ,mBAAyC,EACzC,EAAE;;IACF,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;SACjB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,mCAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,mCAAI,CAAC;YACnE,aAAa,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,mCAAI,CAAC;SACxE;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA4B,CAC9C,OAAiB,EACjB,OAAY,EACZ,mBAAyC,EACzC,EAAE;;IACF,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mCAAI,CAAC;YAC1D,WAAW,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mCAAI,CAAC;YAClE,aAAa,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,mCAAI,CAAC;SACvE;QACD,EAAE,EAAE;YACF,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;SACjB;KACF,CAAC;AACJ,CAAC,CAAC","file":"fade.js","sourcesContent":["import type { IElement } from '../../../types';\nimport type { IAnimationParameters, TypeAnimation } from '../../../types/animate';\n\nexport const fadeIn: TypeAnimation<IElement> = (\n element: IElement,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n return {\n from: {\n opacity: 0,\n fillOpacity: 0,\n strokeOpacity: 0\n },\n to: {\n opacity: element.getGraphicAttribute('opacity', false) ?? 1,\n fillOpacity: element.getGraphicAttribute('fillOpacity', false) ?? 1,\n strokeOpacity: element.getGraphicAttribute('strokeOpacity', false) ?? 1\n }\n };\n};\n\nexport const fadeOut: TypeAnimation<IElement> = (\n element: IElement,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n return {\n from: {\n opacity: element.getGraphicAttribute('opacity', true) ?? 1,\n fillOpacity: element.getGraphicAttribute('fillOpacity', true) ?? 1,\n strokeOpacity: element.getGraphicAttribute('strokeOpacity', true) ?? 1\n },\n to: {\n opacity: 0,\n fillOpacity: 0,\n strokeOpacity: 0\n }\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/animation/animation/fade.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,MAAM,GAA4B,CAC7C,OAAiB,EACjB,OAAY,EACZ,mBAAyC,EACzC,EAAE;;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;SACjB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,CAAC;YAChC,WAAW,EAAE,MAAA,UAAU,CAAC,WAAW,mCAAI,CAAC;YACxC,aAAa,EAAE,MAAA,UAAU,CAAC,aAAa,mCAAI,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA4B,CAC9C,OAAiB,EACjB,OAAY,EACZ,mBAAyC,EACzC,EAAE;;IACF,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mCAAI,CAAC;YAC1D,WAAW,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mCAAI,CAAC;YAClE,aAAa,EAAE,MAAA,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,mCAAI,CAAC;SACvE;QACD,EAAE,EAAE;YACF,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;SACjB;KACF,CAAC;AACJ,CAAC,CAAC","file":"fade.js","sourcesContent":["import type { IElement } from '../../../types';\nimport type { IAnimationParameters, TypeAnimation } from '../../../types/animate';\n\nexport const fadeIn: TypeAnimation<IElement> = (\n element: IElement,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n return {\n from: {\n opacity: 0,\n fillOpacity: 0,\n strokeOpacity: 0\n },\n to: {\n opacity: finalAttrs.opacity ?? 1,\n fillOpacity: finalAttrs.fillOpacity ?? 1,\n strokeOpacity: finalAttrs.strokeOpacity ?? 1\n }\n };\n};\n\nexport const fadeOut: TypeAnimation<IElement> = (\n element: IElement,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n return {\n from: {\n opacity: element.getGraphicAttribute('opacity', true) ?? 1,\n fillOpacity: element.getGraphicAttribute('fillOpacity', true) ?? 1,\n strokeOpacity: element.getGraphicAttribute('strokeOpacity', true) ?? 1\n },\n to: {\n opacity: 0,\n fillOpacity: 0,\n strokeOpacity: 0\n }\n };\n};\n"]}
@@ -1,8 +1,9 @@
1
1
  import { isNumber } from "@visactor/vutils";
2
2
 
3
3
  function growIntervalInIndividual(element, options, animationParameters) {
4
+ const finalAttrs = element.getFinalGraphicAttributes();
4
5
  if (options && "x" === options.direction) {
5
- const x = element.getGraphicAttribute("x", !1), x1 = element.getGraphicAttribute("x1", !1);
6
+ const x = null == finalAttrs ? void 0 : finalAttrs.x, x1 = null == finalAttrs ? void 0 : finalAttrs.x1;
6
7
  return "negative" === options.orient ? {
7
8
  from: {
8
9
  x: x1,
@@ -23,7 +24,7 @@ function growIntervalInIndividual(element, options, animationParameters) {
23
24
  }
24
25
  };
25
26
  }
26
- const y = element.getGraphicAttribute("y", !1), y1 = element.getGraphicAttribute("y1", !1);
27
+ const y = null == finalAttrs ? void 0 : finalAttrs.y, y1 = null == finalAttrs ? void 0 : finalAttrs.y1;
27
28
  return options && "negative" === options.orient ? {
28
29
  from: {
29
30
  y: y1,
@@ -47,8 +48,9 @@ function growIntervalInIndividual(element, options, animationParameters) {
47
48
 
48
49
  function growIntervalInOverall(element, options, animationParameters) {
49
50
  var _a, _b;
51
+ const finalAttrs = element.getFinalGraphicAttributes();
50
52
  if (options && "x" === options.direction) {
51
- const x = element.getGraphicAttribute("x", !1), x1 = element.getGraphicAttribute("x1", !1);
53
+ const x = null == finalAttrs ? void 0 : finalAttrs.x, x1 = null == finalAttrs ? void 0 : finalAttrs.x1;
52
54
  let overallValue;
53
55
  return "negative" === options.orient ? isNumber(options.overall) ? overallValue = options.overall : animationParameters.group ? (overallValue = null !== (_a = animationParameters.groupWidth) && void 0 !== _a ? _a : animationParameters.group.getBounds().width(),
54
56
  animationParameters.groupWidth = overallValue) : overallValue = animationParameters.width : overallValue = isNumber(null == options ? void 0 : options.overall) ? options.overall : 0,
@@ -63,7 +65,7 @@ function growIntervalInOverall(element, options, animationParameters) {
63
65
  }
64
66
  };
65
67
  }
66
- const y = element.getGraphicAttribute("y", !1), y1 = element.getGraphicAttribute("y1", !1);
68
+ const y = null == finalAttrs ? void 0 : finalAttrs.y, y1 = null == finalAttrs ? void 0 : finalAttrs.y1;
67
69
  let overallValue;
68
70
  return options && "negative" === options.orient ? isNumber(options.overall) ? overallValue = options.overall : animationParameters.group ? (overallValue = null !== (_b = animationParameters.groupHeight) && void 0 !== _b ? _b : animationParameters.group.getBounds().height(),
69
71
  animationParameters.groupHeight = overallValue) : overallValue = animationParameters.height : overallValue = isNumber(null == options ? void 0 : options.overall) ? options.overall : 0,
@@ -89,8 +91,9 @@ export const growIntervalIn = (element, options, animationParameters) => {
89
91
  };
90
92
 
91
93
  function growIntervalOutIndividual(element, options, animationParameters) {
94
+ const finalAttrs = element.getFinalGraphicAttributes();
92
95
  if (options && "x" === options.direction) {
93
- const x = element.getGraphicAttribute("x", !1), x1 = element.getGraphicAttribute("x1", !1), prevX = element.getGraphicAttribute("x", !0), prevX1 = element.getGraphicAttribute("x1", !0);
96
+ const x = null == finalAttrs ? void 0 : finalAttrs.x, x1 = null == finalAttrs ? void 0 : finalAttrs.x1, prevX = element.getGraphicAttribute("x", !0), prevX1 = element.getGraphicAttribute("x1", !0);
94
97
  return "negative" === options.orient ? {
95
98
  from: {
96
99
  x: prevX,
@@ -111,7 +114,7 @@ function growIntervalOutIndividual(element, options, animationParameters) {
111
114
  }
112
115
  };
113
116
  }
114
- const y = element.getGraphicAttribute("y", !1), y1 = element.getGraphicAttribute("y1", !1), prevY = element.getGraphicAttribute("y", !0), prevY1 = element.getGraphicAttribute("y1", !0);
117
+ const y = null == finalAttrs ? void 0 : finalAttrs.y, y1 = null == finalAttrs ? void 0 : finalAttrs.y1, prevY = element.getGraphicAttribute("y", !0), prevY1 = element.getGraphicAttribute("y1", !0);
115
118
  return options && "negative" === options.orient ? {
116
119
  from: {
117
120
  y: prevY,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/animation/animation/grow-interval.ts"],"names":[],"mappings":"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","file":"grow-interval.js","sourcesContent":["/**\n * this animtion is only used for interval mark\n */\nimport type { IGrowCartesianAnimationOptions, IAnimationParameters, IElement, TypeAnimation } from '../../../types';\nimport { isNumber } from '@visactor/vutils';\n\nfunction growIntervalInIndividual(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n if (options && options.direction === 'x') {\n const x = element.getGraphicAttribute('x', false);\n const x1 = element.getGraphicAttribute('x1', false);\n if (options.orient === 'negative') {\n return {\n from: { x: x1, x1: x1 },\n to: { x: x, x1: x1 }\n };\n }\n return {\n from: { x: x, x1: x },\n to: { x: x, y1: x1 }\n };\n }\n const y = element.getGraphicAttribute('y', false);\n const y1 = element.getGraphicAttribute('y1', false);\n if (options && options.orient === 'negative') {\n return {\n from: { y: y1, y1: y1 },\n to: { y: y, y1: y1 }\n };\n }\n return {\n from: { y: y, y1: y },\n to: { y: y, y1: y1 }\n };\n}\n\nfunction growIntervalInOverall(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n if (options && options.direction === 'x') {\n const x = element.getGraphicAttribute('x', false);\n const x1 = element.getGraphicAttribute('x1', false);\n let overallValue: number;\n if (options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n\n (animationParameters as any).groupWidth = overallValue;\n } else {\n overallValue = animationParameters.width;\n }\n } else {\n overallValue = isNumber(options?.overall) ? options.overall : 0;\n }\n return {\n from: { x: overallValue, x1: overallValue },\n to: { x: x, y1: x1 }\n };\n }\n\n const y = element.getGraphicAttribute('y', false);\n const y1 = element.getGraphicAttribute('y1', false);\n let overallValue: number;\n if (options && options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupHeight = overallValue;\n } else {\n overallValue = animationParameters.height;\n }\n } else {\n overallValue = isNumber(options?.overall) ? options.overall : 0;\n }\n return {\n from: { y: overallValue, y1: overallValue },\n to: { y: y, y1: y1 }\n };\n}\n\nexport const growIntervalIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const coord = element.mark?.coord?.output();\n const isTransposed = coord.isTransposed();\n const isPolar = coord.type === 'polar';\n const newOptions: IGrowCartesianAnimationOptions = {\n orient: 'negative',\n direction: isTransposed && !isPolar ? 'x' : 'y'\n };\n\n return options && options.overall !== true\n ? growIntervalInIndividual(element, newOptions, animationParameters)\n : growIntervalInOverall(element, newOptions, animationParameters);\n};\n\nfunction growIntervalOutIndividual(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n if (options && options.direction === 'x') {\n const x = element.getGraphicAttribute('x', false);\n const x1 = element.getGraphicAttribute('x1', false);\n const prevX = element.getGraphicAttribute('x', true);\n const prevX1 = element.getGraphicAttribute('x1', true);\n if (options.orient === 'negative') {\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: x1, x1: x1 }\n };\n }\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: x, x1: x }\n };\n }\n\n const y = element.getGraphicAttribute('y', false);\n const y1 = element.getGraphicAttribute('y1', false);\n const prevY = element.getGraphicAttribute('y', true);\n const prevY1 = element.getGraphicAttribute('y1', true);\n if (options && options.orient === 'negative') {\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: y1, y1: y1 }\n };\n }\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: y, y1: y }\n };\n}\n\nfunction growIntervalOutOverall(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n if (options && options.direction === 'x') {\n const prevX = element.getGraphicAttribute('x', true);\n const prevX1 = element.getGraphicAttribute('x1', true);\n let overallValue: number;\n if (options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n\n (animationParameters as any).groupWidth = overallValue;\n } else {\n overallValue = animationParameters.width;\n }\n } else {\n overallValue = isNumber(options?.overall) ? options.overall : 0;\n }\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: overallValue, x1: overallValue }\n };\n }\n\n const prevY = element.getGraphicAttribute('y', true);\n const prevY1 = element.getGraphicAttribute('y1', true);\n let overallValue: number;\n if (options && options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupHeight = overallValue;\n } else {\n overallValue = animationParameters.height;\n }\n } else {\n overallValue = isNumber(options?.overall) ? options.overall : 0;\n }\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: overallValue, y1: overallValue }\n };\n}\n\nexport const growIntervalOut: TypeAnimation<IElement> = (\n element: IElement,\n options: Pick<IGrowCartesianAnimationOptions, 'overall'>,\n animationParameters: IAnimationParameters\n) => {\n const coord = element.mark?.coord?.output();\n const isTransposed = coord.isTransposed();\n const isPolar = coord.type === 'polar';\n const newOptions: IGrowCartesianAnimationOptions = {\n orient: 'negative',\n direction: isTransposed && !isPolar ? 'x' : 'y'\n };\n\n return options && options.overall !== true\n ? growIntervalOutIndividual(element, newOptions, animationParameters)\n : growIntervalOutOverall(element, newOptions, animationParameters);\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/animation/animation/grow-interval.ts"],"names":[],"mappings":"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","file":"grow-interval.js","sourcesContent":["/**\n * this animtion is only used for interval mark\n */\nimport type { IGrowCartesianAnimationOptions, IAnimationParameters, IElement, TypeAnimation } from '../../../types';\nimport { isNumber } from '@visactor/vutils';\n\nfunction growIntervalInIndividual(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n if (options && options.direction === 'x') {\n const x = finalAttrs?.x;\n const x1 = finalAttrs?.x1;\n if (options.orient === 'negative') {\n return {\n from: { x: x1, x1: x1 },\n to: { x: x, x1: x1 }\n };\n }\n return {\n from: { x: x, x1: x },\n to: { x: x, y1: x1 }\n };\n }\n const y = finalAttrs?.y;\n const y1 = finalAttrs?.y1;\n if (options && options.orient === 'negative') {\n return {\n from: { y: y1, y1: y1 },\n to: { y: y, y1: y1 }\n };\n }\n return {\n from: { y: y, y1: y },\n to: { y: y, y1: y1 }\n };\n}\n\nfunction growIntervalInOverall(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n if (options && options.direction === 'x') {\n const x = finalAttrs?.x;\n const x1 = finalAttrs?.x1;\n let overallValue: number;\n if (options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall as number;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n\n (animationParameters as any).groupWidth = overallValue;\n } else {\n overallValue = animationParameters.width;\n }\n } else {\n overallValue = isNumber(options?.overall) ? (options.overall as number) : 0;\n }\n return {\n from: { x: overallValue, x1: overallValue },\n to: { x: x, y1: x1 }\n };\n }\n\n const y = finalAttrs?.y;\n const y1 = finalAttrs?.y1;\n let overallValue: number;\n if (options && options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall as number;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupHeight = overallValue;\n } else {\n overallValue = animationParameters.height;\n }\n } else {\n overallValue = isNumber(options?.overall) ? (options.overall as number) : 0;\n }\n return {\n from: { y: overallValue, y1: overallValue },\n to: { y: y, y1: y1 }\n };\n}\n\nexport const growIntervalIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const coord = element.mark?.coord?.output();\n const isTransposed = coord.isTransposed();\n const isPolar = coord.type === 'polar';\n const newOptions: IGrowCartesianAnimationOptions = {\n orient: 'negative',\n direction: isTransposed && !isPolar ? 'x' : 'y'\n };\n\n return options && options.overall !== true\n ? growIntervalInIndividual(element, newOptions, animationParameters)\n : growIntervalInOverall(element, newOptions, animationParameters);\n};\n\nfunction growIntervalOutIndividual(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n const finalAttrs = element.getFinalGraphicAttributes();\n if (options && options.direction === 'x') {\n const x = finalAttrs?.x;\n const x1 = finalAttrs?.x1;\n const prevX = element.getGraphicAttribute('x', true);\n const prevX1 = element.getGraphicAttribute('x1', true);\n if (options.orient === 'negative') {\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: x1, x1: x1 }\n };\n }\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: x, x1: x }\n };\n }\n\n const y = finalAttrs?.y;\n const y1 = finalAttrs?.y1;\n const prevY = element.getGraphicAttribute('y', true);\n const prevY1 = element.getGraphicAttribute('y1', true);\n if (options && options.orient === 'negative') {\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: y1, y1: y1 }\n };\n }\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: y, y1: y }\n };\n}\n\nfunction growIntervalOutOverall(\n element: IElement,\n options: IGrowCartesianAnimationOptions,\n animationParameters: IAnimationParameters\n) {\n if (options && options.direction === 'x') {\n const prevX = element.getGraphicAttribute('x', true);\n const prevX1 = element.getGraphicAttribute('x1', true);\n let overallValue: number;\n if (options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall as number;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n\n (animationParameters as any).groupWidth = overallValue;\n } else {\n overallValue = animationParameters.width;\n }\n } else {\n overallValue = isNumber(options?.overall) ? (options.overall as number) : 0;\n }\n return {\n from: { x: prevX, x1: prevX1 },\n to: { x: overallValue, x1: overallValue }\n };\n }\n\n const prevY = element.getGraphicAttribute('y', true);\n const prevY1 = element.getGraphicAttribute('y1', true);\n let overallValue: number;\n if (options && options.orient === 'negative') {\n if (isNumber(options.overall)) {\n overallValue = options.overall as number;\n } else if (animationParameters.group) {\n overallValue = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupHeight = overallValue;\n } else {\n overallValue = animationParameters.height;\n }\n } else {\n overallValue = isNumber(options?.overall) ? (options.overall as number) : 0;\n }\n return {\n from: { y: prevY, y1: prevY1 },\n to: { y: overallValue, y1: overallValue }\n };\n}\n\nexport const growIntervalOut: TypeAnimation<IElement> = (\n element: IElement,\n options: Pick<IGrowCartesianAnimationOptions, 'overall'>,\n animationParameters: IAnimationParameters\n) => {\n const coord = element.mark?.coord?.output();\n const isTransposed = coord.isTransposed();\n const isPolar = coord.type === 'polar';\n const newOptions: IGrowCartesianAnimationOptions = {\n orient: 'negative',\n direction: isTransposed && !isPolar ? 'x' : 'y'\n };\n\n return options && options.overall !== true\n ? growIntervalOutIndividual(element, newOptions, animationParameters)\n : growIntervalOutOverall(element, newOptions, animationParameters);\n};\n"]}
@@ -1,20 +1,24 @@
1
1
  import { isNumber } from "@visactor/vutils";
2
2
 
3
- const growAngleInIndividual = (element, options, animationParameters) => options && "anticlockwise" === options.orient ? {
4
- from: {
5
- startAngle: element.getGraphicAttribute("endAngle", !1)
6
- },
7
- to: {
8
- startAngle: element.getGraphicAttribute("startAngle", !1)
9
- }
10
- } : {
11
- from: {
12
- endAngle: element.getGraphicAttribute("startAngle", !1)
13
- },
14
- to: {
15
- endAngle: element.getGraphicAttribute("endAngle", !1)
16
- }
3
+ const growAngleInIndividual = (element, options, animationParameters) => {
4
+ const finalAttrs = element.getFinalGraphicAttributes();
5
+ return options && "anticlockwise" === options.orient ? {
6
+ from: {
7
+ startAngle: null == finalAttrs ? void 0 : finalAttrs.endAngle
8
+ },
9
+ to: {
10
+ startAngle: null == finalAttrs ? void 0 : finalAttrs.startAngle
11
+ }
12
+ } : {
13
+ from: {
14
+ endAngle: null == finalAttrs ? void 0 : finalAttrs.startAngle
15
+ },
16
+ to: {
17
+ endAngle: null == finalAttrs ? void 0 : finalAttrs.endAngle
18
+ }
19
+ };
17
20
  }, growAngleInOverall = (element, options, animationParameters) => {
21
+ const finalAttrs = element.getFinalGraphicAttributes();
18
22
  if (options && "anticlockwise" === options.orient) {
19
23
  const overallValue = isNumber(options.overall) ? options.overall : 2 * Math.PI;
20
24
  return {
@@ -23,8 +27,8 @@ const growAngleInIndividual = (element, options, animationParameters) => options
23
27
  endAngle: overallValue
24
28
  },
25
29
  to: {
26
- startAngle: element.getGraphicAttribute("startAngle", !1),
27
- endAngle: element.getGraphicAttribute("endAngle", !1)
30
+ startAngle: null == finalAttrs ? void 0 : finalAttrs.startAngle,
31
+ endAngle: null == finalAttrs ? void 0 : finalAttrs.endAngle
28
32
  }
29
33
  };
30
34
  }
@@ -35,8 +39,8 @@ const growAngleInIndividual = (element, options, animationParameters) => options
35
39
  endAngle: overallValue
36
40
  },
37
41
  to: {
38
- startAngle: element.getGraphicAttribute("startAngle", !1),
39
- endAngle: element.getGraphicAttribute("endAngle", !1)
42
+ startAngle: null == finalAttrs ? void 0 : finalAttrs.startAngle,
43
+ endAngle: null == finalAttrs ? void 0 : finalAttrs.endAngle
40
44
  }
41
45
  };
42
46
  };
@@ -46,20 +50,23 @@ export const growAngleIn = (element, options, animationParameters) => {
46
50
  return !1 !== (null !== (_a = null == options ? void 0 : options.overall) && void 0 !== _a && _a) ? growAngleInOverall(element, options) : growAngleInIndividual(element, options);
47
51
  };
48
52
 
49
- const growAngleOutIndividual = (element, options, animationParameters) => options && "anticlockwise" === options.orient ? {
50
- from: {
51
- startAngle: element.getGraphicAttribute("startAngle", !0)
52
- },
53
- to: {
54
- startAngle: element.getGraphicAttribute("endAngle", !1)
55
- }
56
- } : {
57
- from: {
58
- endAngle: element.getGraphicAttribute("endAngle", !0)
59
- },
60
- to: {
61
- endAngle: element.getGraphicAttribute("startAngle", !1)
62
- }
53
+ const growAngleOutIndividual = (element, options, animationParameters) => {
54
+ const finalAttrs = element.getFinalGraphicAttributes();
55
+ return options && "anticlockwise" === options.orient ? {
56
+ from: {
57
+ startAngle: element.getGraphicAttribute("startAngle", !0)
58
+ },
59
+ to: {
60
+ startAngle: null == finalAttrs ? void 0 : finalAttrs.endAngle
61
+ }
62
+ } : {
63
+ from: {
64
+ endAngle: element.getGraphicAttribute("endAngle", !0)
65
+ },
66
+ to: {
67
+ endAngle: null == finalAttrs ? void 0 : finalAttrs.startAngle
68
+ }
69
+ };
63
70
  }, growAngleOutOverall = (element, options, animationParameters) => {
64
71
  if (options && "anticlockwise" === options.orient) {
65
72
  const overallValue = isNumber(options.overall) ? options.overall : 2 * Math.PI;
@@ -92,30 +99,33 @@ export const growAngleOut = (element, options, animationParameters) => {
92
99
  return !1 !== (null !== (_a = null == options ? void 0 : options.overall) && void 0 !== _a && _a) ? growAngleOutOverall(element, options) : growAngleOutIndividual(element, options);
93
100
  };
94
101
 
95
- const growRadiusInIndividual = (element, options, animationParameters) => options && "inside" === options.orient ? {
96
- from: {
97
- innerRadius: element.getGraphicAttribute("outerRadius", !1)
98
- },
99
- to: {
100
- innerRadius: element.getGraphicAttribute("innerRadius", !1)
101
- }
102
- } : {
103
- from: {
104
- outerRadius: element.getGraphicAttribute("innerRadius", !1)
105
- },
106
- to: {
107
- outerRadius: element.getGraphicAttribute("outerRadius", !1)
108
- }
102
+ const growRadiusInIndividual = (element, options, animationParameters) => {
103
+ const finalAttrs = element.getFinalGraphicAttributes();
104
+ return options && "inside" === options.orient ? {
105
+ from: {
106
+ innerRadius: null == finalAttrs ? void 0 : finalAttrs.outerRadius
107
+ },
108
+ to: {
109
+ innerRadius: null == finalAttrs ? void 0 : finalAttrs.innerRadius
110
+ }
111
+ } : {
112
+ from: {
113
+ outerRadius: null == finalAttrs ? void 0 : finalAttrs.innerRadius
114
+ },
115
+ to: {
116
+ outerRadius: null == finalAttrs ? void 0 : finalAttrs.outerRadius
117
+ }
118
+ };
109
119
  }, growRadiusInOverall = (element, options, animationParameters) => {
110
- const overallValue = isNumber(null == options ? void 0 : options.overall) ? options.overall : 0;
120
+ const finalAttrs = element.getFinalGraphicAttributes(), overallValue = isNumber(null == options ? void 0 : options.overall) ? options.overall : 0;
111
121
  return {
112
122
  from: {
113
123
  innerRadius: overallValue,
114
124
  outerRadius: overallValue
115
125
  },
116
126
  to: {
117
- innerRadius: element.getGraphicAttribute("innerRadius", !1),
118
- outerRadius: element.getGraphicAttribute("outerRadius", !1)
127
+ innerRadius: null == finalAttrs ? void 0 : finalAttrs.innerRadius,
128
+ outerRadius: null == finalAttrs ? void 0 : finalAttrs.outerRadius
119
129
  }
120
130
  };
121
131
  };
@@ -125,20 +135,23 @@ export const growRadiusIn = (element, options, animationParameters) => {
125
135
  return !1 !== (null !== (_a = null == options ? void 0 : options.overall) && void 0 !== _a && _a) ? growRadiusInOverall(element, options) : growRadiusInIndividual(element, options);
126
136
  };
127
137
 
128
- const growRadiusOutIndividual = (element, options, animationParameters) => options && "inside" === options.orient ? {
129
- from: {
130
- innerRadius: element.getGraphicAttribute("innerRadius", !0)
131
- },
132
- to: {
133
- innerRadius: element.getGraphicAttribute("outerRadius", !1)
134
- }
135
- } : {
136
- from: {
137
- outerRadius: element.getGraphicAttribute("outerRadius", !0)
138
- },
139
- to: {
140
- outerRadius: element.getGraphicAttribute("innerRadius", !1)
141
- }
138
+ const growRadiusOutIndividual = (element, options, animationParameters) => {
139
+ const finalAttrs = element.getFinalGraphicAttributes();
140
+ return options && "inside" === options.orient ? {
141
+ from: {
142
+ innerRadius: element.getGraphicAttribute("innerRadius", !0)
143
+ },
144
+ to: {
145
+ innerRadius: null == finalAttrs ? void 0 : finalAttrs.outerRadius
146
+ }
147
+ } : {
148
+ from: {
149
+ outerRadius: element.getGraphicAttribute("outerRadius", !0)
150
+ },
151
+ to: {
152
+ outerRadius: null == finalAttrs ? void 0 : finalAttrs.innerRadius
153
+ }
154
+ };
142
155
  }, growRadiusOutOverall = (element, options, animationParameters) => {
143
156
  const overallValue = isNumber(null == options ? void 0 : options.overall) ? options.overall : 0;
144
157
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/animation/animation/grow-polar.ts"],"names":[],"mappings":"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","file":"grow-polar.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type {\n IElement,\n IGrowAngleAnimationOptions,\n IAnimationParameters,\n IGrowRadiusAnimationOptions,\n TypeAnimation\n} from '../../../types';\n\n// grow angle\n\nconst growAngleInIndividual = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'anticlockwise') {\n return {\n from: { startAngle: element.getGraphicAttribute('endAngle', false) },\n to: { startAngle: element.getGraphicAttribute('startAngle', false) }\n };\n }\n return {\n from: { endAngle: element.getGraphicAttribute('startAngle', false) },\n to: { endAngle: element.getGraphicAttribute('endAngle', false) }\n };\n};\n\nconst growAngleInOverall = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'anticlockwise') {\n const overallValue = isNumber(options.overall) ? options.overall : Math.PI * 2;\n return {\n from: {\n startAngle: overallValue,\n endAngle: overallValue\n },\n to: {\n startAngle: element.getGraphicAttribute('startAngle', false),\n endAngle: element.getGraphicAttribute('endAngle', false)\n }\n };\n }\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n startAngle: overallValue,\n endAngle: overallValue\n },\n to: {\n startAngle: element.getGraphicAttribute('startAngle', false),\n endAngle: element.getGraphicAttribute('endAngle', false)\n }\n };\n};\n\nexport const growAngleIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growAngleInOverall(element, options, animationParameters)\n : growAngleInIndividual(element, options, animationParameters);\n};\n\nconst growAngleOutIndividual = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'anticlockwise') {\n return {\n from: { startAngle: element.getGraphicAttribute('startAngle', true) },\n to: { startAngle: element.getGraphicAttribute('endAngle', false) }\n };\n }\n return {\n from: { endAngle: element.getGraphicAttribute('endAngle', true) },\n to: { endAngle: element.getGraphicAttribute('startAngle', false) }\n };\n};\n\nconst growAngleOutOverall = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'anticlockwise') {\n const overallValue = isNumber(options.overall) ? options.overall : Math.PI * 2;\n return {\n from: {\n startAngle: element.getGraphicAttribute('startAngle', true),\n endAngle: element.getGraphicAttribute('endAngle', true)\n },\n to: {\n startAngle: overallValue,\n endAngle: overallValue\n }\n };\n }\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n startAngle: element.getGraphicAttribute('startAngle', true),\n endAngle: element.getGraphicAttribute('endAngle', true)\n },\n to: {\n startAngle: overallValue,\n endAngle: overallValue\n }\n };\n};\n\nexport const growAngleOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growAngleOutOverall(element, options, animationParameters)\n : growAngleOutIndividual(element, options, animationParameters);\n};\n\n// grow radius\n\nconst growRadiusInIndividual = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'inside') {\n return {\n from: { innerRadius: element.getGraphicAttribute('outerRadius', false) },\n to: { innerRadius: element.getGraphicAttribute('innerRadius', false) }\n };\n }\n return {\n from: { outerRadius: element.getGraphicAttribute('innerRadius', false) },\n to: { outerRadius: element.getGraphicAttribute('outerRadius', false) }\n };\n};\n\nconst growRadiusInOverall = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n innerRadius: overallValue,\n outerRadius: overallValue\n },\n to: {\n innerRadius: element.getGraphicAttribute('innerRadius', false),\n outerRadius: element.getGraphicAttribute('outerRadius', false)\n }\n };\n};\n\nexport const growRadiusIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growRadiusInOverall(element, options, animationParameters)\n : growRadiusInIndividual(element, options, animationParameters);\n};\n\nconst growRadiusOutIndividual = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'inside') {\n return {\n from: { innerRadius: element.getGraphicAttribute('innerRadius', true) },\n to: { innerRadius: element.getGraphicAttribute('outerRadius', false) }\n };\n }\n return {\n from: { outerRadius: element.getGraphicAttribute('outerRadius', true) },\n to: { outerRadius: element.getGraphicAttribute('innerRadius', false) }\n };\n};\n\nconst growRadiusOutOverall = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n innerRadius: element.getGraphicAttribute('innerRadius', true),\n outerRadius: element.getGraphicAttribute('outerRadius', true)\n },\n to: {\n innerRadius: overallValue,\n outerRadius: overallValue\n }\n };\n};\n\nexport const growRadiusOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growRadiusOutOverall(element, options, animationParameters)\n : growRadiusOutIndividual(element, options, animationParameters);\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/animation/animation/grow-polar.ts"],"names":[],"mappings":"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","file":"grow-polar.js","sourcesContent":["import { isNumber } from '@visactor/vutils';\nimport type {\n IElement,\n IGrowAngleAnimationOptions,\n IAnimationParameters,\n IGrowRadiusAnimationOptions,\n TypeAnimation\n} from '../../../types';\n\n// grow angle\n\nconst growAngleInIndividual = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n if (options && options.orient === 'anticlockwise') {\n return {\n from: { startAngle: finalAttrs?.endAngle },\n to: { startAngle: finalAttrs?.startAngle }\n };\n }\n return {\n from: { endAngle: finalAttrs?.startAngle },\n to: { endAngle: finalAttrs?.endAngle }\n };\n};\n\nconst growAngleInOverall = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n if (options && options.orient === 'anticlockwise') {\n const overallValue = isNumber(options.overall) ? options.overall : Math.PI * 2;\n return {\n from: {\n startAngle: overallValue,\n endAngle: overallValue\n },\n to: {\n startAngle: finalAttrs?.startAngle,\n endAngle: finalAttrs?.endAngle\n }\n };\n }\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n startAngle: overallValue,\n endAngle: overallValue\n },\n to: {\n startAngle: finalAttrs?.startAngle,\n endAngle: finalAttrs?.endAngle\n }\n };\n};\n\nexport const growAngleIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growAngleInOverall(element, options, animationParameters)\n : growAngleInIndividual(element, options, animationParameters);\n};\n\nconst growAngleOutIndividual = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n if (options && options.orient === 'anticlockwise') {\n return {\n from: { startAngle: element.getGraphicAttribute('startAngle', true) },\n to: { startAngle: finalAttrs?.endAngle }\n };\n }\n return {\n from: { endAngle: element.getGraphicAttribute('endAngle', true) },\n to: { endAngle: finalAttrs?.startAngle }\n };\n};\n\nconst growAngleOutOverall = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n if (options && options.orient === 'anticlockwise') {\n const overallValue = isNumber(options.overall) ? options.overall : Math.PI * 2;\n return {\n from: {\n startAngle: element.getGraphicAttribute('startAngle', true),\n endAngle: element.getGraphicAttribute('endAngle', true)\n },\n to: {\n startAngle: overallValue,\n endAngle: overallValue\n }\n };\n }\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n startAngle: element.getGraphicAttribute('startAngle', true),\n endAngle: element.getGraphicAttribute('endAngle', true)\n },\n to: {\n startAngle: overallValue,\n endAngle: overallValue\n }\n };\n};\n\nexport const growAngleOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowAngleAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growAngleOutOverall(element, options, animationParameters)\n : growAngleOutIndividual(element, options, animationParameters);\n};\n\n// grow radius\n\nconst growRadiusInIndividual = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n\n if (options && options.orient === 'inside') {\n return {\n from: { innerRadius: finalAttrs?.outerRadius },\n to: { innerRadius: finalAttrs?.innerRadius }\n };\n }\n return {\n from: { outerRadius: finalAttrs?.innerRadius },\n to: { outerRadius: finalAttrs?.outerRadius }\n };\n};\n\nconst growRadiusInOverall = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n innerRadius: overallValue,\n outerRadius: overallValue\n },\n to: {\n innerRadius: finalAttrs?.innerRadius,\n outerRadius: finalAttrs?.outerRadius\n }\n };\n};\n\nexport const growRadiusIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growRadiusInOverall(element, options, animationParameters)\n : growRadiusInIndividual(element, options, animationParameters);\n};\n\nconst growRadiusOutIndividual = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAttrs = element.getFinalGraphicAttributes();\n if (options && options.orient === 'inside') {\n return {\n from: { innerRadius: element.getGraphicAttribute('innerRadius', true) },\n to: { innerRadius: finalAttrs?.outerRadius }\n };\n }\n return {\n from: { outerRadius: element.getGraphicAttribute('outerRadius', true) },\n to: { outerRadius: finalAttrs?.innerRadius }\n };\n};\n\nconst growRadiusOutOverall = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const overallValue = isNumber(options?.overall) ? options.overall : 0;\n return {\n from: {\n innerRadius: element.getGraphicAttribute('innerRadius', true),\n outerRadius: element.getGraphicAttribute('outerRadius', true)\n },\n to: {\n innerRadius: overallValue,\n outerRadius: overallValue\n }\n };\n};\n\nexport const growRadiusOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IGrowRadiusAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n return (options?.overall ?? false) !== false\n ? growRadiusOutOverall(element, options, animationParameters)\n : growRadiusOutIndividual(element, options, animationParameters);\n};\n"]}
@@ -8,7 +8,7 @@ export const moveIn = (element, options, animationParameters) => {
8
8
  changedY = null !== (_b = animationParameters.groupHeight) && void 0 !== _b ? _b : animationParameters.group.getBounds().height(),
9
9
  animationParameters.groupWidth = changedX, animationParameters.groupHeight = changedY) : (changedX = animationParameters.width,
10
10
  changedY = animationParameters.height)), changedX += offset, changedY += offset;
11
- const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt, fromX = point && isValidNumber(point.x) ? point.x : changedX, fromY = point && isValidNumber(point.y) ? point.y : changedY;
11
+ const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt, fromX = point && isValidNumber(point.x) ? point.x : changedX, fromY = point && isValidNumber(point.y) ? point.y : changedY, finalAttrs = element.getFinalGraphicAttributes();
12
12
  switch (direction) {
13
13
  case "x":
14
14
  return {
@@ -16,7 +16,7 @@ export const moveIn = (element, options, animationParameters) => {
16
16
  x: fromX
17
17
  },
18
18
  to: {
19
- x: element.getGraphicAttribute("x", !1)
19
+ x: null == finalAttrs ? void 0 : finalAttrs.x
20
20
  }
21
21
  };
22
22
 
@@ -26,7 +26,7 @@ export const moveIn = (element, options, animationParameters) => {
26
26
  y: fromY
27
27
  },
28
28
  to: {
29
- y: element.getGraphicAttribute("y", !1)
29
+ y: null == finalAttrs ? void 0 : finalAttrs.y
30
30
  }
31
31
  };
32
32
 
@@ -37,8 +37,8 @@ export const moveIn = (element, options, animationParameters) => {
37
37
  y: fromY
38
38
  },
39
39
  to: {
40
- x: element.getGraphicAttribute("x", !1),
41
- y: element.getGraphicAttribute("y", !1)
40
+ x: null == finalAttrs ? void 0 : finalAttrs.x,
41
+ y: null == finalAttrs ? void 0 : finalAttrs.y
42
42
  }
43
43
  };
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/animation/animation/move.ts"],"names":[],"mappings":"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","file":"move.js","sourcesContent":["import { isFunction, isValidNumber } from '@visactor/vutils';\nimport type { IElement, IMoveAnimationOptions, IAnimationParameters, TypeAnimation } from '../../../types';\n\n// When user did not provide proper x/y value, move animation will never work properly,\n// due to that, default x/y value won't be set.\n\nexport const moveIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IMoveAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const { offset = 0, orient, direction, point: pointOpt } = options ?? {};\n let changedX = 0;\n let changedY = 0;\n\n if (orient === 'negative') {\n // consider the offset of group\n if (animationParameters.group) {\n changedX = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n changedY = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupWidth = changedX;\n (animationParameters as any).groupHeight = changedY;\n } else {\n changedX = animationParameters.width;\n changedY = animationParameters.height;\n }\n }\n\n changedX += offset;\n changedY += offset;\n const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt;\n const fromX = point && isValidNumber(point.x) ? point.x : changedX;\n const fromY = point && isValidNumber(point.y) ? point.y : changedY;\n switch (direction) {\n case 'x':\n return {\n from: { x: fromX },\n to: { x: element.getGraphicAttribute('x', false) }\n };\n case 'y':\n return {\n from: { y: fromY },\n to: { y: element.getGraphicAttribute('y', false) }\n };\n case 'xy':\n default:\n return {\n from: { x: fromX, y: fromY },\n to: {\n x: element.getGraphicAttribute('x', false),\n y: element.getGraphicAttribute('y', false)\n }\n };\n }\n};\n\nexport const moveOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IMoveAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const { offset = 0, orient, direction, point: pointOpt } = options ?? {};\n\n // consider the offset of group\n const groupBounds = animationParameters.group ? animationParameters.group.getBounds() : null;\n const groupWidth = groupBounds?.width() ?? animationParameters.width;\n const groupHeight = groupBounds?.height() ?? animationParameters.height;\n const changedX = (orient === 'negative' ? groupWidth : 0) + offset;\n const changedY = (orient === 'negative' ? groupHeight : 0) + offset;\n const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt;\n const fromX = point && isValidNumber(point.x) ? point.x : changedX;\n const fromY = point && isValidNumber(point.y) ? point.y : changedY;\n\n switch (direction) {\n case 'x':\n return {\n from: { x: element.getGraphicAttribute('x', true) },\n to: { x: fromX }\n };\n case 'y':\n return {\n from: { y: element.getGraphicAttribute('y', true) },\n to: { y: fromY }\n };\n case 'xy':\n default:\n return {\n from: {\n x: element.getGraphicAttribute('x', true),\n y: element.getGraphicAttribute('y', true)\n },\n to: { x: fromX, y: fromY }\n };\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/animation/animation/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM7D,MAAM,CAAC,MAAM,MAAM,GAA4B,CAC7C,OAAiB,EACjB,OAA8B,EAC9B,mBAAyC,EACzC,EAAE;;IACF,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACzE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,MAAM,KAAK,UAAU,EAAE;QAEzB,IAAI,mBAAmB,CAAC,KAAK,EAAE;YAC7B,QAAQ,GAAG,MAAC,mBAA2B,CAAC,UAAU,mCAAI,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;YACpG,QAAQ,GAAG,MAAC,mBAA2B,CAAC,WAAW,mCAAI,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC;YAErG,mBAA2B,CAAC,UAAU,GAAG,QAAQ,CAAC;YAClD,mBAA2B,CAAC,WAAW,GAAG,QAAQ,CAAC;SACrD;aAAM;YACL,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACrC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;SACvC;KACF;IAED,QAAQ,IAAI,MAAM,CAAC;IACnB,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtH,MAAM,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAEvD,QAAQ,SAAS,EAAE;QACjB,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;gBAClB,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC,EAAE;aACzB,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;gBAClB,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC,EAAE;aACzB,CAAC;QACJ,KAAK,IAAI,CAAC;QACV;YACE,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;gBAC5B,EAAE,EAAE;oBACF,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC;oBAChB,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC;iBACjB;aACF,CAAC;KACL;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA4B,CAC9C,OAAiB,EACjB,OAA8B,EAC9B,mBAAyC,EACzC,EAAE;;IACF,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAGzE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,MAAM,UAAU,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,mCAAI,mBAAmB,CAAC,KAAK,CAAC;IACrE,MAAM,WAAW,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,mCAAI,mBAAmB,CAAC,MAAM,CAAC;IACxE,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACnE,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtH,MAAM,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnE,QAAQ,SAAS,EAAE;QACjB,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;aACjB,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;aACjB,CAAC;QACJ,KAAK,IAAI,CAAC;QACV;YACE,OAAO;gBACL,IAAI,EAAE;oBACJ,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC;oBACzC,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC;iBAC1C;gBACD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;aAC3B,CAAC;KACL;AACH,CAAC,CAAC","file":"move.js","sourcesContent":["import { isFunction, isValidNumber } from '@visactor/vutils';\nimport type { IElement, IMoveAnimationOptions, IAnimationParameters, TypeAnimation } from '../../../types';\n\n// When user did not provide proper x/y value, move animation will never work properly,\n// due to that, default x/y value won't be set.\n\nexport const moveIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IMoveAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const { offset = 0, orient, direction, point: pointOpt } = options ?? {};\n let changedX = 0;\n let changedY = 0;\n\n if (orient === 'negative') {\n // consider the offset of group\n if (animationParameters.group) {\n changedX = (animationParameters as any).groupWidth ?? animationParameters.group.getBounds().width();\n changedY = (animationParameters as any).groupHeight ?? animationParameters.group.getBounds().height();\n\n (animationParameters as any).groupWidth = changedX;\n (animationParameters as any).groupHeight = changedY;\n } else {\n changedX = animationParameters.width;\n changedY = animationParameters.height;\n }\n }\n\n changedX += offset;\n changedY += offset;\n const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt;\n const fromX = point && isValidNumber(point.x) ? point.x : changedX;\n const fromY = point && isValidNumber(point.y) ? point.y : changedY;\n const finalAttrs = element.getFinalGraphicAttributes();\n\n switch (direction) {\n case 'x':\n return {\n from: { x: fromX },\n to: { x: finalAttrs?.x }\n };\n case 'y':\n return {\n from: { y: fromY },\n to: { y: finalAttrs?.y }\n };\n case 'xy':\n default:\n return {\n from: { x: fromX, y: fromY },\n to: {\n x: finalAttrs?.x,\n y: finalAttrs?.y\n }\n };\n }\n};\n\nexport const moveOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IMoveAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const { offset = 0, orient, direction, point: pointOpt } = options ?? {};\n\n // consider the offset of group\n const groupBounds = animationParameters.group ? animationParameters.group.getBounds() : null;\n const groupWidth = groupBounds?.width() ?? animationParameters.width;\n const groupHeight = groupBounds?.height() ?? animationParameters.height;\n const changedX = (orient === 'negative' ? groupWidth : 0) + offset;\n const changedY = (orient === 'negative' ? groupHeight : 0) + offset;\n const point = isFunction(pointOpt) ? pointOpt.call(null, element.getDatum(), element, animationParameters) : pointOpt;\n const fromX = point && isValidNumber(point.x) ? point.x : changedX;\n const fromY = point && isValidNumber(point.y) ? point.y : changedY;\n\n switch (direction) {\n case 'x':\n return {\n from: { x: element.getGraphicAttribute('x', true) },\n to: { x: fromX }\n };\n case 'y':\n return {\n from: { y: element.getGraphicAttribute('y', true) },\n to: { y: fromY }\n };\n case 'xy':\n default:\n return {\n from: {\n x: element.getGraphicAttribute('x', true),\n y: element.getGraphicAttribute('y', true)\n },\n to: { x: fromX, y: fromY }\n };\n }\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import { isNumberClose, isValidNumber } from "@visactor/vutils";
2
2
 
3
3
  export const rotateIn = (element, options, animationParameters) => {
4
- var _a;
5
- const finalAngle = null !== (_a = element.getGraphicAttribute("angle", !1)) && void 0 !== _a ? _a : 0;
4
+ var _a, _b;
5
+ const finalAngle = null !== (_b = null === (_a = element.getFinalGraphicAttributes()) || void 0 === _a ? void 0 : _a.angle) && void 0 !== _b ? _b : 0;
6
6
  let angle = 0;
7
7
  return angle = isNumberClose(finalAngle / (2 * Math.PI), 0) ? Math.round(finalAngle / (2 * Math.PI)) * Math.PI * 2 : isValidNumber(null == options ? void 0 : options.angle) ? options.angle : "anticlockwise" === (null == options ? void 0 : options.orient) ? Math.ceil(finalAngle / (2 * Math.PI)) * Math.PI * 2 : Math.floor(finalAngle / (2 * Math.PI)) * Math.PI * 2,
8
8
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/animation/animation/rotate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAC/C,OAAiB,EACjB,OAAgC,EAChC,mBAAyC,EACzC,EAAE;;IACF,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,mCAAI,CAAC,CAAC;IACpE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAChD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;SAAM,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE;QACxC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,eAAe,EAAE;QAC9C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;IACD,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE;QACf,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA4B,CAChD,OAAiB,EACjB,OAAgC,EAChC,mBAAyC,EACzC,EAAE;;IACF,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mCAAI,CAAC,CAAC;IACnE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAChD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;SAAM,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE;QACxC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,eAAe,EAAE;QAC9C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;IACD,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAC3B,EAAE,EAAE,EAAE,KAAK,EAAE;KACd,CAAC;AACJ,CAAC,CAAC","file":"rotate.js","sourcesContent":["import { isNumberClose, isValidNumber } from '@visactor/vutils';\nimport type { IAnimationParameters, IRotateAnimationOptions, TypeAnimation, IElement } from '../../../types';\n\nexport const rotateIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IRotateAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAngle = element.getGraphicAttribute('angle', false) ?? 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 },\n to: { angle: finalAngle }\n };\n};\n\nexport const rotateOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IRotateAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAngle = element.getGraphicAttribute('angle', true) ?? 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"]}
1
+ {"version":3,"sources":["../src/graph/animation/animation/rotate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAC/C,OAAiB,EACjB,OAAgC,EAChC,mBAAyC,EACzC,EAAE;;IACF,MAAM,UAAU,GAAG,MAAA,MAAA,OAAO,CAAC,yBAAyB,EAAE,0CAAE,KAAK,mCAAI,CAAC,CAAC;IAEnE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAChD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;SAAM,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE;QACxC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,eAAe,EAAE;QAC9C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;IACD,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE;QACf,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA4B,CAChD,OAAiB,EACjB,OAAgC,EAChC,mBAAyC,EACzC,EAAE;;IACF,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mCAAI,CAAC,CAAC;IACnE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAChD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;SAAM,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE;QACxC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,eAAe,EAAE;QAC9C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC9D;IACD,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAC3B,EAAE,EAAE,EAAE,KAAK,EAAE;KACd,CAAC;AACJ,CAAC,CAAC","file":"rotate.js","sourcesContent":["import { isNumberClose, isValidNumber } from '@visactor/vutils';\nimport type { IAnimationParameters, IRotateAnimationOptions, TypeAnimation, IElement } from '../../../types';\n\nexport const rotateIn: TypeAnimation<IElement> = (\n element: IElement,\n options: IRotateAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAngle = element.getFinalGraphicAttributes()?.angle ?? 0;\n\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 },\n to: { angle: finalAngle }\n };\n};\n\nexport const rotateOut: TypeAnimation<IElement> = (\n element: IElement,\n options: IRotateAnimationOptions,\n animationParameters: IAnimationParameters\n) => {\n const finalAngle = element.getGraphicAttribute('angle', true) ?? 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"]}
@@ -1,5 +1,6 @@
1
1
  export const scaleIn = (element, options, animationParameters) => {
2
2
  var _a, _b, _c, _d;
3
+ const finalAttrs = element.getFinalGraphicAttributes();
3
4
  switch (null == options ? void 0 : options.direction) {
4
5
  case "x":
5
6
  return {
@@ -7,7 +8,7 @@ export const scaleIn = (element, options, animationParameters) => {
7
8
  scaleX: 0
8
9
  },
9
10
  to: {
10
- scaleX: null !== (_a = element.getGraphicAttribute("scaleX", !1)) && void 0 !== _a ? _a : 1
11
+ scaleX: null !== (_a = null == finalAttrs ? void 0 : finalAttrs.scaleX) && void 0 !== _a ? _a : 1
11
12
  }
12
13
  };
13
14
 
@@ -17,7 +18,7 @@ export const scaleIn = (element, options, animationParameters) => {
17
18
  scaleY: 0
18
19
  },
19
20
  to: {
20
- scaleY: null !== (_b = element.getGraphicAttribute("scaleY", !1)) && void 0 !== _b ? _b : 1
21
+ scaleY: null !== (_b = null == finalAttrs ? void 0 : finalAttrs.scaleY) && void 0 !== _b ? _b : 1
21
22
  }
22
23
  };
23
24
 
@@ -28,8 +29,8 @@ export const scaleIn = (element, options, animationParameters) => {
28
29
  scaleY: 0
29
30
  },
30
31
  to: {
31
- scaleX: null !== (_c = element.getGraphicAttribute("scaleX", !1)) && void 0 !== _c ? _c : 1,
32
- scaleY: null !== (_d = element.getGraphicAttribute("scaleY", !1)) && void 0 !== _d ? _d : 1
32
+ scaleX: null !== (_c = null == finalAttrs ? void 0 : finalAttrs.scaleX) && void 0 !== _c ? _c : 1,
33
+ scaleY: null !== (_d = null == finalAttrs ? void 0 : finalAttrs.scaleY) && void 0 !== _d ? _d : 1
33
34
  }
34
35
  };
35
36
  }