@visactor/vchart 2.0.23-alpha.6 → 2.1.0-alpha.0

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 (104) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +21465 -16956
  3. package/build/index.js +21467 -16958
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/compile/compiler.d.ts +4 -0
  7. package/cjs/compile/compiler.js +66 -41
  8. package/cjs/compile/compiler.js.map +1 -1
  9. package/cjs/compile/interface/compiler.d.ts +2 -1
  10. package/cjs/compile/interface/compiler.js.map +1 -1
  11. package/cjs/compile/stage-app.d.ts +9 -0
  12. package/cjs/compile/stage-app.js +39 -0
  13. package/cjs/compile/stage-app.js.map +1 -0
  14. package/cjs/component/brush/brush.js +13 -12
  15. package/cjs/component/brush/brush.js.map +1 -1
  16. package/cjs/component/marker/mark-line/cartesian-mark-line.js +7 -18
  17. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  18. package/cjs/component/marker/mark-line/interface/spec.d.ts +2 -9
  19. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  20. package/cjs/component/util.js +2 -1
  21. package/cjs/constant/attribute.js +1 -2
  22. package/cjs/constant/scroll-bar.js +2 -1
  23. package/cjs/constant/waterfall.js +1 -2
  24. package/cjs/core/factory.js +1 -1
  25. package/cjs/core/index.js +1 -1
  26. package/cjs/core/instance-manager.js +1 -1
  27. package/cjs/env/env.js +1 -1
  28. package/cjs/env/index.js +1 -1
  29. package/cjs/interaction/interaction.js +11 -8
  30. package/cjs/interaction/interaction.js.map +1 -1
  31. package/cjs/interaction/triggers/element-active-by-legend.js +3 -2
  32. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  33. package/cjs/interaction/triggers/element-active.js +4 -3
  34. package/cjs/interaction/triggers/element-active.js.map +1 -1
  35. package/cjs/interaction/triggers/element-highlight-by-group.js +3 -2
  36. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  37. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  38. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  39. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  40. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  41. package/cjs/interaction/triggers/element-highlight.js +2 -2
  42. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  43. package/cjs/interaction/triggers/element-select.js +3 -3
  44. package/cjs/interaction/triggers/element-select.js.map +1 -1
  45. package/cjs/mark/base/base-mark.d.ts +1 -0
  46. package/cjs/mark/base/base-mark.js +29 -15
  47. package/cjs/mark/base/base-mark.js.map +1 -1
  48. package/cjs/mark/utils/glyph.js +3 -2
  49. package/cjs/mark/utils/glyph.js.map +1 -1
  50. package/cjs/series/sankey/sankey.js +32 -24
  51. package/cjs/series/sankey/sankey.js.map +1 -1
  52. package/cjs/util/graphic-state.d.ts +3 -0
  53. package/cjs/util/graphic-state.js +25 -0
  54. package/cjs/util/graphic-state.js.map +1 -0
  55. package/esm/compile/compiler.d.ts +4 -0
  56. package/esm/compile/compiler.js +68 -40
  57. package/esm/compile/compiler.js.map +1 -1
  58. package/esm/compile/interface/compiler.d.ts +2 -1
  59. package/esm/compile/interface/compiler.js.map +1 -1
  60. package/esm/compile/stage-app.d.ts +9 -0
  61. package/esm/compile/stage-app.js +35 -0
  62. package/esm/compile/stage-app.js.map +1 -0
  63. package/esm/component/brush/brush.js +9 -7
  64. package/esm/component/brush/brush.js.map +1 -1
  65. package/esm/component/marker/mark-line/cartesian-mark-line.js +8 -18
  66. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  67. package/esm/component/marker/mark-line/interface/spec.d.ts +2 -9
  68. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  69. package/esm/component/util.js +2 -1
  70. package/esm/constant/attribute.js +1 -2
  71. package/esm/constant/scroll-bar.js +2 -1
  72. package/esm/constant/waterfall.js +1 -2
  73. package/esm/core/factory.js +1 -1
  74. package/esm/core/index.js +1 -1
  75. package/esm/core/instance-manager.js +1 -1
  76. package/esm/env/env.js +1 -1
  77. package/esm/env/index.js +1 -1
  78. package/esm/interaction/interaction.js +10 -8
  79. package/esm/interaction/interaction.js.map +1 -1
  80. package/esm/interaction/triggers/element-active-by-legend.js +3 -1
  81. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  82. package/esm/interaction/triggers/element-active.js +4 -2
  83. package/esm/interaction/triggers/element-active.js.map +1 -1
  84. package/esm/interaction/triggers/element-highlight-by-group.js +4 -1
  85. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  86. package/esm/interaction/triggers/element-highlight-by-legend.js +3 -1
  87. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  88. package/esm/interaction/triggers/element-highlight-by-name.js +3 -1
  89. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  90. package/esm/interaction/triggers/element-highlight.js +3 -1
  91. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  92. package/esm/interaction/triggers/element-select.js +4 -2
  93. package/esm/interaction/triggers/element-select.js.map +1 -1
  94. package/esm/mark/base/base-mark.d.ts +1 -0
  95. package/esm/mark/base/base-mark.js +29 -14
  96. package/esm/mark/base/base-mark.js.map +1 -1
  97. package/esm/mark/utils/glyph.js +3 -1
  98. package/esm/mark/utils/glyph.js.map +1 -1
  99. package/esm/series/sankey/sankey.js +25 -21
  100. package/esm/series/sankey/sankey.js.map +1 -1
  101. package/esm/util/graphic-state.d.ts +3 -0
  102. package/esm/util/graphic-state.js +17 -0
  103. package/esm/util/graphic-state.js.map +1 -0
  104. package/package.json +8 -7
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.BaseMark = void 0;
16
16
 
