@visactor/vchart 2.1.0-alpha.13 → 2.1.0-alpha.14

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 (182) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +44999 -51405
  3. package/build/index.js +44999 -51405
  4. package/build/index.min.js +3 -3
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +1 -1
  7. package/cjs/animation/callback-disappear.js +2 -2
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/config.js +34 -34
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/chart/base/base-chart.d.ts +2 -0
  12. package/cjs/chart/base/base-chart.js +14 -5
  13. package/cjs/chart/base/base-chart.js.map +1 -1
  14. package/cjs/compile/compiler.js +1 -2
  15. package/cjs/compile/compiler.js.map +1 -1
  16. package/cjs/compile/interface/compiler.d.ts +0 -2
  17. package/cjs/compile/interface/compiler.js.map +1 -1
  18. package/cjs/compile/morph.js +4 -4
  19. package/cjs/compile/morph.js.map +1 -1
  20. package/cjs/compile/stage-app.d.ts +0 -6
  21. package/cjs/compile/stage-app.js +15 -100
  22. package/cjs/compile/stage-app.js.map +1 -1
  23. package/cjs/component/axis/base-axis.d.ts +1 -1
  24. package/cjs/component/axis/base-axis.js +2 -2
  25. package/cjs/component/axis/base-axis.js.map +1 -1
  26. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  27. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  28. package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
  29. package/cjs/component/axis/cartesian/linear-axis.js +4 -4
  30. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  31. package/cjs/component/crosshair/base.d.ts +1 -1
  32. package/cjs/component/crosshair/base.js +3 -3
  33. package/cjs/component/crosshair/base.js.map +1 -1
  34. package/cjs/component/crosshair/cartesian.js +3 -3
  35. package/cjs/component/crosshair/cartesian.js.map +1 -1
  36. package/cjs/component/index.js +1 -2
  37. package/cjs/component/label/label.js +2 -2
  38. package/cjs/component/label/label.js.map +1 -1
  39. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  40. package/cjs/component/legend/discrete/legend.js +7 -7
  41. package/cjs/component/legend/discrete/legend.js.map +1 -1
  42. package/cjs/constant/animate.js +2 -1
  43. package/cjs/constant/scatter.js +1 -2
  44. package/cjs/constant/sunburst.js +2 -1
  45. package/cjs/core/expression-function.js +1 -1
  46. package/cjs/core/factory.js +1 -1
  47. package/cjs/core/index.d.ts +2 -1
  48. package/cjs/core/index.js +9 -5
  49. package/cjs/core/index.js.map +1 -1
  50. package/cjs/core/vchart.js +2 -2
  51. package/cjs/core/vchart.js.map +1 -1
  52. package/cjs/data/data-view-utils.js +1 -1
  53. package/cjs/data/initialize.js +1 -1
  54. package/cjs/data/register.js +1 -1
  55. package/cjs/env/env.js +10 -10
  56. package/cjs/env/env.js.map +1 -1
  57. package/cjs/mark/arc.js +4 -4
  58. package/cjs/mark/arc.js.map +1 -1
  59. package/cjs/mark/area.js +4 -5
  60. package/cjs/mark/area.js.map +1 -1
  61. package/cjs/mark/base/base-mark.js +5 -5
  62. package/cjs/mark/base/base-mark.js.map +1 -1
  63. package/cjs/mark/group.js +5 -5
  64. package/cjs/mark/group.js.map +1 -1
  65. package/cjs/mark/line.js +4 -5
  66. package/cjs/mark/line.js.map +1 -1
  67. package/cjs/mark/rect.js +3 -3
  68. package/cjs/mark/rect.js.map +1 -1
  69. package/cjs/mark/symbol.js +3 -3
  70. package/cjs/mark/symbol.js.map +1 -1
  71. package/cjs/mark/text.js +4 -4
  72. package/cjs/mark/text.js.map +1 -1
  73. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  74. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  75. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  76. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  77. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  78. package/cjs/plugin/other.js +5 -5
  79. package/cjs/plugin/other.js.map +1 -1
  80. package/cjs/series/base/base-series.d.ts +1 -0
  81. package/cjs/series/base/base-series.js +16 -6
  82. package/cjs/series/base/base-series.js.map +1 -1
  83. package/cjs/series/line/line.js +3 -3
  84. package/cjs/series/line/line.js.map +1 -1
  85. package/cjs/series/word-cloud/animation.js +3 -0
  86. package/cjs/series/word-cloud/animation.js.map +1 -1
  87. package/cjs/theme/builtin/common/series/word-cloud.js +2 -6
  88. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  89. package/cjs/util/math.d.ts +1 -1
  90. package/cjs/util/math.js +2 -2
  91. package/cjs/util/math.js.map +1 -1
  92. package/cjs/util/text.js +2 -2
  93. package/cjs/util/text.js.map +1 -1
  94. package/esm/animation/callback-disappear.d.ts +1 -1
  95. package/esm/animation/callback-disappear.js +1 -1
  96. package/esm/animation/callback-disappear.js.map +1 -1
  97. package/esm/animation/config.js +33 -1
  98. package/esm/animation/config.js.map +1 -1
  99. package/esm/chart/base/base-chart.d.ts +2 -0
  100. package/esm/chart/base/base-chart.js +14 -5
  101. package/esm/chart/base/base-chart.js.map +1 -1
  102. package/esm/compile/compiler.js +1 -2
  103. package/esm/compile/compiler.js.map +1 -1
  104. package/esm/compile/interface/compiler.d.ts +0 -2
  105. package/esm/compile/interface/compiler.js.map +1 -1
  106. package/esm/compile/morph.js +1 -1
  107. package/esm/compile/morph.js.map +1 -1
  108. package/esm/compile/stage-app.d.ts +0 -6
  109. package/esm/compile/stage-app.js +14 -76
  110. package/esm/compile/stage-app.js.map +1 -1
  111. package/esm/component/axis/base-axis.d.ts +1 -1
  112. package/esm/component/axis/base-axis.js +1 -1
  113. package/esm/component/axis/base-axis.js.map +1 -1
  114. package/esm/component/axis/cartesian/band-axis.js +4 -2
  115. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  116. package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
  117. package/esm/component/axis/cartesian/linear-axis.js +5 -1
  118. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  119. package/esm/component/crosshair/base.d.ts +1 -1
  120. package/esm/component/crosshair/base.js +1 -1
  121. package/esm/component/crosshair/base.js.map +1 -1
  122. package/esm/component/crosshair/cartesian.js +3 -1
  123. package/esm/component/crosshair/cartesian.js.map +1 -1
  124. package/esm/component/index.js +1 -2
  125. package/esm/component/label/label.js +1 -1
  126. package/esm/component/label/label.js.map +1 -1
  127. package/esm/component/legend/discrete/legend.d.ts +1 -1
  128. package/esm/component/legend/discrete/legend.js +2 -2
  129. package/esm/component/legend/discrete/legend.js.map +1 -1
  130. package/esm/constant/animate.js +2 -1
  131. package/esm/constant/scatter.js +1 -2
  132. package/esm/constant/sunburst.js +2 -1
  133. package/esm/core/expression-function.js +1 -1
  134. package/esm/core/factory.js +1 -1
  135. package/esm/core/index.d.ts +2 -1
  136. package/esm/core/index.js +4 -2
  137. package/esm/core/index.js.map +1 -1
  138. package/esm/core/vchart.js +1 -1
  139. package/esm/core/vchart.js.map +1 -1
  140. package/esm/data/data-view-utils.js +1 -1
  141. package/esm/data/initialize.js +1 -1
  142. package/esm/data/register.js +1 -1
  143. package/esm/env/env.js +1 -1
  144. package/esm/env/env.js.map +1 -1
  145. package/esm/mark/arc.js +4 -2
  146. package/esm/mark/arc.js.map +1 -1
  147. package/esm/mark/area.js +6 -2
  148. package/esm/mark/area.js.map +1 -1
  149. package/esm/mark/base/base-mark.js +5 -5
  150. package/esm/mark/base/base-mark.js.map +1 -1
  151. package/esm/mark/group.js +5 -4
  152. package/esm/mark/group.js.map +1 -1
  153. package/esm/mark/line.js +6 -2
  154. package/esm/mark/line.js.map +1 -1
  155. package/esm/mark/rect.js +4 -2
  156. package/esm/mark/rect.js.map +1 -1
  157. package/esm/mark/symbol.js +4 -2
  158. package/esm/mark/symbol.js.map +1 -1
  159. package/esm/mark/text.js +5 -1
  160. package/esm/mark/text.js.map +1 -1
  161. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  162. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  163. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  164. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  165. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  166. package/esm/plugin/other.js +2 -2
  167. package/esm/plugin/other.js.map +1 -1
  168. package/esm/series/base/base-series.d.ts +1 -0
  169. package/esm/series/base/base-series.js +16 -5
  170. package/esm/series/base/base-series.js.map +1 -1
  171. package/esm/series/line/line.js +3 -1
  172. package/esm/series/line/line.js.map +1 -1
  173. package/esm/series/word-cloud/animation.js +3 -0
  174. package/esm/series/word-cloud/animation.js.map +1 -1
  175. package/esm/theme/builtin/common/series/word-cloud.js +2 -6
  176. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  177. package/esm/util/math.d.ts +1 -1
  178. package/esm/util/math.js +1 -1
  179. package/esm/util/math.js.map +1 -1
  180. package/esm/util/text.js +1 -1
  181. package/esm/util/text.js.map +1 -1
  182. package/package.json +9 -9
