@visactor/vchart-types 1.9.0-alpha.0 → 1.9.0-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 (166) hide show
  1. package/package.json +3 -3
  2. package/tsconfig.tsbuildinfo +1 -1
  3. package/types/animation/utils.d.ts +1 -1
  4. package/types/chart/base/base-chart-transformer.d.ts +1 -0
  5. package/types/chart/base/base-chart.d.ts +1 -0
  6. package/types/chart/base/util.d.ts +7 -0
  7. package/types/chart/index.d.ts +5 -3
  8. package/types/chart/interface/chart.d.ts +1 -0
  9. package/types/chart/interface/common.d.ts +2 -4
  10. package/types/chart/interface/type.d.ts +3 -2
  11. package/types/chart/liquid/index.d.ts +2 -0
  12. package/types/chart/liquid/interface.d.ts +7 -0
  13. package/types/chart/liquid/liquid-transformer.d.ts +6 -0
  14. package/types/chart/liquid/liquid.d.ts +13 -0
  15. package/types/chart/util.d.ts +4 -1
  16. package/types/compile/compiler.d.ts +16 -5
  17. package/types/compile/data/compilable-data.d.ts +1 -1
  18. package/types/compile/data/interface.d.ts +1 -1
  19. package/types/compile/interface/compiler.d.ts +3 -0
  20. package/types/compile/mark/compilable-mark.d.ts +4 -2
  21. package/types/compile/mark/interface.d.ts +3 -11
  22. package/types/compile/mark/mark-state-manager.d.ts +2 -2
  23. package/types/compile/signal/state-manager.d.ts +1 -1
  24. package/types/component/axis/base-axis.d.ts +10 -10
  25. package/types/component/axis/cartesian/axis.d.ts +13 -5
  26. package/types/component/axis/cartesian/band-axis.d.ts +1 -0
  27. package/types/component/axis/cartesian/interface/common.d.ts +3 -5
  28. package/types/component/axis/cartesian/interface/spec.d.ts +20 -3
  29. package/types/component/axis/interface/common.d.ts +10 -0
  30. package/types/component/axis/interface/spec.d.ts +4 -7
  31. package/types/component/axis/mixin/band-axis-mixin.d.ts +19 -2
  32. package/types/component/axis/mixin/linear-axis-mixin.d.ts +9 -1
  33. package/types/component/axis/polar/axis.d.ts +8 -4
  34. package/types/component/axis/polar/band-axis.d.ts +1 -0
  35. package/types/component/axis/util.d.ts +6 -0
  36. package/types/component/base/base-component.d.ts +0 -5
  37. package/types/component/brush/brush.d.ts +2 -1
  38. package/types/component/crosshair/base.d.ts +10 -2
  39. package/types/component/crosshair/cartesian.d.ts +5 -0
  40. package/types/component/crosshair/config.d.ts +2 -3
  41. package/types/component/crosshair/interface/spec.d.ts +2 -1
  42. package/types/component/data-zoom/constant.d.ts +1 -1
  43. package/types/component/data-zoom/data-filter-base-component.d.ts +1 -1
  44. package/types/component/geo/geo-coordinate.d.ts +1 -0
  45. package/types/component/indicator/indicator.d.ts +2 -0
  46. package/types/component/indicator/interface.d.ts +1 -0
  47. package/types/component/interface/common.d.ts +1 -0
  48. package/types/component/interface/theme.d.ts +1 -0
  49. package/types/component/label/base-label.d.ts +0 -3
  50. package/types/component/label/interface.d.ts +1 -0
  51. package/types/component/label/util.d.ts +6 -0
  52. package/types/component/legend/base-legend.d.ts +1 -1
  53. package/types/component/legend/discrete/legend.d.ts +1 -0
  54. package/types/component/legend/util.d.ts +1 -1
  55. package/types/component/marker/base-marker.d.ts +5 -1
  56. package/types/component/marker/interface.d.ts +3 -4
  57. package/types/component/marker/mark-point/interface/theme.d.ts +1 -0
  58. package/types/component/marker/utils.d.ts +2 -1
  59. package/types/component/tooltip/interface/theme.d.ts +1 -0
  60. package/types/component/tooltip/tooltip.d.ts +2 -1
  61. package/types/core/factory.d.ts +5 -0
  62. package/types/core/index.d.ts +1 -0
  63. package/types/core/interface.d.ts +4 -1
  64. package/types/core/vchart.d.ts +9 -5
  65. package/types/data/transforms/marker-filter.d.ts +5 -0
  66. package/types/event/events/dimension/util/cartesian.d.ts +1 -1
  67. package/types/interaction/drill/drillable.d.ts +1 -1
  68. package/types/interaction/interface.d.ts +24 -2
  69. package/types/interaction/trigger.d.ts +1 -0
  70. package/types/interaction/zoom/zoomable.d.ts +3 -1
  71. package/types/layout/base-layout.d.ts +46 -2
  72. package/types/layout/interface.d.ts +2 -0
  73. package/types/layout/layout-item.d.ts +2 -1
  74. package/types/layout/layout3d/index.d.ts +1 -8
  75. package/types/mark/interface/type.d.ts +2 -1
  76. package/types/mark/liquid.d.ts +13 -0
  77. package/types/model/base-model-transformer.d.ts +2 -1
  78. package/types/model/base-model.d.ts +1 -2
  79. package/types/model/interface.d.ts +3 -2
  80. package/types/plugin/chart/media-query/interface/common.d.ts +0 -4
  81. package/types/plugin/chart/media-query/interface/index.d.ts +1 -1
  82. package/types/plugin/chart/media-query/media-query.d.ts +3 -1
  83. package/types/plugin/chart/media-query/util/action.d.ts +2 -2
  84. package/types/plugin/chart/media-query/util/filter.d.ts +3 -3
  85. package/types/plugin/components/axis-sync/axis-sync.d.ts +13 -0
  86. package/types/plugin/components/axis-sync/index.d.ts +1 -0
  87. package/types/plugin/components/axis-sync/tick-align-transform.d.ts +7 -0
  88. package/types/plugin/components/axis-sync/zero-align-transform.d.ts +15 -0
  89. package/types/plugin/components/index.d.ts +1 -1
  90. package/types/plugin/components/register.d.ts +2 -0
  91. package/types/plugin/components/tooltip-handler/base.d.ts +66 -0
  92. package/types/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +22 -0
  93. package/types/plugin/components/tooltip-handler/canvas/index.d.ts +1 -0
  94. package/types/plugin/components/tooltip-handler/constants.d.ts +17 -0
  95. package/types/plugin/components/tooltip-handler/dom/constant.d.ts +1 -0
  96. package/types/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +28 -0
  97. package/types/plugin/components/tooltip-handler/dom/index.d.ts +1 -0
  98. package/types/plugin/components/tooltip-handler/dom/interface.d.ts +57 -0
  99. package/types/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +25 -0
  100. package/types/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +23 -0
  101. package/types/plugin/components/tooltip-handler/dom/model/content-model.d.ts +16 -0
  102. package/types/plugin/components/tooltip-handler/dom/model/interface.d.ts +10 -0
  103. package/types/plugin/components/tooltip-handler/dom/model/shape-model.d.ts +23 -0
  104. package/types/plugin/components/tooltip-handler/dom/model/style-constants.d.ts +7 -0
  105. package/types/plugin/components/tooltip-handler/dom/model/text-model.d.ts +5 -0
  106. package/types/plugin/components/tooltip-handler/dom/model/title-model.d.ts +15 -0
  107. package/types/plugin/components/tooltip-handler/dom/model/tooltip-model.d.ts +21 -0
  108. package/types/plugin/components/tooltip-handler/dom/utils/common.d.ts +3 -0
  109. package/types/plugin/components/tooltip-handler/dom/utils/index.d.ts +2 -0
  110. package/types/plugin/components/tooltip-handler/dom/utils/style.d.ts +4 -0
  111. package/types/plugin/components/tooltip-handler/index.d.ts +2 -0
  112. package/types/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
  113. package/types/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
  114. package/types/plugin/components/tooltip-handler/interface/style.d.ts +13 -0
  115. package/types/plugin/components/tooltip-handler/utils/attribute.d.ts +8 -0
  116. package/types/plugin/components/tooltip-handler/utils/common.d.ts +20 -0
  117. package/types/plugin/components/tooltip-handler/utils/compose.d.ts +4 -0
  118. package/types/plugin/components/tooltip-handler/utils/get-spec.d.ts +5 -0
  119. package/types/plugin/components/tooltip-handler/utils/index.d.ts +6 -0
  120. package/types/plugin/components/tooltip-handler/utils/pattern.d.ts +4 -0
  121. package/types/plugin/components/tooltip-handler/utils/position.d.ts +7 -0
  122. package/types/region/interface.d.ts +0 -3
  123. package/types/series/area/area-transformer.d.ts +2 -0
  124. package/types/series/area/area.d.ts +0 -1
  125. package/types/series/bar/bar.d.ts +16 -3
  126. package/types/series/bar/interface.d.ts +5 -2
  127. package/types/series/base/base-series.d.ts +35 -6
  128. package/types/series/base/constant.d.ts +4 -0
  129. package/types/series/base/tooltip-helper.d.ts +3 -1
  130. package/types/series/cartesian/cartesian.d.ts +6 -0
  131. package/types/series/gauge/gauge-pointer.d.ts +1 -0
  132. package/types/series/heatmap/heatmap.d.ts +1 -0
  133. package/types/series/interface/common.d.ts +2 -1
  134. package/types/series/interface/series.d.ts +2 -3
  135. package/types/series/interface/theme.d.ts +2 -0
  136. package/types/series/interface/type.d.ts +7 -4
  137. package/types/series/link/link.d.ts +1 -0
  138. package/types/series/liquid/animation.d.ts +14 -0
  139. package/types/series/liquid/constant.d.ts +2 -0
  140. package/types/series/liquid/interface.d.ts +35 -0
  141. package/types/series/liquid/liquid.d.ts +50 -0
  142. package/types/series/liquid/tooltip-helper.d.ts +9 -0
  143. package/types/series/liquid/util.d.ts +2 -0
  144. package/types/series/mixin/line-mixin.d.ts +2 -2
  145. package/types/series/pie/pie.d.ts +1 -0
  146. package/types/series/polar/polar.d.ts +2 -0
  147. package/types/series/progress/circular/circular.d.ts +1 -0
  148. package/types/series/progress/linear/linear.d.ts +1 -0
  149. package/types/series/range-column/interface.d.ts +2 -2
  150. package/types/series/range-column/range-column.d.ts +5 -1
  151. package/types/series/treemap/treemap-transform.d.ts +6 -0
  152. package/types/series/treemap/treemap.d.ts +6 -3
  153. package/types/series/word-cloud/base.d.ts +7 -7
  154. package/types/series/word-cloud/interface.d.ts +3 -12
  155. package/types/theme/builtin/common/component/axis/cartesian-axis.d.ts +1 -0
  156. package/types/theme/builtin/common/series/liquid.d.ts +2 -0
  157. package/types/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +1 -0
  158. package/types/typings/layout.d.ts +2 -1
  159. package/types/typings/shape.d.ts +0 -21
  160. package/types/typings/space.d.ts +1 -1
  161. package/types/typings/spec/common.d.ts +7 -2
  162. package/types/typings/spec/index.d.ts +1 -0
  163. package/types/typings/spec/media-query.d.ts +28 -0
  164. package/types/typings/tooltip/line.d.ts +4 -0
  165. package/types/typings/tooltip/position.d.ts +2 -2
  166. package/types/typings/visual.d.ts +6 -0
