semiotic 3.5.2 → 3.5.4

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 (101) hide show
  1. package/CLAUDE.md +9 -8
  2. package/README.md +15 -15
  3. package/ai/componentMetadata.cjs +9 -2
  4. package/ai/dist/mcp-server.js +4 -1
  5. package/ai/examples.md +27 -0
  6. package/ai/schema.json +300 -41
  7. package/ai/system-prompt.md +1 -1
  8. package/dist/components/ThemeProvider.d.ts +2 -2
  9. package/dist/components/charts/index.d.ts +3 -3
  10. package/dist/components/charts/network/ProcessSankey.d.ts +22 -0
  11. package/dist/components/charts/network/SankeyDiagram.d.ts +5 -1
  12. package/dist/components/charts/network/Treemap.d.ts +8 -0
  13. package/dist/components/charts/network/processSankey/algorithm.d.ts +57 -0
  14. package/dist/components/charts/network/processSankey/buildScenes.d.ts +6 -0
  15. package/dist/components/charts/network/processSankey/streamingLayout.d.ts +13 -0
  16. package/dist/components/charts/ordinal/GaugeChart.d.ts +10 -0
  17. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +2 -0
  18. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +24 -0
  19. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +2 -0
  20. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +2 -0
  21. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +2 -0
  22. package/dist/components/charts/shared/gaugeGradient.d.ts +62 -0
  23. package/dist/components/charts/shared/hooks.d.ts +2 -2
  24. package/dist/components/charts/shared/streamPropsHelpers.d.ts +2 -2
  25. package/dist/components/charts/shared/tooltipUtils.d.ts +11 -0
  26. package/dist/components/charts/shared/types.d.ts +17 -2
  27. package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +4 -1
  28. package/dist/components/charts/shared/useChartSetup.d.ts +4 -2
  29. package/dist/components/charts/shared/useCustomChartSetup.d.ts +2 -1
  30. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +2 -0
  31. package/dist/components/charts/shared/withChartWrapper.d.ts +10 -3
  32. package/dist/components/charts/xy/AreaChart.d.ts +27 -2
  33. package/dist/components/charts/xy/LineChart.d.ts +26 -2
  34. package/dist/components/charts/xy/Scatterplot.d.ts +5 -1
  35. package/dist/components/semiotic-ai.d.ts +1 -1
  36. package/dist/components/semiotic-realtime.d.ts +3 -3
  37. package/dist/components/semiotic-server.d.ts +1 -0
  38. package/dist/components/semiotic-xy.d.ts +1 -1
  39. package/dist/components/semiotic.d.ts +6 -5
  40. package/dist/components/server/renderToStaticSVG.d.ts +4 -1
  41. package/dist/components/server/serverChartConfigs.d.ts +1 -0
  42. package/dist/components/server/staticAnnotations.d.ts +1 -1
  43. package/dist/components/server/staticLegend.d.ts +35 -0
  44. package/dist/components/server/themeResolver.d.ts +7 -1
  45. package/dist/components/store/ThemeStore.d.ts +9 -1
  46. package/dist/components/stream/AccessibleDataTable.d.ts +2 -2
  47. package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -1
  48. package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -1
  49. package/dist/components/stream/PipelineStore.d.ts +20 -13
  50. package/dist/components/stream/SVGOverlay.d.ts +4 -30
  51. package/dist/components/stream/SceneToSVG.d.ts +1 -1
  52. package/dist/components/stream/accessorUtils.d.ts +2 -1
  53. package/dist/components/stream/geoTypes.d.ts +2 -1
  54. package/dist/components/stream/hoverUtils.d.ts +1 -0
  55. package/dist/components/stream/layouts/hierarchyLayoutPlugin.d.ts +1 -1
  56. package/dist/components/stream/legendRenderer.d.ts +2 -1
  57. package/dist/components/stream/networkTypes.d.ts +13 -1
  58. package/dist/components/stream/ordinalTypes.d.ts +31 -3
  59. package/dist/components/stream/renderers/wedgePathBuilder.d.ts +87 -0
  60. package/dist/components/stream/types.d.ts +110 -16
  61. package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +20 -0
  62. package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -2
  63. package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -2
  64. package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -2
  65. package/dist/components/stream/xySceneBuilders/lineScene.d.ts +4 -3
  66. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
  67. package/dist/components/stream/xySceneBuilders/ribbonScene.d.ts +107 -0
  68. package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -2
  69. package/dist/components/stream/xySceneBuilders/types.d.ts +9 -12
  70. package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -2
  71. package/dist/components/types/legendTypes.d.ts +15 -0
  72. package/dist/components/types/marginType.d.ts +17 -3
  73. package/dist/geo.min.js +1 -1
  74. package/dist/geo.module.min.js +1 -1
  75. package/dist/network.min.js +1 -1
  76. package/dist/network.module.min.js +1 -1
  77. package/dist/ordinal.min.js +1 -1
  78. package/dist/ordinal.module.min.js +1 -1
  79. package/dist/realtime.min.js +1 -1
  80. package/dist/realtime.module.min.js +1 -1
  81. package/dist/semiotic-ai.d.ts +1 -1
  82. package/dist/semiotic-ai.min.js +1 -1
  83. package/dist/semiotic-ai.module.min.js +1 -1
  84. package/dist/semiotic-data.min.js +1 -1
  85. package/dist/semiotic-data.module.min.js +1 -1
  86. package/dist/semiotic-realtime.d.ts +3 -3
  87. package/dist/semiotic-server.d.ts +1 -0
  88. package/dist/semiotic-themes.min.js +1 -1
  89. package/dist/semiotic-themes.module.min.js +1 -1
  90. package/dist/semiotic-utils.min.js +1 -1
  91. package/dist/semiotic-utils.module.min.js +1 -1
  92. package/dist/semiotic-xy.d.ts +1 -1
  93. package/dist/semiotic.d.ts +6 -5
  94. package/dist/semiotic.min.js +1 -1
  95. package/dist/semiotic.module.min.js +1 -1
  96. package/dist/server.min.js +1 -1
  97. package/dist/server.module.min.js +1 -1
  98. package/dist/xy.min.js +1 -1
  99. package/dist/xy.module.min.js +1 -1
  100. package/package.json +25 -25
  101. package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +0 -9