package/esm/mark/group.js CHANGED
@@ -6,7 +6,9 @@ import { BaseMark } from "./base/base-mark";
6
6
 
7
7
  import { DiffState } from "./interface";
8
8
 
9
- import { registerGroup, registerShadowRoot } from "@visactor/vrender-kits";
9
+ import { registerGroup } from "@visactor/vrender-kits/register/register-group";
10
+
11
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
10
12
 
11
13
  import { isNil } from "@visactor/vutils";
12
14
 
@@ -71,10 +73,9 @@ export class GroupMark extends BaseMark {
71
73
  diffState: this._diffState
72
74
  }), this._setAnimationState(this._product);
73
75
  const newAttrs = this._getAttrsFromConfig(style);
74
- if (this._product.context.diffState === DiffState.update) {
76
+ if (this._product.context.finalAttrs = newAttrs, this._product.context.diffState === DiffState.update) {
75
77
  const hasAnimation = this.hasAnimation(), diffAttrs = getDiffAttributesOfGraphic(this._product, newAttrs);
76
- this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs)),
77
- hasAnimation && this._product.setFinalAttributes(newAttrs);
78
+ this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs));
78
79
  } else this._product.setAttributes(newAttrs);
79
80
  this.needClear = !0;
80
81
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { log, warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport {\n DiffState,\n type AnimationStateValues,\n type IGroupMark,\n type IMark,\n type IMarkGraphic,\n type MarkType\n} from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { type IMarkCompileOption } from '../compile/mark';\nimport type { IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { registerGroup, registerShadowRoot } from '@visactor/vrender-kits';\nimport { isNil } from '@visactor/vutils';\nimport { traverseGroupMark } from '../compile/util';\nimport { getDiffAttributesOfGraphic } from '../util/mark';\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected _diffState = DiffState.enter;\n protected declare _product: Maybe<IGroup>;\n declare getProduct: () => Maybe<IGroup>;\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInUserId(id: string | number) {\n let result: IMark | undefined;\n traverseGroupMark(\n this,\n m => {\n result = m;\n },\n m => m.getUserId() === id,\n null,\n true\n );\n\n return result;\n }\n\n getMarkInName(name: string) {\n return this._marks.filter(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n // this._product.configure({\n // zIndex: this._markConfig.zIndex\n // });\n\n // 编译子元素\n this.getMarks().forEach(mark => {\n mark.compile({ group: this._product });\n });\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n getGraphics(): IMarkGraphic[] {\n return [this._product as unknown as IMarkGraphic];\n }\n\n renderInner() {\n if (!this._product) {\n return;\n }\n\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n this._product.context = {\n ...this._product.context,\n ...this._getCommonContext(),\n diffState: this._diffState\n };\n this._setAnimationState(this._product as unknown as IMarkGraphic);\n const newAttrs = this._getAttrsFromConfig(style);\n\n // TODO: 需要优化,现在group mark 走了一些特殊逻辑\n if (this._product.context.diffState === DiffState.update) {\n const hasAnimation = this.hasAnimation();\n const diffAttrs = getDiffAttributesOfGraphic(this._product as unknown as IMarkGraphic, newAttrs);\n this._product.context.diffAttrs = diffAttrs;\n\n if (!this.hasAnimationByState(this._product.context.animationState)) {\n hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs);\n }\n\n if (hasAnimation) {\n this._product.setFinalAttributes(newAttrs);\n }\n } else {\n this._product.setAttributes(newAttrs);\n }\n\n this.needClear = true;\n }\n\n clearExitGraphics() {\n // group 暂时不需要clear元素,完成首次渲染后 将状态设置为update\n this._diffState = DiffState.update;\n }\n\n render(): void {\n if (this._isCommited) {\n log(`render mark: ${this.getProductId()}, type is ${this.type}`);\n this.renderInner();\n this.uncommit();\n }\n\n this.getMarks().forEach(mark => {\n mark.render();\n });\n }\n\n release() {\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerGroupMark = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { log, warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport {\n DiffState,\n type AnimationStateValues,\n type IGroupMark,\n type IMark,\n type IMarkGraphic,\n type MarkType\n} from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { type IMarkCompileOption } from '../compile/mark';\nimport type { IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { registerGroup } from '@visactor/vrender-kits/register/register-group';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { isNil } from '@visactor/vutils';\nimport { traverseGroupMark } from '../compile/util';\nimport { getDiffAttributesOfGraphic } from '../util/mark';\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected _diffState = DiffState.enter;\n protected declare _product: Maybe<IGroup>;\n declare getProduct: () => Maybe<IGroup>;\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInUserId(id: string | number) {\n let result: IMark | undefined;\n traverseGroupMark(\n this,\n m => {\n result = m;\n },\n m => m.getUserId() === id,\n null,\n true\n );\n\n return result;\n }\n\n getMarkInName(name: string) {\n return this._marks.filter(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n // this._product.configure({\n // zIndex: this._markConfig.zIndex\n // });\n\n // 编译子元素\n this.getMarks().forEach(mark => {\n mark.compile({ group: this._product });\n });\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n getGraphics(): IMarkGraphic[] {\n return [this._product as unknown as IMarkGraphic];\n }\n\n renderInner() {\n if (!this._product) {\n return;\n }\n\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n this._product.context = {\n ...this._product.context,\n ...this._getCommonContext(),\n diffState: this._diffState\n };\n this._setAnimationState(this._product as unknown as IMarkGraphic);\n const newAttrs = this._getAttrsFromConfig(style);\n this._product.context.finalAttrs = newAttrs;\n\n // TODO: 需要优化,现在group mark 走了一些特殊逻辑\n if (this._product.context.diffState === DiffState.update) {\n const hasAnimation = this.hasAnimation();\n const diffAttrs = getDiffAttributesOfGraphic(this._product as unknown as IMarkGraphic, newAttrs);\n this._product.context.diffAttrs = diffAttrs;\n\n if (!this.hasAnimationByState(this._product.context.animationState)) {\n hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs);\n }\n } else {\n this._product.setAttributes(newAttrs);\n }\n\n this.needClear = true;\n }\n\n clearExitGraphics() {\n // group 暂时不需要clear元素,完成首次渲染后 将状态设置为update\n this._diffState = DiffState.update;\n }\n\n render(): void {\n if (this._isCommited) {\n log(`render mark: ${this.getProductId()}, type is ${this.type}`);\n this.renderInner();\n this.uncommit();\n }\n\n this.getMarks().forEach(mark => {\n mark.render();\n });\n }\n\n release() {\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerGroupMark = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
package/esm/mark/line.js CHANGED
@@ -8,9 +8,13 @@ import { registerLineOrAreaAnimation } from "../animation/config";
8
8
 
9
9
  import { createLine } from "@visactor/vrender-core";
10
10
 
11
- import { registerLine, registerShadowRoot } from "@visactor/vrender-kits";
11
+ import { registerLine } from "@visactor/vrender-kits/register/register-line";
12
12
 
13
- import { registerLineDataLabel, registerSymbolDataLabel } from "@visactor/vrender-components";
13
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
14
+
15
+ import { registerLineDataLabel } from "@visactor/vrender-components/label/line";
16
+
17
+ import { registerSymbolDataLabel } from "@visactor/vrender-components/label/symbol";
14
18
 
15
19
  export class LineMark extends BaseLineMark {
16
20
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE9F,MAAM,OAAO,QAAS,SAAQ,YAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAqBhC,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAOS,oBAAoB;;QAC5B,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAK,cAAc,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,MAAK,OAAO,EAAE;YACnF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;;AArBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAE9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"line.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { SeriesTypeEnum } from '../series/interface/type';\nimport type { ILineMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { ILineMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport type { IGraphic, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { createLine } from '@visactor/vrender-core';\nimport { registerLine, registerShadowRoot } from '@visactor/vrender-kits';\nimport { registerLineDataLabel, registerSymbolDataLabel } from '@visactor/vrender-components';\n\nexport class LineMark extends BaseLineMark<ILineMarkSpec> implements ILineMark {\n static readonly type = MarkTypeEnum.line;\n readonly type = LineMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILineMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 1\n };\n return defaultStyle;\n }\n\n /**\n * TODO: SeriesTypeEnum 移到最外层\n * @override 线不支持填充\n * @returns\n */\n protected _getIgnoreAttributes(): string[] {\n if (this.model?.type === SeriesTypeEnum.radar && this.model?.coordinate === 'polar') {\n return [];\n }\n return ['fill', 'fillOpacity'];\n }\n}\n\nexport const registerLineMark = () => {\n Factory.registerMark(LineMark.type, LineMark);\n registerShadowRoot();\n registerLine();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.line, createLine);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,MAAM,OAAO,QAAS,SAAQ,YAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAqBhC,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAOS,oBAAoB;;QAC5B,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAK,cAAc,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,MAAK,OAAO,EAAE;YACnF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;;AArBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAE9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"line.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { SeriesTypeEnum } from '../series/interface/type';\nimport type { ILineMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { ILineMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport type { IGraphic, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { createLine } from '@visactor/vrender-core';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerLineDataLabel } from '@visactor/vrender-components/label/line';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\n\nexport class LineMark extends BaseLineMark<ILineMarkSpec> implements ILineMark {\n static readonly type = MarkTypeEnum.line;\n readonly type = LineMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILineMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 1\n };\n return defaultStyle;\n }\n\n /**\n * TODO: SeriesTypeEnum 移到最外层\n * @override 线不支持填充\n * @returns\n */\n protected _getIgnoreAttributes(): string[] {\n if (this.model?.type === SeriesTypeEnum.radar && this.model?.coordinate === 'polar') {\n return [];\n }\n return ['fill', 'fillOpacity'];\n }\n}\n\nexport const registerLineMark = () => {\n Factory.registerMark(LineMark.type, LineMark);\n registerShadowRoot();\n registerLine();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.line, createLine);\n};\n"]}
package/esm/mark/rect.js CHANGED
@@ -4,9 +4,11 @@ import { BaseMark } from "./base/base-mark";
4
4
 
5
5
  import { registerRectAnimation } from "../animation/config";
6
6
 
7
- import { registerRect, registerShadowRoot } from "@visactor/vrender-kits";
7
+ import { registerRect } from "@visactor/vrender-kits/register/register-rect";
8
8
 
9
- import { registerRectDataLabel } from "@visactor/vrender-components";
9
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
10
+
11
+ import { registerRectDataLabel } from "@visactor/vrender-components/label";
10
12
 
11
13
  import { createRect } from "@visactor/vrender-core";
12
14
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAWhC,CAAC;IATW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAXe,aAAI,UAAqB;AAc3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,qBAAqB,EAAE,CAAC;IAExB,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"rect.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRectMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkStyle, IRectMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerRectAnimation } from '../animation/config';\nimport { registerRect, registerShadowRoot } from '@visactor/vrender-kits';\nimport { registerRectDataLabel } from '@visactor/vrender-components';\nimport { createRect } from '@visactor/vrender-core';\n\nexport class RectMark extends BaseMark<IRectMarkSpec> implements IRectMark {\n static readonly type = MarkTypeEnum.rect;\n readonly type = RectMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRectMarkSpec> = {\n ...super._getDefaultStyle(),\n width: undefined,\n height: undefined,\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerRectMark = () => {\n registerShadowRoot();\n registerRect();\n registerRectDataLabel();\n Factory.registerMark(RectMark.type, RectMark);\n registerRectAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.rect, createRect);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAWhC,CAAC;IATW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAXe,aAAI,UAAqB;AAc3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,qBAAqB,EAAE,CAAC;IAExB,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"rect.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRectMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkStyle, IRectMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerRectAnimation } from '../animation/config';\nimport { registerRect } from '@visactor/vrender-kits/register/register-rect';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerRectDataLabel } from '@visactor/vrender-components/label';\nimport { createRect } from '@visactor/vrender-core';\n\nexport class RectMark extends BaseMark<IRectMarkSpec> implements IRectMark {\n static readonly type = MarkTypeEnum.rect;\n readonly type = RectMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRectMarkSpec> = {\n ...super._getDefaultStyle(),\n width: undefined,\n height: undefined,\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerRectMark = () => {\n registerShadowRoot();\n registerRect();\n registerRectDataLabel();\n Factory.registerMark(RectMark.type, RectMark);\n registerRectAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.rect, createRect);\n};\n"]}
@@ -4,9 +4,11 @@ import { BaseMark } from "./base/base-mark";
4
4
 
5
5
  import { createSymbol } from "@visactor/vrender-core";
6
6
 
7
- import { registerShadowRoot, registerSymbol } from "@visactor/vrender-kits";
7
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
8
8
 
9
- import { registerSymbolDataLabel } from "@visactor/vrender-components";
9
+ import { registerSymbol } from "@visactor/vrender-kits/register/register-symbol";
10
+
11
+ import { registerSymbolDataLabel } from "@visactor/vrender-components/label/symbol";
10
12
 
11
13
  import { isNil } from "@visactor/vutils";
12
14
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,UAAW,SAAQ,QAAyB;IAAzD;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAwBlC,CAAC;IAvBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAA2C,CAAC;IACrD,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,UAAU,GACd,MAAA,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,UAAU,mCAAI,MAAC,CAAC,CAAC,SAAqC,0CAAE,UAAU,CAAC;QAEtG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC;SACnC;aAAM;YACL,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;;AAxBe,eAAI,YAAuB;AA2B7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;IAE1B,OAAO,CAAC,wBAAwB,WAAsB,YAAY,CAAC,CAAC;AACtE,CAAC,CAAC","file":"symbol.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ISymbolMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkStyle, ISymbolMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { registerShadowRoot, registerSymbol } from '@visactor/vrender-kits';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components';\nimport { isNil } from '@visactor/vutils';\n\nexport class SymbolMark extends BaseMark<ISymbolMarkSpec> implements ISymbolMark {\n static readonly type = MarkTypeEnum.symbol;\n readonly type = SymbolMark.type;\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ISymbolMarkSpec> = {\n ...super._getDefaultStyle(),\n size: 1,\n symbolType: 'circle',\n fill: undefined,\n lineWidth: 0\n };\n return defaultStyle as IMarkStyle<ISymbolMarkSpec>;\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const symbolAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const symbolType =\n symbolAttrs.shape ?? symbolAttrs.symbolType ?? (g.attribute as ISymbolGraphicAttribute)?.symbolType;\n\n if (isNil(symbolType)) {\n symbolAttrs.symbolType = 'circle';\n } else {\n symbolAttrs.symbolType = symbolType;\n }\n return symbolAttrs;\n }\n}\n\nexport const registerSymbolMark = () => {\n Factory.registerMark(SymbolMark.type, SymbolMark);\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n\n Factory.registerGraphicComponent(MarkTypeEnum.symbol, createSymbol);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,UAAW,SAAQ,QAAyB;IAAzD;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAwBlC,CAAC;IAvBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAA2C,CAAC;IACrD,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,UAAU,GACd,MAAA,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,UAAU,mCAAI,MAAC,CAAC,CAAC,SAAqC,0CAAE,UAAU,CAAC;QAEtG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC;SACnC;aAAM;YACL,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;;AAxBe,eAAI,YAAuB;AA2B7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;IAE1B,OAAO,CAAC,wBAAwB,WAAsB,YAAY,CAAC,CAAC;AACtE,CAAC,CAAC","file":"symbol.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ISymbolMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkStyle, ISymbolMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\nimport { isNil } from '@visactor/vutils';\n\nexport class SymbolMark extends BaseMark<ISymbolMarkSpec> implements ISymbolMark {\n static readonly type = MarkTypeEnum.symbol;\n readonly type = SymbolMark.type;\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ISymbolMarkSpec> = {\n ...super._getDefaultStyle(),\n size: 1,\n symbolType: 'circle',\n fill: undefined,\n lineWidth: 0\n };\n return defaultStyle as IMarkStyle<ISymbolMarkSpec>;\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const symbolAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const symbolType =\n symbolAttrs.shape ?? symbolAttrs.symbolType ?? (g.attribute as ISymbolGraphicAttribute)?.symbolType;\n\n if (isNil(symbolType)) {\n symbolAttrs.symbolType = 'circle';\n } else {\n symbolAttrs.symbolType = symbolType;\n }\n return symbolAttrs;\n }\n}\n\nexport const registerSymbolMark = () => {\n Factory.registerMark(SymbolMark.type, SymbolMark);\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n\n Factory.registerGraphicComponent(MarkTypeEnum.symbol, createSymbol);\n};\n"]}
package/esm/mark/text.js CHANGED
@@ -2,7 +2,11 @@ import { Factory } from "./../core/factory";
2
2
 
3
3
  import { BaseMark } from "./base/base-mark";
4
4
 
5
- import { registerRichtext, registerShadowRoot, registerText } from "@visactor/vrender-kits";
5
+ import { registerRichtext } from "@visactor/vrender-kits/register/register-richtext";
6
+
7
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
8
+
9
+ import { registerText } from "@visactor/vrender-kits/register/register-text";
6
10
 
7
11
  import { createRichText, createText } from "@visactor/vrender-core";
8
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,OAAO,QAAS,SAAQ,QAA+B;IAK3D,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QARb,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEpB,cAAS,GAAoB,MAAM,CAAC;IAO9C,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,IAAsC;QACtD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;IACH,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;QACjF,MAAM,SAAS,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAE3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAE,IAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAK,IAAY,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;YACjH,SAAS,CAAC,UAAU,GAAI,IAAY,CAAC,IAAI,CAAC;SAC3C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,cAAc,CAAC,QAA2D,EAAE;QACpF,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,IAAI,MAAK,MAAM;YAChE,CAAC,CAAC,cAAc,CAAC,KAAkC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC,KAA8B,CAAC,CAAC;IACjD,CAAC;;AAjDe,aAAI,UAAqB;AAoD3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IAEnB,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;IAChE,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC,CAAC","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IComposedTextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkOption, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport type { ITextMark, ITextSpec } from './interface/mark';\nimport { registerRichtext, registerShadowRoot, registerText } from '@visactor/vrender-kits';\nimport type { IGraphic, IRichTextGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\nimport { createRichText, createText } from '@visactor/vrender-core';\nimport { isObject, isValid } from '@visactor/vutils';\n\nexport class TextMark extends BaseMark<IComposedTextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _textType: 'text' | 'rich' = 'text';\n getTextType() {\n return this._textType;\n }\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IComposedTextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n initStyleWithSpec(spec: ITextSpec<IComposedTextMarkSpec>) {\n super.initStyleWithSpec(spec);\n if (spec.textType) {\n this._textType = spec.textType;\n }\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const textAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n\n const { text } = textAttrs;\n\n if (isObject(text) && isValid((text as any).text) && (this._textType === 'rich' || (text as any).type === 'rich')) {\n textAttrs.textConfig = (text as any).text;\n }\n\n return textAttrs;\n }\n\n protected _createGraphic(attrs: ITextGraphicAttribute | IRichTextGraphicAttribute = {}): IGraphic {\n const { text } = attrs;\n\n return this._textType === 'rich' || (text as any)?.type === 'rich'\n ? createRichText(attrs as IRichTextGraphicAttribute)\n : createText(attrs as ITextGraphicAttribute);\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerShadowRoot();\n registerText();\n registerRichtext();\n\n Factory.registerGraphicComponent(MarkTypeEnum.text, createText);\n Factory.registerGraphicComponent('richtext', createRichText);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,OAAO,QAAS,SAAQ,QAA+B;IAK3D,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QARb,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEpB,cAAS,GAAoB,MAAM,CAAC;IAO9C,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,IAAsC;QACtD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;IACH,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;QACjF,MAAM,SAAS,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAE3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAE,IAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAK,IAAY,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;YACjH,SAAS,CAAC,UAAU,GAAI,IAAY,CAAC,IAAI,CAAC;SAC3C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,cAAc,CAAC,QAA2D,EAAE;QACpF,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,IAAI,MAAK,MAAM;YAChE,CAAC,CAAC,cAAc,CAAC,KAAkC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC,KAA8B,CAAC,CAAC;IACjD,CAAC;;AAjDe,aAAI,UAAqB;AAoD3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IAEnB,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;IAChE,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC,CAAC","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IComposedTextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkOption, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport type { ITextMark, ITextSpec } from './interface/mark';\nimport { registerRichtext } from '@visactor/vrender-kits/register/register-richtext';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerText } from '@visactor/vrender-kits/register/register-text';\nimport type { IGraphic, IRichTextGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\nimport { createRichText, createText } from '@visactor/vrender-core';\nimport { isObject, isValid } from '@visactor/vutils';\n\nexport class TextMark extends BaseMark<IComposedTextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _textType: 'text' | 'rich' = 'text';\n getTextType() {\n return this._textType;\n }\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IComposedTextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n initStyleWithSpec(spec: ITextSpec<IComposedTextMarkSpec>) {\n super.initStyleWithSpec(spec);\n if (spec.textType) {\n this._textType = spec.textType;\n }\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const textAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n\n const { text } = textAttrs;\n\n if (isObject(text) && isValid((text as any).text) && (this._textType === 'rich' || (text as any).type === 'rich')) {\n textAttrs.textConfig = (text as any).text;\n }\n\n return textAttrs;\n }\n\n protected _createGraphic(attrs: ITextGraphicAttribute | IRichTextGraphicAttribute = {}): IGraphic {\n const { text } = attrs;\n\n return this._textType === 'rich' || (text as any)?.type === 'rich'\n ? createRichText(attrs as IRichTextGraphicAttribute)\n : createText(attrs as ITextGraphicAttribute);\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerShadowRoot();\n registerText();\n registerRichtext();\n\n Factory.registerGraphicComponent(MarkTypeEnum.text, createText);\n Factory.registerGraphicComponent('richtext', createRichText);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { convertDomainToTickData } from "@visactor/vrender-components";
1
+ import { convertDomainToTickData } from "@visactor/vrender-components/axis/tick-data/util";
2
2
 
3
3
  import { last, precisionSub, getDecimalPlaces } from "@visactor/vutils";
4
4
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/axis-sync/tick-align-transform.ts"],"names":[],"mappings":"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","file":"tick-align-transform.js","sourcesContent":["import type { Datum } from '../../../typings';\nimport type { CartesianAxis } from '../../../component';\nimport { convertDomainToTickData } from '@visactor/vrender-components';\nimport { last, precisionSub, getDecimalPlaces } from '@visactor/vutils';\n\nexport interface ITickAlignOpt {\n targetAxis: () => CartesianAxis;\n currentAxis: () => CartesianAxis;\n}\n\nfunction saveTick(value: number, minInput: number, inputRange: number, minOutput: number, outputRange: number) {\n const sub = precisionSub(value, minInput);\n const decimalPlaces = Math.max(getDecimalPlaces(inputRange), getDecimalPlaces(sub));\n const percent = Math.round(sub * 10 ** decimalPlaces) / Math.round(inputRange * 10 ** decimalPlaces);\n return outputRange * percent + minOutput;\n}\n\nexport const tickAlign = (data: Array<Datum>, op: ITickAlignOpt) => {\n if (!data) {\n return data;\n }\n // check align enable\n const targetAxis = op?.targetAxis?.();\n if (!targetAxis) {\n return data;\n }\n const currentAxis = op?.currentAxis?.();\n if (!currentAxis) {\n return data;\n }\n const currentData = currentAxis.getTickData()?.getDataView();\n if (!currentData) {\n return data;\n }\n // TODO 这种方法有点hack\n const currentTickTransform = currentData.transformsArr.find(t => t.type.includes('ticks'));\n if (!currentTickTransform) {\n return data;\n }\n const currentScale = currentAxis.getScale();\n if (!currentScale) {\n return data;\n }\n const targetData = targetAxis.getTickData()?.getDataView()?.latestData;\n if (!targetData?.length) {\n return data;\n }\n const targetScale = targetAxis.getScale();\n if (!targetScale) {\n return data;\n }\n const targetDomain = targetScale.domain();\n const targetRange = last(targetDomain) - targetDomain[0];\n if (targetRange === 0) {\n return data;\n }\n const currentDomain = currentScale.domain();\n const currentRange = last(currentDomain) - currentDomain[0];\n if (targetRange === 0) {\n return data;\n }\n // make the tickData of the current axis consistent with the tickData of the target axis\n const newTicks: number[] = targetData.map((d: { value: number }) =>\n saveTick(d.value, targetDomain[0], targetRange, currentDomain[0], currentRange)\n );\n return convertDomainToTickData(newTicks);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/axis-sync/tick-align-transform.ts"],"names":[],"mappings":"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","file":"tick-align-transform.js","sourcesContent":["import type { Datum } from '../../../typings';\nimport type { CartesianAxis } from '../../../component';\nimport { convertDomainToTickData } from '@visactor/vrender-components/axis/tick-data/util';\nimport { last, precisionSub, getDecimalPlaces } from '@visactor/vutils';\n\nexport interface ITickAlignOpt {\n targetAxis: () => CartesianAxis;\n currentAxis: () => CartesianAxis;\n}\n\nfunction saveTick(value: number, minInput: number, inputRange: number, minOutput: number, outputRange: number) {\n const sub = precisionSub(value, minInput);\n const decimalPlaces = Math.max(getDecimalPlaces(inputRange), getDecimalPlaces(sub));\n const percent = Math.round(sub * 10 ** decimalPlaces) / Math.round(inputRange * 10 ** decimalPlaces);\n return outputRange * percent + minOutput;\n}\n\nexport const tickAlign = (data: Array<Datum>, op: ITickAlignOpt) => {\n if (!data) {\n return data;\n }\n // check align enable\n const targetAxis = op?.targetAxis?.();\n if (!targetAxis) {\n return data;\n }\n const currentAxis = op?.currentAxis?.();\n if (!currentAxis) {\n return data;\n }\n const currentData = currentAxis.getTickData()?.getDataView();\n if (!currentData) {\n return data;\n }\n // TODO 这种方法有点hack\n const currentTickTransform = currentData.transformsArr.find(t => t.type.includes('ticks'));\n if (!currentTickTransform) {\n return data;\n }\n const currentScale = currentAxis.getScale();\n if (!currentScale) {\n return data;\n }\n const targetData = targetAxis.getTickData()?.getDataView()?.latestData;\n if (!targetData?.length) {\n return data;\n }\n const targetScale = targetAxis.getScale();\n if (!targetScale) {\n return data;\n }\n const targetDomain = targetScale.domain();\n const targetRange = last(targetDomain) - targetDomain[0];\n if (targetRange === 0) {\n return data;\n }\n const currentDomain = currentScale.domain();\n const currentRange = last(currentDomain) - currentDomain[0];\n if (targetRange === 0) {\n return data;\n }\n // make the tickData of the current axis consistent with the tickData of the target axis\n const newTicks: number[] = targetData.map((d: { value: number }) =>\n saveTick(d.value, targetDomain[0], targetRange, currentDomain[0], currentRange)\n );\n return convertDomainToTickData(newTicks);\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import { BaseTooltipHandler } from './base';
2
- import { Tooltip as TooltipComponent } from '@visactor/vrender-components';
2
+ import { Tooltip as TooltipComponent } from '@visactor/vrender-components/tooltip';
3
3
  import type { TooltipHandlerParams } from '../../../component/tooltip';
4
4
  import type { IComponentPluginService } from '../interface';
5
5
  import type { ITooltipActual } from '../../../typings';
6
- import type { IContainerSize } from '@visactor/vrender-components';
6
+ import type { IContainerSize } from '@visactor/vrender-components/tooltip/type';
7
7
  import type { ITooltipAttributes } from './interface';
8
8
  export declare class CanvasTooltipHandler extends BaseTooltipHandler {
9
9
  static readonly type: string;
@@ -1,6 +1,6 @@
1
1
  import { BaseTooltipHandler } from "./base";
2
2
 
3
- import { Tooltip as TooltipComponent } from "@visactor/vrender-components";
3
+ import { Tooltip as TooltipComponent } from "@visactor/vrender-components/tooltip";
4
4
 
5
5
  import { isValid, isNil } from "@visactor/vutils";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/canvas-tooltip-handler.ts"],"names":[],"mappings":"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","file":"canvas-tooltip-handler.js","sourcesContent":["import type { ILayer, INode, IStage } from '@visactor/vrender-core';\nimport { BaseTooltipHandler } from './base';\nimport { Tooltip as TooltipComponent } from '@visactor/vrender-components';\nimport { isValid, isNil } from '@visactor/vutils';\nimport type { TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport type { ITooltipActual } from '../../../typings';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { getTooltipAttributes } from './utils/attribute';\nimport type { ITooltipAttributes } from './interface';\n\n/**\n * The tooltip handler class.\n */\nexport class CanvasTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.canvas;\n readonly type = TooltipHandlerType.canvas;\n\n private _layer: ILayer;\n protected _el?: HTMLCanvasElement;\n protected _tooltipCanvasId?: string;\n protected _tooltipComponent: TooltipComponent;\n protected _attributes?: ITooltipAttributes | null = null;\n\n constructor() {\n super(CanvasTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._tooltipCanvasId = (this._chartOption.modeParams as any)?.tooltipCanvasId;\n }\n\n private _initTooltipComponent(stage: IStage) {\n const layer = this._getLayer(stage);\n this._tooltipComponent = new TooltipComponent({\n autoCalculatePosition: false,\n autoMeasure: false\n });\n layer.add(this._tooltipComponent as unknown as INode);\n }\n\n private _getLayer(stage: IStage) {\n if (this._layer) {\n return this._layer;\n }\n\n this._layer = stage.createLayer(this._tooltipCanvasId);\n\n // 需要关闭 layer 对应的 canvas 的事件\n const layerCanvas = this._layer.layerHandler.canvas.nativeCanvas as HTMLCanvasElement;\n // TODO:待 vrender 支持\n if (layerCanvas && layerCanvas.style) {\n layerCanvas.style.touchAction = 'none';\n layerCanvas.style.pointerEvents = 'none';\n }\n\n return this._layer;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!changePositionOnly || isNil(this._attributes)) {\n const globalFontFamily = this._chartOption?.getTheme('fontFamily');\n this._attributes = getTooltipAttributes(actualTooltip, this._component.getSpec(), globalFontFamily);\n }\n const { panel } = this._attributes ?? {};\n // canvas模式下, size需要考虑border size, 目的是为了精准判断边界是否超出画布,达到confine效果\n // html模式不提供confine, 所以不考虑精准计算size\n\n return {\n width: panel.width + panel.lineWidth,\n height: panel.height + panel.lineWidth\n };\n }\n\n protected _removeTooltip() {\n if (this._layer) {\n this._layer.removeAllChild();\n // this._layer.render();\n }\n this._attributes = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n this._visible = visible;\n\n const stage = this._compiler.getStage();\n if (!stage) {\n return;\n }\n\n if (!visible) {\n if (this._tooltipComponent && this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.hideAll();\n this._tooltipComponent.setAttributes({\n visibleAll: false\n });\n }\n return;\n }\n\n if (!this._tooltipComponent) {\n this._initTooltipComponent(stage);\n }\n\n const { activeTooltipSpec } = params;\n const pos = activeTooltipSpec.position;\n if (!params.changePositionOnly) {\n this._tooltipComponent.setAttributes({\n ...this._attributes,\n ...pos\n });\n } else if (isValid(pos)) {\n this._tooltipComponent.setAttributes(pos);\n }\n\n if (!this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.showAll();\n this._tooltipComponent.setAttributes({\n visibleAll: true\n });\n }\n }\n\n isTooltipShown() {\n return this._tooltipComponent?.attribute.visibleAll;\n }\n\n release() {\n super.release();\n this._layer?.release();\n }\n}\n\nexport const registerCanvasTooltipHandler = () => {\n registerComponentPlugin(CanvasTooltipHandler);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/canvas-tooltip-handler.ts"],"names":[],"mappings":"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","file":"canvas-tooltip-handler.js","sourcesContent":["import type { ILayer, INode, IStage } from '@visactor/vrender-core';\nimport { BaseTooltipHandler } from './base';\nimport { Tooltip as TooltipComponent } from '@visactor/vrender-components/tooltip';\nimport { isValid, isNil } from '@visactor/vutils';\nimport type { TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport type { ITooltipActual } from '../../../typings';\nimport type { IContainerSize } from '@visactor/vrender-components/tooltip/type';\nimport { getTooltipAttributes } from './utils/attribute';\nimport type { ITooltipAttributes } from './interface';\n\n/**\n * The tooltip handler class.\n */\nexport class CanvasTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.canvas;\n readonly type = TooltipHandlerType.canvas;\n\n private _layer: ILayer;\n protected _el?: HTMLCanvasElement;\n protected _tooltipCanvasId?: string;\n protected _tooltipComponent: TooltipComponent;\n protected _attributes?: ITooltipAttributes | null = null;\n\n constructor() {\n super(CanvasTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._tooltipCanvasId = (this._chartOption.modeParams as any)?.tooltipCanvasId;\n }\n\n private _initTooltipComponent(stage: IStage) {\n const layer = this._getLayer(stage);\n this._tooltipComponent = new TooltipComponent({\n autoCalculatePosition: false,\n autoMeasure: false\n });\n layer.add(this._tooltipComponent as unknown as INode);\n }\n\n private _getLayer(stage: IStage) {\n if (this._layer) {\n return this._layer;\n }\n\n this._layer = stage.createLayer(this._tooltipCanvasId);\n\n // 需要关闭 layer 对应的 canvas 的事件\n const layerCanvas = this._layer.layerHandler.canvas.nativeCanvas as HTMLCanvasElement;\n // TODO:待 vrender 支持\n if (layerCanvas && layerCanvas.style) {\n layerCanvas.style.touchAction = 'none';\n layerCanvas.style.pointerEvents = 'none';\n }\n\n return this._layer;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!changePositionOnly || isNil(this._attributes)) {\n const globalFontFamily = this._chartOption?.getTheme('fontFamily');\n this._attributes = getTooltipAttributes(actualTooltip, this._component.getSpec(), globalFontFamily);\n }\n const { panel } = this._attributes ?? {};\n // canvas模式下, size需要考虑border size, 目的是为了精准判断边界是否超出画布,达到confine效果\n // html模式不提供confine, 所以不考虑精准计算size\n\n return {\n width: panel.width + panel.lineWidth,\n height: panel.height + panel.lineWidth\n };\n }\n\n protected _removeTooltip() {\n if (this._layer) {\n this._layer.removeAllChild();\n // this._layer.render();\n }\n this._attributes = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n this._visible = visible;\n\n const stage = this._compiler.getStage();\n if (!stage) {\n return;\n }\n\n if (!visible) {\n if (this._tooltipComponent && this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.hideAll();\n this._tooltipComponent.setAttributes({\n visibleAll: false\n });\n }\n return;\n }\n\n if (!this._tooltipComponent) {\n this._initTooltipComponent(stage);\n }\n\n const { activeTooltipSpec } = params;\n const pos = activeTooltipSpec.position;\n if (!params.changePositionOnly) {\n this._tooltipComponent.setAttributes({\n ...this._attributes,\n ...pos\n });\n } else if (isValid(pos)) {\n this._tooltipComponent.setAttributes(pos);\n }\n\n if (!this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.showAll();\n this._tooltipComponent.setAttributes({\n visibleAll: true\n });\n }\n }\n\n isTooltipShown() {\n return this._tooltipComponent?.attribute.visibleAll;\n }\n\n release() {\n super.release();\n this._layer?.release();\n }\n}\n\nexport const registerCanvasTooltipHandler = () => {\n registerComponentPlugin(CanvasTooltipHandler);\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import { registerHtmlAttributePlugin, registerReactAttributePlugin } from "@visactor/vrender-core";
2
2
 
3
- import { registerAnimate as registerVRenderAnimate } from "@visactor/vrender-animate";
3
+ import { registerAnimate as registerVRenderAnimate } from "@visactor/vrender-animate/register";
4
4
 
5
- import { DragNDrop, Gesture } from "@visactor/vrender-kits";
5
+ import { DragNDrop, Gesture } from "@visactor/vrender-kits/event/extension";
6
6
 
7
7
  import { Factory } from "../core/factory";
8
8
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/other.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,sBAAsB,EAAE,CAAC;IACzB,wBAAwB,EAAE,CAAC;IAC3B,sBAAsB,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,CAAC","file":"other.js","sourcesContent":["import { registerHtmlAttributePlugin, registerReactAttributePlugin } from '@visactor/vrender-core';\n\nimport { registerAnimate as registerVRenderAnimate } from '@visactor/vrender-animate';\nimport { DragNDrop, Gesture } from '@visactor/vrender-kits';\nimport { Factory } from '../core/factory';\nimport { registerBuiltInAnimation, registerStageAnimation } from '../animation/config';\n\nexport const registerAnimate = () => {\n registerVRenderAnimate();\n registerBuiltInAnimation();\n registerStageAnimation();\n};\n\nexport const registerDragPlugin = () => {\n Factory.registerStageEventPlugin('drag', DragNDrop);\n};\nexport const registerGesturePlugin = () => {\n Factory.registerStageEventPlugin('gesture', Gesture);\n};\n\nexport { registerReactAttributePlugin, registerHtmlAttributePlugin };\n// export const registerMorph = registerViewMorphAPI;\n"]}
1
+ {"version":3,"sources":["../src/plugin/other.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,sBAAsB,EAAE,CAAC;IACzB,wBAAwB,EAAE,CAAC;IAC3B,sBAAsB,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,CAAC","file":"other.js","sourcesContent":["import { registerHtmlAttributePlugin, registerReactAttributePlugin } from '@visactor/vrender-core';\n\nimport { registerAnimate as registerVRenderAnimate } from '@visactor/vrender-animate/register';\nimport { DragNDrop, Gesture } from '@visactor/vrender-kits/event/extension';\nimport { Factory } from '../core/factory';\nimport { registerBuiltInAnimation, registerStageAnimation } from '../animation/config';\n\nexport const registerAnimate = () => {\n registerVRenderAnimate();\n registerBuiltInAnimation();\n registerStageAnimation();\n};\n\nexport const registerDragPlugin = () => {\n Factory.registerStageEventPlugin('drag', DragNDrop);\n};\nexport const registerGesturePlugin = () => {\n Factory.registerStageEventPlugin('gesture', Gesture);\n};\n\nexport { registerReactAttributePlugin, registerHtmlAttributePlugin };\n// export const registerMorph = registerViewMorphAPI;\n"]}
@@ -170,6 +170,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
170
170
  initSeriesStyleState(): void;
171
171
  afterInitMark(): void;
172
172
  getMarksWithoutRoot(): IMark[];
173
+ protected _getMarkSpecNamesForCompare(): string[];
173
174
  getMarksInType(type: string | string[]): IMark[];
174
175
  getMarkInName(name: string): IMark | undefined;
175
176
  getMarkInId(markId: number): IMark | undefined;
@@ -34,6 +34,8 @@ import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
34
34
 
35
35
  import { STATE_VALUE_ENUM } from "../../compile/mark";
36
36
 
37
+ import { Factory } from "../../core/factory";
38
+
37
39
  import { array, isEqual, isNil, isValid, isBoolean, isString, isFunction, isArray, isValidNumber, isObject, minInArray, maxInArray, merge } from "@visactor/vutils";
38
40
 
39
41
  import { ColorOrdinalScale } from "../../scale/color-ordinal-scale";
@@ -67,11 +69,12 @@ keys)), {}), defaultSeriesSpecUpdatePolicy = {
67
69
  state: !0,
68
70
  stateSort: !0,
69
71
  customShape: !0
70
- }, isSpecObject = value => isObject(value) && !isArray(value) && !isFunction(value), hasOnlyAllowedSubKeyChanges = (specValue, prevSpecValue, allowedSubKeys) => {
71
- if (!isSpecObject(specValue) || !isSpecObject(prevSpecValue)) return !1;
72
+ }, isSpecObject = value => isObject(value) && !isArray(value) && !isFunction(value), normalizeSpecObject = value => isSpecObject(value) ? value : isNil(value) ? {} : null, hasOnlyAllowedSubKeyChanges = (specValue, prevSpecValue, allowedSubKeys) => {
73
+ const specObject = normalizeSpecObject(specValue), prevSpecObject = normalizeSpecObject(prevSpecValue);
74
+ if (!specObject || !prevSpecObject) return !1;
72
75
  let changed = !1;
73
- const subKeys = Array.from(new Set([ ...Object.keys(prevSpecValue), ...Object.keys(specValue) ]));
74
- for (const subKey of subKeys) if (!isEqual(specValue[subKey], prevSpecValue[subKey])) {
76
+ const subKeys = Array.from(new Set([ ...Object.keys(prevSpecObject), ...Object.keys(specObject) ]));
77
+ for (const subKey of subKeys) if (!isEqual(specObject[subKey], prevSpecObject[subKey])) {
75
78
  if (!allowedSubKeys[subKey]) return !1;
76
79
  changed = !0;
77
80
  }
@@ -577,6 +580,14 @@ export class BaseSeries extends BaseModel {
577
580
  return !(null === (_a = m.name) || void 0 === _a ? void 0 : _a.includes("seriesGroup"));
578
581
  }));
579
582
  }
583
+ _getMarkSpecNamesForCompare() {
584
+ const names = new Set;
585
+ return this.getMarksWithoutRoot().forEach((mark => {
586
+ mark.name && names.add(mark.name);
587
+ })), Object.values(Factory.getSeriesMarkMap(this.type)).forEach((markInfo => {
588
+ (null == markInfo ? void 0 : markInfo.name) && names.add(markInfo.name);
589
+ })), Array.from(names);
590
+ }
580
591
  getMarksInType(type) {
581
592
  return this._marks.getMarksInType(type);
582
593
  }
@@ -620,7 +631,7 @@ export class BaseSeries extends BaseModel {
620
631
  !result.reMake && this._compareLabelSpec(array(spec.label), array(prevSpec.label), result),
621
632
  !result.reMake && this._compareLabelSpec(array(spec.totalLabel), array(prevSpec.totalLabel), result),
622
633
  result.reMake) return result;
623
- const changedMarkCompileOnlyKeys = this.getMarksWithoutRoot().map((m => m.name)).filter((name => hasOnlyAllowedSubKeyChanges(spec[name], prevSpec[name], defaultSeriesMarkCompileOnlySubKeys)));
634
+ const changedMarkCompileOnlyKeys = this._getMarkSpecNamesForCompare().filter((name => hasOnlyAllowedSubKeyChanges(spec[name], prevSpec[name], defaultSeriesMarkCompileOnlySubKeys)));
624
635
  changedMarkCompileOnlyKeys.forEach((k => {
625
636
  ignores[k] = !0;
626
637
  })), !result.reCompile && changedMarkCompileOnlyKeys.length && (result.reCompile = !0);