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
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";const e=require("react/jsx-runtime"),t=require("react");function n(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const i=n(t);function r({componentName:t,message:n,diagnosticHint:i,width:r,height:l}){return e.jsx("div",{role:"alert",style:{width:r,height:Math.max(l,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:e.jsxs("div",{style:{textAlign:"center",maxWidth:400},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:t}),e.jsx("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:n}),i&&e.jsx("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:i})]})})}class l extends i.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var n,i;null===(i=(n=this.props).onError)||void 0===i||i.call(n,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,n=this.state.error;return"function"==typeof t?t(n):void 0!==t?t:e.jsx(r,{componentName:"ChartErrorBoundary",message:n.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function o({componentName:t,width:n,height:i,children:o}){return e.jsx(l,{fallback:l=>e.jsx(r,{componentName:t,message:l.message,width:n,height:i}),children:o})}function a(e,t={}){var n,i,r,l,o,a,u;if("function"==typeof e)return e;const c=null!==(n=t.locale)&&void 0!==n?n:"en-US",d=null!==(i=t.currency)&&void 0!==i?i:"USD";if("currency"===e){const e=null!==(r=t.precision)&&void 0!==r?r:2,n=new Intl.NumberFormat(c,{style:"currency",currency:d,maximumFractionDigits:e,minimumFractionDigits:e});return e=>n.format(e)}if("percent"===e){const e=null!==(l=t.precision)&&void 0!==l?l:1,n=new Intl.NumberFormat(c,{style:"percent",maximumFractionDigits:e,minimumFractionDigits:0});return e=>n.format(e)}if("compact"===e){const e=null!==(o=t.precision)&&void 0!==o?o:1,n=new Intl.NumberFormat(c,{notation:"compact",maximumFractionDigits:e,minimumFractionDigits:0});return e=>n.format(e)}if("duration"===e)return e=>s(e);const m=null!==(a=t.precision)&&void 0!==a?a:0,h=new Intl.NumberFormat(c,{notation:null!==(u=t.notation)&&void 0!==u?u:"standard",maximumFractionDigits:m,minimumFractionDigits:0});return e=>h.format(e)}function s(e){if(!Number.isFinite(e))return e+"";const t=0>e?"-":"",n=Math.abs(e);if(1e3>n)return`${t}${Math.round(n)}ms`;const i=n/1e3;if(60>i)return`${t}${r=i,Math.round(100*r)/100+""}s`;var r;const l=i/60;if(60>l){const e=Math.floor(l),n=Math.round(i-60*e);return 0===n?`${t}${e}m`:`${t}${e}m ${n}s`}const o=l/60;if(24>o){const e=Math.floor(o),n=Math.round(l-60*e);return 0===n?`${t}${e}h`:`${t}${e}h ${n}m`}const a=Math.floor(o/24),s=Math.round(o-24*a);return 0===s?`${t}${a}d`:`${t}${a}d ${s}h`}function u(e,t,n){return`${null!=t?t:""}${e}${null!=n?n:""}`}function c(e,t){return Number.isFinite(e)?0===e?t(0):`${e>0?"+":"−"}${t(Math.abs(e))}`:""}function d(e,t,n="en-US",i=1){if(!Number.isFinite(e)||!Number.isFinite(t))return null;if(0===e)return null;const r=(t-e)/Math.abs(e);return new Intl.NumberFormat(n,{style:"percent",maximumFractionDigits:i,minimumFractionDigits:0,signDisplay:"exceptZero"}).format(r)}function m(e,t){if(!t||0===t.length)return null;if(!Number.isFinite(e))return null;const n=t.filter(e=>Number.isFinite(e.at)||e.at===-1/0).slice().sort((e,t)=>e.at-t.at);let i=null;for(const t of n){if(t.at>e)break;i=t}return i}function h(e,t){return t||("neutral"===e?"var(--semiotic-text, currentColor)":`var(--semiotic-${e}, currentColor)`)}"undefined"!=typeof process&&process;const b={tile:{width:280,height:184,align:"start",labelSize:13,captionSize:11,valueSize:40,deltaSize:13,padding:{top:14,right:16,bottom:14,left:16},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:44},presentation:{width:540,height:320,align:"center",labelSize:18,captionSize:14,valueSize:96,deltaSize:18,padding:{top:32,right:32,bottom:32,left:32},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:80},inline:{width:void 0,height:void 0,align:"inherit",labelSize:0,captionSize:0,valueSize:0,deltaSize:0,padding:{top:0,right:0,bottom:0,left:0},background:"transparent",border:!1,showHeader:!1,showDelta:!0,showTrend:!1,showChart:!1,chartSize:0},thumbnail:{width:96,height:56,align:"center",labelSize:0,captionSize:0,valueSize:22,deltaSize:0,padding:{top:4,right:6,bottom:4,left:6},background:"transparent",border:!1,showHeader:!1,showDelta:!1,showTrend:!1,showChart:!1,chartSize:0}};function f(e,t,n){return void 0===e?n:"function"==typeof e?e(t):e}function g(e){return"positive"===e?"var(--semiotic-success, currentColor)":"negative"===e?"var(--semiotic-danger, currentColor)":"var(--semiotic-text-secondary, currentColor)"}function p(e){return"positive"===e?"▲":"negative"===e?"▼":"■"}const v=t.forwardRef((n,i)=>{var r,l,s,v;const{value:x,label:w,caption:N,format:S,locale:j,currency:F,precision:$,prefix:_,suffix:z,unit:M,comparison:D,target:C,delta:k,deltaFormat:I,showDeltaPercent:L,direction:R,sentiment:O,thresholds:E,windowSize:B=60,mode:P="tile",align:T,width:H,height:W,padding:A,emphasis:V,color:q,background:U,borderColor:Z,borderRadius:X,className:Y,style:G,animate:J,stalenessThreshold:K,staleLabel:Q,headerSlot:ee,valueSlot:te,deltaSlot:ne,trendSlot:ie,chartSlot:re,chartSize:le,footerSlot:oe,onClick:ae,onObservation:se,chartId:ue,description:ce,summary:de,loading:me,loadingContent:he,emptyContent:be}=n,fe=null!==(r=b[P])&&void 0!==r?r:b.tile,ge=null!=T?T:fe.align,pe=null!=H?H:fe.width,ve=null!=W?W:fe.height,xe=function(){const[e,n]=t.useState(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return t.useEffect(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return n(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const n=e;return n.addListener(t),()=>n.removeListener(t)}(e,e=>n(e.matches))},[]),e}(),[ye,we]=t.useState([]),[Ne,Se]=t.useState(null),[je,Fe]=t.useState(null),[$e,_e]=t.useState(null),ze=t.useRef([]),Me=t.useRef(null),De=t.useRef(x);t.useEffect(()=>{De.current=x},[x]);const Ce=t.useRef(B);t.useEffect(()=>{Ce.current=B},[B]);const ke=t.useCallback(e=>{const t="number"==typeof e?{value:e,time:Date.now()}:Object.assign({time:Date.now()},e),n="number"==typeof t.time?t.time:t.time instanceof Date?t.time.getTime():Date.now();return Object.assign(Object.assign({},t),{time:n})},[]),Ie=t.useCallback(e=>{if(0===e.length)return;const t=Ce.current,n=e.map(ke);let i=ze.current.concat(n);i.length>t&&(i=i.slice(i.length-t)),ze.current=i;const r=n[n.length-1];Me.current=r.value,we(i),Se(r.value);for(let e=n.length-1;e>=0;e--){const t=n[e].comparison;if(null!=t){Fe(t);break}}_e(r.time)},[ke]),Le=t.useCallback(e=>Ie([e]),[Ie]);t.useImperativeHandle(i,()=>({push:e=>Le(e),pushMany:e=>Ie(e),clear:()=>{ze.current=[],Me.current=null,we([]),Se(null),Fe(null),_e(null)},getValue:()=>{var e;return null!==(e=Me.current)&&void 0!==e?e:Number.isFinite(De.current)?De.current:null},getData:()=>ze.current.slice()}),[Le,Ie]);const Re=null!=Ne?Ne:x,Oe=null==Re||"number"!=typeof Re||!Number.isFinite(Re),Ee=t.useMemo(()=>a(null!=S?S:"number",{locale:j,currency:F,precision:$}),[S,j,F,$]),Be=t.useMemo(()=>{var e;return a(null!==(e=null!=I?I:S)&&void 0!==e?e:"number",{locale:j,currency:F,precision:null==I&&null==S?0:$})},[I,S,j,F,$]),Pe=null!=J&&J,Te=t.useRef(("object"==typeof Pe&&!1===Pe.intro||!Pe)&&Number.isFinite(x)?x:0),He=function(e,n,i){const[r,l]=t.useState(e),o=t.useRef(null),a=t.useRef(e),s=t.useRef(0),u=t.useRef(e);return t.useEffect(()=>{if(!Number.isFinite(e))return void l(e);if(!n||i)return void l(e);const t="object"==typeof n&&n.duration?n.duration:300,c="object"==typeof n&&"linear"===n.easing?"linear":"ease-out";a.current=r,u.current=e,s.current="undefined"!=typeof performance?performance.now():Date.now();const d="linear"===c?e=>e:e=>1-Math.pow(1-e,3),m=e=>{const n=Math.min(1,(e-s.current)/t),i=d(n);l(a.current+(u.current-a.current)*i),1>n?o.current=requestAnimationFrame(m):(o.current=null,l(u.current))};return o.current=requestAnimationFrame(m),()=>{null!=o.current&&cancelAnimationFrame(o.current),o.current=null}},[e,n,i]),r}(Number.isFinite(Re)?Re:Te.current,Pe,xe),We=Pe?He:Number.isFinite(Re)?Re:0,Ae=t.useMemo(()=>m(Number.isFinite(Re)?Re:NaN,E),[Re,E]),Ve=Ae?Ae.level:"neutral",qe=null!=q?q:h(Ve,null==Ae?void 0:Ae.color),Ue=null!==(l=null!=je?je:null==D?void 0:D.value)&&void 0!==l?l:null,Ze=null!=k?k:null!=Ue&&Number.isFinite(Re)?Re-Ue:null,Xe=function(e,t,n){if(n&&"auto"!==n)return n;if(null==e||0===e||!Number.isFinite(e))return"neutral";const i=null!=t?t:"higher-is-better";return"neutral"===i?"neutral":("higher-is-better"===i?e>0:0>e)?"positive":"negative"}(Ze,null!==(v=null!==(s=null==D?void 0:D.direction)&&void 0!==s?s:null==C?void 0:C.direction)&&void 0!==v?v:R,O),Ye=null!=Ze&&Number.isFinite(Ze)?c(Ze,Be):null,Ge=null!=Ue&&Number.isFinite(Re)&&(null==L||L)?d(Ue,Re,j):null,Je=t.useMemo(()=>{if(!C||!Number.isFinite(Re)||!C.value)return null;const e=Re/C.value;return new Intl.NumberFormat(null!=j?j:"en-US",{style:"percent",maximumFractionDigits:0}).format(e)},[C,Re,j]),Ke=t.useMemo(()=>{var e,t;return a(null!==(t=null!==(e=null==C?void 0:C.format)&&void 0!==e?e:S)&&void 0!==t?t:"number",{locale:j,currency:F,precision:$})},[null==C?void 0:C.format,S,j,F,$]),Qe=t.useMemo(()=>{var e,t;return a(null!==(t=null!==(e=null==D?void 0:D.format)&&void 0!==e?e:S)&&void 0!==t?t:"number",{locale:j,currency:F,precision:$})},[null==D?void 0:D.format,S,j,F,$]),et=function(e,n){const[i,r]=t.useState(!1);return t.useEffect(()=>{if(!n||null==e)return void r(!1);const t=()=>{const t=Date.now()-e;r(t>=n)};t();const i=setInterval(t,Math.max(250,Math.floor(n/4)));return()=>clearInterval(i)},[e,n]),i}($e,K),tt=Number.isFinite(We)?u(Ee(We),_,z):"",nt={value:Oe?null:Re,formattedValue:tt,level:Ve,color:qe,delta:Ze,deltaFormatted:Ye,deltaPercent:Ge,sentiment:Xe,isStale:et,pushBuffer:ye},it=null!=ce?ce:function(e){var t;const n=[];if(e.label&&n.push(e.label+":"),n.push(e.unit?`${e.formattedValue} ${e.unit}`:e.formattedValue),e.deltaFormatted){const t=e.delta;n.push(`${null!=t&&Number.isFinite(t)&&0!==t?t>0?"up":"down":"change"} ${e.deltaFormatted}${e.deltaPercent?` (${e.deltaPercent})`:""}${e.comparisonLabel?" from "+e.comparisonLabel:""}`)}return e.targetPercent&&e.targetLabel&&n.push(`${e.targetPercent} of ${e.targetLabel}`),e.stale&&n.push(null!==(t=e.staleLabel)&&void 0!==t?t:"stale"),n.join(", ")}({label:w,formattedValue:Number.isFinite(Re)?u(Ee(Re),_,z):"",unit:M,comparisonLabel:null==D?void 0:D.label,delta:Ze,deltaFormatted:Ye,deltaPercent:Ge,targetLabel:null==C?void 0:C.label,targetPercent:Je,stale:et,staleLabel:Q}),rt="number"==typeof A?{top:A,right:A,bottom:A,left:A}:Object.assign(Object.assign({},fe.padding),null!=A?A:{}),lt="end"===ge?"flex-end":"center"===ge?"center":"start"===ge?"flex-start":"inherit",ot=Object.assign({position:"relative",boxSizing:"border-box",width:pe,height:ve,padding:`${rt.top}px ${rt.right}px ${rt.bottom}px ${rt.left}px`,background:null!=U?U:fe.background,border:fe.border?"1px solid "+(null!=Z?Z:"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof X?X+"px":null!=X?X:"var(--semiotic-border-radius, 8px)",display:"inline"===P?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===lt?void 0:lt,textAlign:ge,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:et?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===V?"span 2":void 0,cursor:ae?"pointer":void 0},G),at=t.useCallback(e=>{const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top,r={value:Oe?NaN:Re,level:Ve,delta:Ze};ae&&ae(r,{x:n,y:i}),se&&se({type:"click",datum:r,x:n,y:i,chartType:"BigNumber",chartId:ue,timestamp:Date.now()})},[ae,se,ue,Oe,Re,Ve,Ze]),st="inline"===P?"span":"div",ut=["semiotic-bignumber","semiotic-bignumber--mode-"+P,"semiotic-bignumber--level-"+Ve,"semiotic-bignumber--sentiment-"+Xe,et?"semiotic-bignumber--stale":null,Y].filter(Boolean).join(" "),ct="positive"===Xe?"up":"negative"===Xe?"down":"flat";if(me){const t="number"==typeof pe?pe:280,n="number"==typeof ve?ve:160;return e.jsx(st,{role:"status","aria-live":"polite","aria-busy":"true",className:ut+" semiotic-bignumber--loading",style:Object.assign(Object.assign({},ot),{opacity:1}),children:null!=he?he:e.jsx(y,{width:t,height:n,mode:P})})}return Oe?!1===be?null:e.jsx(st,{role:"status","aria-label":w?w+": no value":"no value",className:ut+" semiotic-bignumber--empty",style:Object.assign(Object.assign({},ot),{color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"}),children:null!=be?be:"—"}):e.jsx(o,{componentName:"BigNumber",width:"number"==typeof pe?pe:280,height:"number"==typeof ve?ve:160,children:e.jsxs(st,{role:"group","aria-label":it,"data-chart":"BigNumber","data-mode":P,"data-level":Ve,"data-stale":et?"true":void 0,"data-sentiment":Xe,className:ut,style:ot,onClick:ae||se?at:void 0,children:[fe.showHeader&&(w||N||ee)?e.jsx("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:fe.showChart&&null!=re?(null!=le?le:fe.chartSize)+8:0},children:f(ee,nt,e.jsxs(e.Fragment,{children:[w?e.jsx("span",{className:"semiotic-bignumber__label",style:{fontSize:fe.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:w}):null,N?e.jsx("span",{className:"semiotic-bignumber__caption",style:{fontSize:fe.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:N}):null]}))}):null,f(te,nt,e.jsxs(st,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+Ve,style:{display:"inline"===P?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:qe,fontSize:fe.valueSize||void 0,lineHeight:1.05},children:[e.jsx("span",{className:"semiotic-bignumber__value-text",children:tt}),M?e.jsx("span",{className:"semiotic-bignumber__unit",style:{fontSize:fe.valueSize?Math.max(11,Math.round(.32*fe.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:M}):null]})),fe.showDelta&&(Ye||C||D)?e.jsx(st,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+ct,style:{display:"inline"===P?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===P?0:6,fontSize:fe.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:f(ne,nt,e.jsxs(e.Fragment,{children:[Ye?e.jsxs("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+ct,style:{display:"inline-flex",alignItems:"center",gap:4,color:g(Xe),fontWeight:600},children:[e.jsx("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+ct,children:p(Xe)}),e.jsx("span",{className:"semiotic-bignumber__delta-amount",children:Ye}),Ge?e.jsxs("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",Ge,")"]}):null]}):null,(null==D?void 0:D.label)?e.jsx("span",{className:"semiotic-bignumber__comparison-label",children:D.label}):null,C?e.jsxs("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[Ye||(null==D?void 0:D.label)?e.jsx("span",{"aria-hidden":"true",className:"semiotic-bignumber__separator",children:"·"}):null,e.jsx("span",{className:"semiotic-bignumber__target-percent",style:{fontWeight:500,color:"var(--semiotic-text, #111)"},children:Je}),e.jsxs("span",{className:"semiotic-bignumber__target-value",children:["of ",Ke(C.value),C.label?" "+C.label:""]})]}):null]}))}):null,fe.showChart&&null!=re?e.jsx("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:rt.top,right:rt.right,width:null!=le?le:fe.chartSize,height:null!=le?le:fe.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e.jsx("div",{style:{pointerEvents:"auto",lineHeight:0},children:f(re,nt,null)})}):null,fe.showTrend&&null!=ie?e.jsx("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:rt.left,right:rt.right,bottom:rt.bottom+(null!=oe?28:0)},children:f(ie,nt,null)}):null,null!=oe?e.jsx(st,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:rt.left,right:rt.right,bottom:rt.bottom,fontSize:fe.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:f(oe,nt,null)}):null,de?e.jsx("span",{style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:de}):null,e.jsx("span",{"aria-hidden":"true",style:{display:"none"},children:null!=Ue?Qe(Ue):null})]})})});v.displayName="BigNumber";const x=v;function y(t){const n=Math.floor(.45*t.width),i=Math.floor(.6*t.width),r=(t,n)=>e.jsx("div",{style:{width:t,height:n,background:"var(--semiotic-border, #e0e0e0)",borderRadius:4,opacity:.55}});return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10,justifyContent:"center",width:"100%",height:"100%"},children:["thumbnail"!==t.mode&&"inline"!==t.mode?r(n,10):null,r(i,"presentation"===t.mode?48:28),"tile"===t.mode||"presentation"===t.mode?r(Math.floor(.35*t.width),8):null]})}exports.BigNumber=x,exports.BigNumberDefault=x,exports.buildFormatter=a,exports.buildSparklinePath=function(e,t){var n,i,r;const l=null!==(n=t.padding)&&void 0!==n?n:1;if(0===e.length)return{line:"",area:"",points:[]};if(1===e.length){const e=t.width/2,n=t.height/2;return{line:`M${e},${n}`,area:"",points:[{x:e,y:n}]}}const o=null!==(i=t.yMin)&&void 0!==i?i:e.reduce((e,t)=>Number.isFinite(t)&&e>t?t:e,1/0),a=(null!==(r=t.yMax)&&void 0!==r?r:e.reduce((e,t)=>Number.isFinite(t)&&t>e?t:e,-1/0))-o||1,s=Math.max(0,t.width-2*l),u=Math.max(0,t.height-2*l),c=1===e.length?0:s/(e.length-1),d=[];let m="";for(let t=0;e.length>t;t++){const n=e[t];if(!Number.isFinite(n))continue;const i=l+t*c,r=l+u-(n-o)/a*u;m+=`${0===d.length?"M":"L"}${i.toFixed(2)},${r.toFixed(2)}`,d.push({x:i,y:r})}if(0===d.length)return{line:"",area:"",points:[]};const h=d[0],b=l+u;return{line:m,area:`${m} L${d[d.length-1].x.toFixed(2)},${b.toFixed(2)} L${h.x.toFixed(2)},${b.toFixed(2)} Z`,points:d}},exports.colorForLevel=h,exports.formatDeltaPercent=d,exports.formatDuration=s,exports.formatSignedDelta=c,exports.resolveThreshold=m;
2
+ "use strict";var e,t=Object.create,i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,l=(e,t,a,l)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of r(t))o.call(e,s)||s===a||i(e,s,{get:()=>t[s],enumerable:!(l=n(t,s))||l.enumerable});return e},s={};((e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})})(s,{BigNumber:()=>k,BigNumberDefault:()=>I,buildFormatter:()=>x,buildSparklinePath:()=>j,colorForLevel:()=>F,formatDeltaPercent:()=>N,formatDuration:()=>y,formatSignedDelta:()=>w,resolveThreshold:()=>S}),module.exports=(e=s,l(i({},"__esModule",{value:!0}),e));var u=require("react"),c=((e,n,r)=>(r=null!=e?t(a(e)):{},l(e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)))(require("react")),m=require("react/jsx-runtime");function d({componentName:e,message:t,diagnosticHint:i,width:n,height:r}){return(0,m.jsx)("div",{role:"alert",style:{width:n,height:Math.max(r,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:(0,m.jsxs)("div",{style:{textAlign:"center",maxWidth:400},children:[(0,m.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:e}),(0,m.jsx)("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:t}),i&&(0,m.jsx)("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:i})]})})}var h=require("react/jsx-runtime"),b=class extends c.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?.(e,t)}render(){if(this.state.error){const{fallback:e}=this.props,t=this.state.error;return"function"==typeof e?e(t):void 0!==e?e:(0,h.jsx)(d,{componentName:"ChartErrorBoundary",message:t.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}},f=require("react/jsx-runtime");function p({componentName:e,width:t,height:i,children:n}){return(0,f.jsx)(b,{fallback:n=>(0,f.jsx)(d,{componentName:e,message:n.message,width:t,height:i}),children:n})}"undefined"!=typeof process&&process;var g=require("react");function x(e,t={}){if("function"==typeof e)return e;const i=t.locale??"en-US";if("currency"===e){const e=t.precision??2,n=new Intl.NumberFormat(i,{style:"currency",currency:t.currency??"USD",maximumFractionDigits:e,minimumFractionDigits:e});return e=>n.format(e)}if("percent"===e){const e=new Intl.NumberFormat(i,{style:"percent",maximumFractionDigits:t.precision??1,minimumFractionDigits:0});return t=>e.format(t)}if("compact"===e){const e=new Intl.NumberFormat(i,{notation:"compact",maximumFractionDigits:t.precision??1,minimumFractionDigits:0});return t=>e.format(t)}if("duration"===e)return e=>y(e);const n=new Intl.NumberFormat(i,{notation:t.notation??"standard",maximumFractionDigits:t.precision??0,minimumFractionDigits:0});return e=>n.format(e)}function y(e){if(!Number.isFinite(e))return e+"";const t=0>e?"-":"",i=Math.abs(e);if(1e3>i)return`${t}${Math.round(i)}ms`;const n=i/1e3;if(60>n)return`${t}${r=n,Math.round(100*r)/100+""}s`;var r;const a=n/60;if(60>a){const e=Math.floor(a),i=Math.round(n-60*e);return 0===i?`${t}${e}m`:`${t}${e}m ${i}s`}const o=a/60;if(24>o){const e=Math.floor(o),i=Math.round(a-60*e);return 0===i?`${t}${e}h`:`${t}${e}h ${i}m`}const l=Math.floor(o/24),s=Math.round(o-24*l);return 0===s?`${t}${l}d`:`${t}${l}d ${s}h`}function v(e,t,i){return`${t??""}${e}${i??""}`}function w(e,t){return Number.isFinite(e)?0===e?t(0):`${e>0?"+":"−"}${t(Math.abs(e))}`:""}function N(e,t,i="en-US",n=1){if(!Number.isFinite(e)||!Number.isFinite(t))return null;if(0===e)return null;const r=(t-e)/Math.abs(e);return new Intl.NumberFormat(i,{style:"percent",maximumFractionDigits:n,minimumFractionDigits:0,signDisplay:"exceptZero"}).format(r)}function S(e,t){if(!t||0===t.length)return null;if(!Number.isFinite(e))return null;const i=t.filter(e=>Number.isFinite(e.at)||e.at===-1/0).slice().sort((e,t)=>e.at-t.at);let n=null;for(const t of i){if(t.at>e)break;n=t}return n}function F(e,t){return t||("neutral"===e?"var(--semiotic-text, currentColor)":`var(--semiotic-${e}, currentColor)`)}function j(e,t){const i=t.padding??1;if(0===e.length)return{line:"",area:"",points:[]};if(1===e.length){const e=t.width/2,i=t.height/2;return{line:`M${e},${i}`,area:"",points:[{x:e,y:i}]}}const n=t.yMin??e.reduce((e,t)=>Number.isFinite(t)&&e>t?t:e,1/0),r=(t.yMax??e.reduce((e,t)=>Number.isFinite(t)&&t>e?t:e,-1/0))-n||1,a=Math.max(0,t.width-2*i),o=Math.max(0,t.height-2*i),l=1===e.length?0:a/(e.length-1),s=[];let u="";for(let t=0;e.length>t;t++){const a=e[t];if(!Number.isFinite(a))continue;const c=i+t*l,m=i+o-(a-n)/r*o;u+=`${0===s.length?"M":"L"}${c.toFixed(2)},${m.toFixed(2)}`,s.push({x:c,y:m})}if(0===s.length)return{line:"",area:"",points:[]};const c=s[0],m=i+o;return{line:u,area:`${u} L${s[s.length-1].x.toFixed(2)},${m.toFixed(2)} L${c.x.toFixed(2)},${m.toFixed(2)} Z`,points:s}}var _=require("react/jsx-runtime"),$={tile:{width:280,height:184,align:"start",labelSize:13,captionSize:11,valueSize:40,deltaSize:13,padding:{top:14,right:16,bottom:14,left:16},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:44},presentation:{width:540,height:320,align:"center",labelSize:18,captionSize:14,valueSize:96,deltaSize:18,padding:{top:32,right:32,bottom:32,left:32},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:80},inline:{width:void 0,height:void 0,align:"inherit",labelSize:0,captionSize:0,valueSize:0,deltaSize:0,padding:{top:0,right:0,bottom:0,left:0},background:"transparent",border:!1,showHeader:!1,showDelta:!0,showTrend:!1,showChart:!1,chartSize:0},thumbnail:{width:96,height:56,align:"center",labelSize:0,captionSize:0,valueSize:22,deltaSize:0,padding:{top:4,right:6,bottom:4,left:6},background:"transparent",border:!1,showHeader:!1,showDelta:!1,showTrend:!1,showChart:!1,chartSize:0}};function z(e,t,i){return void 0===e?i:"function"==typeof e?e(t):e}function M(e){return"positive"===e?"var(--semiotic-success, currentColor)":"negative"===e?"var(--semiotic-danger, currentColor)":"var(--semiotic-text-secondary, currentColor)"}function D(e){return"positive"===e?"▲":"negative"===e?"▼":"■"}var C=(0,u.forwardRef)((e,t)=>{const{value:i,label:n,caption:r,format:a,locale:o,currency:l,precision:s,prefix:c,suffix:m,unit:d,comparison:h,target:b,delta:f,deltaFormat:y,showDeltaPercent:N,direction:j,sentiment:C,thresholds:k,windowSize:I=60,mode:R="tile",align:P,width:E,height:B,padding:T,emphasis:H,color:O,background:q,borderColor:W,borderRadius:A,className:V,style:U,animate:Z,stalenessThreshold:X,staleLabel:Y,headerSlot:G,valueSlot:J,deltaSlot:K,trendSlot:Q,chartSlot:ee,chartSize:te,footerSlot:ie,onClick:ne,onObservation:re,chartId:ae,description:oe,summary:le,loading:se,loadingContent:ue,emptyContent:ce}=e,me=$[R]??$.tile,de=P??me.align,he=E??me.width,be=B??me.height,fe=function(){const[e,t]=(0,g.useState)(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return(0,g.useEffect)(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return t(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const i=e;return i.addListener(t),()=>i.removeListener(t)}(e,e=>t(e.matches))},[]),e}(),[pe,ge]=(0,u.useState)([]),[xe,ye]=(0,u.useState)(null),[ve,we]=(0,u.useState)(null),[Ne,Se]=(0,u.useState)(null),Fe=(0,u.useRef)([]),je=(0,u.useRef)(null),_e=(0,u.useRef)(i);(0,u.useEffect)(()=>{_e.current=i},[i]);const $e=(0,u.useRef)(I);(0,u.useEffect)(()=>{$e.current=I},[I]);const ze=(0,u.useCallback)(e=>{const t="number"==typeof e?{value:e,time:Date.now()}:{time:Date.now(),...e},i="number"==typeof t.time?t.time:t.time instanceof Date?t.time.getTime():Date.now();return{...t,time:i}},[]),Me=(0,u.useCallback)(e=>{if(0===e.length)return;const t=$e.current,i=e.map(ze);let n=Fe.current.concat(i);n.length>t&&(n=n.slice(n.length-t)),Fe.current=n;const r=i[i.length-1];je.current=r.value,ge(n),ye(r.value);for(let e=i.length-1;e>=0;e--){const t=i[e].comparison;if(null!=t){we(t);break}}Se(r.time)},[ze]),De=(0,u.useCallback)(e=>Me([e]),[Me]);(0,u.useImperativeHandle)(t,()=>({push:e=>De(e),pushMany:e=>Me(e),clear:()=>{Fe.current=[],je.current=null,ge([]),ye(null),we(null),Se(null)},getValue:()=>je.current??(Number.isFinite(_e.current)?_e.current:null),getData:()=>Fe.current.slice()}),[De,Me]);const Ce=xe??i,ke=null==Ce||"number"!=typeof Ce||!Number.isFinite(Ce),Ie=(0,u.useMemo)(()=>x(a??"number",{locale:o,currency:l,precision:s}),[a,o,l,s]),Le=(0,u.useMemo)(()=>x(y??a??"number",{locale:o,currency:l,precision:null==y&&null==a?0:s}),[y,a,o,l,s]),Re=Z??!1,Pe=(0,u.useRef)(("object"==typeof Re&&!1===Re.intro||!Re)&&Number.isFinite(i)?i:0),Ee=function(e,t,i){const[n,r]=(0,u.useState)(e),a=(0,u.useRef)(null),o=(0,u.useRef)(e),l=(0,u.useRef)(0),s=(0,u.useRef)(e);return(0,u.useEffect)(()=>{if(!Number.isFinite(e))return void r(e);if(!t||i)return void r(e);const u="object"==typeof t&&t.duration?t.duration:300,c="object"==typeof t&&"linear"===t.easing?"linear":"ease-out";o.current=n,s.current=e,l.current="undefined"!=typeof performance?performance.now():Date.now();const m="linear"===c?e=>e:e=>1-Math.pow(1-e,3),d=e=>{const t=Math.min(1,(e-l.current)/u),i=m(t);r(o.current+(s.current-o.current)*i),1>t?a.current=requestAnimationFrame(d):(a.current=null,r(s.current))};return a.current=requestAnimationFrame(d),()=>{null!=a.current&&cancelAnimationFrame(a.current),a.current=null}},[e,t,i]),n}(Number.isFinite(Ce)?Ce:Pe.current,Re,fe),Be=Re?Ee:Number.isFinite(Ce)?Ce:0,Te=(0,u.useMemo)(()=>S(Number.isFinite(Ce)?Ce:NaN,k),[Ce,k]),He=Te?Te.level:"neutral",Oe=O??F(He,Te?.color),qe=ve??h?.value??null,We=null!=f?f:null!=qe&&Number.isFinite(Ce)?Ce-qe:null,Ae=function(e,t,i){if(i&&"auto"!==i)return i;if(null==e||0===e||!Number.isFinite(e))return"neutral";const n=t??"higher-is-better";return"neutral"===n?"neutral":("higher-is-better"===n?e>0:0>e)?"positive":"negative"}(We,h?.direction??b?.direction??j,C),Ve=null!=We&&Number.isFinite(We)?w(We,Le):null,Ue=(0,u.useMemo)(()=>new Intl.NumberFormat(o??"en-US",{style:"percent",maximumFractionDigits:1,minimumFractionDigits:0,signDisplay:"exceptZero"}),[o]),Ze=null!=qe&&Number.isFinite(Ce)&&(N??1)&&0!==qe?Ue.format((Ce-qe)/Math.abs(qe)):null,Xe=(0,u.useMemo)(()=>new Intl.NumberFormat(o??"en-US",{style:"percent",maximumFractionDigits:0}),[o]),Ye=(0,u.useMemo)(()=>b&&Number.isFinite(Ce)&&b.value?Xe.format(Ce/b.value):null,[b,Ce,Xe]),Ge=(0,u.useMemo)(()=>x(b?.format??a??"number",{locale:o,currency:l,precision:s}),[b?.format,a,o,l,s]),Je=(0,u.useMemo)(()=>x(h?.format??a??"number",{locale:o,currency:l,precision:s}),[h?.format,a,o,l,s]),Ke=function(e,t){const[i,n]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(!t||null==e)return void n(!1);const i=()=>{n(Date.now()-e>=t)};i();const r=setInterval(i,Math.max(250,Math.floor(t/4)));return()=>clearInterval(r)},[e,t]),i}(Ne,X),Qe=Number.isFinite(Be)?v(Ie(Be),c,m):"",et={value:ke?null:Ce,formattedValue:Qe,level:He,color:Oe,delta:We,deltaFormatted:Ve,deltaPercent:Ze,sentiment:Ae,isStale:Ke,pushBuffer:pe},tt=oe??function(e){const t=[];if(e.label&&t.push(e.label+":"),t.push(e.unit?`${e.formattedValue} ${e.unit}`:e.formattedValue),e.deltaFormatted){const i=e.delta,n=null!=i&&Number.isFinite(i)&&0!==i?i>0?"up":"down":"change";t.push(`${n} ${e.deltaFormatted}${e.deltaPercent?` (${e.deltaPercent})`:""}${e.comparisonLabel?" from "+e.comparisonLabel:""}`)}return e.targetPercent&&e.targetLabel&&t.push(`${e.targetPercent} of ${e.targetLabel}`),e.stale&&t.push(e.staleLabel??"stale"),t.join(", ")}({label:n,formattedValue:Number.isFinite(Ce)?v(Ie(Ce),c,m):"",unit:d,comparisonLabel:h?.label,delta:We,deltaFormatted:Ve,deltaPercent:Ze,targetLabel:b?.label,targetPercent:Ye,stale:Ke,staleLabel:Y}),it="number"==typeof T?{top:T,right:T,bottom:T,left:T}:{...me.padding,...T??{}},nt="end"===de?"flex-end":"center"===de?"center":"start"===de?"flex-start":"inherit",rt={position:"relative",boxSizing:"border-box",width:he,height:be,padding:`${it.top}px ${it.right}px ${it.bottom}px ${it.left}px`,background:q??me.background,border:me.border?"1px solid "+(W??"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof A?A+"px":A??"var(--semiotic-border-radius, 8px)",display:"inline"===R?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===nt?void 0:nt,textAlign:de,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:Ke?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===H?"span 2":void 0,cursor:ne?"pointer":void 0,...U},at=(0,u.useCallback)(e=>{const t=e.currentTarget.getBoundingClientRect(),i=e.clientX-t.left,n=e.clientY-t.top,r={value:ke?NaN:Ce,level:He,delta:We};ne&&ne(r,{x:i,y:n}),re&&re({type:"click",datum:r,x:i,y:n,chartType:"BigNumber",chartId:ae,timestamp:Date.now()})},[ne,re,ae,ke,Ce,He,We]),ot="inline"===R?"span":"div",lt=["semiotic-bignumber","semiotic-bignumber--mode-"+R,"semiotic-bignumber--level-"+He,"semiotic-bignumber--sentiment-"+Ae,Ke?"semiotic-bignumber--stale":null,V].filter(Boolean).join(" "),st="positive"===Ae?"up":"negative"===Ae?"down":"flat";if(se){const e="number"==typeof he?he:280,t="number"==typeof be?be:160;return(0,_.jsx)(ot,{role:"status","aria-live":"polite","aria-busy":"true",className:lt+" semiotic-bignumber--loading",style:{...rt,opacity:1},children:ue??(0,_.jsx)(L,{width:e,height:t,mode:R})})}return ke?!1===ce?null:(0,_.jsx)(ot,{role:"status","aria-label":n?n+": no value":"no value",className:lt+" semiotic-bignumber--empty",style:{...rt,color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"},children:ce??"—"}):(0,_.jsx)(p,{componentName:"BigNumber",width:"number"==typeof he?he:280,height:"number"==typeof be?be:160,children:(0,_.jsxs)(ot,{role:"group","aria-label":tt,"data-chart":"BigNumber","data-mode":R,"data-level":He,"data-stale":Ke?"true":void 0,"data-sentiment":Ae,className:lt,style:rt,onClick:ne||re?at:void 0,children:[me.showHeader&&(n||r||G)?(0,_.jsx)("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:me.showChart&&null!=ee?(te??me.chartSize)+8:0},children:z(G,et,(0,_.jsxs)(_.Fragment,{children:[n?(0,_.jsx)("span",{className:"semiotic-bignumber__label",style:{fontSize:me.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:n}):null,r?(0,_.jsx)("span",{className:"semiotic-bignumber__caption",style:{fontSize:me.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:r}):null]}))}):null,z(J,et,(0,_.jsxs)(ot,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+He,style:{display:"inline"===R?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:Oe,fontSize:me.valueSize||void 0,lineHeight:1.05},children:[(0,_.jsx)("span",{className:"semiotic-bignumber__value-text",children:Qe}),d?(0,_.jsx)("span",{className:"semiotic-bignumber__unit",style:{fontSize:me.valueSize?Math.max(11,Math.round(.32*me.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:d}):null]})),me.showDelta&&(Ve||b||h)?(0,_.jsx)(ot,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+st,style:{display:"inline"===R?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===R?0:6,fontSize:me.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:z(K,et,(0,_.jsxs)(_.Fragment,{children:[Ve?(0,_.jsxs)("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+st,style:{display:"inline-flex",alignItems:"center",gap:4,color:M(Ae),fontWeight:600},children:[(0,_.jsx)("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+st,children:D(Ae)}),(0,_.jsx)("span",{className:"semiotic-bignumber__delta-amount",children:Ve}),Ze?(0,_.jsxs)("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",Ze,")"]}):null]}):null,h?.label?(0,_.jsx)("span",{className:"semiotic-bignumber__comparison-label",children:h.label}):null,b?(0,_.jsxs)("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[Ve||h?.label?(0,_.jsx)("span",{"aria-hidden":"true",className:"semiotic-bignumber__separator",children:"·"}):null,(0,_.jsx)("span",{className:"semiotic-bignumber__target-percent",style:{fontWeight:500,color:"var(--semiotic-text, #111)"},children:Ye}),(0,_.jsxs)("span",{className:"semiotic-bignumber__target-value",children:["of ",Ge(b.value),b.label?" "+b.label:""]})]}):null]}))}):null,me.showChart&&null!=ee?(0,_.jsx)("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:it.top,right:it.right,width:te??me.chartSize,height:te??me.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:(0,_.jsx)("div",{style:{pointerEvents:"auto",lineHeight:0},children:z(ee,et,null)})}):null,me.showTrend&&null!=Q?(0,_.jsx)("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:it.left,right:it.right,bottom:it.bottom+(null!=ie?28:0)},children:z(Q,et,null)}):null,null!=ie?(0,_.jsx)(ot,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:it.left,right:it.right,bottom:it.bottom,fontSize:me.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:z(ie,et,null)}):null,le?(0,_.jsx)("span",{style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:le}):null,(0,_.jsx)("span",{"aria-hidden":"true",style:{display:"none"},children:null!=qe?Je(qe):null})]})})});C.displayName="BigNumber";var k=C,I=C;function L(e){const t=Math.floor(.45*e.width),i=Math.floor(.6*e.width),n=(e,t)=>(0,_.jsx)("div",{style:{width:e,height:t,background:"var(--semiotic-border, #e0e0e0)",borderRadius:4,opacity:.55}});return(0,_.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,justifyContent:"center",width:"100%",height:"100%"},children:["thumbnail"!==e.mode&&"inline"!==e.mode?n(t,10):null,n(i,"presentation"===e.mode?48:28),"tile"===e.mode||"presentation"===e.mode?n(Math.floor(.35*e.width),8):null]})}
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as i from"react";import{useState as r,useEffect as l,forwardRef as o,useRef as a,useCallback as s,useImperativeHandle as u,useMemo as c}from"react";function d({componentName:n,message:i,diagnosticHint:r,width:l,height:o}){return e("div",{role:"alert",style:{width:l,height:Math.max(o,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:t("div",{style:{textAlign:"center",maxWidth:400},children:[e("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:n}),e("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:i}),r&&e("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:r})]})})}class m extends i.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var n,i;null===(i=(n=this.props).onError)||void 0===i||i.call(n,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,n=this.state.error;return"function"==typeof t?t(n):void 0!==t?t:e(d,{componentName:"ChartErrorBoundary",message:n.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function h({componentName:t,width:n,height:i,children:r}){return e(m,{fallback:r=>e(d,{componentName:t,message:r.message,width:n,height:i}),children:r})}function b(e,t={}){var n,i,r,l,o,a,s;if("function"==typeof e)return e;const u=null!==(n=t.locale)&&void 0!==n?n:"en-US",c=null!==(i=t.currency)&&void 0!==i?i:"USD";if("currency"===e){const e=null!==(r=t.precision)&&void 0!==r?r:2,n=new Intl.NumberFormat(u,{style:"currency",currency:c,maximumFractionDigits:e,minimumFractionDigits:e});return e=>n.format(e)}if("percent"===e){const e=null!==(l=t.precision)&&void 0!==l?l:1,n=new Intl.NumberFormat(u,{style:"percent",maximumFractionDigits:e,minimumFractionDigits:0});return e=>n.format(e)}if("compact"===e){const e=null!==(o=t.precision)&&void 0!==o?o:1,n=new Intl.NumberFormat(u,{notation:"compact",maximumFractionDigits:e,minimumFractionDigits:0});return e=>n.format(e)}if("duration"===e)return e=>g(e);const d=null!==(a=t.precision)&&void 0!==a?a:0,m=new Intl.NumberFormat(u,{notation:null!==(s=t.notation)&&void 0!==s?s:"standard",maximumFractionDigits:d,minimumFractionDigits:0});return e=>m.format(e)}function g(e){if(!Number.isFinite(e))return e+"";const t=0>e?"-":"",n=Math.abs(e);if(1e3>n)return`${t}${Math.round(n)}ms`;const i=n/1e3;if(60>i)return`${t}${r=i,Math.round(100*r)/100+""}s`;var r;const l=i/60;if(60>l){const e=Math.floor(l),n=Math.round(i-60*e);return 0===n?`${t}${e}m`:`${t}${e}m ${n}s`}const o=l/60;if(24>o){const e=Math.floor(o),n=Math.round(l-60*e);return 0===n?`${t}${e}h`:`${t}${e}h ${n}m`}const a=Math.floor(o/24),s=Math.round(o-24*a);return 0===s?`${t}${a}d`:`${t}${a}d ${s}h`}function p(e,t,n){return`${null!=t?t:""}${e}${null!=n?n:""}`}function f(e,t){return Number.isFinite(e)?0===e?t(0):`${e>0?"+":"−"}${t(Math.abs(e))}`:""}function v(e,t,n="en-US",i=1){if(!Number.isFinite(e)||!Number.isFinite(t))return null;if(0===e)return null;const r=(t-e)/Math.abs(e);return new Intl.NumberFormat(n,{style:"percent",maximumFractionDigits:i,minimumFractionDigits:0,signDisplay:"exceptZero"}).format(r)}function y(e,t){if(!t||0===t.length)return null;if(!Number.isFinite(e))return null;const n=t.filter(e=>Number.isFinite(e.at)||e.at===-1/0).slice().sort((e,t)=>e.at-t.at);let i=null;for(const t of n){if(t.at>e)break;i=t}return i}function w(e,t){return t||("neutral"===e?"var(--semiotic-text, currentColor)":`var(--semiotic-${e}, currentColor)`)}function x(e,t){var n,i,r;const l=null!==(n=t.padding)&&void 0!==n?n:1;if(0===e.length)return{line:"",area:"",points:[]};if(1===e.length){const e=t.width/2,n=t.height/2;return{line:`M${e},${n}`,area:"",points:[{x:e,y:n}]}}const o=null!==(i=t.yMin)&&void 0!==i?i:e.reduce((e,t)=>Number.isFinite(t)&&e>t?t:e,1/0),a=(null!==(r=t.yMax)&&void 0!==r?r:e.reduce((e,t)=>Number.isFinite(t)&&t>e?t:e,-1/0))-o||1,s=Math.max(0,t.width-2*l),u=Math.max(0,t.height-2*l),c=1===e.length?0:s/(e.length-1),d=[];let m="";for(let t=0;e.length>t;t++){const n=e[t];if(!Number.isFinite(n))continue;const i=l+t*c,r=l+u-(n-o)/a*u;m+=`${0===d.length?"M":"L"}${i.toFixed(2)},${r.toFixed(2)}`,d.push({x:i,y:r})}if(0===d.length)return{line:"",area:"",points:[]};const h=d[0],b=l+u;return{line:m,area:`${m} L${d[d.length-1].x.toFixed(2)},${b.toFixed(2)} L${h.x.toFixed(2)},${b.toFixed(2)} Z`,points:d}}"undefined"!=typeof process&&process;const N={tile:{width:280,height:184,align:"start",labelSize:13,captionSize:11,valueSize:40,deltaSize:13,padding:{top:14,right:16,bottom:14,left:16},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:44},presentation:{width:540,height:320,align:"center",labelSize:18,captionSize:14,valueSize:96,deltaSize:18,padding:{top:32,right:32,bottom:32,left:32},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:80},inline:{width:void 0,height:void 0,align:"inherit",labelSize:0,captionSize:0,valueSize:0,deltaSize:0,padding:{top:0,right:0,bottom:0,left:0},background:"transparent",border:!1,showHeader:!1,showDelta:!0,showTrend:!1,showChart:!1,chartSize:0},thumbnail:{width:96,height:56,align:"center",labelSize:0,captionSize:0,valueSize:22,deltaSize:0,padding:{top:4,right:6,bottom:4,left:6},background:"transparent",border:!1,showHeader:!1,showDelta:!1,showTrend:!1,showChart:!1,chartSize:0}};function F(e,t,n){return void 0===e?n:"function"==typeof e?e(t):e}function S(e){return"positive"===e?"var(--semiotic-success, currentColor)":"negative"===e?"var(--semiotic-danger, currentColor)":"var(--semiotic-text-secondary, currentColor)"}function $(e){return"positive"===e?"▲":"negative"===e?"▼":"■"}const _=o((i,o)=>{var d,m,g,x;const{value:_,label:z,caption:M,format:C,locale:j,currency:I,precision:k,prefix:L,suffix:B,unit:O,comparison:T,target:H,delta:W,deltaFormat:E,showDeltaPercent:P,direction:A,sentiment:R,thresholds:V,windowSize:U=60,mode:q="tile",align:Z,width:X,height:Y,padding:G,emphasis:J,color:K,background:Q,borderColor:ee,borderRadius:te,className:ne,style:ie,animate:re,stalenessThreshold:le,staleLabel:oe,headerSlot:ae,valueSlot:se,deltaSlot:ue,trendSlot:ce,chartSlot:de,chartSize:me,footerSlot:he,onClick:be,onObservation:ge,chartId:pe,description:fe,summary:ve,loading:ye,loadingContent:we,emptyContent:xe}=i,Ne=null!==(d=N[q])&&void 0!==d?d:N.tile,Fe=null!=Z?Z:Ne.align,Se=null!=X?X:Ne.width,$e=null!=Y?Y:Ne.height,_e=function(){const[e,t]=r(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return l(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return t(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const n=e;return n.addListener(t),()=>n.removeListener(t)}(e,e=>t(e.matches))},[]),e}(),[ze,De]=r([]),[Me,Ce]=r(null),[je,Ie]=r(null),[ke,Le]=r(null),Be=a([]),Oe=a(null),Te=a(_);l(()=>{Te.current=_},[_]);const He=a(U);l(()=>{He.current=U},[U]);const We=s(e=>{const t="number"==typeof e?{value:e,time:Date.now()}:Object.assign({time:Date.now()},e),n="number"==typeof t.time?t.time:t.time instanceof Date?t.time.getTime():Date.now();return Object.assign(Object.assign({},t),{time:n})},[]),Ee=s(e=>{if(0===e.length)return;const t=He.current,n=e.map(We);let i=Be.current.concat(n);i.length>t&&(i=i.slice(i.length-t)),Be.current=i;const r=n[n.length-1];Oe.current=r.value,De(i),Ce(r.value);for(let e=n.length-1;e>=0;e--){const t=n[e].comparison;if(null!=t){Ie(t);break}}Le(r.time)},[We]),Pe=s(e=>Ee([e]),[Ee]);u(o,()=>({push:e=>Pe(e),pushMany:e=>Ee(e),clear:()=>{Be.current=[],Oe.current=null,De([]),Ce(null),Ie(null),Le(null)},getValue:()=>{var e;return null!==(e=Oe.current)&&void 0!==e?e:Number.isFinite(Te.current)?Te.current:null},getData:()=>Be.current.slice()}),[Pe,Ee]);const Ae=null!=Me?Me:_,Re=null==Ae||"number"!=typeof Ae||!Number.isFinite(Ae),Ve=c(()=>b(null!=C?C:"number",{locale:j,currency:I,precision:k}),[C,j,I,k]),Ue=c(()=>{var e;return b(null!==(e=null!=E?E:C)&&void 0!==e?e:"number",{locale:j,currency:I,precision:null==E&&null==C?0:k})},[E,C,j,I,k]),qe=null!=re&&re,Ze=a(("object"==typeof qe&&!1===qe.intro||!qe)&&Number.isFinite(_)?_:0),Xe=function(e,t,n){const[i,o]=r(e),s=a(null),u=a(e),c=a(0),d=a(e);return l(()=>{if(!Number.isFinite(e))return void o(e);if(!t||n)return void o(e);const r="object"==typeof t&&t.duration?t.duration:300,l="object"==typeof t&&"linear"===t.easing?"linear":"ease-out";u.current=i,d.current=e,c.current="undefined"!=typeof performance?performance.now():Date.now();const a="linear"===l?e=>e:e=>1-Math.pow(1-e,3),m=e=>{const t=Math.min(1,(e-c.current)/r),n=a(t);o(u.current+(d.current-u.current)*n),1>t?s.current=requestAnimationFrame(m):(s.current=null,o(d.current))};return s.current=requestAnimationFrame(m),()=>{null!=s.current&&cancelAnimationFrame(s.current),s.current=null}},[e,t,n]),i}(Number.isFinite(Ae)?Ae:Ze.current,qe,_e),Ye=qe?Xe:Number.isFinite(Ae)?Ae:0,Ge=c(()=>y(Number.isFinite(Ae)?Ae:NaN,V),[Ae,V]),Je=Ge?Ge.level:"neutral",Ke=null!=K?K:w(Je,null==Ge?void 0:Ge.color),Qe=null!==(m=null!=je?je:null==T?void 0:T.value)&&void 0!==m?m:null,et=null!=W?W:null!=Qe&&Number.isFinite(Ae)?Ae-Qe:null,tt=function(e,t,n){if(n&&"auto"!==n)return n;if(null==e||0===e||!Number.isFinite(e))return"neutral";const i=null!=t?t:"higher-is-better";return"neutral"===i?"neutral":("higher-is-better"===i?e>0:0>e)?"positive":"negative"}(et,null!==(x=null!==(g=null==T?void 0:T.direction)&&void 0!==g?g:null==H?void 0:H.direction)&&void 0!==x?x:A,R),nt=null!=et&&Number.isFinite(et)?f(et,Ue):null,it=null!=Qe&&Number.isFinite(Ae)&&(null==P||P)?v(Qe,Ae,j):null,rt=c(()=>{if(!H||!Number.isFinite(Ae)||!H.value)return null;const e=Ae/H.value;return new Intl.NumberFormat(null!=j?j:"en-US",{style:"percent",maximumFractionDigits:0}).format(e)},[H,Ae,j]),lt=c(()=>{var e,t;return b(null!==(t=null!==(e=null==H?void 0:H.format)&&void 0!==e?e:C)&&void 0!==t?t:"number",{locale:j,currency:I,precision:k})},[null==H?void 0:H.format,C,j,I,k]),ot=c(()=>{var e,t;return b(null!==(t=null!==(e=null==T?void 0:T.format)&&void 0!==e?e:C)&&void 0!==t?t:"number",{locale:j,currency:I,precision:k})},[null==T?void 0:T.format,C,j,I,k]),at=function(e,t){const[n,i]=r(!1);return l(()=>{if(!t||null==e)return void i(!1);const n=()=>{const n=Date.now()-e;i(n>=t)};n();const r=setInterval(n,Math.max(250,Math.floor(t/4)));return()=>clearInterval(r)},[e,t]),n}(ke,le),st=Number.isFinite(Ye)?p(Ve(Ye),L,B):"",ut={value:Re?null:Ae,formattedValue:st,level:Je,color:Ke,delta:et,deltaFormatted:nt,deltaPercent:it,sentiment:tt,isStale:at,pushBuffer:ze},ct=null!=fe?fe:function(e){var t;const n=[];if(e.label&&n.push(e.label+":"),n.push(e.unit?`${e.formattedValue} ${e.unit}`:e.formattedValue),e.deltaFormatted){const t=e.delta;n.push(`${null!=t&&Number.isFinite(t)&&0!==t?t>0?"up":"down":"change"} ${e.deltaFormatted}${e.deltaPercent?` (${e.deltaPercent})`:""}${e.comparisonLabel?" from "+e.comparisonLabel:""}`)}return e.targetPercent&&e.targetLabel&&n.push(`${e.targetPercent} of ${e.targetLabel}`),e.stale&&n.push(null!==(t=e.staleLabel)&&void 0!==t?t:"stale"),n.join(", ")}({label:z,formattedValue:Number.isFinite(Ae)?p(Ve(Ae),L,B):"",unit:O,comparisonLabel:null==T?void 0:T.label,delta:et,deltaFormatted:nt,deltaPercent:it,targetLabel:null==H?void 0:H.label,targetPercent:rt,stale:at,staleLabel:oe}),dt="number"==typeof G?{top:G,right:G,bottom:G,left:G}:Object.assign(Object.assign({},Ne.padding),null!=G?G:{}),mt="end"===Fe?"flex-end":"center"===Fe?"center":"start"===Fe?"flex-start":"inherit",ht=Object.assign({position:"relative",boxSizing:"border-box",width:Se,height:$e,padding:`${dt.top}px ${dt.right}px ${dt.bottom}px ${dt.left}px`,background:null!=Q?Q:Ne.background,border:Ne.border?"1px solid "+(null!=ee?ee:"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof te?te+"px":null!=te?te:"var(--semiotic-border-radius, 8px)",display:"inline"===q?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===mt?void 0:mt,textAlign:Fe,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:at?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===J?"span 2":void 0,cursor:be?"pointer":void 0},ie),bt=s(e=>{const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top,r={value:Re?NaN:Ae,level:Je,delta:et};be&&be(r,{x:n,y:i}),ge&&ge({type:"click",datum:r,x:n,y:i,chartType:"BigNumber",chartId:pe,timestamp:Date.now()})},[be,ge,pe,Re,Ae,Je,et]),gt="inline"===q?"span":"div",pt=["semiotic-bignumber","semiotic-bignumber--mode-"+q,"semiotic-bignumber--level-"+Je,"semiotic-bignumber--sentiment-"+tt,at?"semiotic-bignumber--stale":null,ne].filter(Boolean).join(" "),ft="positive"===tt?"up":"negative"===tt?"down":"flat";if(ye){const t="number"==typeof Se?Se:280,n="number"==typeof $e?$e:160;return e(gt,{role:"status","aria-live":"polite","aria-busy":"true",className:pt+" semiotic-bignumber--loading",style:Object.assign(Object.assign({},ht),{opacity:1}),children:null!=we?we:e(D,{width:t,height:n,mode:q})})}return Re?!1===xe?null:e(gt,{role:"status","aria-label":z?z+": no value":"no value",className:pt+" semiotic-bignumber--empty",style:Object.assign(Object.assign({},ht),{color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"}),children:null!=xe?xe:"—"}):e(h,{componentName:"BigNumber",width:"number"==typeof Se?Se:280,height:"number"==typeof $e?$e:160,children:t(gt,{role:"group","aria-label":ct,"data-chart":"BigNumber","data-mode":q,"data-level":Je,"data-stale":at?"true":void 0,"data-sentiment":tt,className:pt,style:ht,onClick:be||ge?bt:void 0,children:[Ne.showHeader&&(z||M||ae)?e("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:Ne.showChart&&null!=de?(null!=me?me:Ne.chartSize)+8:0},children:F(ae,ut,t(n,{children:[z?e("span",{className:"semiotic-bignumber__label",style:{fontSize:Ne.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:z}):null,M?e("span",{className:"semiotic-bignumber__caption",style:{fontSize:Ne.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:M}):null]}))}):null,F(se,ut,t(gt,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+Je,style:{display:"inline"===q?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:Ke,fontSize:Ne.valueSize||void 0,lineHeight:1.05},children:[e("span",{className:"semiotic-bignumber__value-text",children:st}),O?e("span",{className:"semiotic-bignumber__unit",style:{fontSize:Ne.valueSize?Math.max(11,Math.round(.32*Ne.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:O}):null]})),Ne.showDelta&&(nt||H||T)?e(gt,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+ft,style:{display:"inline"===q?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===q?0:6,fontSize:Ne.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:F(ue,ut,t(n,{children:[nt?t("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+ft,style:{display:"inline-flex",alignItems:"center",gap:4,color:S(tt),fontWeight:600},children:[e("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+ft,children:$(tt)}),e("span",{className:"semiotic-bignumber__delta-amount",children:nt}),it?t("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",it,")"]}):null]}):null,(null==T?void 0:T.label)?e("span",{className:"semiotic-bignumber__comparison-label",children:T.label}):null,H?t("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[nt||(null==T?void 0:T.label)?e("span",{"aria-hidden":"true",className:"semiotic-bignumber__separator",children:"·"}):null,e("span",{className:"semiotic-bignumber__target-percent",style:{fontWeight:500,color:"var(--semiotic-text, #111)"},children:rt}),t("span",{className:"semiotic-bignumber__target-value",children:["of ",lt(H.value),H.label?" "+H.label:""]})]}):null]}))}):null,Ne.showChart&&null!=de?e("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:dt.top,right:dt.right,width:null!=me?me:Ne.chartSize,height:null!=me?me:Ne.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e("div",{style:{pointerEvents:"auto",lineHeight:0},children:F(de,ut,null)})}):null,Ne.showTrend&&null!=ce?e("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:dt.left,right:dt.right,bottom:dt.bottom+(null!=he?28:0)},children:F(ce,ut,null)}):null,null!=he?e(gt,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:dt.left,right:dt.right,bottom:dt.bottom,fontSize:Ne.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:F(he,ut,null)}):null,ve?e("span",{style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:ve}):null,e("span",{"aria-hidden":"true",style:{display:"none"},children:null!=Qe?ot(Qe):null})]})})});_.displayName="BigNumber";const z=_;function D(n){const i=Math.floor(.45*n.width),r=Math.floor(.6*n.width),l=(t,n)=>e("div",{style:{width:t,height:n,background:"var(--semiotic-border, #e0e0e0)",borderRadius:4,opacity:.55}});return t("div",{style:{display:"flex",flexDirection:"column",gap:10,justifyContent:"center",width:"100%",height:"100%"},children:["thumbnail"!==n.mode&&"inline"!==n.mode?l(i,10):null,l(r,"presentation"===n.mode?48:28),"tile"===n.mode||"presentation"===n.mode?l(Math.floor(.35*n.width),8):null]})}export{z as BigNumber,z as BigNumberDefault,b as buildFormatter,x as buildSparklinePath,w as colorForLevel,v as formatDeltaPercent,g as formatDuration,f as formatSignedDelta,y as resolveThreshold};
2
+ import{forwardRef as e,useCallback as t,useEffect as i,useImperativeHandle as n,useMemo as r,useRef as a,useState as o}from"react";import*as l from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";function u({componentName:e,message:t,diagnosticHint:i,width:n,height:r}){return s("div",{role:"alert",style:{width:n,height:Math.max(r,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:c("div",{style:{textAlign:"center",maxWidth:400},children:[s("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:e}),s("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:t}),i&&s("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:i})]})})}import{jsx as m}from"react/jsx-runtime";var d=class extends l.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?.(e,t)}render(){if(this.state.error){const{fallback:e}=this.props,t=this.state.error;return"function"==typeof e?e(t):void 0!==e?e:m(u,{componentName:"ChartErrorBoundary",message:t.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}};import{jsx as h}from"react/jsx-runtime";function b({componentName:e,width:t,height:i,children:n}){return h(d,{fallback:n=>h(u,{componentName:e,message:n.message,width:t,height:i}),children:n})}"undefined"!=typeof process&&process;import{useState as p,useEffect as g}from"react";function f(e,t={}){if("function"==typeof e)return e;const i=t.locale??"en-US";if("currency"===e){const e=t.precision??2,n=new Intl.NumberFormat(i,{style:"currency",currency:t.currency??"USD",maximumFractionDigits:e,minimumFractionDigits:e});return e=>n.format(e)}if("percent"===e){const e=new Intl.NumberFormat(i,{style:"percent",maximumFractionDigits:t.precision??1,minimumFractionDigits:0});return t=>e.format(t)}if("compact"===e){const e=new Intl.NumberFormat(i,{notation:"compact",maximumFractionDigits:t.precision??1,minimumFractionDigits:0});return t=>e.format(t)}if("duration"===e)return e=>y(e);const n=new Intl.NumberFormat(i,{notation:t.notation??"standard",maximumFractionDigits:t.precision??0,minimumFractionDigits:0});return e=>n.format(e)}function y(e){if(!Number.isFinite(e))return e+"";const t=0>e?"-":"",i=Math.abs(e);if(1e3>i)return`${t}${Math.round(i)}ms`;const n=i/1e3;if(60>n)return`${t}${r=n,Math.round(100*r)/100+""}s`;var r;const a=n/60;if(60>a){const e=Math.floor(a),i=Math.round(n-60*e);return 0===i?`${t}${e}m`:`${t}${e}m ${i}s`}const o=a/60;if(24>o){const e=Math.floor(o),i=Math.round(a-60*e);return 0===i?`${t}${e}h`:`${t}${e}h ${i}m`}const l=Math.floor(o/24),s=Math.round(o-24*l);return 0===s?`${t}${l}d`:`${t}${l}d ${s}h`}function v(e,t,i){return`${t??""}${e}${i??""}`}function w(e,t){return Number.isFinite(e)?0===e?t(0):`${e>0?"+":"−"}${t(Math.abs(e))}`:""}function x(e,t,i="en-US",n=1){if(!Number.isFinite(e)||!Number.isFinite(t))return null;if(0===e)return null;const r=(t-e)/Math.abs(e);return new Intl.NumberFormat(i,{style:"percent",maximumFractionDigits:n,minimumFractionDigits:0,signDisplay:"exceptZero"}).format(r)}function N(e,t){if(!t||0===t.length)return null;if(!Number.isFinite(e))return null;const i=t.filter(e=>Number.isFinite(e.at)||e.at===-1/0).slice().sort((e,t)=>e.at-t.at);let n=null;for(const t of i){if(t.at>e)break;n=t}return n}function F(e,t){return t||("neutral"===e?"var(--semiotic-text, currentColor)":`var(--semiotic-${e}, currentColor)`)}function S(e,t){const i=t.padding??1;if(0===e.length)return{line:"",area:"",points:[]};if(1===e.length){const e=t.width/2,i=t.height/2;return{line:`M${e},${i}`,area:"",points:[{x:e,y:i}]}}const n=t.yMin??e.reduce((e,t)=>Number.isFinite(t)&&e>t?t:e,1/0),r=(t.yMax??e.reduce((e,t)=>Number.isFinite(t)&&t>e?t:e,-1/0))-n||1,a=Math.max(0,t.width-2*i),o=Math.max(0,t.height-2*i),l=1===e.length?0:a/(e.length-1),s=[];let c="";for(let t=0;e.length>t;t++){const a=e[t];if(!Number.isFinite(a))continue;const u=i+t*l,m=i+o-(a-n)/r*o;c+=`${0===s.length?"M":"L"}${u.toFixed(2)},${m.toFixed(2)}`,s.push({x:u,y:m})}if(0===s.length)return{line:"",area:"",points:[]};const u=s[0],m=i+o;return{line:c,area:`${c} L${s[s.length-1].x.toFixed(2)},${m.toFixed(2)} L${u.x.toFixed(2)},${m.toFixed(2)} Z`,points:s}}import{Fragment as $,jsx as _,jsxs as z}from"react/jsx-runtime";var D={tile:{width:280,height:184,align:"start",labelSize:13,captionSize:11,valueSize:40,deltaSize:13,padding:{top:14,right:16,bottom:14,left:16},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:44},presentation:{width:540,height:320,align:"center",labelSize:18,captionSize:14,valueSize:96,deltaSize:18,padding:{top:32,right:32,bottom:32,left:32},background:"var(--semiotic-surface, transparent)",border:!0,showHeader:!0,showDelta:!0,showTrend:!0,showChart:!0,chartSize:80},inline:{width:void 0,height:void 0,align:"inherit",labelSize:0,captionSize:0,valueSize:0,deltaSize:0,padding:{top:0,right:0,bottom:0,left:0},background:"transparent",border:!1,showHeader:!1,showDelta:!0,showTrend:!1,showChart:!1,chartSize:0},thumbnail:{width:96,height:56,align:"center",labelSize:0,captionSize:0,valueSize:22,deltaSize:0,padding:{top:4,right:6,bottom:4,left:6},background:"transparent",border:!1,showHeader:!1,showDelta:!1,showTrend:!1,showChart:!1,chartSize:0}};function M(e,t,i){return void 0===e?i:"function"==typeof e?e(t):e}function C(e){return"positive"===e?"var(--semiotic-success, currentColor)":"negative"===e?"var(--semiotic-danger, currentColor)":"var(--semiotic-text-secondary, currentColor)"}function I(e){return"positive"===e?"▲":"negative"===e?"▼":"■"}var j=e((e,l)=>{const{value:s,label:c,caption:u,format:m,locale:d,currency:h,precision:y,prefix:x,suffix:S,unit:j,comparison:k,target:L,delta:T,deltaFormat:H,showDeltaPercent:E,direction:W,sentiment:P,thresholds:A,windowSize:R=60,mode:V="tile",align:U,width:Z,height:q,padding:O,emphasis:X,color:Y,background:G,borderColor:J,borderRadius:K,className:Q,style:ee,animate:te,stalenessThreshold:ie,staleLabel:ne,headerSlot:re,valueSlot:ae,deltaSlot:oe,trendSlot:le,chartSlot:se,chartSize:ce,footerSlot:ue,onClick:me,onObservation:de,chartId:he,description:be,summary:pe,loading:ge,loadingContent:fe,emptyContent:ye}=e,ve=D[V]??D.tile,we=U??ve.align,xe=Z??ve.width,Ne=q??ve.height,Fe=function(){const[e,t]=p(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return g(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return t(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const i=e;return i.addListener(t),()=>i.removeListener(t)}(e,e=>t(e.matches))},[]),e}(),[Se,$e]=o([]),[_e,ze]=o(null),[De,Me]=o(null),[Ce,Ie]=o(null),je=a([]),ke=a(null),Le=a(s);i(()=>{Le.current=s},[s]);const Be=a(R);i(()=>{Be.current=R},[R]);const Te=t(e=>{const t="number"==typeof e?{value:e,time:Date.now()}:{time:Date.now(),...e},i="number"==typeof t.time?t.time:t.time instanceof Date?t.time.getTime():Date.now();return{...t,time:i}},[]),He=t(e=>{if(0===e.length)return;const t=Be.current,i=e.map(Te);let n=je.current.concat(i);n.length>t&&(n=n.slice(n.length-t)),je.current=n;const r=i[i.length-1];ke.current=r.value,$e(n),ze(r.value);for(let e=i.length-1;e>=0;e--){const t=i[e].comparison;if(null!=t){Me(t);break}}Ie(r.time)},[Te]),Ee=t(e=>He([e]),[He]);n(l,()=>({push:e=>Ee(e),pushMany:e=>He(e),clear:()=>{je.current=[],ke.current=null,$e([]),ze(null),Me(null),Ie(null)},getValue:()=>ke.current??(Number.isFinite(Le.current)?Le.current:null),getData:()=>je.current.slice()}),[Ee,He]);const We=_e??s,Pe=null==We||"number"!=typeof We||!Number.isFinite(We),Ae=r(()=>f(m??"number",{locale:d,currency:h,precision:y}),[m,d,h,y]),Re=r(()=>f(H??m??"number",{locale:d,currency:h,precision:null==H&&null==m?0:y}),[H,m,d,h,y]),Ve=te??!1,Ue=a(("object"==typeof Ve&&!1===Ve.intro||!Ve)&&Number.isFinite(s)?s:0),Ze=function(e,t,n){const[r,l]=o(e),s=a(null),c=a(e),u=a(0),m=a(e);return i(()=>{if(!Number.isFinite(e))return void l(e);if(!t||n)return void l(e);const i="object"==typeof t&&t.duration?t.duration:300,a="object"==typeof t&&"linear"===t.easing?"linear":"ease-out";c.current=r,m.current=e,u.current="undefined"!=typeof performance?performance.now():Date.now();const o="linear"===a?e=>e:e=>1-Math.pow(1-e,3),d=e=>{const t=Math.min(1,(e-u.current)/i),n=o(t);l(c.current+(m.current-c.current)*n),1>t?s.current=requestAnimationFrame(d):(s.current=null,l(m.current))};return s.current=requestAnimationFrame(d),()=>{null!=s.current&&cancelAnimationFrame(s.current),s.current=null}},[e,t,n]),r}(Number.isFinite(We)?We:Ue.current,Ve,Fe),qe=Ve?Ze:Number.isFinite(We)?We:0,Oe=r(()=>N(Number.isFinite(We)?We:NaN,A),[We,A]),Xe=Oe?Oe.level:"neutral",Ye=Y??F(Xe,Oe?.color),Ge=De??k?.value??null,Je=null!=T?T:null!=Ge&&Number.isFinite(We)?We-Ge:null,Ke=function(e,t,i){if(i&&"auto"!==i)return i;if(null==e||0===e||!Number.isFinite(e))return"neutral";const n=t??"higher-is-better";return"neutral"===n?"neutral":("higher-is-better"===n?e>0:0>e)?"positive":"negative"}(Je,k?.direction??L?.direction??W,P),Qe=null!=Je&&Number.isFinite(Je)?w(Je,Re):null,et=r(()=>new Intl.NumberFormat(d??"en-US",{style:"percent",maximumFractionDigits:1,minimumFractionDigits:0,signDisplay:"exceptZero"}),[d]),tt=null!=Ge&&Number.isFinite(We)&&(E??1)&&0!==Ge?et.format((We-Ge)/Math.abs(Ge)):null,it=r(()=>new Intl.NumberFormat(d??"en-US",{style:"percent",maximumFractionDigits:0}),[d]),nt=r(()=>L&&Number.isFinite(We)&&L.value?it.format(We/L.value):null,[L,We,it]),rt=r(()=>f(L?.format??m??"number",{locale:d,currency:h,precision:y}),[L?.format,m,d,h,y]),at=r(()=>f(k?.format??m??"number",{locale:d,currency:h,precision:y}),[k?.format,m,d,h,y]),ot=function(e,t){const[n,r]=o(!1);return i(()=>{if(!t||null==e)return void r(!1);const i=()=>{r(Date.now()-e>=t)};i();const n=setInterval(i,Math.max(250,Math.floor(t/4)));return()=>clearInterval(n)},[e,t]),n}(Ce,ie),lt=Number.isFinite(qe)?v(Ae(qe),x,S):"",st={value:Pe?null:We,formattedValue:lt,level:Xe,color:Ye,delta:Je,deltaFormatted:Qe,deltaPercent:tt,sentiment:Ke,isStale:ot,pushBuffer:Se},ct=be??function(e){const t=[];if(e.label&&t.push(e.label+":"),t.push(e.unit?`${e.formattedValue} ${e.unit}`:e.formattedValue),e.deltaFormatted){const i=e.delta,n=null!=i&&Number.isFinite(i)&&0!==i?i>0?"up":"down":"change";t.push(`${n} ${e.deltaFormatted}${e.deltaPercent?` (${e.deltaPercent})`:""}${e.comparisonLabel?" from "+e.comparisonLabel:""}`)}return e.targetPercent&&e.targetLabel&&t.push(`${e.targetPercent} of ${e.targetLabel}`),e.stale&&t.push(e.staleLabel??"stale"),t.join(", ")}({label:c,formattedValue:Number.isFinite(We)?v(Ae(We),x,S):"",unit:j,comparisonLabel:k?.label,delta:Je,deltaFormatted:Qe,deltaPercent:tt,targetLabel:L?.label,targetPercent:nt,stale:ot,staleLabel:ne}),ut="number"==typeof O?{top:O,right:O,bottom:O,left:O}:{...ve.padding,...O??{}},mt="end"===we?"flex-end":"center"===we?"center":"start"===we?"flex-start":"inherit",dt={position:"relative",boxSizing:"border-box",width:xe,height:Ne,padding:`${ut.top}px ${ut.right}px ${ut.bottom}px ${ut.left}px`,background:G??ve.background,border:ve.border?"1px solid "+(J??"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof K?K+"px":K??"var(--semiotic-border-radius, 8px)",display:"inline"===V?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===mt?void 0:mt,textAlign:we,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:ot?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===X?"span 2":void 0,cursor:me?"pointer":void 0,...ee},ht=t(e=>{const t=e.currentTarget.getBoundingClientRect(),i=e.clientX-t.left,n=e.clientY-t.top,r={value:Pe?NaN:We,level:Xe,delta:Je};me&&me(r,{x:i,y:n}),de&&de({type:"click",datum:r,x:i,y:n,chartType:"BigNumber",chartId:he,timestamp:Date.now()})},[me,de,he,Pe,We,Xe,Je]),bt="inline"===V?"span":"div",pt=["semiotic-bignumber","semiotic-bignumber--mode-"+V,"semiotic-bignumber--level-"+Xe,"semiotic-bignumber--sentiment-"+Ke,ot?"semiotic-bignumber--stale":null,Q].filter(Boolean).join(" "),gt="positive"===Ke?"up":"negative"===Ke?"down":"flat";if(ge){const e="number"==typeof xe?xe:280,t="number"==typeof Ne?Ne:160;return _(bt,{role:"status","aria-live":"polite","aria-busy":"true",className:pt+" semiotic-bignumber--loading",style:{...dt,opacity:1},children:fe??_(B,{width:e,height:t,mode:V})})}return Pe?!1===ye?null:_(bt,{role:"status","aria-label":c?c+": no value":"no value",className:pt+" semiotic-bignumber--empty",style:{...dt,color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"},children:ye??"—"}):_(b,{componentName:"BigNumber",width:"number"==typeof xe?xe:280,height:"number"==typeof Ne?Ne:160,children:z(bt,{role:"group","aria-label":ct,"data-chart":"BigNumber","data-mode":V,"data-level":Xe,"data-stale":ot?"true":void 0,"data-sentiment":Ke,className:pt,style:dt,onClick:me||de?ht:void 0,children:[ve.showHeader&&(c||u||re)?_("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:ve.showChart&&null!=se?(ce??ve.chartSize)+8:0},children:M(re,st,z($,{children:[c?_("span",{className:"semiotic-bignumber__label",style:{fontSize:ve.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:c}):null,u?_("span",{className:"semiotic-bignumber__caption",style:{fontSize:ve.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:u}):null]}))}):null,M(ae,st,z(bt,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+Xe,style:{display:"inline"===V?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:Ye,fontSize:ve.valueSize||void 0,lineHeight:1.05},children:[_("span",{className:"semiotic-bignumber__value-text",children:lt}),j?_("span",{className:"semiotic-bignumber__unit",style:{fontSize:ve.valueSize?Math.max(11,Math.round(.32*ve.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:j}):null]})),ve.showDelta&&(Qe||L||k)?_(bt,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+gt,style:{display:"inline"===V?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===V?0:6,fontSize:ve.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:M(oe,st,z($,{children:[Qe?z("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+gt,style:{display:"inline-flex",alignItems:"center",gap:4,color:C(Ke),fontWeight:600},children:[_("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+gt,children:I(Ke)}),_("span",{className:"semiotic-bignumber__delta-amount",children:Qe}),tt?z("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",tt,")"]}):null]}):null,k?.label?_("span",{className:"semiotic-bignumber__comparison-label",children:k.label}):null,L?z("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[Qe||k?.label?_("span",{"aria-hidden":"true",className:"semiotic-bignumber__separator",children:"·"}):null,_("span",{className:"semiotic-bignumber__target-percent",style:{fontWeight:500,color:"var(--semiotic-text, #111)"},children:nt}),z("span",{className:"semiotic-bignumber__target-value",children:["of ",rt(L.value),L.label?" "+L.label:""]})]}):null]}))}):null,ve.showChart&&null!=se?_("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:ut.top,right:ut.right,width:ce??ve.chartSize,height:ce??ve.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:_("div",{style:{pointerEvents:"auto",lineHeight:0},children:M(se,st,null)})}):null,ve.showTrend&&null!=le?_("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:ut.left,right:ut.right,bottom:ut.bottom+(null!=ue?28:0)},children:M(le,st,null)}):null,null!=ue?_(bt,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:ut.left,right:ut.right,bottom:ut.bottom,fontSize:ve.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:M(ue,st,null)}):null,pe?_("span",{style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:pe}):null,_("span",{"aria-hidden":"true",style:{display:"none"},children:null!=Ge?at(Ge):null})]})})});j.displayName="BigNumber";var k=j,L=k;function B(e){const t=Math.floor(.45*e.width),i=Math.floor(.6*e.width),n=(e,t)=>_("div",{style:{width:e,height:t,background:"var(--semiotic-border, #e0e0e0)",borderRadius:4,opacity:.55}});return z("div",{style:{display:"flex",flexDirection:"column",gap:10,justifyContent:"center",width:"100%",height:"100%"},children:["thumbnail"!==e.mode&&"inline"!==e.mode?n(t,10):null,n(i,"presentation"===e.mode?48:28),"tile"===e.mode||"presentation"===e.mode?n(Math.floor(.35*e.width),8):null]})}export{k as BigNumber,L as BigNumberDefault,f as buildFormatter,S as buildSparklinePath,F as colorForLevel,x as formatDeltaPercent,y as formatDuration,w as formatSignedDelta,N as resolveThreshold};
@@ -18,6 +18,16 @@ export { QuadrantChart } from "./components/charts/xy/QuadrantChart";
18
18
  export { MultiAxisLineChart } from "./components/charts/xy/MultiAxisLineChart";
