semiotic 3.7.5 → 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 (481) hide show
  1. package/CLAUDE.md +54 -12
  2. package/README.md +121 -27
  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 +2733 -536
  9. package/ai/surface-manifest.json +200 -0
  10. package/ai/system-prompt.md +18 -3
  11. package/dist/components/CategoryColors.d.ts +1 -1
  12. package/dist/components/ChartContainer.d.ts +91 -0
  13. package/dist/components/ChartGrid.d.ts +11 -1
  14. package/dist/components/CircularBrush.d.ts +61 -0
  15. package/dist/components/ContextLayout.d.ts +5 -1
  16. package/dist/components/DirectManipulationControl.d.ts +63 -0
  17. package/dist/components/LinkedCharts.d.ts +3 -1
  18. package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
  19. package/dist/components/MobileChartContainer.d.ts +51 -0
  20. package/dist/components/MobileStandardControls.d.ts +68 -0
  21. package/dist/components/SmallMultipleChart.d.ts +84 -0
  22. package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
  23. package/dist/components/ai/ChartRecipe.d.ts +16 -0
  24. package/dist/components/ai/IntentMark.d.ts +15 -0
  25. package/dist/components/ai/chartCapabilities.d.ts +8 -1
  26. package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
  27. package/dist/components/ai/chartClinic.d.ts +91 -0
  28. package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
  29. package/dist/components/ai/chartRecipes.d.ts +278 -0
  30. package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
  31. package/dist/components/ai/describeChart.d.ts +7 -0
  32. package/dist/components/ai/describeRecipeChart.d.ts +16 -0
  33. package/dist/components/ai/generativeChart.d.ts +28 -3
  34. package/dist/components/ai/intentManifest.d.ts +62 -0
  35. package/dist/components/ai/navigationTree.d.ts +3 -0
  36. package/dist/components/ai/observedSceneAudit.d.ts +72 -0
  37. package/dist/components/ai/readerGrounding.d.ts +83 -0
  38. package/dist/components/ai/recipeCapability.d.ts +8 -0
  39. package/dist/components/ai/recipeNavigation.d.ts +13 -0
  40. package/dist/components/ai/recipeSemantics.d.ts +11 -0
  41. package/dist/components/ai/repairChartConfig.d.ts +9 -0
  42. package/dist/components/ai/suggestCharts.d.ts +11 -1
  43. package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
  44. package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
  45. package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
  46. package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
  47. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  48. package/dist/components/charts/geo/FlowMap.d.ts +1 -1
  49. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
  50. package/dist/components/charts/geo/index.d.ts +2 -0
  51. package/dist/components/charts/index.d.ts +29 -1
  52. package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
  53. package/dist/components/charts/network/CirclePack.d.ts +1 -1
  54. package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -5
  55. package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
  56. package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
  57. package/dist/components/charts/network/SankeyDiagram.d.ts +1 -1
  58. package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
  59. package/dist/components/charts/network/Treemap.d.ts +1 -1
  60. package/dist/components/charts/network/useForceLayout.d.ts +17 -0
  61. package/dist/components/charts/ordinal/BarChart.d.ts +1 -1
  62. package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
  63. package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
  64. package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
  65. package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
  66. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +1 -1
  67. package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
  68. package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
  69. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
  70. package/dist/components/charts/ordinal/StackedBarChart.d.ts +1 -1
  71. package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
  72. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
  73. package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
  74. package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
  75. package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
  76. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +47 -0
  77. package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
  78. package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
  79. package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
  80. package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -0
  81. package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
  82. package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
  83. package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
  84. package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
  85. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +120 -0
  86. package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
  87. package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -0
  88. package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
  89. package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
  90. package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
  91. package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
  92. package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
  93. package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
  94. package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
  95. package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
  96. package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
  97. package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
  98. package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
  99. package/dist/components/charts/physics/gauntletController.d.ts +73 -0
  100. package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
  101. package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
  102. package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
  103. package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
  104. package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
  105. package/dist/components/charts/physics/physicsChartShared.d.ts +41 -0
  106. package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
  107. package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
  108. package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
  109. package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
  110. package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
  111. package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
  112. package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
  113. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
  114. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
  115. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
  116. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
  117. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
  118. package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
  119. package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
  120. package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
  121. package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
  122. package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
  123. package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
  124. package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
  125. package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
  126. package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
  127. package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
  128. package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
  129. package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
  130. package/dist/components/charts/shared/colorContrast.d.ts +3 -0
  131. package/dist/components/charts/shared/colorUtils.d.ts +16 -1
  132. package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -0
  133. package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
  134. package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
  135. package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
  136. package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
  137. package/dist/components/charts/shared/hooks.d.ts +28 -5
  138. package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
  139. package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
  140. package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
  141. package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
  142. package/dist/components/charts/shared/types.d.ts +49 -1
  143. package/dist/components/charts/shared/useChartSetup.d.ts +9 -2
  144. package/dist/components/charts/shared/useCustomChartSetup.d.ts +14 -5
  145. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
  146. package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
  147. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  148. package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
  149. package/dist/components/charts/shared/validationMap.d.ts +0 -11
  150. package/dist/components/charts/xy/AreaChart.d.ts +1 -1
  151. package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
  152. package/dist/components/charts/xy/LineChart.d.ts +1 -1
  153. package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
  154. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
  155. package/dist/components/charts/xy/QuadrantChart.d.ts +1 -1
  156. package/dist/components/charts/xy/Scatterplot.d.ts +1 -1
  157. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
  158. package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
  159. package/dist/components/controls/controlAudit.d.ts +24 -0
  160. package/dist/components/controls/controlContract.d.ts +57 -0
  161. package/dist/components/data/fromFlintChart.d.ts +74 -0
  162. package/dist/components/data/fromVegaLite.d.ts +27 -0
  163. package/dist/components/data/portability/index.d.ts +6 -3
  164. package/dist/components/data/portability/result.d.ts +52 -0
  165. package/dist/components/data/portability/spec.d.ts +31 -0
  166. package/dist/components/data/portability/vegaLite.d.ts +24 -6
  167. package/dist/components/export/chartConfig.d.ts +11 -0
  168. package/dist/components/realtime/types.d.ts +11 -0
  169. package/dist/components/recipes/annotationLayout.d.ts +29 -0
  170. package/dist/components/recipes/axisFixedForce.d.ts +119 -0
  171. package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
  172. package/dist/components/recipes/cyclical.d.ts +39 -0
  173. package/dist/components/recipes/edgeRouter.d.ts +103 -0
  174. package/dist/components/recipes/forceLayout.d.ts +48 -0
  175. package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
  176. package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
  177. package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
  178. package/dist/components/recipes/gofishIR.d.ts +178 -132
  179. package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
  180. package/dist/components/recipes/intervalLanes.d.ts +87 -0
  181. package/dist/components/recipes/intervals.d.ts +80 -0
  182. package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
  183. package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
  184. package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
  185. package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
  186. package/dist/components/recipes/networkAnalysis.d.ts +102 -0
  187. package/dist/components/recipes/networkLayouts.d.ts +83 -0
  188. package/dist/components/recipes/physics.d.ts +122 -0
  189. package/dist/components/recipes/physicsReference.d.ts +102 -0
  190. package/dist/components/recipes/processAggregates.d.ts +32 -0
  191. package/dist/components/recipes/processChrome.d.ts +67 -0
  192. package/dist/components/recipes/processJourney.d.ts +54 -0
  193. package/dist/components/recipes/processPhysics.d.ts +300 -0
  194. package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
  195. package/dist/components/recipes/radialCoords.d.ts +69 -0
  196. package/dist/components/recipes/random.d.ts +2 -0
  197. package/dist/components/recipes/recipeChrome.d.ts +91 -0
  198. package/dist/components/recipes/recipeGlyph.d.ts +42 -0
  199. package/dist/components/recipes/recipeLegend.d.ts +53 -1
  200. package/dist/components/recipes/recipeUtils.d.ts +52 -0
  201. package/dist/components/recipes/runs.d.ts +59 -0
  202. package/dist/components/recipes/tokenEncoding.d.ts +157 -0
  203. package/dist/components/recipes/tokenLayer.d.ts +79 -0
  204. package/dist/components/recipes/unitize.d.ts +108 -0
  205. package/dist/components/recipes/vector.d.ts +28 -0
  206. package/dist/components/recipes/waffle.d.ts +43 -0
  207. package/dist/components/semiotic-ai-core.d.ts +47 -0
  208. package/dist/components/semiotic-ai.d.ts +50 -8
  209. package/dist/components/semiotic-controls.d.ts +18 -0
  210. package/dist/components/semiotic-experimental.d.ts +38 -9
  211. package/dist/components/semiotic-geo.d.ts +11 -0
  212. package/dist/components/semiotic-network.d.ts +11 -0
  213. package/dist/components/semiotic-ordinal.d.ts +8 -0
  214. package/dist/components/semiotic-physics-matter.d.ts +10 -0
  215. package/dist/components/semiotic-physics-rapier.d.ts +9 -0
  216. package/dist/components/semiotic-physics.d.ts +56 -0
  217. package/dist/components/semiotic-realtime-core.d.ts +34 -0
  218. package/dist/components/semiotic-realtime-react.d.ts +10 -0
  219. package/dist/components/semiotic-realtime.d.ts +4 -30
  220. package/dist/components/semiotic-recipes-core.d.ts +92 -0
  221. package/dist/components/semiotic-recipes-react.d.ts +7 -0
  222. package/dist/components/semiotic-recipes.d.ts +4 -43
  223. package/dist/components/semiotic-server-edge.d.ts +8 -0
  224. package/dist/components/semiotic-server-node.d.ts +5 -0
  225. package/dist/components/semiotic-server.d.ts +2 -2
  226. package/dist/components/semiotic-themes-core.d.ts +53 -0
  227. package/dist/components/semiotic-themes-react.d.ts +4 -0
  228. package/dist/components/semiotic-themes.d.ts +6 -76
  229. package/dist/components/semiotic-utils-core.d.ts +46 -0
  230. package/dist/components/semiotic-utils-react.d.ts +5 -0
  231. package/dist/components/semiotic-utils.d.ts +3 -39
  232. package/dist/components/semiotic-xy.d.ts +8 -0
  233. package/dist/components/semiotic.d.ts +35 -7
  234. package/dist/components/server/animatedGif.d.ts +36 -0
  235. package/dist/components/server/renderEvidence.d.ts +1 -1
  236. package/dist/components/server/renderToStaticSVG.d.ts +3 -35
  237. package/dist/components/server/serverChartConfigShared.d.ts +17 -0
  238. package/dist/components/server/serverChartConfigs.d.ts +19 -9
  239. package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
  240. package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
  241. package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
  242. package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
  243. package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
  244. package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
  245. package/dist/components/server/staticGeo.d.ts +4 -0
  246. package/dist/components/server/staticLegend.d.ts +1 -1
  247. package/dist/components/server/staticNetwork.d.ts +8 -0
  248. package/dist/components/server/staticOrdinal.d.ts +11 -0
  249. package/dist/components/server/staticPhysics.d.ts +3 -0
  250. package/dist/components/server/staticSVGChrome.d.ts +110 -0
  251. package/dist/components/server/staticXY.d.ts +4 -0
  252. package/dist/components/store/ObservationStore.d.ts +3 -2
  253. package/dist/components/store/themeSerialization.d.ts +32 -0
  254. package/dist/components/store/useChartInterrogation.d.ts +9 -0
  255. package/dist/components/stream/AccessibleDataTable.d.ts +3 -13
  256. package/dist/components/stream/FocusRing.d.ts +4 -2
  257. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  258. package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
  259. package/dist/components/stream/NetworkPipelineStore.d.ts +31 -26
  260. package/dist/components/stream/NetworkSVGOverlay.d.ts +4 -1
  261. package/dist/components/stream/OrdinalPipelineStore.d.ts +46 -2
  262. package/dist/components/stream/PipelineStore.d.ts +81 -170
  263. package/dist/components/stream/SceneGraph.d.ts +9 -1
  264. package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
  265. package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
  266. package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
  267. package/dist/components/stream/StreamXYFrame.d.ts +2 -18
  268. package/dist/components/stream/accessibleDataRows.d.ts +33 -0
  269. package/dist/components/stream/accessorUtils.d.ts +23 -10
  270. package/dist/components/stream/brushAccessibility.d.ts +25 -0
  271. package/dist/components/stream/canvasBackground.d.ts +24 -0
  272. package/dist/components/stream/canvasSetup.d.ts +4 -1
  273. package/dist/components/stream/customLayoutFailure.d.ts +33 -0
  274. package/dist/components/stream/customLayoutPalette.d.ts +19 -9
  275. package/dist/components/stream/frameThemeColors.d.ts +24 -0
  276. package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
  277. package/dist/components/stream/geoCartogram.d.ts +17 -0
  278. package/dist/components/stream/geoCustomLayout.d.ts +59 -0
  279. package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
  280. package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
  281. package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
  282. package/dist/components/stream/geoTypes.d.ts +56 -7
  283. package/dist/components/stream/glyphDef.d.ts +98 -0
  284. package/dist/components/stream/hitTarget.d.ts +170 -0
  285. package/dist/components/stream/hoverUtils.d.ts +3 -0
  286. package/dist/components/stream/keyboardNav.d.ts +4 -1
  287. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
  288. package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +57 -0
  289. package/dist/components/stream/networkBezier.d.ts +10 -0
  290. package/dist/components/stream/networkColorAccessors.d.ts +49 -0
  291. package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
  292. package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
  293. package/dist/components/stream/networkFramePaint.d.ts +43 -0
  294. package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
  295. package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
  296. package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
  297. package/dist/components/stream/networkTypes.d.ts +76 -5
  298. package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
  299. package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
  300. package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
  301. package/dist/components/stream/ordinalDomain.d.ts +38 -0
  302. package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +12 -0
  303. package/dist/components/stream/ordinalPulse.d.ts +10 -0
  304. package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
  305. package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
  306. package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
  307. package/dist/components/stream/ordinalTypes.d.ts +40 -8
  308. package/dist/components/stream/paintNeeds.d.ts +31 -0
  309. package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
  310. package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
  311. package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
  312. package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
  313. package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
  314. package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
  315. package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
  316. package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
  317. package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
  318. package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
  319. package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
  320. package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
  321. package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
  322. package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
  323. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +84 -0
  324. package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
  325. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -0
  326. package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
  327. package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
  328. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
  329. package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
  330. package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
  331. package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
  332. package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
  333. package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
  334. package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
  335. package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
  336. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +302 -0
  337. package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
  338. package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
  339. package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
  340. package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
  341. package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +9 -0
  342. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
  343. package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
  344. package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +16 -0
  345. package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
  346. package/dist/components/stream/pipelineConfig.d.ts +177 -0
  347. package/dist/components/stream/pipelineDecay.d.ts +20 -2
  348. package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
  349. package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
  350. package/dist/components/stream/pipelinePulse.d.ts +16 -2
  351. package/dist/components/stream/pipelineRibbons.d.ts +41 -0
  352. package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
  353. package/dist/components/stream/pipelineStoreUpdateResults.d.ts +12 -0
  354. package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
  355. package/dist/components/stream/pipelineTransitions.d.ts +2 -0
  356. package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
  357. package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
  358. package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
  359. package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
  360. package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
  361. package/dist/components/stream/streamStoreSync.d.ts +37 -0
  362. package/dist/components/stream/types.d.ts +135 -7
  363. package/dist/components/stream/useFrame.d.ts +21 -2
  364. package/dist/components/stream/useHydration.d.ts +6 -0
  365. package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
  366. package/dist/components/stream/workerModuleUrl.d.ts +10 -0
  367. package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
  368. package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
  369. package/dist/components/stream/xyCrosshair.d.ts +11 -0
  370. package/dist/components/stream/xyDateTicks.d.ts +9 -0
  371. package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
  372. package/dist/components/stream/xySceneBuilders/types.d.ts +4 -4
  373. package/dist/controls.min.js +2 -0
  374. package/dist/controls.module.min.js +2 -0
  375. package/dist/forceLayoutWorker.js +1 -0
  376. package/dist/geo.min.js +1 -1
  377. package/dist/geo.module.min.js +1 -1
  378. package/dist/network.min.js +1 -1
  379. package/dist/network.module.min.js +1 -1
  380. package/dist/ordinal.min.js +1 -1
  381. package/dist/ordinal.module.min.js +1 -1
  382. package/dist/physics-matter.min.js +1 -0
  383. package/dist/physics-matter.module.min.js +1 -0
  384. package/dist/physics-rapier.min.js +1 -0
  385. package/dist/physics-rapier.module.min.js +1 -0
  386. package/dist/physics.min.js +2 -0
  387. package/dist/physics.module.min.js +2 -0
  388. package/dist/physicsWorker.js +1 -0
  389. package/dist/realtime.min.js +1 -1
  390. package/dist/realtime.module.min.js +1 -1
  391. package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
  392. package/dist/semiotic-ai-core.d.ts +47 -0
  393. package/dist/semiotic-ai-core.min.js +1 -0
  394. package/dist/semiotic-ai-core.module.min.js +1 -0
  395. package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
  396. package/dist/semiotic-ai.d.ts +50 -8
  397. package/dist/semiotic-ai.min.js +1 -1
  398. package/dist/semiotic-ai.module.min.js +1 -1
  399. package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
  400. package/dist/semiotic-controls.d.ts +18 -0
  401. package/dist/semiotic-data.min.js +1 -1
  402. package/dist/semiotic-data.module.min.js +1 -1
  403. package/dist/semiotic-experimental.d.ts +38 -9
  404. package/dist/semiotic-experimental.min.js +1 -1
  405. package/dist/semiotic-experimental.module.min.js +1 -1
  406. package/dist/semiotic-geo.d.ts +11 -0
  407. package/dist/semiotic-network.d.ts +11 -0
  408. package/dist/semiotic-ordinal.d.ts +8 -0
  409. package/dist/semiotic-physics-matter.d.ts +10 -0
  410. package/dist/semiotic-physics-rapier.d.ts +9 -0
  411. package/dist/semiotic-physics.d.ts +56 -0
  412. package/dist/semiotic-realtime-core.d.ts +34 -0
  413. package/dist/semiotic-realtime-core.min.js +1 -0
  414. package/dist/semiotic-realtime-core.module.min.js +1 -0
  415. package/dist/semiotic-realtime-react.d.ts +10 -0
  416. package/dist/semiotic-realtime-react.min.js +2 -0
  417. package/dist/semiotic-realtime-react.module.min.js +2 -0
  418. package/dist/semiotic-realtime.d.ts +4 -30
  419. package/dist/semiotic-recipes-core.d.ts +92 -0
  420. package/dist/semiotic-recipes-core.min.js +1 -0
  421. package/dist/semiotic-recipes-core.module.min.js +1 -0
  422. package/dist/semiotic-recipes-react.d.ts +7 -0
  423. package/dist/semiotic-recipes-react.min.js +2 -0
  424. package/dist/semiotic-recipes-react.module.min.js +2 -0
  425. package/dist/semiotic-recipes.d.ts +4 -43
  426. package/dist/semiotic-recipes.min.js +1 -1
  427. package/dist/semiotic-recipes.module.min.js +1 -1
  428. package/dist/semiotic-server-edge.d.ts +8 -0
  429. package/dist/semiotic-server-edge.min.js +1 -0
  430. package/dist/semiotic-server-edge.module.min.js +1 -0
  431. package/dist/semiotic-server-node.d.ts +5 -0
  432. package/dist/semiotic-server-node.min.js +1 -0
  433. package/dist/semiotic-server-node.module.min.js +1 -0
  434. package/dist/semiotic-server.d.ts +2 -2
  435. package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
  436. package/dist/semiotic-themes-core.d.ts +53 -0
  437. package/dist/semiotic-themes-core.min.js +1 -0
  438. package/dist/semiotic-themes-core.module.min.js +1 -0
  439. package/dist/semiotic-themes-react.d.ts +4 -0
  440. package/dist/semiotic-themes-react.min.js +2 -0
  441. package/dist/semiotic-themes-react.module.min.js +2 -0
  442. package/dist/semiotic-themes.d.ts +6 -76
  443. package/dist/semiotic-themes.min.js +1 -2
  444. package/dist/semiotic-themes.module.min.js +1 -2
  445. package/dist/semiotic-utils-core.d.ts +46 -0
  446. package/dist/semiotic-utils-core.min.js +1 -0
  447. package/dist/semiotic-utils-core.module.min.js +1 -0
  448. package/dist/semiotic-utils-react.d.ts +5 -0
  449. package/dist/semiotic-utils-react.min.js +2 -0
  450. package/dist/semiotic-utils-react.module.min.js +2 -0
  451. package/dist/semiotic-utils.d.ts +3 -39
  452. package/dist/semiotic-utils.min.js +1 -2
  453. package/dist/semiotic-utils.module.min.js +1 -2
  454. package/dist/semiotic-value.min.js +1 -1
  455. package/dist/semiotic-value.module.min.js +1 -1
  456. package/dist/semiotic-xy.d.ts +8 -0
  457. package/dist/semiotic.d.ts +35 -7
  458. package/dist/semiotic.min.js +1 -1
  459. package/dist/semiotic.module.min.js +1 -1
  460. package/dist/server.min.js +1 -1
  461. package/dist/server.module.min.js +1 -1
  462. package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
  463. package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
  464. package/dist/xy.min.js +1 -1
  465. package/dist/xy.module.min.js +1 -1
  466. package/package.json +239 -87
  467. package/spec/README.md +152 -0
  468. package/spec/bindings/README.md +35 -0
  469. package/spec/bindings/vega-lite.mjs +112 -0
  470. package/spec/v0.1/annotation-provenance.schema.json +127 -0
  471. package/spec/v0.1/audience-profile.schema.json +67 -0
  472. package/spec/v0.1/chart-capability.schema.json +186 -0
  473. package/dist/components/recipes/gofish.d.ts +0 -207
  474. package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
  475. package/dist/components/recipes/gofishLambdas.d.ts +0 -145
  476. package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
  477. package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
  478. package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
  479. package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
  480. package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
  481. package/dist/xy-statisticalOverlays-3Ni9bRph.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",m=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:m,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 d=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:d,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 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 d(e,t){return t||("neutral"===e?"var(--semiotic-text, currentColor)":`var(--semiotic-${e}, currentColor)`)}"undefined"!=typeof process&&process;const h={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 b(e,t,n){return void 0===e?n:"function"==typeof e?e(t):e}function f(e){return"positive"===e?"var(--semiotic-success, currentColor)":"negative"===e?"var(--semiotic-danger, currentColor)":"var(--semiotic-text-secondary, currentColor)"}function g(e){return"positive"===e?"▲":"negative"===e?"▼":"■"}const p=t.forwardRef((n,i)=>{var r,l,s,p;const{value:v,label:y,caption:w,format:N,locale:S,currency:F,precision:j,prefix:$,suffix:_,unit:z,comparison:M,target:D,delta:C,deltaFormat:k,showDeltaPercent:I,direction:L,sentiment:R,thresholds:O,windowSize:E=60,mode:B="tile",align:P,width:T,height:H,padding:W,emphasis:A,color:V,background:U,borderColor:q,borderRadius:Z,className:X,style:Y,animate:G,stalenessThreshold:J,staleLabel:K,headerSlot:Q,valueSlot:ee,deltaSlot:te,trendSlot:ne,chartSlot:ie,chartSize:re,footerSlot:le,onClick:oe,onObservation:ae,chartId:se,description:ue,summary:ce,loading:me,loadingContent:de,emptyContent:he}=n,be=null!==(r=h[B])&&void 0!==r?r:h.tile,fe=null!=P?P:be.align,ge=null!=T?T:be.width,pe=null!=H?H:be.height,ve=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}(),[xe,ye]=t.useState([]),[we,Ne]=t.useState(null),[Se,Fe]=t.useState(null),[je,$e]=t.useState(null),_e=t.useRef([]),ze=t.useRef(null),Me=t.useRef(v);t.useEffect(()=>{Me.current=v},[v]);const De=t.useRef(E);t.useEffect(()=>{De.current=E},[E]);const Ce=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})},[]),ke=t.useCallback(e=>{if(0===e.length)return;const t=De.current,n=e.map(Ce);let i=_e.current.concat(n);i.length>t&&(i=i.slice(i.length-t)),_e.current=i;const r=n[n.length-1];ze.current=r.value,ye(i),Ne(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)},[Ce]),Ie=t.useCallback(e=>ke([e]),[ke]);t.useImperativeHandle(i,()=>({push:e=>Ie(e),pushMany:e=>ke(e),clear:()=>{_e.current=[],ze.current=null,ye([]),Ne(null),Fe(null),$e(null)},getValue:()=>{var e;return null!==(e=ze.current)&&void 0!==e?e:Number.isFinite(Me.current)?Me.current:null},getData:()=>_e.current.slice()}),[Ie,ke]);const Le=null!=we?we:v,Re=null==Le||"number"!=typeof Le||!Number.isFinite(Le),Oe=t.useMemo(()=>a(null!=N?N:"number",{locale:S,currency:F,precision:j}),[N,S,F,j]),Ee=t.useMemo(()=>{var e;return a(null!==(e=null!=k?k:N)&&void 0!==e?e:"number",{locale:S,currency:F,precision:null==k&&null==N?0:j})},[k,N,S,F,j]),Be=null!=G&&G,Pe=t.useRef(("object"==typeof Be&&!1===Be.intro||!Be)&&Number.isFinite(v)?v:0),Te=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 m="linear"===c?e=>e:e=>1-Math.pow(1-e,3),d=e=>{const n=Math.min(1,(e-s.current)/t),i=m(n);l(a.current+(u.current-a.current)*i),1>n?o.current=requestAnimationFrame(d):(o.current=null,l(u.current))};return o.current=requestAnimationFrame(d),()=>{null!=o.current&&cancelAnimationFrame(o.current),o.current=null}},[e,n,i]),r}(Number.isFinite(Le)?Le:Pe.current,Be,ve),He=Be?Te:Number.isFinite(Le)?Le:0,We=t.useMemo(()=>m(Number.isFinite(Le)?Le:NaN,O),[Le,O]),Ae=We?We.level:"neutral",Ve=null!=V?V:d(Ae,null==We?void 0:We.color),Ue=null!==(l=null!=Se?Se:null==M?void 0:M.value)&&void 0!==l?l:null,qe=null!=C?C:null!=Ue&&Number.isFinite(Le)?Le-Ue:null,Ze=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"}(qe,null!==(p=null!==(s=null==M?void 0:M.direction)&&void 0!==s?s:null==D?void 0:D.direction)&&void 0!==p?p:L,R),Xe=null!=qe&&Number.isFinite(qe)?c(qe,Ee):null,Ye=t.useMemo(()=>new Intl.NumberFormat(null!=S?S:"en-US",{style:"percent",maximumFractionDigits:1,minimumFractionDigits:0,signDisplay:"exceptZero"}),[S]),Ge=null!=Ue&&Number.isFinite(Le)&&(null==I||I)&&0!==Ue?Ye.format((Le-Ue)/Math.abs(Ue)):null,Je=t.useMemo(()=>new Intl.NumberFormat(null!=S?S:"en-US",{style:"percent",maximumFractionDigits:0}),[S]),Ke=t.useMemo(()=>D&&Number.isFinite(Le)&&D.value?Je.format(Le/D.value):null,[D,Le,Je]),Qe=t.useMemo(()=>{var e,t;return a(null!==(t=null!==(e=null==D?void 0:D.format)&&void 0!==e?e:N)&&void 0!==t?t:"number",{locale:S,currency:F,precision:j})},[null==D?void 0:D.format,N,S,F,j]),et=t.useMemo(()=>{var e,t;return a(null!==(t=null!==(e=null==M?void 0:M.format)&&void 0!==e?e:N)&&void 0!==t?t:"number",{locale:S,currency:F,precision:j})},[null==M?void 0:M.format,N,S,F,j]),tt=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}(je,J),nt=Number.isFinite(He)?u(Oe(He),$,_):"",it={value:Re?null:Le,formattedValue:nt,level:Ae,color:Ve,delta:qe,deltaFormatted:Xe,deltaPercent:Ge,sentiment:Ze,isStale:tt,pushBuffer:xe},rt=null!=ue?ue: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:y,formattedValue:Number.isFinite(Le)?u(Oe(Le),$,_):"",unit:z,comparisonLabel:null==M?void 0:M.label,delta:qe,deltaFormatted:Xe,deltaPercent:Ge,targetLabel:null==D?void 0:D.label,targetPercent:Ke,stale:tt,staleLabel:K}),lt="number"==typeof W?{top:W,right:W,bottom:W,left:W}:Object.assign(Object.assign({},be.padding),null!=W?W:{}),ot="end"===fe?"flex-end":"center"===fe?"center":"start"===fe?"flex-start":"inherit",at=Object.assign({position:"relative",boxSizing:"border-box",width:ge,height:pe,padding:`${lt.top}px ${lt.right}px ${lt.bottom}px ${lt.left}px`,background:null!=U?U:be.background,border:be.border?"1px solid "+(null!=q?q:"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof Z?Z+"px":null!=Z?Z:"var(--semiotic-border-radius, 8px)",display:"inline"===B?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===ot?void 0:ot,textAlign:fe,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:tt?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===A?"span 2":void 0,cursor:oe?"pointer":void 0},Y),st=t.useCallback(e=>{const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top,r={value:Re?NaN:Le,level:Ae,delta:qe};oe&&oe(r,{x:n,y:i}),ae&&ae({type:"click",datum:r,x:n,y:i,chartType:"BigNumber",chartId:se,timestamp:Date.now()})},[oe,ae,se,Re,Le,Ae,qe]),ut="inline"===B?"span":"div",ct=["semiotic-bignumber","semiotic-bignumber--mode-"+B,"semiotic-bignumber--level-"+Ae,"semiotic-bignumber--sentiment-"+Ze,tt?"semiotic-bignumber--stale":null,X].filter(Boolean).join(" "),mt="positive"===Ze?"up":"negative"===Ze?"down":"flat";if(me){const t="number"==typeof ge?ge:280,n="number"==typeof pe?pe:160;return e.jsx(ut,{role:"status","aria-live":"polite","aria-busy":"true",className:ct+" semiotic-bignumber--loading",style:Object.assign(Object.assign({},at),{opacity:1}),children:null!=de?de:e.jsx(x,{width:t,height:n,mode:B})})}return Re?!1===he?null:e.jsx(ut,{role:"status","aria-label":y?y+": no value":"no value",className:ct+" semiotic-bignumber--empty",style:Object.assign(Object.assign({},at),{color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"}),children:null!=he?he:"—"}):e.jsx(o,{componentName:"BigNumber",width:"number"==typeof ge?ge:280,height:"number"==typeof pe?pe:160,children:e.jsxs(ut,{role:"group","aria-label":rt,"data-chart":"BigNumber","data-mode":B,"data-level":Ae,"data-stale":tt?"true":void 0,"data-sentiment":Ze,className:ct,style:at,onClick:oe||ae?st:void 0,children:[be.showHeader&&(y||w||Q)?e.jsx("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:be.showChart&&null!=ie?(null!=re?re:be.chartSize)+8:0},children:b(Q,it,e.jsxs(e.Fragment,{children:[y?e.jsx("span",{className:"semiotic-bignumber__label",style:{fontSize:be.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:y}):null,w?e.jsx("span",{className:"semiotic-bignumber__caption",style:{fontSize:be.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:w}):null]}))}):null,b(ee,it,e.jsxs(ut,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+Ae,style:{display:"inline"===B?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:Ve,fontSize:be.valueSize||void 0,lineHeight:1.05},children:[e.jsx("span",{className:"semiotic-bignumber__value-text",children:nt}),z?e.jsx("span",{className:"semiotic-bignumber__unit",style:{fontSize:be.valueSize?Math.max(11,Math.round(.32*be.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:z}):null]})),be.showDelta&&(Xe||D||M)?e.jsx(ut,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+mt,style:{display:"inline"===B?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===B?0:6,fontSize:be.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:b(te,it,e.jsxs(e.Fragment,{children:[Xe?e.jsxs("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+mt,style:{display:"inline-flex",alignItems:"center",gap:4,color:f(Ze),fontWeight:600},children:[e.jsx("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+mt,children:g(Ze)}),e.jsx("span",{className:"semiotic-bignumber__delta-amount",children:Xe}),Ge?e.jsxs("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",Ge,")"]}):null]}):null,(null==M?void 0:M.label)?e.jsx("span",{className:"semiotic-bignumber__comparison-label",children:M.label}):null,D?e.jsxs("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[Xe||(null==M?void 0:M.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:Ke}),e.jsxs("span",{className:"semiotic-bignumber__target-value",children:["of ",Qe(D.value),D.label?" "+D.label:""]})]}):null]}))}):null,be.showChart&&null!=ie?e.jsx("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:lt.top,right:lt.right,width:null!=re?re:be.chartSize,height:null!=re?re:be.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e.jsx("div",{style:{pointerEvents:"auto",lineHeight:0},children:b(ie,it,null)})}):null,be.showTrend&&null!=ne?e.jsx("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:lt.left,right:lt.right,bottom:lt.bottom+(null!=le?28:0)},children:b(ne,it,null)}):null,null!=le?e.jsx(ut,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:lt.left,right:lt.right,bottom:lt.bottom,fontSize:be.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:b(le,it,null)}):null,ce?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:ce}):null,e.jsx("span",{"aria-hidden":"true",style:{display:"none"},children:null!=Ue?et(Ue):null})]})})});p.displayName="BigNumber";const v=p;function x(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=v,exports.BigNumberDefault=v,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),m=[];let d="";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;d+=`${0===m.length?"M":"L"}${i.toFixed(2)},${r.toFixed(2)}`,m.push({x:i,y:r})}if(0===m.length)return{line:"",area:"",points:[]};const h=m[0],b=l+u;return{line:d,area:`${d} L${m[m.length-1].x.toFixed(2)},${b.toFixed(2)} L${h.x.toFixed(2)},${b.toFixed(2)} Z`,points:m}},exports.colorForLevel=d,exports.formatDeltaPercent=function(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)},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 m({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 d 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(m,{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(d,{fallback:r=>e(m,{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 m=null!==(a=t.precision)&&void 0!==a?a:0,d=new Intl.NumberFormat(u,{notation:null!==(s=t.notation)&&void 0!==s?s:"standard",maximumFractionDigits:m,minimumFractionDigits:0});return e=>d.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),m=[];let d="";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;d+=`${0===m.length?"M":"L"}${i.toFixed(2)},${r.toFixed(2)}`,m.push({x:i,y:r})}if(0===m.length)return{line:"",area:"",points:[]};const h=m[0],b=l+u;return{line:d,area:`${d} L${m[m.length-1].x.toFixed(2)},${b.toFixed(2)} L${h.x.toFixed(2)},${b.toFixed(2)} Z`,points:m}}"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 m,d,g,v;const{value:x,label:_,caption:z,format:M,locale:C,currency:j,precision:I,prefix:k,suffix:L,unit:B,comparison:O,target:T,delta:H,deltaFormat:W,showDeltaPercent:E,direction:P,sentiment:A,thresholds:R,windowSize:V=60,mode:U="tile",align:Z,width:q,height:X,padding:Y,emphasis:G,color:J,background:K,borderColor:Q,borderRadius:ee,className:te,style:ne,animate:ie,stalenessThreshold:re,staleLabel:le,headerSlot:oe,valueSlot:ae,deltaSlot:se,trendSlot:ue,chartSlot:ce,chartSize:me,footerSlot:de,onClick:he,onObservation:be,chartId:ge,description:pe,summary:fe,loading:ve,loadingContent:ye,emptyContent:we}=i,xe=null!==(m=N[U])&&void 0!==m?m:N.tile,Ne=null!=Z?Z:xe.align,Fe=null!=q?q:xe.width,Se=null!=X?X:xe.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}(),[_e,ze]=r([]),[De,Me]=r(null),[Ce,je]=r(null),[Ie,ke]=r(null),Le=a([]),Be=a(null),Oe=a(x);l(()=>{Oe.current=x},[x]);const Te=a(V);l(()=>{Te.current=V},[V]);const He=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})},[]),We=s(e=>{if(0===e.length)return;const t=Te.current,n=e.map(He);let i=Le.current.concat(n);i.length>t&&(i=i.slice(i.length-t)),Le.current=i;const r=n[n.length-1];Be.current=r.value,ze(i),Me(r.value);for(let e=n.length-1;e>=0;e--){const t=n[e].comparison;if(null!=t){je(t);break}}ke(r.time)},[He]),Ee=s(e=>We([e]),[We]);u(o,()=>({push:e=>Ee(e),pushMany:e=>We(e),clear:()=>{Le.current=[],Be.current=null,ze([]),Me(null),je(null),ke(null)},getValue:()=>{var e;return null!==(e=Be.current)&&void 0!==e?e:Number.isFinite(Oe.current)?Oe.current:null},getData:()=>Le.current.slice()}),[Ee,We]);const Pe=null!=De?De:x,Ae=null==Pe||"number"!=typeof Pe||!Number.isFinite(Pe),Re=c(()=>b(null!=M?M:"number",{locale:C,currency:j,precision:I}),[M,C,j,I]),Ve=c(()=>{var e;return b(null!==(e=null!=W?W:M)&&void 0!==e?e:"number",{locale:C,currency:j,precision:null==W&&null==M?0:I})},[W,M,C,j,I]),Ue=null!=ie&&ie,Ze=a(("object"==typeof Ue&&!1===Ue.intro||!Ue)&&Number.isFinite(x)?x:0),qe=function(e,t,n){const[i,o]=r(e),s=a(null),u=a(e),c=a(0),m=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,m.current=e,c.current="undefined"!=typeof performance?performance.now():Date.now();const a="linear"===l?e=>e:e=>1-Math.pow(1-e,3),d=e=>{const t=Math.min(1,(e-c.current)/r),n=a(t);o(u.current+(m.current-u.current)*n),1>t?s.current=requestAnimationFrame(d):(s.current=null,o(m.current))};return s.current=requestAnimationFrame(d),()=>{null!=s.current&&cancelAnimationFrame(s.current),s.current=null}},[e,t,n]),i}(Number.isFinite(Pe)?Pe:Ze.current,Ue,$e),Xe=Ue?qe:Number.isFinite(Pe)?Pe:0,Ye=c(()=>y(Number.isFinite(Pe)?Pe:NaN,R),[Pe,R]),Ge=Ye?Ye.level:"neutral",Je=null!=J?J:w(Ge,null==Ye?void 0:Ye.color),Ke=null!==(d=null!=Ce?Ce:null==O?void 0:O.value)&&void 0!==d?d:null,Qe=null!=H?H:null!=Ke&&Number.isFinite(Pe)?Pe-Ke:null,et=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"}(Qe,null!==(v=null!==(g=null==O?void 0:O.direction)&&void 0!==g?g:null==T?void 0:T.direction)&&void 0!==v?v:P,A),tt=null!=Qe&&Number.isFinite(Qe)?f(Qe,Ve):null,nt=c(()=>new Intl.NumberFormat(null!=C?C:"en-US",{style:"percent",maximumFractionDigits:1,minimumFractionDigits:0,signDisplay:"exceptZero"}),[C]),it=null!=Ke&&Number.isFinite(Pe)&&(null==E||E)&&0!==Ke?nt.format((Pe-Ke)/Math.abs(Ke)):null,rt=c(()=>new Intl.NumberFormat(null!=C?C:"en-US",{style:"percent",maximumFractionDigits:0}),[C]),lt=c(()=>T&&Number.isFinite(Pe)&&T.value?rt.format(Pe/T.value):null,[T,Pe,rt]),ot=c(()=>{var e,t;return b(null!==(t=null!==(e=null==T?void 0:T.format)&&void 0!==e?e:M)&&void 0!==t?t:"number",{locale:C,currency:j,precision:I})},[null==T?void 0:T.format,M,C,j,I]),at=c(()=>{var e,t;return b(null!==(t=null!==(e=null==O?void 0:O.format)&&void 0!==e?e:M)&&void 0!==t?t:"number",{locale:C,currency:j,precision:I})},[null==O?void 0:O.format,M,C,j,I]),st=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}(Ie,re),ut=Number.isFinite(Xe)?p(Re(Xe),k,L):"",ct={value:Ae?null:Pe,formattedValue:ut,level:Ge,color:Je,delta:Qe,deltaFormatted:tt,deltaPercent:it,sentiment:et,isStale:st,pushBuffer:_e},mt=null!=pe?pe: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:_,formattedValue:Number.isFinite(Pe)?p(Re(Pe),k,L):"",unit:B,comparisonLabel:null==O?void 0:O.label,delta:Qe,deltaFormatted:tt,deltaPercent:it,targetLabel:null==T?void 0:T.label,targetPercent:lt,stale:st,staleLabel:le}),dt="number"==typeof Y?{top:Y,right:Y,bottom:Y,left:Y}:Object.assign(Object.assign({},xe.padding),null!=Y?Y:{}),ht="end"===Ne?"flex-end":"center"===Ne?"center":"start"===Ne?"flex-start":"inherit",bt=Object.assign({position:"relative",boxSizing:"border-box",width:Fe,height:Se,padding:`${dt.top}px ${dt.right}px ${dt.bottom}px ${dt.left}px`,background:null!=K?K:xe.background,border:xe.border?"1px solid "+(null!=Q?Q:"var(--semiotic-border, #e2e2e2)"):void 0,borderRadius:"number"==typeof ee?ee+"px":null!=ee?ee:"var(--semiotic-border-radius, 8px)",display:"inline"===U?"inline-flex":"flex",flexDirection:"column",alignItems:"inherit"===ht?void 0:ht,textAlign:Ne,fontFamily:"var(--semiotic-font-family, system-ui, sans-serif)",color:"var(--semiotic-text, #111)",opacity:st?.55:1,transition:"opacity 240ms ease-out",gridColumn:"primary"===G?"span 2":void 0,cursor:he?"pointer":void 0},ne),gt=s(e=>{const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top,r={value:Ae?NaN:Pe,level:Ge,delta:Qe};he&&he(r,{x:n,y:i}),be&&be({type:"click",datum:r,x:n,y:i,chartType:"BigNumber",chartId:ge,timestamp:Date.now()})},[he,be,ge,Ae,Pe,Ge,Qe]),pt="inline"===U?"span":"div",ft=["semiotic-bignumber","semiotic-bignumber--mode-"+U,"semiotic-bignumber--level-"+Ge,"semiotic-bignumber--sentiment-"+et,st?"semiotic-bignumber--stale":null,te].filter(Boolean).join(" "),vt="positive"===et?"up":"negative"===et?"down":"flat";if(ve){const t="number"==typeof Fe?Fe:280,n="number"==typeof Se?Se:160;return e(pt,{role:"status","aria-live":"polite","aria-busy":"true",className:ft+" semiotic-bignumber--loading",style:Object.assign(Object.assign({},bt),{opacity:1}),children:null!=ye?ye:e(D,{width:t,height:n,mode:U})})}return Ae?!1===we?null:e(pt,{role:"status","aria-label":_?_+": no value":"no value",className:ft+" semiotic-bignumber--empty",style:Object.assign(Object.assign({},bt),{color:"var(--semiotic-text-secondary, #666)",fontSize:13,alignItems:"center",justifyContent:"center"}),children:null!=we?we:"—"}):e(h,{componentName:"BigNumber",width:"number"==typeof Fe?Fe:280,height:"number"==typeof Se?Se:160,children:t(pt,{role:"group","aria-label":mt,"data-chart":"BigNumber","data-mode":U,"data-level":Ge,"data-stale":st?"true":void 0,"data-sentiment":et,className:ft,style:bt,onClick:he||be?gt:void 0,children:[xe.showHeader&&(_||z||oe)?e("div",{className:"semiotic-bignumber__header",style:{display:"flex",flexDirection:"column",gap:2,marginBottom:6,paddingRight:xe.showChart&&null!=ce?(null!=me?me:xe.chartSize)+8:0},children:F(oe,ct,t(n,{children:[_?e("span",{className:"semiotic-bignumber__label",style:{fontSize:xe.labelSize,color:"var(--semiotic-text-secondary, #6b7280)",fontWeight:500,letterSpacing:.2},children:_}):null,z?e("span",{className:"semiotic-bignumber__caption",style:{fontSize:xe.captionSize,color:"var(--semiotic-text-secondary, #9ca3af)"},children:z}):null]}))}):null,F(ae,ct,t(pt,{className:"semiotic-bignumber__value semiotic-bignumber__value--"+Ge,style:{display:"inline"===U?"inline-flex":"flex",alignItems:"baseline",gap:6,fontVariantNumeric:"tabular-nums",fontWeight:600,color:Je,fontSize:xe.valueSize||void 0,lineHeight:1.05},children:[e("span",{className:"semiotic-bignumber__value-text",children:ut}),B?e("span",{className:"semiotic-bignumber__unit",style:{fontSize:xe.valueSize?Math.max(11,Math.round(.32*xe.valueSize)):"0.75em",color:"var(--semiotic-text-secondary, #9ca3af)",fontWeight:500},children:B}):null]})),xe.showDelta&&(tt||T||O)?e(pt,{className:"semiotic-bignumber__delta semiotic-bignumber__delta--"+vt,style:{display:"inline"===U?"inline-flex":"flex",flexWrap:"wrap",gap:8,alignItems:"baseline",marginTop:"inline"===U?0:6,fontSize:xe.deltaSize||void 0,color:"var(--semiotic-text-secondary, #6b7280)"},children:F(se,ct,t(n,{children:[tt?t("span",{className:"semiotic-bignumber__delta-row semiotic-bignumber__delta-row--"+vt,style:{display:"inline-flex",alignItems:"center",gap:4,color:S(et),fontWeight:600},children:[e("span",{"aria-hidden":"true",className:"semiotic-bignumber__arrow semiotic-bignumber__arrow--"+vt,children:$(et)}),e("span",{className:"semiotic-bignumber__delta-amount",children:tt}),it?t("span",{className:"semiotic-bignumber__delta-percent",style:{fontWeight:500},children:["(",it,")"]}):null]}):null,(null==O?void 0:O.label)?e("span",{className:"semiotic-bignumber__comparison-label",children:O.label}):null,T?t("span",{className:"semiotic-bignumber__target",style:{display:"inline-flex",alignItems:"baseline",gap:4},children:[tt||(null==O?void 0:O.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:lt}),t("span",{className:"semiotic-bignumber__target-value",children:["of ",ot(T.value),T.label?" "+T.label:""]})]}):null]}))}):null,xe.showChart&&null!=ce?e("div",{className:"semiotic-bignumber__chart",style:{position:"absolute",top:dt.top,right:dt.right,width:null!=me?me:xe.chartSize,height:null!=me?me:xe.chartSize,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:e("div",{style:{pointerEvents:"auto",lineHeight:0},children:F(ce,ct,null)})}):null,xe.showTrend&&null!=ue?e("div",{className:"semiotic-bignumber__trend",style:{position:"absolute",left:dt.left,right:dt.right,bottom:dt.bottom+(null!=de?28:0)},children:F(ue,ct,null)}):null,null!=de?e(pt,{className:"semiotic-bignumber__footer",style:{position:"absolute",left:dt.left,right:dt.right,bottom:dt.bottom,fontSize:xe.deltaSize||void 0,color:"var(--semiotic-text-secondary, #9ca3af)"},children:F(de,ct,null)}):null,fe?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:fe}):null,e("span",{"aria-hidden":"true",style:{display:"none"},children:null!=Ke?at(Ke):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,8 +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";
21
23
  export { useCustomLayoutSelection } from "./components/stream/customLayoutSelection";
22
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";
23
31
  export type { StreamXYFrameProps, StreamXYFrameHandle } from "./components/stream/types";
24
32
  export type { CustomLayout, LayoutContext, LayoutResult } from "./components/stream/customLayout";
25
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,18 +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";
36
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";
37
50
  export type { CustomLayoutSelection } from "./components/stream/customLayoutSelection";
51
+ export type { CustomLayoutFailureDiagnostic, CustomLayoutFailureRecovery, CustomLayoutFamily } from "./components/stream/customLayoutFailure";
38
52
  export type { UseSelectionOptions, UseSelectionResult, UseSelectionActionsResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./components/LinkedCharts";
39
53
  export { useChartObserver } from "./components/LinkedCharts";
40
54
  export type { UseChartObserverOptions, UseChartObserverResult } from "./components/LinkedCharts";
@@ -50,9 +64,17 @@ export { AccessibleNavTree } from "./components/AccessibleNavTree";
50
64
  export type { AccessibleNavTreeProps } from "./components/AccessibleNavTree";
51
65
  export { buildNavigationTree } from "./components/ai/navigationTree";
52
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";
53
71
  export { useNavigationSync } from "./components/ai/useNavigationSync";
54
72
  export type { UseNavigationSyncOptions, UseNavigationSyncResult } from "./components/ai/useNavigationSync";
55
- 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";
56
78
  export type { ChartGridProps } from "./components/ChartGrid";
57
79
  export type { CategoryColorMap, CategoryColorProviderProps } from "./components/CategoryColors";
58
80
  export type { ContextLayoutProps } from "./components/ContextLayout";
@@ -72,4 +94,10 @@ export type { RealtimeTemporalHistogramProps, RealtimeHistogramProps, TemporalHi
72
94
  export type { RealtimeSwarmChartProps } from "./components/charts/realtime/RealtimeSwarmChart";
73
95
  export type { RealtimeWaterfallChartProps } from "./components/charts/realtime/RealtimeWaterfallChart";
74
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";
75
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";