semiotic 3.7.4 → 3.8.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 (517) hide show
  1. package/CLAUDE.md +60 -15
  2. package/README.md +135 -24
  3. package/agent-skill/semiotic-charts/SKILL.md +146 -0
  4. package/ai/cli.js +133 -45
  5. package/ai/componentMetadata.cjs +6 -1
  6. package/ai/dist/mcp-server.js +1651 -154
  7. package/ai/examples.md +174 -0
  8. package/ai/schema.json +2934 -517
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +19 -3
  11. package/dist/components/Annotation.d.ts +4 -0
  12. package/dist/components/CategoryColors.d.ts +1 -1
  13. package/dist/components/ChartContainer.d.ts +91 -0
  14. package/dist/components/ChartGrid.d.ts +11 -1
  15. package/dist/components/CircularBrush.d.ts +61 -0
  16. package/dist/components/ContextLayout.d.ts +5 -1
  17. package/dist/components/DataSummaryContext.d.ts +1 -0
  18. package/dist/components/DirectManipulationControl.d.ts +63 -0
  19. package/dist/components/LinkedCharts.d.ts +3 -1
  20. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  21. package/dist/components/MobileChartContainer.d.ts +51 -0
  22. package/dist/components/MobileStandardControls.d.ts +68 -0
  23. package/dist/components/SmallMultipleChart.d.ts +84 -0
  24. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  25. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  26. package/dist/components/ai/IntentMark.d.ts +15 -0
  27. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  28. package/dist/components/ai/chartCapabilityTypes.d.ts +42 -1
  29. package/dist/components/ai/chartClinic.d.ts +91 -0
  30. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  31. package/dist/components/ai/chartRecipes.d.ts +278 -0
  32. package/dist/components/ai/dataPitfallsBridge.d.ts +203 -0
  33. package/dist/components/ai/dataQualityBridge.d.ts +201 -0
  34. package/dist/components/ai/describeChart.d.ts +9 -0
  35. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  36. package/dist/components/ai/generativeChart.d.ts +170 -0
  37. package/dist/components/ai/intentManifest.d.ts +62 -0
  38. package/dist/components/ai/navigationTree.d.ts +3 -0
  39. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  40. package/dist/components/ai/readerGrounding.d.ts +83 -0
  41. package/dist/components/ai/recipeCapability.d.ts +8 -0
  42. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  43. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  44. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  45. package/dist/components/ai/suggestCharts.d.ts +11 -1
  46. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  47. package/dist/components/charts/custom/NetworkCustomChart.d.ts +22 -3
  48. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  49. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  50. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  51. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  52. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  53. package/dist/components/charts/geo/index.d.ts +2 -0
  54. package/dist/components/charts/index.d.ts +29 -1
  55. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  57. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  58. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  60. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  61. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  62. package/dist/components/charts/network/Treemap.d.ts +1 -1
  63. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  64. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  65. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  66. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  68. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  70. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  71. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  72. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  73. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  74. package/dist/components/charts/ordinal/SwarmPlot.d.ts +8 -1
  75. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  76. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  77. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  78. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  79. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  80. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  81. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  82. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  83. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  84. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  85. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  86. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  88. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  89. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  90. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  91. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  92. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  93. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  94. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  95. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  96. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  97. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  98. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  99. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  100. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  101. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  102. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  103. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  104. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  105. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  106. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  107. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  108. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  109. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  110. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  111. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  112. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  113. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  114. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  115. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  116. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  117. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  118. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +30 -1
  119. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  120. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  121. package/dist/components/charts/realtime/aggregate.d.ts +51 -0
  122. package/dist/components/charts/realtime/eventTime.d.ts +26 -0
  123. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  124. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  125. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  126. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  127. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  128. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  130. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  131. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  132. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  133. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  134. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  135. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  136. package/dist/components/charts/shared/colorPalettes.d.ts +2 -0
  137. package/dist/components/charts/shared/colorUtils.d.ts +17 -13
  138. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  139. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  140. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  141. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  142. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  143. package/dist/components/charts/shared/hooks.d.ts +28 -5
  144. package/dist/components/charts/shared/minMax.d.ts +3 -0
  145. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  146. package/dist/components/charts/shared/radialGeometry.d.ts +0 -18
  147. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  148. package/dist/components/charts/shared/smartTooltip.d.ts +27 -0
  149. package/dist/components/charts/shared/statisticalOverlays.d.ts +35 -0
  150. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  151. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  152. package/dist/components/charts/shared/tooltipUtils.d.ts +2 -0
  153. package/dist/components/charts/shared/types.d.ts +49 -1
  154. package/dist/components/charts/shared/useChartSetup.d.ts +10 -3
  155. package/dist/components/charts/shared/useCustomChartSetup.d.ts +15 -6
  156. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  157. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  158. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  159. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  160. package/dist/components/charts/shared/validateChartData.d.ts +1 -1
  161. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  162. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  163. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  164. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  165. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  166. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  167. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  168. package/dist/components/charts/xy/Scatterplot.d.ts +10 -1
  169. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  170. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  171. package/dist/components/controls/controlAudit.d.ts +24 -0
  172. package/dist/components/controls/controlContract.d.ts +57 -0
  173. package/dist/components/data/fromArrow.d.ts +54 -0
  174. package/dist/components/data/fromFlintChart.d.ts +74 -0
  175. package/dist/components/data/fromMermaid.d.ts +47 -0
  176. package/dist/components/data/fromObservablePlot.d.ts +69 -0
  177. package/dist/components/data/fromVegaLite.d.ts +27 -0
  178. package/dist/components/data/portability/index.d.ts +17 -0
  179. package/dist/components/data/portability/result.d.ts +52 -0
  180. package/dist/components/data/portability/spec.d.ts +160 -0
  181. package/dist/components/data/portability/vegaLite.d.ts +80 -0
  182. package/dist/components/export/chartConfig.d.ts +11 -0
  183. package/dist/components/realtime/ReorderBuffer.d.ts +54 -0
  184. package/dist/components/realtime/RunningStats.d.ts +66 -0
  185. package/dist/components/realtime/WindowAccumulator.d.ts +105 -0
  186. package/dist/components/realtime/parseWindowDuration.d.ts +12 -0
  187. package/dist/components/realtime/types.d.ts +11 -0
  188. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  189. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  190. package/dist/components/recipes/boba.d.ts +23 -0
  191. package/dist/components/recipes/customTooltip.d.ts +31 -0
  192. package/dist/components/recipes/cyclical.d.ts +39 -0
  193. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  194. package/dist/components/recipes/forceLayout.d.ts +48 -0
  195. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  196. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  197. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  198. package/dist/components/recipes/gofishIR.d.ts +215 -0
  199. package/dist/components/recipes/gofishIRExamples.d.ts +38 -0
  200. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  201. package/dist/components/recipes/intervals.d.ts +80 -0
  202. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  203. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  204. package/dist/components/recipes/mermaidDag.d.ts +44 -0
  205. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  206. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  207. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  208. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  209. package/dist/components/recipes/packedClusterMatrix.d.ts +166 -0
  210. package/dist/components/recipes/physics.d.ts +122 -0
  211. package/dist/components/recipes/physicsReference.d.ts +102 -0
  212. package/dist/components/recipes/processAggregates.d.ts +32 -0
  213. package/dist/components/recipes/processChrome.d.ts +67 -0
  214. package/dist/components/recipes/processJourney.d.ts +54 -0
  215. package/dist/components/recipes/processPhysics.d.ts +300 -0
  216. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  217. package/dist/components/recipes/radialCoords.d.ts +69 -0
  218. package/dist/components/recipes/random.d.ts +2 -0
  219. package/dist/components/recipes/recipeChrome.d.ts +191 -0
  220. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  221. package/dist/components/recipes/recipeLegend.d.ts +109 -0
  222. package/dist/components/recipes/recipeUtils.d.ts +157 -0
  223. package/dist/components/recipes/runs.d.ts +59 -0
  224. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  225. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  226. package/dist/components/recipes/unitize.d.ts +108 -0
  227. package/dist/components/recipes/vector.d.ts +28 -0
  228. package/dist/components/recipes/waffle.d.ts +43 -0
  229. package/dist/components/semiotic-ai-core.d.ts +47 -0
  230. package/dist/components/semiotic-ai.d.ts +52 -4
  231. package/dist/components/semiotic-controls.d.ts +18 -0
  232. package/dist/components/semiotic-data.d.ts +2 -0
  233. package/dist/components/semiotic-experimental.d.ts +49 -0
  234. package/dist/components/semiotic-geo.d.ts +11 -0
  235. package/dist/components/semiotic-network.d.ts +14 -1
  236. package/dist/components/semiotic-ordinal.d.ts +10 -0
  237. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  238. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  239. package/dist/components/semiotic-physics.d.ts +56 -0
  240. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  241. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  242. package/dist/components/semiotic-realtime.d.ts +4 -22
  243. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  244. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  245. package/dist/components/semiotic-recipes.d.ts +4 -26
  246. package/dist/components/semiotic-server-edge.d.ts +8 -0
  247. package/dist/components/semiotic-server-node.d.ts +5 -0
  248. package/dist/components/semiotic-server.d.ts +2 -2
  249. package/dist/components/semiotic-themes-core.d.ts +53 -0
  250. package/dist/components/semiotic-themes-react.d.ts +4 -0
  251. package/dist/components/semiotic-themes.d.ts +6 -74
  252. package/dist/components/semiotic-utils-core.d.ts +46 -0
  253. package/dist/components/semiotic-utils-react.d.ts +5 -0
  254. package/dist/components/semiotic-utils.d.ts +3 -39
  255. package/dist/components/semiotic-xy.d.ts +10 -0
  256. package/dist/components/semiotic.d.ts +39 -7
  257. package/dist/components/server/animatedGif.d.ts +36 -0
  258. package/dist/components/server/renderEvidence.d.ts +1 -1
  259. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  260. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  261. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  262. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  263. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  264. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  265. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  266. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  267. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  268. package/dist/components/server/staticGeo.d.ts +4 -0
  269. package/dist/components/server/staticLegend.d.ts +1 -1
  270. package/dist/components/server/staticNetwork.d.ts +8 -0
  271. package/dist/components/server/staticOrdinal.d.ts +11 -0
  272. package/dist/components/server/staticPhysics.d.ts +3 -0
  273. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  274. package/dist/components/server/staticXY.d.ts +4 -0
  275. package/dist/components/store/ObservationStore.d.ts +23 -3
  276. package/dist/components/store/SelectionStore.d.ts +1 -1
  277. package/dist/components/store/ThemeStore.d.ts +1 -1
  278. package/dist/components/store/TooltipStore.d.ts +1 -1
  279. package/dist/components/store/createStore.d.ts +1 -1
  280. package/dist/components/store/designTokens.d.ts +15 -0
  281. package/dist/components/store/themeSerialization.d.ts +32 -0
  282. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  283. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  284. package/dist/components/stream/FocusRing.d.ts +4 -2
  285. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  286. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  287. package/dist/components/stream/NetworkHtmlMarksLayer.d.ts +44 -0
  288. package/dist/components/stream/NetworkPipelineStore.d.ts +62 -25
  289. package/dist/components/stream/NetworkSVGOverlay.d.ts +15 -0
  290. package/dist/components/stream/OrdinalPipelineStore.d.ts +64 -2
  291. package/dist/components/stream/PipelineStore.d.ts +100 -162
  292. package/dist/components/stream/SceneGraph.d.ts +14 -2
  293. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  294. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  295. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  296. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  297. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  298. package/dist/components/stream/accessorUtils.d.ts +23 -10
  299. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  300. package/dist/components/stream/canvasBackground.d.ts +24 -0
  301. package/dist/components/stream/canvasSetup.d.ts +4 -1
  302. package/dist/components/stream/customLayout.d.ts +20 -0
  303. package/dist/components/stream/customLayoutDiagnostics.d.ts +11 -0
  304. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  305. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  306. package/dist/components/stream/customLayoutSelection.d.ts +52 -0
  307. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  308. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  309. package/dist/components/stream/geoCartogram.d.ts +17 -0
  310. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  311. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  312. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  313. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  314. package/dist/components/stream/geoTypes.d.ts +56 -7
  315. package/dist/components/stream/glyphDef.d.ts +98 -0
  316. package/dist/components/stream/hitTarget.d.ts +170 -0
  317. package/dist/components/stream/hoverUtils.d.ts +3 -0
  318. package/dist/components/stream/keyboardNav.d.ts +4 -1
  319. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  320. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  321. package/dist/components/stream/networkBezier.d.ts +10 -0
  322. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  323. package/dist/components/stream/networkCustomLayout.d.ts +66 -1
  324. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  325. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  326. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  327. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  328. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  329. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  330. package/dist/components/stream/networkTypes.d.ts +104 -5
  331. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  332. package/dist/components/stream/ordinalCustomLayout.d.ts +17 -1
  333. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  334. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  335. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  336. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  337. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  338. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  339. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  340. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -0
  341. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  342. package/dist/components/stream/ordinalTypes.d.ts +56 -8
  343. package/dist/components/stream/paintNeeds.d.ts +31 -0
  344. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  345. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  346. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  347. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  348. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  349. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  350. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  351. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  352. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  353. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  354. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  355. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  356. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  357. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  358. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  359. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  360. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  361. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  362. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  363. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  364. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  365. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  366. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  367. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  368. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  369. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  370. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  371. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  372. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  373. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  374. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  375. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  376. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  377. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  378. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  379. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  380. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  381. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  382. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  383. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  384. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  385. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  386. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  387. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  388. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  389. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  390. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  391. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  392. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  393. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  394. package/dist/components/stream/renderers/networkSymbolRenderer.d.ts +2 -0
  395. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  396. package/dist/components/stream/renderers/symbolCanvasRenderer.d.ts +2 -0
  397. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  398. package/dist/components/stream/stalenessBands.d.ts +28 -0
  399. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  400. package/dist/components/stream/symbolPath.d.ts +24 -0
  401. package/dist/components/stream/types.d.ts +206 -9
  402. package/dist/components/stream/useFrame.d.ts +21 -2
  403. package/dist/components/stream/useHydration.d.ts +6 -0
  404. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  405. package/dist/components/stream/useStalenessCheck.d.ts +6 -1
  406. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  407. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  408. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  409. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  410. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  411. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  412. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
  413. package/dist/components/stream/xySceneBuilders/types.d.ts +9 -4
  414. package/dist/controls.min.js +2 -0
  415. package/dist/controls.module.min.js +2 -0
  416. package/dist/forceLayoutWorker.js +1 -0
  417. package/dist/geo.min.js +1 -1
  418. package/dist/geo.module.min.js +1 -1
  419. package/dist/network.min.js +1 -1
  420. package/dist/network.module.min.js +1 -1
  421. package/dist/ordinal.min.js +1 -1
  422. package/dist/ordinal.module.min.js +1 -1
  423. package/dist/physics-matter.min.js +1 -0
  424. package/dist/physics-matter.module.min.js +1 -0
  425. package/dist/physics-rapier.min.js +1 -0
  426. package/dist/physics-rapier.module.min.js +1 -0
  427. package/dist/physics.min.js +2 -0
  428. package/dist/physics.module.min.js +2 -0
  429. package/dist/physicsWorker.js +1 -0
  430. package/dist/realtime.min.js +1 -1
  431. package/dist/realtime.module.min.js +1 -1
  432. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  433. package/dist/semiotic-ai-core.d.ts +47 -0
  434. package/dist/semiotic-ai-core.min.js +1 -0
  435. package/dist/semiotic-ai-core.module.min.js +1 -0
  436. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  437. package/dist/semiotic-ai.d.ts +52 -4
  438. package/dist/semiotic-ai.min.js +1 -1
  439. package/dist/semiotic-ai.module.min.js +1 -1
  440. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  441. package/dist/semiotic-controls.d.ts +18 -0
  442. package/dist/semiotic-data.d.ts +2 -0
  443. package/dist/semiotic-data.min.js +1 -1
  444. package/dist/semiotic-data.module.min.js +1 -1
  445. package/dist/semiotic-experimental.d.ts +49 -0
  446. package/dist/semiotic-experimental.min.js +1 -0
  447. package/dist/semiotic-experimental.module.min.js +1 -0
  448. package/dist/semiotic-geo.d.ts +11 -0
  449. package/dist/semiotic-network.d.ts +14 -1
  450. package/dist/semiotic-ordinal.d.ts +10 -0
  451. package/dist/semiotic-physics-matter.d.ts +10 -0
  452. package/dist/semiotic-physics-rapier.d.ts +9 -0
  453. package/dist/semiotic-physics.d.ts +56 -0
  454. package/dist/semiotic-realtime-core.d.ts +34 -0
  455. package/dist/semiotic-realtime-core.min.js +1 -0
  456. package/dist/semiotic-realtime-core.module.min.js +1 -0
  457. package/dist/semiotic-realtime-react.d.ts +10 -0
  458. package/dist/semiotic-realtime-react.min.js +2 -0
  459. package/dist/semiotic-realtime-react.module.min.js +2 -0
  460. package/dist/semiotic-realtime.d.ts +4 -22
  461. package/dist/semiotic-recipes-core.d.ts +92 -0
  462. package/dist/semiotic-recipes-core.min.js +1 -0
  463. package/dist/semiotic-recipes-core.module.min.js +1 -0
  464. package/dist/semiotic-recipes-react.d.ts +7 -0
  465. package/dist/semiotic-recipes-react.min.js +2 -0
  466. package/dist/semiotic-recipes-react.module.min.js +2 -0
  467. package/dist/semiotic-recipes.d.ts +4 -26
  468. package/dist/semiotic-recipes.min.js +1 -1
  469. package/dist/semiotic-recipes.module.min.js +1 -1
  470. package/dist/semiotic-server-edge.d.ts +8 -0
  471. package/dist/semiotic-server-edge.min.js +1 -0
  472. package/dist/semiotic-server-edge.module.min.js +1 -0
  473. package/dist/semiotic-server-node.d.ts +5 -0
  474. package/dist/semiotic-server-node.min.js +1 -0
  475. package/dist/semiotic-server-node.module.min.js +1 -0
  476. package/dist/semiotic-server.d.ts +2 -2
  477. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  478. package/dist/semiotic-themes-core.d.ts +53 -0
  479. package/dist/semiotic-themes-core.min.js +1 -0
  480. package/dist/semiotic-themes-core.module.min.js +1 -0
  481. package/dist/semiotic-themes-react.d.ts +4 -0
  482. package/dist/semiotic-themes-react.min.js +2 -0
  483. package/dist/semiotic-themes-react.module.min.js +2 -0
  484. package/dist/semiotic-themes.d.ts +6 -74
  485. package/dist/semiotic-themes.min.js +1 -2
  486. package/dist/semiotic-themes.module.min.js +1 -2
  487. package/dist/semiotic-utils-core.d.ts +46 -0
  488. package/dist/semiotic-utils-core.min.js +1 -0
  489. package/dist/semiotic-utils-core.module.min.js +1 -0
  490. package/dist/semiotic-utils-react.d.ts +5 -0
  491. package/dist/semiotic-utils-react.min.js +2 -0
  492. package/dist/semiotic-utils-react.module.min.js +2 -0
  493. package/dist/semiotic-utils.d.ts +3 -39
  494. package/dist/semiotic-utils.min.js +1 -2
  495. package/dist/semiotic-utils.module.min.js +1 -2
  496. package/dist/semiotic-value.min.js +1 -1
  497. package/dist/semiotic-value.module.min.js +1 -1
  498. package/dist/semiotic-xy.d.ts +10 -0
  499. package/dist/semiotic.d.ts +39 -7
  500. package/dist/semiotic.min.js +1 -1
  501. package/dist/semiotic.module.min.js +1 -1
  502. package/dist/server.min.js +1 -1
  503. package/dist/server.module.min.js +1 -1
  504. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  505. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  506. package/dist/xy.min.js +1 -1
  507. package/dist/xy.module.min.js +1 -1
  508. package/package.json +246 -86
  509. package/spec/README.md +152 -0
  510. package/spec/bindings/README.md +35 -0
  511. package/spec/bindings/vega-lite.mjs +112 -0
  512. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  513. package/spec/v0.1/audience-profile.schema.json +67 -0
  514. package/spec/v0.1/chart-capability.schema.json +186 -0
  515. package/dist/semiotic-ai-statisticalOverlays-C2PPlmXv.js +0 -1
  516. package/dist/semiotic-statisticalOverlays-C3DsOgr_.js +0 -1
  517. package/dist/xy-statisticalOverlays-C2PPlmXv.js +0 -1
