@orbcharts/plugins-basic 3.0.0-alpha.59 → 3.0.0-alpha.60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. package/LICENSE +200 -200
  2. package/package.json +42 -43
  3. package/src/base/BaseBarStack.ts +778 -778
  4. package/src/base/BaseBars.ts +764 -764
  5. package/src/base/BaseBarsTriangle.ts +672 -672
  6. package/src/base/BaseDots.ts +513 -513
  7. package/src/base/BaseGroupAxis.ts +558 -558
  8. package/src/base/BaseLegend.ts +641 -641
  9. package/src/base/BaseLineAreas.ts +628 -628
  10. package/src/base/BaseLines.ts +704 -704
  11. package/src/base/BaseValueAxis.ts +478 -478
  12. package/src/base/types.ts +2 -2
  13. package/src/grid/defaults.ts +128 -128
  14. package/src/grid/gridObservables.ts +541 -541
  15. package/src/grid/index.ts +15 -15
  16. package/src/grid/plugins/BarStack.ts +43 -43
  17. package/src/grid/plugins/Bars.ts +44 -44
  18. package/src/grid/plugins/BarsPN.ts +41 -41
  19. package/src/grid/plugins/BarsTriangle.ts +42 -42
  20. package/src/grid/plugins/Dots.ts +37 -37
  21. package/src/grid/plugins/GridLegend.ts +59 -59
  22. package/src/grid/plugins/GroupAux.ts +976 -976
  23. package/src/grid/plugins/GroupAxis.ts +35 -35
  24. package/src/grid/plugins/LineAreas.ts +40 -40
  25. package/src/grid/plugins/Lines.ts +40 -40
  26. package/src/grid/plugins/ScalingArea.ts +173 -173
  27. package/src/grid/plugins/ValueAxis.ts +36 -36
  28. package/src/grid/plugins/ValueStackAxis.ts +38 -38
  29. package/src/grid/types.ts +123 -123
  30. package/src/index.ts +9 -9
  31. package/src/multiGrid/defaults.ts +158 -158
  32. package/src/multiGrid/index.ts +13 -13
  33. package/src/multiGrid/multiGridObservables.ts +49 -49
  34. package/src/multiGrid/plugins/MultiBarStack.ts +78 -78
  35. package/src/multiGrid/plugins/MultiBars.ts +77 -77
  36. package/src/multiGrid/plugins/MultiBarsTriangle.ts +77 -77
  37. package/src/multiGrid/plugins/MultiDots.ts +65 -65
  38. package/src/multiGrid/plugins/MultiGridLegend.ts +89 -89
  39. package/src/multiGrid/plugins/MultiGroupAxis.ts +69 -69
  40. package/src/multiGrid/plugins/MultiLineAreas.ts +77 -77
  41. package/src/multiGrid/plugins/MultiLines.ts +77 -77
  42. package/src/multiGrid/plugins/MultiValueAxis.ts +69 -69
  43. package/src/multiGrid/plugins/MultiValueStackAxis.ts +69 -69
  44. package/src/multiGrid/plugins/OverlappingValueAxes.ts +167 -167
  45. package/src/multiGrid/plugins/OverlappingValueStackAxes.ts +168 -168
  46. package/src/multiGrid/types.ts +72 -72
  47. package/src/noneData/defaults.ts +102 -102
  48. package/src/noneData/index.ts +3 -3
  49. package/src/noneData/plugins/Container.ts +10 -10
  50. package/src/noneData/plugins/Tooltip.ts +310 -310
  51. package/src/noneData/types.ts +26 -26
  52. package/src/series/defaults.ts +144 -144
  53. package/src/series/index.ts +9 -9
  54. package/src/series/plugins/Bubbles.ts +545 -545
  55. package/src/series/plugins/Pie.ts +576 -576
  56. package/src/series/plugins/PieEventTexts.ts +262 -262
  57. package/src/series/plugins/PieLabels.ts +304 -304
  58. package/src/series/plugins/Rose.ts +472 -472
  59. package/src/series/plugins/RoseLabels.ts +362 -362
  60. package/src/series/plugins/SeriesLegend.ts +59 -59
  61. package/src/series/seriesObservables.ts +145 -145
  62. package/src/series/seriesUtils.ts +51 -51
  63. package/src/series/types.ts +83 -83
  64. package/src/tree/defaults.ts +23 -23
  65. package/src/tree/index.ts +3 -3
  66. package/src/tree/plugins/TreeLegend.ts +59 -59
  67. package/src/tree/plugins/TreeMap.ts +305 -305
  68. package/src/tree/types.ts +23 -23
  69. package/src/utils/commonUtils.ts +21 -21
  70. package/src/utils/d3Graphics.ts +124 -124
  71. package/src/utils/d3Utils.ts +73 -73
  72. package/src/utils/observables.ts +14 -14
  73. package/src/utils/orbchartsUtils.ts +100 -100
  74. package/tsconfig.base.json +13 -13
  75. package/tsconfig.json +2 -7
  76. package/{vite.config.mjs → vite.config.js} +22 -40
  77. package/tsconfig.prod.json +0 -3
  78. /package/dist/{vite.config.d.mts → vite.config.d.ts} +0 -0
