@visactor/vchart-types 1.12.4-alpha.1 → 1.12.4-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/package.json +1 -1
  2. package/tsconfig.tsbuildinfo +1 -1
  3. package/types/chart/base/base-chart.d.ts +1 -0
  4. package/types/chart/chart-meta/data.d.ts +1 -2
  5. package/types/chart/gauge/interface.d.ts +1 -1
  6. package/types/chart/mosaic/mosaic.d.ts +0 -1
  7. package/types/chart/pie/interface.d.ts +2 -2
  8. package/types/chart/polar/interface.d.ts +2 -0
  9. package/types/chart/treemap/interface.d.ts +1 -1
  10. package/types/chart/venn/interface.d.ts +2 -2
  11. package/types/compile/interface/compiler.d.ts +15 -0
  12. package/types/compile/mark/compilable-mark.d.ts +7 -39
  13. package/types/compile/mark/interface.d.ts +5 -25
  14. package/types/component/axis/base-axis.d.ts +2 -2
  15. package/types/component/axis/cartesian/axis.d.ts +2 -0
  16. package/types/component/axis/cartesian/interface/common.d.ts +1 -0
  17. package/types/component/axis/interface/spec.d.ts +1 -0
  18. package/types/component/axis/mixin/util/break-data.d.ts +1 -1
  19. package/types/component/axis/polar/axis.d.ts +1 -1
  20. package/types/component/axis/polar/interface/spec.d.ts +3 -1
  21. package/types/component/custom-mark/custom-mark.d.ts +1 -4
  22. package/types/component/data-zoom/data-filter-base-component.d.ts +3 -0
  23. package/types/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
  24. package/types/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
  25. package/types/component/geo/geo-coordinate.d.ts +7 -0
  26. package/types/component/interface/common.d.ts +1 -1
  27. package/types/component/interface/index.d.ts +0 -1
  28. package/types/component/label/base-label.d.ts +1 -2
  29. package/types/component/label/interface.d.ts +2 -2
  30. package/types/component/label/label.d.ts +0 -1
  31. package/types/component/label/total-label.d.ts +1 -1
  32. package/types/component/label/util.d.ts +5 -5
  33. package/types/component/marker/base-marker.d.ts +4 -1
  34. package/types/component/marker/interface.d.ts +9 -2
  35. package/types/component/marker/utils.d.ts +4 -4
  36. package/types/component/player/player.d.ts +1 -3
  37. package/types/component/title/interface/spec.d.ts +3 -3
  38. package/types/component/title/interface/theme.d.ts +1 -1
  39. package/types/component/tooltip/constant.d.ts +5 -4
  40. package/types/component/tooltip/interface/common.d.ts +1 -1
  41. package/types/component/tooltip/interface/spec.d.ts +23 -3
  42. package/types/component/tooltip/interface/theme.d.ts +2 -2
  43. package/types/component/tooltip/processor/base.d.ts +3 -5
  44. package/types/component/tooltip/tooltip.d.ts +13 -6
  45. package/types/component/tooltip/utils/common.d.ts +6 -4
  46. package/types/component/tooltip/utils/get-spec.d.ts +4 -4
  47. package/types/component/tooltip/utils/get-value.d.ts +1 -2
  48. package/types/component/tooltip/utils/index.d.ts +0 -1
  49. package/types/component/util.d.ts +3 -0
  50. package/types/core/vchart.d.ts +1 -1
  51. package/types/data/initialize.d.ts +1 -2
  52. package/types/data/transforms/pie.d.ts +3 -0
  53. package/types/mark/interface/common.d.ts +10 -0
  54. package/types/model/base-model.d.ts +2 -2
  55. package/types/model/interface.d.ts +14 -0
  56. package/types/plugin/chart/media-query/media-query.d.ts +1 -0
  57. package/types/plugin/chart/plugin-service.d.ts +2 -0
  58. package/types/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
  59. package/types/plugin/components/tooltip-handler/base.d.ts +1 -16
  60. package/types/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
  61. package/types/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
  62. package/types/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
  63. package/types/region/interface.d.ts +3 -1
  64. package/types/series/area/area.d.ts +2 -0
  65. package/types/series/bar/bar.d.ts +4 -4
  66. package/types/series/base/base-series.d.ts +8 -7
  67. package/types/series/base/tooltip-helper.d.ts +30 -6
  68. package/types/series/box-plot/box-plot.d.ts +1 -0
  69. package/types/series/box-plot/tooltip-helper.d.ts +2 -2
  70. package/types/series/cartesian/cartesian.d.ts +1 -1
  71. package/types/series/correlation/correlation.d.ts +1 -0
  72. package/types/series/dot/dot.d.ts +0 -1
  73. package/types/series/dot/tooltip-helper.d.ts +8 -2
  74. package/types/series/funnel/funnel.d.ts +2 -0
  75. package/types/series/funnel/interface.d.ts +3 -1
  76. package/types/series/gauge/interface.d.ts +1 -1
  77. package/types/series/gauge/pointer-tooltip-helper.d.ts +2 -1
  78. package/types/series/heatmap/tooltip-helper.d.ts +2 -3
  79. package/types/series/interface/common.d.ts +1 -9
  80. package/types/series/interface/tooltip-helper.d.ts +5 -4
  81. package/types/series/link/tooltip-helper.d.ts +5 -2
  82. package/types/series/liquid/tooltip-helper.d.ts +4 -5
  83. package/types/series/map/map.d.ts +1 -0
  84. package/types/series/mixin/line-mixin.d.ts +2 -2
  85. package/types/series/pie/interface.d.ts +3 -3
  86. package/types/series/pie/pie.d.ts +1 -0
  87. package/types/series/polar/animation.d.ts +9 -11
  88. package/types/series/progress/linear/tooltip-helper.d.ts +2 -3
  89. package/types/series/radar/animation.d.ts +0 -3
  90. package/types/series/range-area/tooltip-helper.d.ts +1 -3
  91. package/types/series/range-column/tooltip-helper.d.ts +1 -2
  92. package/types/series/sankey/sankey.d.ts +2 -1
  93. package/types/series/sankey/tooltip-helper.d.ts +3 -3
  94. package/types/series/waterfall/waterfall.d.ts +1 -0
  95. package/types/typings/spec/common.d.ts +6 -3
  96. package/types/typings/tooltip/position.d.ts +1 -0
  97. package/types/typings/tooltip/shape.d.ts +0 -1
  98. package/types/typings/tooltip/tooltip.d.ts +7 -0
  99. package/types/util/math.d.ts +1 -0
  100. package/types/util/scale.d.ts +1 -1
