@visactor/vchart-types 1.6.2 → 1.7.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 (102) hide show
  1. package/package.json +1 -1
  2. package/tsconfig.tsbuildinfo +1 -1
  3. package/types/animation/utils.d.ts +2 -2
  4. package/types/chart/base-chart.d.ts +4 -4
  5. package/types/chart/interface/chart.d.ts +2 -2
  6. package/types/compile/mark/compilable-mark.d.ts +1 -2
  7. package/types/component/axis/base-axis.d.ts +1 -0
  8. package/types/component/axis/cartesian/axis.d.ts +12 -9
  9. package/types/component/axis/cartesian/interface/theme.d.ts +1 -1
  10. package/types/component/axis/polar/axis.d.ts +3 -4
  11. package/types/component/base/base-component.d.ts +12 -4
  12. package/types/component/brush/brush.d.ts +3 -4
  13. package/types/component/crosshair/base.d.ts +4 -5
  14. package/types/component/crosshair/cartesian.d.ts +2 -0
  15. package/types/component/crosshair/interface/spec.d.ts +1 -1
  16. package/types/component/crosshair/polar.d.ts +2 -0
  17. package/types/component/custom-mark/custom-mark.d.ts +3 -4
  18. package/types/component/data-zoom/data-filter-base-component.d.ts +6 -8
  19. package/types/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
  20. package/types/component/data-zoom/data-zoom/interface.d.ts +1 -0
  21. package/types/component/data-zoom/scroll-bar/interface.d.ts +1 -1
  22. package/types/component/geo/geo-coordinate.d.ts +4 -3
  23. package/types/component/indicator/indicator.d.ts +2 -4
  24. package/types/component/indicator/interface.d.ts +1 -1
  25. package/types/component/interface/common.d.ts +3 -3
  26. package/types/component/label/base-label.d.ts +3 -4
  27. package/types/component/label/label.d.ts +3 -3
  28. package/types/component/label/totalLabel.d.ts +3 -3
  29. package/types/component/legend/base-legend.d.ts +6 -9
  30. package/types/component/legend/continuous/legend.d.ts +4 -1
  31. package/types/component/legend/discrete/legend.d.ts +4 -1
  32. package/types/component/legend/discrete/util.d.ts +1 -1
  33. package/types/component/legend/util.d.ts +1 -1
  34. package/types/component/map-label/component.d.ts +2 -4
  35. package/types/component/marker/base-marker.d.ts +2 -3
  36. package/types/component/marker/interface.d.ts +1 -1
  37. package/types/component/marker/mark-area/mark-area.d.ts +1 -3
  38. package/types/component/marker/mark-line/mark-line.d.ts +1 -3
  39. package/types/component/marker/mark-point/mark-point.d.ts +1 -3
  40. package/types/component/player/interface/theme.d.ts +1 -1
  41. package/types/component/player/player.d.ts +6 -7
  42. package/types/component/title/interface/theme.d.ts +1 -1
  43. package/types/component/title/title.d.ts +6 -9
  44. package/types/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
  45. package/types/component/tooltip/tooltip.d.ts +4 -3
  46. package/types/constant/layout.d.ts +1 -0
  47. package/types/core/factory.d.ts +5 -2
  48. package/types/core/vchart.d.ts +1 -0
  49. package/types/event/events/base.d.ts +16 -0
  50. package/types/event/events/dimension/util/cartesian.d.ts +1 -1
  51. package/types/event/events/dimension/util/common.d.ts +1 -2
  52. package/types/event/events/dimension/util/polar.d.ts +1 -1
  53. package/types/event/interface.d.ts +1 -1
  54. package/types/interaction/zoom/zoomable.d.ts +1 -0
  55. package/types/layout/base-layout.d.ts +3 -5
  56. package/types/layout/grid-layout/grid-layout.d.ts +1 -2
  57. package/types/layout/interface.d.ts +74 -6
  58. package/types/layout/layout-item.d.ts +71 -0
  59. package/types/layout/layout3d/index.d.ts +2 -4
  60. package/types/layout/util.d.ts +1 -1
  61. package/types/mark/base/base-mark.d.ts +3 -3
  62. package/types/model/base-model.d.ts +10 -6
  63. package/types/model/interface.d.ts +20 -82
  64. package/types/model/layout-model.d.ts +39 -0
  65. package/types/region/interface.d.ts +3 -2
  66. package/types/region/region.d.ts +12 -7
  67. package/types/series/base/base-series.d.ts +10 -4
  68. package/types/series/funnel/interface.d.ts +1 -2
  69. package/types/series/interface/series.d.ts +3 -2
  70. package/types/series/mixin/line-mixin.d.ts +2 -1
  71. package/types/series/sankey/sankey.d.ts +2 -1
  72. package/types/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
  73. package/types/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
  74. package/types/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
  75. package/types/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
  76. package/types/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
  77. package/types/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
  78. package/types/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
  79. package/types/theme/builtin/common-mobile/component/index.d.ts +2 -0
  80. package/types/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
  81. package/types/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
  82. package/types/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
  83. package/types/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
  84. package/types/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
  85. package/types/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
  86. package/types/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
  87. package/types/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
  88. package/types/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
  89. package/types/theme/builtin/common-mobile/component/player.d.ts +2 -0
  90. package/types/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
  91. package/types/theme/builtin/common-mobile/component/title.d.ts +2 -0
  92. package/types/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
  93. package/types/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
  94. package/types/theme/builtin/common-mobile/constants.d.ts +2 -0
  95. package/types/theme/builtin/common-mobile/mark.d.ts +3 -0
  96. package/types/theme/builtin/dark-mobile/index.d.ts +2 -0
  97. package/types/theme/builtin/light-mobile/index.d.ts +2 -0
  98. package/types/theme/interface.d.ts +1 -2
  99. package/types/typings/index.d.ts +1 -0
  100. package/types/typings/layout.d.ts +23 -0
  101. package/types/typings/spec/common.d.ts +1 -2
  102. package/types/util/space.d.ts +1 -1
