@chartbuddy.io/embed 1.7.52

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.
@@ -0,0 +1,1144 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://chartbuddy.io/schema/chart-data.json",
4
+ "title": "ChartBuddy chart data",
5
+ "description": "Config object accepted by @chartbuddy.io/embed. GENERATED from the chart schema registry — do not edit by hand.",
6
+ "type": "object",
7
+ "required": [
8
+ "chartType",
9
+ "seriesData"
10
+ ],
11
+ "properties": {
12
+ "chartType": {
13
+ "description": "Chart type. Aliases are normalized to canonical types. Deprecated aliases are still accepted at runtime but omitted here so generated configs use current names.",
14
+ "type": "string",
15
+ "enum": [
16
+ "area",
17
+ "area100",
18
+ "barMekko",
19
+ "bubble",
20
+ "clusteredBar",
21
+ "combo",
22
+ "donut",
23
+ "line",
24
+ "mekko",
25
+ "pie",
26
+ "scatter",
27
+ "stackedBar",
28
+ "stackedBar100",
29
+ "waterfall"
30
+ ]
31
+ },
32
+ "seriesData": {
33
+ "description": "2D data grid. Required layout depends on chartType — see chartTypes metadata.",
34
+ "type": "array",
35
+ "minItems": 2,
36
+ "items": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": [
40
+ "string",
41
+ "number",
42
+ "boolean",
43
+ "null"
44
+ ]
45
+ }
46
+ }
47
+ },
48
+ "id": {
49
+ "type": "string"
50
+ },
51
+ "version": {
52
+ "description": "App version the config was last migrated to. Drives the migrators.",
53
+ "type": "string"
54
+ },
55
+ "title": {
56
+ "type": "object",
57
+ "properties": {
58
+ "id": {
59
+ "type": "string"
60
+ },
61
+ "visible": {
62
+ "type": "boolean"
63
+ },
64
+ "text": {
65
+ "type": "string"
66
+ },
67
+ "fontFamily": {
68
+ "type": "string"
69
+ },
70
+ "fontSize": {
71
+ "type": "number",
72
+ "minimum": 0
73
+ },
74
+ "fontColor": {
75
+ "type": "string"
76
+ },
77
+ "backgroundColor": {
78
+ "type": "string"
79
+ },
80
+ "textAlign": {
81
+ "type": "string"
82
+ },
83
+ "width": {
84
+ "type": "number",
85
+ "minimum": 0
86
+ },
87
+ "height": {
88
+ "type": "number",
89
+ "minimum": 0
90
+ },
91
+ "x": {
92
+ "type": "number"
93
+ },
94
+ "y": {
95
+ "type": "number"
96
+ },
97
+ "movable": {
98
+ "type": "boolean"
99
+ },
100
+ "deletable": {
101
+ "type": "boolean"
102
+ }
103
+ },
104
+ "additionalProperties": true
105
+ },
106
+ "subtitle": {
107
+ "type": "object",
108
+ "properties": {
109
+ "id": {
110
+ "type": "string"
111
+ },
112
+ "visible": {
113
+ "type": "boolean"
114
+ },
115
+ "text": {
116
+ "type": "string"
117
+ },
118
+ "fontFamily": {
119
+ "type": "string"
120
+ },
121
+ "fontSize": {
122
+ "type": "number",
123
+ "minimum": 0
124
+ },
125
+ "fontColor": {
126
+ "type": "string"
127
+ },
128
+ "backgroundColor": {
129
+ "type": "string"
130
+ },
131
+ "textAlign": {
132
+ "type": "string"
133
+ },
134
+ "width": {
135
+ "type": "number",
136
+ "minimum": 0
137
+ },
138
+ "height": {
139
+ "type": "number",
140
+ "minimum": 0
141
+ },
142
+ "x": {
143
+ "type": "number"
144
+ },
145
+ "y": {
146
+ "type": "number"
147
+ },
148
+ "movable": {
149
+ "type": "boolean"
150
+ },
151
+ "deletable": {
152
+ "type": "boolean"
153
+ }
154
+ },
155
+ "additionalProperties": true
156
+ },
157
+ "footnote": {
158
+ "type": "object",
159
+ "properties": {
160
+ "id": {
161
+ "type": "string"
162
+ },
163
+ "visible": {
164
+ "type": "boolean"
165
+ },
166
+ "text": {
167
+ "type": "string"
168
+ },
169
+ "fontFamily": {
170
+ "type": "string"
171
+ },
172
+ "fontSize": {
173
+ "type": "number",
174
+ "minimum": 0
175
+ },
176
+ "fontColor": {
177
+ "type": "string"
178
+ },
179
+ "backgroundColor": {
180
+ "type": "string"
181
+ },
182
+ "textAlign": {
183
+ "type": "string"
184
+ },
185
+ "width": {
186
+ "type": "number",
187
+ "minimum": 0
188
+ },
189
+ "height": {
190
+ "type": "number",
191
+ "minimum": 0
192
+ },
193
+ "x": {
194
+ "type": "number"
195
+ },
196
+ "y": {
197
+ "type": "number"
198
+ },
199
+ "movable": {
200
+ "type": "boolean"
201
+ },
202
+ "deletable": {
203
+ "type": "boolean"
204
+ }
205
+ },
206
+ "additionalProperties": true
207
+ },
208
+ "isDataTransposed": {
209
+ "description": "When true (default), seriesData rows are series.",
210
+ "type": "boolean"
211
+ },
212
+ "seriesDataSource": {},
213
+ "orientation": {
214
+ "type": "string",
215
+ "enum": [
216
+ "vertical",
217
+ "horizontal"
218
+ ]
219
+ },
220
+ "backgroundColor": {
221
+ "description": "CSS color.",
222
+ "type": "string"
223
+ },
224
+ "canvas": {
225
+ "type": "object",
226
+ "properties": {
227
+ "width": {
228
+ "type": "number",
229
+ "minimum": 0
230
+ },
231
+ "height": {
232
+ "type": "number",
233
+ "minimum": 0
234
+ }
235
+ },
236
+ "additionalProperties": true
237
+ },
238
+ "chartPositionPercentages": {
239
+ "type": "object",
240
+ "properties": {
241
+ "left": {
242
+ "type": "number"
243
+ },
244
+ "right": {
245
+ "type": "number"
246
+ },
247
+ "top": {
248
+ "type": "number"
249
+ },
250
+ "bottom": {
251
+ "type": "number"
252
+ }
253
+ },
254
+ "additionalProperties": true
255
+ },
256
+ "legend": {
257
+ "type": "object",
258
+ "properties": {
259
+ "visible": {
260
+ "type": "boolean"
261
+ },
262
+ "colors": {
263
+ "type": "array",
264
+ "items": {
265
+ "description": "CSS color.",
266
+ "type": "string"
267
+ }
268
+ },
269
+ "position": {
270
+ "type": "string"
271
+ }
272
+ },
273
+ "additionalProperties": true
274
+ },
275
+ "axes": {
276
+ "description": "Axes keyed by physical side (left/right/top/bottom).",
277
+ "type": "object",
278
+ "additionalProperties": {
279
+ "type": "object",
280
+ "properties": {
281
+ "id": {
282
+ "type": "string"
283
+ },
284
+ "axisTitle": {
285
+ "type": "object",
286
+ "properties": {
287
+ "id": {
288
+ "type": "string"
289
+ },
290
+ "visible": {
291
+ "type": "boolean"
292
+ },
293
+ "text": {
294
+ "type": "string"
295
+ },
296
+ "fontFamily": {
297
+ "type": "string"
298
+ },
299
+ "fontSize": {
300
+ "type": "number",
301
+ "minimum": 0
302
+ },
303
+ "fontColor": {
304
+ "type": "string"
305
+ },
306
+ "backgroundColor": {
307
+ "type": "string"
308
+ },
309
+ "textAlign": {
310
+ "type": "string"
311
+ },
312
+ "width": {
313
+ "type": "number",
314
+ "minimum": 0
315
+ },
316
+ "height": {
317
+ "type": "number",
318
+ "minimum": 0
319
+ },
320
+ "x": {
321
+ "type": "number"
322
+ },
323
+ "y": {
324
+ "type": "number"
325
+ },
326
+ "movable": {
327
+ "type": "boolean"
328
+ },
329
+ "deletable": {
330
+ "type": "boolean"
331
+ }
332
+ },
333
+ "additionalProperties": true
334
+ },
335
+ "gridlines": {
336
+ "type": "object",
337
+ "properties": {
338
+ "visible": {
339
+ "type": "boolean"
340
+ },
341
+ "color": {
342
+ "description": "CSS color.",
343
+ "type": "string"
344
+ },
345
+ "width": {
346
+ "type": "number",
347
+ "minimum": 0
348
+ },
349
+ "dashArray": {
350
+ "type": "string"
351
+ },
352
+ "opacity": {
353
+ "type": "number",
354
+ "minimum": 0,
355
+ "maximum": 1
356
+ },
357
+ "overrides": {
358
+ "description": "Per-index overrides; keys are indices, values are style patches.",
359
+ "type": "object",
360
+ "additionalProperties": {}
361
+ }
362
+ },
363
+ "additionalProperties": true
364
+ }
365
+ },
366
+ "additionalProperties": true
367
+ }
368
+ },
369
+ "annotations": {
370
+ "type": "object",
371
+ "properties": {
372
+ "cagrs": {
373
+ "description": "Per-index overrides; keys are indices, values are style patches.",
374
+ "type": "object",
375
+ "additionalProperties": {}
376
+ },
377
+ "differenceArrows": {
378
+ "description": "Per-index overrides; keys are indices, values are style patches.",
379
+ "type": "object",
380
+ "additionalProperties": {}
381
+ },
382
+ "levelArrows": {
383
+ "description": "Per-index overrides; keys are indices, values are style patches.",
384
+ "type": "object",
385
+ "additionalProperties": {}
386
+ },
387
+ "levelLines": {
388
+ "description": "Per-index overrides; keys are indices, values are style patches.",
389
+ "type": "object",
390
+ "additionalProperties": {}
391
+ }
392
+ },
393
+ "additionalProperties": true
394
+ },
395
+ "seriesLabels": {
396
+ "type": "object",
397
+ "properties": {
398
+ "visible": {
399
+ "type": "boolean"
400
+ },
401
+ "fontSize": {
402
+ "type": "number",
403
+ "minimum": 0
404
+ },
405
+ "fontColor": {
406
+ "description": "CSS color.",
407
+ "type": "string"
408
+ },
409
+ "fontFamily": {
410
+ "type": "string"
411
+ },
412
+ "overrides": {
413
+ "description": "Per-index overrides; keys are indices, values are style patches.",
414
+ "type": "object",
415
+ "additionalProperties": {}
416
+ }
417
+ },
418
+ "additionalProperties": true
419
+ },
420
+ "multilines": {
421
+ "type": "array",
422
+ "items": {
423
+ "type": "object",
424
+ "properties": {
425
+ "id": {
426
+ "type": "string"
427
+ },
428
+ "deletable": {
429
+ "type": "boolean"
430
+ },
431
+ "type": {
432
+ "type": "string"
433
+ },
434
+ "text": {
435
+ "type": "string"
436
+ },
437
+ "x": {
438
+ "type": "number"
439
+ },
440
+ "y": {
441
+ "type": "number"
442
+ }
443
+ },
444
+ "additionalProperties": true
445
+ }
446
+ },
447
+ "origin": {
448
+ "type": "object",
449
+ "additionalProperties": true
450
+ },
451
+ "area": {
452
+ "description": "Options for chart types whose optionBag is \"area\" — see x-chartbuddy.chartTypes.",
453
+ "type": "object",
454
+ "properties": {
455
+ "width": {
456
+ "type": "number",
457
+ "minimum": 0
458
+ },
459
+ "strokeDashArray": {
460
+ "type": "string"
461
+ },
462
+ "drawPoints": {
463
+ "type": "boolean"
464
+ },
465
+ "curveType": {
466
+ "type": "string",
467
+ "enum": [
468
+ "linear",
469
+ "cardinal",
470
+ "step",
471
+ "basis",
472
+ "monotone"
473
+ ]
474
+ },
475
+ "curveParameter": {
476
+ "type": "number"
477
+ },
478
+ "shadowIntensity": {
479
+ "type": "number",
480
+ "minimum": 0
481
+ },
482
+ "fillOpacity": {
483
+ "type": "number",
484
+ "minimum": 0,
485
+ "maximum": 1
486
+ },
487
+ "fillType": {
488
+ "type": "string",
489
+ "enum": [
490
+ "solid",
491
+ "gradient"
492
+ ]
493
+ },
494
+ "fillOpacityTop": {
495
+ "type": "number",
496
+ "minimum": 0,
497
+ "maximum": 1
498
+ },
499
+ "fillOpacityBottom": {
500
+ "type": "number",
501
+ "minimum": 0,
502
+ "maximum": 1
503
+ },
504
+ "gradientTarget": {
505
+ "type": "string"
506
+ },
507
+ "strokeOpacity": {
508
+ "type": "number",
509
+ "minimum": 0,
510
+ "maximum": 1
511
+ },
512
+ "pointMarker": {
513
+ "type": "object",
514
+ "properties": {
515
+ "shape": {
516
+ "type": "string",
517
+ "enum": [
518
+ "circle",
519
+ "square",
520
+ "diamond",
521
+ "triangle"
522
+ ]
523
+ },
524
+ "radius": {
525
+ "description": "Radius in px.",
526
+ "type": "number",
527
+ "minimum": 0
528
+ },
529
+ "fill": {
530
+ "description": "CSS color; null derives it from the series color.",
531
+ "type": [
532
+ "string",
533
+ "null"
534
+ ]
535
+ },
536
+ "stroke": {
537
+ "description": "CSS color.",
538
+ "type": "string"
539
+ },
540
+ "strokeWidth": {
541
+ "type": "number",
542
+ "minimum": 0
543
+ },
544
+ "strokeDashArray": {
545
+ "type": "string"
546
+ },
547
+ "series": {
548
+ "description": "Per-index overrides; keys are indices, values are style patches.",
549
+ "type": "object",
550
+ "additionalProperties": {}
551
+ },
552
+ "overrides": {
553
+ "description": "Per-index overrides; keys are indices, values are style patches.",
554
+ "type": "object",
555
+ "additionalProperties": {}
556
+ }
557
+ },
558
+ "additionalProperties": true
559
+ },
560
+ "dataLabels": {
561
+ "type": "object",
562
+ "properties": {
563
+ "overrides": {
564
+ "description": "Per-index overrides; keys are indices, values are style patches.",
565
+ "type": "object",
566
+ "additionalProperties": {}
567
+ }
568
+ },
569
+ "additionalProperties": true
570
+ },
571
+ "overrides": {
572
+ "description": "Per-index overrides; keys are indices, values are style patches.",
573
+ "type": "object",
574
+ "additionalProperties": {}
575
+ }
576
+ },
577
+ "additionalProperties": true
578
+ },
579
+ "bar": {
580
+ "description": "Options for chart types whose optionBag is \"bar\" — see x-chartbuddy.chartTypes.",
581
+ "type": "object",
582
+ "properties": {
583
+ "padding": {
584
+ "description": "Gap between bars, 0–1.",
585
+ "type": "number",
586
+ "minimum": 0,
587
+ "maximum": 1
588
+ },
589
+ "cornerRadius": {
590
+ "type": "number",
591
+ "minimum": 0
592
+ },
593
+ "reverseStackOrder": {
594
+ "type": "boolean"
595
+ },
596
+ "seriesStrokes": {
597
+ "type": "array",
598
+ "items": {
599
+ "description": "CSS color; null derives it from the series color.",
600
+ "type": [
601
+ "string",
602
+ "null"
603
+ ]
604
+ }
605
+ },
606
+ "seriesStrokeWidths": {
607
+ "type": "array",
608
+ "items": {
609
+ "type": [
610
+ "number",
611
+ "null"
612
+ ],
613
+ "minimum": 0
614
+ }
615
+ },
616
+ "seriesStrokeDashArrays": {
617
+ "type": "array",
618
+ "items": {
619
+ "type": [
620
+ "string",
621
+ "null"
622
+ ]
623
+ }
624
+ },
625
+ "series": {
626
+ "type": "array",
627
+ "items": {
628
+ "type": "object",
629
+ "additionalProperties": true
630
+ }
631
+ },
632
+ "overrides": {
633
+ "description": "Per-index overrides; keys are indices, values are style patches.",
634
+ "type": "object",
635
+ "additionalProperties": {}
636
+ }
637
+ },
638
+ "additionalProperties": true
639
+ },
640
+ "barMekko": {
641
+ "description": "Options for chart types whose optionBag is \"barMekko\" — see x-chartbuddy.chartTypes.",
642
+ "type": "object",
643
+ "properties": {
644
+ "sort": {
645
+ "description": "Column order along the width axis.",
646
+ "type": "string",
647
+ "enum": [
648
+ "heightDesc",
649
+ "heightAsc",
650
+ "widthDesc",
651
+ "widthAsc",
652
+ "dataOrder",
653
+ "desc",
654
+ "asc"
655
+ ]
656
+ },
657
+ "overrides": {
658
+ "description": "Per-index overrides; keys are indices, values are style patches.",
659
+ "type": "object",
660
+ "additionalProperties": {}
661
+ }
662
+ },
663
+ "additionalProperties": true
664
+ },
665
+ "combo": {
666
+ "description": "Options for chart types whose optionBag is \"combo\" — see x-chartbuddy.chartTypes.",
667
+ "type": "object",
668
+ "properties": {
669
+ "seriesTypes": {
670
+ "description": "Per-series render type, keyed by series index.",
671
+ "type": "object",
672
+ "additionalProperties": {
673
+ "type": "string",
674
+ "enum": [
675
+ "bar",
676
+ "line",
677
+ "area"
678
+ ]
679
+ }
680
+ },
681
+ "baseChartType": {
682
+ "type": [
683
+ "string",
684
+ "null"
685
+ ],
686
+ "enum": [
687
+ "clusteredBar",
688
+ "stackedBar",
689
+ null
690
+ ]
691
+ }
692
+ },
693
+ "additionalProperties": true
694
+ },
695
+ "line": {
696
+ "description": "Options for chart types whose optionBag is \"line\" — see x-chartbuddy.chartTypes.",
697
+ "type": "object",
698
+ "properties": {
699
+ "width": {
700
+ "description": "Stroke width in px.",
701
+ "type": "number",
702
+ "minimum": 0
703
+ },
704
+ "strokeDashArray": {
705
+ "type": "string"
706
+ },
707
+ "drawPoints": {
708
+ "type": "boolean"
709
+ },
710
+ "curveType": {
711
+ "type": "string",
712
+ "enum": [
713
+ "linear",
714
+ "cardinal",
715
+ "step",
716
+ "basis",
717
+ "monotone"
718
+ ]
719
+ },
720
+ "curveParameter": {
721
+ "type": "number"
722
+ },
723
+ "shadowIntensity": {
724
+ "type": "number",
725
+ "minimum": 0
726
+ },
727
+ "padding": {
728
+ "type": "number",
729
+ "minimum": 0,
730
+ "maximum": 1
731
+ },
732
+ "pointMarker": {
733
+ "type": "object",
734
+ "properties": {
735
+ "shape": {
736
+ "type": "string",
737
+ "enum": [
738
+ "circle",
739
+ "square",
740
+ "diamond",
741
+ "triangle"
742
+ ]
743
+ },
744
+ "radius": {
745
+ "description": "Radius in px.",
746
+ "type": "number",
747
+ "minimum": 0
748
+ },
749
+ "fill": {
750
+ "description": "CSS color; null derives it from the series color.",
751
+ "type": [
752
+ "string",
753
+ "null"
754
+ ]
755
+ },
756
+ "stroke": {
757
+ "description": "CSS color.",
758
+ "type": "string"
759
+ },
760
+ "strokeWidth": {
761
+ "type": "number",
762
+ "minimum": 0
763
+ },
764
+ "strokeDashArray": {
765
+ "type": "string"
766
+ },
767
+ "series": {
768
+ "description": "Per-index overrides; keys are indices, values are style patches.",
769
+ "type": "object",
770
+ "additionalProperties": {}
771
+ },
772
+ "overrides": {
773
+ "description": "Per-index overrides; keys are indices, values are style patches.",
774
+ "type": "object",
775
+ "additionalProperties": {}
776
+ }
777
+ },
778
+ "additionalProperties": true
779
+ },
780
+ "overrides": {
781
+ "description": "Per-index overrides; keys are indices, values are style patches.",
782
+ "type": "object",
783
+ "additionalProperties": {}
784
+ }
785
+ },
786
+ "additionalProperties": true
787
+ },
788
+ "mekko": {
789
+ "description": "Options for chart types whose optionBag is \"mekko\" — see x-chartbuddy.chartTypes.",
790
+ "type": "object",
791
+ "properties": {
792
+ "showTotals": {
793
+ "description": "Legacy fallback for charts predating annotations.totals.visible.",
794
+ "type": "boolean"
795
+ },
796
+ "overrides": {
797
+ "description": "Per-index overrides; keys are indices, values are style patches.",
798
+ "type": "object",
799
+ "additionalProperties": {}
800
+ }
801
+ },
802
+ "additionalProperties": true
803
+ },
804
+ "pie": {
805
+ "description": "Options for chart types whose optionBag is \"pie\" — see x-chartbuddy.chartTypes.",
806
+ "type": "object",
807
+ "properties": {
808
+ "innerRadiusRatio": {
809
+ "description": "0 is a full pie; the donut alias seeds 0.5.",
810
+ "type": "number",
811
+ "minimum": 0,
812
+ "maximum": 1
813
+ },
814
+ "scaleFactor": {
815
+ "type": "number",
816
+ "minimum": 0
817
+ },
818
+ "labelVisibilityThreshold": {
819
+ "type": "number",
820
+ "minimum": 0
821
+ },
822
+ "explode": {
823
+ "description": "Per-slice explode offsets.",
824
+ "type": "array",
825
+ "items": {
826
+ "type": "number"
827
+ }
828
+ },
829
+ "line": {
830
+ "type": "object",
831
+ "properties": {
832
+ "color": {
833
+ "description": "CSS color.",
834
+ "type": "string"
835
+ },
836
+ "width": {
837
+ "type": "number",
838
+ "minimum": 0
839
+ },
840
+ "dashArray": {
841
+ "type": "string"
842
+ }
843
+ },
844
+ "additionalProperties": true
845
+ },
846
+ "seriesStrokes": {
847
+ "type": "array",
848
+ "items": {
849
+ "description": "CSS color; null derives it from the series color.",
850
+ "type": [
851
+ "string",
852
+ "null"
853
+ ]
854
+ }
855
+ },
856
+ "seriesStrokeWidths": {
857
+ "type": "array",
858
+ "items": {
859
+ "type": [
860
+ "number",
861
+ "null"
862
+ ],
863
+ "minimum": 0
864
+ }
865
+ },
866
+ "seriesStrokeDashArrays": {
867
+ "type": "array",
868
+ "items": {
869
+ "type": [
870
+ "string",
871
+ "null"
872
+ ]
873
+ }
874
+ },
875
+ "overrides": {
876
+ "description": "Per-index overrides; keys are indices, values are style patches.",
877
+ "type": "object",
878
+ "additionalProperties": {}
879
+ }
880
+ },
881
+ "additionalProperties": true
882
+ },
883
+ "scatter": {
884
+ "description": "Options for chart types whose optionBag is \"scatter\" — see x-chartbuddy.chartTypes.",
885
+ "type": "object",
886
+ "properties": {
887
+ "diameter": {
888
+ "description": "Marker diameter in px. The bubble alias seeds a larger default.",
889
+ "type": "number",
890
+ "minimum": 0
891
+ },
892
+ "shape": {
893
+ "type": "string"
894
+ },
895
+ "shapes": {
896
+ "type": "array",
897
+ "items": {
898
+ "type": "string"
899
+ }
900
+ },
901
+ "seriesStrokes": {
902
+ "type": "array",
903
+ "items": {
904
+ "description": "CSS color; null derives it from the series color.",
905
+ "type": [
906
+ "string",
907
+ "null"
908
+ ]
909
+ }
910
+ },
911
+ "seriesStrokeWidths": {
912
+ "type": "array",
913
+ "items": {
914
+ "type": [
915
+ "number",
916
+ "null"
917
+ ],
918
+ "minimum": 0
919
+ }
920
+ },
921
+ "seriesStrokeDashArrays": {
922
+ "type": "array",
923
+ "items": {
924
+ "type": [
925
+ "string",
926
+ "null"
927
+ ]
928
+ }
929
+ },
930
+ "overrides": {
931
+ "description": "Per-index overrides; keys are indices, values are style patches.",
932
+ "type": "object",
933
+ "additionalProperties": {}
934
+ }
935
+ },
936
+ "additionalProperties": true
937
+ },
938
+ "waterfall": {
939
+ "description": "Options for chart types whose optionBag is \"waterfall\" — see x-chartbuddy.chartTypes.",
940
+ "type": "object",
941
+ "properties": {
942
+ "totalBarColor": {
943
+ "description": "CSS color.",
944
+ "type": "string"
945
+ },
946
+ "totalLegendLabel": {
947
+ "type": "string"
948
+ },
949
+ "seriesStrokes": {
950
+ "type": "array",
951
+ "items": {
952
+ "description": "CSS color; null derives it from the series color.",
953
+ "type": [
954
+ "string",
955
+ "null"
956
+ ]
957
+ }
958
+ },
959
+ "seriesStrokeWidths": {
960
+ "type": "array",
961
+ "items": {
962
+ "type": [
963
+ "number",
964
+ "null"
965
+ ],
966
+ "minimum": 0
967
+ }
968
+ },
969
+ "connectorOverrides": {
970
+ "description": "Per-index overrides; keys are indices, values are style patches.",
971
+ "type": "object",
972
+ "additionalProperties": {}
973
+ },
974
+ "columns": {
975
+ "description": "Per-column structural metadata, keyed by column index.",
976
+ "type": "object",
977
+ "additionalProperties": {
978
+ "type": "object",
979
+ "properties": {
980
+ "isTotal": {
981
+ "type": "boolean"
982
+ },
983
+ "startBar": {
984
+ "type": "boolean"
985
+ },
986
+ "showSegments": {
987
+ "type": "boolean"
988
+ }
989
+ },
990
+ "additionalProperties": true
991
+ }
992
+ },
993
+ "overrides": {
994
+ "description": "Per-index overrides; keys are indices, values are style patches.",
995
+ "type": "object",
996
+ "additionalProperties": {}
997
+ }
998
+ },
999
+ "additionalProperties": true
1000
+ }
1001
+ },
1002
+ "additionalProperties": true,
1003
+ "x-chartbuddy": {
1004
+ "aliases": {
1005
+ "bubble": "scatter",
1006
+ "donut": "pie"
1007
+ },
1008
+ "deprecatedAliases": [],
1009
+ "chartTypes": {
1010
+ "area": {
1011
+ "label": "Area Chart",
1012
+ "description": "Filled lines showing magnitude over an ordered domain.",
1013
+ "optionBag": "area",
1014
+ "family": "area",
1015
+ "seriesLayout": "seriesRows",
1016
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1017
+ "minRows": 2,
1018
+ "minCols": 2,
1019
+ "status": "stable"
1020
+ },
1021
+ "area100": {
1022
+ "label": "100% Area Chart",
1023
+ "description": "Area chart normalized to 100% to show changing mix.",
1024
+ "optionBag": "area",
1025
+ "family": "area",
1026
+ "seriesLayout": "seriesRows",
1027
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1028
+ "minRows": 2,
1029
+ "minCols": 2,
1030
+ "status": "stable"
1031
+ },
1032
+ "barMekko": {
1033
+ "label": "Bar Mekko",
1034
+ "description": "Bars whose width encodes one metric and height another; first data row sets widths.",
1035
+ "optionBag": "barMekko",
1036
+ "family": "mekko",
1037
+ "seriesLayout": "widthRowThenHeightRows",
1038
+ "seriesLayoutDescription": "row 1 sizes the bars (never drawn); rows 2+ are stacked height segments",
1039
+ "minRows": 3,
1040
+ "minCols": 2,
1041
+ "status": "beta"
1042
+ },
1043
+ "clusteredBar": {
1044
+ "label": "Clustered Bar",
1045
+ "description": "Side-by-side bars comparing series within each category.",
1046
+ "optionBag": "bar",
1047
+ "family": "bar",
1048
+ "seriesLayout": "seriesRows",
1049
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1050
+ "minRows": 2,
1051
+ "minCols": 2,
1052
+ "status": "stable"
1053
+ },
1054
+ "combo": {
1055
+ "label": "Combo Chart",
1056
+ "description": "Mixed bar and line series on shared or dual axes.",
1057
+ "optionBag": "combo",
1058
+ "family": "combo",
1059
+ "seriesLayout": "seriesRows",
1060
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1061
+ "minRows": 2,
1062
+ "minCols": 2,
1063
+ "status": "stable"
1064
+ },
1065
+ "line": {
1066
+ "label": "Line Chart",
1067
+ "description": "Trends over an ordered domain, one line per series.",
1068
+ "optionBag": "line",
1069
+ "family": "line",
1070
+ "seriesLayout": "seriesRows",
1071
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1072
+ "minRows": 2,
1073
+ "minCols": 2,
1074
+ "status": "stable"
1075
+ },
1076
+ "mekko": {
1077
+ "label": "Marimekko",
1078
+ "description": "Variable-width stacked bars where both axes are percentages.",
1079
+ "optionBag": "mekko",
1080
+ "family": "mekko",
1081
+ "seriesLayout": "seriesRows",
1082
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1083
+ "minRows": 2,
1084
+ "minCols": 2,
1085
+ "status": "stable"
1086
+ },
1087
+ "pie": {
1088
+ "label": "Pie Chart",
1089
+ "description": "Share of a single total across categories.",
1090
+ "optionBag": "pie",
1091
+ "family": "pie",
1092
+ "seriesLayout": "categoryValue",
1093
+ "seriesLayoutDescription": "two columns per row: [Category, Value]",
1094
+ "minRows": 2,
1095
+ "minCols": 2,
1096
+ "status": "stable"
1097
+ },
1098
+ "scatter": {
1099
+ "label": "Scatter Plot",
1100
+ "description": "Points positioned by two metrics, optionally sized and grouped.",
1101
+ "optionBag": "scatter",
1102
+ "family": "scatter",
1103
+ "seriesLayout": "pointRows",
1104
+ "seriesLayoutDescription": "row 0 names the metrics; each later row is one point",
1105
+ "minRows": 2,
1106
+ "minCols": 3,
1107
+ "status": "stable"
1108
+ },
1109
+ "stackedBar": {
1110
+ "label": "Stacked Bar",
1111
+ "description": "Bars stacked to show composition and category totals.",
1112
+ "optionBag": "bar",
1113
+ "family": "bar",
1114
+ "seriesLayout": "seriesRows",
1115
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1116
+ "minRows": 2,
1117
+ "minCols": 2,
1118
+ "status": "stable"
1119
+ },
1120
+ "stackedBar100": {
1121
+ "label": "100% Stacked Bar",
1122
+ "description": "Stacked bars normalized to 100% to compare mix, not size.",
1123
+ "optionBag": "bar",
1124
+ "family": "bar",
1125
+ "seriesLayout": "seriesRows",
1126
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1127
+ "minRows": 2,
1128
+ "minCols": 2,
1129
+ "status": "stable"
1130
+ },
1131
+ "waterfall": {
1132
+ "label": "Waterfall",
1133
+ "description": "Running total showing how contributions bridge two values.",
1134
+ "optionBag": "waterfall",
1135
+ "family": "waterfall",
1136
+ "seriesLayout": "seriesRows",
1137
+ "seriesLayoutDescription": "row 0 is the category header; each later row is one series",
1138
+ "minRows": 2,
1139
+ "minCols": 2,
1140
+ "status": "stable"
1141
+ }
1142
+ }
1143
+ }
1144
+ }