@@ -0,0 +1,5 @@
1
+ import { BaseTooltipModel } from './base-tooltip-model';
2
+ export declare class TextModel extends BaseTooltipModel {
3
+ init(classList?: string[], id?: string, tag?: keyof HTMLElementTagNameMap): void;
4
+ setContent(content?: any, multiLine?: boolean): void;
5
+ }
@@ -0,0 +1,15 @@
1
+ import type { Maybe } from '@visactor/vutils';
2
+ import { BaseTooltipModel } from './base-tooltip-model';
3
+ import { ShapeModel } from './shape-model';
4
+ import { TextModel } from './text-model';
5
+ export declare class TitleModel extends BaseTooltipModel {
6
+ shape: Maybe<ShapeModel>;
7
+ textSpan: Maybe<TextModel>;
8
+ init(): void;
9
+ private _initShape;
10
+ private _releaseShape;
11
+ private _initTextSpan;
12
+ setStyle(style?: Partial<CSSStyleDeclaration>): void;
13
+ setContent(): void;
14
+ release(): void;
15
+ }
@@ -0,0 +1,21 @@
1
+ import { BaseTooltipModel } from './base-tooltip-model';
2
+ import { ContentModel } from './content-model';
3
+ import type { ITooltipModelOption } from './interface';
4
+ import { TitleModel } from './title-model';
5
+ export declare class TooltipModel extends BaseTooltipModel {
6
+ title: TitleModel | null;
7
+ content: ContentModel | null;
8
+ private _classList;
9
+ private _id;
10
+ constructor(option: ITooltipModelOption, classList: string[], id: string);
11
+ setVisibility(visibility: boolean): void;
12
+ init(): void;
13
+ private _initPanel;
14
+ private _initTitle;
15
+ private _releaseTitle;
16
+ private _initContent;
17
+ private _releaseContent;
18
+ setStyle(): void;
19
+ setContent(): void;
20
+ release(): void;
21
+ }
@@ -0,0 +1,3 @@
1
+ export declare const getPixelPropertyStr: (num?: number | number[], defaultStr?: string) => string;
2
+ export declare const pixelPropertyStrToNumber: (str: string) => number | number[];
3
+ export declare const getScrollbarWidth: (container?: HTMLElement) => number;
@@ -0,0 +1,2 @@
1
+ export * from './common';
2
+ export * from './style';
@@ -0,0 +1,4 @@
1
+ import type { Maybe } from '@visactor/vutils';
2
+ import type { ITooltipAttributes } from '../../interface';
3
+ import type { IDomTooltipStyle } from '../interface';
4
+ export declare function getDomStyles(attributes?: Maybe<ITooltipAttributes>): IDomTooltipStyle;
@@ -0,0 +1,2 @@
1
+ export * from './dom';
2
+ export * from './canvas';
@@ -0,0 +1,4 @@
1
+ import type { ITooltipHandler } from '../../../../typings';
2
+ export interface ITooltipHandlerConstructor {
3
+ new (): ITooltipHandler;
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from './style';
2
+ export * from './common';
@@ -0,0 +1,13 @@
1
+ import type { TooltipAttributes } from '@visactor/vrender-components';
2
+ import type { ITextAttribute, IFillStyle, RichTextWordBreak } from '@visactor/vrender-core';
3
+ export interface ITooltipTextStyle extends Partial<ITextAttribute & IFillStyle> {
4
+ spacing?: number;
5
+ multiLine?: boolean;
6
+ maxWidth?: number;
7
+ wordBreak?: RichTextWordBreak;
8
+ autoWidth?: boolean;
9
+ }
10
+ export interface ITooltipAttributes extends TooltipAttributes {
11
+ panelDomHeight?: number;
12
+ maxContentHeight?: number;
13
+ }
@@ -0,0 +1,8 @@
1
+ import type { TooltipPanelAttrs } from '@visactor/vrender-components';
2
+ import type { IToolTipActual } from '../../../../typings';
3
+ import type { ITooltipAttributes, ITooltipTextStyle } from '../interface';
4
+ import type { ITheme } from '../../../../theme';
5
+ import type { ITooltipSpec, ITooltipTextTheme, ITooltipTheme } from '../../../../component/tooltip';
6
+ export declare function getTextAttributes(style?: ITooltipTextTheme, globalTheme?: ITheme, defaultAttributes?: Partial<ITooltipTextStyle>): ITooltipTextStyle;
7
+ export declare const getPanelAttributes: (style: ITooltipTheme['panel']) => TooltipPanelAttrs;
8
+ export declare const getTooltipAttributes: (actualTooltip: IToolTipActual, spec: ITooltipSpec, globalTheme: ITheme) => ITooltipAttributes;
@@ -0,0 +1,20 @@
1
+ import type { Datum } from '@visactor/vgrammar-core';
2
+ import type { IToolTipLinePattern, ITooltipPattern, MaybeArray, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../../typings';
3
+ import type { ITooltipTextStyle } from '../interface/style';
4
+ import type { TooltipRichTextAttrs } from '@visactor/vrender-components';
5
+ import type { TooltipHandlerParams } from '../../../../component/tooltip';
6
+ export declare function escapeHTML(value: any): string;
7
+ export declare const getTooltipContentValue: <T>(field?: TooltipContentProperty<T>, datum?: any, params?: TooltipHandlerParams) => T;
8
+ export declare const getTooltipPatternValue: <T>(field?: TooltipPatternProperty<T>, data?: TooltipData, params?: TooltipHandlerParams) => T;
9
+ export declare const getTooltipContentPattern: (field?: ITooltipPattern['content'], data?: TooltipData, params?: TooltipHandlerParams) => Array<IToolTipLinePattern> | undefined;
10
+ export declare function getFirstDatumFromTooltipData(data: TooltipData): Datum;
11
+ export declare function pickFirstValidValue<T>(isValid: (element?: T) => any, ...elements: T[]): T | undefined;
12
+ export declare function convertToColorString(color: any, defaultColor?: string): string;
13
+ export declare const getScale: (element: HTMLElement, boundingClientRect?: DOMRect) => number;
14
+ interface ITooltipTextInfo {
15
+ width: number;
16
+ height: number;
17
+ text: MaybeArray<number> | MaybeArray<string> | TooltipRichTextAttrs;
18
+ }
19
+ export declare const measureTooltipText: (text: string | TooltipRichTextAttrs, style: ITooltipTextStyle) => ITooltipTextInfo;
20
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { IToolTipLinePattern, ITooltipPattern, TooltipData, IToolTipLineActual } from '../../../../typings/tooltip';
2
+ import type { TooltipActualTitleContent, TooltipHandlerParams } from '../../../../component/tooltip';
3
+ export declare const getShowContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => TooltipActualTitleContent | null;
4
+ export declare const getOneLineData: (datum: any, config: IToolTipLinePattern, params: TooltipHandlerParams) => IToolTipLineActual;
@@ -0,0 +1,5 @@
1
+ import type { TooltipActiveType } from '../../../../typings';
2
+ import type { ISeries } from '../../../../series/interface';
3
+ import type { IDimensionInfo } from '../../../../event/events/dimension/interface';
4
+ import type { ITooltipSpec } from '../../../../component/tooltip';
5
+ export declare const getTooltipSpecForShow: (activeType: TooltipActiveType, globalSpec: ITooltipSpec, series?: ISeries, dimensionInfo?: IDimensionInfo[]) => ITooltipSpec;
@@ -0,0 +1,6 @@
1
+ export * from './common';
2
+ export * from './compose';
3
+ export * from './pattern';
4
+ export * from './get-spec';
5
+ export * from './position';
6
+ export * from './attribute';
@@ -0,0 +1,4 @@
1
+ import type { IDimensionInfo } from '../../../../event/events/dimension/interface';
2
+ import type { ISeries } from '../../../../series/interface';
3
+ import type { ITooltipPattern, TooltipActiveType } from '../../../../typings';
4
+ export declare const makeDefaultPattern: (series: ISeries, activeType: TooltipActiveType, dimensionInfo?: IDimensionInfo[]) => ITooltipPattern | null;
@@ -0,0 +1,7 @@
1
+ import { TooltipFixedPosition } from '../../../../typings/tooltip/position';
2
+ export declare const getActualTooltipPositionValue: (position: number | ((event: MouseEvent) => number), event: MouseEvent) => number;
3
+ export type TooltipHorizontalPositionType = 'left' | 'right' | 'middle';
4
+ export type TooltipVerticalPositionType = 'top' | 'bottom' | 'middle';
5
+ export declare const positionType: Record<TooltipFixedPosition, [TooltipHorizontalPositionType, TooltipVerticalPositionType]>;
6
+ export declare const getHorizontalPositionType: (position: TooltipFixedPosition, defaultCase?: TooltipHorizontalPositionType) => TooltipHorizontalPositionType;
7
+ export declare const getVerticalPositionType: (position: TooltipFixedPosition, defaultCase?: TooltipVerticalPositionType) => TooltipVerticalPositionType;
@@ -63,7 +63,4 @@ export interface IGeoRegionSpec extends IRegionSpec {
63
63
  export interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {
64
64
  type: 'region';
65
65
  spec: T;
66
- seriesIndexes?: number[];
67
- markLabel?: IModelSpecInfo;
68
- geoCoordinate?: IModelSpecInfo;
69
66
  }
@@ -1,5 +1,7 @@
1
+ import type { IChartSpecInfo } from '../../chart/interface';
1
2
  import { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';
2
3
  import type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';
3
4
  export declare class AreaSeriesSpecTransformer<T extends IAreaSeriesSpec = IAreaSeriesSpec, K extends IAreaSeriesTheme = IAreaSeriesTheme> extends LineLikeSeriesSpecTransformer<T, K> {
4
5
  protected _transformLabelSpec(spec: T): void;
6
+ protected _transformSpecAfterMergingTheme(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo): void;
5
7
  }
@@ -19,7 +19,6 @@ export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> ext
19
19
  protected _areaMark: IAreaMark;
20
20
  protected _supportStack: boolean;
21
21
  protected _sortDataByAxis: boolean;
22
- setAttrFromSpec(): void;
23
22
  initMark(): void;
24
23
  initMarkStyle(): void;
25
24
  initAnimation(): void;
@@ -36,12 +36,25 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
36
36
  private _shouldDoPreCalculate;
37
37
  private _calculateStackRectPosition;
38
38
  private _calculateRectPosition;
39
+ protected _dataToPosX(datum: Datum): number;
40
+ protected _dataToPosX1(datum: Datum): number;
41
+ protected _dataToPosY(datum: Datum): number;
42
+ protected _dataToPosY1(datum: Datum): number;
39
43
  initBandRectMarkStyle(): void;
40
- protected _initBarBackgroundMarkStyle(): void;
44
+ protected _initBandBarBackgroundMarkStyle(): void;
41
45
  initLinearRectMarkStyle(): void;
46
+ protected _initLinearBarBackgroundMarkStyle(): void;
42
47
  initAnimation(): void;
43
- protected _getBarWidth(axisHelper: IAxisHelper): number;
44
- protected _getPosition(direction: DirectionType, datum: Datum): number;
48
+ protected _getBarWidth(axisHelper: IAxisHelper, scaleDepth?: number): number;
49
+ protected _getPosition(direction: DirectionType, datum: Datum, scaleDepth?: number, mark?: SeriesMarkNameEnum): number;
50
+ protected _barBackgroundPositionXEncoder?: (datum: Datum) => number;
51
+ protected _getBarBackgroundPositionXEncoder: () => (datum: Datum) => number;
52
+ protected _setBarBackgroundPositionXEncoder: (encoder: (datum: Datum) => number) => void;
53
+ dataToBarBackgroundPositionX(datum: Datum, scaleDepth?: number): number;
54
+ protected _barBackgroundPositionYEncoder?: (datum: Datum) => number;
55
+ protected _getBarBackgroundPositionYEncoder: () => (datum: Datum) => number;
56
+ protected _setBarBackgroundPositionYEncoder: (encoder: (datum: Datum) => number) => void;
57
+ dataToBarBackgroundPositionY(datum: Datum, scaleDepth?: number): number;
45
58
  onLayoutEnd(ctx: any): void;
46
59
  compile(): void;
47
60
  getDefaultShapeType(): string;
@@ -13,7 +13,7 @@ export interface IBarSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Bar
13
13
  xField?: string | string[];
14
14
  yField?: string | string[];
15
15
  [SeriesMarkNameEnum.bar]?: IMarkSpec<IRectMarkSpec>;
16
- [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;
16
+ [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec> & IBarBackgroundSpec;
17
17
  [SeriesMarkNameEnum.label]?: Omit<ILabelSpec, 'position'> & {
18
18
  position?: Functional<'outside' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>;
19
19
  };
@@ -23,9 +23,12 @@ export interface IBarSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<Bar
23
23
  barGapInGroup?: number | string | (number | string)[];
24
24
  barMinHeight?: number;
25
25
  }
26
+ export interface IBarBackgroundSpec {
27
+ fieldLevel?: number;
28
+ }
26
29
  export interface IBarSeriesTheme extends ICartesianSeriesTheme {
27
30
  [SeriesMarkNameEnum.bar]?: Partial<IMarkTheme<IRectMarkSpec>>;
28
- [SeriesMarkNameEnum.barBackground]?: IMarkSpec<IRectMarkSpec>;
31
+ [SeriesMarkNameEnum.barBackground]?: Partial<IMarkTheme<IRectMarkSpec>> & IBarBackgroundSpec;
29
32
  barWidth?: number;
30
33
  barMinWidth?: number;
31
34
  barMaxWidth?: number;
@@ -7,12 +7,12 @@ import { BaseModel } from '../../model/base-model';
7
7
  import type { ISeriesOption, ISeries, ISeriesMarkInitOption, ISeriesStackData, ISeriesTooltipHelper, SeriesMarkMap, ISeriesMarkInfo, ISeriesSpecInfo } from '../interface';
8
8
  import type { IModelEvaluateOption, IModelRenderOption } from '../../model/interface';
9
9
  import type { AddVChartPropertyContext } from '../../data/transforms/add-property';
10
- import type { ITrigger } from '../../interaction/interface';
11
10
  import type { StatisticOperations } from '../../data/transforms/dimension-statistics';
12
11
  import { SeriesData } from './series-data';
13
12
  import type { IGroupMark } from '../../mark/group';
14
- import type { ISeriesMarkAttributeContext } from '../../compile/mark';
13
+ import { STATE_VALUE_ENUM, type ISeriesMarkAttributeContext } from '../../compile/mark';
15
14
  import { BaseSeriesSpecTransformer } from './base-series-transformer';
15
+ import type { EventType } from '@visactor/vgrammar-core';
16
16
  export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseModel<T> implements ISeries {
17
17
  readonly specKey: string;
18
18
  readonly type: string;
@@ -23,8 +23,6 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
23
23
  static readonly transformerConstructor: typeof BaseSeriesSpecTransformer;
24
24
  readonly transformerConstructor: any;
25
25
  getSpecInfo: () => ISeriesSpecInfo;
26
- protected _trigger: ITrigger;
27
- getTrigger(): ITrigger;
28
26
  protected _option: ISeriesOption;
29
27
  readonly coordinate: CoordinateType;
30
28
  protected _region: IRegion;
@@ -76,6 +74,7 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
76
74
  getInvalidType(): IInvalidType;
77
75
  setInvalidType(t: IInvalidType): void;
78
76
  protected _markAttributeContext: ISeriesMarkAttributeContext;
77
+ getMarkAttributeContext(): ISeriesMarkAttributeContext;
79
78
  constructor(spec: T, options: ISeriesOption);
80
79
  created(): void;
81
80
  protected _buildMarkAttributeContext(): void;
@@ -122,11 +121,40 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
122
121
  setValueFieldToStackOffsetSilhouette(): void;
123
122
  abstract getActiveMarks(): IMark[];
124
123
  initRootMark(): void;
125
- protected _initExtensionMark(): void;
124
+ protected _initExtensionMark(options: {
125
+ hasAnimation: boolean;
126
+ depend?: IMark[];
127
+ }): void;
126
128
  private _createExtensionMark;
127
129
  protected _updateExtensionMarkSpec(lastSpec?: any): void;
128
130
  getStackData(): ISeriesStackData;
129
- initTrigger(): void;
131
+ protected _parseDefaultInteractionConfig(mainMarks?: IMark[]): ({
132
+ seriesId: number;
133
+ regionId: number;
134
+ selector: string[];
135
+ type: string;
136
+ trigger: EventType;
137
+ resetTrigger: EventType;
138
+ blurState: STATE_VALUE_ENUM;
139
+ highlightState: STATE_VALUE_ENUM;
140
+ reverseState?: undefined;
141
+ state?: undefined;
142
+ isMultiple?: undefined;
143
+ } | {
144
+ type: string;
145
+ seriesId: number;
146
+ regionId: number;
147
+ selector: string[];
148
+ trigger: EventType;
149
+ resetTrigger: EventType;
150
+ reverseState: STATE_VALUE_ENUM;
151
+ state: STATE_VALUE_ENUM;
152
+ isMultiple: boolean;
153
+ blurState?: undefined;
154
+ highlightState?: undefined;
155
+ })[];
156
+ protected _parseInteractionConfig(mainMarks?: IMark[]): void;
157
+ initInteraction(): void;
130
158
  initAnimation(): void;
131
159
  initMarkState(): void;
132
160
  initSeriesStyleState(): void;
@@ -195,4 +223,5 @@ export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseMode
195
223
  getMarkInfoList(): import("../../model/interface").IModelMarkInfo[];
196
224
  protected _getInvalidConnectType(): "none" | "zero" | "connect";
197
225
  protected _getInvalidDefined: (datum: Datum) => boolean;
226
+ protected _getRelatedComponentSpecInfo(specKey: string): import("../../model/interface").IModelSpecInfo<any>[];
198
227
  }
@@ -1,2 +1,6 @@
1
1
  import type { SeriesMarkMap } from '../interface/common';
2
2
  export declare const baseSeriesMark: SeriesMarkMap;
3
+ export declare const RECT_X: string;
4
+ export declare const RECT_X1: string;
5
+ export declare const RECT_Y: string;
6
+ export declare const RECT_Y1: string;
@@ -1,5 +1,5 @@
1
1
  import type { TooltipHandlerParams } from '../../component/tooltip/interface';
2
- import type { ITooltipPattern, ShapeType, TooltipActiveType } from '../../typings';
2
+ import type { IToolTipLinePattern, ITooltipPattern, ShapeType, TooltipActiveType } from '../../typings';
3
3
  import type { ISeries, ISeriesTooltipHelper } from '../interface';
4
4
  import { BaseTooltipHelper } from '../../model/tooltip-helper';
5
5
  import type { IDimensionInfo } from '../../event/events/dimension/interface';
@@ -26,4 +26,6 @@ export declare class BaseSeriesTooltipHelper extends BaseTooltipHelper implement
26
26
  titleValueCallback: (datum: Datum, params?: TooltipHandlerParams) => string | undefined;
27
27
  getDefaultTooltipPattern(activeType: TooltipActiveType, dimensionInfo?: IDimensionInfo[]): ITooltipPattern | null;
28
28
  }
29
+ export declare const addExtraInfoToTooltipTitlePattern: <T>(pattern: ITooltipPattern['title'], extraInfo: T | ((line: IToolTipLinePattern) => T), overwrite?: boolean) => ITooltipPattern['title'] | undefined;
30
+ export declare const addExtraInfoToTooltipContentPattern: <T>(pattern: ITooltipPattern['content'], extraInfo: T | ((line: IToolTipLinePattern) => T), overwrite?: boolean) => ITooltipPattern['content'] | undefined;
29
31
  export {};
@@ -76,9 +76,14 @@ export declare abstract class CartesianSeries<T extends ICartesianSeriesSpec = I
76
76
  protected _axisPosition(helper: IAxisHelper, value: StringOrNumber | StringOrNumber[], datum?: any): number;
77
77
  valueToPositionX(value: StringOrNumber | StringOrNumber[], datum?: any): number;
78
78
  valueToPositionY(value: StringOrNumber | StringOrNumber[], datum?: any): number;
79
+ protected _dataToPosition(datum: Datum, axisHelper: IAxisHelper, field: string[], scaleDepth: number | undefined, getEncoder: () => (datum: Datum) => number, setEncoder: (encoder: (datum: Datum) => number) => void): number;
79
80
  protected _positionXEncoder?: (datum: Datum) => number;
81
+ protected _getPositionXEncoder: () => (datum: Datum) => number;
82
+ protected _setPositionXEncoder: (encoder: (datum: Datum) => number) => void;
80
83
  dataToPositionX(datum: Datum): number;
81
84
  protected _positionYEncoder?: (datum: Datum) => number;
85
+ protected _getPositionYEncoder: () => (datum: Datum) => number;
86
+ protected _setPositionYEncoder: (encoder: (datum: Datum) => number) => void;
82
87
  dataToPositionY(datum: Datum): number;
83
88
  dataToPositionZ(datum: Datum): number;
84
89
  dataToPositionX1(datum: Datum): number;
@@ -90,6 +95,7 @@ export declare abstract class CartesianSeries<T extends ICartesianSeriesSpec = I
90
95
  getRegionRectRight(): number;
91
96
  afterInitMark(): void;
92
97
  getDimensionField(): string[];
98
+ getDimensionContinuousField(): string[];
93
99
  getMeasureField(): string[];
94
100
  viewDataUpdate(d: DataView): void;
95
101
  _sortDataInAxisDomain(): void;
@@ -30,6 +30,7 @@ export declare class GaugePointerSeries<T extends IGaugePointerSeriesSpec = IGau
30
30
  };
31
31
  private initPinBackgroundMarkStyle;
32
32
  private initPinMarkStyle;
33
+ initInteraction(): void;
33
34
  initAnimation(): void;
34
35
  getDefaultShapeType(): string;
35
36
  getActiveMarks(): IMark[];
@@ -29,6 +29,7 @@ export declare class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeries
29
29
  scale: any;
30
30
  field: any;
31
31
  };
32
+ initInteraction(): void;
32
33
  initAnimation(): void;
33
34
  protected getCellSize(axisHelper: IAxisHelper): number;
34
35
  protected initTooltip(): void;
@@ -67,6 +67,8 @@ export interface ISeriesMarkInitOption {
67
67
  progressive?: IMarkProgressiveConfig;
68
68
  support3d?: boolean;
69
69
  customShape?: (datum: any[], attrs: any, path: ICustomPath2D) => ICustomPath2D;
70
+ stateSort?: (stateA: string, stateB: string) => number;
71
+ componentType?: string;
70
72
  }
71
73
  export interface ISeriesMarkInfo extends IModelMarkInfo {
72
74
  name: SeriesMarkNameEnum | string;
@@ -76,5 +78,4 @@ export interface ISeriesSpecInfo<T extends ISeriesSpec = ISeriesSpec> extends IM
76
78
  type: string | SeriesTypeEnum;
77
79
  spec: T;
78
80
  markLabelSpec?: Partial<Record<SeriesMarkNameEnum, TransformedLabelSpec[]>>;
79
- totalLabel?: IModelSpecInfo;
80
81
  }
@@ -1,4 +1,3 @@
1
- import type { ITrigger } from '../../interaction/interface';
2
1
  import type { PanEventParam, ZoomEventParam } from '../../event/interface';
3
2
  import type { IModel } from '../../model/interface';
4
3
  import type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';
@@ -11,7 +10,7 @@ import type { IPolarAxisHelper } from '../../component/axis/polar/interface';
11
10
  import type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';
12
11
  import type { ISeriesTooltipHelper } from './tooltip-helper';
13
12
  import type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';
14
- import type { StateValueType } from '../../compile/mark';
13
+ import type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark';
15
14
  import type { StatisticOperations } from '../../data/transforms/dimension-statistics';
16
15
  import type { IGroupMark } from '../../mark/group';
17
16
  import type { IGeoCoordinateHelper } from '../../component/geo/interface';
@@ -90,11 +89,11 @@ export interface ISeries extends IModel {
90
89
  };
91
90
  getDefaultColorDomain: () => any[];
92
91
  getInvalidType: () => IInvalidType;
93
- getTrigger: () => ITrigger;
94
92
  getDefaultShapeType: () => string;
95
93
  initLabelMarkStyle?: (labelMark: ILabelMark) => void;
96
94
  getGroupFields: () => string[];
97
95
  getSpecInfo: () => ISeriesSpecInfo;
96
+ getMarkAttributeContext: () => ISeriesMarkAttributeContext;
98
97
  }
99
98
  export interface ICartesianSeries extends ISeries {
100
99
  readonly coordinate: 'cartesian';
@@ -25,6 +25,7 @@ import type { ICorrelationSeriesTheme } from '../correlation/interface';
25
25
  import { SeriesTypeEnum } from './type';
26
26
  import type { SeriesMarkMap } from './common';
27
27
  import type { IRangeAreaSeriesTheme } from '../range-area/interface';
28
+ import type { ILiquidSeriesTheme } from '../liquid/interface';
28
29
  export interface ISeriesTheme {
29
30
  [SeriesTypeEnum.bar]?: IBarSeriesTheme;
30
31
  [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;
@@ -76,6 +77,7 @@ export interface ISeriesTheme {
76
77
  [SeriesTypeEnum.circlePacking]?: ICirclePackingSeriesTheme;
77
78
  [SeriesTypeEnum.heatmap]?: IHeatmapSeriesTheme;
78
79
  [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;
80
+ [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;
79
81
  }
80
82
  export declare enum SeriesTypeForThemeEnum {
81
83
  area_horizontal = "area_horizontal",
@@ -31,9 +31,10 @@ export declare enum SeriesTypeEnum {
31
31
  circlePacking = "circlePacking",
32
32
  waterfall = "waterfall",
33
33
  heatmap = "heatmap",
34
- correlation = "correlation"
34
+ correlation = "correlation",
35
+ liquid = "liquid"
35
36
  }
36
- export declare enum SeriesMarkNameEnum {
37
+ export declare const enum SeriesMarkNameEnum {
37
38
  label = "label",
38
39
  point = "point",
39
40
  line = "line",
@@ -88,6 +89,8 @@ export declare enum SeriesMarkNameEnum {
88
89
  centerLabel = "centerLabel",
89
90
  barBackground = "barBackground",
90
91
  lineLabel = "lineLabel",
91
- areaLabel = "areaLabel"
92
+ areaLabel = "areaLabel",
93
+ liquid = "liquid",
94
+ liquidBackground = "liquidBackground",
95
+ liquidOutline = "liquidOutline"
92
96
  }
93
- export declare const seriesMarkNameSet: Set<string>;
@@ -44,6 +44,7 @@ export declare class LinkSeries<T extends ILinkSeriesSpec = ILinkSeriesSpec> ext
44
44
  scale: any;
45
45
  field: string;
46
46
  };
47
+ initInteraction(): void;
47
48
  protected initTooltip(): void;
48
49
  protected onMarkTreePositionUpdate(marks: IMark[]): void;
49
50
  getDotInfoData(): import("../../compile/mark/mark-data").MarkData;
@@ -0,0 +1,14 @@
1
+ import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
2
+ export interface ILiquidAnimationParams {
3
+ height: {
4
+ from: () => number | number;
5
+ to: () => number | number;
6
+ };
7
+ y: {
8
+ from: () => number | number;
9
+ to: () => number | number;
10
+ };
11
+ }
12
+ export type LiquidAppearPreset = 'wave' | 'grow' | 'waveGrow';
13
+ export declare function liquidPresetAnimation(params: ILiquidAnimationParams, preset: LiquidAppearPreset): IAnimationTypeConfig;
14
+ export declare const registerLiquidAnimation: () => void;
@@ -0,0 +1,2 @@
1
+ import type { SeriesMarkMap } from '../interface/common';
2
+ export declare const LiquidSeriesMark: SeriesMarkMap;
@@ -0,0 +1,35 @@
1
+ import type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';
2
+ import type { ILiquidMarkSpec, IGroupMarkSpec, ILiquidOutlineSpec } from '../../typings/visual';
3
+ import type { SeriesMarkNameEnum } from '../interface/type';
4
+ import type { IAnimationSpec } from '../../animation/spec';
5
+ import type { LiquidAppearPreset } from './animation';
6
+ import type { SymbolType } from '@visactor/vrender-core';
7
+ import type { ISymbolMark } from '../../mark/symbol';
8
+ type LiquidMarks = 'liquid';
9
+ export type LiquidShapeType = SymbolType | 'drop';
10
+ export type ILiquidPadding = {
11
+ left?: number;
12
+ right?: number;
13
+ top?: number;
14
+ bottom?: number;
15
+ };
16
+ export type ILiquidPaddingSpec = ILiquidPadding | number | number[];
17
+ export interface ILiquidSeriesSpec extends IAnimationSpec<LiquidMarks, LiquidAppearPreset> {
18
+ type: 'liquid';
19
+ valueField?: string;
20
+ maskShape?: LiquidShapeType;
21
+ outlineMargin?: ILiquidPaddingSpec;
22
+ outlinePadding?: ILiquidPaddingSpec;
23
+ indicatorSmartInvert?: boolean;
24
+ [SeriesMarkNameEnum.liquid]?: IMarkSpec<ILiquidMarkSpec>;
25
+ [SeriesMarkNameEnum.liquidBackground]?: IMarkSpec<IGroupMarkSpec>;
26
+ [SeriesMarkNameEnum.liquidOutline]?: IMarkSpec<ISymbolMark>;
27
+ }
28
+ export interface ILiquidSeriesTheme {
29
+ outlineMargin?: ILiquidPaddingSpec;
30
+ outlinePadding?: ILiquidPaddingSpec;
31
+ [SeriesMarkNameEnum.liquid]?: Partial<IMarkTheme<ILiquidMarkSpec>>;
32
+ [SeriesMarkNameEnum.liquidBackground]?: IMarkSpec<IGroupMarkSpec>;
33
+ [SeriesMarkNameEnum.liquidOutline]?: IMarkSpec<ILiquidOutlineSpec>;
34
+ }
35
+ export {};
@@ -0,0 +1,50 @@
1
+ import type { SeriesMarkMap } from '../interface';
2
+ import { SeriesTypeEnum } from '../interface/type';
3
+ import type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';
4
+ import type { ILiquidSeriesSpec } from './interface';
5
+ import type { IMark, IMarkRaw } from '../../mark/interface';
6
+ import { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';
7
+ import { BaseSeries } from '../base';
8
+ import type { DataView } from '@visactor/vdataset';
9
+ export type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;
10
+ export declare class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {
11
+ static readonly type: string;
12
+ type: SeriesTypeEnum;
13
+ static readonly mark: SeriesMarkMap;
14
+ static readonly transformerConstructor: typeof LineLikeSeriesSpecTransformer;
15
+ readonly transformerConstructor: typeof LineLikeSeriesSpecTransformer;
16
+ private _liquidMark?;
17
+ private _liquidBackgroundMark?;
18
+ private _liquidOutlineMark?;
19
+ private _paddingSpec?;
20
+ private _marginSpec?;
21
+ private _heightRatio?;
22
+ protected _valueField?: string;
23
+ setValueField(field: string): void;
24
+ getValueField(): string;
25
+ setAttrFromSpec(): void;
26
+ rawDataUpdate(d: DataView): void;
27
+ initMark(): void;
28
+ initMarkStyle(): void;
29
+ private _initLiquidOutlineMark;
30
+ private _initLiquidBackgroundMark;
31
+ private _initLiquidMark;
32
+ private _getPosAndSizeFormRegion;
33
+ private _initLiquidOutlineMarkStyle;
34
+ private _initLiquidBackgroundMarkStyle;
35
+ private _initLiquidMarkStyle;
36
+ protected initTooltip(): void;
37
+ initInteraction(): void;
38
+ initAnimation(): void;
39
+ protected initEvent(): void;
40
+ dataToPosition(data: Datum): IPoint;
41
+ dataToPositionX(data: Datum): number;
42
+ dataToPositionY(data: Datum): number;
43
+ valueToPosition(value1: any, value2?: any): IPoint;
44
+ getStatisticFields(): any[];
45
+ getGroupFields(): string[];
46
+ getStackGroupFields(): string[];
47
+ getStackValueField(): string;
48
+ getActiveMarks(): IMark[];
49
+ }
50
+ export declare const registerLiquidSeries: () => void;
@@ -0,0 +1,9 @@
1
+ import type { ISeriesTooltipHelper } from '../interface';
2
+ import { BaseSeriesTooltipHelper } from '../base/tooltip-helper';
3
+ import type { Datum, ITooltipPattern, TooltipActiveType } from '../../typings';
4
+ export declare class LiquidSeriesTooltipHelper extends BaseSeriesTooltipHelper implements ISeriesTooltipHelper {
5
+ getDefaultTooltipPattern(activeType: TooltipActiveType): ITooltipPattern | null;
6
+ getContentKey: () => (datum: any) => string;
7
+ getContentValue: () => (datum: any) => any;
8
+ getLiquidFillColor: (datum: Datum) => any;
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { LiquidShapeType } from './interface';
2
+ export declare const getShapes: (shapesType: LiquidShapeType, size: number) => string;
@@ -1,5 +1,4 @@
1
1
  import type { ISeriesOption } from '../interface/common';
2
- import type { ITrigger } from '../../interaction/interface';
3
2
  import type { ISeries } from '../interface/series';
4
3
  import type { IMark, IMarkProgressiveConfig } from '../../mark/interface';
5
4
  import type { ILineMark } from '../../mark/line';
@@ -28,7 +27,6 @@ export interface LineLikeSeriesMixin extends ISeries {
28
27
  _option: ISeriesOption;
29
28
  _seriesField: string;
30
29
  _theme: Maybe<ILineLikeSeriesTheme>;
31
- _trigger: ITrigger;
32
30
  _tooltipHelper: ISeriesTooltipHelper;
33
31
  _invalidType: IInvalidType;
34
32
  _region: IRegion;
@@ -56,6 +54,8 @@ export declare class LineLikeSeriesMixin {
56
54
  protected _dimensionTrigger(params: DimensionEventParams): void;
57
55
  initSymbolMark(progressive?: IMarkProgressiveConfig, isSeriesMark?: boolean): ISymbolMark;
58
56
  initSymbolMarkStyle(): ISymbolMark;
57
+ private _initSymbolMark;
58
+ private _initSymbolActiveMarkAlone;
59
59
  initLabelMarkStyle(labelMark?: ILabelMark): void;
60
60
  initLineLabelMarkStyle(labelMark?: ILabelMark): void;
61
61
  encodeDefined(mark: IMark, attr: string): void;