@@ -0,0 +1,200 @@
1
+ {
2
+ "__generated": true,
3
+ "__source": [
4
+ "package.json",
5
+ "ai/schema.json",
6
+ "ai/componentMetadata.cjs",
7
+ "src/components/semiotic-ai.ts",
8
+ "ai/mcp-server.ts"
9
+ ],
10
+ "version": "3.8.0",
11
+ "components": {
12
+ "schema": 54,
13
+ "aiChartExports": 51,
14
+ "mcpRenderable": 48,
15
+ "browserOnly": 6,
16
+ "categories": {
17
+ "xy": [
18
+ "AreaChart",
19
+ "BubbleChart",
20
+ "CandlestickChart",
21
+ "ConnectedScatterplot",
22
+ "DifferenceChart",
23
+ "Heatmap",
24
+ "LineChart",
25
+ "MinimapChart",
26
+ "MultiAxisLineChart",
27
+ "QuadrantChart",
28
+ "Scatterplot",
29
+ "ScatterplotMatrix",
30
+ "StackedAreaChart"
31
+ ],
32
+ "ordinal": [
33
+ "BarChart",
34
+ "BoxPlot",
35
+ "DonutChart",
36
+ "DotPlot",
37
+ "FunnelChart",
38
+ "GaugeChart",
39
+ "GroupedBarChart",
40
+ "Histogram",
41
+ "LikertChart",
42
+ "PieChart",
43
+ "RidgelinePlot",
44
+ "StackedBarChart",
45
+ "SwarmPlot",
46
+ "SwimlaneChart",
47
+ "ViolinPlot"
48
+ ],
49
+ "network": [
50
+ "ChordDiagram",
51
+ "CirclePack",
52
+ "ForceDirectedGraph",
53
+ "OrbitDiagram",
54
+ "ProcessSankey",
55
+ "SankeyDiagram",
56
+ "TreeDiagram",
57
+ "Treemap"
58
+ ],
59
+ "geo": [
60
+ "ChoroplethMap",
61
+ "DistanceCartogram",
62
+ "FlowMap",
63
+ "ProportionalSymbolMap"
64
+ ],
65
+ "realtime": [
66
+ "RealtimeHeatmap",
67
+ "RealtimeHistogram",
68
+ "RealtimeLineChart",
69
+ "RealtimeSwarmChart",
70
+ "RealtimeWaterfallChart",
71
+ "TemporalHistogram"
72
+ ],
73
+ "physics": [
74
+ "CollisionSwarmChart",
75
+ "EventDropChart",
76
+ "GaltonBoardChart",
77
+ "GauntletChart",
78
+ "PhysicalFlowChart",
79
+ "PhysicsPileChart",
80
+ "ProcessFlowChart"
81
+ ],
82
+ "value": [
83
+ "BigNumber"
84
+ ]
85
+ },
86
+ "aiChartExportNames": [
87
+ "AreaChart",
88
+ "BarChart",
89
+ "BigNumber",
90
+ "BoxPlot",
91
+ "BubbleChart",
92
+ "CandlestickChart",
93
+ "ChordDiagram",
94
+ "CirclePack",
95
+ "CollisionSwarmChart",
96
+ "ConnectedScatterplot",
97
+ "DifferenceChart",
98
+ "DonutChart",
99
+ "DotPlot",
100
+ "EventDropChart",
101
+ "ForceDirectedGraph",
102
+ "FunnelChart",
103
+ "GaltonBoardChart",
104
+ "GaugeChart",
105
+ "GauntletChart",
106
+ "GroupedBarChart",
107
+ "Heatmap",
108
+ "Histogram",
109
+ "LikertChart",
110
+ "LineChart",
111
+ "MinimapChart",
112
+ "MultiAxisLineChart",
113
+ "OrbitDiagram",
114
+ "PhysicalFlowChart",
115
+ "PhysicsCustomChart",
116
+ "PhysicsPileChart",
117
+ "PieChart",
118
+ "ProcessFlowChart",
119
+ "ProcessSankey",
120
+ "QuadrantChart",
121
+ "RealtimeHeatmap",
122
+ "RealtimeHistogram",
123
+ "RealtimeLineChart",
124
+ "RealtimeSwarmChart",
125
+ "RealtimeWaterfallChart",
126
+ "RidgelinePlot",
127
+ "SankeyDiagram",
128
+ "Scatterplot",
129
+ "ScatterplotMatrix",
130
+ "StackedAreaChart",
131
+ "StackedBarChart",
132
+ "SwarmPlot",
133
+ "SwimlaneChart",
134
+ "TemporalHistogram",
135
+ "TreeDiagram",
136
+ "Treemap",
137
+ "ViolinPlot"
138
+ ],
139
+ "geoExcludedFromAIExports": [
140
+ "ChoroplethMap",
141
+ "DistanceCartogram",
142
+ "FlowMap",
143
+ "ProportionalSymbolMap"
144
+ ]
145
+ },
146
+ "mcp": {
147
+ "toolCount": 23,
148
+ "tools": [
149
+ "applyTheme",
150
+ "auditAccessibility",
151
+ "auditChart",
152
+ "auditMobileVisualization",
153
+ "createChart",
154
+ "diagnoseConfig",
155
+ "explainChart",
156
+ "getChartSchema",
157
+ "getSchema",
158
+ "groundChart",
159
+ "improveChart",
160
+ "interrogateChart",
161
+ "proposeChartVariants",
162
+ "renderChart",
163
+ "renderInteractiveChart",
164
+ "repairChartConfig",
165
+ "reportIssue",
166
+ "suggestChart",
167
+ "suggestCharts",
168
+ "suggestDashboard",
169
+ "suggestStreamCharts",
170
+ "suggestStretchCharts",
171
+ "suggestTokenEncoding"
172
+ ],
173
+ "publicProfile": {
174
+ "toolCount": 5,
175
+ "tools": [
176
+ "createChart",
177
+ "improveChart",
178
+ "explainChart",
179
+ "auditChart",
180
+ "getChartSchema"
181
+ ],
182
+ "activation": "semiotic-mcp --profile public or MCP_TOOL_PROFILE=public"
183
+ },
184
+ "resourceCount": 7,
185
+ "resources": [
186
+ "semiotic-behavior-contracts",
187
+ "semiotic-chatgpt-chart-widget",
188
+ "semiotic-components",
189
+ "semiotic-examples",
190
+ "semiotic-schema",
191
+ "semiotic-surface-manifest",
192
+ "semiotic-system-prompt"
193
+ ],
194
+ "promptCount": 2,
195
+ "prompts": [
196
+ "build-semiotic-chart",
197
+ "debug-semiotic-chart"
198
+ ]
199
+ }
200
+ }
@@ -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` (90KB gz), `semiotic/ordinal` (74KB gz), `semiotic/network` (68KB gz), `semiotic/geo` (55KB gz), `semiotic/realtime` (95KB gz), `semiotic/server` (128KB gz), `semiotic/utils` (38KB gz), `semiotic/recipes` (9KB gz), `semiotic/themes` (4KB gz), `semiotic/data` (3KB gz), `semiotic/value` (6KB gz), `semiotic/ai` (250KB gz). Full `semiotic` is 203KB gz.
5
+ **Use sub-path imports** — `semiotic/xy` (101KB gz), `semiotic/ordinal` (82KB gz), `semiotic/network` (85KB gz), `semiotic/geo` (62KB gz), `semiotic/realtime` (111KB gz), `semiotic/realtime/core` (110KB gz), `semiotic/realtime/react` (1KB gz), `semiotic/server` (189KB gz), `semiotic/server/node` (189KB gz), `semiotic/server/edge` (188KB gz), `semiotic/utils` (71KB gz), `semiotic/utils/core` (70KB gz), `semiotic/utils/react` (4KB gz), `semiotic/recipes` (53KB gz), `semiotic/recipes/core` (52KB gz), `semiotic/recipes/react` (1KB gz), `semiotic/themes` (6KB gz), `semiotic/themes/core` (6KB gz), `semiotic/themes/react` (4KB gz), `semiotic/data` (3KB gz), `semiotic/value` (6KB gz), `semiotic/physics` (98KB gz), `semiotic/physics/matter` (1KB gz), `semiotic/physics/rapier` (1KB gz), `semiotic/ai` (394KB gz), `semiotic/ai/core` (79KB gz), `semiotic/controls` (5KB gz). Full `semiotic` is 258KB gz.
6
6
  <!-- semiotic-bundle-sizes:end -->
7
7
 
8
8
  ## Flat Array Data (`data: object[]`)
@@ -33,7 +33,7 @@ All ordinal HOCs (except Pie/Donut) support `categoryFormat` — a function `(la
33
33
  - **OrbitDiagram** — animated radial/orbital hierarchy (use this, not TreeDiagram, for animated orbiting nodes). `childrenAccessor`, `nodeIdAccessor`, `orbitMode` ("flat"|"solar"|"atomic"|number[]), `speed`, `animated`. For static radial trees use `TreeDiagram layout="radial"`.
34
34
 
35
35
  ## Network Data (`nodes: object[]`, `edges: object[]`)
36
- - **ForceDirectedGraph** — **`nodes`**, **`edges`** (both required), `nodeIDAccessor`, `sourceAccessor`, `targetAccessor`, `colorBy`, `nodeSize` (number|string|fn), `nodeSizeRange`, `edgeWidth`, `edgeOpacity`, `iterations`, `forceStrength`, `showLabels`, `nodeLabel`, `tooltip`, `showLegend`
36
+ - **ForceDirectedGraph** — **`nodes`**, **`edges`** (both required), `nodeIDAccessor`, `sourceAccessor`, `targetAccessor`, `colorBy`, `nodeSize` (number|string|fn), `nodeSizeRange`, `edgeWidth`, `edgeOpacity`, `iterations`, `forceStrength`, `layoutExecution` (`auto`|`worker`|`sync`), `showLabels`, `nodeLabel`, `tooltip`, `showLegend`
37
37
  - **SankeyDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
38
38
  - **ChordDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
39
39
 
@@ -54,6 +54,16 @@ Sizing: all Realtime HOCs accept both `size={[600, 400]}` (tuple) and `width={60
54
54
 
55
55
  Pushed data shape: `{ time: Date.now(), value: 42 }` for line/waterfall/heatmap, add `category` for histogram/swarm.
56
56
 
57
+ ## Physics (`semiotic/physics`)
58
+
59
+ Use only when motion maps to the data semantics; the settled projection is what readers should use for the chart. Import from `semiotic/physics`.
60
+
61
+ - **GaltonBoardChart** — `data`, `valueAccessor` ("value"), `bins`, `mode` ("sample"|"mechanical"), `pegRows`, `mechanicalCount`, `branchProbability`, `colorBy`, `seed`, `size`. Distribution/sampling drop that settles into bins; mechanical mode can generate a seeded no-data demonstration.
62
+ - **EventDropChart** — `data`, `timeAccessor` ("time"), `arrivalAccessor` ("arrivalTime"), `windows={{size}}`, `watermark={{delay}}`, `timeScale`, `colorBy`, `size`. Event-time arrival replay and late/watermark windows.
63
+ - **PhysicsPileChart** — `data`, `categoryAccessor` ("category"), `valueAccessor` ("value"), `mode` ("sample"|"mechanical"), `mechanicalCount`, `mechanicalCategories`, `unitValue`, `colorBy`, `showProjection`, `size`. Unitized category piles; mechanical mode can generate a seeded no-data capacity sketch; default projection overlay keeps exact totals readable; raise `unitValue` for large values.
64
+ - **CollisionSwarmChart** — `data`, `xAccessor` ("x"), optional `groupAccessor`, `radiusAccessor`, `xExtent`, `collisionIterations`, `settle`, `showProjection`, `colorBy`, `size`. Collision-relaxed dot-strip/swarm chart that preserves quantitative axis position and optional group lanes.
65
+ - **PhysicsCustomChart** — `data`, `layout(ctx)`, `layoutConfig`, `config`, `colorBy`, `size`. Escape hatch for bespoke physics scenes; layouts return bodies/colliders/sensors plus optional SVG overlays.
66
+
57
67
  ### Push API on HOC charts
58
68
  Many HOC charts support the push API via `forwardRef`. **Omit the `data` prop** (do NOT pass `data={[]}`) and push imperatively:
59
69
  ```jsx
@@ -94,6 +104,11 @@ Callback receiving `ChartObservation`: `{ type: "hover"|"click"|"brush"|"selecti
94
104
  - `autoPlaceAnnotations={{ density: true, progressiveDisclosure: true, redundantCues: true }}` — opt-in placement, clutter management, and non-color association support
95
105
  - Annotation metadata: `emphasis`, `defensive`, `provenance`, and `lifecycle`; use `applyAnnotationLifecycle`, `applyAnnotationStatus`, and `filterAnnotationsByStatus` from `semiotic/ai`
96
106
 
107
+ ## ISOTYPE & Icon Size Guidance
108
+ - Repeated pictograms, semantic icons, and glyph tokens should be visibly legible in the final rendered layout. Treat 16px as the minimum intended rendered icon dimension for ISOTYPE/icon-array designs.
109
+ - This is design guidance, not a Semiotic-enforced minimum. Low-level helpers may default smaller for dense or sparkline-like contexts, so set `tokenSize`, glyph `size`, SVG slots, or wrapping explicitly when producing AI-authored examples.
110
+ - If the available width would shrink icons below that visual floor, wrap the tokens into multiple rows/columns, reduce the number of visible tokens, change the unit value, or choose a non-icon encoding instead of shipping tiny pictograms.
111
+
97
112
  ## Theming & Brand Styling
98
113
  All charts respond to CSS custom properties on any ancestor:
99
114
  ```css
@@ -142,5 +157,6 @@ These rules are generated from `ai/behaviorContracts.cjs` and are consumed by `s
142
157
  - **Percentile band + main line**: Layer `<AreaChart yAccessor="p95" y0Accessor="p5" showLine={false} />` + `<LineChart yAccessor="p50" />`. AreaChart's `showLine` only draws the top edge, NOT a separate main line.
143
158
  - **SSR**: `renderChart("BarChart", props)` from `semiotic/server` — uses HOC names. Also `"Sparkline"` (no axes, 2px margins). `renderChartWithEvidence()` returns `{ svg, evidence }` (mark counts by scene type, axis domains, empty flag, annotation count, accessible name) so agents can verify the render drew data marks. `renderToImage()` (PNG), `renderToAnimatedGif()` (GIF), `renderDashboard()` (multi-chart). All accept `theme`. Required props: StackedBarChart needs `stackBy`, GroupedBarChart needs `groupBy`, StackedAreaChart needs `areaBy`, BubbleChart needs `sizeBy`, FunnelChart uses `stepAccessor`, GaugeChart needs `value` (`thresholds` optional).
144
159
  - **CLI**: `npx semiotic-ai --list` shows components/import paths/renderability; `npx semiotic-ai --schema GaugeChart` prints one component schema with metadata; `--doctor` validates props JSON and behavior contracts.
145
- - **MCP**: `npx semiotic-mcp` exposes schema, suggestion, diagnosis, accessibility, grounding, issue, theme, static render (`renderChart`), and ChatGPT Apps render (`renderInteractiveChart`) tools. Resources include `semiotic://schema`, `semiotic://components`, `semiotic://behavior-contracts`, `semiotic://system-prompt`, `semiotic://examples`, and the widget template `ui://semiotic/chart-widget.html`. Prompts: `build-semiotic-chart`, `debug-semiotic-chart`.
160
+ - **MCP**: `npx semiotic-mcp` exposes schema, chart suggestion, token-encoding suggestion (`suggestTokenEncoding` for ISOTYPE/dot/icon arrays), diagnosis, accessibility, grounding, issue, theme, static render (`renderChart`), and ChatGPT Apps render (`renderInteractiveChart`) tools. Resources include `semiotic://schema`, `semiotic://components`, `semiotic://behavior-contracts`, `semiotic://system-prompt`, `semiotic://examples`, and the widget template `ui://semiotic/chart-widget.html`. Prompts: `build-semiotic-chart`, `debug-semiotic-chart`.
161
+ - **Data Pitfalls bridge**: `toDataPitfallsChain(component, props, { rendered, context, narrative })` from `semiotic/ai` returns a dependency-free `datapitfalls` chain input containing config, JSX, reader grounding, diagnostics, accessibility audit, and optional render evidence/image.
146
162
  - **exportChart**: Pass the wrapper div, not the SVG element: `exportChart(wrapperDiv, { format: "png" })`. It finds canvas+SVG internally.
@@ -7,6 +7,10 @@ type AnnotationNote = {
7
7
  orientation?: string;
8
8
  align?: string;
9
9
  noWrap?: boolean;
10
+ /** Render note text in a foreignObject for browser-native HTML wrapping. */
11
+ useHTML?: boolean;
12
+ /** Alias for useHTML. */
13
+ html?: boolean;
10
14
  };
11
15
  type AnnotationConnector = {
12
16
  end?: "arrow";
@@ -14,7 +14,7 @@ export interface CategoryColorProviderProps {
14
14
  */
15
15
  categories?: string[];
16
16
  /** Color scheme to use for auto-assignment. Default: "category10" */
17
- colorScheme?: string | string[];
17
+ colorScheme?: string | string[] | Record<string, string>;
18
18
  children: React.ReactNode;
19
19
  }
20
20
  /**
@@ -1,6 +1,62 @@
1
1
  import * as React from "react";
2
2
  import type { ChartConfig, CopyFormat } from "./export/chartConfig";
3
3
  import { type DescribeLevel } from "./ai/describeChart";
4
+ import type { ChartMode, MobileInteractionProp } from "./charts/shared/types";
5
+ import { type MobileStandardControlRequest, type MobileStandardControlsProps } from "./MobileStandardControls";
6
+ import { type MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
7
+ export type ChartNotificationLevel = "info" | "success" | "warning" | "error" | "neutral";
8
+ /**
9
+ * One entry in a ChartContainer's notification stack — chart-level context
10
+ * that has no single mark to anchor to: an audit or data-pitfall finding, a
11
+ * data-quality result that couldn't be placed on the plot, or any
12
+ * user-authored notice about the chart as a whole.
13
+ */
14
+ export interface ChartNotification {
15
+ /** Stable identity — keys dismissal across re-renders. Falls back to the
16
+ * array index, so pass an `id` whenever the list can reorder or stream. */
17
+ id?: string;
18
+ /** Maps to the theme's semantic role color. Default: "info". */
19
+ level?: ChartNotificationLevel;
20
+ /** Short bold lead-in (e.g. the finding name). */
21
+ title?: string;
22
+ /** Body content. */
23
+ message: React.ReactNode;
24
+ /** Small uppercase origin tag (e.g. "datapitfalls · Graphical Gaffes"). */
25
+ source?: string;
26
+ /** Default true. Set false for must-see notices that can't be dismissed. */
27
+ dismissible?: boolean;
28
+ }
29
+ export interface ChartContainerMobileOptions {
30
+ /** Width at or below which the container applies mobile CSS affordances. Default 480. */
31
+ breakpoint?: number;
32
+ /** Semantic mobile contract passed to child charts that do not already declare one. */
33
+ semantics?: MobileVisualizationContract;
34
+ /** Default chart mode to inject into a single child chart when it has no mode. Pass false to disable. */
35
+ chartMode?: ChartMode | false;
36
+ /** Touch-first interaction policy passed to child charts that do not already declare one. */
37
+ mobileInteraction?: MobileInteractionProp;
38
+ /**
39
+ * Render touch-sized fallback controls for complex mobile gestures. Pass a
40
+ * control request ("brush", "zoom", "legend", "all", true, or an array) or
41
+ * a full MobileStandardControls config with callbacks and state.
42
+ */
43
+ standardControls?: MobileStandardControlRequest | MobileStandardControlsProps;
44
+ /** Mobile-only summary rendered between header and chart body. */
45
+ summary?: React.ReactNode;
46
+ /** Let a non-transformed chart scroll horizontally rather than clip. Prefer responsiveRules when possible. */
47
+ allowHorizontalScroll?: boolean;
48
+ /** Hide toolbar controls behind CSS at phone width. Default false. */
49
+ hideToolbar?: boolean;
50
+ }
51
+ export interface ChartContainerMobileAuditOptions {
52
+ /** Phone viewport used for the authoring audit. Default 390. */
53
+ viewportWidth?: number;
54
+ /** Expected touch target size in CSS pixels. Default 44. */
55
+ targetSize?: number;
56
+ /** Render a visible warning banner in addition to console warnings. */
57
+ visible?: boolean;
58
+ }
59
+ export type ChartContainerMobileAudit = boolean | "warn" | ChartContainerMobileAuditOptions;
4
60
  export interface ChartContainerProps {
5
61
  /** Chart title */
6
62
  title?: string;
@@ -60,6 +116,28 @@ export interface ChartContainerProps {
60
116
  };
61
117
  /** Additional controls rendered in the toolbar after built-in actions */
62
118
  controls?: React.ReactNode;
119
+ /**
120
+ * Persistent content rendered between the header and chart body. Useful for
121
+ * data-source notices, refresh actions, and other status banners that should
122
+ * remain visible while the chart is loading.
123
+ */
124
+ banner?: React.ReactNode;
125
+ /**
126
+ * Chart-level notices rendered as a dismissible, severity-leveled stack
127
+ * between the header and the chart body — the surface for findings that
128
+ * have no mark to anchor to (a data-pitfalls or audit finding about the
129
+ * whole chart, an unplaceable data-quality result) and for any custom
130
+ * user-authored notice. The stack is an `aria-live="polite"` status region,
131
+ * so notifications that arrive while streaming are announced.
132
+ */
133
+ notifications?: ChartNotification[];
134
+ /**
135
+ * Called when a notification's dismiss button is clicked. Dismissal state
136
+ * is tracked internally (keyed by `notification.id`, falling back to array
137
+ * index) whether or not this is provided — use the callback to sync your
138
+ * own store or telemetry.
139
+ */
140
+ onNotificationDismiss?: (notification: ChartNotification, index: number) => void;
63
141
  /** Loading state — shows skeleton placeholder */
64
142
  loading?: boolean;
65
143
  /** Error state — shows error message (overrides children) */
@@ -70,6 +148,19 @@ export interface ChartContainerProps {
70
148
  status?: "live" | "stale" | "paused" | "error" | "static";
71
149
  /** Details panel rendered alongside the chart (e.g. DetailsPanel component) */
72
150
  detailsPanel?: React.ReactNode;
151
+ /**
152
+ * Mobile container affordances. Does not resize the chart by itself; it
153
+ * provides mobile semantics, optional child `mode`, summary placement, and
154
+ * narrow-viewport CSS so ChartContainer participates in the same mobile
155
+ * contract as chart HOCs, custom recipes, and audits.
156
+ */
157
+ mobile?: boolean | ChartContainerMobileOptions;
158
+ /**
159
+ * Optional authoring-time mobile audit. Requires `chartConfig`; `"warn"` logs
160
+ * mobile findings to the console, while `{ visible: true }` also renders a
161
+ * compact warning banner in the container.
162
+ */
163
+ mobileAudit?: ChartContainerMobileAudit;
73
164
  /** CSS class for the outer container */
74
165
  className?: string;
75
166
  /** Inline style overrides */
@@ -9,6 +9,16 @@ export interface ChartGridProps {
9
9
  minCellWidth?: number;
10
10
  /** Gap between cells in pixels. Default: 16 */
11
11
  gap?: number;
12
+ /** Columns between mobile and tablet breakpoints. Leave undefined to use the base grid. */
13
+ tabletColumns?: number;
14
+ /** Columns at the mobile breakpoint. Default: 1 */
15
+ mobileColumns?: number;
16
+ /** Mobile breakpoint used by generated CSS. Default 480. */
17
+ mobileBreakpoint?: number;
18
+ /** Tablet breakpoint used by generated CSS. Default 860. */
19
+ tabletBreakpoint?: number;
20
+ /** Defaults injected into direct child charts when the child has not declared the prop. */
21
+ chartDefaults?: Record<string, unknown>;
12
22
  /** CSS class for the grid container */
13
23
  className?: string;
14
24
  /** Inline style overrides */
@@ -33,7 +43,7 @@ export interface ChartGridProps {
33
43
  * </ChartGrid>
34
44
  * ```
35
45
  */
36
- export declare function ChartGrid({ children, columns, minCellWidth, gap, className, style, }: ChartGridProps): React.JSX.Element;
46
+ export declare function ChartGrid({ children, columns, minCellWidth, gap, tabletColumns, mobileColumns, mobileBreakpoint, tabletBreakpoint, chartDefaults, className, style, }: ChartGridProps): React.JSX.Element;
37
47
  export declare namespace ChartGrid {
38
48
  var displayName: string;
39
49
  }
@@ -0,0 +1,61 @@
1
+ import * as React from "react";
2
+ /**
3
+ * `CircularBrush` — an accessible range brush over a **cyclical** domain
4
+ * (day-of-year, hour-of-day, compass bearing, phase). The radial counterpart to
5
+ * the linear `RealtimeHistogram` brush: a selected arc with two draggable
6
+ * handles, wrap-around ranges, pointer-capture drag, and full keyboard control.
7
+ *
8
+ * **Control-surface contract.** This is a *control*, not a chart: it takes
9
+ * `value` + `domain`/`period` + geometry + `onChange`, and never reaches into a
10
+ * chart's internals. Layer it over a chart that shares its coordinate space (an
11
+ * absolutely-positioned overlay, or embed its `<g>` in the chart's SVG) and feed
12
+ * `onChange` into your own state — or into the linked-selection store — so the
13
+ * brush drives a selection without a provider. Geometry in, value out.
14
+ *
15
+ * **Accessibility.** Each handle and the range itself is a `role="slider"` with
16
+ * `aria-valuemin/max/now` (and `aria-valuetext` when `formatValue` is given),
17
+ * reachable by Tab and nudgeable with ←/→ (Shift = `largeStep`). Built on the
18
+ * tested radial (`polarToXY`/`xyToAngle`/`ringArcPath`) + cyclical
19
+ * (`wrapValue`/`shortestArcDelta`) kit, so wrap-around never unwinds the long way.
20
+ */
21
+ export interface CircularBrushValue {
22
+ /** Range start, in domain units (e.g. day-of-year). */
23
+ start: number;
24
+ /** Range end, in domain units. When `start > end` the range wraps the cycle. */
25
+ end: number;
26
+ }
27
+ export interface CircularBrushProps {
28
+ /** The current selected range. Controlled. */
29
+ value: CircularBrushValue;
30
+ /** Called with the next value, or an updater — mirrors `setState`, so you can
31
+ * pass a `useState` setter directly. */
32
+ onChange: (next: CircularBrushValue | ((current: CircularBrushValue) => CircularBrushValue)) => void;
33
+ /** Cycle length in domain units. @default 365 (day-of-year) */
34
+ period?: number;
35
+ /** Outer radius of the brush ring, px. @default 180 */
36
+ radius?: number;
37
+ /** Inner radius of the brush band, px. @default 14 */
38
+ innerRadius?: number;
39
+ /** SVG width, px. @default `radius * 2 + 40` */
40
+ width?: number;
41
+ /** SVG height, px. @default `radius * 2 + 40` */
42
+ height?: number;
43
+ /** Keyboard nudge step (←/→), domain units. @default 1 */
44
+ step?: number;
45
+ /** Shift+arrow step, domain units. @default 7 */
46
+ largeStep?: number;
47
+ /** Accessible label prefix for the handles + range. @default "Range" */
48
+ label?: string;
49
+ /** Format a domain value for `aria-valuetext` (e.g. a date). */
50
+ formatValue?: (value: number) => string;
51
+ /** Brush arc fill. @default a translucent primary */
52
+ arcFill?: string;
53
+ /** Brush arc + handle stroke. @default white */
54
+ stroke?: string;
55
+ className?: string;
56
+ /** Inline style for the root `<svg>`. Use it to position the control as an
57
+ * overlay over a chart sharing its coordinate space — e.g.
58
+ * `{ position: "absolute", inset: 0, width: "100%", height: "100%" }`. */
59
+ style?: React.CSSProperties;
60
+ }
61
+ export declare function CircularBrush({ value, onChange, period, radius, innerRadius, width, height, step, largeStep, label, formatValue, arcFill, stroke, className, style, }: CircularBrushProps): React.ReactElement;
@@ -8,6 +8,10 @@ export interface ContextLayoutProps {
8
8
  position?: "right" | "left" | "bottom" | "top";
9
9
  /** Size of the context panel in pixels. Default: 250 */
10
10
  contextSize?: number;
11
+ /** Mobile context placement. Default: "bottom" */
12
+ mobilePosition?: "top" | "bottom" | "preserve";
13
+ /** Mobile breakpoint used by generated CSS. Default 480. */
14
+ mobileBreakpoint?: number;
11
15
  /** Gap between primary and context panels in pixels. Default: 12 */
12
16
  gap?: number;
13
17
  /** CSS class for the layout container */
@@ -32,7 +36,7 @@ export interface ContextLayoutProps {
32
36
  * </ContextLayout>
33
37
  * ```
34
38
  */
35
- export declare function ContextLayout({ children, context, position, contextSize, gap, className, style, }: ContextLayoutProps): React.JSX.Element;
39
+ export declare function ContextLayout({ children, context, position, contextSize, mobilePosition, mobileBreakpoint, gap, className, style, }: ContextLayoutProps): React.JSX.Element;
36
40
  export declare namespace ContextLayout {
37
41
  var displayName: string;
38
42
  }
@@ -3,6 +3,7 @@ interface DataSummaryState {
3
3
  /** When true, AccessibleDataTable renders visibly instead of sr-only */
4
4
  visible: boolean;
5
5
  setVisible: React.Dispatch<React.SetStateAction<boolean>>;
6
+ toggle: () => void;
6
7
  }
7
8
  export declare function DataSummaryProvider({ children }: {
8
9
  children: React.ReactNode;
@@ -0,0 +1,63 @@
1
+ import * as React from "react";
2
+ import type { ControlObservationCallback, VisualizationControlType } from "./controls/controlContract";
3
+ export { VISUALIZATION_CONTROL_TYPES } from "./controls/controlContract";
4
+ export type { ControlObservation, ControlObservationCallback, ControlObservationPhase, VisualizationControlDefinition, VisualizationControlType, VisualizationControlValue, } from "./controls/controlContract";
5
+ export interface DirectManipulationControlProps {
6
+ /** Controlled numeric value expressed in the chart's data domain. */
7
+ value: number;
8
+ /** Called on pointer drag or keyboard nudge. */
9
+ onChange: (value: number) => void;
10
+ /** Convert a pointer event in the control's frame coordinate space to a value. */
11
+ pointerToValue: (event: React.PointerEvent<SVGGElement>) => number | null | undefined;
12
+ /** Inclusive value domain. */
13
+ min: number;
14
+ max: number;
15
+ /** Keyboard and pointer quantization step. @default 1 */
16
+ step?: number;
17
+ /** Shift+arrow nudge. @default step * 5 */
18
+ largeStep?: number;
19
+ /** Position in the shared SVG/frame coordinate space. */
20
+ x: number;
21
+ y: number;
22
+ /** Semantic machine-readable control classification. */
23
+ controlType?: VisualizationControlType;
24
+ /** Stable identity for observations, audits, and portable recipes. */
25
+ controlId?: string;
26
+ /** Accessible label. */
27
+ label: string;
28
+ /** Optional human-readable current value. */
29
+ valueText?: string;
30
+ /** Handle radius in CSS/SVG pixels. @default 12 */
31
+ radius?: number;
32
+ /** Handle fill. Defaults to the active Semiotic surface token. */
33
+ fill?: string;
34
+ /** Handle stroke. Defaults to the active Semiotic primary token. */
35
+ stroke?: string;
36
+ strokeWidth?: number;
37
+ /** Optional text rendered next to the handle. */
38
+ labelText?: React.ReactNode;
39
+ labelDx?: number;
40
+ labelDy?: number;
41
+ labelClassName?: string;
42
+ className?: string;
43
+ disabled?: boolean;
44
+ onChangeStart?: (value: number) => void;
45
+ onChangeEnd?: (value: number) => void;
46
+ /** Optional adapter to the same onObservation stream used by frames. */
47
+ onObservation?: ControlObservationCallback;
48
+ /** Owning chart identity when this control is layered over a frame. */
49
+ chartId?: string;
50
+ /** Owning frame/chart name used by control observations. */
51
+ chartType?: string;
52
+ }
53
+ /**
54
+ * A small SVG-native control surface for a chart that owns its own scales.
55
+ *
56
+ * `DirectManipulationControl` deliberately does not know about a particular
57
+ * Semiotic frame. The chart supplies `pointerToValue`, making this usable in
58
+ * XY, ordinal, geographic, radial, and custom-layout overlays without the
59
+ * control reaching into frame internals. It contributes the repeated parts
60
+ * every visualization control needs: pointer capture, data-domain clamping,
61
+ * keyboard stepping, focus semantics, and a stable machine-readable type.
62
+ */
63
+ export declare function DirectManipulationControl({ value, onChange, pointerToValue, min, max, step, largeStep, x, y, controlType, controlId, label, valueText, radius, fill, stroke, strokeWidth, labelText, labelDx, labelDy, labelClassName, className, disabled, onChangeStart, onChangeEnd, onObservation, chartId, chartType, }: DirectManipulationControlProps): React.ReactElement;
@@ -1,12 +1,14 @@
1
1
  import * as React from "react";
2
2
  import type { ResolutionMode } from "./store/SelectionStore";
3
- type LegendInteractionMode = "highlight" | "isolate" | "none";
3
+ export type LegendInteractionMode = "highlight" | "isolate" | "none";
4
4
  export { useSelection, useSelectionActions, useLinkedHover, useBrushSelection, useFilteredData } from "./store/useSelection";
5
5
  export type { UseSelectionOptions, UseSelectionResult, UseSelectionActionsResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./store/useSelection";
6
6
  export { useChartObserver } from "./store/useObservation";
7
7
  export type { UseChartObserverOptions, UseChartObserverResult } from "./store/useObservation";
8
8
  /** Hook: returns true when a parent LinkedCharts is handling the legend. */
9
9
  export declare function useLinkedLegendSuppression(): boolean;
10
+ /** Hook: returns true when descendants are already inside a LinkedCharts provider. */
11
+ export declare function useLinkedChartsActive(): boolean;
10
12
  /** Register a chart's current color categories with the nearest LinkedCharts. */
11
13
  export declare function useLinkedChartCategories(categories: string[]): void;
12
14
  /** True when a chart can register live categories with a parent LinkedCharts. */
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import type { MobileAnnotationCalloutItem } from "./recipes/mobileAnnotationStrategy";
3
+ export interface MobileAnnotationCalloutListProps {
4
+ items: readonly MobileAnnotationCalloutItem[];
5
+ title?: React.ReactNode;
6
+ empty?: React.ReactNode;
7
+ ordered?: boolean;
8
+ renderItem?: (item: MobileAnnotationCalloutItem, index: number) => React.ReactNode;
9
+ className?: string;
10
+ style?: React.CSSProperties;
11
+ }
12
+ export declare function MobileAnnotationCalloutList({ items, title, empty, ordered, renderItem, className, style, }: MobileAnnotationCalloutListProps): React.JSX.Element | null;
13
+ export default MobileAnnotationCalloutList;
@@ -0,0 +1,51 @@
1
+ import * as React from "react";
2
+ import type { ChartContainerMobileOptions, ChartContainerProps } from "./ChartContainer";
3
+ import type { ChartMode, MobileInteractionProp } from "./charts/shared/types";
4
+ import type { MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
5
+ export interface MobileChartChip {
6
+ id: string;
7
+ label: React.ReactNode;
8
+ description?: React.ReactNode;
9
+ disabled?: boolean;
10
+ }
11
+ export type MobileChartDetailMode = "sheet" | "inline" | "none";
12
+ export interface MobileChartContainerProps extends Omit<ChartContainerProps, "mobile"> {
13
+ /** Overrides for the underlying ChartContainer mobile contract. */
14
+ mobile?: ChartContainerMobileOptions;
15
+ /** Width at or below which the mobile affordances should activate. Default 480. */
16
+ breakpoint?: number;
17
+ /** Child chart mode injected by ChartContainer. Default "mobile". */
18
+ chartMode?: ChartMode | false;
19
+ /** Touch-first interaction policy injected into the child chart. Default true. */
20
+ mobileInteraction?: MobileInteractionProp;
21
+ /** Semantic mobile contract injected into the child chart. */
22
+ mobileSemantics?: MobileVisualizationContract;
23
+ /** Mobile-only summary card rendered between the ChartContainer header and plot. */
24
+ mobileSummary?: React.ReactNode;
25
+ /** Optional mobile chip controls rendered in the summary card. */
26
+ chips?: MobileChartChip[];
27
+ /** Controlled active chip id. */
28
+ activeChip?: string;
29
+ /** Called when a chip is tapped. */
30
+ onChipChange?: (chip: MobileChartChip) => void;
31
+ /** Optional detail content rendered below the chart as an inline card or sticky sheet. */
32
+ detail?: React.ReactNode;
33
+ /** Detail panel heading. Default "Details". */
34
+ detailTitle?: React.ReactNode;
35
+ /** Detail panel placement. Default "sheet". */
36
+ detailMode?: MobileChartDetailMode;
37
+ /** Initial open state for sheet details. Inline details are always visible. */
38
+ initialDetailOpen?: boolean;
39
+ /** Last-resort horizontal scroll fallback for legacy or intentionally wide charts. */
40
+ allowHorizontalScroll?: boolean;
41
+ /** Hide toolbar controls at the mobile breakpoint. */
42
+ hideToolbar?: boolean;
43
+ /**
44
+ * Props injected into a single child chart only when that child has not
45
+ * already declared the same prop. Use for chart-specific mobile defaults
46
+ * such as { directLabel: true, showLegend: false }.
47
+ */
48
+ chartDefaults?: Record<string, unknown>;
49
+ }
50
+ export declare function MobileChartContainer({ children, controls, mobile, breakpoint, chartMode, mobileInteraction, mobileSemantics, mobileSummary, chips, activeChip, onChipChange, detail, detailTitle, detailMode, initialDetailOpen, allowHorizontalScroll, hideToolbar, chartDefaults, ...containerProps }: MobileChartContainerProps): React.JSX.Element;
51
+ export default MobileChartContainer;