@orbcharts/plugins-basic 3.0.0-alpha.68 → 3.0.0-alpha.70

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-plugins-basic.es.js +4838 -4760
  3. package/dist/orbcharts-plugins-basic.umd.js +15 -14
  4. package/dist/src/utils/d3Graphics.d.ts +10 -0
  5. package/package.json +42 -42
  6. package/src/base/BaseBarStack.ts +779 -779
  7. package/src/base/BaseBars.ts +764 -764
  8. package/src/base/BaseBarsTriangle.ts +672 -672
  9. package/src/base/BaseDots.ts +513 -513
  10. package/src/base/BaseGroupAxis.ts +675 -652
  11. package/src/base/BaseLegend.ts +642 -642
  12. package/src/base/BaseLineAreas.ts +628 -628
  13. package/src/base/BaseLines.ts +704 -704
  14. package/src/base/BaseValueAxis.ts +578 -578
  15. package/src/base/types.ts +2 -2
  16. package/src/grid/defaults.ts +128 -128
  17. package/src/grid/gridObservables.ts +543 -543
  18. package/src/grid/index.ts +15 -15
  19. package/src/grid/plugins/BarStack.ts +43 -43
  20. package/src/grid/plugins/Bars.ts +44 -44
  21. package/src/grid/plugins/BarsPN.ts +41 -41
  22. package/src/grid/plugins/BarsTriangle.ts +42 -42
  23. package/src/grid/plugins/Dots.ts +37 -37
  24. package/src/grid/plugins/GridLegend.ts +59 -59
  25. package/src/grid/plugins/GroupAux.ts +1014 -991
  26. package/src/grid/plugins/GroupAxis.ts +36 -36
  27. package/src/grid/plugins/LineAreas.ts +40 -40
  28. package/src/grid/plugins/Lines.ts +40 -40
  29. package/src/grid/plugins/ScalingArea.ts +176 -174
  30. package/src/grid/plugins/ValueAxis.ts +36 -36
  31. package/src/grid/plugins/ValueStackAxis.ts +38 -38
  32. package/src/grid/types.ts +123 -123
  33. package/src/index.ts +9 -9
  34. package/src/multiGrid/defaults.ts +158 -158
  35. package/src/multiGrid/index.ts +13 -13
  36. package/src/multiGrid/multiGridObservables.ts +49 -49
  37. package/src/multiGrid/plugins/MultiBarStack.ts +78 -78
  38. package/src/multiGrid/plugins/MultiBars.ts +77 -77
  39. package/src/multiGrid/plugins/MultiBarsTriangle.ts +77 -77
  40. package/src/multiGrid/plugins/MultiDots.ts +65 -65
  41. package/src/multiGrid/plugins/MultiGridLegend.ts +89 -89
  42. package/src/multiGrid/plugins/MultiGroupAxis.ts +70 -70
  43. package/src/multiGrid/plugins/MultiLineAreas.ts +77 -77
  44. package/src/multiGrid/plugins/MultiLines.ts +77 -77
  45. package/src/multiGrid/plugins/MultiValueAxis.ts +69 -69
  46. package/src/multiGrid/plugins/MultiValueStackAxis.ts +69 -69
  47. package/src/multiGrid/plugins/OverlappingValueAxes.ts +170 -170
  48. package/src/multiGrid/plugins/OverlappingValueStackAxes.ts +169 -169
  49. package/src/multiGrid/types.ts +72 -72
  50. package/src/noneData/defaults.ts +102 -102
  51. package/src/noneData/index.ts +3 -3
  52. package/src/noneData/plugins/Container.ts +10 -10
  53. package/src/noneData/plugins/Tooltip.ts +327 -327
  54. package/src/noneData/types.ts +26 -26
  55. package/src/series/defaults.ts +149 -149
  56. package/src/series/index.ts +9 -9
  57. package/src/series/plugins/Bubbles.ts +545 -545
  58. package/src/series/plugins/Pie.ts +584 -584
  59. package/src/series/plugins/PieEventTexts.ts +262 -262
  60. package/src/series/plugins/PieLabels.ts +604 -598
  61. package/src/series/plugins/Rose.ts +481 -481
  62. package/src/series/plugins/RoseLabels.ts +571 -565
  63. package/src/series/plugins/SeriesLegend.ts +59 -59
  64. package/src/series/seriesObservables.ts +145 -145
  65. package/src/series/seriesUtils.ts +51 -51
  66. package/src/series/types.ts +87 -87
  67. package/src/tree/defaults.ts +23 -23
  68. package/src/tree/index.ts +3 -3
  69. package/src/tree/plugins/TreeLegend.ts +59 -59
  70. package/src/tree/plugins/TreeMap.ts +305 -305
  71. package/src/tree/types.ts +23 -23
  72. package/src/utils/commonUtils.ts +21 -21
  73. package/src/utils/d3Graphics.ts +174 -124
  74. package/src/utils/d3Utils.ts +73 -73
  75. package/src/utils/observables.ts +14 -14
  76. package/src/utils/orbchartsUtils.ts +100 -100
  77. package/tsconfig.base.json +13 -13
  78. package/tsconfig.json +2 -2
  79. package/vite.config.js +22 -22