19
19
  export { CandlestickChart } from "./components/charts/xy/CandlestickChart";
20
20
  export { XYCustomChart } from "./components/charts/custom/XYCustomChart";
21
+ export { responsiveRuleMatches, resolveResponsiveRules } from "./components/charts/shared/responsiveRules";
22
+ export type { ResponsiveOrientation, ResponsiveRuleCondition, ResponsiveRuleContext, ResponsiveRule, ResponsiveRuleMatch, ResponsiveRuleResult, } from "./components/charts/shared/responsiveRules";
23
+ export { useCustomLayoutSelection } from "./components/stream/customLayoutSelection";
24
+ export type { CustomLayoutSelection } from "./components/stream/customLayoutSelection";
25
+ export type { CustomLayoutFailureDiagnostic, CustomLayoutFailureRecovery, CustomLayoutFamily } from "./components/stream/customLayoutFailure";
26
+ export { hitTargetPoint, hitTargetRect, DEFAULT_HIT_RADIUS } from "./components/stream/hitTarget";
27
+ export type { HitTargetPointProps, HitTargetRectProps } from "./components/stream/hitTarget";
28
+ export { glyphPlacement, glyphExtent } from "./components/stream/glyphDef";
29
+ export type { GlyphDef, GlyphPart } from "./components/stream/glyphDef";
30
+ export type { GlyphSceneNode, SceneAccessibilityMetadata } from "./components/stream/types";
21
31
  export type { StreamXYFrameProps, StreamXYFrameHandle } from "./components/stream/types";