package/ai/schema.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "name": "semiotic",
4
- "version": "3.5.2",
4
+ "version": "3.5.4",
5
5
  "description": "React data visualization library for charts, networks, and beyond",
6
6
  "tools": [
7
7
  {
@@ -21,7 +21,8 @@
21
21
  "default": 400
22
22
  },
23
23
  "margin": {
24
- "type": "object"
24
+ "type": "object",
25
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
25
26
  },
26
27
  "className": {
27
28
  "type": "string"
@@ -188,6 +189,13 @@
188
189
  "anomaly": {
189
190
  "type": "object",
190
191
  "description": "Anomaly overlay config — ±σ band + anomaly dot annotations. See AnomalyConfig."
192
+ },
193
+ "band": {
194
+ "type": [
195
+ "object",
196
+ "array"
197
+ ],
198
+ "description": "Asymmetric min/max envelope drawn under the line. `{ y0Accessor, y1Accessor, style?, perSeries?, interactive? }` or an array of those for percentile fans. Distinct from `forecast`/`anomaly` (computed) — band is pure data passthrough. Hovered datum is enriched with `band: { y0, y1 }` and `bands: [...]`."
191
199
  }
192
200
  },
193
201
  "required": [
@@ -213,7 +221,8 @@
213
221
  "default": 400
214
222
  },
215
223
  "margin": {
216
- "type": "object"
224
+ "type": "object",
225
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
217
226
  },
218
227
  "className": {
219
228
  "type": "string"
@@ -347,6 +356,17 @@
347
356
  ],
348
357
  "default": "monotoneX"
349
358
  },