17
- const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph");
17
+ const enum_1 = require("../interface/enum"), interface_1 = require("../../compile/mark/interface"), vutils_extension_1 = require("@visactor/vutils-extension"), color_1 = require("../../util/color"), scale_1 = require("../../util/scale"), gradient_1 = require("../../constant/gradient"), attribute_1 = require("../../constant/attribute"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../theme/color-scheme/util"), mark_1 = require("../../compile/mark"), vutils_1 = require("@visactor/vutils"), common_1 = require("../utils/common"), interface_2 = require("../../compile/interface"), vrender_core_1 = require("@visactor/vrender-core"), util_2 = require("../../compile/mark/util"), factory_1 = require("../../core/factory"), data_1 = require("../../constant/data"), grammar_item_1 = require("../../compile/grammar-item"), layout_1 = require("../../constant/layout"), interface_3 = require("../../animation/interface"), compilable_data_1 = require("../../compile/data/compilable-data"), mark_2 = require("../../util/mark"), debug_1 = require("../../util/debug"), morph_1 = require("../../compile/morph"), graphic_state_1 = require("../../util/graphic-state");
18
18
 
19
19
  class BaseMark extends grammar_item_1.GrammarItem {
20
20
  commit(render, recursion) {
@@ -203,10 +203,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
203
203
  setCustomizedShape && (g.pathProxy = attrs => setCustomizedShape(g.context.data, attrs, new vrender_core_1.CustomPath2D)),
204
204
  graphicName && ((0, vutils_1.isFunction)(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
205
205
  }, this._setStateOfGraphic = (g, hasAnimation) => {
206
- g.clearStates(), g.stateProxy = null, g.context.diffState !== enum_1.DiffState.enter && g.context.diffState !== enum_1.DiffState.update || (g.stateProxy = (stateName, nexStates) => {
207
- var _a;
208
- return this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName], g);
209
- }, g.context.states && g.useStates(g.context.states, hasAnimation));
206
+ g.clearStates(), g.stateProxy = null, g.context.diffState !== enum_1.DiffState.enter && g.context.diffState !== enum_1.DiffState.update || g.context.states && g.useStates(g.context.states, hasAnimation);
210
207
  }, this.name = name, this.model = option.model, this.key = option.key, this.state = new mark_1.MarkStateManager(option, this),
211
208
  this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
212
209
  }
@@ -643,20 +640,36 @@ class BaseMark extends grammar_item_1.GrammarItem {
643
640
  groupStyles: groupStyles
644
641
  };
645
642
  }