@@ -1,26 +1,26 @@
1
- import type { ColorType, ChartType, EventTypeMap, EventBase } from '@orbcharts/core'
2
-
3
- export interface ContainerPluginParams {
4
- header: {
5
- height: number
6
- text: string[]
7
- textStyle: string[]
8
- }
9
- footer: {
10
- height: number
11
- text: string[]
12
- textStyle: string[]
13
- }
14
- }
15
-
16
- export type TooltipParams = {
17
- backgroundColorType: ColorType
18
- backgroundOpacity: number
19
- strokeColorType: ColorType
20
- textColorType: ColorType
21
- offset: [number, number]
22
- padding: number
23
- textRenderFn: <T extends ChartType> (eventData: EventTypeMap<T>) => string[] | string | null
24
- svgRenderFn: (<T extends ChartType> (eventData: EventTypeMap<T>) => string) | null
25
- }
26
-
1
+ import type { ColorType, ChartType, EventTypeMap, EventBase } from '@orbcharts/core'
2
+
3
+ export interface ContainerPluginParams {
4
+ header: {
5
+ height: number
6
+ text: string[]
7
+ textStyle: string[]
8
+ }
9
+ footer: {
10
+ height: number
11
+ text: string[]
12
+ textStyle: string[]
13
+ }
14
+ }
15
+
16
+ export type TooltipParams = {
17
+ backgroundColorType: ColorType
18
+ backgroundOpacity: number
19
+ strokeColorType: ColorType
20
+ textColorType: ColorType
21
+ offset: [number, number]
22
+ padding: number
23
+ textRenderFn: <T extends ChartType> (eventData: EventTypeMap<T>) => string[] | string | null
24
+ svgRenderFn: (<T extends ChartType> (eventData: EventTypeMap<T>) => string) | null
25
+ }
26
+
@@ -1,149 +1,149 @@
1
- import type { ComputedDatumSeries, EventSeries, EventName, ColorType } from '@orbcharts/core'
2
- import type {
3
- BubblesParams,
4
- PieParams,
5
- PieEventTextsParams,
6
- PieLabelsParams,
7
- RoseParams,
8
- RoseLabelsParams,
9
- SeriesLegendParams } from './types'
10
-
11
-
12
- export const DEFAULT_BUBBLES_PARAMS: BubblesParams = {
13
- force: {
14
- strength: 0.08, // 泡泡引力
15
- velocityDecay: 0.3, // 衰減數
16
- collisionSpacing: 2 // 泡泡間距
17
- },
18
- bubbleText: {
19
- fillRate: 0.6,
20
- lineHeight: 12,
21
- lineLengthMin: 4
22
- },
23
- // highlightRIncrease: 0,
24
- arcScaleType: 'area'
25
- }
26
-
27
- export const DEFAULT_PIE_PARAMS: PieParams = {
28
- // padding: {
29
- // top: 50,
30
- // right: 70,
31
- // bottom: 50,
32
- // left: 70
33
- // },
34
- outerRadius: 0.85,
35
- innerRadius: 0,
36
- outerRadiusWhileHighlight: 0.9,
37
- // label?: LabelStyle
38
- // enterDuration: 800,
39
- startAngle: 0,
40
- endAngle: Math.PI * 2,
41
- padAngle: 0,
42
- strokeColorType: 'background',
43
- strokeWidth: 1,
44
- // padRadius: 100,
45
- cornerRadius: 0,
46
- // highlightTarget: 'datum',
47
- // highlightId: null,
48
- // highlightLabel: null,
49
- }
50
-
51
- export const DEFAULT_PIE_EVENT_TEXTS_PARAMS: PieEventTextsParams = {
52
- eventFn: (eventData: EventSeries, eventName: EventName, t: number) => {
53
- if (eventName === 'mouseover' || eventName === 'mousemove') {
54
- return [String(eventData.datum!.value)]
55
- }
56
- return [
57
- String(
58
- Math.round(
59
- eventData.data.reduce((acc, seriesData) => {
60
- return acc + seriesData.reduce((_acc, data) => {
61
- return _acc + (data.value ?? 0)
62
- }, 0)
63
- }, 0) * t
64
- )
65
- )
66
- ]
67
- },
68
- textAttrs: [
69
- {
70
- "transform": "translate(0, 0)"
71
- }
72
- ],
73
- textStyles: [
74
- {
75
- "font-weight": "bold",
76
- "text-anchor": "middle",
77
- "pointer-events": "none",
78
- "dominant-baseline": "middle",
79
- "font-size": 64,
80
- "fill": "#000"
81
- }
82
- ]
83
- }
84
- DEFAULT_PIE_EVENT_TEXTS_PARAMS.eventFn.toString = () => `(eventData: EventSeries, eventName: EventName, t: number) => {
85
- if (eventName === 'mouseover' || eventName === 'mousemove') {
86
- return [String(eventData.datum!.value)]
87
- }
88
- return [
89
- String(
90
- Math.round(
91
- eventData.data.reduce((acc, seriesData) => {
92
- return acc + seriesData.reduce((_acc, data) => {
93
- return _acc + (data.value ?? 0)
94
- }, 0)
95
- }, 0) * t
96
- )
97
- )
98
- ]
99
- }`
100
-
101
- export const DEFAULT_PIE_LABELS_PARAMS: PieLabelsParams = {
102
- // solidColor: undefined,
103
- // colors: DEFAULT_COLORS,
104
- outerRadius: 0.85,
105
- outerRadiusWhileHighlight: 0.9,
106
- // innerRadius: 0,
107
- // enterDuration: 800,
108
- startAngle: 0,
109
- endAngle: Math.PI * 2,
110
- labelCentroid: 2.1,
111
- // fontSize: 12,
112
- labelColorType: 'primary',
113
- labelFn: d => String(d.label),
114
- }
115
- DEFAULT_PIE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
116
-
117
- export const DEFAULT_ROSE_PARAMS: RoseParams = {
118
- outerRadius: 0.85,
119
- padAngle: 0,
120
- strokeColorType: 'background',
121
- strokeWidth: 0,
122
- cornerRadius: 0,
123
- arcScaleType: 'area',
124
- angleIncreaseWhileHighlight: 0.05
125
- }
126
-
127
- export const DEFAULT_ROSE_LABELS_PARAMS: RoseLabelsParams = {
128
- outerRadius: 0.85,
129
- labelCentroid: 2.1,
130
- labelFn: d => String(d.label),
131
- labelColorType: 'primary',
132
- arcScaleType: 'area'
133
- }
134
- DEFAULT_ROSE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
135
-
136
- export const DEFAULT_SERIES_LEGEND_PARAMS: SeriesLegendParams = {
137
- position: 'right',
138
- justify: 'end',
139
- padding: 28,
140
- // offset: [0, 0],
141
- backgroundFill: 'none',
142
- backgroundStroke: 'none',
143
- gap: 10,
144
- listRectWidth: 14,
145
- listRectHeight: 14,
146
- listRectRadius: 0,
147
- // highlightEvent: false
148
- textColorType: 'primary'
149
- }
1
+ import type { ComputedDatumSeries, EventSeries, EventName, ColorType } from '@orbcharts/core'
2
+ import type {
3
+ BubblesParams,
4
+ PieParams,
5
+ PieEventTextsParams,
6
+ PieLabelsParams,
7
+ RoseParams,
8
+ RoseLabelsParams,
9
+ SeriesLegendParams } from './types'
10
+
11
+
12
+ export const DEFAULT_BUBBLES_PARAMS: BubblesParams = {
13
+ force: {
14
+ strength: 0.08, // 泡泡引力
15
+ velocityDecay: 0.3, // 衰減數
16
+ collisionSpacing: 2 // 泡泡間距
17
+ },
18
+ bubbleText: {
19
+ fillRate: 0.6,
20
+ lineHeight: 12,
21
+ lineLengthMin: 4
22
+ },
23
+ // highlightRIncrease: 0,
24
+ arcScaleType: 'area'
25
+ }
26
+
27
+ export const DEFAULT_PIE_PARAMS: PieParams = {
28
+ // padding: {
29
+ // top: 50,
30
+ // right: 70,
31
+ // bottom: 50,
32
+ // left: 70
33
+ // },
34
+ outerRadius: 0.85,
35
+ innerRadius: 0,
36
+ outerRadiusWhileHighlight: 0.9,
37
+ // label?: LabelStyle
38
+ // enterDuration: 800,
39
+ startAngle: 0,
40
+ endAngle: Math.PI * 2,
41
+ padAngle: 0,
42
+ strokeColorType: 'background',
43
+ strokeWidth: 1,
44
+ // padRadius: 100,
45
+ cornerRadius: 0,
46
+ // highlightTarget: 'datum',
47
+ // highlightId: null,
48
+ // highlightLabel: null,
49
+ }
50
+
51
+ export const DEFAULT_PIE_EVENT_TEXTS_PARAMS: PieEventTextsParams = {
52
+ eventFn: (eventData: EventSeries, eventName: EventName, t: number) => {
53
+ if (eventName === 'mouseover' || eventName === 'mousemove') {
54
+ return [String(eventData.datum!.value)]
55
+ }
56
+ return [
57
+ String(
58
+ Math.round(
59
+ eventData.data.reduce((acc, seriesData) => {
60
+ return acc + seriesData.reduce((_acc, data) => {
61
+ return _acc + (data.value ?? 0)
62
+ }, 0)
63
+ }, 0) * t
64
+ )
65
+ )
66
+ ]
67
+ },
68
+ textAttrs: [
69
+ {
70
+ "transform": "translate(0, 0)"
71
+ }
72
+ ],
73
+ textStyles: [
74
+ {
75
+ "font-weight": "bold",
76
+ "text-anchor": "middle",
77
+ "pointer-events": "none",
78
+ "dominant-baseline": "middle",
79
+ "font-size": 64,
80
+ "fill": "#000"
81
+ }
82
+ ]
83
+ }
84
+ DEFAULT_PIE_EVENT_TEXTS_PARAMS.eventFn.toString = () => `(eventData: EventSeries, eventName: EventName, t: number) => {
85
+ if (eventName === 'mouseover' || eventName === 'mousemove') {
86
+ return [String(eventData.datum!.value)]
87
+ }
88
+ return [
89
+ String(
90
+ Math.round(
91
+ eventData.data.reduce((acc, seriesData) => {
92
+ return acc + seriesData.reduce((_acc, data) => {
93
+ return _acc + (data.value ?? 0)
94
+ }, 0)
95
+ }, 0) * t
96
+ )
97
+ )
98
+ ]
99
+ }`
100
+
101
+ export const DEFAULT_PIE_LABELS_PARAMS: PieLabelsParams = {
102
+ // solidColor: undefined,
103
+ // colors: DEFAULT_COLORS,
104
+ outerRadius: 0.85,
105
+ outerRadiusWhileHighlight: 0.9,
106
+ // innerRadius: 0,
107
+ // enterDuration: 800,
108
+ startAngle: 0,
109
+ endAngle: Math.PI * 2,
110
+ labelCentroid: 2.1,
111
+ // fontSize: 12,
112
+ labelColorType: 'primary',
113
+ labelFn: d => String(d.label),
114
+ }
115
+ DEFAULT_PIE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
116
+
117
+ export const DEFAULT_ROSE_PARAMS: RoseParams = {
118
+ outerRadius: 0.85,
119
+ padAngle: 0,
120
+ strokeColorType: 'background',
121
+ strokeWidth: 0,
122
+ cornerRadius: 0,
123
+ arcScaleType: 'area',
124
+ angleIncreaseWhileHighlight: 0.05
125
+ }
126
+
127
+ export const DEFAULT_ROSE_LABELS_PARAMS: RoseLabelsParams = {
128
+ outerRadius: 0.85,
129
+ labelCentroid: 2.1,
130
+ labelFn: d => String(d.label),
131
+ labelColorType: 'primary',
132
+ arcScaleType: 'area'
133
+ }
134
+ DEFAULT_ROSE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
135
+
136
+ export const DEFAULT_SERIES_LEGEND_PARAMS: SeriesLegendParams = {
137
+ position: 'right',
138
+ justify: 'end',
139
+ padding: 28,
140
+ // offset: [0, 0],
141
+ backgroundFill: 'none',
142
+ backgroundStroke: 'none',
143
+ gap: 10,
144
+ listRectWidth: 14,
145
+ listRectHeight: 14,
146
+ listRectRadius: 0,
147
+ // highlightEvent: false
148
+ textColorType: 'primary'
149
+ }
@@ -1,9 +1,9 @@
1
- export * from './defaults'
2
- export * from './types'
3
- export { Bubbles } from './plugins/Bubbles'
4
- export { Pie } from './plugins/Pie'
5
- export { PieEventTexts } from './plugins/PieEventTexts'
6
- export { PieLabels } from './plugins/PieLabels'
7
- export { Rose } from './plugins/Rose'
8
- export { RoseLabels } from './plugins/RoseLabels'
9
- export { SeriesLegend } from './plugins/SeriesLegend'
1
+ export * from './defaults'
2
+ export * from './types'
3
+ export { Bubbles } from './plugins/Bubbles'
4
+ export { Pie } from './plugins/Pie'
5
+ export { PieEventTexts } from './plugins/PieEventTexts'
6
+ export { PieLabels } from './plugins/PieLabels'
7
+ export { Rose } from './plugins/Rose'
8
+ export { RoseLabels } from './plugins/RoseLabels'
9
+ export { SeriesLegend } from './plugins/SeriesLegend'