@@ -1,73 +1,73 @@
1
- import type { BaseBarsParams } from '../base/BaseBars'
2
- import type { BaseBarStackParams } from '../base/BaseBarStack'
3
- import type { BaseBarsTriangleParams } from '../base/BaseBarsTriangle'
4
- import type { BaseLinesParams } from '../base/BaseLines'
5
- import type { BaseLineAreasParams } from '../base/BaseLineAreas'
6
- import type { BaseDotsParams } from '../base/BaseDots'
7
- import type { BaseGroupAxisParams } from '../base/BaseGroupAxis'
8
- import type { BaseValueAxisParams } from '../base/BaseValueAxis'
9
- import type {
10
- ChartParams, Layout, ColorType } from '@orbcharts/core'
11
-
12
- export interface MultiGridLegendParams {
13
- position: 'top' | 'bottom' | 'left' | 'right'
14
- justify: 'start' | 'center' | 'end'
15
- padding: number
16
- backgroundFill: ColorType
17
- backgroundStroke: ColorType
18
- gap: number
19
- listRectWidth: number
20
- listRectHeight: number
21
- listRectRadius: number
22
- // 可針對各grid設定,覆蓋全域設定
23
- gridList: Array<{
24
- listRectWidth: number
25
- listRectHeight: number
26
- listRectRadius: number
27
- }>
28
- textColorType: ColorType
29
- }
30
-
31
- export interface MultiGroupAxisParams extends BaseGroupAxisParams {
32
- gridIndexes: number[] | 'all'
33
- }
34
-
35
- export interface MultiValueAxisParams extends BaseValueAxisParams {
36
- gridIndexes: number[] | 'all'
37
- }
38
-
39
- export interface MultiValueStackAxisParams extends BaseValueAxisParams {
40
- gridIndexes: number[] | 'all'
41
- }
42
-
43
- export interface MultiBarsParams extends BaseBarsParams {
44
- gridIndexes: number[] | 'all'
45
- }
46
-
47
- export interface MultiBarStackParams extends BaseBarStackParams {
48
- gridIndexes: number[] | 'all'
49
- }
50
-
51
- export interface MultiBarsTriangleParams extends BaseBarsTriangleParams {
52
- gridIndexes: number[] | 'all'
53
- }
54
-
55
- export interface MultiLinesParams extends BaseLinesParams {
56
- gridIndexes: number[] | 'all'
57
- }
58
-
59
- export interface MultiLineAreasParams extends BaseLineAreasParams {
60
- gridIndexes: number[] | 'all'
61
- }
62
-
63
- export interface MultiDotsParams extends BaseDotsParams {
64
- gridIndexes: number[] | 'all'
65
- }
66
-
67
- export interface OverlappingValueAxesParams {
68
- firstAxis: BaseValueAxisParams
69
- secondAxis: BaseValueAxisParams
70
- gridIndexes: [number, number]
71
- }
72
-
1
+ import type { BaseBarsParams } from '../base/BaseBars'
2
+ import type { BaseBarStackParams } from '../base/BaseBarStack'
3
+ import type { BaseBarsTriangleParams } from '../base/BaseBarsTriangle'
4
+ import type { BaseLinesParams } from '../base/BaseLines'
5
+ import type { BaseLineAreasParams } from '../base/BaseLineAreas'
6
+ import type { BaseDotsParams } from '../base/BaseDots'
7
+ import type { BaseGroupAxisParams } from '../base/BaseGroupAxis'
8
+ import type { BaseValueAxisParams } from '../base/BaseValueAxis'
9
+ import type {
10
+ ChartParams, Layout, ColorType } from '@orbcharts/core'
11
+
12
+ export interface MultiGridLegendParams {
13
+ position: 'top' | 'bottom' | 'left' | 'right'
14
+ justify: 'start' | 'center' | 'end'
15
+ padding: number
16
+ backgroundFill: ColorType
17
+ backgroundStroke: ColorType
18
+ gap: number
19
+ listRectWidth: number
20
+ listRectHeight: number
21
+ listRectRadius: number
22
+ // 可針對各grid設定,覆蓋全域設定
23
+ gridList: Array<{
24
+ listRectWidth: number
25
+ listRectHeight: number
26
+ listRectRadius: number
27
+ }>
28
+ textColorType: ColorType
29
+ }
30
+
31
+ export interface MultiGroupAxisParams extends BaseGroupAxisParams {
32
+ gridIndexes: number[] | 'all'
33
+ }
34
+
35
+ export interface MultiValueAxisParams extends BaseValueAxisParams {
36
+ gridIndexes: number[] | 'all'
37
+ }
38
+
39
+ export interface MultiValueStackAxisParams extends BaseValueAxisParams {
40
+ gridIndexes: number[] | 'all'
41
+ }
42
+
43
+ export interface MultiBarsParams extends BaseBarsParams {
44
+ gridIndexes: number[] | 'all'
45
+ }
46
+
47
+ export interface MultiBarStackParams extends BaseBarStackParams {
48
+ gridIndexes: number[] | 'all'
49
+ }
50
+
51
+ export interface MultiBarsTriangleParams extends BaseBarsTriangleParams {
52
+ gridIndexes: number[] | 'all'
53
+ }
54
+
55
+ export interface MultiLinesParams extends BaseLinesParams {
56
+ gridIndexes: number[] | 'all'
57
+ }
58
+
59
+ export interface MultiLineAreasParams extends BaseLineAreasParams {
60
+ gridIndexes: number[] | 'all'
61
+ }
62
+
63
+ export interface MultiDotsParams extends BaseDotsParams {
64
+ gridIndexes: number[] | 'all'
65
+ }
66
+
67
+ export interface OverlappingValueAxesParams {
68
+ firstAxis: BaseValueAxisParams
69
+ secondAxis: BaseValueAxisParams
70
+ gridIndexes: [number, number]
71
+ }
72
+
73
73
  export interface OverlappingValueStackAxesParams extends OverlappingValueAxesParams {}
