@orbcharts/plugins-basic 3.0.0-beta.2 → 3.0.0-beta.20

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 (182) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-plugins-basic.es.js +15169 -10684
  3. package/dist/orbcharts-plugins-basic.umd.js +296 -83
  4. package/dist/src/base/BaseBars.d.ts +4 -4
  5. package/dist/src/base/BaseBarsTriangle.d.ts +4 -4
  6. package/dist/src/base/BaseDots.d.ts +4 -4
  7. package/dist/src/base/BaseGroupAxis.d.ts +2 -2
  8. package/dist/src/base/BaseLegend.d.ts +1 -1
  9. package/dist/src/base/BaseLineAreas.d.ts +5 -5
  10. package/dist/src/base/BaseLines.d.ts +5 -5
  11. package/dist/src/base/BaseRacingBars.d.ts +23 -0
  12. package/dist/src/base/BaseRacingLabels.d.ts +20 -0
  13. package/dist/src/base/BaseRacingValueLabels.d.ts +20 -0
  14. package/dist/src/base/{BaseBarStack.d.ts → BaseStackedBars.d.ts} +8 -8
  15. package/dist/src/base/BaseValueAxis.d.ts +6 -8
  16. package/dist/src/base/BaseXAxis.d.ts +20 -0
  17. package/dist/src/base/BaseYAxis.d.ts +18 -0
  18. package/dist/src/grid/defaults.d.ts +5 -5
  19. package/dist/src/grid/gridObservables.d.ts +12 -5
  20. package/dist/src/grid/index.d.ts +3 -3
  21. package/dist/src/grid/plugins/GroupZoom.d.ts +1 -0
  22. package/dist/src/grid/plugins/StackedBars.d.ts +1 -0
  23. package/dist/src/grid/plugins/StackedValueAxis.d.ts +1 -0
  24. package/dist/src/index.d.ts +2 -0
  25. package/dist/src/multiGrid/defaults.d.ts +4 -4
  26. package/dist/src/multiGrid/index.d.ts +3 -3
  27. package/dist/src/multiGrid/plugins/MultiStackedBars.d.ts +1 -0
  28. package/dist/src/multiGrid/plugins/MultiStackedValueAxis.d.ts +1 -0
  29. package/dist/src/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +1 -0
  30. package/dist/src/multiValue/defaults.d.ts +13 -0
  31. package/dist/src/multiValue/index.d.ts +12 -0
  32. package/dist/src/multiValue/multiValueObservables.d.ts +56 -0
  33. package/dist/src/multiValue/plugins/MultiValueLegend.d.ts +1 -0
  34. package/dist/src/multiValue/plugins/MultiValueTooltip.d.ts +1 -0
  35. package/dist/src/multiValue/plugins/RacingBars.d.ts +1 -0
  36. package/dist/src/multiValue/plugins/RacingCounterTexts.d.ts +3 -0
  37. package/dist/src/multiValue/plugins/RacingValueAxis.d.ts +1 -0
  38. package/dist/src/multiValue/plugins/Scatter.d.ts +3 -0
  39. package/dist/src/multiValue/plugins/ScatterBubbles.d.ts +3 -0
  40. package/dist/src/multiValue/plugins/XAxis.d.ts +1 -0
  41. package/dist/src/multiValue/plugins/XYAux.d.ts +3 -0
  42. package/dist/src/multiValue/plugins/XYAxes.d.ts +1 -0
  43. package/dist/src/multiValue/plugins/XYAxes_legacy.d.ts +3 -0
  44. package/dist/src/multiValue/plugins/XZoom.d.ts +1 -0
  45. package/dist/src/noneData/plugins/Container.d.ts +0 -1
  46. package/dist/src/noneData/plugins/Tooltip.d.ts +0 -3
  47. package/dist/src/relationship/defaults.d.ts +6 -0
  48. package/dist/src/relationship/index.d.ts +5 -0
  49. package/dist/src/relationship/plugins/ForceDirected.d.ts +3 -0
  50. package/dist/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
  51. package/dist/src/relationship/plugins/RelationshipLegend.d.ts +1 -0
  52. package/dist/src/relationship/plugins/RelationshipTooltip.d.ts +1 -0
  53. package/dist/src/relationship/relationshipObservables.d.ts +1 -0
  54. package/dist/src/series/seriesObservables.d.ts +3 -3
  55. package/dist/src/utils/commonUtils.d.ts +2 -1
  56. package/dist/src/utils/d3Graphics.d.ts +2 -1
  57. package/dist/src/utils/d3Utils.d.ts +3 -2
  58. package/dist/src/utils/observables.d.ts +1 -1
  59. package/dist/src/utils/orbchartsUtils.d.ts +3 -3
  60. package/lib/core-types.ts +7 -7
  61. package/lib/core.ts +6 -6
  62. package/lib/plugins-basic-types.ts +6 -6
  63. package/package.json +44 -44
  64. package/src/base/BaseBars.ts +765 -765
  65. package/src/base/BaseBarsTriangle.ts +676 -674
  66. package/src/base/BaseDots.ts +464 -515
  67. package/src/base/BaseGroupAxis.ts +691 -679
  68. package/src/base/BaseLegend.ts +684 -680
  69. package/src/base/BaseLineAreas.ts +629 -629
  70. package/src/base/BaseLines.ts +706 -706
  71. package/src/base/BaseRacingBars.ts +552 -0
  72. package/src/base/BaseRacingLabels.ts +396 -0
  73. package/src/base/BaseRacingValueLabels.ts +403 -0
  74. package/src/base/{BaseBarStack.ts → BaseStackedBars.ts} +782 -780
  75. package/src/base/BaseTooltip.ts +386 -385
  76. package/src/base/BaseValueAxis.ts +600 -580
  77. package/src/base/BaseXAxis.ts +427 -0
  78. package/src/base/BaseYAxis.ts +389 -0
  79. package/src/base/types.ts +2 -2
  80. package/src/const.ts +30 -30
  81. package/src/grid/defaults.ts +213 -244
  82. package/src/grid/gridObservables.ts +612 -545
  83. package/src/grid/index.ts +16 -16
  84. package/src/grid/plugins/Bars.ts +69 -69
  85. package/src/grid/plugins/BarsPN.ts +66 -66
  86. package/src/grid/plugins/BarsTriangle.ts +73 -73
  87. package/src/grid/plugins/Dots.ts +68 -68
  88. package/src/grid/plugins/GridLegend.ts +107 -107
  89. package/src/grid/plugins/GridTooltip.ts +66 -66
  90. package/src/grid/plugins/GroupAux.ts +1120 -1098
  91. package/src/grid/plugins/GroupAxis.ts +73 -97
  92. package/src/grid/plugins/{GridZoom.ts → GroupZoom.ts} +218 -218
  93. package/src/grid/plugins/LineAreas.ts +65 -65
  94. package/src/grid/plugins/Lines.ts +59 -59
  95. package/src/grid/plugins/{BarStack.ts → StackedBars.ts} +64 -64
  96. package/src/grid/plugins/{ValueStackAxis.ts → StackedValueAxis.ts} +96 -95
  97. package/src/grid/plugins/ValueAxis.ts +94 -93
  98. package/src/index.ts +6 -9
  99. package/src/multiGrid/defaults.ts +244 -224
  100. package/src/multiGrid/index.ts +15 -15
  101. package/src/multiGrid/multiGridObservables.ts +50 -49
  102. package/src/multiGrid/plugins/MultiBars.ts +108 -108
  103. package/src/multiGrid/plugins/MultiBarsTriangle.ts +114 -114
  104. package/src/multiGrid/plugins/MultiDots.ts +102 -102
  105. package/src/multiGrid/plugins/MultiGridLegend.ts +169 -159
  106. package/src/multiGrid/plugins/MultiGridTooltip.ts +66 -66
  107. package/src/multiGrid/plugins/MultiGroupAxis.ts +137 -137
  108. package/src/multiGrid/plugins/MultiLineAreas.ts +107 -107
  109. package/src/multiGrid/plugins/MultiLines.ts +101 -101
  110. package/src/multiGrid/plugins/{MultiBarStack.ts → MultiStackedBars.ts} +106 -106
  111. package/src/multiGrid/plugins/{MultiValueStackAxis.ts → MultiStackedValueAxis.ts} +134 -133
  112. package/src/multiGrid/plugins/MultiValueAxis.ts +134 -133
  113. package/src/multiGrid/plugins/{OverlappingValueStackAxes.ts → OverlappingStackedValueAxes.ts} +300 -298
  114. package/src/multiGrid/plugins/OverlappingValueAxes.ts +300 -299
  115. package/src/multiValue/defaults.ts +432 -0
  116. package/src/multiValue/index.ts +13 -0
  117. package/src/multiValue/multiValueObservables.ts +667 -0
  118. package/src/multiValue/plugins/MultiValueLegend.ts +107 -0
  119. package/src/multiValue/plugins/MultiValueTooltip.ts +66 -0
  120. package/src/multiValue/plugins/RacingBars.ts +373 -0
  121. package/src/multiValue/plugins/RacingCounterTexts.ts +300 -0
  122. package/src/multiValue/plugins/RacingValueAxis.ts +115 -0
  123. package/src/multiValue/plugins/RankingAxis_legacy.ts +109 -0
  124. package/src/multiValue/plugins/Scatter.ts +426 -0
  125. package/src/multiValue/plugins/ScatterBubbles.ts +554 -0
  126. package/src/multiValue/plugins/XAxis.ts +108 -0
  127. package/src/multiValue/plugins/XYAux.ts +683 -0
  128. package/src/multiValue/plugins/XYAxes.ts +195 -0
  129. package/src/multiValue/plugins/XYAxes_legacy.ts +684 -0
  130. package/src/multiValue/plugins/XZoom.ts +300 -0
  131. package/src/noneData/defaults.ts +102 -102
  132. package/src/noneData/index.ts +3 -3
  133. package/src/noneData/plugins/Container.ts +28 -28
  134. package/src/noneData/plugins/Tooltip.ts +374 -374
  135. package/src/relationship/defaults.ts +222 -0
  136. package/src/relationship/index.ts +5 -0
  137. package/src/relationship/plugins/ForceDirected.ts +1174 -0
  138. package/src/relationship/plugins/ForceDirectedBubbles.ts +1412 -0
  139. package/src/relationship/plugins/RelationshipLegend.ts +100 -0
  140. package/src/relationship/plugins/RelationshipTooltip.ts +66 -0
  141. package/src/relationship/relationshipObservables.ts +50 -0
  142. package/src/series/defaults.ts +221 -206
  143. package/src/series/index.ts +9 -9
  144. package/src/series/plugins/Bubbles.ts +636 -603
  145. package/src/series/plugins/Pie.ts +623 -623
  146. package/src/series/plugins/PieEventTexts.ts +284 -283
  147. package/src/series/plugins/PieLabels.ts +640 -640
  148. package/src/series/plugins/Rose.ts +516 -516
  149. package/src/series/plugins/RoseLabels.ts +600 -600
  150. package/src/series/plugins/SeriesLegend.ts +107 -107
  151. package/src/series/plugins/SeriesTooltip.ts +66 -66
  152. package/src/series/seriesObservables.ts +145 -145
  153. package/src/series/seriesUtils.ts +51 -51
  154. package/src/tree/defaults.ts +102 -78
  155. package/src/tree/index.ts +4 -4
  156. package/src/tree/plugins/TreeLegend.ts +100 -107
  157. package/src/tree/plugins/TreeMap.ts +341 -333
  158. package/src/tree/plugins/TreeTooltip.ts +66 -66
  159. package/src/utils/commonUtils.ts +31 -22
  160. package/src/utils/d3Graphics.ts +176 -174
  161. package/src/utils/d3Utils.ts +92 -73
  162. package/src/utils/observables.ts +14 -14
  163. package/src/utils/orbchartsUtils.ts +130 -100
  164. package/tsconfig.base.json +13 -13
  165. package/tsconfig.json +2 -2
  166. package/vite.config.js +22 -22
  167. package/dist/src/grid/plugins/BarStack.d.ts +0 -1
  168. package/dist/src/grid/plugins/GridZoom.d.ts +0 -1
  169. package/dist/src/grid/plugins/ValueStackAxis.d.ts +0 -1
  170. package/dist/src/multiGrid/plugins/MultiBarStack.d.ts +0 -1
  171. package/dist/src/multiGrid/plugins/MultiValueStackAxis.d.ts +0 -1
  172. package/dist/src/multiGrid/plugins/OverlappingValueStackAxes.d.ts +0 -1
  173. package/src/grid/plugins/RankingAxis.ts +0 -0
  174. package/src/multiValue/plugins/ScatterAxes.ts +0 -0
  175. package/src/relationship/plugins/Relationship.ts +0 -0
  176. /package/dist/src/{base/BaseGroupArea.d.ts → multiValue/plugins/OrdinalBubbles.d.ts} +0 -0
  177. /package/dist/src/{grid/plugins/Ranking.d.ts → multiValue/plugins/OrdinalXAxis.d.ts} +0 -0
  178. /package/dist/src/{grid/plugins/RankingAxis.d.ts → multiValue/plugins/RacingCounterAxis.d.ts} +0 -0
  179. /package/dist/src/multiValue/plugins/{ScatterAxes.d.ts → RankingAxis_legacy.d.ts} +0 -0
  180. /package/{dist/src/relationship/plugins/Relationship.d.ts → src/multiValue/plugins/OrdinalBubbles.ts} +0 -0
  181. /package/src/{base/BaseGroupArea.ts → multiValue/plugins/OrdinalXAxis.ts} +0 -0
  182. /package/src/{grid/plugins/Ranking.ts → multiValue/plugins/RacingCounterAxis.ts} +0 -0