22
32
  export type { CustomLayout, LayoutContext, LayoutResult } from "./components/stream/customLayout";
23
33
  export type { LineChartProps } from "./components/charts/xy/LineChart";
@@ -1,7 +1,7 @@
1
1
  import StreamXYFrame from "./components/stream/StreamXYFrame";
2
2
  import StreamOrdinalFrame from "./components/stream/StreamOrdinalFrame";
3
3
  import StreamNetworkFrame from "./components/stream/StreamNetworkFrame";
4
- import { Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, PieChart, DonutChart, GaugeChart, GroupedBarChart, FunnelChart, SwimlaneChart, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart } from "./components/charts";
4
+ import { Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, PieChart, DonutChart, GaugeChart, GroupedBarChart, FunnelChart, SwimlaneChart, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, responsiveRuleMatches, resolveResponsiveRules } from "./components/charts";
5
5
  import { LinkedCharts } from "./components/LinkedCharts";
6
6
  import { ThemeProvider, useTheme } from "./components/ThemeProvider";
7
7
  import { exportChart } from "./components/export/exportChart";
@@ -11,9 +11,14 @@ import { serializeSelections, deserializeSelections } from "./components/export/
11
11
  import { fromVegaLite } from "./components/data/fromVegaLite";
12
12
  import { ChartErrorBoundary } from "./components/ChartErrorBoundary";