@@ -7,6 +7,7 @@ import type { Datum } from '@visactor/vrender-components';
7
7
  import type { ICartesianSeries, IGeoSeries, IPolarSeries } from '../../series/interface';
8
8
  import type { IOptionAggr, IOptionAggrField, IOptionSeries, IOptionWithCoordinates } from '../../data/transforms/aggregation';
9
9
  import type { IOptionRegr } from '../../data/transforms/regression';
10
+ import type { VChart } from '../../vchart-all';
10
11
  export type IMarkerSupportSeries = ICartesianSeries | IPolarSeries | IGeoSeries;
11
12
  export type IPolarPoint = {
12
13
  angle: number;
@@ -98,8 +99,8 @@ export type IMarkerSymbol = IMarkerRef & {
98
99
  symbolType?: SymbolType;
99
100
  size?: number;
100
101
  } & Partial<IMarkerState<Omit<ISymbolMarkSpec, 'visible'>>>;
101
- export type MarkerStyleCallback<T> = (markerData: DataView) => T;
102
- export type MarkerStateCallback<T> = (markerData: DataView) => T;
102
+ export type MarkerStyleCallback<T> = (markerData: DataView, context: IMarkerAttributeContext) => T;
103
+ export type MarkerStateCallback<T> = (markerData: DataView, context: IMarkerAttributeContext) => T;
103
104
  export type MarkerStateValue = 'hover' | 'hover_reverse' | 'selected' | 'selected_reverse';
104
105
  export type IMarkerState<T> = {
105
106
  style?: T | MarkerStyleCallback<T>;
@@ -112,3 +113,9 @@ export type IMarkProcessOptions = {
112
113
  needRegr?: boolean;
113
114
  processData?: DataView;
114
115
  };
116
+ export type IMarkerAttributeContext = {
117
+ vchart: VChart;
118
+ relativeSeries: IMarkerSupportSeries;
119
+ startRelativeSeries: IMarkerSupportSeries;
120
+ endRelativeSeries: IMarkerSupportSeries;
121
+ };
@@ -1,7 +1,7 @@
1
1
  import type { DataView } from '@visactor/vdataset';
2
2
  import { type IPointLike } from '@visactor/vutils';
3
3
  import type { Datum, IPoint } from '../../typings';
4
- import type { IDataPos, IMarkerLabelSpec, IMarkerState, IMarkerSupportSeries, IPolarPoint, MarkerPositionPoint, MarkerStateValue } from './interface';
4
+ import type { IDataPos, IMarkerAttributeContext, IMarkerLabelSpec, IMarkerState, IMarkerSupportSeries, IPolarPoint, MarkerPositionPoint, MarkerStateValue } from './interface';
5
5
  import type { IRegion } from '../../region/interface';
6
6
  import type { OffsetPoint } from './interface';
7
7
  export declare function isAggrSpec(spec: IDataPos): boolean;
@@ -17,9 +17,9 @@ export declare function computeClipRange(regions: IRegion[]): {
17
17
  minY: number;
18
18
  maxY: number;
19
19
  };
20
- export declare function transformLabelAttributes(label: IMarkerLabelSpec, markerData: any): any;
21
- export declare function transformState(state: {} | Record<MarkerStateValue, any | IMarkerState<any>>, markerData: DataView): {} | Record<MarkerStateValue, any>;
22
- export declare function transformStyle(style: any, markerData: DataView): any;
20
+ export declare function transformLabelAttributes(label: IMarkerLabelSpec, markerData: any, markAttributeContext: IMarkerAttributeContext): any;
21
+ export declare function transformState(state: {} | Record<MarkerStateValue, any | IMarkerState<any>>, markerData: DataView, markerAttributeContext: IMarkerAttributeContext): {} | Record<MarkerStateValue, any>;
22
+ export declare function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext): any;
23
23
  export declare function transformOffset(offset: string | number | Function, region: IRegion): any;
24
24
  export declare function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number;
25
25
  export declare function getMarkLineProcessInfo(spec: any): {
@@ -1,6 +1,5 @@
1
1
  import type { IGraphic } from '@visactor/vrender-core';
2
- import type { Maybe } from '@visactor/vutils';
3
- import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
2
+ import type { IModelRenderOption } from '../../model/interface';
4
3
  import type { IRegion } from '../../region/interface';
5
4
  import type { IPlayer } from './interface';
6
5
  import type { IComponent } from '../interface';
@@ -28,7 +27,6 @@ export declare class Player extends BaseComponent<IPlayer> implements IComponent
28
27
  private _position;
29
28
  get orient(): IOrientType;
30
29
  set layoutOrient(v: IOrientType);
31
- static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
32
30
  setAttrFromSpec(): void;
33
31
  afterSetLayoutStartPoint(pos: IPoint): void;
34
32
  getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): {
@@ -1,5 +1,5 @@
1
1
  import type { IComponent } from '../../interface';
2
- import type { ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak } from '@visactor/vrender-core';
2
+ import type { ITextGraphicAttribute, IRichTextCharacter, ITextAttribute } from '@visactor/vrender-core';
3
3
  import type { IOrientType, IPadding } from '../../../typings';
4
4
  import type { IComponentSpec } from '../../base/interface';
5
5
  interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
@@ -21,7 +21,7 @@ interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
21
21
  height?: number;
22
22
  align?: string;
23
23
  verticalAlign?: string;
24
- wordBreak?: RichTextWordBreak;
24
+ wordBreak?: ITextAttribute['wordBreak'];
25
25
  maxLineWidth?: number;
26
26
  heightLimit?: number;
27
27
  lineClamp?: number;
@@ -32,7 +32,7 @@ interface ITitleSpecWithoutText extends Omit<IComponentSpec, 'orient'> {
32
32
  height?: number;
33
33
  align?: string;
34
34
  verticalAlign?: string;
35
- wordBreak?: RichTextWordBreak;
35
+ wordBreak?: ITextAttribute['wordBreak'];
36
36
  maxLineWidth?: number;
37
37
  heightLimit?: number;
38
38
  lineClamp?: number;
@@ -12,7 +12,7 @@ export interface ITitleTextTheme {
12
12
  fontWeight?: StringOrNumber;
13
13
  textAlign?: TextAlign;
14
14
  textBaseline?: TextBaseLine;
15
- lineHeight?: number;
15
+ lineHeight?: number | ITokenKey;
16
16
  }
17
17
  export interface ITitleTheme extends ILayoutItemSpec {
18
18
  textStyle?: ITitleTextTheme;
@@ -1,9 +1,10 @@
1
1
  import type { ITooltipLineActual, TooltipActiveType } from '../../typings';
2
- export declare class TooltipHandlerType {
3
- static dom: string;
4
- static canvas: string;
5
- }
2
+ export declare const TooltipHandlerType: {
3
+ dom: string;
4
+ canvas: string;
5
+ };
6
6
  export declare const TOOLTIP_EL_CLASS_NAME = "vchart-tooltip-element";
7
7
  export declare const TOOLTIP_MAX_LINE_COUNT = 20;
8
8
  export declare const TOOLTIP_OTHERS_LINE: ITooltipLineActual;
9
9
  export declare const TOOLTIP_TYPES: TooltipActiveType[];
10
+ export declare const DEFAULT_SHOW_DELAY = 50;
@@ -7,7 +7,7 @@ export type TooltipHandlerParams = DimensionEventParams & {
7
7
  changePositionOnly?: boolean;
8
8
  tooltip: ITooltip;
9
9
  tooltipSpec?: ITooltipSpec;
10
- tooltipActual?: ITooltipActual;
10
+ activeTooltipSpec?: ITooltipActual;
11
11
  groupDatum?: Datum[];
12
12
  };
13
13
  export interface ITooltipActiveTypeAsKeys<T, K, U> {
@@ -1,11 +1,24 @@
1
+ import type { EventSourceType, EventType } from '../../../event/interface';
1
2
  import type { IGroupTooltipPattern, ITooltipActual, ITooltipPattern, Maybe, MaybeArray, TooltipActiveType, TooltipData } from '../../../typings';
2
3
  import type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';
3
4
  import type { ITooltipTheme } from './theme';
4
- export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern, ITooltipPattern, IGroupTooltipPattern>> {
5
+ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern & {
6
+ checkOverlap?: boolean;
7
+ }, ITooltipPattern, IGroupTooltipPattern>> {
5
8
  visible?: boolean;
6
9
  activeType?: TooltipActiveType | TooltipActiveType[];
7
- trigger?: MaybeArray<'hover' | 'click'> | 'none';
8
- triggerOff?: MaybeArray<'hover' | 'click'> | 'none';
10
+ trigger?: MaybeArray<'hover' | 'click' | {
11
+ eventType: EventType;
12
+ source?: EventSourceType;
13
+ consume?: boolean;
14
+ }> | 'none';
15
+ triggerOff?: MaybeArray<'hover' | 'click' | {
16
+ eventType: EventType;
17
+ source?: EventSourceType;
18
+ consume?: boolean;
19
+ checkOutside?: boolean;
20
+ }> | 'none';
21
+ showDelay?: number;
9
22
  hideTimer?: number;
10
23
  lockAfterClick?: boolean;
11
24
  style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;
@@ -23,9 +36,16 @@ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipP
23
36
  y?: number;
24
37
  };
25
38
  }
39
+ type ISeriesToolipPattern = Pick<ITooltipPattern, 'visible' | 'title' | 'content' | 'hasShape' | 'shapeColor' | 'shapeFill' | 'shapeHollow' | 'shapeLineWidth' | 'shapeSize' | 'shapeStroke' | 'shapeType' | 'updateContent' | 'updateTitle' | 'updatePosition'>;
40
+ export interface ISeriesTooltipSpec extends Pick<ITooltipSpec, 'visible' | 'activeType' | 'handler'> {
41
+ dimension?: ISeriesToolipPattern;
42
+ mark?: ISeriesToolipPattern;
43
+ group?: Pick<IGroupTooltipPattern, 'triggerMark'> & ISeriesToolipPattern;
44
+ }
26
45
  export interface ITooltipHandlerSpec {
27
46
  showTooltip: (activeType: TooltipActiveType, tooltipData: TooltipData, params: TooltipHandlerParams) => Maybe<TooltipResult>;
28
47
  hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;
29
48
  release: () => void;
30
49
  isTooltipShown?: () => boolean;
31
50
  }
51
+ export {};
@@ -1,4 +1,4 @@
1
- import type { RichTextWordBreak } from '@visactor/vrender-core';
1
+ import type { ITextAttribute } from '@visactor/vrender-core';
2
2
  import type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';
3
3
  import type { Padding } from '@visactor/vrender-components';
4
4
  import type { ITokenKey } from '../../../theme/token';
@@ -14,7 +14,7 @@ export interface ITooltipTextTheme<ColorType = string> {
14
14
  spacing?: number;
15
15
  multiLine?: boolean;
16
16
  maxWidth?: number;
17
- wordBreak?: RichTextWordBreak;
17
+ wordBreak?: ITextAttribute['wordBreak'];
18
18
  autoWidth?: boolean;
19
19
  }
20
20
  export interface ITooltipTheme<ColorType = string> {
@@ -1,6 +1,6 @@
1
1
  import type { BaseEventParams } from '../../../event/interface';
2
2
  import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';
3
- import type { ITooltipSpec, TooltipHandlerParams } from '../interface';
3
+ import type { TooltipHandlerParams } from '../interface';
4
4
  import { TooltipResult } from '../interface/common';
5
5
  import type { Tooltip } from '../tooltip';
6
6
  import type { MouseEventData, TooltipInfo } from './interface';
@@ -8,15 +8,13 @@ import type { IDimensionInfo } from '../../../event/events/dimension';
8
8
  export declare abstract class BaseTooltipProcessor {
9
9
  readonly component: Tooltip;
10
10
  abstract activeType: TooltipActiveType;
11
- protected _cacheViewSpec: ITooltipSpec | undefined;
12
- protected _cacheActualTooltip: ITooltipActual | undefined;
11
+ protected _cacheActiveSpec: ITooltipActual | undefined;
13
12
  constructor(component: Tooltip);
14
13
  abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;
15
14
  abstract getMouseEventData(params: BaseEventParams): MouseEventData;
16
15
  protected _showTooltipByHandler: (data: TooltipData | undefined, params: TooltipHandlerParams) => TooltipResult;
17
16
  protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined;
18
- protected _updateViewSpec(params: TooltipHandlerParams): void;
19
- protected _updateActualTooltip(data: TooltipData, params: TooltipHandlerParams): void;
17
+ protected _updateViewSpec(data: TooltipData, params: TooltipHandlerParams): void;
20
18
  shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean;
21
19
  clearCache(): void;
22
20
  }
@@ -1,5 +1,5 @@
1
1
  import { ComponentTypeEnum } from '../interface/type';
2
- import type { IModelLayoutOption, IModelRenderOption, IModelSpecInfo } from '../../model/interface';
2
+ import type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';
3
3
  import type { IRegion } from '../../region/interface';
4
4
  import { BaseComponent } from '../base/base-component';
5
5
  import type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';
@@ -8,7 +8,6 @@ import type { Datum, IShowTooltipOption } from '../../typings';
8
8
  import type { ITooltip, ITooltipActiveTypeAsKeys, ITooltipSpec, TooltipHandlerParams, TotalMouseEventData } from './interface';
9
9
  import { TooltipResult } from './interface/common';
10
10
  import { GroupTooltipProcessor, DimensionTooltipProcessor, MarkTooltipProcessor } from './processor';
11
- import type { Maybe } from '@visactor/vutils';
12
11
  import type { IGraphic } from '@visactor/vrender-core';
13
12
  import { TooltipSpecTransformer } from './tooltip-transformer';
14
13
  export declare class Tooltip extends BaseComponent<any> implements ITooltip {
@@ -21,18 +20,24 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
21
20
  static specKey: string;
22
21
  specKey: string;
23
22
  layoutType: 'none';
24
- private _timer?;
23
+ private _hideTimer?;
24
+ private _outTimer?;
25
+ private _showTimer?;
26
+ private _needInitEventOfTooltip?;
27
+ private _enterable;
28
+ private _isReleased;
25
29
  protected _spec: ITooltipSpec;
26
- static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
27
30
  tooltipHandler?: ITooltipHandler;
28
31
  processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor, GroupTooltipProcessor>;
29
32
  private _alwaysShow;
30
33
  private _cacheInfo;
31
34
  private _cacheParams;
32
35
  private _cacheActiveType;
36
+ private _cacheEnterableRect;
33
37
  private _eventList;
34
38
  protected _isTooltipShown: boolean;
35
39
  protected _clickLock: boolean;
40
+ private _handleMouseMove;
36
41
  isTooltipShown(): boolean;
37
42
  changeRegions(regions: IRegion[]): void;
38
43
  protected _getNeedClearVRenderComponents(): IGraphic[];
@@ -45,22 +50,24 @@ export declare class Tooltip extends BaseComponent<any> implements ITooltip {
45
50
  release(): void;
46
51
  beforeRelease(): void;
47
52
  protected _initHandler(): void;
53
+ protected _initEventOfTooltipContent(): void;
48
54
  protected _initProcessor(): void;
49
55
  protected _initEvent(): void;
56
+ protected _throttle(callback: (...args: any[]) => any): (...args: any[]) => any;
50
57
  protected _mountEvent: (eType: EventType, query: EventQuery, callback: EventCallback<any>) => void;
51
58
  protected _handleClickToLock: (params: BaseEventParams) => void;
52
59
  protected _getMouseOutHandler: (needPointerDetection?: boolean) => (params: BaseEventParams) => void;
53
60
  protected _handleChartMouseOut: (params?: BaseEventParams) => void;
54
61
  protected _getMouseMoveHandler: (isClick: boolean) => (params: BaseEventParams) => void;
62
+ protected _handleChartMouseMove: (params: BaseEventParams, isClick: boolean) => void;
55
63
  protected _showTooltipByMouseEvent: (activeType: TooltipActiveType, mouseEventData: TotalMouseEventData, params: BaseEventParams, isClick: boolean, useCache?: boolean) => boolean;
56
64
  protected _getMouseEventData: (params: BaseEventParams) => TotalMouseEventData;
57
65
  protected _hideTooltipByHandler: (params: TooltipHandlerParams) => TooltipResult;
58
66
  reInit(spec?: any): void;
59
67
  showTooltip(datum: Datum, options: IShowTooltipOption): false | "none" | TooltipActiveType;
60
- hideTooltip(): boolean;
68
+ hideTooltip: () => boolean;
61
69
  private _isSameAsCache;
62
70
  private _isPointerInChart;
63
- private _isPointerOnTooltip;
64
71
  getVisible(): boolean;
65
72
  }
66
73
  export declare const registerTooltip: () => void;
@@ -1,7 +1,9 @@
1
- import type { ITooltipPattern, TooltipActiveType } from '../../../typings';
2
- import type { ITooltipSpec } from '../interface';
1
+ import type { Datum, ITooltipActual, ITooltipLineActual, ITooltipLinePattern, MaybeArray, TooltipActiveType, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
2
+ import type { ISeriesTooltipSpec, ITooltipSpec, TooltipHandlerParams } from '../interface';
3
3
  import type { BaseEventParams } from '../../../event/interface';
4
4
  export declare const getTooltipActualActiveType: (spec?: ITooltipSpec) => TooltipActiveType[];
5
- export declare const isActiveTypeVisible: (type: TooltipActiveType, spec?: ITooltipSpec) => boolean;
5
+ export declare const isActiveTypeVisible: (type: TooltipActiveType, spec?: ISeriesTooltipSpec) => boolean;
6
6
  export declare function isEmptyPos(params: BaseEventParams): boolean;
7
- export declare function combinePattern(patternList: ITooltipPattern[]): ITooltipPattern;
7
+ export declare function parseContent(contentSpec: MaybeArray<TooltipPatternProperty<MaybeArray<ITooltipLinePattern>>>, defaultContent: ITooltipLinePattern, shapeAttrs: Record<string, TooltipContentProperty<any>>, data?: TooltipData, datum?: Datum[], params?: TooltipHandlerParams): ITooltipLineActual[];
8
+ export declare function combineContents(patternList: ITooltipActual[]): ITooltipActual;
9
+ export declare const getTimeString: (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => any;
@@ -1,5 +1,5 @@
1
- import type { TooltipActiveType } from '../../../typings';
1
+ import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';
2
2
  import type { ISeries } from '../../../series/interface';
3
- import type { IDimensionInfo } from '../../../event/events/dimension/interface';
4
- import type { ITooltipSpec } from '..';
5
- export declare const getTooltipSpecForShow: (activeType: TooltipActiveType, globalSpec: ITooltipSpec, series?: ISeries, dimensionInfo?: IDimensionInfo[]) => ITooltipSpec;
3
+ import type { TooltipHandlerParams } from '../interface/common';
4
+ import type { ITooltipSpec } from '../interface/spec';
5
+ export declare const getTooltipSpecForShow: (activeType: TooltipActiveType, globalSpec: ITooltipSpec, series?: ISeries, data?: TooltipData, params?: TooltipHandlerParams) => ITooltipActual;
@@ -1,6 +1,5 @@
1
- import type { Datum, ITooltipLinePattern, ITooltipPattern, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
1
+ import type { Datum, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
2
2
  import type { TooltipHandlerParams } from '../interface';
3
3
  export declare const getTooltipContentValue: <T>(field?: TooltipContentProperty<T>, datum?: any, params?: TooltipHandlerParams, formatter?: string) => T;
4
4
  export declare const getTooltipPatternValue: <T>(field?: TooltipPatternProperty<T>, data?: TooltipData, params?: TooltipHandlerParams) => T;
5
- export declare const getTooltipContentPattern: (field?: ITooltipPattern['content'], data?: TooltipData, params?: TooltipHandlerParams) => Array<ITooltipLinePattern> | undefined;
6
5
  export declare function getFirstDatumFromTooltipData(data: TooltipData): Datum;
@@ -2,4 +2,3 @@ export * from './show-tooltip';
2
2
  export * from './common';
3
3
  export * from './get-spec';
4
4
  export * from './get-value';
5
- export * from './compose';
@@ -1,5 +1,7 @@
1
+ import type { Maybe } from '@visactor/vutils';
1
2
  import type { ITheme } from '../theme';
2
3
  import type { Datum } from '../typings';
4
+ import type { IModelSpecInfo } from '../model/interface';
3
5
  export declare function getComponentThemeFromOption(type: string, chartTheme: ITheme): any;
4
6
  export declare function getFormatFunction(formatMethod?: any, formatter?: string | string[], text?: string | number, datum?: Datum): {
5
7
  formatFunc: any;
@@ -8,3 +10,4 @@ export declare function getFormatFunction(formatMethod?: any, formatter?: string
8
10
  formatFunc?: undefined;
9
11
  args?: undefined;
10
12
  };
13
+ export declare const getSpecInfo: <T extends Record<string, any>>(chartSpec: any, specKey: string, compType: string, filter?: (spec: T) => boolean) => IModelSpecInfo<T>[];
@@ -74,6 +74,7 @@ export declare class VChart implements IVChart {
74
74
  private _context;
75
75
  private _isReleased;
76
76
  private _chartPlugin?;
77
+ private _onResize?;
77
78
  constructor(spec: ISpec, options: IInitOption);
78
79
  private _setNewSpec;
79
80
  private _getSpecFromOriginalSpec;
@@ -89,7 +90,6 @@ export declare class VChart implements IVChart {
89
90
  height: number;
90
91
  };
91
92
  private _doResize;
92
- private _onResize;
93
93
  private _initDataSet;
94
94
  updateCustomConfigAndRerender(updateSpecResult: IUpdateSpecResult | (() => IUpdateSpecResult), sync?: boolean, option?: IVChartRenderOption): IVChart | Promise<IVChart>;
95
95
  protected _updateCustomConfigAndRecompile(updateSpecResult: IUpdateSpecResult, option?: IVChartRenderOption): boolean;
@@ -1,4 +1,3 @@
1
- import type { utilFunctionCtx } from '../typings/params';
2
1
  import { DataSet, DataView } from '@visactor/vdataset';
3
2
  import type { IDataViewOptions } from '@visactor/vdataset';
4
3
  import type { IDataValues } from '../typings/spec/common';
@@ -7,7 +6,7 @@ export declare function initCSVData(): void;
7
6
  export declare function initData(): void;
8
7
  export declare function initFoldData(): void;
9
8
  export declare function dataViewFromDataView(rawData: DataView, dataSet?: DataSet, op?: IDataViewOptions): DataView;
10
- export declare function dataToDataView(data: DataView | IDataValues, dataSet: DataSet, sourceDataViews?: DataView[], ctx?: utilFunctionCtx): DataView;
9
+ export declare function dataToDataView(data: DataView | IDataValues, dataSet: DataSet, sourceDataViews?: DataView[]): DataView;
11
10
  export declare function updateDataViewInData(dataView: DataView, data: IDataValues, forceMerge: boolean): void;
12
11
  export declare enum TransformLevel {
13
12
  copyDataView = -10,
@@ -1,4 +1,5 @@
1
1
  import type { DataView } from '@visactor/vdataset';
2
+ import type { Datum } from '../../typings';
2
3
  export interface IPieOpt {
3
4
  angleField: () => string;
4
5
  startAngle: () => number;
@@ -13,7 +14,9 @@ export interface IPieOpt {
13
14
  asK: string;
14
15
  showAllZero: boolean;
15
16
  supportNegative: boolean;
17
+ showEmptyCircle: boolean;
16
18
  }
17
19
  export declare const pie: (originData: Array<DataView>, op: IPieOpt) => {
18
20
  [x: string]: any;
19
21
  }[];
22
+ export declare const isDataEmpty: (data: Datum[], angleField: string, supportNegative: boolean) => boolean;
@@ -5,6 +5,8 @@ import type { IBaseScale } from '@visactor/vscale';
5
5
  import type { MarkType } from './type';
6
6
  import type { ICompilableMark, ICompilableMarkOption, IModelMarkAttributeContext, StateValueType } from '../../compile/mark';
7
7
  import type { StringOrNumber } from '../../typings';
8
+ import type { IMarkConfig } from '@visactor/vgrammar-core';
9
+ import type { ICustomPath2D } from '@visactor/vrender-core';
8
10
  export interface VisualScaleType {
9
11
  scale: IBaseScale;
10
12
  field: StringOrNumber;
@@ -42,6 +44,14 @@ export interface IMarkRaw<T extends ICommonSpec> extends ICompilableMark {
42
44
  setPostProcess: <U extends keyof T, A>(key: U, postProcessFunc: IAttrConfig<A, T>['postProcess'], state?: StateValueType) => void;
43
45
  }
44
46
  export type IMark = IMarkRaw<ICommonSpec>;
47
+ export interface ICompileMarkConfig extends IMarkConfig {
48
+ morph?: boolean;
49
+ morphElementKey?: string;
50
+ support3d?: boolean;
51
+ setCustomizedShape?: (datum: any[], attrs: any, path: ICustomPath2D) => ICustomPath2D;
52
+ clip?: boolean;
53
+ skipTheme?: boolean;
54
+ }
45
55
  export interface IMarkOption extends ICompilableMarkOption {
46
56
  model: IModel;
47
57
  map: Map<StringOrNumber, IModel | IMark>;
@@ -1,7 +1,7 @@
1
1
  import type { IEvent } from '../event/interface';
2
2
  import type { IEffect, IModel, IModelInitOption, IModelOption, IModelRenderOption, IModelEvaluateOption, IModelSpec, IModelMarkInfo, IModelSpecInfo } from './interface';
3
3
  import type { CoordinateType } from '../typings/coordinate';
4
- import type { IMark, IMarkOption, IMarkRaw, IMarkStyle } from '../mark/interface';
4
+ import type { ICompileMarkConfig, IMark, IMarkOption, IMarkRaw, IMarkStyle } from '../mark/interface';
5
5
  import type { Datum, StateValueType, ConvertToMarkStyleSpec, ICommonSpec, StringOrNumber, IRect, ILayoutRect } from '../typings';
6
6
  import type { CompilableData } from '../compile/data/compilable-data';
7
7
  import type { IGroupMark } from '@visactor/vgrammar-core';
@@ -72,7 +72,7 @@ export declare abstract class BaseModel<T extends IModelSpec> extends Compilable
72
72
  protected stateKeyToSignalName(key: string, opt?: string): string;
73
73
  compileData(): void;
74
74
  compileMarks(group?: string | IGroupMark): void;
75
- protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option?: Partial<IMarkOption>): T;
75
+ protected _createMark<T extends IMark>(markInfo: IModelMarkInfo, option?: Partial<IMarkOption>, config?: ICompileMarkConfig): T;
76
76
  protected _getDataIdKey(): string | ((datum: Datum) => string) | undefined;
77
77
  getColorScheme(): import("..").IThemeColorScheme;
78
78
  getSpecInfo(): IModelSpecInfo<any>;
@@ -20,6 +20,8 @@ import type { ILayoutItem, ILayoutItemSpec } from '../layout/interface';
20
20
  import type { ILayoutPoint, ILayoutRect } from '../typings/layout';
21
21
  import type { ComponentTypeEnum } from '../component/interface';
22
22
  import type { SeriesTypeEnum } from '../series';
23
+ import type { ITooltipSpec } from '../component/tooltip/interface';
24
+ import type { TooltipActiveType } from '../typings';
23
25
  export interface IModelInitOption {
24
26
  }
25
27
  export interface IModelLayoutOption {
@@ -152,3 +154,15 @@ export interface IBaseModelSpecTransformer {
152
154
  getTheme: (spec: any, chartSpec: any) => any;
153
155
  transformSpec: (spec: any, chartSpec: any, chartSpecInfo?: IChartSpecInfo) => IBaseModelSpecTransformerResult<any, any>;
154
156
  }
157
+ export interface ITooltipHelper {
158
+ spec: ITooltipSpec | undefined;
159
+ activeType: TooltipActiveType[];
160
+ activeTriggerSet: {
161
+ mark?: Set<IMark>;
162
+ group?: Set<IMark>;
163
+ };
164
+ ignoreTriggerSet: {
165
+ mark?: Set<IMark>;
166
+ };
167
+ updateTooltipSpec: () => void;
168
+ }
@@ -19,6 +19,7 @@ export declare class MediaQuery extends BasePlugin implements IChartPlugin {
19
19
  onInit(service: IChartPluginService, chartSpec: any): void;
20
20
  onBeforeResize(service: IChartPluginService, width: number, height: number): void;
21
21
  onAfterChartSpecTransform(service: IChartPluginService, chartSpec: any, actionSource: VChartRenderActionSource): void;
22
+ onAfterModelSpecTransform(service: IChartPluginService, chartSpec: any, chartInfo: IChartSpecInfo, actionSource: VChartRenderActionSource): void;
22
23
  onBeforeInitChart(service: IChartPluginService, chartSpec: any, actionSource: VChartRenderActionSource): void;
23
24
  protected _changeSize(width: number, height: number, compile?: boolean, render?: boolean): boolean;
24
25
  protected _applyQueries(compile?: boolean, render?: boolean): boolean;
@@ -2,12 +2,14 @@ import type { IChartPlugin, IChartPluginService } from './interface';
2
2
  import type { IVChart } from '../../core';
3
3
  import { BasePluginService } from '../base/base-plugin-service';
4
4
  import type { VChartRenderActionSource } from '../../core/interface';
5
+ import type { IChartSpecInfo } from '../../chart/interface/common';
5
6
  export declare class ChartPluginService<T extends IChartPlugin = IChartPlugin> extends BasePluginService<T> implements IChartPluginService<T> {
6
7
  globalInstance: IVChart;
7
8
  constructor(globalInstance: IVChart);
8
9
  onInit(chartSpec: any): void;
9
10
  onBeforeResize(width: number, height: number): void;
10
11
  onAfterChartSpecTransform(chartSpec: any, actionSource: VChartRenderActionSource): void;
12
+ onAfterModelSpecTransform(chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource): void;
11
13
  onBeforeInitChart(chartSpec: any, actionSource: VChartRenderActionSource): void;
12
14
  releaseAll(): void;
13
15
  }
@@ -8,6 +8,7 @@ type ScaleInfo = {
8
8
  extendable_min: boolean;
9
9
  extendable_max: boolean;
10
10
  domain: number[];
11
+ break?: boolean;
11
12
  };
12
13
  export declare function isValidAlignDomain(domain: number[]): boolean;
13
14
  export declare function getScaleInfo(axis: LinearAxisMixin, domain: number[]): ScaleInfo;
@@ -1,5 +1,5 @@
1
1
  import type { Options } from './constants';
2
- import type { Maybe, ILayoutPoint, RenderMode } from '../../../typings';
2
+ import type { Maybe, RenderMode } from '../../../typings';
3
3
  import type { TooltipData, ITooltipActual, TooltipActiveType, ITooltipHandler, ITooltipPositionActual } from '../../../typings/tooltip';
4
4
  import type { IGroup } from '@visactor/vrender-core';
5
5
  import type { Compiler } from '../../../compile/compiler';
@@ -25,34 +25,19 @@ export declare abstract class BaseTooltipHandler extends BasePlugin implements I
25
25
  protected _attributes?: ITooltipAttributes | null;
26
26
  protected _chartContainer: Maybe<HTMLElement>;
27
27
  protected _compiler: Compiler;
28
- protected _isTooltipPaused: boolean;
29
- protected _isPointerEscaped: boolean;
30
- protected _cachePointerTimer: number;
31
- protected _cachePointerPosition: ILayoutPoint;
32
- protected _cacheTooltipPosition: ILayoutPoint;
33
- protected _cacheTooltipSize: IContainerSize;
34
28
  protected _container: Maybe<IGroup | HTMLElement>;
35
29
  protected _isReleased: boolean;
36
30
  onAdd(service: IComponentPluginService<any>): void;
37
31
  showTooltip: (activeType: TooltipActiveType, data: TooltipData, params: TooltipHandlerParams) => TooltipResult;
38
32
  protected changeTooltip: ChangeTooltipFunc;
39
- protected _changeTooltip: ChangeTooltipFunc;
40
33
  protected changeTooltipPosition: ChangeTooltipPositionFunc;
41
- protected _changeTooltipPosition: ChangeTooltipPositionFunc;
42
34
  hideTooltip(params: TooltipHandlerParams): TooltipResult;
43
35
  release(): void;
44
- protected _clearAllCache(): void;
45
36
  protected abstract _updateTooltip(visible: boolean, params: TooltipHandlerParams): void;
46
37
  protected abstract _removeTooltip(): void;
47
- protected _throttle(callback: any): (...args: unknown[]) => unknown;
48
38
  protected _getDefaultOption(): Options;
49
39
  protected _getActualTooltipPosition: (actualTooltip: ITooltipActual, params: TooltipHandlerParams, tooltipBoxSize: IContainerSize | undefined) => ITooltipPositionActual;
50
40
  protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined;
51
- protected _getPointerPositionRelativeToTooltipParent(params: TooltipHandlerParams): {
52
- x: any;
53
- y: any;
54
- };
55
- protected _isPointerMovingToTooltip(params: TooltipHandlerParams): boolean;
56
41
  protected _getParentElement(spec: ITooltipSpec): HTMLElement;
57
42
  getTooltipContainer(): HTMLElement | IGroup;
58
43
  protected _initFromSpec(): void;
@@ -27,6 +27,5 @@ export declare class DomTooltipHandler extends BaseTooltipHandler {
27
27
  isTooltipShown(): boolean;
28
28
  reInit(): void;
29
29
  protected _updatePosition({ x, y }: ITooltipPositionActual): void;
30
- protected _initEvent(el: HTMLElement): void;
31
30
  }
32
31
  export declare const registerDomTooltipHandler: () => void;
@@ -1,10 +1,9 @@
1
1
  import type { TooltipAttributes } from '@visactor/vrender-components';
2
- import type { ITextAttribute, IFillStyle, RichTextWordBreak } from '@visactor/vrender-core';
2
+ import type { ITextAttribute, IFillStyle } from '@visactor/vrender-core';
3
3
  export interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle> {
4
4
  spacing?: number;
5
5
  multiLine?: boolean;
6
6
  maxWidth?: number;
7
- wordBreak?: RichTextWordBreak;
8
7
  autoWidth?: boolean;
9
8
  }
10
9
  export interface ITooltipAttributes extends TooltipAttributes {
@@ -2,11 +2,9 @@ import type { IDimensionData } from '../../../../event';
2
2
  import { type ILayoutPoint } from '../../../../typings';
3
3
  import type { IFixedTooltipPositionPattern, IGlobalTooltipPositionPattern, TooltipFixedPosition } from '../../../../typings/tooltip/position';
4
4
  export declare const getActualTooltipPositionValue: (position: number | ((event: MouseEvent) => number), event: MouseEvent) => number;
5
- export type TooltipHorizontalPositionType = 'left' | 'right' | 'center' | 'centerLeft' | 'centerRight';
6
- export type TooltipVerticalPositionType = 'top' | 'bottom' | 'center' | 'centerTop' | 'centerBottom';
7
- export declare const positionType: Record<TooltipFixedPosition, [TooltipHorizontalPositionType, TooltipVerticalPositionType]>;
8
- export declare const getHorizontalPositionType: (position: TooltipFixedPosition, defaultCase?: TooltipHorizontalPositionType) => TooltipHorizontalPositionType;
9
- export declare const getVerticalPositionType: (position: TooltipFixedPosition, defaultCase?: TooltipVerticalPositionType) => TooltipVerticalPositionType;
5
+ export type TooltipPositionType = -2 | -1 | 0 | 1 | 2;
6
+ export declare const positionType: Record<TooltipFixedPosition, [TooltipPositionType, TooltipPositionType]>;
7
+ export declare const getPositionType: (position: TooltipFixedPosition, dim: 'x' | 'y', defaultCase?: TooltipPositionType) => TooltipPositionType;
10
8
  export declare const getCartesianCrosshairRect: (dimensionData: IDimensionData, layoutStartPoint: ILayoutPoint) => {
11
9
  visible: boolean;
12
10
  start: {
@@ -53,7 +53,9 @@ export interface IRegionSpec extends ILayoutItemSpec {
53
53
  }
54
54
  export interface IGeoRegionSpec extends IRegionSpec {
55
55
  coordinate?: 'geo';
56
- roam?: boolean;
56
+ roam?: boolean | {
57
+ blank?: boolean;
58
+ };
57
59
  longitudeField?: string;
58
60
  latitudeField?: string;
59
61
  projection?: Partial<Omit<IProjectionSpec, 'name'>>;
@@ -22,6 +22,8 @@ export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> ext
22
22
  initMarkStyle(): void;
23
23
  initAreaMarkStyle(): void;
24
24
  initAnimation(): void;
25
+ protected _isAreaVisible(): boolean;
26
+ protected _isLineVisible(): boolean;
25
27
  protected initTooltip(): void;
26
28
  viewDataStatisticsUpdate(d: DataView): void;
27
29
  compile(): void;
@@ -1,6 +1,6 @@
1
1
  import type { IBaseScale } from '@visactor/vscale';
2
2
  import { CartesianSeries } from '../cartesian/cartesian';
3
- import type { IMark, IMarkProgressiveConfig } from '../../mark/interface';
3
+ import type { IMark } from '../../mark/interface';
4
4
  import { MarkTypeEnum } from '../../mark/interface/type';
5
5
  import type { Datum, DirectionType } from '../../typings';
6
6
  import type { IBarSeriesSpec } from './interface';
@@ -27,7 +27,7 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
27
27
  protected _barBackgroundMark: IRectMark;
28
28
  protected _barBackgroundViewData: SeriesData;
29
29
  initMark(): void;
30
- protected _initBarBackgroundMark(progressive?: IMarkProgressiveConfig): void;
30
+ protected _initBarBackgroundMark(): void;
31
31
  initMarkStyle(): void;
32
32
  initLabelMarkStyle(textMark: ITextMark): void;
33
33
  protected initTooltip(): void;
@@ -40,8 +40,8 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
40
40
  protected _dataToPosX1(datum: Datum): number;
41
41
  protected _dataToPosY(datum: Datum): number;
42
42
  protected _dataToPosY1(datum: Datum): number;
43
- protected _getBarXStart: (datum: Datum, scale: IBaseScale) => any;
44
- protected _getBarXEnd: (datum: Datum, scale: IBaseScale) => any;
43
+ protected _getBarXStart: (datum: Datum, scale: IBaseScale, useWholeRange?: boolean) => any;
44
+ protected _getBarXEnd: (datum: Datum, scale: IBaseScale, useWholeRange?: boolean) => any;
45
45
  protected _getBarYStart: (datum: Datum, scale: IBaseScale) => any;
46
46
  protected _getBarYEnd: (datum: Datum, scale: IBaseScale) => any;
47
47
  initBandRectMarkStyle(): void;