@@ -1,13 +1,16 @@
1
1
  import { DataView } from '@visactor/vdataset';
2
2
  import type { IDiscreteLegendSpec, IDiscreteLegendTheme } from './interface';
3
3
  import type { ISeries } from '../../../series/interface';
4
- import type { IModelInitOption, ILayoutRect } from '../../../model/interface';
4
+ import type { IModelInitOption } from '../../../model/interface';
5
5
  import type { IComponentOption } from '../../interface';
6
6
  import { ComponentTypeEnum } from '../../interface/type';
7
7
  import { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';
8
8
  import type { ILegend } from '../interface';
9
9
  import { BaseLegend } from '../base-legend';
10
+ import type { ILayoutRect } from '../../../typings/layout';
10
11
  export declare class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {
12
+ static specKey: string;
13
+ specKey: string;
11
14
  static type: ComponentTypeEnum;
12
15
  type: ComponentTypeEnum;
13
16
  name: string;
@@ -1,3 +1,3 @@
1
- import type { ILayoutRect } from '../../../model/interface';
2
1
  import type { IDiscreteLegendSpec } from './interface';
2
+ import type { ILayoutRect } from '../../../typings/layout';
3
3
  export declare function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect): any;
@@ -13,7 +13,7 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
13
13
  };
14
14
  background?: {
15
15
  visible?: boolean;
16
- style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "width" | "height" | "visible">;
16
+ style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "visible" | "width" | "height">;
17
17
  };
18
18
  text?: string | number | string[] | number[];
19
19
  visible?: boolean;
@@ -5,9 +5,8 @@ import { ComponentTypeEnum } from '../interface/type';
5
5
  import { LayoutZIndex } from '../../constant';
6
6
  import type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';
7
7
  import type { ICartesianSeries, IGeoSeries } from '../../series/interface';
8
- import type { IPoint, Datum } from '../../typings';
8
+ import type { IPoint, Datum, ILayoutType } from '../../typings';
9
9
  import type { IPairInfo } from './layout';
10
- import type { LayoutItem } from '../../model/layout-item';
11
10
  import { MarkPoint } from '@visactor/vrender-components';
12
11
  import type { IGraphic } from '@visactor/vrender-core';
13
12
  import type { PanEventParam, ZoomEventParam } from '../../event/interface';