13
13
  import { ChartContainer } from "./components/ChartContainer";
14
+ import { MobileChartContainer } from "./components/MobileChartContainer";
15
+ import { SmallMultipleChart } from "./components/SmallMultipleChart";
16
+ import { MobileStandardControls, clampMobileRange, useMobileRangeControls, zoomMobileRange } from "./components/MobileStandardControls";
14
17
  import { ChartGrid } from "./components/ChartGrid";
15
18
  import { CategoryColorProvider, useCategoryColors } from "./components/CategoryColors";
16
19
  import { ContextLayout } from "./components/ContextLayout";
20
+ import { CircularBrush } from "./components/CircularBrush";
21
+ import { DirectManipulationControl, VISUALIZATION_CONTROL_TYPES } from "./components/DirectManipulationControl";
17
22
  import { DetailsPanel } from "./components/DetailsPanel";
18
23
  import { Tooltip, MultiLineTooltip, normalizeTooltip } from "./components/Tooltip/Tooltip";
19
24
  import { RingBuffer } from "./components/realtime/RingBuffer";
@@ -23,16 +28,27 @@ import { RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram } from
23
28
  import { RealtimeSwarmChart } from "./components/charts/realtime/RealtimeSwarmChart";
24
29
  import { RealtimeWaterfallChart } from "./components/charts/realtime/RealtimeWaterfallChart";