359
+ "gradientFill": {
360
+ "type": [
361
+ "boolean",
362
+ "object"
363
+ ],
364
+ "description": "Renderer-space area gradient. true uses default opacity; object supports opacity or colorStops."
365
+ },
366
+ "semanticGradient": {
367
+ "type": "array",
368
+ "description": "User-facing gradient stops: [{ at: 0-100, color, opacity? }], where 0 is baseline and 100 is line/top. Takes precedence over gradientFill."
369
+ },
350
370
  "areaOpacity": {
351
371
  "type": "number",
352
372
  "description": "Area fill opacity (0-1)",
@@ -368,6 +388,13 @@
368
388
  "anomaly": {
369
389
  "type": "object",
370
390
  "description": "Anomaly overlay config — ±σ band + anomaly dot annotations. See AnomalyConfig."
391
+ },
392
+ "band": {
393
+ "type": [
394
+ "object",
395
+ "array"
396
+ ],
397
+ "description": "Asymmetric min/max envelope drawn under the area. See LineChart.band — same shape, same enrichment."
371
398
  }
372
399
  },
373
400
  "required": [
@@ -393,7 +420,8 @@
393
420
  "default": 400
394
421
  },
395
422
  "margin": {
396
- "type": "object"
423
+ "type": "object",
424
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
397
425
  },
398
426
  "className": {
399
427
  "type": "string"
@@ -566,7 +594,8 @@
566
594
  "default": 400
567
595
  },
568
596
  "margin": {
569
- "type": "object"
597
+ "type": "object",
598
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
570
599
  },
571
600
  "className": {
572
601
  "type": "string"
@@ -735,7 +764,8 @@
735
764
  "default": 400
736
765
  },
737
766
  "margin": {
738
- "type": "object"
767
+ "type": "object",
768
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
739
769
  },
740
770
  "className": {
741
771
  "type": "string"
@@ -906,7 +936,8 @@
906
936
  "default": 400
907
937
  },
908
938
  "margin": {
909
- "type": "object"
939
+ "type": "object",
940
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
910
941
  },
911
942
  "className": {
912
943
  "type": "string"
@@ -1040,7 +1071,8 @@
1040
1071
  "default": 400
1041
1072
  },
1042
1073
  "margin": {
1043
- "type": "object"
1074
+ "type": "object",
1075
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1044
1076
  },
1045
1077
  "className": {
1046
1078
  "type": "string"
@@ -1204,7 +1236,8 @@
1204
1236
  "default": 400
1205
1237
  },
1206
1238
  "margin": {
1207
- "type": "object"
1239
+ "type": "object",
1240
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1208
1241
  },
1209
1242
  "className": {
1210
1243
  "type": "string"
@@ -1368,7 +1401,8 @@
1368
1401
  "default": 400
1369
1402
  },
1370
1403
  "margin": {
1371
- "type": "object"
1404
+ "type": "object",
1405
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1372
1406
  },
1373
1407
  "className": {
1374
1408
  "type": "string"
@@ -1535,7 +1569,8 @@
1535
1569
  "default": 400
1536
1570
  },
1537
1571
  "margin": {
1538
- "type": "object"
1572
+ "type": "object",
1573
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1539
1574
  },
1540
1575
  "className": {
1541
1576
  "type": "string"
@@ -1705,7 +1740,8 @@
1705
1740
  "default": 400
1706
1741
  },
1707
1742
  "margin": {
1708
- "type": "object"
1743
+ "type": "object",
1744
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1709
1745
  },
1710
1746
  "className": {
1711
1747
  "type": "string"
@@ -1868,7 +1904,8 @@
1868
1904
  "default": 400
1869
1905
  },
1870
1906
  "margin": {
1871
- "type": "object"
1907
+ "type": "object",
1908
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
1872
1909
  },
1873
1910
  "className": {
1874
1911
  "type": "string"
@@ -2026,7 +2063,8 @@
2026
2063
  "default": 400
2027
2064
  },
2028
2065
  "margin": {
2029
- "type": "object"
2066
+ "type": "object",
2067
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2030
2068
  },
2031
2069
  "className": {
2032
2070
  "type": "string"
@@ -2191,7 +2229,8 @@
2191
2229
  "default": 400
2192
2230
  },
2193
2231
  "margin": {
2194
- "type": "object"
2232
+ "type": "object",
2233
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2195
2234
  },
2196
2235
  "className": {
2197
2236
  "type": "string"
@@ -2344,7 +2383,8 @@
2344
2383
  "default": 400
2345
2384
  },
2346
2385
  "margin": {
2347
- "type": "object"
2386
+ "type": "object",
2387
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2348
2388
  },