643
+ _applySharedStateDefinitions() {
644
+ var _a;
645
+ if (!this._product) return;
646
+ const stateNames = Object.keys(null !== (_a = this._encoderOfState) && void 0 !== _a ? _a : {}).filter((stateName => "group" !== stateName && "update" !== stateName));
647
+ if (!stateNames.length) return void (this._product.sharedStateDefinitions = void 0);
648
+ const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
649
+ sortedStateNames.forEach(((stateName, index) => {
650
+ statePriority.set(stateName, index);
651
+ }));
652
+ const sharedStateDefinitions = {};
653
+ stateNames.forEach((stateName => {
654
+ var _a;
655
+ const encoder = this._encoderOfState[stateName];
656
+ sharedStateDefinitions[stateName] = {
657
+ priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0,
658
+ declaredAffectedKeys: Object.keys(null != encoder ? encoder : {}),
659
+ resolver: ({graphic: graphic}) => this._runEncoderOfGraphic(encoder, graphic)
660
+ };
661
+ })), this._product.sharedStateDefinitions = sharedStateDefinitions;
662
+ }
646
663
  _addProgressiveGraphic(parent, g) {
647
664
  parent.incrementalAppendChild(g);
648
665
  }
649
666
  _runEncoder(graphics, noGroupEncode) {
650
667
  var _a;
651
668
  const attrsByGroup = noGroupEncode ? null : this._runGroupEncoder(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.group);
652
- graphics.forEach(((g, index) => {
653
- var _a, _b;
654
- let attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
655
- null === (_b = g.currentStates) || void 0 === _b || _b.forEach((_state => {
656
- var _a;
657
- const stateAttr = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[_state], g);
658
- attrs = Object.assign(Object.assign({}, attrs), stateAttr);
659
- })), (0, vutils_1.isNil)(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
669
+ graphics.forEach((g => {
670
+ var _a;
671
+ const attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
672
+ (0, vutils_1.isNil)(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
660
673
  const finalAttrs = this._transformGraphicAttributes(g, attrs, null == attrsByGroup ? void 0 : attrsByGroup[g.context.groupKey]);
661
674
  g.context.finalAttrs = finalAttrs;
662
675
  }));
@@ -740,7 +753,7 @@ class BaseMark extends grammar_item_1.GrammarItem {
740
753
  }
741
754
  renderInner() {
742
755
  var _a, _b, _c;
743
- this._updateEncoderByState();
756
+ this._updateEncoderByState(), this._applySharedStateDefinitions();
744
757
  const data = null !== (_b = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getProduct()) && void 0 !== _b ? _b : [ {} ], transformData = this._runBeforeTransform(data);
745
758
  let markData;
746
759
  if (null == transformData ? void 0 : transformData.progressive) {
@@ -766,7 +779,8 @@ class BaseMark extends grammar_item_1.GrammarItem {
766
779
  if (!this._product) return;
767
780
  const stateInfo = this.state.getStateInfo(key);
768
781
  this._graphics.forEach((g => {
769
- "in" === this.state.checkOneState(g, g.context.data, stateInfo) ? g.addState(key, !0, this.hasAnimationByState("state")) : g.removeState(key, this.hasAnimationByState("state"));
782
+ "in" === this.state.checkOneState(g, g.context.data, stateInfo) ? (0, graphic_state_1.addGraphicState)(g, key, !0, this.hasAnimationByState("state")) : (0,
783
+ graphic_state_1.removeGraphicState)(g, key, this.hasAnimationByState("state"));
770
784
  }));
771
785
  }
772
786
  clearExitGraphics() {