25
30
  import { RealtimeHeatmap } from "./components/charts/realtime/RealtimeHeatmap";
26
- export { StreamXYFrame, StreamOrdinalFrame, StreamNetworkFrame, Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, PieChart, DonutChart, GaugeChart, FunnelChart, GroupedBarChart, SwimlaneChart, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, LinkedCharts, ThemeProvider, useTheme, exportChart, toConfig, fromConfig, toURL, fromURL, copyConfig, configToJSX, serializeSelections, deserializeSelections, fromVegaLite, ChartErrorBoundary, ChartContainer, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern };
31
+ export { StreamXYFrame, StreamOrdinalFrame, StreamNetworkFrame, Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, PieChart, DonutChart, GaugeChart, FunnelChart, GroupedBarChart, SwimlaneChart, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, LinkedCharts, ThemeProvider, useTheme, exportChart, toConfig, fromConfig, toURL, fromURL, copyConfig, configToJSX, serializeSelections, deserializeSelections, fromVegaLite, ChartErrorBoundary, ChartContainer, MobileChartContainer, SmallMultipleChart, MobileStandardControls, clampMobileRange, useMobileRangeControls, zoomMobileRange, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, CircularBrush, DirectManipulationControl, VISUALIZATION_CONTROL_TYPES, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern, responsiveRuleMatches, resolveResponsiveRules };
27
32
  export type { LegendLayout } from "./components/types/legendTypes";
