@orbcharts/plugins-basic 3.0.0-alpha.79 → 3.0.0-beta.10

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 (216) hide show
  1. package/LICENSE +200 -200
  2. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBars.d.ts +2 -2
  3. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBarsTriangle.d.ts +2 -2
  4. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseDots.d.ts +2 -2
  5. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseGroupAxis.d.ts +2 -2
  6. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLegend.d.ts +1 -1
  7. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLineAreas.d.ts +3 -3
  8. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLines.d.ts +3 -3
  9. package/dist/{src/base/BaseBarStack.d.ts → orbcharts-plugins-basic/src/base/BaseStackedBar.d.ts} +6 -6
  10. package/dist/orbcharts-plugins-basic/src/base/BaseTooltip.d.ts +14 -0
  11. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseValueAxis.d.ts +3 -2
  12. package/dist/{src → orbcharts-plugins-basic/src}/grid/defaults.d.ts +6 -5
  13. package/dist/{src → orbcharts-plugins-basic/src}/grid/gridObservables.d.ts +5 -5
  14. package/dist/{src → orbcharts-plugins-basic/src}/grid/index.d.ts +4 -3
  15. package/dist/orbcharts-plugins-basic/src/grid/plugins/GridTooltip.d.ts +1 -0
  16. package/dist/orbcharts-plugins-basic/src/grid/plugins/GridZoom.d.ts +1 -0
  17. package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedBar.d.ts +1 -0
  18. package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedValueAxis.d.ts +1 -0
  19. package/dist/orbcharts-plugins-basic/src/index.d.ts +7 -0
  20. package/dist/orbcharts-plugins-basic/src/multiGrid/defaults.d.ts +15 -0
  21. package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/index.d.ts +4 -3
  22. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiGridTooltip.d.ts +1 -0
  23. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedBar.d.ts +1 -0
  24. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedValueAxis.d.ts +1 -0
  25. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +1 -0
  26. package/dist/orbcharts-plugins-basic/src/multiValue/defaults.d.ts +9 -0
  27. package/dist/orbcharts-plugins-basic/src/multiValue/index.d.ts +8 -0
  28. package/dist/orbcharts-plugins-basic/src/multiValue/multiValueObservables.d.ts +33 -0
  29. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueLegend.d.ts +1 -0
  30. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueTooltip.d.ts +1 -0
  31. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/Scatter.d.ts +3 -0
  32. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/ScatterBubbles.d.ts +3 -0
  33. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAux.d.ts +3 -0
  34. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAxes.d.ts +3 -0
  35. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYZoom.d.ts +1 -0
  36. package/dist/orbcharts-plugins-basic/src/noneData/index.d.ts +1 -0
  37. package/dist/orbcharts-plugins-basic/src/relationship/defaults.d.ts +6 -0
  38. package/dist/orbcharts-plugins-basic/src/relationship/index.d.ts +5 -0
  39. package/dist/orbcharts-plugins-basic/src/relationship/plugins/ForceDirected.d.ts +3 -0
  40. package/dist/orbcharts-plugins-basic/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
  41. package/dist/orbcharts-plugins-basic/src/relationship/plugins/RelationshipLegend.d.ts +1 -0
  42. package/dist/orbcharts-plugins-basic/src/relationship/plugins/RelationshipTooltip.d.ts +1 -0
  43. package/dist/orbcharts-plugins-basic/src/relationship/relationshipObservables.d.ts +1 -0
  44. package/dist/{src → orbcharts-plugins-basic/src}/series/defaults.d.ts +2 -1
  45. package/dist/{src → orbcharts-plugins-basic/src}/series/index.d.ts +1 -0
  46. package/dist/orbcharts-plugins-basic/src/series/plugins/SeriesTooltip.d.ts +1 -0
  47. package/dist/{src → orbcharts-plugins-basic/src}/series/seriesObservables.d.ts +3 -3
  48. package/dist/orbcharts-plugins-basic/src/tree/defaults.d.ts +5 -0
  49. package/dist/{src → orbcharts-plugins-basic/src}/tree/index.d.ts +1 -0
  50. package/dist/orbcharts-plugins-basic/src/tree/plugins/TreeTooltip.d.ts +1 -0
  51. package/dist/{src → orbcharts-plugins-basic/src}/utils/commonUtils.d.ts +1 -1
  52. package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Utils.d.ts +2 -2
  53. package/dist/{src → orbcharts-plugins-basic/src}/utils/observables.d.ts +1 -1
  54. package/dist/{src → orbcharts-plugins-basic/src}/utils/orbchartsUtils.d.ts +3 -3
  55. package/dist/orbcharts-plugins-basic.es.js +13490 -10057
  56. package/dist/orbcharts-plugins-basic.umd.js +179 -24
  57. package/dist/src/index.d.ts +1 -5
  58. package/lib/core-types.ts +7 -7
  59. package/lib/core.ts +6 -6
  60. package/lib/plugins-basic-types.ts +6 -6
  61. package/package.json +44 -44
  62. package/src/base/BaseBars.ts +765 -765
  63. package/src/base/BaseBarsTriangle.ts +676 -674
  64. package/src/base/BaseDots.ts +464 -515
  65. package/src/base/BaseGroupAxis.ts +679 -679
  66. package/src/base/BaseLegend.ts +684 -644
  67. package/src/base/BaseLineAreas.ts +629 -629
  68. package/src/base/BaseLines.ts +706 -706
  69. package/src/base/{BaseBarStack.ts → BaseStackedBar.ts} +782 -780
  70. package/src/base/BaseTooltip.ts +386 -0
  71. package/src/base/BaseValueAxis.ts +583 -580
  72. package/src/base/types.ts +2 -2
  73. package/src/const.ts +30 -30
  74. package/src/grid/defaults.ts +247 -128
  75. package/src/grid/gridObservables.ts +554 -545
  76. package/src/grid/index.ts +16 -15
  77. package/src/grid/plugins/Bars.ts +69 -69
  78. package/src/grid/plugins/BarsPN.ts +66 -66
  79. package/src/grid/plugins/BarsTriangle.ts +73 -73
  80. package/src/grid/plugins/Dots.ts +68 -68
  81. package/src/grid/plugins/GridLegend.ts +107 -96
  82. package/src/grid/plugins/GridTooltip.ts +66 -0
  83. package/src/grid/plugins/{ScalingArea.ts → GridZoom.ts} +218 -218
  84. package/src/grid/plugins/GroupAux.ts +1103 -1098
  85. package/src/grid/plugins/GroupAxis.ts +97 -97
  86. package/src/grid/plugins/LineAreas.ts +65 -65
  87. package/src/grid/plugins/Lines.ts +59 -59
  88. package/src/grid/plugins/{BarStack.ts → StackedBar.ts} +64 -64
  89. package/src/grid/plugins/{ValueStackAxis.ts → StackedValueAxis.ts} +96 -95
  90. package/src/grid/plugins/ValueAxis.ts +94 -93
  91. package/src/index.ts +6 -9
  92. package/src/multiGrid/defaults.ts +225 -159
  93. package/src/multiGrid/index.ts +15 -14
  94. package/src/multiGrid/multiGridObservables.ts +49 -49
  95. package/src/multiGrid/plugins/MultiBars.ts +108 -108
  96. package/src/multiGrid/plugins/MultiBarsTriangle.ts +114 -114
  97. package/src/multiGrid/plugins/MultiDots.ts +102 -102
  98. package/src/multiGrid/plugins/MultiGridLegend.ts +159 -148
  99. package/src/multiGrid/plugins/MultiGridTooltip.ts +66 -0
  100. package/src/multiGrid/plugins/MultiGroupAxis.ts +137 -137
  101. package/src/multiGrid/plugins/MultiLineAreas.ts +107 -107
  102. package/src/multiGrid/plugins/MultiLines.ts +101 -101
  103. package/src/multiGrid/plugins/{MultiBarStack.ts → MultiStackedBar.ts} +106 -106
  104. package/src/multiGrid/plugins/{MultiValueStackAxis.ts → MultiStackedValueAxis.ts} +134 -133
  105. package/src/multiGrid/plugins/MultiValueAxis.ts +134 -133
  106. package/src/multiGrid/plugins/{OverlappingValueStackAxes.ts → OverlappingStackedValueAxes.ts} +299 -298
  107. package/src/multiGrid/plugins/OverlappingValueAxes.ts +300 -299
  108. package/src/multiValue/defaults.ts +167 -0
  109. package/src/multiValue/index.ts +9 -0
  110. package/src/multiValue/multiValueObservables.ts +297 -0
  111. package/src/multiValue/plugins/MultiValueLegend.ts +107 -0
  112. package/src/multiValue/plugins/MultiValueTooltip.ts +66 -0
  113. package/src/multiValue/plugins/Scatter.ts +426 -0
  114. package/src/multiValue/plugins/ScatterBubbles.ts +554 -0
  115. package/src/multiValue/plugins/XYAux.ts +682 -0
  116. package/src/multiValue/plugins/XYAxes.ts +685 -0
  117. package/src/multiValue/plugins/XYZoom.ts +300 -0
  118. package/src/noneData/defaults.ts +102 -102
  119. package/src/noneData/index.ts +4 -4
  120. package/src/noneData/plugins/Container.ts +28 -28
  121. package/src/noneData/plugins/Tooltip.ts +374 -374
  122. package/src/relationship/defaults.ts +196 -0
  123. package/src/relationship/index.ts +5 -0
  124. package/src/relationship/plugins/ForceDirected.ts +1167 -0
  125. package/src/relationship/plugins/ForceDirectedBubbles.ts +1391 -0
  126. package/src/relationship/plugins/RelationshipLegend.ts +100 -0
  127. package/src/relationship/plugins/RelationshipTooltip.ts +66 -0
  128. package/src/relationship/relationshipObservables.ts +50 -0
  129. package/src/series/defaults.ts +207 -149
  130. package/src/series/index.ts +10 -9
  131. package/src/series/plugins/Bubbles.ts +606 -603
  132. package/src/series/plugins/Pie.ts +623 -623
  133. package/src/series/plugins/PieEventTexts.ts +284 -283
  134. package/src/series/plugins/PieLabels.ts +640 -640
  135. package/src/series/plugins/Rose.ts +516 -516
  136. package/src/series/plugins/RoseLabels.ts +600 -600
  137. package/src/series/plugins/SeriesLegend.ts +107 -96
  138. package/src/series/plugins/SeriesTooltip.ts +66 -0
  139. package/src/series/seriesObservables.ts +145 -145
  140. package/src/series/seriesUtils.ts +51 -51
  141. package/src/tree/defaults.ts +79 -23
  142. package/src/tree/index.ts +5 -4
  143. package/src/tree/plugins/TreeLegend.ts +100 -96
  144. package/src/tree/plugins/TreeMap.ts +333 -333
  145. package/src/tree/plugins/TreeTooltip.ts +66 -0
  146. package/src/utils/commonUtils.ts +21 -21
  147. package/src/utils/d3Graphics.ts +174 -174
  148. package/src/utils/d3Utils.ts +74 -73
  149. package/src/utils/observables.ts +14 -14
  150. package/src/utils/orbchartsUtils.ts +116 -100
  151. package/tsconfig.base.json +13 -13
  152. package/tsconfig.json +2 -2
  153. package/vite.config.js +22 -22
  154. package/dist/src/grid/plugins/BarStack.d.ts +0 -1
  155. package/dist/src/grid/plugins/ScalingArea.d.ts +0 -1
  156. package/dist/src/grid/plugins/ValueStackAxis.d.ts +0 -1
  157. package/dist/src/multiGrid/defaults.d.ts +0 -14
  158. package/dist/src/multiGrid/plugins/MultiBarStack.d.ts +0 -1
  159. package/dist/src/multiGrid/plugins/MultiValueStackAxis.d.ts +0 -1
  160. package/dist/src/multiGrid/plugins/OverlappingValueStackAxes.d.ts +0 -1
  161. package/dist/src/multiValue/plugins/Scatter.d.ts +0 -0
  162. package/dist/src/multiValue/plugins/ScatterAxes.d.ts +0 -0
  163. package/dist/src/noneData/index.d.ts +0 -2
  164. package/dist/src/noneData/plugins/Container.d.ts +0 -1
  165. package/dist/src/noneData/plugins/Tooltip.d.ts +0 -3
  166. package/dist/src/relationship/index.d.ts +0 -0
  167. package/dist/src/relationship/plugins/Relationship.d.ts +0 -0
  168. package/dist/src/tree/defaults.d.ts +0 -4
  169. package/src/base/BaseGroupArea.ts +0 -0
  170. package/src/multiValue/plugins/ScatterAxes.ts +0 -0
  171. package/src/relationship/plugins/Relationship.ts +0 -0
  172. /package/dist/{lib → orbcharts-plugins-basic/lib}/core-types.d.ts +0 -0
  173. /package/dist/{lib → orbcharts-plugins-basic/lib}/core.d.ts +0 -0
  174. /package/dist/{lib → orbcharts-plugins-basic/lib}/plugins-basic-types.d.ts +0 -0
  175. /package/dist/{src → orbcharts-plugins-basic/src}/base/types.d.ts +0 -0
  176. /package/dist/{src → orbcharts-plugins-basic/src}/const.d.ts +0 -0
  177. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Bars.d.ts +0 -0
  178. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsPN.d.ts +0 -0
  179. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsTriangle.d.ts +0 -0
  180. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Dots.d.ts +0 -0
  181. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GridLegend.d.ts +0 -0
  182. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAux.d.ts +0 -0
  183. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAxis.d.ts +0 -0
  184. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/LineAreas.d.ts +0 -0
  185. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Lines.d.ts +0 -0
  186. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ValueAxis.d.ts +0 -0
  187. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/multiGridObservables.d.ts +0 -0
  188. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBars.d.ts +0 -0
  189. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -0
  190. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiDots.d.ts +0 -0
  191. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGridLegend.d.ts +0 -0
  192. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGroupAxis.d.ts +0 -0
  193. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLineAreas.d.ts +0 -0
  194. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLines.d.ts +0 -0
  195. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiValueAxis.d.ts +0 -0
  196. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -0
  197. /package/dist/{src/grid → orbcharts-plugins-basic/src/multiValue}/plugins/Ranking.d.ts +0 -0
  198. /package/dist/{src/grid → orbcharts-plugins-basic/src/multiValue}/plugins/RankingAxis.d.ts +0 -0
  199. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/defaults.d.ts +0 -0
  200. /package/dist/{src/base/BaseGroupArea.d.ts → orbcharts-plugins-basic/src/noneData/plugins/Container.d.ts} +0 -0
  201. /package/dist/{src/multiValue/index.d.ts → orbcharts-plugins-basic/src/noneData/plugins/Tooltip.d.ts} +0 -0
  202. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Bubbles.d.ts +0 -0
  203. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Pie.d.ts +0 -0
  204. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/PieEventTexts.d.ts +0 -0
  205. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/PieLabels.d.ts +0 -0
  206. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Rose.d.ts +0 -0
  207. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/RoseLabels.d.ts +0 -0
  208. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/SeriesLegend.d.ts +0 -0
  209. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Waffle.d.ts +0 -0
  210. /package/dist/{src → orbcharts-plugins-basic/src}/series/seriesUtils.d.ts +0 -0
  211. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeLegend.d.ts +0 -0
  212. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeMap.d.ts +0 -0
  213. /package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Graphics.d.ts +0 -0
  214. /package/dist/{vite.config.d.ts → orbcharts-plugins-basic/vite.config.d.ts} +0 -0
  215. /package/src/{grid → multiValue}/plugins/Ranking.ts +0 -0
  216. /package/src/{grid → multiValue}/plugins/RankingAxis.ts +0 -0
