@sproutsocial/seeds-react-data-viz 0.18.0 → 0.20.0

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 (54) hide show
  1. package/dist/bar/index.d.mts +20 -4
  2. package/dist/bar/index.d.ts +20 -4
  3. package/dist/bar/index.js +53 -85
  4. package/dist/bar/index.js.map +1 -1
  5. package/dist/bar.css +39 -0
  6. package/dist/chart-styles.css +295 -0
  7. package/dist/charts.css +583 -0
  8. package/dist/{chunk-XP7HNV23.js → chunk-27M4FDNK.js} +16 -17
  9. package/dist/chunk-27M4FDNK.js.map +1 -0
  10. package/dist/chunk-46L4YBLC.js +544 -0
  11. package/dist/chunk-46L4YBLC.js.map +1 -0
  12. package/dist/chunk-6EIJCJCN.js +22 -0
  13. package/dist/chunk-6EIJCJCN.js.map +1 -0
  14. package/dist/{chunk-GVAMWFB7.js → chunk-XYE6O77Z.js} +3 -3
  15. package/dist/{chunk-GVAMWFB7.js.map → chunk-XYE6O77Z.js.map} +1 -1
  16. package/dist/donut/index.d.mts +21 -4
  17. package/dist/donut/index.d.ts +21 -4
  18. package/dist/donut/index.js +39 -49
  19. package/dist/donut/index.js.map +1 -1
  20. package/dist/donut.css +45 -0
  21. package/dist/esm/bar/index.js +42 -74
  22. package/dist/esm/bar/index.js.map +1 -1
  23. package/dist/esm/{chunk-X2KAXY3P.js → chunk-KMFRRUTY.js} +2 -2
  24. package/dist/esm/chunk-P3MVYSHX.js +22 -0
  25. package/dist/esm/chunk-P3MVYSHX.js.map +1 -0
  26. package/dist/esm/{chunk-JLFXOEV2.js → chunk-QSSYSKRP.js} +3 -4
  27. package/dist/esm/chunk-QSSYSKRP.js.map +1 -0
  28. package/dist/esm/chunk-XEKQTAUH.js +544 -0
  29. package/dist/esm/chunk-XEKQTAUH.js.map +1 -0
  30. package/dist/esm/donut/index.js +38 -48
  31. package/dist/esm/donut/index.js.map +1 -1
  32. package/dist/esm/index.js +536 -134
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/line-area/index.js +30 -21
  35. package/dist/esm/line-area/index.js.map +1 -1
  36. package/dist/esm/sparkline/index.js +2 -2
  37. package/dist/index.js +497 -95
  38. package/dist/index.js.map +1 -1
  39. package/dist/interactions-DoWoL7bu.d.mts +29 -0
  40. package/dist/interactions-DoWoL7bu.d.ts +29 -0
  41. package/dist/line-area/index.d.mts +30 -4
  42. package/dist/line-area/index.d.ts +30 -4
  43. package/dist/line-area/index.js +35 -26
  44. package/dist/line-area/index.js.map +1 -1
  45. package/dist/line-area.css +112 -0
  46. package/dist/sparkline/index.js +4 -4
  47. package/package.json +16 -7
  48. package/dist/chunk-WEKDYQ4T.js +0 -968
  49. package/dist/chunk-WEKDYQ4T.js.map +0 -1
  50. package/dist/chunk-XP7HNV23.js.map +0 -1
  51. package/dist/esm/chunk-JLFXOEV2.js.map +0 -1
  52. package/dist/esm/chunk-Z4LOM4OZ.js +0 -968
  53. package/dist/esm/chunk-Z4LOM4OZ.js.map +0 -1
  54. /package/dist/esm/{chunk-X2KAXY3P.js.map → chunk-KMFRRUTY.js.map} +0 -0
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Seeds v2 chart styles — shared foundation.
3
+ *
4
+ * This is the genuinely-shared layer of the v2 chart styling migration: the
5
+ * .seeds-chart base rules, the per-series color fallback mechanism, the
6
+ * clickable-cursor rules, and the global (unscoped) tooltip overrides. It is a
7
+ * static port of the shared pieces of src/styles/chartStyles.ts
8
+ * (baseChartStyles + GlobalChartStyleOverrides), following the sparkline.css
9
+ * pattern. Consumers import this once:
10
+ *
11
+ * import "@sproutsocial/seeds-react-data-viz/chart-styles.css";
12
+ *
13
+ * Two kinds of layer live here. (1) The .seeds-chart base above. (2) The shared
14
+ * cross-family .seeds-chart-time-series layer below — used by every v2
15
+ * time-series family (bar, line-area), so it lives here once rather than being
16
+ * duplicated in each family .css. Truly per-family classes do NOT live here:
17
+ * each chart family (CE-170 bar, CE-165 line-area, CE-166 donut) owns and ships
18
+ * its own .css file with its .seeds-chart-<family> rules (e.g. .seeds-chart-bar
19
+ * hover-dimming) and passes its own class chain into getChartContainerProps — so
20
+ * those PRs never collide on this file.
21
+ *
22
+ * Theme values reference the DS's already-emitted global CSS variables directly
23
+ * (var(--color-*) / var(--font-*)) — the same surface other Seeds component CSS
24
+ * uses — so light/dark follows the theme stylesheet with zero inline JS. The
25
+ * dynamic per-chart pieces set inline by getChartContainerProps
26
+ * (src/charts/shared/chartContainer.ts) are the shared container mechanism the
27
+ * family files build on:
28
+ *
29
+ * Explicit per-series color override -> var(--highcharts-color-N) (set inline)
30
+ * $hasOnClick -> [data-has-on-click] attribute
31
+ * $patterns -> [data-dashed-series~="N"] attribute
32
+ *
33
+ * .seeds-chart sets --highcharts-color-N to the DS data-viz palette variable
34
+ * (var(--color-dataviz-list-N), emitted by @sproutsocial/seeds-react-theme's
35
+ * theme.css/theme-all.css — light/dark scoped, since the two modes pick
36
+ * different underlying swatches per index) as its default. An explicit
37
+ * per-series override is inlined by getChartContainerProps directly on the
38
+ * same element, which — same property, same element — wins over this class
39
+ * rule regardless of specificity, so the override still takes precedence.
40
+ * Defining the custom property itself (rather than only referencing the DS
41
+ * variable inside a var() fallback on fill/stroke) matters here: Highcharts
42
+ * ships its own default .highcharts-color-N colors (imported via
43
+ * highcharts/css/highcharts.css), and when var(--highcharts-color-N, ...)
44
+ * fails to resolve at all, the declaration is invalid at computed-value time
45
+ * and the cascade falls through to Highcharts' own default — silently
46
+ * dropping to Highcharts' palette instead of the DS one. The enumeration runs
47
+ * 0..19, matching the 20-entry DATAVIZ_COLORS_LIST / --color-dataviz-list-0..19.
48
+ * Series beyond 20 with an explicit color get no static selector — the same
49
+ * behaviour as the old JS fallback returning undefined.
50
+ *
51
+ * This file is additive: chartStyles.ts still serves v1 (and the not-yet-
52
+ * migrated v2 wrappers). The duplication is deliberate and temporary.
53
+ */
54
+
55
+ /* =========================================================================
56
+ * baseChartStyles -> .seeds-chart
57
+ * ========================================================================= */
58
+
59
+ .seeds-chart {
60
+ --highcharts-background-color: var(--color-container-bg-base);
61
+
62
+ --highcharts-color-0: var(--color-dataviz-list-0);
63
+ --highcharts-color-1: var(--color-dataviz-list-1);
64
+ --highcharts-color-2: var(--color-dataviz-list-2);
65
+ --highcharts-color-3: var(--color-dataviz-list-3);
66
+ --highcharts-color-4: var(--color-dataviz-list-4);
67
+ --highcharts-color-5: var(--color-dataviz-list-5);
68
+ --highcharts-color-6: var(--color-dataviz-list-6);
69
+ --highcharts-color-7: var(--color-dataviz-list-7);
70
+ --highcharts-color-8: var(--color-dataviz-list-8);
71
+ --highcharts-color-9: var(--color-dataviz-list-9);
72
+ --highcharts-color-10: var(--color-dataviz-list-10);
73
+ --highcharts-color-11: var(--color-dataviz-list-11);
74
+ --highcharts-color-12: var(--color-dataviz-list-12);
75
+ --highcharts-color-13: var(--color-dataviz-list-13);
76
+ --highcharts-color-14: var(--color-dataviz-list-14);
77
+ --highcharts-color-15: var(--color-dataviz-list-15);
78
+ --highcharts-color-16: var(--color-dataviz-list-16);
79
+ --highcharts-color-17: var(--color-dataviz-list-17);
80
+ --highcharts-color-18: var(--color-dataviz-list-18);
81
+ --highcharts-color-19: var(--color-dataviz-list-19);
82
+ }
83
+
84
+ /* set overall chart background color */
85
+ .seeds-chart .highcharts-background {
86
+ fill: var(--color-container-bg-base);
87
+ }
88
+
89
+ .seeds-chart g.highcharts-annotation-label {
90
+ display: none;
91
+ }
92
+
93
+ .seeds-chart div.highcharts-annotation-label {
94
+ top: 0 !important;
95
+ transform: translateX(-50%); /* centers the label on the targeted axis point */
96
+ pointer-events: none; /* prevents tooltip hover from being interrupted by this element since it renders after on the dom */
97
+ }
98
+
99
+ /* map colors to custom assigned colors or fall back to the default data viz
100
+ rotation set on .seeds-chart above. Highcharts already accounts for 10
101
+ series; enumerate through 19 (DATAVIZ_COLORS_LIST / --color-dataviz-list-*
102
+ length). */
103
+ .seeds-chart .highcharts-color-0 {
104
+ color: var(--highcharts-color-0);
105
+ stroke: var(--highcharts-color-0);
106
+ fill: var(--highcharts-color-0);
107
+ }
108
+ .seeds-chart .highcharts-color-1 {
109
+ color: var(--highcharts-color-1);
110
+ stroke: var(--highcharts-color-1);
111
+ fill: var(--highcharts-color-1);
112
+ }
113
+ .seeds-chart .highcharts-color-2 {
114
+ color: var(--highcharts-color-2);
115
+ stroke: var(--highcharts-color-2);
116
+ fill: var(--highcharts-color-2);
117
+ }
118
+ .seeds-chart .highcharts-color-3 {
119
+ color: var(--highcharts-color-3);
120
+ stroke: var(--highcharts-color-3);
121
+ fill: var(--highcharts-color-3);
122
+ }
123
+ .seeds-chart .highcharts-color-4 {
124
+ color: var(--highcharts-color-4);
125
+ stroke: var(--highcharts-color-4);
126
+ fill: var(--highcharts-color-4);
127
+ }
128
+ .seeds-chart .highcharts-color-5 {
129
+ color: var(--highcharts-color-5);
130
+ stroke: var(--highcharts-color-5);
131
+ fill: var(--highcharts-color-5);
132
+ }
133
+ .seeds-chart .highcharts-color-6 {
134
+ color: var(--highcharts-color-6);
135
+ stroke: var(--highcharts-color-6);
136
+ fill: var(--highcharts-color-6);
137
+ }
138
+ .seeds-chart .highcharts-color-7 {
139
+ color: var(--highcharts-color-7);
140
+ stroke: var(--highcharts-color-7);
141
+ fill: var(--highcharts-color-7);
142
+ }
143
+ .seeds-chart .highcharts-color-8 {
144
+ color: var(--highcharts-color-8);
145
+ stroke: var(--highcharts-color-8);
146
+ fill: var(--highcharts-color-8);
147
+ }
148
+ .seeds-chart .highcharts-color-9 {
149
+ color: var(--highcharts-color-9);
150
+ stroke: var(--highcharts-color-9);
151
+ fill: var(--highcharts-color-9);
152
+ }
153
+ .seeds-chart .highcharts-color-10 {
154
+ color: var(--highcharts-color-10);
155
+ stroke: var(--highcharts-color-10);
156
+ fill: var(--highcharts-color-10);
157
+ }
158
+ .seeds-chart .highcharts-color-11 {
159
+ color: var(--highcharts-color-11);
160
+ stroke: var(--highcharts-color-11);
161
+ fill: var(--highcharts-color-11);
162
+ }
163
+ .seeds-chart .highcharts-color-12 {
164
+ color: var(--highcharts-color-12);
165
+ stroke: var(--highcharts-color-12);
166
+ fill: var(--highcharts-color-12);
167
+ }
168
+ .seeds-chart .highcharts-color-13 {
169
+ color: var(--highcharts-color-13);
170
+ stroke: var(--highcharts-color-13);
171
+ fill: var(--highcharts-color-13);
172
+ }
173
+ .seeds-chart .highcharts-color-14 {
174
+ color: var(--highcharts-color-14);
175
+ stroke: var(--highcharts-color-14);
176
+ fill: var(--highcharts-color-14);
177
+ }
178
+ .seeds-chart .highcharts-color-15 {
179
+ color: var(--highcharts-color-15);
180
+ stroke: var(--highcharts-color-15);
181
+ fill: var(--highcharts-color-15);
182
+ }
183
+ .seeds-chart .highcharts-color-16 {
184
+ color: var(--highcharts-color-16);
185
+ stroke: var(--highcharts-color-16);
186
+ fill: var(--highcharts-color-16);
187
+ }
188
+ .seeds-chart .highcharts-color-17 {
189
+ color: var(--highcharts-color-17);
190
+ stroke: var(--highcharts-color-17);
191
+ fill: var(--highcharts-color-17);
192
+ }
193
+ .seeds-chart .highcharts-color-18 {
194
+ color: var(--highcharts-color-18);
195
+ stroke: var(--highcharts-color-18);
196
+ fill: var(--highcharts-color-18);
197
+ }
198
+ .seeds-chart .highcharts-color-19 {
199
+ color: var(--highcharts-color-19);
200
+ stroke: var(--highcharts-color-19);
201
+ fill: var(--highcharts-color-19);
202
+ }
203
+
204
+ /* =========================================================================
205
+ * $hasOnClick -> [data-has-on-click]
206
+ * ========================================================================= */
207
+
208
+ /* apply cursor pointer when click functionality is turned on */
209
+ .seeds-chart[data-has-on-click] .highcharts-series,
210
+ .seeds-chart[data-has-on-click] .highcharts-point {
211
+ cursor: pointer;
212
+ }
213
+ .seeds-chart[data-has-on-click] .highcharts-plot-background,
214
+ .seeds-chart[data-has-on-click] .highcharts-crosshair,
215
+ .seeds-chart[data-has-on-click] .highcharts-grid-line {
216
+ fill: transparent;
217
+ cursor: pointer;
218
+ }
219
+
220
+ /* =========================================================================
221
+ * GlobalChartStyleOverrides -> global (unscoped) rules
222
+ *
223
+ * These can't override Highcharts defaults when scoped, so they stay global.
224
+ * ========================================================================= */
225
+
226
+ .highcharts-tooltip-container {
227
+ z-index: 7 !important;
228
+ }
229
+ .highcharts-tooltip-box {
230
+ fill: transparent !important;
231
+ }
232
+
233
+ /* =========================================================================
234
+ * ChartRenderer legend wrapper spacing (shared across all v2 families)
235
+ * ========================================================================= */
236
+
237
+ /* legend wrapper top margin — replaces the former Box mt={350} / mt-350 utility */
238
+ .seeds-chart-legend {
239
+ margin-top: var(--space-350);
240
+ }
241
+
242
+ /* =========================================================================
243
+ * shared cross-family time-series layer -> .seeds-chart-time-series
244
+ *
245
+ * Used by every v2 time-series family (bar, line-area); lives here rather than
246
+ * in a family .css so families reuse rather than duplicate it. crosshair,
247
+ * grid/axis lines, ticks, the zero line, the hover opacity guard, and the v2
248
+ * SVG axis-label typography (v2 renders styledMode SVG text/tspan, not v1 HTML
249
+ * spans — so these are the axisLabelV2Styles rules, not v1's).
250
+ * ========================================================================= */
251
+
252
+ /* vertical crosshair */
253
+ .seeds-chart-time-series .highcharts-crosshair {
254
+ stroke: var(--color-container-border-decorative-neutral);
255
+ stroke-width: 1;
256
+ }
257
+
258
+ /* axis and gridlines */
259
+ .seeds-chart-time-series .highcharts-grid-line,
260
+ .seeds-chart-time-series .highcharts-axis-line {
261
+ stroke: var(--color-container-border-base);
262
+ }
263
+
264
+ .seeds-chart-time-series .highcharts-tick {
265
+ stroke: none;
266
+ }
267
+
268
+ /* don't drop opacity when another series is hovered */
269
+ .seeds-chart-time-series .highcharts-series-inactive {
270
+ opacity: 1;
271
+ }
272
+
273
+ .seeds-chart-time-series path.highcharts-plot-line.y-axis-zero-line {
274
+ stroke: var(--color-container-border-decorative-neutral);
275
+ }
276
+
277
+ /* v2 SVG axis labels (styledMode, useHTML: false). fill is the SVG text color;
278
+ color has no effect. */
279
+ .seeds-chart-time-series .highcharts-xaxis-labels text,
280
+ .seeds-chart-time-series .highcharts-yaxis-labels text {
281
+ font-family: var(--font-family);
282
+ font-size: var(--font-size-100);
283
+ line-height: var(--line-height-100);
284
+ font-weight: var(--font-weight-normal);
285
+ fill: var(--color-text-subtext);
286
+ }
287
+
288
+ /* two-line stacked datetime label: the boundary token is an
289
+ hc-axis-label-secondary tspan on a second line, rendered semibold */
290
+ .seeds-chart-time-series
291
+ .highcharts-xaxis-labels
292
+ text
293
+ tspan.hc-axis-label-secondary {
294
+ font-weight: var(--font-weight-semibold);
295
+ }