2349
2389
  "className": {
2350
2390
  "type": "string"
@@ -2510,7 +2550,8 @@
2510
2550
  "default": 400
2511
2551
  },
2512
2552
  "margin": {
2513
- "type": "object"
2553
+ "type": "object",
2554
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2514
2555
  },
2515
2556
  "className": {
2516
2557
  "type": "string"
@@ -2663,7 +2704,8 @@
2663
2704
  "default": 400
2664
2705
  },
2665
2706
  "margin": {
2666
- "type": "object"
2707
+ "type": "object",
2708
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2667
2709
  },
2668
2710
  "className": {
2669
2711
  "type": "string"
@@ -2809,7 +2851,8 @@
2809
2851
  "default": 400
2810
2852
  },
2811
2853
  "margin": {
2812
- "type": "object"
2854
+ "type": "object",
2855
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2813
2856
  },
2814
2857
  "className": {
2815
2858
  "type": "string"
@@ -2968,7 +3011,8 @@
2968
3011
  "default": 400
2969
3012
  },
2970
3013
  "margin": {
2971
- "type": "object"
3014
+ "type": "object",
3015
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
2972
3016
  },
2973
3017
  "className": {
2974
3018
  "type": "string"
@@ -3109,7 +3153,8 @@
3109
3153
  "default": 400
3110
3154
  },
3111
3155
  "margin": {
3112
- "type": "object"
3156
+ "type": "object",
3157
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3113
3158
  },
3114
3159
  "className": {
3115
3160
  "type": "string"
@@ -3274,7 +3319,8 @@
3274
3319
  "default": 400
3275
3320
  },
3276
3321
  "margin": {
3277
- "type": "object"
3322
+ "type": "object",
3323
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3278
3324
  },
3279
3325
  "className": {
3280
3326
  "type": "string"
@@ -3402,7 +3448,8 @@
3402
3448
  "default": 400
3403
3449
  },
3404
3450
  "margin": {
3405
- "type": "object"
3451
+ "type": "object",
3452
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3406
3453
  },
3407
3454
  "className": {
3408
3455
  "type": "string"
@@ -3542,7 +3589,8 @@
3542
3589
  "default": 400
3543
3590
  },
3544
3591
  "margin": {
3545
- "type": "object"
3592
+ "type": "object",
3593
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3546
3594
  },
3547
3595
  "className": {
3548
3596
  "type": "string"
@@ -3639,6 +3687,10 @@
3639
3687
  "type": "array",
3640
3688
  "description": "Array of { value, color, label? } defining threshold zones. Last value should equal max."
3641
3689
  },
3690
+ "gradientFill": {
3691
+ "type": "object",
3692
+ "description": "Arc-length gradient for the gauge band. Color stops are sampled along the sweep from start to end."
3693
+ },
3642
3694
  "arcWidth": {
3643
3695
  "type": "number",
3644
3696
  "description": "Arc thickness as fraction of radius (0-1)",
@@ -3653,6 +3705,11 @@
3653
3705
  "description": "Arc sweep angle in degrees (gap centered at bottom)",
3654
3706
  "default": 240
3655
3707
  },
3708
+ "fillZones": {
3709
+ "type": "boolean",
3710
+ "description": "When true, the arc fills up to the current value; when false, the full arc is shown.",
3711
+ "default": true
3712
+ },
3656
3713
  "showNeedle": {
3657
3714
  "type": "boolean",
3658
3715
  "default": true
@@ -3660,6 +3717,10 @@
3660
3717
  "needleColor": {
3661
3718
  "type": "string"
3662
3719
  },
3720
+ "color": {
3721
+ "type": "string",
3722
+ "description": "Fallback fill color used when no thresholds are defined"
3723
+ },
3663
3724
  "valueFormat": {
3664
3725
  "type": "function"
3665
3726
  },
@@ -3691,7 +3752,8 @@
3691
3752
  "default": 400
3692
3753
  },
3693
3754
  "margin": {
3694
- "type": "object"
3755
+ "type": "object",
3756
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3695
3757
  },
3696
3758
  "className": {
3697
3759
  "type": "string"
@@ -3882,7 +3944,8 @@
3882
3944
  "default": 400
3883
3945
  },