@@ -1,159 +1,225 @@
1
- import type {
2
- MultiGridLegendParams,
3
- MultiBarsParams,
4
- MultiBarStackParams,
5
- MultiBarsTriangleParams,
6
- MultiLinesParams,
7
- MultiLineAreasParams,
8
- MultiDotsParams,
9
- MultiGroupAxisParams,
10
- MultiValueAxisParams,
11
- MultiValueStackAxisParams,
12
- OverlappingValueAxesParams,
13
- OverlappingValueStackAxesParams
14
- } from '../../lib/plugins-basic-types'
15
-
16
- export const DEFAULT_MULTI_GRID_LEGEND_PARAMS: MultiGridLegendParams = {
17
- position: 'right',
18
- justify: 'end',
19
- padding: 28,
20
- backgroundFill: 'none',
21
- backgroundStroke: 'none',
22
- gap: 10,
23
- listRectWidth: 14,
24
- listRectHeight: 14,
25
- listRectRadius: 0,
26
- gridList: [
27
- {
28
- listRectWidth: 14,
29
- listRectHeight: 14,
30
- listRectRadius: 0,
31
- }
32
- ],
33
- textColorType: 'primary'
34
- }
35
-
36
- export const DEFAULT_MULTI_GROUP_AXIS_PARAMS: MultiGroupAxisParams = {
37
- // labelAnchor: 'start',
38
- labelOffset: [0, 0],
39
- labelColorType: 'primary',
40
- axisLineVisible: true,
41
- axisLineColorType: 'primary',
42
- ticks: 'all',
43
- tickFormat: text => text,
44
- tickLineVisible: true,
45
- tickPadding: 20,
46
- tickFullLine: false,
47
- tickFullLineDasharray: 'none',
48
- tickColorType: 'secondary',
49
- tickTextRotate: 0,
50
- tickTextColorType: 'primary',
51
- gridIndexes: [0]
52
- }
53
- DEFAULT_MULTI_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
54
-
55
- export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
56
- // labelAnchor: 'end',
57
- labelOffset: [0, 0],
58
- labelColorType: 'primary',
59
- axisLineVisible: false,
60
- axisLineColorType: 'primary',
61
- ticks: 4,
62
- tickFormat: ',.0f',
63
- tickLineVisible: true,
64
- tickPadding: 20,
65
- tickFullLine: true,
66
- tickFullLineDasharray: 'none',
67
- tickColorType: 'secondary',
68
- tickTextRotate: 0,
69
- tickTextColorType: 'primary',
70
- gridIndexes: [0]
71
- }
72
-
73
- export const DEFAULT_MULTI_VALUE_STACK_AXIS_PARAMS: MultiValueStackAxisParams = {
74
- ...DEFAULT_MULTI_VALUE_AXIS_PARAMS
75
- }
76
-
77
- export const DEFAULT_MULTI_BARS_PARAMS: MultiBarsParams = {
78
- barWidth: 0,
79
- barPadding: 1,
80
- barGroupPadding: 40,
81
- barRadius: false,
82
- gridIndexes: [0]
83
- }
84
-
85
- export const DEFAULT_MULTI_BAR_STACK_PARAMS: MultiBarStackParams = {
86
- barWidth: 0,
87
- barGroupPadding: 10,
88
- barRadius: false,
89
- gridIndexes: [0]
90
- }
91
-
92
- export const DEFAULT_MULTI_BARS_TRIANGLE_PARAMS: MultiBarsTriangleParams = {
93
- barWidth: 0,
94
- barPadding: 1,
95
- barGroupPadding: 20,
96
- linearGradientOpacity: [1, 0],
97
- gridIndexes: [0]
98
- }
99
-
100
- export const DEFAULT_MULTI_LINES_PARAMS: MultiLinesParams = {
101
- lineCurve: 'curveLinear',
102
- lineWidth: 2,
103
- gridIndexes: [1]
104
- }
105
-
106
- export const DEFAULT_MULTI_LINE_AREAS_PARAMS: MultiLineAreasParams = {
107
- lineCurve: 'curveLinear',
108
- linearGradientOpacity: [1, 0],
109
- gridIndexes: [1]
110
- }
111
-
112
- export const DEFAULT_MULTI_DOTS_PARAMS: MultiDotsParams = {
113
- radius: 4,
114
- fillColorType: 'white',
115
- strokeColorType: 'series',
116
- strokeWidth: 2,
117
- onlyShowHighlighted: false,
118
- gridIndexes: [1]
119
- }
120
-
121
- export const DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS: OverlappingValueAxesParams = {
122
- firstAxis: {
123
- // labelAnchor: 'end',
124
- labelOffset: [0, 0],
125
- labelColorType: 'primary',
126
- axisLineVisible: false,
127
- axisLineColorType: 'primary',
128
- ticks: 4,
129
- tickFormat: ',.0f',
130
- tickLineVisible: true,
131
- tickPadding: 20,
132
- tickFullLine: true,
133
- tickFullLineDasharray: 'none',
134
- tickColorType: 'secondary',
135
- tickTextRotate: 0,
136
- tickTextColorType: 'primary',
137
- },
138
- secondAxis: {
139
- // labelAnchor: 'end',
140
- labelOffset: [0, 0],
141
- labelColorType: 'primary',
142
- axisLineVisible: false,
143
- axisLineColorType: 'primary',
144
- ticks: 4,
145
- tickFormat: ',.0f',
146
- tickLineVisible: true,
147
- tickPadding: 20,
148
- tickFullLine: true,
149
- tickFullLineDasharray: 'none',
150
- tickColorType: 'secondary',
151
- tickTextRotate: 0,
152
- tickTextColorType: 'primary',
153
- },
154
- gridIndexes: [0, 1]
155
- }
156
-
157
- export const DEFAULT_OVERLAPPING_VALUE_STACK_AXES_PARAMS: OverlappingValueStackAxesParams = {
158
- ...DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS
159
- }
1
+ import type {
2
+ MultiGridLegendParams,
3
+ MultiBarsParams,
4
+ MultiStackedBarParams,
5
+ MultiBarsTriangleParams,
6
+ MultiLinesParams,
7
+ MultiLineAreasParams,
8
+ MultiDotsParams,
9
+ MultiGroupAxisParams,
10
+ MultiGridTooltipParams,
11
+ MultiValueAxisParams,
12
+ MultiStackedValueAxisParams,
13
+ OverlappingValueAxesParams,
14
+ OverlappingStackedValueAxesParams
15
+ } from '../../lib/plugins-basic-types'
16
+ import { measureTextWidth } from '../utils/commonUtils'
17
+
18
+ export const DEFAULT_MULTI_GRID_LEGEND_PARAMS: MultiGridLegendParams = {
19
+ // position: 'right',
20
+ // justify: 'end',
21
+ placement: 'bottom',
22
+ padding: 28,
23
+ backgroundFill: 'none',
24
+ backgroundStroke: 'none',
25
+ gap: 10,
26
+ listRectWidth: 14,
27
+ listRectHeight: 14,
28
+ listRectRadius: 0,
29
+ gridList: [
30
+ {
31
+ listRectWidth: 14,
32
+ listRectHeight: 14,
33
+ listRectRadius: 0,
34
+ }
35
+ ],
36
+ textColorType: 'primary'
37
+ }
38
+
39
+ export const DEFAULT_MULTI_GROUP_AXIS_PARAMS: MultiGroupAxisParams = {
40
+ // labelAnchor: 'start',
41
+ labelOffset: [0, 0],
42
+ labelColorType: 'primary',
43
+ axisLineVisible: true,
44
+ axisLineColorType: 'primary',
45
+ ticks: 'all',
46
+ tickFormat: text => text,
47
+ tickLineVisible: true,
48
+ tickPadding: 20,
49
+ tickFullLine: false,
50
+ tickFullLineDasharray: 'none',
51
+ tickColorType: 'secondary',
52
+ tickTextRotate: 0,
53
+ tickTextColorType: 'primary',
54
+ gridIndexes: [0]
55
+ }
56
+ DEFAULT_MULTI_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
57
+
58
+ export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
59
+ // labelAnchor: 'end',
60
+ labelOffset: [0, 0],
61
+ labelColorType: 'primary',
62
+ axisLineVisible: false,
63
+ axisLineColorType: 'primary',
64
+ ticks: 4,
65
+ tickFormat: ',.0f',
66
+ tickLineVisible: true,
67
+ tickPadding: 20,
68
+ tickFullLine: true,
69
+ tickFullLineDasharray: 'none',
70
+ tickColorType: 'secondary',
71
+ tickTextRotate: 0,
72
+ tickTextColorType: 'primary',
73
+ gridIndexes: [0]
74
+ }
75
+
76
+ export const DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS: MultiStackedValueAxisParams = {
77
+ ...DEFAULT_MULTI_VALUE_AXIS_PARAMS
78
+ }
79
+
80
+ export const DEFAULT_MULTI_BARS_PARAMS: MultiBarsParams = {
81
+ barWidth: 0,
82
+ barPadding: 1,
83
+ barGroupPadding: 40,
84
+ barRadius: false,
85
+ gridIndexes: [0]
86
+ }
87
+
88
+ export const DEFAULT_MULTI_STACKED_BAR_PARAMS: MultiStackedBarParams = {
89
+ barWidth: 0,
90
+ barGroupPadding: 10,
91
+ barRadius: false,
92
+ gridIndexes: [0]
93
+ }
94
+
95
+ export const DEFAULT_MULTI_BARS_TRIANGLE_PARAMS: MultiBarsTriangleParams = {
96
+ barWidth: 0,
97
+ barPadding: 1,
98
+ barGroupPadding: 20,
99
+ linearGradientOpacity: [1, 0],
100
+ gridIndexes: [0]
101
+ }
102
+
103
+ export const DEFAULT_MULTI_LINES_PARAMS: MultiLinesParams = {
104
+ lineCurve: 'curveLinear',
105
+ lineWidth: 2,
106
+ gridIndexes: [1]
107
+ }
108
+
109
+ export const DEFAULT_MULTI_LINE_AREAS_PARAMS: MultiLineAreasParams = {
110
+ lineCurve: 'curveLinear',
111
+ linearGradientOpacity: [1, 0],
112
+ gridIndexes: [1]
113
+ }
114
+
115
+ export const DEFAULT_MULTI_DOTS_PARAMS: MultiDotsParams = {
116
+ radius: 4,
117
+ fillColorType: 'white',
118
+ strokeColorType: 'label',
119
+ strokeWidth: 2,
120
+ onlyShowHighlighted: false,
121
+ gridIndexes: [1]
122
+ }
123
+
124
+ export const DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS: OverlappingValueAxesParams = {
125
+ firstAxis: {
126
+ // labelAnchor: 'end',
127
+ labelOffset: [0, 0],
128
+ labelColorType: 'primary',
129
+ axisLineVisible: false,
130
+ axisLineColorType: 'primary',
131
+ ticks: 4,
132
+ tickFormat: ',.0f',
133
+ tickLineVisible: true,
134
+ tickPadding: 20,
135
+ tickFullLine: true,
136
+ tickFullLineDasharray: 'none',
137
+ tickColorType: 'secondary',
138
+ tickTextRotate: 0,
139
+ tickTextColorType: 'primary',
140
+ },
141
+ secondAxis: {
142
+ // labelAnchor: 'end',
143
+ labelOffset: [0, 0],
144
+ labelColorType: 'primary',
145
+ axisLineVisible: false,
146
+ axisLineColorType: 'primary',
147
+ ticks: 4,
148
+ tickFormat: ',.0f',
149
+ tickLineVisible: true,
150
+ tickPadding: 20,
151
+ tickFullLine: true,
152
+ tickFullLineDasharray: 'none',
153
+ tickColorType: 'secondary',
154
+ tickTextRotate: 0,
155
+ tickTextColorType: 'primary',
156
+ },
157
+ gridIndexes: [0, 1]
158
+ }
159
+
160
+ export const DEFAULT_OVERLAPPING_STACKED_VALUE_AXES_PARAMS: OverlappingStackedValueAxesParams = {
161
+ ...DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS
162
+ }
163
+
164
+ export const DEFAULT_MULTI_GRID_TOOLTIP_PARAMS: MultiGridTooltipParams = {
165
+ backgroundColorType: 'background',
166
+ strokeColorType: 'primary',
167
+ backgroundOpacity: 0.8,
168
+ textColorType: 'primary',
169
+ offset: [20, 5],
170
+ padding: 10,
171
+ renderFn: (eventData, { styles, utils }) => {
172
+ const bulletWidth = styles.textSizePx * 0.7
173
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
174
+
175
+ const titleSvg = `<g><text dominant-baseline="hanging" font-size="${styles.textSizePx}">${eventData.groupLabel}</text></g>`
176
+ const maxLengthText = eventData.groups.reduce((acc, group) => {
177
+ const text = `${group.seriesLabel}${group.value}`
178
+ return text.length > acc.length ? text : acc
179
+ }, '')
180
+ const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
181
+ const lineEndX = maxTextWidth + styles.textSizePx * 2
182
+ const contentSvg = eventData.groups
183
+ .map((group, i) => {
184
+ const y = i * styles.textSizePx * 1.5
185
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
186
+ return `<g transform="translate(0, ${styles.textSizePx * 2})">
187
+ <rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${y + offset}" rx="${bulletWidth / 2}" fill="${group.color}"></rect>
188
+ <text x="${styles.textSizePx * 1.5}" y="${y}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
189
+ <tspan font-weight="${isHighlight ? 'bold' : ''}">${group.seriesLabel}</tspan>
190
+ <tspan font-weight="bold" text-anchor="end" x="${lineEndX}">${group.value}</tspan>
191
+ </text>
192
+ </g>`
193
+ })
194
+ .join('')
195
+ return `${titleSvg}
196
+ ${contentSvg}`
197
+ }
198
+ }
199
+ DEFAULT_MULTI_GRID_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styles, utils }) => {
200
+ const bulletWidth = styles.textSizePx * 0.7
201
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
202
+
203
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
204
+ const maxLengthText = eventData.groups.reduce((acc, group) => {
205
+ const text = \`\${group.seriesLabel}\${group.value}\`
206
+ return text.length > acc.length ? text : acc
207
+ }, '')
208
+ const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
209
+ const lineEndX = maxTextWidth + styles.textSizePx * 2
210
+ const contentSvg = eventData.groups
211
+ .map((group, i) => {
212
+ const y = i * styles.textSizePx * 1.5
213
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
214
+ return \`<g transform="translate(0, \${styles.textSizePx * 2})">
215
+ <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
216
+ <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
217
+ <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
218
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
219
+ </text>
220
+ </g>\`
221
+ })
222
+ .join('')
223
+ return \`\${titleSvg}
224
+ \${contentSvg}\`
225
+ }`
@@ -1,14 +1,15 @@
1
- export * from './defaults'
2
- // export * from './types'
3
- export { MultiGridLegend } from './plugins/MultiGridLegend'
4
- export { MultiBars } from './plugins/MultiBars'
5
- export { MultiBarStack } from './plugins/MultiBarStack'
6
- export { MultiBarsTriangle } from './plugins/MultiBarsTriangle'
7
- export { MultiLines } from './plugins/MultiLines'
8
- export { MultiLineAreas } from './plugins/MultiLineAreas'
9
- export { MultiDots } from './plugins/MultiDots'
10
- export { MultiGroupAxis } from './plugins/MultiGroupAxis'
11
- export { MultiValueAxis } from './plugins/MultiValueAxis'
12
- export { MultiValueStackAxis } from './plugins/MultiValueStackAxis'
13
- export { OverlappingValueAxes } from './plugins/OverlappingValueAxes'
14
- export { OverlappingValueStackAxes } from './plugins/OverlappingValueStackAxes'
1
+ export * from './defaults'
2
+ // export * from './types'
3
+ export { MultiGridLegend } from './plugins/MultiGridLegend'
4
+ export { MultiBars } from './plugins/MultiBars'
5
+ export { MultiStackedBar } from './plugins/MultiStackedBar'
6
+ export { MultiBarsTriangle } from './plugins/MultiBarsTriangle'
7
+ export { MultiLines } from './plugins/MultiLines'
8
+ export { MultiLineAreas } from './plugins/MultiLineAreas'
9
+ export { MultiDots } from './plugins/MultiDots'
10
+ export { MultiGroupAxis } from './plugins/MultiGroupAxis'
11
+ export { MultiValueAxis } from './plugins/MultiValueAxis'
12
+ export { MultiGridTooltip } from './plugins/MultiGridTooltip'
13
+ export { MultiStackedValueAxis } from './plugins/MultiStackedValueAxis'
14
+ export { OverlappingValueAxes } from './plugins/OverlappingValueAxes'
15
+ export { OverlappingStackedValueAxes } from './plugins/OverlappingStackedValueAxes'
@@ -1,49 +1,49 @@
1
- import type { Observable } from 'rxjs'
2
- import {
3
- Subject,
4
- takeUntil,
5
- of,
6
- map,
7
- reduce,
8
- switchMap,
9
- combineLatest,
10
- distinctUntilChanged,
11
- shareReplay
12
- } from 'rxjs'
13
- import type {
14
- ContextObserverMultiGrid,
15
- ComputedDataGrid,
16
- DataFormatterGrid,
17
- ContextObserverGridDetail,
18
- ContextObserverMultiGridDetail } from '../../lib/core-types'
19
-
20
- // 可設定多個gridIndex的params
21
- interface MultiGridPluginParams {
22
- gridIndexes: number[] | 'all'
23
- }
24
-
25
- // 對應grid資料的plugin所需Observable(必須有gridIndexes)
26
- export const multiGridPluginDetailObservables = (observer: ContextObserverMultiGrid<MultiGridPluginParams>): Observable<ContextObserverMultiGridDetail[]> => {
27
- const gridIndexes$ = observer.fullParams$.pipe(
28
- map(fullParams => fullParams.gridIndexes),
29
- distinctUntilChanged(),
30
- shareReplay(1)
31
- )
32
-
33
- return combineLatest({
34
- multiGridEachDetail: observer.multiGridEachDetail$,
35
- gridIndexes: gridIndexes$,
36
- }).pipe(
37
- map(data => {
38
- // 對應所有grid
39
- if (data.gridIndexes === 'all') {
40
- return data.multiGridEachDetail
41
- }
42
- // 自訂對應grid
43
- return data.gridIndexes.map(gridIndex => {
44
- return data.multiGridEachDetail[gridIndex] ?? data.multiGridEachDetail[0]
45
- })
46
- })
47
- )
48
- }
49
-
1
+ import type { Observable } from 'rxjs'
2
+ import {
3
+ Subject,
4
+ takeUntil,
5
+ of,
6
+ map,
7
+ reduce,
8
+ switchMap,
9
+ combineLatest,
10
+ distinctUntilChanged,
11
+ shareReplay
12
+ } from 'rxjs'
13
+ import type {
14
+ ContextObserverMultiGrid,
15
+ ComputedDataGrid,
16
+ DataFormatterGrid,
17
+ ContextObserverGridDetail,
18
+ ContextObserverMultiGridDetail } from '../../lib/core-types'
19
+
20
+ // 可設定多個gridIndex的params
21
+ interface MultiGridPluginParams {
22
+ gridIndexes: number[] | 'all'
23
+ }
24
+
25
+ // 對應grid資料的plugin所需Observable(必須有gridIndexes)
26
+ export const multiGridPluginDetailObservables = (observer: ContextObserverMultiGrid<MultiGridPluginParams>): Observable<ContextObserverMultiGridDetail[]> => {
27
+ const gridIndexes$ = observer.fullParams$.pipe(
28
+ map(fullParams => fullParams.gridIndexes),
29
+ distinctUntilChanged(),
30
+ shareReplay(1)
31
+ )
32
+
33
+ return combineLatest({
34
+ multiGridEachDetail: observer.multiGridEachDetail$,
35
+ gridIndexes: gridIndexes$,
36
+ }).pipe(
37
+ map(data => {
38
+ // 對應所有grid
39
+ if (data.gridIndexes === 'all') {
40
+ return data.multiGridEachDetail
41
+ }
42
+ // 自訂對應grid
43
+ return data.gridIndexes.map(gridIndex => {
44
+ return data.multiGridEachDetail[gridIndex] ?? data.multiGridEachDetail[0]
45
+ })
46
+ })
47
+ )
48
+ }
49
+