@@ -15,8 +14,7 @@ export declare class MapLabelComponent extends BaseComponent<IMapLabelSpec> {
15
14
  static type: ComponentTypeEnum;
16
15
  type: ComponentTypeEnum;
17
16
  name: string;
18
- layoutType: LayoutItem['layoutType'];
19
- static speckey: string;
17
+ layoutType: ILayoutType;
20
18
  layoutZIndex: LayoutZIndex;
21
19
  protected nameField: string;
22
20
  protected valueField?: string;
@@ -1,14 +1,13 @@
1
1
  import type { DataView } from '@visactor/vdataset';
2
2
  import type { IModelRenderOption } from '../../model/interface';
3
- import type { LayoutItem } from '../../model/layout-item';
4
3
  import type { IRegion } from '../../region/interface';
5
4
  import type { ICartesianSeries } from '../../series/interface';
6
- import type { StringOrNumber } from '../../typings';
5
+ import type { ILayoutType, StringOrNumber } from '../../typings';
7
6
  import { BaseComponent } from '../base/base-component';
8
7
  import type { IAggrType, IDataPos, IDataPosCallback, IMarkerAxisSpec, IMarkerSpec } from './interface';
9
8
  import type { IGraphic } from '@visactor/vrender-core';
10
9
  export declare abstract class BaseMarker<T extends IMarkerSpec & IMarkerAxisSpec> extends BaseComponent<T> {
11
- layoutType: LayoutItem['layoutType'];
10
+ layoutType: ILayoutType;
12
11
  protected _startRelativeSeries: ICartesianSeries;
13
12
  protected _endRelativeSeries: ICartesianSeries;
14
13
  protected _relativeSeries: ICartesianSeries;
@@ -22,7 +22,7 @@ export type IMarkerLabelWithoutRefSpec = {
22
22
  labelBackground?: {
23
23
  visible?: boolean;
24
24
  padding?: IPadding | number[] | number;
25
- style: Omit<IRectMarkSpec, 'visible'>;
25
+ style?: Omit<IRectMarkSpec, 'visible'>;
26
26
  };
27
27
  text?: string | string[] | number | number[];
28
28
  formatMethod?: (markData: Datum[], seriesData: Datum[]) => string | string[] | number | number[];
@@ -3,13 +3,11 @@ import type { IComponentOption } from '../../interface';
3
3
  import { ComponentTypeEnum } from '../../interface/type';
4
4
  import { MarkArea as MarkAreaComponent } from '@visactor/vrender-components';
5
5
  import { BaseMarker } from '../base-marker';
6
- import type { LayoutItem } from '../../../model/layout-item';
7
6
  export declare class MarkArea extends BaseMarker<IMarkAreaSpec & IMarkAreaTheme> implements IMarkArea {
8
7
  static type: ComponentTypeEnum;
9
8
  type: ComponentTypeEnum;
10
9
  name: string;
11
- layoutZIndex: LayoutItem['layoutZIndex'];
12
- static speckey: string;
10
+ layoutZIndex: number;
13
11
  protected _theme: IMarkAreaTheme;
14
12
  protected _markerComponent: MarkAreaComponent;
15
13
  static createComponent(spec: any, options: IComponentOption): MarkArea | MarkArea[];
@@ -3,13 +3,11 @@ import type { IComponentOption } from '../../interface';
3
3
  import { ComponentTypeEnum } from '../../interface/type';
4
4
  import { MarkLine as MarkLineComponent } from '@visactor/vrender-components';
5
5
  import { BaseMarker } from '../base-marker';
6
- import type { LayoutItem } from '../../../model/layout-item';
7
6
  export declare class MarkLine extends BaseMarker<IMarkLineSpec & IMarkLineTheme> implements IMarkLine {
8
7
  static type: ComponentTypeEnum;
9
8
  type: ComponentTypeEnum;
10
9
  name: string;
11
- layoutZIndex: LayoutItem['layoutZIndex'];
12
- static speckey: string;
10
+ layoutZIndex: number;
13
11
  protected _theme: IMarkLineTheme;
14
12
  protected _markerComponent: MarkLineComponent;
15
13
  static createComponent(spec: any, options: IComponentOption): MarkLine | MarkLine[];
@@ -3,13 +3,11 @@ import type { IComponentOption } from '../../interface';
3
3
  import { ComponentTypeEnum } from '../../interface/type';
4
4
  import { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';
5
5
  import { BaseMarker } from '../base-marker';
6
- import type { LayoutItem } from '../../../model/layout-item';
7
6
  export declare class MarkPoint extends BaseMarker<IMarkPointSpec & IMarkPointTheme> implements IMarkPoint {
8
7
  static type: ComponentTypeEnum;
9
8
  type: ComponentTypeEnum;
10
9
  name: string;
11
- layoutZIndex: LayoutItem['layoutZIndex'];
12
- static speckey: string;
10
+ layoutZIndex: number;
13
11
  protected _theme: IMarkPointTheme;
14
12
  protected _markerComponent: MarkPointComponent;
15
13
  static createComponent(spec: any, options: IComponentOption): MarkPoint | MarkPoint[];
@@ -1,7 +1,7 @@
1
1
  import type { ControllerLayout, OrientType } from '@visactor/vrender-components';
2
2
  import type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';
3
3
  import type { BaseGraphicAttributes } from '@visactor/vrender-components/es/core/type';
4
- import type { ILayoutItemSpec } from '../../../model/interface';
4
+ import type { ILayoutItemSpec } from '../../../layout/interface';
5
5
  export interface IPlayerTheme extends ILayoutItemSpec {
6
6
  visible?: boolean;
7
7
  dx?: number;
@@ -1,20 +1,20 @@
1
1
  import type { IGraphic } from '@visactor/vrender-core';
2
- import type { ILayoutRect, IModelRenderOption } from '../../model/interface';
2
+ import type { IModelRenderOption } from '../../model/interface';
3
3
  import type { IRegion } from '../../region/interface';
4
4
  import type { IComponentOption } from '../interface';
5
5
  import type { IPlayer } from './interface';
6
6
  import type { IComponent } from '../interface';
7
- import type { IPoint, IOrientType } from '../../typings';
7
+ import type { IPoint, IOrientType, ILayoutRect } from '../../typings';
8
8
  import { type IChartSpec } from '../..';
9
9
  import { ComponentTypeEnum } from '../interface/type';
10
10
  import { BaseComponent } from '../base/base-component';
11
11
  export declare class Player extends BaseComponent<IPlayer> implements IComponent {
12
12
  layoutZIndex: number;
13
13
  layoutLevel: number;
14
+ specKey: string;
14
15
  static type: ComponentTypeEnum;
15
16
  type: ComponentTypeEnum;
16
- specKey: string;
17
- private _orient;
17
+ protected _orient: IOrientType;
18
18
  private _specs;
19
19
  private _playerComponent;
20
20
  private _cacheAttrs;
@@ -26,12 +26,11 @@ export declare class Player extends BaseComponent<IPlayer> implements IComponent
26
26
  private _height;
27
27
  private _position;
28
28
  get orient(): IOrientType;
29
- get layoutOrient(): IOrientType;
30
29
  set layoutOrient(v: IOrientType);
31
30
  static createComponent: (spec: IChartSpec, options: IComponentOption) => Player;
32
31
  setAttrFromSpec(): void;
33
- setLayoutStartPosition(pos: Partial<IPoint>): void;
34
- _boundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): {
32
+ afterSetLayoutStartPoint(pos: IPoint): void;
33
+ getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect): {
35
34
  x1: number;
36
35
  y1: number;
37
36
  x2: number;
@@ -1,4 +1,4 @@
1
- import type { ILayoutItemSpec } from '../../../model/interface';
1
+ import type { ILayoutItemSpec } from '../../../layout/interface';
2
2
  import type { IColorKey } from '../../../theme/color-scheme/interface';
3
3
  import type { StringOrNumber } from '../../../typings';
4
4
  import type { TextAlign, TextBaseLine } from '../../../typings/visual';
@@ -3,24 +3,21 @@ import { ComponentTypeEnum } from '../interface/type';
3
3
  import type { IComponentOption } from '../interface';
4
4
  import type { ITitle, ITitleSpec, ITitleTheme } from './interface';
5
5
  import type { IRegion } from '../../region/interface';
6
- import type { ILayoutRect } from '../../model/interface';
7
6
  import type { IGraphic } from '@visactor/vrender-core';
8
- import type { IPoint, IOrientType } from '../../typings';
9
- import type { LayoutItem } from '../../model/layout-item';
7
+ import type { IPoint, IOrientType, ILayoutType, ILayoutRect } from '../../typings';
10
8
  export declare class Title extends BaseComponent<ITitleSpec> implements ITitle {
11
9
  static type: ComponentTypeEnum;
12
10
  type: ComponentTypeEnum;
13
- layoutType: LayoutItem['layoutType'];
14
- layoutZIndex: LayoutItem['layoutZIndex'];
11
+ layoutType: ILayoutType;
12
+ layoutZIndex: number;
15
13
  layoutLevel: number;
16
14
  protected _theme: ITitleTheme;
17
15
  protected _orient: IOrientType;
18
16
  private _titleComponent;
19
17
  private _cacheAttrs;
20
18
  get orient(): IOrientType;
21
- get layoutOrient(): IOrientType;
22
- set layoutOrient(v: IOrientType);
23
19
  constructor(spec: ITitleSpec, options: IComponentOption);
20
+ initLayout(): void;
24
21
  static createComponent(spec: any, options: IComponentOption): Title | Title[];
25
22
  onRender(ctx: any): void;
26
23
  _compareSpec(): {
@@ -33,8 +30,8 @@ export declare class Title extends BaseComponent<ITitleSpec> implements ITitle {
33
30
  changeRegions(regions: IRegion[]): void;
34
31
  update(ctx: IComponentOption): void;
35
32
  resize(ctx: IComponentOption): void;
36
- setLayoutStartPosition(pos: Partial<IPoint>): void;
37
- _boundsInRect(rect: ILayoutRect): {
33
+ afterSetLayoutStartPoint(pos: IPoint): void;
34
+ getBoundsInRect(rect: ILayoutRect): {
38
35
  x1: number;
39
36
  y1: number;
40
37
  x2: number;
@@ -10,6 +10,7 @@ export interface IShapeSvgOption {
10
10
  lineWidth?: number;
11
11
  hollow?: boolean;
12
12
  marginTop?: string;
13
+ index?: number;
13
14
  }
14
15
  export declare class ShapeModel extends BaseTooltipModel {
15
16
  svg: SVGElement;
@@ -1,11 +1,11 @@
1
1
  import type { IComponentOption } from '../interface';
2
2
  import { ComponentTypeEnum } from '../interface/type';
3
- import type { IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';
3
+ import type { IModelLayoutOption, IModelRenderOption } from '../../model/interface';
4
4
  import type { IRegion } from '../../region/interface';
5
5
  import { BaseComponent } from '../base/base-component';
6
6
  import type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';
7
7
  import type { ITooltipHandler, IToolTipLineActual, TooltipActiveType } from '../../typings/tooltip';
8
- import type { Datum, IShowTooltipOption } from '../../typings';
8
+ import type { Datum, ILayoutType, IShowTooltipOption } from '../../typings';
9
9
  import type { ITooltip, ITooltipActiveTypeAsKeys, ITooltipSpec, ITooltipTheme, TooltipHandlerParams, TotalMouseEventData } from './interface';
10
10
  import { TooltipResult } from './interface/common';
11
11
  import { DimensionTooltipProcessor } from './processor/dimension-tooltip';
@@ -16,10 +16,11 @@ export type TooltipActualTitleContent = {
16
16
  content?: IToolTipLineActual[];
17
17
  };
18
18
  export declare class Tooltip extends BaseComponent<any> implements ITooltip {
19
+ protected layoutZIndex: number;
19
20
  static type: ComponentTypeEnum;
20
21
  type: ComponentTypeEnum;
21
22
  name: string;
22
- layoutType: ILayoutItem['layoutType'];
23
+ layoutType: ILayoutType;
23
24
  protected _spec: ITooltipSpec;
24
25
  static createComponent(spec: any, options: IComponentOption): Tooltip | Tooltip[];
25
26
  tooltipHandler?: ITooltipHandler;
@@ -1,2 +1,3 @@
1
1
  export declare const USER_LAYOUT_RECT_LEVEL = 9;
2
2
  export declare const DEFAULT_LAYOUT_RECT_LEVEL = 0;
3
+ export declare const DEFAULT_LAYOUT_RECT_LEVEL_MIN = -1;
@@ -26,7 +26,7 @@ export declare class Factory {
26
26
  };
27
27
  static registerChart(key: string, chart: IChartConstructor): void;
28
28
  static registerSeries(key: string, series: ISeriesConstructor): void;
29
- static registerComponent(key: string, cmp: IComponentConstructor): void;
29
+ static registerComponent(key: string, cmp: IComponentConstructor, alwaysCheck?: boolean): void;
30
30
  static registerMark(key: string, mark: MarkConstructor): void;
31
31
  static registerRegion(key: string, region: IRegionConstructor): void;
32
32
  static registerTransform(key: string, transform: Transform): void;
@@ -37,7 +37,10 @@ export declare class Factory {
37
37
  static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null;
38
38
  static createSeries(seriesType: string, spec: any, options: ISeriesOption): import("../series/interface").ISeries;
39
39
  static createMark(markType: string, name: string, options: IMarkOption): import("../mark/interface").IMark;
40
- static getComponents(): IComponentConstructor[];
40
+ static getComponents(): {
41
+ cmp: IComponentConstructor;
42
+ alwaysCheck?: boolean;
43
+ }[];
41
44
  static getComponentInKey(name: string): IComponentConstructor;
42
45
  static getLayout(): ILayoutConstructor[];
43
46
  static getLayoutInKey(name: string): ILayoutConstructor;
@@ -62,6 +62,7 @@ export declare class VChart implements IVChart {
62
62
  private _currentChartLevelTheme;
63
63
  private _onError?;
64
64
  private _context;
65
+ private _isReleased;
65
66
  constructor(spec: ISpec, options: IInitOption);
66
67
  private _setSpec;
67
68
  private _initChart;
@@ -0,0 +1,16 @@
1
+ import type { ValueOf } from '@visactor/vgrammar-core';
2
+ import type { EventHandler, EventParamsDefinition, EventType, IComposedEvent, IEventDispatcher } from '../interface';
3
+ import type { Maybe, RenderMode } from '../../typings';
4
+ import type { IChart } from '../../chart/interface';
5
+ export declare abstract class ComposedEvent implements IComposedEvent {
6
+ protected _eventMap: Map<string, EventHandler<ValueOf<EventParamsDefinition>>>;
7
+ protected _eventDispatcher: IEventDispatcher;
8
+ protected _mode: RenderMode;
9
+ protected _chart: Maybe<IChart>;
10
+ constructor(eventDispatcher: IEventDispatcher, mode: RenderMode);
11
+ abstract register<Evt extends EventType>(eType: string, handler: EventHandler<EventParamsDefinition[Evt]>): void;
12
+ abstract unregister(): void;
13
+ abstract dispatch(v: unknown, opt: unknown): unknown;
14
+ protected _registerEvent<Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>): IEventDispatcher;
15
+ protected _unregisterEvent<Evt extends EventType>(eType: Evt, handler?: EventHandler<EventParamsDefinition[Evt]>): IEventDispatcher;
16
+ }
@@ -1,8 +1,8 @@
1
1
  import type { IChart } from '../../../../chart/interface';
2
- import type { ILayoutPoint } from '../../../../model/interface';
3
2
  import type { IDimensionInfo } from '../interface';
4
3
  import type { CartesianAxis } from '../../../../component/axis/cartesian';
5
4
  import type { ICartesianSeries } from '../../../../series/interface';
5
+ import type { ILayoutPoint } from '../../../../typings/layout';
6
6
  export declare const getCartesianDimensionInfo: (chart: IChart | undefined, pos: ILayoutPoint) => IDimensionInfo[] | null;
7
7
  export declare const getDimensionInfoByPosition: (axis: CartesianAxis, posValue: number, posKey: 'x' | 'y', getDimensionField: (series: ICartesianSeries) => string | string[]) => IDimensionInfo | null;
8
8
  export declare const getDimensionInfoByValue: (axis: CartesianAxis, value: any, getDimensionField?: (series: ICartesianSeries) => string | string[]) => IDimensionInfo | null;
@@ -1,8 +1,7 @@
1
- import type { ILayoutPoint } from '../../../../model/interface';
2
1
  import type { IChart } from '../../../../chart/interface';
3
2
  import type { IDimensionData, IDimensionInfo } from '../interface';
4
3
  import type { AxisComponent } from '../../../../component/axis/base-axis';
5
- import type { CoordinateType } from '../../../../typings';
4
+ import type { CoordinateType, ILayoutPoint } from '../../../../typings';
6
5
  export declare const isInRegionBound: (chart: IChart, axis: AxisComponent, pos: ILayoutPoint) => boolean;
7
6
  export declare const isSameDimensionInfo: (a?: IDimensionInfo, b?: IDimensionInfo) => boolean;
8
7
  export declare const getDimensionData: (value: any, axis: AxisComponent, coordinate: CoordinateType, getDimensionField: (series: any) => string | string[]) => IDimensionData[];
@@ -1,4 +1,4 @@
1
1
  import type { IChart } from '../../../../chart/interface';
2
- import type { ILayoutPoint } from '../../../../model/interface';
3
2
  import type { IDimensionInfo } from '../interface';
3
+ import type { ILayoutPoint } from '../../../../typings/layout';
4
4
  export declare const getPolarDimensionInfo: (chart: IChart | undefined, pos: ILayoutPoint) => IDimensionInfo[] | null;
@@ -1,4 +1,3 @@
1
- import type { ILayoutItem } from './../model/interface';
2
1
  import type { IGraphic } from '@visactor/vrender-core';
3
2
  import type { IElement } from '@visactor/vgrammar-core';
4
3
  import type { IChart } from '../chart/interface';
@@ -10,6 +9,7 @@ import type { Datum, IPoint, StringOrNumber } from '../typings';
10
9
  import type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant';
11
10
  import type { SeriesType } from '../series/interface';
12
11
  import type { TooltipEventParams } from '../component/tooltip/interface/event';
12
+ import type { ILayoutItem } from '../layout/interface';
13
13
  export type EventType = 'pointerdown' | 'pointerup' | 'pointerupoutside' | 'pointertap' | 'pointerover' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerout' | 'mousedown' | 'mouseup' | 'mouseupoutside' | 'rightdown' | 'rightup' | 'rightupoutside' | 'click' | 'dblclick' | 'mousemove' | 'mouseover' | 'mouseout' | 'mouseenter' | 'mouseleave' | 'wheel' | 'touchstart' | 'touchend' | 'touchendoutside' | 'touchmove' | 'touchcancel' | 'tap' | 'dragstart' | 'drag' | 'dragenter' | 'dragleave' | 'dragover' | 'dragend' | 'drop' | 'pan' | 'panstart' | 'panend' | 'press' | 'pressup' | 'pressend' | 'pinch' | 'pinchstart' | 'pinchend' | 'swipe' | keyof typeof ChartEvent | keyof typeof VGRAMMAR_HOOK_EVENT | string;
14
14
  export type EventBubbleLevel = keyof typeof Event_Bubble_Level;
15
15
  export type ComponentType = 'axis' | 'dataZoom' | 'indicator' | 'legend' | 'mapLabel' | 'markLine' | 'tooltip' | 'title' | 'label';
@@ -52,6 +52,7 @@ export declare class Zoomable implements IZoomable {
52
52
  initZoomable(evt: IEvent, mode?: RenderMode): void;
53
53
  private _getTriggerEvent;
54
54
  private _zoomEventDispatch;
55
+ private _getRegionOrSeriesLayout;
55
56
  private _bindZoomEventAsRegion;
56
57
  initZoomEventOfSeries(s: ISeries, callback?: (params: {
57
58
  zoomDelta: number;
@@ -1,10 +1,8 @@
1
1
  import type { utilFunctionCtx } from '../typings/params';
2
2
  import type { IChart } from '../chart/interface/chart';
3
3
  import type { IBoundsLike } from '@visactor/vutils';
4
- import type { ILayoutItem } from '../model/interface';
5
- import type { IBaseLayout } from './interface';
4
+ import type { IBaseLayout, ILayoutItem } from './interface';
6
5
  import type { IPadding, IRect } from '../typings/space';
7
- import type { IRegion } from '../region/interface';
8
6
  export declare class Layout implements IBaseLayout {
9
7
  static type: string;
10
8
  leftCurrent: number;
@@ -18,9 +16,9 @@ export declare class Layout implements IBaseLayout {
18
16
  layoutItems(_chart: IChart, items: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike): void;
19
17
  protected layoutNormalItems(normalItems: ILayoutItem[]): void;
20
18
  protected layoutNormalInlineItems(normalItems: ILayoutItem[]): void;
21
- protected layoutRegionItems(regionItems: IRegion[], regionRelativeItems: ILayoutItem[]): void;
19
+ protected layoutRegionItems(regionItems: ILayoutItem[], regionRelativeItems: ILayoutItem[]): void;
22
20
  protected layoutAbsoluteItems(absoluteItems: ILayoutItem[]): void;
23
- filterRegionsWithID(regions: IRegion[], id: number): ILayoutItem;
21
+ filterRegionsWithID(items: ILayoutItem[], id: number): ILayoutItem;
24
22
  getItemComputeLayoutRect(item: ILayoutItem): {
25
23
  width: number;
26
24
  height: number;
@@ -1,8 +1,7 @@
1
1
  import type { utilFunctionCtx } from '../../typings/params';
2
2
  import type { IChart } from '../../chart/interface/chart';
3
3
  import type { IBoundsLike } from '@visactor/vutils';
4
- import type { ILayoutItem } from '../../model/interface';
5
- import type { IBaseLayout, IGridLayoutSpec, ElementSpec } from '../interface';
4
+ import type { IBaseLayout, IGridLayoutSpec, ElementSpec, ILayoutItem } from '../interface';
6
5
  import type { IRect } from '../../typings/space';
7
6
  type GridSize = {
8
7
  value: number;
@@ -1,12 +1,13 @@
1
- import type { utilFunctionCtx } from '../typings/params';
2
- import type { IRect } from '../typings/space';
3
- import type { ILayoutItem } from '../model/interface';
4
1
  import type { IBoundsLike } from '@visactor/vutils';
5
- import type { IChart } from '../chart/interface';
2
+ import type { StringOrNumber } from '../typings/common';
3
+ import type { IOrientType, IRect } from '../typings/space';
4
+ import type { IPoint } from '../typings/coordinate';
5
+ import type { ILayoutNumber, ILayoutPaddingSpec, ILayoutPoint, ILayoutRect, ILayoutType } from '../typings/layout';
6
+ import type { ILayoutModel } from '../model/interface';
6
7
  export interface IBaseLayout {
7
8
  layoutItems: LayoutCallBack;
8
9
  }
9
- export type LayoutCallBack = (chart: IChart, item: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike) => void;
10
+ export type LayoutCallBack = (chart: any, item: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike) => void;
10
11
  export interface ILayoutSpecBase {
11
12
  type: string;
12
13
  }
@@ -41,5 +42,72 @@ export interface IBaseLayoutSpec extends ILayoutSpecBase {
41
42
  export type ILayoutSpec = IBaseLayoutSpec | IGridLayoutSpec;
42
43
  export interface ILayoutConstructor {
43
44
  type: string;
44
- new (spec: ILayoutSpec | any, ctx?: utilFunctionCtx): IBaseLayout;
45
+ new (spec: ILayoutSpec | any, ctx?: any): IBaseLayout;
46
+ }
47
+ export interface ILayoutItem {
48
+ readonly type: string;
49
+ directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';
50
+ layoutClip: boolean;
51
+ layoutType: ILayoutType;
52
+ layoutBindRegionID: number | number[];
53
+ layoutOrient: IOrientType;
54
+ autoIndent: boolean;
55
+ layoutPaddingLeft: number;
56
+ layoutPaddingTop: number;
57
+ layoutPaddingRight: number;
58
+ layoutPaddingBottom: number;
59
+ layoutOffsetX: number;
60
+ layoutOffsetY: number;
61
+ layoutLevel: number;
62
+ chartLayoutRect: ILayoutRect;
63
+ readonly layoutRectLevelMap: ILayoutRect;
64
+ minWidth: number;
65
+ maxWidth: number;
66
+ minHeight: number;
67
+ maxHeight: number;
68
+ readonly model: ILayoutModel;
69
+ getModelId: () => StringOrNumber;
70
+ getModelVisible: () => boolean;
71
+ getSpec?: () => any;
72
+ setAttrFromSpec: (spec: ILayoutItemSpec, chartViewRect: ILayoutRect) => void;
73
+ setRectInSpec: (rect: ILayoutRect) => ILayoutRect;
74
+ getLayoutStartPoint: () => ILayoutPoint;
75
+ getLayoutRect: () => ILayoutRect;
76
+ getLayout: () => IRect;
77
+ getLastComputeOutBounds: () => IBoundsLike;
78
+ onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: any) => void;
79
+ onLayoutEnd: (option: any) => void;
80
+ setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) => void;
81
+ computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;
82
+ setLayoutStartPosition: (pos: Partial<IPoint>) => void;
83
+ absoluteLayoutInRect: (rect: IRect) => void;
84
+ }
85
+ export interface ILayoutItemSpec {
86
+ layoutType?: ILayoutType;
87
+ layoutLevel?: number;
88
+ orient?: IOrientType;
89
+ padding?: ILayoutPaddingSpec;
90
+ noOuterPadding?: boolean;
91
+ width?: ILayoutNumber;
92
+ maxWidth?: ILayoutNumber;
93
+ minWidth?: ILayoutNumber;
94
+ height?: ILayoutNumber;
95
+ maxHeight?: ILayoutNumber;
96
+ minHeight?: ILayoutNumber;
97
+ offsetX?: ILayoutNumber;
98
+ offsetY?: ILayoutNumber;
99
+ zIndex?: number;
100
+ clip?: boolean;
101
+ left?: ILayoutNumber;
102
+ right?: ILayoutNumber;
103
+ top?: ILayoutNumber;
104
+ bottom?: ILayoutNumber;
105
+ center?: boolean;
106
+ }
107
+ export interface ILayoutItemInitOption {
108
+ layoutType: ILayoutType;
109
+ layoutLevel: number;
110
+ layoutOrient?: IOrientType;
111
+ transformLayoutRect?: (rect: ILayoutRect) => ILayoutRect;
112
+ transformLayoutPosition?: (pos: Partial<IPoint>) => Partial<IPoint>;
45
113
  }
@@ -0,0 +1,71 @@
1
+ import type { ILayoutModel } from './../model/interface';
2
+ import type { IRect, IPoint } from '../typings';
3
+ import type { IBoundsLike } from '@visactor/vutils';
4
+ import type { ILayoutItem, ILayoutItemInitOption, ILayoutItemSpec } from './interface';
5
+ import type { IChartLayoutOption } from '../chart/interface/common';
6
+ import type { ILayoutPoint, ILayoutRect } from '../typings/layout';
7
+ export declare class LayoutItem implements ILayoutItem {
8
+ protected _spec: ILayoutItemSpec;
9
+ getSpec(): ILayoutItemSpec;
10
+ layoutClip: boolean;
11
+ autoIndent: boolean;
12
+ private _layoutStartPoint;
13
+ getLayoutStartPoint(): ILayoutPoint;
14
+ private _layoutRect;
15
+ protected _layoutRectLevelMap: ILayoutRect;
16
+ get layoutRectLevelMap(): ILayoutRect;
17
+ protected _minWidth: number;
18
+ get minWidth(): number;
19
+ set minWidth(v: number);
20
+ protected _maxWidth: number;
21
+ get maxWidth(): number;
22
+ set maxWidth(v: number);
23
+ protected _minHeight: number;
24
+ get minHeight(): number;
25
+ set minHeight(v: number);
26
+ protected _maxHeight: number;
27
+ get maxHeight(): number;
28
+ set maxHeight(v: number);
29
+ protected _lastComputeRect: ILayoutRect;
30
+ protected _lastComputeOutBounds: IBoundsLike;
31
+ getLastComputeOutBounds(): IBoundsLike;
32
+ getLayoutRect: () => ILayoutRect;
33
+ layoutType: ILayoutItem['layoutType'];
34
+ layoutBindRegionID: ILayoutItem['layoutBindRegionID'];
35
+ _layoutOrient: ILayoutItem['layoutOrient'];
36
+ get layoutOrient(): ILayoutItem['layoutOrient'];
37
+ set layoutOrient(v: ILayoutItem['layoutOrient']);
38
+ layoutPaddingLeft: ILayoutItem['layoutPaddingLeft'];
39
+ layoutPaddingTop: ILayoutItem['layoutPaddingTop'];
40
+ layoutPaddingRight: ILayoutItem['layoutPaddingRight'];
41
+ layoutPaddingBottom: ILayoutItem['layoutPaddingBottom'];
42
+ layoutOffsetX: ILayoutItem['layoutOffsetX'];
43
+ layoutOffsetY: ILayoutItem['layoutOffsetY'];
44
+ layoutLevel: ILayoutItem['layoutLevel'];
45
+ chartLayoutRect: ILayoutRect;
46
+ protected _model: ILayoutModel;
47
+ get model(): ILayoutModel;
48
+ get type(): string;
49
+ protected _option: ILayoutItemInitOption;
50
+ constructor(model: ILayoutModel, option: ILayoutItemInitOption);
51
+ private _setLayoutAttributeFromSpec;
52
+ setAttrFromSpec(spec: ILayoutItemSpec, chartViewRect: ILayoutRect): void;
53
+ onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void;
54
+ onLayoutEnd(option: IChartLayoutOption): void;
55
+ private _getAbsoluteSpecValue;
56
+ absoluteLayoutInRect(layoutRect: IRect): void;
57
+ setLayoutStartPosition(pos: Partial<IPoint>): void;
58
+ setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>): void;
59
+ getLayout(): IRect;
60
+ mergeLayoutRect({ width, height }: ILayoutRect): ILayoutRect;
61
+ getOrientPosAttribute(): "x" | "y";
62
+ getOrientSizeAttribute(): "width" | "height";
63
+ protected changeBoundsBySetting(bounds: IBoundsLike): IBoundsLike;
64
+ setRectInSpec(rect: ILayoutRect): {
65
+ width: number;
66
+ height: number;
67
+ };
68
+ computeBoundsInRect(rect: ILayoutRect): ILayoutRect;
69
+ getModelId(): number;
70
+ getModelVisible(): boolean;
71
+ }
@@ -1,9 +1,7 @@
1
1
  import type { IChart } from '../../chart/interface/chart';
2
2
  import type { IBoundsLike } from '@visactor/vutils';
3
- import type { ILayoutItem } from '../../model/interface';
4
3
  import type { IRect } from '../../typings/space';
5
- import type { IRegion } from '../../region/interface';
6
- import type { IBaseLayout } from '../interface';
4
+ import type { IBaseLayout, ILayoutItem } from '../interface';
7
5
  import { Layout } from '../base-layout';
8
6
  interface IOffset {
9
7
  offsetLeft: number;
@@ -15,7 +13,7 @@ export declare class Layout3d extends Layout implements IBaseLayout {
15
13
  static type: string;
16
14
  layoutItems(_chart: IChart, items: ILayoutItem[], chartLayoutRect: IRect, chartViewBox: IBoundsLike): void;
17
15
  protected layoutZAxisItems(zItems: ILayoutItem[], zRect: IRect): void;
18
- protected layoutRegionItems(regionItems: IRegion[], regionRelativeItems: ILayoutItem[], extraOffset?: IOffset): void;
16
+ protected layoutRegionItems(regionItems: ILayoutItem[], regionRelativeItems: ILayoutItem[], extraOffset?: IOffset): void;
19
17
  getItemComputeLayoutRect(item: ILayoutItem, extraOffset?: IOffset): {
20
18
  width: number;
21
19
  height: number;
@@ -1,5 +1,5 @@
1
- import type { ILayoutItem } from '../model/interface';
2
1
  import type { Layout } from './base-layout';
2
+ import type { ILayoutItem } from './interface';
3
3
  export declare function layoutLeftInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number): void;
4
4
  export declare function layoutRightInlineItems(items: ILayoutItem[], layout: Layout, limitHeight: number): void;
5
5
  export declare function layoutTopInlineItems(items: ILayoutItem[], layout: Layout, limitWidth: number): void;
@@ -25,12 +25,12 @@ export declare class BaseMark<T extends ICommonSpec> extends CompilableMark impl
25
25
  protected _filterAttribute<U extends keyof T>(attr: U, style: MarkInputStyle<T[U]>, state: StateValueType, level: number, isUserLevel: boolean, stateStyle?: IMarkStateStyle<T>): StyleConvert<T[U]>;
26
26
  setReferer<U extends keyof T>(mark: IMarkRaw<T>, styleKey?: U, state?: StateValueType, stateStyle?: IMarkStateStyle<T>): void;
27
27
  setPostProcess<U extends keyof T>(key: U, postProcessFunc: any, state?: StateValueType): void;
28
- getAttribute<U extends keyof T>(key: U, datum: Datum, state?: StateValueType, opt?: IAttributeOpt): unknown;
28
+ getAttribute<U extends keyof T>(key: U, datum: Datum, state?: StateValueType, opt?: IAttributeOpt): any;
29
29
  setAttribute<U extends keyof T>(attr: U, style: MarkInputStyle<T[U]>, state?: StateValueType, level?: number, stateStyle?: IMarkStateStyle<T>): void;
30
30
  protected _getDefaultStyle(): IMarkStyle<T>;
31
31
  protected _styleConvert<U extends keyof T>(style?: MarkInputStyle<T[U]>): StyleConvert<T[U]> | undefined;
32
- protected _computeAttribute<U extends keyof T>(key: U, state: StateValueType): (datum: Datum, opt: IAttributeOpt) => unknown;
33
- protected _computeStateAttribute<U extends keyof T>(stateStyle: any, key: U, state: StateValueType): (datum: Datum, opt: IAttributeOpt) => any;
32
+ protected _computeAttribute<U extends keyof T>(key: U, datum: Datum, state: StateValueType, opt: IAttributeOpt): any;
33
+ protected _computeStateAttribute<U extends keyof T>(stateStyle: any, key: U, datum: Datum, state: StateValueType, opt: IAttributeOpt): any;
34
34
  private _initStyle;
35
35
  private _initSpecStyle;
36
36
  private _computeGradientAttr;