@@ -0,0 +1,222 @@
1
+ import type {
2
+ ForceDirectedParams,
3
+ ForceDirectedBubblesParams,
4
+ RelationshipLegendParams,
5
+ RelationshipTooltipParams
6
+ } from '../../lib/plugins-basic-types'
7
+
8
+
9
+ export const DEFAULT_FORCE_DIRECTED_PARAMS: ForceDirectedParams = {
10
+ // node: {
11
+ // dotRadius: 10,
12
+ // dotFillColorType: 'label',
13
+ // dotStrokeColorType: 'label',
14
+ // dotStrokeWidth: 1,
15
+ // dotStyleFn: (node) => '',
16
+ // labelColorType: 'primary',
17
+ // labelSizeFixed: false,
18
+ // labelStyleFn: (node) => 'text-shadow:0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff'
19
+ // },
20
+ // edge: {
21
+ // arrowColorType: 'primary',
22
+ // arrowStrokeWidth: 1.5,
23
+ // arrowWidth: 5,
24
+ // arrowHeight: 5,
25
+ // arrowStyleFn: (node) => '',
26
+ // labelColorType: 'secondary',
27
+ // labelSizeFixed: false,
28
+ // labelStyleFn: (node) => ''
29
+ // },
30
+ dot: {
31
+ radius: 10,
32
+ fillColorType: 'label',
33
+ strokeColorType: 'label',
34
+ strokeWidth: 1,
35
+ styleFn: (node) => '',
36
+ },
37
+ dotLabel: {
38
+ colorType: 'primary',
39
+ sizeFixed: false,
40
+ // styleFn: (node) => 'text-shadow:0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff'
41
+ styleFn: (node) => ''
42
+ },
43
+ arrow: {
44
+ colorType: 'primary',
45
+ strokeWidth: 1.5,
46
+ pointerWidth: 5,
47
+ pointerHeight: 5,
48
+ styleFn: (node) => '',
49
+ },
50
+ arrowLabel: {
51
+ colorType: 'primary',
52
+ sizeFixed: false,
53
+ styleFn: (node) => ''
54
+ },
55
+ force: {
56
+ nodeStrength: -500, // 泡泡引力
57
+ linkDistance: 100, // 連結長度
58
+ velocityDecay: 0.1, // 衰減數
59
+ alphaDecay: 0.05
60
+ // collisionSpacing: 2 // 泡泡間距
61
+ },
62
+ zoomable: true,
63
+ transform: {
64
+ x: 0,
65
+ y: 0,
66
+ k: 1
67
+ },
68
+ scaleExtent: {
69
+ min: 0,
70
+ max: Infinity
71
+ }
72
+ }
73
+ DEFAULT_FORCE_DIRECTED_PARAMS.dot.styleFn.toString = () => `(node) => ''`
74
+ DEFAULT_FORCE_DIRECTED_PARAMS.dotLabel.styleFn.toString = () => `(node) => ''`
75
+ DEFAULT_FORCE_DIRECTED_PARAMS.arrow.styleFn.toString = () => `(edge) => ''`
76
+ DEFAULT_FORCE_DIRECTED_PARAMS.arrowLabel.styleFn.toString = () => `(edge) => ''`
77
+
78
+ export const DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS: ForceDirectedBubblesParams = {
79
+ bubble: {
80
+ radiusMin: 15,
81
+ radiusMax: 45,
82
+ arcScaleType: 'area',
83
+ fillColorType: 'label',
84
+ strokeColorType: 'label',
85
+ strokeWidth: 1,
86
+ styleFn: (node) => '',
87
+ },
88
+ bubbleLabel: {
89
+ fillRate: 0.9,
90
+ lineHeight: 1,
91
+ maxLineLength: 6,
92
+ wordBreakAll: true,
93
+ colorType: 'labelContrast',
94
+ styleFn: (node) => ''
95
+ },
96
+ arrow: {
97
+ colorType: 'primary',
98
+ strokeWidthMin: 1.5,
99
+ strokeWidthMax: 4.5,
100
+ pointerWidth: 5,
101
+ pointerHeight: 5,
102
+ styleFn: (node) => '',
103
+ },
104
+ arrowLabel: {
105
+ colorType: 'primary',
106
+ sizeFixed: false,
107
+ styleFn: (node) => ''
108
+ },
109
+ force: {
110
+ nodeStrength: -500, // 泡泡引力
111
+ linkDistance: 130, // 連結長度
112
+ velocityDecay: 0.1, // 衰減數
113
+ alphaDecay: 0.05
114
+ // collisionSpacing: 2 // 泡泡間距
115
+ },
116
+ zoomable: true,
117
+ transform: {
118
+ x: 0,
119
+ y: 0,
120
+ k: 1
121
+ },
122
+ scaleExtent: {
123
+ min: 0,
124
+ max: Infinity
125
+ }
126
+ }
127
+ DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS.bubble.styleFn.toString = () => `(node) => ''`
128
+ DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS.bubbleLabel.styleFn.toString = () => `(node) => ''`
129
+ DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS.arrow.styleFn.toString = () => `(edge) => ''`
130
+ DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS.arrowLabel.styleFn.toString = () => `(edge) => ''`
131
+
132
+
133
+ export const DEFAULT_RELATIONSHIP_LEGEND_PARAMS: RelationshipLegendParams = {
134
+ placement: 'right-end',
135
+ padding: 28,
136
+ backgroundFill: 'none',
137
+ backgroundStroke: 'none',
138
+ gap: 10,
139
+ listRectWidth: 14,
140
+ listRectHeight: 14,
141
+ listRectRadius: 0,
142
+ textColorType: 'primary'
143
+ }
144
+
145
+ export const DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS: RelationshipTooltipParams = {
146
+ backgroundColorType: 'background',
147
+ strokeColorType: 'primary',
148
+ backgroundOpacity: 0.8,
149
+ textColorType: 'primary',
150
+ offset: [20, 5],
151
+ padding: 10,
152
+ renderFn: (eventData, { styles, utils }) => {
153
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
154
+ const hasDatumLabel = eventData.datum.label ? true : false
155
+ const valueText = utils.toCurrency(eventData.datum.value)
156
+ const bulletWidth = styles.textSizePx * 0.7
157
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
158
+ const categorySvg = hasCategoryLabel
159
+ ? `<rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${offset - 1}" rx="${bulletWidth / 2}" fill="${eventData.datum.color}"></rect>
160
+ <text x="${styles.textSizePx * 1.5}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
161
+ <tspan>${eventData.categoryLabel}</tspan>
162
+ </text>`
163
+ : ''
164
+ const datumLabelSvg = hasDatumLabel
165
+ ? `<tspan>${eventData.datum.label}</tspan> `
166
+ : ''
167
+ const categoryLabelTextWidth = hasCategoryLabel
168
+ ? utils.measureTextWidth(`${eventData.categoryLabel}${valueText}`, styles.textSizePx) + styles.textSizePx * 1.5
169
+ : 0
170
+ const datumLabelTextWidth = hasDatumLabel
171
+ ? utils.measureTextWidth(`${eventData.datum.label}${valueText}`, styles.textSizePx)
172
+ : 0
173
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
174
+ const lineEndX = hasDatumLabel
175
+ ? maxTextWidth + styles.textSizePx * 0.5
176
+ : 0
177
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
178
+ const datumSvg = `<text font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
179
+ ${datumLabelSvg}<tspan font-weight="bold" text-anchor="${valueTextAnchor}" x="${lineEndX}">${valueText}</tspan>
180
+ </text>`
181
+
182
+ return `${categorySvg}
183
+ <g ${hasCategoryLabel ? `transform="translate(0, ${styles.textSizePx * 2})"` : ''}>
184
+ ${datumSvg}
185
+ </g>`
186
+ },
187
+ }
188
+ DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styles, utils }) => {
189
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
190
+ const hasDatumLabel = eventData.datum.label ? true : false
191
+ const valueText = utils.toCurrency(eventData.datum.value)
192
+ const bulletWidth = styles.textSizePx * 0.7
193
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
194
+ const categorySvg = hasCategoryLabel
195
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
196
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
197
+ <tspan>\${eventData.categoryLabel}</tspan>
198
+ </text>\`
199
+ : ''
200
+ const datumLabelSvg = hasDatumLabel
201
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
202
+ : ''
203
+ const categoryLabelTextWidth = hasCategoryLabel
204
+ ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
205
+ : 0
206
+ const datumLabelTextWidth = hasDatumLabel
207
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
208
+ : 0
209
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
210
+ const lineEndX = hasDatumLabel
211
+ ? maxTextWidth + styles.textSizePx * 0.5
212
+ : 0
213
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
214
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
215
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
216
+ </text>\`
217
+
218
+ return \`\${categorySvg}
219
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
220
+ \${datumSvg}
221
+ </g>\`
222
+ }`
@@ -0,0 +1,5 @@
1
+ export * from './defaults'
2
+ export { ForceDirected } from './plugins/ForceDirected'
3
+ export { ForceDirectedBubbles } from './plugins/ForceDirectedBubbles'
4
+ export { RelationshipLegend } from './plugins/RelationshipLegend'
5
+ export { RelationshipTooltip } from './plugins/RelationshipTooltip'