@@ -1,103 +1,103 @@
1
- import type { ContainerPluginParams, TooltipParams } from './types'
2
- import type { EventBaseSeriesValue, EventBaseGridValue, EventBaseCategoryValue } from '@orbcharts/core'
3
-
4
- export const CONTAINER_PLUGIN_PARAMS: ContainerPluginParams = {
5
- header: {
6
- height: 36,
7
- text: [],
8
- textStyle: []
9
- },
10
- footer: {
11
- height: 0,
12
- text: [],
13
- textStyle: []
14
- }
15
- }
16
-
17
- export const TOOLTIP_PARAMS: TooltipParams = {
18
- backgroundColorType: 'background',
19
- strokeColorType: 'primary',
20
- backgroundOpacity: 0.8,
21
- textColorType: 'primary',
22
- offset: [20, 5],
23
- padding: 10,
24
- textRenderFn: (eventData) => {
25
- if (eventData.highlightTarget === 'datum' && eventData.datum) {
26
- return [`${eventData.datum.label}: ${eventData.datum.value}`]
27
- } else if (eventData.highlightTarget === 'series') {
28
- const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
29
- const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
30
- .filter(d => d.visible == true)
31
- .map(d => {
32
- return d.value
33
- })
34
- const value = valueArr.length > 5
35
- ? valueArr.slice(0, 5).join(',') + '...'
36
- : valueArr.join(',')
37
- return [label, value]
38
- } else if (eventData.highlightTarget === 'group') {
39
- const label = (eventData as EventBaseGridValue<any, any>).groupLabel
40
- const valueArr = (eventData as EventBaseGridValue<any, any>).series
41
- .filter(d => d.visible == true)
42
- .map(d => {
43
- return d.value
44
- })
45
- const value = valueArr.length > 5
46
- ? valueArr.slice(0, 5).join(',') + '...'
47
- : valueArr.join(',')
48
- return [label, value]
49
- } else if (eventData.highlightTarget === 'category') {
50
- const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
51
- const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
52
- .filter(d => d.visible == true)
53
- .map(d => {
54
- return d.value
55
- })
56
- const value = valueArr.length > 5
57
- ? valueArr.slice(0, 5).join(',') + '...'
58
- : valueArr.join(',')
59
- return [label, value]
60
- }
61
- return []
62
- },
63
- svgRenderFn: null
64
- }
65
- TOOLTIP_PARAMS.textRenderFn.toString = () => `(eventData) => {
66
- if (eventData.highlightTarget === 'datum' && eventData.datum) {
67
- return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
68
- } else if (eventData.highlightTarget === 'series') {
69
- const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
70
- const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
71
- .filter(d => d.visible == true)
72
- .map(d => {
73
- return d.value
74
- })
75
- const value = valueArr.length > 5
76
- ? valueArr.slice(0, 5).join(',') + '...'
77
- : valueArr.join(',')
78
- return [label, value]
79
- } else if (eventData.highlightTarget === 'group') {
80
- const label = (eventData as EventBaseGridValue<any, any>).groupLabel
81
- const valueArr = (eventData as EventBaseGridValue<any, any>).series
82
- .filter(d => d.visible == true)
83
- .map(d => {
84
- return d.value
85
- })
86
- const value = valueArr.length > 5
87
- ? valueArr.slice(0, 5).join(',') + '...'
88
- : valueArr.join(',')
89
- return [label, value]
90
- } else if (eventData.highlightTarget === 'category') {
91
- const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
92
- const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
93
- .filter(d => d.visible == true)
94
- .map(d => {
95
- return d.value
96
- })
97
- const value = valueArr.length > 5
98
- ? valueArr.slice(0, 5).join(',') + '...'
99
- : valueArr.join(',')
100
- return [label, value]
101
- }
102
- return []
1
+ import type { ContainerPluginParams, TooltipParams } from './types'
2
+ import type { EventBaseSeriesValue, EventBaseGridValue, EventBaseCategoryValue } from '@orbcharts/core'
3
+
4
+ export const CONTAINER_PLUGIN_PARAMS: ContainerPluginParams = {
5
+ header: {
6
+ height: 36,
7
+ text: [],
8
+ textStyle: []
9
+ },
10
+ footer: {
11
+ height: 0,
12
+ text: [],
13
+ textStyle: []
14
+ }
15
+ }
16
+
17
+ export const TOOLTIP_PARAMS: TooltipParams = {
18
+ backgroundColorType: 'background',
19
+ strokeColorType: 'primary',
20
+ backgroundOpacity: 0.8,
21
+ textColorType: 'primary',
22
+ offset: [20, 5],
23
+ padding: 10,
24
+ textRenderFn: (eventData) => {
25
+ if (eventData.highlightTarget === 'datum' && eventData.datum) {
26
+ return [`${eventData.datum.label}: ${eventData.datum.value}`]
27
+ } else if (eventData.highlightTarget === 'series') {
28
+ const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
29
+ const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
30
+ .filter(d => d.visible == true)
31
+ .map(d => {
32
+ return d.value
33
+ })
34
+ const value = valueArr.length > 5
35
+ ? valueArr.slice(0, 5).join(',') + '...'
36
+ : valueArr.join(',')
37
+ return [label, value]
38
+ } else if (eventData.highlightTarget === 'group') {
39
+ const label = (eventData as EventBaseGridValue<any, any>).groupLabel
40
+ const valueArr = (eventData as EventBaseGridValue<any, any>).series
41
+ .filter(d => d.visible == true)
42
+ .map(d => {
43
+ return d.value
44
+ })
45
+ const value = valueArr.length > 5
46
+ ? valueArr.slice(0, 5).join(',') + '...'
47
+ : valueArr.join(',')
48
+ return [label, value]
49
+ } else if (eventData.highlightTarget === 'category') {
50
+ const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
51
+ const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
52
+ .filter(d => d.visible == true)
53
+ .map(d => {
54
+ return d.value
55
+ })
56
+ const value = valueArr.length > 5
57
+ ? valueArr.slice(0, 5).join(',') + '...'
58
+ : valueArr.join(',')
59
+ return [label, value]
60
+ }
61
+ return []
62
+ },
63
+ svgRenderFn: null
64
+ }
65
+ TOOLTIP_PARAMS.textRenderFn.toString = () => `(eventData) => {
66
+ if (eventData.highlightTarget === 'datum' && eventData.datum) {
67
+ return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
68
+ } else if (eventData.highlightTarget === 'series') {
69
+ const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
70
+ const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
71
+ .filter(d => d.visible == true)
72
+ .map(d => {
73
+ return d.value
74
+ })
75
+ const value = valueArr.length > 5
76
+ ? valueArr.slice(0, 5).join(',') + '...'
77
+ : valueArr.join(',')
78
+ return [label, value]
79
+ } else if (eventData.highlightTarget === 'group') {
80
+ const label = (eventData as EventBaseGridValue<any, any>).groupLabel
81
+ const valueArr = (eventData as EventBaseGridValue<any, any>).series
82
+ .filter(d => d.visible == true)
83
+ .map(d => {
84
+ return d.value
85
+ })
86
+ const value = valueArr.length > 5
87
+ ? valueArr.slice(0, 5).join(',') + '...'
88
+ : valueArr.join(',')
89
+ return [label, value]
90
+ } else if (eventData.highlightTarget === 'category') {
91
+ const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
92
+ const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
93
+ .filter(d => d.visible == true)
94
+ .map(d => {
95
+ return d.value
96
+ })
97
+ const value = valueArr.length > 5
98
+ ? valueArr.slice(0, 5).join(',') + '...'
99
+ : valueArr.join(',')
100
+ return [label, value]
101
+ }
102
+ return []
103
103
  }`
@@ -1,4 +1,4 @@
1
- export * from './defaults'
2
- export * from './types'
3
- export { Container } from './plugins/Container'
1
+ export * from './defaults'
2
+ export * from './types'
3
+ export { Container } from './plugins/Container'
4
4
  export { Tooltip } from './plugins/Tooltip'
@@ -1,11 +1,11 @@
1
- import * as d3 from 'd3'
2
- import {
3
- defineNoneDataPlugin } from '@orbcharts/core'
4
- import { CONTAINER_PLUGIN_PARAMS } from '../defaults'
5
-
6
- export const Container = defineNoneDataPlugin('Container', CONTAINER_PLUGIN_PARAMS)(({ selection }) => {
7
-
8
- return function unsubscribe () {
9
-
10
- }
1
+ import * as d3 from 'd3'
2
+ import {
3
+ defineNoneDataPlugin } from '@orbcharts/core'
4
+ import { CONTAINER_PLUGIN_PARAMS } from '../defaults'
5
+
6
+ export const Container = defineNoneDataPlugin('Container', CONTAINER_PLUGIN_PARAMS)(({ selection }) => {
7
+
8
+ return function unsubscribe () {
9
+
10
+ }
11
11
  })