28
- export { ScatterplotProps, ConnectedScatterplotProps, LineChartProps, AreaChartProps, SemanticGradientStop, DifferenceChartProps, StackedAreaChartProps, HeatmapProps, BubbleChartProps, BarChartProps, StackedBarChartProps, LikertChartProps, SwarmPlotProps, BoxPlotProps, HistogramProps, ViolinPlotProps, DotPlotProps, PieChartProps, DonutChartProps, GaugeChartProps, GaugeThreshold, FunnelChartProps, GroupedBarChartProps, SwimlaneChartProps, RidgelinePlotProps, OrbitDiagramProps, OrbitNode, ForceDirectedGraphProps, ChordDiagramProps, SankeyDiagramProps, ProcessSankeyProps, ProcessSankeyTick, TreeDiagramProps, TreemapProps, CirclePackProps, ScatterplotMatrixProps, MinimapChartProps, MinimapConfig, QuadrantChartProps, MultiAxisLineChartProps, MultiAxisSeriesConfig, CandlestickChartProps, QuadrantsConfig, QuadrantsConfigOverride, QuadrantConfig, CenterlineStyle, BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode } from "./components/charts";
29
- export type { StreamXYFrameProps, StreamXYFrameHandle, StreamChartType, RuntimeMode, SceneNode, Changeset, StreamScales, StreamLayout, CurveType, CanvasRendererFn, XYFrameAxisConfig, BandConfig } from "./components/stream/types";
33
+ export type { DirectManipulationControlProps, VisualizationControlType } from "./components/DirectManipulationControl";
34
+ export { createControlObservationAdapter, } from "./components/controls/controlContract";
35
+ export { auditVisualizationControls } from "./components/controls/controlAudit";
36
+ export type { ControlInputSource, ControlObservation, ControlObservationAdapterOptions, ControlObservationCallback, ControlObservationPhase, VisualizationControlDefinition, VisualizationControlValue, } from "./components/controls/controlContract";
37
+ export type { AuditVisualizationControlsOptions, ControlAuditFinding, ControlAuditResult, ControlAuditStatus, } from "./components/controls/controlAudit";
38
+ export type { ScatterplotProps, ConnectedScatterplotProps, LineChartProps, AreaChartProps, SemanticGradientStop, DifferenceChartProps, StackedAreaChartProps, HeatmapProps, BubbleChartProps, BarChartProps, StackedBarChartProps, LikertChartProps, SwarmPlotProps, BoxPlotProps, HistogramProps, ViolinPlotProps, DotPlotProps, PieChartProps, DonutChartProps, GaugeChartProps, GaugeThreshold, FunnelChartProps, GroupedBarChartProps, SwimlaneChartProps, RidgelinePlotProps, OrbitDiagramProps, OrbitNode, ForceDirectedGraphProps, ChordDiagramProps, SankeyDiagramProps, ProcessSankeyProps, ProcessSankeyTick, TreeDiagramProps, TreemapProps, CirclePackProps, ScatterplotMatrixProps, MinimapChartProps, MinimapConfig, QuadrantChartProps, MultiAxisLineChartProps, MultiAxisSeriesConfig, CandlestickChartProps, QuadrantsConfig, QuadrantsConfigOverride, QuadrantConfig, CenterlineStyle, BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode, MobileClearSelectionBehavior, MobileSnapBehavior, MobileInteractionConfig, MobileInteractionProp, ResolvedMobileInteractionConfig, ResponsiveOrientation, ResponsiveRuleCondition, ResponsiveRuleContext, ResponsiveRule, ResponsiveRuleMatch, ResponsiveRuleResult } from "./components/charts";
39
+ export type { StreamXYFrameProps, StreamXYFrameHandle, StreamChartType, RuntimeMode, SceneNode, SceneAccessibilityMetadata, Changeset, StreamScales, StreamLayout, CurveType, CanvasRendererFn, XYFrameAxisConfig, BandConfig } from "./components/stream/types";
30
40
  export type { StreamRendererFn } from "./components/stream/renderers/types";
