nuxt-echarts 0.3.2 → 0.3.3

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.
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.2.0"
6
6
  },
7
- "version": "0.3.2",
7
+ "version": "0.3.3",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.1",
10
10
  "unbuild": "3.5.0"
@@ -1,5 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
2
  import type { Option, Theme, InitOptions, UpdateOptions } from '../types.js';
3
+ import { type PublicMethods } from '../composables/index.js';
3
4
  import { type EChartsElement } from '../utils/wc.js';
4
5
  import '#build/echarts.mjs';
5
6
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -18,157 +19,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
18
19
  group: StringConstructor;
19
20
  manualUpdate: BooleanConstructor;
20
21
  }>, {
21
- resize: (opts?: import("echarts/core").ResizeOpts) => void;
22
- getWidth: () => number;
23
- getHeight: () => number;
24
- getDom: () => HTMLElement;
25
- getOption: () => import("echarts/core").EChartsCoreOption;
26
- dispatchAction: (payload: import("echarts/core").Payload, opt?: boolean | {
27
- silent?: boolean;
28
- flush?: boolean | undefined;
29
- }) => void;
30
- convertToPixel: {
31
- (finder: string | {
32
- seriesIndex?: number | false | number[] | "none" | "all";
33
- seriesId?: (string | number) | (string | number)[];
34
- seriesName?: (string | number) | (string | number)[];
35
- geoIndex?: number | false | number[] | "none" | "all";
36
- geoId?: (string | number) | (string | number)[];
37
- geoName?: (string | number) | (string | number)[];
38
- bmapIndex?: number | false | number[] | "none" | "all";
39
- bmapId?: (string | number) | (string | number)[];
40
- bmapName?: (string | number) | (string | number)[];
41
- xAxisIndex?: number | false | number[] | "none" | "all";
42
- xAxisId?: (string | number) | (string | number)[];
43
- xAxisName?: (string | number) | (string | number)[];
44
- yAxisIndex?: number | false | number[] | "none" | "all";
45
- yAxisId?: (string | number) | (string | number)[];
46
- yAxisName?: (string | number) | (string | number)[];
47
- gridIndex?: number | false | number[] | "none" | "all";
48
- gridId?: (string | number) | (string | number)[];
49
- gridName?: (string | number) | (string | number)[];
50
- dataIndex?: number;
51
- dataIndexInside?: number;
52
- }, value: Date | (string | number)): number;
53
- (finder: string | {
54
- seriesIndex?: number | false | number[] | "none" | "all";
55
- seriesId?: (string | number) | (string | number)[];
56
- seriesName?: (string | number) | (string | number)[];
57
- geoIndex?: number | false | number[] | "none" | "all";
58
- geoId?: (string | number) | (string | number)[];
59
- geoName?: (string | number) | (string | number)[];
60
- bmapIndex?: number | false | number[] | "none" | "all";
61
- bmapId?: (string | number) | (string | number)[];
62
- bmapName?: (string | number) | (string | number)[];
63
- xAxisIndex?: number | false | number[] | "none" | "all";
64
- xAxisId?: (string | number) | (string | number)[];
65
- xAxisName?: (string | number) | (string | number)[];
66
- yAxisIndex?: number | false | number[] | "none" | "all";
67
- yAxisId?: (string | number) | (string | number)[];
68
- yAxisName?: (string | number) | (string | number)[];
69
- gridIndex?: number | false | number[] | "none" | "all";
70
- gridId?: (string | number) | (string | number)[];
71
- gridName?: (string | number) | (string | number)[];
72
- dataIndex?: number;
73
- dataIndexInside?: number;
74
- }, value: (Date | (string | number))[]): number[];
75
- };
76
- convertFromPixel: {
77
- (finder: string | {
78
- seriesIndex?: number | false | number[] | "none" | "all";
79
- seriesId?: (string | number) | (string | number)[];
80
- seriesName?: (string | number) | (string | number)[];
81
- geoIndex?: number | false | number[] | "none" | "all";
82
- geoId?: (string | number) | (string | number)[];
83
- geoName?: (string | number) | (string | number)[];
84
- bmapIndex?: number | false | number[] | "none" | "all";
85
- bmapId?: (string | number) | (string | number)[];
86
- bmapName?: (string | number) | (string | number)[];
87
- xAxisIndex?: number | false | number[] | "none" | "all";
88
- xAxisId?: (string | number) | (string | number)[];
89
- xAxisName?: (string | number) | (string | number)[];
90
- yAxisIndex?: number | false | number[] | "none" | "all";
91
- yAxisId?: (string | number) | (string | number)[];
92
- yAxisName?: (string | number) | (string | number)[];
93
- gridIndex?: number | false | number[] | "none" | "all";
94
- gridId?: (string | number) | (string | number)[];
95
- gridName?: (string | number) | (string | number)[];
96
- dataIndex?: number;
97
- dataIndexInside?: number;
98
- }, value: number): number;
99
- (finder: string | {
100
- seriesIndex?: number | false | number[] | "none" | "all";
101
- seriesId?: (string | number) | (string | number)[];
102
- seriesName?: (string | number) | (string | number)[];
103
- geoIndex?: number | false | number[] | "none" | "all";
104
- geoId?: (string | number) | (string | number)[];
105
- geoName?: (string | number) | (string | number)[];
106
- bmapIndex?: number | false | number[] | "none" | "all";
107
- bmapId?: (string | number) | (string | number)[];
108
- bmapName?: (string | number) | (string | number)[];
109
- xAxisIndex?: number | false | number[] | "none" | "all";
110
- xAxisId?: (string | number) | (string | number)[];
111
- xAxisName?: (string | number) | (string | number)[];
112
- yAxisIndex?: number | false | number[] | "none" | "all";
113
- yAxisId?: (string | number) | (string | number)[];
114
- yAxisName?: (string | number) | (string | number)[];
115
- gridIndex?: number | false | number[] | "none" | "all";
116
- gridId?: (string | number) | (string | number)[];
117
- gridName?: (string | number) | (string | number)[];
118
- dataIndex?: number;
119
- dataIndexInside?: number;
120
- }, value: number[]): number[];
22
+ setOption: {
23
+ <Opt extends import("echarts/core").EChartsCoreOption>(option: Opt, notMerge?: boolean, lazyUpdate?: boolean): void;
24
+ <Opt extends import("echarts/core").EChartsCoreOption>(option: Opt, opts?: import("echarts/core").SetOptionOpts): void;
121
25
  };
122
- containPixel: (finder: string | {
123
- seriesIndex?: number | false | number[] | "none" | "all";
124
- seriesId?: (string | number) | (string | number)[];
125
- seriesName?: (string | number) | (string | number)[];
126
- geoIndex?: number | false | number[] | "none" | "all";
127
- geoId?: (string | number) | (string | number)[];
128
- geoName?: (string | number) | (string | number)[];
129
- bmapIndex?: number | false | number[] | "none" | "all";
130
- bmapId?: (string | number) | (string | number)[];
131
- bmapName?: (string | number) | (string | number)[];
132
- xAxisIndex?: number | false | number[] | "none" | "all";
133
- xAxisId?: (string | number) | (string | number)[];
134
- xAxisName?: (string | number) | (string | number)[];
135
- yAxisIndex?: number | false | number[] | "none" | "all";
136
- yAxisId?: (string | number) | (string | number)[];
137
- yAxisName?: (string | number) | (string | number)[];
138
- gridIndex?: number | false | number[] | "none" | "all";
139
- gridId?: (string | number) | (string | number)[];
140
- gridName?: (string | number) | (string | number)[];
141
- dataIndex?: number;
142
- dataIndexInside?: number;
143
- }, value: number[]) => boolean;
144
- getDataURL: (opts?: {
145
- type?: "png" | "jpeg" | "svg";
146
- pixelRatio?: number;
147
- backgroundColor?: import("echarts/core").Color;
148
- excludeComponents?: string[];
149
- }) => string;
150
- getConnectedDataURL: (opts?: {
151
- type?: "png" | "jpeg" | "svg";
152
- pixelRatio?: number;
153
- backgroundColor?: import("echarts/core").Color;
154
- connectedBackgroundColor?: import("echarts/core").Color;
155
- excludeComponents?: string[];
156
- }) => string;
157
- appendData: (params: {
158
- seriesIndex: number;
159
- data: any;
160
- }) => void;
161
- clear: () => void;
162
- isDisposed: () => boolean;
163
- dispose: () => void;
164
- chart: import("vue").ShallowRef<import("echarts/core").ECharts | undefined, import("echarts/core").ECharts | undefined>;
165
26
  root: import("vue").ShallowRef<EChartsElement | undefined, EChartsElement | undefined>;
166
- setOption: (option: Option, updateOptions?: UpdateOptions) => void;
167
- realAttrs: import("vue").ComputedRef<{
168
- [x: string]: any;
169
- }>;
170
- nativeListeners: import("vue").ShallowRef<Record<string, unknown>, Record<string, unknown>>;
171
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ chart: import("vue").ShallowRef<import("echarts/core").ECharts | undefined, import("echarts/core").ECharts | undefined>;
28
+ } & PublicMethods, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
172
29
  click: (params: import("echarts/core").ECElementEvent) => void;
173
30
  dblclick: (params: import("echarts/core").ECElementEvent) => void;
174
31
  mouseout: (params: import("echarts/core").ECElementEvent) => void;
@@ -44,7 +44,7 @@ export default defineComponent({
44
44
  },
45
45
  emits: {},
46
46
  inheritAttrs: false,
47
- setup(props, { attrs }) {
47
+ setup(props, { attrs, expose }) {
48
48
  const root = shallowRef();
49
49
  const chart = shallowRef();
50
50
  const manualOption = shallowRef();
@@ -137,7 +137,8 @@ export default defineComponent({
137
137
  commit();
138
138
  }
139
139
  }
140
- function setOption(option, updateOptions) {
140
+ const setOption = (option, notMerge, lazyUpdate) => {
141
+ const updateOptions = typeof notMerge === "boolean" ? { notMerge, lazyUpdate } : notMerge;
141
142
  if (props.manualUpdate) {
142
143
  manualOption.value = option;
143
144
  }
@@ -146,7 +147,7 @@ export default defineComponent({
146
147
  } else {
147
148
  chart.value.setOption(option, updateOptions || {});
148
149
  }
149
- }
150
+ };
150
151
  function cleanup() {
151
152
  if (chart.value) {
152
153
  chart.value.dispose();
@@ -217,20 +218,16 @@ export default defineComponent({
217
218
  cleanup();
218
219
  }
219
220
  });
220
- return {
221
- chart,
222
- root,
221
+ const exposed = {
223
222
  setOption,
224
- realAttrs,
225
- nativeListeners,
226
- ...publicApi
223
+ root,
224
+ chart
227
225
  };
228
- },
229
- render() {
230
- return h(TAG_NAME, {
231
- ...this.realAttrs,
232
- ref: "root",
233
- class: ["echarts", ...this.realAttrs.class || []]
226
+ expose({ ...exposed, ...publicApi });
227
+ return () => h(TAG_NAME, {
228
+ ...realAttrs.value,
229
+ ref: root,
230
+ class: ["echarts", realAttrs.value.class]
234
231
  });
235
232
  }
236
233
  });
@@ -2,6 +2,6 @@ import type { Ref } from 'vue';
2
2
  import type { EChartsType } from '../types.js';
3
3
  declare const METHOD_NAMES: readonly ["getWidth", "getHeight", "getDom", "getOption", "resize", "dispatchAction", "convertToPixel", "convertFromPixel", "containPixel", "getDataURL", "getConnectedDataURL", "appendData", "clear", "isDisposed", "dispose"];
4
4
  type MethodName = (typeof METHOD_NAMES)[number];
5
- type PublicMethods = Pick<EChartsType, MethodName>;
5
+ export type PublicMethods = Pick<EChartsType, MethodName>;
6
6
  export declare function usePublicAPI(chart: Ref<EChartsType | undefined>): PublicMethods;
7
7
  export {};
@@ -1,6 +1,6 @@
1
1
  import { type Ref, type InjectionKey, type PropType } from 'vue';
2
- import type { EChartsType, LoadingOptions } from '../types.js';
3
- export declare const LOADING_OPTIONS_KEY: InjectionKey<LoadingOptions | Ref<LoadingOptions>>;
2
+ import type { EChartsType, LoadingOptions, LoadingOptionsInjection } from '../types.js';
3
+ export declare const LOADING_OPTIONS_KEY: InjectionKey<LoadingOptionsInjection>;
4
4
  export declare function useLoading(chart: Ref<EChartsType | undefined>, loading: Ref<boolean>, loadingOptions: Ref<LoadingOptions | undefined>): void;
5
5
  export declare const loadingProps: {
6
6
  loading: BooleanConstructor;
@@ -4,7 +4,7 @@ import {
4
4
  computed,
5
5
  watchEffect
6
6
  } from "vue";
7
- export const LOADING_OPTIONS_KEY = "ecLoadingOptions";
7
+ export const LOADING_OPTIONS_KEY = Symbol();
8
8
  export function useLoading(chart, loading, loadingOptions) {
9
9
  const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {});
10
10
  const realLoadingOptions = computed(() => ({
@@ -1,2 +1,2 @@
1
- declare const _default: import("nuxt/app").Plugin<Record<string, unknown>> & import("nuxt/app").ObjectPlugin<Record<string, unknown>>;
1
+ declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
2
2
  export default _default;
@@ -10,7 +10,7 @@ export type InitOptionsInjection = Injection<InitOptions>;
10
10
  export type UpdateOptions = SetOptionOpts;
11
11
  export type UpdateOptionsInjection = Injection<UpdateOptions>;
12
12
  export type EChartsType = ReturnType<InitType>;
13
- type SetOptionType = EChartsType['setOption'];
13
+ export type SetOptionType = EChartsType['setOption'];
14
14
  export type Option = Parameters<SetOptionType>[0];
15
15
  export type LoadingOptions = {
16
16
  text?: string;
@@ -26,6 +26,7 @@ export type LoadingOptions = {
26
26
  lineWidth?: number;
27
27
  zlevel?: number;
28
28
  };
29
+ export type LoadingOptionsInjection = Injection<LoadingOptions>;
29
30
  type MouseEventName = 'click' | 'dblclick' | 'mouseout' | 'mouseover' | 'mouseup' | 'mousedown' | 'mousemove' | 'contextmenu' | 'globalout';
30
31
  type ElementEventName = MouseEventName | 'mousewheel' | 'drag' | 'dragstart' | 'dragend' | 'dragenter' | 'dragleave' | 'dragover' | 'drop';
31
32
  type ZRenderEventName = `zr:${ElementEventName}`;
@@ -1,4 +1,4 @@
1
- export const THEME_KEY = "ecTheme";
2
- export const INIT_OPTIONS_KEY = "ecInitOptions";
3
- export const UPDATE_OPTIONS_KEY = "ecUpdateOptions";
1
+ export const THEME_KEY = Symbol();
2
+ export const INIT_OPTIONS_KEY = Symbol();
3
+ export const UPDATE_OPTIONS_KEY = Symbol();
4
4
  export { LOADING_OPTIONS_KEY } from "../composables/index.js";
@@ -1,7 +1,8 @@
1
1
  let registered = null;
2
2
  export const TAG_NAME = "x-vue-echarts";
3
- if (import.meta.server) {
3
+ if (typeof HTMLElement === "undefined") {
4
4
  globalThis.HTMLElement = Object;
5
+ registered = false;
5
6
  }
6
7
  export class EChartsElement extends HTMLElement {
7
8
  __dispose = null;
@@ -16,9 +17,6 @@ export function register() {
16
17
  if (registered != null) {
17
18
  return registered;
18
19
  }
19
- if (typeof HTMLElement === "undefined" || typeof customElements === "undefined") {
20
- return registered = false;
21
- }
22
20
  try {
23
21
  if (customElements.get(TAG_NAME) == null) {
24
22
  customElements.define(TAG_NAME, EChartsElement);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-echarts",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Nuxt Module for Apache ECharts™",
5
5
  "keywords": [
6
6
  "vue",
@@ -50,7 +50,7 @@
50
50
  "@nuxt/module-builder": "^1.0.1",
51
51
  "@nuxt/schema": "^3.17.4",
52
52
  "@nuxt/test-utils": "^3.19.1",
53
- "@types/node": "^22.15.21",
53
+ "@types/node": "^22.15.24",
54
54
  "changelogen": "^0.6.1",
55
55
  "echarts": "^5.6.0",
56
56
  "echarts-gl": "^2.0.9",
@@ -69,4 +69,4 @@
69
69
  "stackblitz": {
70
70
  "startCommand": "pnpm run dev:prepare && pnpm run dev"
71
71
  }
72
- }
72
+ }