3884
3946
  "margin": {
3885
- "type": "object"
3947
+ "type": "object",
3948
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
3886
3949
  },
3887
3950
  "className": {
3888
3951
  "type": "string"
@@ -4078,7 +4141,8 @@
4078
4141
  "default": 400
4079
4142
  },
4080
4143
  "margin": {
4081
- "type": "object"
4144
+ "type": "object",
4145
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
4082
4146
  },
4083
4147
  "className": {
4084
4148
  "type": "string"
@@ -4252,7 +4316,8 @@
4252
4316
  "default": 400
4253
4317
  },
4254
4318
  "margin": {
4255
- "type": "object"
4319
+ "type": "object",
4320
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
4256
4321
  },
4257
4322
  "className": {
4258
4323
  "type": "string"
@@ -4430,7 +4495,8 @@
4430
4495
  "default": 400
4431
4496
  },
4432
4497
  "margin": {
4433
- "type": "object"
4498
+ "type": "object",
4499
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
4434
4500
  },
4435
4501
  "className": {
4436
4502
  "type": "string"
@@ -4574,7 +4640,8 @@
4574
4640
  "default": 400
4575
4641
  },
4576
4642
  "margin": {
4577
- "type": "object"
4643
+ "type": "object",
4644
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
4578
4645
  },
4579
4646
  "className": {
4580
4647
  "type": "string"
@@ -4722,7 +4789,8 @@
4722
4789
  "default": 400
4723
4790
  },
4724
4791
  "margin": {
4725
- "type": "object"
4792
+ "type": "object",
4793
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
4726
4794
  },
4727
4795
  "className": {
4728
4796
  "type": "string"
@@ -5171,6 +5239,15 @@
5171
5239
  "type": "number",
5172
5240
  "description": "Time bin size in milliseconds (required)"
5173
5241
  },
5242
+ "direction": {
5243
+ "type": "string",
5244
+ "enum": [
5245
+ "up",
5246
+ "down"
5247
+ ],
5248
+ "description": "Bar growth direction. Use \"down\" for mirrored histograms; explicit valueExtent is reversed.",
5249
+ "default": "up"
5250
+ },
5174
5251
  "categoryAccessor": {
5175
5252
  "type": [
5176
5253
  "string",
@@ -5716,7 +5793,8 @@
5716
5793
  "default": 400
5717
5794
  },
5718
5795
  "margin": {
5719
- "type": "object"
5796
+ "type": "object",
5797
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
5720
5798
  },
5721
5799
  "className": {
5722
5800
  "type": "string"
@@ -5888,7 +5966,8 @@
5888
5966
  "default": 400
5889
5967
  },
5890
5968
  "margin": {
5891
- "type": "object"
5969
+ "type": "object",
5970
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
5892
5971
  },
5893
5972
  "className": {
5894
5973
  "type": "string"
@@ -6078,7 +6157,8 @@
6078
6157
  "default": 400
6079
6158
  },
6080
6159
  "margin": {
6081
- "type": "object"
6160
+ "type": "object",
6161
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6082
6162
  },
6083
6163
  "className": {
6084
6164
  "type": "string"
@@ -6190,7 +6270,8 @@
6190
6270
  "default": 400
6191
6271
  },
6192
6272
  "margin": {
6193
- "type": "object"
6273
+ "type": "object",
6274
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6194
6275
  },
6195
6276
  "className": {
6196
6277
  "type": "string"
@@ -6298,7 +6379,8 @@
6298
6379
  "default": 400
6299
6380
  },
6300
6381
  "margin": {
6301
- "type": "object"
6382
+ "type": "object",
6383
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6302
6384
  },
6303
6385
  "className": {
6304
6386
  "type": "string"
@@ -6419,7 +6501,8 @@
6419
6501
  "default": 400
6420
6502
  },
6421
6503
  "margin": {
6422
- "type": "object"
6504
+ "type": "object",
6505
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6423
6506
  },
6424
6507
  "className": {
6425
6508
  "type": "string"
@@ -6553,7 +6636,8 @@
6553
6636
  "default": 400
6554
6637
  },
6555
6638
  "margin": {
6556
- "type": "object"
6639
+ "type": "object",
6640
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6557
6641
  },
6558
6642
  "className": {
6559
6643
  "type": "string"
@@ -6676,7 +6760,8 @@
6676
6760
  "default": 400
6677
6761
  },
6678
6762
  "margin": {
6679
- "type": "object"
6763
+ "type": "object",
6764
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6680
6765
  },
6681
6766
  "className": {
6682
6767
  "type": "string"
@@ -6793,7 +6878,8 @@
6793
6878
  "default": 400
6794
6879
  },
6795
6880
  "margin": {
6796
- "type": "object"
6881
+ "type": "object",
6882
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
6797
6883
  },
6798
6884
  "className": {
6799
6885
  "type": "string"
@@ -7045,7 +7131,8 @@
7045
7131
  "default": 400
7046
7132
  },
7047
7133
  "margin": {
7048
- "type": "object"
7134
+ "type": "object",
7135
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
7049
7136
  },
7050
7137
  "className": {
7051
7138
  "type": "string"
@@ -7246,6 +7333,178 @@
7246
7333
  "required": []
7247
7334
  }
7248
7335
  }