31
41
  export type { StreamOrdinalFrameProps, StreamOrdinalFrameHandle, OrdinalChartType, OrdinalScales, OrdinalSceneNode } from "./components/stream/ordinalTypes";
32
42
  export type { StreamNetworkFrameProps, StreamNetworkFrameHandle, NetworkChartType, NetworkSceneNode, NetworkSceneEdge, NetworkLabel, ThresholdAlertConfig } from "./components/stream/networkTypes";
33
43
  export type { SelectionConfig, LinkedHoverProp, LinkedBrushProp } from "./components/charts/shared/types";
34
- export type { LinkedChartsProps } from "./components/LinkedCharts";
35
- export { useSelection, useSelectionActions, useLinkedHover, useBrushSelection, useFilteredData } from "./components/LinkedCharts";
44
+ export type { LinkedChartsProps, LegendInteractionMode } from "./components/LinkedCharts";
45
+ export type { CircularBrushProps, CircularBrushValue } from "./components/CircularBrush";
46
+ export { useSelection, useSelectionActions, useLinkedHover, useBrushSelection, useFilteredData, useLinkedChartsActive } from "./components/LinkedCharts";
47
+ export { useCustomLayoutSelection } from "./components/stream/customLayoutSelection";
48
+ export { useForceLayout } from "./components/charts/network/useForceLayout";
49
+ export type { ForceLayoutStatus, UseForceLayoutResult } from "./components/charts/network/useForceLayout";
50
+ export type { CustomLayoutSelection } from "./components/stream/customLayoutSelection";
51
+ export type { CustomLayoutFailureDiagnostic, CustomLayoutFailureRecovery, CustomLayoutFamily } from "./components/stream/customLayoutFailure";
36
52
  export type { UseSelectionOptions, UseSelectionResult, UseSelectionActionsResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./components/LinkedCharts";
37
53
  export { useChartObserver } from "./components/LinkedCharts";
38
54
  export type { UseChartObserverOptions, UseChartObserverResult } from "./components/LinkedCharts";
@@ -48,9 +64,17 @@ export { AccessibleNavTree } from "./components/AccessibleNavTree";
48
64
  export type { AccessibleNavTreeProps } from "./components/AccessibleNavTree";
49
65
  export { buildNavigationTree } from "./components/ai/navigationTree";
50
66
  export type { NavTreeNode, NavTreeRole, BuildNavigationTreeOptions } from "./components/ai/navigationTree";
67
+ export { IntentMark } from "./components/ai/IntentMark";
68
+ export type { IntentMarkProps } from "./components/ai/IntentMark";
69
+ export { intentManifestFromRecipe, summarizeIntentManifest } from "./components/ai/intentManifest";
70
+ export type { IntentManifest, IntentManifestFromRecipeOptions } from "./components/ai/intentManifest";
51
71
  export { useNavigationSync } from "./components/ai/useNavigationSync";
52
72
  export type { UseNavigationSyncOptions, UseNavigationSyncResult } from "./components/ai/useNavigationSync";
53
- export type { ChartContainerProps, ChartContainerHandle } from "./components/ChartContainer";
73
+ export type { ChartContainerProps, ChartContainerHandle, ChartContainerMobileOptions, ChartNotification, ChartNotificationLevel, } from "./components/ChartContainer";
74
+ export type { MobileChartChip, MobileChartContainerProps, MobileChartDetailMode, } from "./components/MobileChartContainer";
75
+ export type { MobileStandardBrushControls, MobileStandardControlKind, MobileStandardControlLegendItem, MobileStandardControlRequest, MobileStandardControlsMode, MobileStandardControlsProps, MobileStandardLegendControls, MobileStandardZoomControls, UseMobileRangeControlsOptions, UseMobileRangeControlsResult, } from "./components/MobileStandardControls";
76
+ export type { MobileVisualizationContract } from "./components/charts/shared/auditMobileVisualization";
77
+ export type { SmallMultipleChartProps, SmallMultipleExtent, SmallMultipleItem, SmallMultipleRenderContext, SmallMultipleSharedExtent, } from "./components/SmallMultipleChart";
54
78
  export type { ChartGridProps } from "./components/ChartGrid";
55
79
  export type { CategoryColorMap, CategoryColorProviderProps } from "./components/CategoryColors";
56
80
  export type { ContextLayoutProps } from "./components/ContextLayout";
@@ -62,10 +86,18 @@ export type { HatchPatternOptions } from "./components/charts/shared/hatchPatter
62
86
  export { smartTickFormat, adaptiveTimeTicks } from "./components/charts/shared/formatUtils";
63
87
  export { darkenColor, lightenColor } from "./components/charts/shared/colorManipulation";
64
88
  export type { TooltipProp, TooltipConfig, TooltipField, MultiLineTooltipConfig } from "./components/Tooltip/Tooltip";
89
+ export { smartTooltipEntries } from "./components/charts/shared/tooltipUtils";
90
+ export type { SmartTooltipEntry, SmartTooltipResult } from "./components/charts/shared/tooltipUtils";
65
91
  export type { ArrowOfTime, WindowMode, ThresholdType, LineStyle, BarStyle, WaterfallStyle, SwarmStyle, AnnotationContext, AnnotationAnchorMode, CrosshairStyle, HoverAnnotationConfig, HoverData } from "./components/realtime/types";
66
92
  export type { RealtimeLineChartProps } from "./components/charts/realtime/RealtimeLineChart";
67
93
  export type { RealtimeTemporalHistogramProps, RealtimeHistogramProps, TemporalHistogramProps } from "./components/charts/realtime/RealtimeHistogram";
68
94
  export type { RealtimeSwarmChartProps } from "./components/charts/realtime/RealtimeSwarmChart";
69
95
  export type { RealtimeWaterfallChartProps } from "./components/charts/realtime/RealtimeWaterfallChart";
70
96
  export type { RealtimeHeatmapProps } from "./components/charts/realtime/RealtimeHeatmap";
97
+ export { useSyncedPushData, syncPushBuffer } from "./components/charts/shared/useSyncedPushData";
98
+ export type { SyncedPushHandle, SyncedPushDataOptions, PushIdAccessor, } from "./components/charts/shared/useSyncedPushData";
71
99
  export type { AnnotationProvenance, AnnotationSource, AnnotationActorKind, AnnotationBasis, AnnotationLifecycle, AnnotationFreshness, AnnotationStatus, AnnotationAnchor, Annotated, } from "./components/ai/annotationProvenance";
100
+ export { MobileAnnotationCalloutList } from "./components/MobileAnnotationCalloutList";
101
+ export type { MobileAnnotationCalloutListProps } from "./components/MobileAnnotationCalloutList";
102
+ export { compileMotionEncoding, resolveMotionAccessor, resolveMotionAge, opacityFromAge, resolveMotionVector, deriveMotionVector } from "./components/charts/shared/motionEncoding";
103
+ export type { MotionEncodingConstant, MotionEncodingAccessor, MotionTimeBasis, MotionTimeUnit, MotionCoordinateSpace, MotionTimeEncoding, MotionPlacementEncoding, MotionKinematicsEncoding, MotionProcessEncoding, MotionAccessibleEncoding, MotionEncoding, ResolvedMotionEncodingRow, MotionEncodingCompilation, CompileMotionEncodingOptions, ResolveMotionAgeOptions, ResolvedMotionAge, MotionAgeOpacityType, MotionAgeOpacityOptions, MotionPoint, ResolvedMotionVector } from "./components/charts/shared/motionEncoding";