7336
+ },
7337
+ {
7338
+ "type": "function",
7339
+ "function": {
7340
+ "name": "TemporalHistogram",
7341
+ "description": "Static-data temporal histogram with binned aggregation. Use when data is a bounded array rather than a push stream.",
7342
+ "parameters": {
7343
+ "type": "object",
7344
+ "properties": {
7345
+ "data": {
7346
+ "type": "array",
7347
+ "description": "Array of temporal observations"
7348
+ },
7349
+ "binSize": {
7350
+ "type": "number",
7351
+ "description": "Time bin size in milliseconds (required)"
7352
+ },
7353
+ "size": {
7354
+ "type": "array",
7355
+ "description": "[width, height] in pixels"
7356
+ },
7357
+ "width": {
7358
+ "type": "number",
7359
+ "description": "Alias for size[0]"
7360
+ },
7361
+ "height": {
7362
+ "type": "number",
7363
+ "description": "Alias for size[1]"
7364
+ },
7365
+ "margin": {
7366
+ "type": "object",
7367
+ "description": "Object margin. A side value of \"auto\" or null leaves that side available for auto-reservation."
7368
+ },
7369
+ "className": {
7370
+ "type": "string"
7371
+ },
7372
+ "timeAccessor": {
7373
+ "type": [
7374
+ "string",
7375
+ "function"
7376
+ ],
7377
+ "description": "Key for time/x values"
7378
+ },
7379
+ "valueAccessor": {
7380
+ "type": [
7381
+ "string",
7382
+ "function"
7383
+ ],
7384
+ "description": "Key for y values"
7385
+ },
7386
+ "direction": {
7387
+ "type": "string",
7388
+ "enum": [
7389
+ "up",
7390
+ "down"
7391
+ ],
7392
+ "description": "Bar growth direction. Use \"down\" for mirrored histograms; explicit valueExtent is reversed.",
7393
+ "default": "up"
7394
+ },
7395
+ "categoryAccessor": {
7396
+ "type": [
7397
+ "string",
7398
+ "function"
7399
+ ],
7400
+ "description": "Key for category grouping"
7401
+ },
7402
+ "colors": {
7403
+ "type": "object",
7404
+ "description": "Map of category to color string"
7405
+ },
7406
+ "timeExtent": {
7407
+ "type": "array"
7408
+ },
7409
+ "valueExtent": {
7410
+ "type": "array"
7411
+ },
7412
+ "extentPadding": {
7413
+ "type": "number"
7414
+ },
7415
+ "showAxes": {
7416
+ "type": "boolean"
7417
+ },
7418
+ "background": {
7419
+ "type": "string"
7420
+ },
7421
+ "enableHover": {
7422
+ "type": [
7423
+ "boolean",
7424
+ "object"
7425
+ ]
7426
+ },
7427
+ "tooltip": {
7428
+ "type": [
7429
+ "function",
7430
+ "object"
7431
+ ],
7432
+ "description": "Tooltip content function or config"
7433
+ },
7434
+ "annotations": {
7435
+ "type": "array",
7436
+ "description": "Annotation objects to render on the chart. Each must have a `type` field. Position using your data field names (e.g. { type: \"widget\", month: \"Jan\", revenue: 500 }). Supported types: \"widget\" (arbitrary HTML/React content via foreignObject — v3 replacement for htmlAnnotationRules), \"label\" (callout with connector), \"callout\" (circle + label), \"text\" (plain label), \"y-threshold\" (horizontal reference line), \"x-threshold\" (vertical reference line), \"band\" (shaded y-region), \"enclose\" (circle around points), \"rect-enclose\" (rect around points), \"highlight\" (colored dots on filtered points), \"trend\" (regression line), \"envelope\" (upper/lower bounds), \"anomaly-band\" (mean ± stddev), \"forecast\" (extrapolated trend). Widget annotations accept: content (ReactNode), dx, dy, width, height, anchor (\"fixed\"|\"latest\"|\"sticky\"). Threshold annotations accept: value, label, color, strokeWidth, strokeDasharray. Enclose annotations accept: coordinates (array of data objects), label, color, padding.",
7437
+ "items": {
7438
+ "type": "object",
7439
+ "properties": {
7440
+ "type": {
7441
+ "type": "string",
7442
+ "enum": [
7443
+ "widget",
7444
+ "label",
7445
+ "callout",
7446
+ "text",
7447
+ "bracket",
7448
+ "y-threshold",
7449
+ "x-threshold",
7450
+ "band",
7451
+ "enclose",
7452
+ "rect-enclose",
7453
+ "highlight",
7454
+ "trend",
7455
+ "envelope",
7456
+ "anomaly-band",
7457
+ "forecast"
7458
+ ],
7459
+ "description": "Annotation type"
7460
+ }
7461
+ },
7462
+ "required": [
7463
+ "type"
7464
+ ]
7465
+ }
7466
+ },
7467
+ "fill": {
7468
+ "type": "string"
7469
+ },
7470
+ "stroke": {
7471
+ "type": "string"
7472
+ },
7473
+ "strokeWidth": {
7474
+ "type": "number"
7475
+ },
7476
+ "gap": {
7477
+ "type": "number"
7478
+ },
7479
+ "linkedHover": {
7480
+ "type": [
7481
+ "boolean",
7482
+ "string",
7483
+ "object"
7484
+ ]
7485
+ },
7486
+ "linkedBrush": {
7487
+ "type": [
7488
+ "string",
7489
+ "object"
7490
+ ],
7491
+ "description": "Cross-chart brush coordination via LinkedCharts. String: selection name. Object: { name, xField, yField }."
7492
+ },
7493
+ "brush": {
7494
+ "type": [
7495
+ "boolean",
7496
+ "string",
7497
+ "object"
7498
+ ],
7499
+ "description": "Enable brush selection. true defaults to { dimension: \"x\", snap: \"bin\" }. String: \"x\". Object: { dimension, snap: \"continuous\"|\"bin\", snapDuring }."
7500
+ }
7501
+ },
7502
+ "required": [
7503
+ "data",
7504
+ "binSize"
7505
+ ]
7506
+ }
7507
+ }
7249
7508
  }
7250
7509
  ]
7251
7510
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- semiotic-bundle-sizes:start -->
4
4
  <!-- Auto-generated by scripts/sync-bundle-sizes.mjs — do not edit by hand. -->
5
- **Use sub-path imports** — `semiotic/xy` (83KB gz), `semiotic/ordinal` (67KB gz), `semiotic/network` (62KB gz), `semiotic/geo` (50KB gz), `semiotic/realtime` (88KB gz), `semiotic/server` (114KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (184KB gz). Full `semiotic` is 183KB gz.
5
+ **Use sub-path imports** — `semiotic/xy` (85KB gz), `semiotic/ordinal` (69KB gz), `semiotic/network` (63KB gz), `semiotic/geo` (52KB gz), `semiotic/realtime` (90KB gz), `semiotic/server` (122KB gz), `semiotic/utils` (22KB gz), `semiotic/recipes` (5KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/ai` (189KB gz). Full `semiotic` is 188KB gz.
6
6
  <!-- semiotic-bundle-sizes:end -->
7
7
 
8
8
  ## Flat Array Data (`data: object[]`)