semiotic 3.7.5 → 3.8.1
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.
- package/CLAUDE.md +63 -18
- package/README.md +121 -27
- package/agent-skill/semiotic-charts/SKILL.md +146 -0
- package/ai/cli.js +133 -45
- package/ai/componentMetadata.cjs +6 -1
- package/ai/dist/mcp-server.js +1741 -163
- package/ai/examples.md +174 -0
- package/ai/schema.json +2733 -536
- package/ai/surface-manifest.json +201 -0
- package/ai/system-prompt.md +20 -4
- package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
- package/dist/components/AccessibleNavTree.d.ts +7 -1
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartContainer.d.ts +91 -0
- package/dist/components/ChartGrid.d.ts +11 -1
- package/dist/components/CircularBrush.d.ts +61 -0
- package/dist/components/ContextLayout.d.ts +5 -1
- package/dist/components/DirectManipulationControl.d.ts +63 -0
- package/dist/components/LinkedCharts.d.ts +3 -1
- package/dist/components/MobileAnnotationCalloutList.d.ts +13 -0
- package/dist/components/MobileChartContainer.d.ts +51 -0
- package/dist/components/MobileStandardControls.d.ts +68 -0
- package/dist/components/SmallMultipleChart.d.ts +84 -0
- package/dist/components/Tooltip/FlippingTooltip.d.ts +21 -0
- package/dist/components/ai/ChartRecipe.d.ts +16 -0
- package/dist/components/ai/IntentMark.d.ts +15 -0
- package/dist/components/ai/chartCapabilities.d.ts +8 -1
- package/dist/components/ai/chartCapabilityTypes.d.ts +26 -1
- package/dist/components/ai/chartClinic.d.ts +91 -0
- package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
- package/dist/components/ai/chartRecipeRegistry.d.ts +14 -0
- package/dist/components/ai/chartRecipes.d.ts +278 -0
- package/dist/components/ai/dataPitfallsBridge.d.ts +102 -0
- package/dist/components/ai/describeChart.d.ts +7 -0
- package/dist/components/ai/describeRecipeChart.d.ts +16 -0
- package/dist/components/ai/generativeChart.d.ts +28 -3
- package/dist/components/ai/intentManifest.d.ts +62 -0
- package/dist/components/ai/navigationTree.d.ts +3 -0
- package/dist/components/ai/observedSceneAudit.d.ts +72 -0
- package/dist/components/ai/readerGrounding.d.ts +83 -0
- package/dist/components/ai/recipeCapability.d.ts +8 -0
- package/dist/components/ai/recipeNavigation.d.ts +13 -0
- package/dist/components/ai/recipeSemantics.d.ts +11 -0
- package/dist/components/ai/repairChartConfig.d.ts +9 -0
- package/dist/components/ai/suggestCharts.d.ts +11 -1
- package/dist/components/ai/useNavigationSync.d.ts +17 -2
- package/dist/components/chartContainerMobile.d.ts +9 -0
- package/dist/components/charts/custom/GeoCustomChart.d.ts +48 -0
- package/dist/components/charts/custom/NetworkCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/OrdinalCustomChart.d.ts +8 -2
- package/dist/components/charts/custom/XYCustomChart.d.ts +11 -2
- package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
- package/dist/components/charts/geo/DistanceCartogram.d.ts +15 -3
- package/dist/components/charts/geo/FlowMap.d.ts +11 -7
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +15 -3
- package/dist/components/charts/geo/index.d.ts +2 -0
- package/dist/components/charts/index.d.ts +35 -1
- package/dist/components/charts/network/ChordDiagram.d.ts +10 -2
- package/dist/components/charts/network/CirclePack.d.ts +1 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +26 -5
- package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
- package/dist/components/charts/network/ProcessSankey.d.ts +1 -1
- package/dist/components/charts/network/SankeyDiagram.d.ts +10 -2
- package/dist/components/charts/network/TreeDiagram.d.ts +1 -1
- package/dist/components/charts/network/Treemap.d.ts +1 -1
- package/dist/components/charts/network/useForceLayout.d.ts +17 -0
- package/dist/components/charts/ordinal/BarChart.d.ts +22 -1
- package/dist/components/charts/ordinal/BoxPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/DonutChart.d.ts +1 -1
- package/dist/components/charts/ordinal/DotPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/FunnelChart.d.ts +1 -1
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/Histogram.d.ts +1 -1
- package/dist/components/charts/ordinal/PieChart.d.ts +1 -1
- package/dist/components/charts/ordinal/RidgelinePlot.d.ts +1 -1
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +12 -1
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +1 -1
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +1 -1
- package/dist/components/charts/ordinal/ViolinPlot.d.ts +1 -1
- package/dist/components/charts/physics/ChainReactionChart.d.ts +9 -0
- package/dist/components/charts/physics/CollisionSwarmChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +54 -0
- package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +60 -0
- package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +74 -0
- package/dist/components/charts/physics/GauntletChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GauntletChart.d.ts +73 -0
- package/dist/components/charts/physics/PhysicalFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicalFlowChart.d.ts +63 -0
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +99 -0
- package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +60 -0
- package/dist/components/charts/physics/ProcessFlowChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +96 -0
- package/dist/components/charts/physics/chainReactionOverlay.d.ts +22 -0
- package/dist/components/charts/physics/chainReactionRuntime.d.ts +37 -0
- package/dist/components/charts/physics/chainReactionTypes.d.ts +97 -0
- package/dist/components/charts/physics/collisionSwarmPhysics.d.ts +27 -0
- package/dist/components/charts/physics/dependencyMachine.d.ts +188 -0
- package/dist/components/charts/physics/eventDropPhysics.d.ts +64 -0
- package/dist/components/charts/physics/galtonBoardPhysics.d.ts +28 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +67 -0
- package/dist/components/charts/physics/gauntletChrome.d.ts +33 -0
- package/dist/components/charts/physics/gauntletController.d.ts +73 -0
- package/dist/components/charts/physics/gauntletEffects.d.ts +36 -0
- package/dist/components/charts/physics/gauntletPhysics.d.ts +71 -0
- package/dist/components/charts/physics/gauntletRuntime.d.ts +42 -0
- package/dist/components/charts/physics/gauntletTypes.d.ts +213 -0
- package/dist/components/charts/physics/physicalFlowPhysics.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartShared.d.ts +57 -0
- package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -0
- package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
- package/dist/components/charts/physics/physicsEncoding.d.ts +142 -0
- package/dist/components/charts/physics/physicsHocHandle.d.ts +53 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +128 -0
- package/dist/components/charts/physics/physicsPilePhysics.d.ts +41 -0
- package/dist/components/charts/physics/physicsProcessPrimitives.d.ts +38 -0
- package/dist/components/charts/physics/processFlowPhysics.d.ts +97 -0
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -1
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +16 -2
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -1
- package/dist/components/charts/shared/AnnotationLabel.d.ts +88 -0
- package/dist/components/charts/shared/annotationActivation.d.ts +35 -0
- package/dist/components/charts/shared/annotationLabelLayout.d.ts +5 -0
- package/dist/components/charts/shared/annotationRules.d.ts +2 -1
- package/dist/components/charts/shared/auditMobileVisualization.d.ts +91 -0
- package/dist/components/charts/shared/chartDefinitionPilot.d.ts +145 -0
- package/dist/components/charts/shared/chartFamilySets.d.ts +20 -0
- package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +165 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +8 -127
- package/dist/components/charts/shared/chartSpecsGeo.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsNetwork.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsOrdinal.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsPhysics.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsRealtime.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsValue.d.ts +2 -0
- package/dist/components/charts/shared/chartSpecsXY.d.ts +2 -0
- package/dist/components/charts/shared/colorContrast.d.ts +3 -0
- package/dist/components/charts/shared/colorUtils.d.ts +16 -1
- package/dist/components/charts/shared/datumTypes.d.ts +2 -0
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +6 -0
- package/dist/components/charts/shared/diagnoseConfig.d.ts +9 -14
- package/dist/components/charts/shared/diagnoseMisleadingChecks.d.ts +9 -0
- package/dist/components/charts/shared/diagnosePhysicsChecks.d.ts +3 -0
- package/dist/components/charts/shared/diagnoseTypes.d.ts +10 -0
- package/dist/components/charts/shared/formatUtils.d.ts +3 -3
- package/dist/components/charts/shared/hatchFill.d.ts +87 -0
- package/dist/components/charts/shared/hooks.d.ts +34 -10
- package/dist/components/charts/shared/knownChartComponents.d.ts +9 -0
- package/dist/components/charts/shared/leastSquaresRegression.d.ts +16 -0
- package/dist/components/charts/shared/mergeShapeStyle.d.ts +3 -2
- package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
- package/dist/components/charts/shared/semanticInteractions.d.ts +42 -0
- package/dist/components/charts/shared/sparseArray.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +17 -5
- package/dist/components/charts/shared/styleRules.d.ts +205 -0
- package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
- package/dist/components/charts/shared/types.d.ts +58 -7
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
- package/dist/components/charts/shared/useChartSetup.d.ts +11 -4
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +17 -5
- package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -2
- package/dist/components/charts/shared/useLikertAggregation.d.ts +4 -4
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
- package/dist/components/charts/shared/useOrdinalBrush.d.ts +2 -1
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +25 -2
- package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -2
- package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
- package/dist/components/charts/shared/useXYLineStyle.d.ts +10 -0
- package/dist/components/charts/shared/useXYPointStyle.d.ts +19 -1
- package/dist/components/charts/shared/validateChartData.d.ts +7 -5
- package/dist/components/charts/shared/validationMap.d.ts +7 -9
- package/dist/components/charts/shared/validationMap.generated.d.ts +6 -0
- package/dist/components/charts/shared/withChartWrapper.d.ts +4 -3
- package/dist/components/charts/value/targetPresentation.d.ts +22 -0
- package/dist/components/charts/value/types.d.ts +5 -6
- package/dist/components/charts/xy/AreaChart.d.ts +9 -1
- package/dist/components/charts/xy/BubbleChart.d.ts +10 -1
- package/dist/components/charts/xy/ConnectedScatterplot.d.ts +7 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +1 -52
- package/dist/components/charts/xy/Heatmap.d.ts +2 -2
- package/dist/components/charts/xy/LineChart.d.ts +12 -1
- package/dist/components/charts/xy/MinimapChart.d.ts +1 -1
- package/dist/components/charts/xy/MultiAxisLineChart.d.ts +2 -2
- package/dist/components/charts/xy/QuadrantChart.d.ts +8 -1
- package/dist/components/charts/xy/Scatterplot.d.ts +11 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
- package/dist/components/charts/xy/StackedAreaChart.d.ts +16 -4
- package/dist/components/charts/xy/differenceSegments.d.ts +49 -0
- package/dist/components/charts/xy/scatterplotMatrixInteractionTypes.d.ts +12 -0
- package/dist/components/controls/SentenceFilter.d.ts +97 -0
- package/dist/components/controls/controlAudit.d.ts +24 -0
- package/dist/components/controls/controlContract.d.ts +57 -0
- package/dist/components/data/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromVegaLite.d.ts +46 -9
- package/dist/components/data/portability/index.d.ts +6 -3
- package/dist/components/data/portability/result.d.ts +52 -0
- package/dist/components/data/portability/spec.d.ts +31 -0
- package/dist/components/data/portability/vegaLite.d.ts +24 -6
- package/dist/components/export/chartConfig.d.ts +11 -0
- package/dist/components/realtime/types.d.ts +11 -0
- package/dist/components/recipes/annotationLayout.d.ts +29 -0
- package/dist/components/recipes/axisFixedForce.d.ts +119 -0
- package/dist/components/recipes/{gofishBoba.d.ts → boba.d.ts} +2 -2
- package/dist/components/recipes/cyclical.d.ts +39 -0
- package/dist/components/recipes/edgeRouter.d.ts +103 -0
- package/dist/components/recipes/forceLayout.d.ts +48 -0
- package/dist/components/recipes/forceLayoutAsync.d.ts +17 -0
- package/dist/components/recipes/gofishBobaHandwritten.d.ts +3 -0
- package/dist/components/recipes/gofishDisplayListFixtures.generated.d.ts +37 -0
- package/dist/components/recipes/gofishIR.d.ts +178 -132
- package/dist/components/recipes/gofishIRExamples.d.ts +30 -81
- package/dist/components/recipes/intervalLanes.d.ts +87 -0
- package/dist/components/recipes/intervals.d.ts +80 -0
- package/dist/components/recipes/isometricLandmarks.d.ts +88 -0
- package/dist/components/recipes/isotypeGlyphs.d.ts +17 -0
- package/dist/components/recipes/mobileAnnotationStrategy.d.ts +48 -0
- package/dist/components/recipes/mobileChartFamilyRecipes.d.ts +59 -0
- package/dist/components/recipes/networkAnalysis.d.ts +102 -0
- package/dist/components/recipes/networkLayouts.d.ts +83 -0
- package/dist/components/recipes/physics.d.ts +122 -0
- package/dist/components/recipes/physicsReference.d.ts +102 -0
- package/dist/components/recipes/processAggregates.d.ts +32 -0
- package/dist/components/recipes/processChrome.d.ts +67 -0
- package/dist/components/recipes/processJourney.d.ts +54 -0
- package/dist/components/recipes/processPhysics.d.ts +300 -0
- package/dist/components/recipes/processVolumeGeometry.d.ts +28 -0
- package/dist/components/recipes/radialCoords.d.ts +69 -0
- package/dist/components/recipes/random.d.ts +2 -0
- package/dist/components/recipes/recipeChrome.d.ts +91 -0
- package/dist/components/recipes/recipeGlyph.d.ts +42 -0
- package/dist/components/recipes/recipeLegend.d.ts +53 -1
- package/dist/components/recipes/recipeUtils.d.ts +52 -0
- package/dist/components/recipes/runs.d.ts +59 -0
- package/dist/components/recipes/tokenEncoding.d.ts +157 -0
- package/dist/components/recipes/tokenLayer.d.ts +79 -0
- package/dist/components/recipes/unitize.d.ts +108 -0
- package/dist/components/recipes/vector.d.ts +28 -0
- package/dist/components/recipes/waffle.d.ts +43 -0
- package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
- package/dist/components/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +53 -9
- package/dist/components/semiotic-controls.d.ts +20 -0
- package/dist/components/semiotic-experimental.d.ts +38 -9
- package/dist/components/semiotic-geo.d.ts +15 -0
- package/dist/components/semiotic-network.d.ts +15 -0
- package/dist/components/semiotic-ordinal.d.ts +14 -0
- package/dist/components/semiotic-physics-matter.d.ts +10 -0
- package/dist/components/semiotic-physics-rapier.d.ts +9 -0
- package/dist/components/semiotic-physics.d.ts +60 -0
- package/dist/components/semiotic-realtime-core.d.ts +34 -0
- package/dist/components/semiotic-realtime-react.d.ts +10 -0
- package/dist/components/semiotic-realtime.d.ts +4 -30
- package/dist/components/semiotic-recipes-core.d.ts +92 -0
- package/dist/components/semiotic-recipes-react.d.ts +7 -0
- package/dist/components/semiotic-recipes.d.ts +4 -43
- package/dist/components/semiotic-rough.d.ts +4 -0
- package/dist/components/semiotic-server-edge.d.ts +8 -0
- package/dist/components/semiotic-server-node.d.ts +5 -0
- package/dist/components/semiotic-server.d.ts +2 -2
- package/dist/components/semiotic-themes-core.d.ts +53 -0
- package/dist/components/semiotic-themes-react.d.ts +4 -0
- package/dist/components/semiotic-themes.d.ts +6 -76
- package/dist/components/semiotic-utils-core.d.ts +50 -0
- package/dist/components/semiotic-utils-react.d.ts +5 -0
- package/dist/components/semiotic-utils.d.ts +3 -39
- package/dist/components/semiotic-xy.d.ts +12 -0
- package/dist/components/semiotic.d.ts +44 -8
- package/dist/components/server/animatedGif.d.ts +36 -0
- package/dist/components/server/optionalImageTypes.d.ts +37 -0
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +3 -35
- package/dist/components/server/serverChartConfigShared.d.ts +21 -0
- package/dist/components/server/serverChartConfigs.d.ts +22 -12
- package/dist/components/server/serverChartConfigsCustom.d.ts +5 -0
- package/dist/components/server/serverChartConfigsGeo.d.ts +9 -0
- package/dist/components/server/serverChartConfigsNetwork.d.ts +8 -0
- package/dist/components/server/serverChartConfigsOrdinal.d.ts +16 -0
- package/dist/components/server/serverChartConfigsPhysics.d.ts +9 -0
- package/dist/components/server/serverChartConfigsXY.d.ts +11 -0
- package/dist/components/server/staticAnnotations.d.ts +6 -3
- package/dist/components/server/staticGeo.d.ts +4 -0
- package/dist/components/server/staticLegend.d.ts +2 -2
- package/dist/components/server/staticNetwork.d.ts +8 -0
- package/dist/components/server/staticOrdinal.d.ts +11 -0
- package/dist/components/server/staticPhysics.d.ts +3 -0
- package/dist/components/server/staticSVGChrome.d.ts +110 -0
- package/dist/components/server/staticXY.d.ts +4 -0
- package/dist/components/store/ObservationStore.d.ts +23 -2
- package/dist/components/store/themeSerialization.d.ts +32 -0
- package/dist/components/store/useChartInterrogation.d.ts +9 -0
- package/dist/components/stream/AccessibleDataTable.d.ts +7 -23
- package/dist/components/stream/AriaLiveTooltip.d.ts +9 -0
- package/dist/components/stream/CanvasHitTester.d.ts +4 -4
- package/dist/components/stream/DataSourceAdapter.d.ts +1 -1
- package/dist/components/stream/FocusRing.d.ts +4 -2
- package/dist/components/stream/FrameRuntime.d.ts +57 -0
- package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
- package/dist/components/stream/GeoParticlePool.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +62 -3
- package/dist/components/stream/GeoSVGOverlay.d.ts +64 -0
- package/dist/components/stream/NetworkCanvasHitTester.d.ts +2 -1
- package/dist/components/stream/NetworkPipelineStore.d.ts +44 -36
- package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
- package/dist/components/stream/NetworkSVGOverlay.d.ts +10 -1
- package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
- package/dist/components/stream/OrdinalPipelineStore.d.ts +55 -11
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +9 -1
- package/dist/components/stream/OrdinalStyleResolver.d.ts +12 -0
- package/dist/components/stream/ParticlePool.d.ts +1 -1
- package/dist/components/stream/PipelineStore.d.ts +81 -174
- package/dist/components/stream/SVGOverlay.d.ts +6 -0
- package/dist/components/stream/SceneGraph.d.ts +12 -4
- package/dist/components/stream/StreamGeoFrame.d.ts +1 -1
- package/dist/components/stream/StreamNetworkFrame.d.ts +1 -1
- package/dist/components/stream/StreamOrdinalFrame.d.ts +1 -1
- package/dist/components/stream/StreamXYFrame.d.ts +2 -18
- package/dist/components/stream/accessibleDataRows.d.ts +33 -0
- package/dist/components/stream/accessorUtils.d.ts +25 -12
- package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
- package/dist/components/stream/brushAccessibility.d.ts +25 -0
- package/dist/components/stream/canvasBackground.d.ts +24 -0
- package/dist/components/stream/canvasSetup.d.ts +4 -1
- package/dist/components/stream/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- package/dist/components/stream/frameGraphics.d.ts +4 -0
- package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
- package/dist/components/stream/frameThemeColors.d.ts +24 -0
- package/dist/components/stream/geoAnnotationAnchors.d.ts +14 -0
- package/dist/components/stream/geoCartogram.d.ts +17 -0
- package/dist/components/stream/geoCustomLayout.d.ts +59 -0
- package/dist/components/stream/geoDefaultTooltip.d.ts +11 -0
- package/dist/components/stream/geoFrameHelpers.d.ts +34 -0
- package/dist/components/stream/geoPipelineHelpers.d.ts +46 -0
- package/dist/components/stream/geoPipelineUpdateResults.d.ts +34 -0
- package/dist/components/stream/geoSceneBuilder.d.ts +16 -0
- package/dist/components/stream/geoTypes.d.ts +97 -15
- package/dist/components/stream/glyphDef.d.ts +98 -0
- package/dist/components/stream/hitTarget.d.ts +170 -0
- package/dist/components/stream/hitTestUtils.d.ts +2 -2
- package/dist/components/stream/hoverUtils.d.ts +7 -2
- package/dist/components/stream/keyboardNav.d.ts +4 -1
- package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +9 -1
- package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +58 -0
- package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
- package/dist/components/stream/networkBezier.d.ts +10 -0
- package/dist/components/stream/networkColorAccessors.d.ts +49 -0
- package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
- package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
- package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
- package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
- package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
- package/dist/components/stream/networkFrameObservations.d.ts +15 -0
- package/dist/components/stream/networkFramePaint.d.ts +52 -0
- package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
- package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
- package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
- package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
- package/dist/components/stream/networkTypes.d.ts +103 -51
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/ordinalDataIndex.d.ts +5 -0
- package/dist/components/stream/ordinalDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/ordinalDomain.d.ts +38 -0
- package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +31 -0
- package/dist/components/stream/ordinalPulse.d.ts +10 -0
- package/dist/components/stream/ordinalPulseResources.d.ts +3 -0
- package/dist/components/stream/ordinalSceneBuilders/sceneBuilderMap.d.ts +5 -0
- package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
- package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +68 -9
- package/dist/components/stream/paintNeeds.d.ts +31 -0
- package/dist/components/stream/physics/CapacityQueueController.d.ts +5 -0
- package/dist/components/stream/physics/CapacityQueueTypes.d.ts +134 -0
- package/dist/components/stream/physics/MatterPhysicsEngineAdapter.d.ts +42 -0
- package/dist/components/stream/physics/PhysicsAccessibility.d.ts +48 -0
- package/dist/components/stream/physics/PhysicsAnnotations.d.ts +58 -0
- package/dist/components/stream/physics/PhysicsBodyBudget.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsBodySpatialIndex.d.ts +10 -0
- package/dist/components/stream/physics/PhysicsCanvasTheme.d.ts +26 -0
- package/dist/components/stream/physics/PhysicsControllers.d.ts +75 -0
- package/dist/components/stream/physics/PhysicsEngineAdapter.d.ts +59 -0
- package/dist/components/stream/physics/PhysicsEngineConformance.d.ts +23 -0
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +25 -0
- package/dist/components/stream/physics/PhysicsKernel.d.ts +207 -0
- package/dist/components/stream/physics/PhysicsOptionalEngineAdapters.d.ts +12 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +86 -0
- package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +78 -0
- package/dist/components/stream/physics/PhysicsSediment.d.ts +69 -0
- package/dist/components/stream/physics/PhysicsSettledSVG.d.ts +18 -0
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +21 -0
- package/dist/components/stream/physics/PhysicsWorkerClient.d.ts +24 -0
- package/dist/components/stream/physics/PhysicsWorkerProtocol.d.ts +101 -0
- package/dist/components/stream/physics/PhysicsWorkerRuntime.d.ts +5 -0
- package/dist/components/stream/physics/RapierPhysicsEngineAdapter.d.ts +18 -0
- package/dist/components/stream/physics/ServiceOperationsControllers.d.ts +27 -0
- package/dist/components/stream/physics/ServiceOperationsTypes.d.ts +89 -0
- package/dist/components/stream/physics/StreamPhysicsFrame.d.ts +6 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +317 -0
- package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -0
- package/dist/components/stream/physics/physicsFrameObservations.d.ts +19 -0
- package/dist/components/stream/physics/physicsFrameSetup.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineControls.d.ts +4 -0
- package/dist/components/stream/physics/physicsPipelineHelpers.d.ts +41 -0
- package/dist/components/stream/physics/physicsPipelineObservations.d.ts +14 -0
- package/dist/components/stream/physics/physicsPipelineUpdateResults.d.ts +27 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +54 -0
- package/dist/components/stream/physics/physicsSemanticUI.d.ts +20 -0
- package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +18 -0
- package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
- package/dist/components/stream/pipelineConfig.d.ts +179 -0
- package/dist/components/stream/pipelineDecay.d.ts +21 -3
- package/dist/components/stream/pipelineDomainResolution.d.ts +62 -0
- package/dist/components/stream/pipelineIdentityOps.d.ts +26 -0
- package/dist/components/stream/pipelinePulse.d.ts +17 -3
- package/dist/components/stream/pipelineRibbons.d.ts +41 -0
- package/dist/components/stream/pipelineSpatialIndex.d.ts +12 -0
- package/dist/components/stream/pipelineStoreUpdateResults.d.ts +33 -0
- package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
- package/dist/components/stream/pipelineTransitions.d.ts +3 -1
- package/dist/components/stream/pipelineUpdateContract.d.ts +69 -0
- package/dist/components/stream/pipelineUpdateStore.d.ts +21 -0
- package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
- package/dist/components/stream/renderBackend.d.ts +27 -0
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +15 -1
- package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +3 -2
- package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
- package/dist/components/stream/renderers/networkParticleRenderer.d.ts +1 -1
- package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +45 -0
- package/dist/components/stream/streamSemanticTypes.d.ts +16 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/streamThemeTypes.d.ts +14 -0
- package/dist/components/stream/svgOverlayUtils.d.ts +10 -0
- package/dist/components/stream/test-utils/frameScheduler.d.ts +12 -0
- package/dist/components/stream/test-utils/revisionConsumption.d.ts +13 -0
- package/dist/components/stream/titleLayout.d.ts +31 -0
- package/dist/components/stream/types.d.ts +165 -72
- package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
- package/dist/components/stream/useFrame.d.ts +44 -2
- package/dist/components/stream/useHydration.d.ts +6 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
- package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
- package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
- package/dist/components/stream/workerModuleUrl.d.ts +10 -0
- package/dist/components/stream/xyAnnotationAnchors.d.ts +13 -0
- package/dist/components/stream/xyCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/xyCrosshair.d.ts +11 -0
- package/dist/components/stream/xyDateTicks.d.ts +9 -0
- package/dist/components/stream/xyDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
- package/dist/components/stream/xySceneBuilders/types.d.ts +10 -9
- package/dist/controls.min.js +2 -0
- package/dist/controls.module.min.js +2 -0
- package/dist/forceLayoutWorker.js +1 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/physics-matter.min.js +1 -0
- package/dist/physics-matter.module.min.js +1 -0
- package/dist/physics-rapier.min.js +1 -0
- package/dist/physics-rapier.module.min.js +1 -0
- package/dist/physics.min.js +2 -0
- package/dist/physics.module.min.js +2 -0
- package/dist/physicsWorker.js +1 -0
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/rough.min.js +1 -0
- package/dist/rough.module.min.js +1 -0
- package/dist/semiotic-ai-chunk-OG7BQUUW.module.min.js +2 -0
- package/dist/semiotic-ai-core.d.ts +47 -0
- package/dist/semiotic-ai-core.min.js +1 -0
- package/dist/semiotic-ai-core.module.min.js +1 -0
- package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +2 -0
- package/dist/semiotic-ai.d.ts +53 -9
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-chunk-3FSVZ46U.module.min.js +2 -0
- package/dist/semiotic-controls.d.ts +20 -0
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental.d.ts +38 -9
- package/dist/semiotic-experimental.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-geo.d.ts +15 -0
- package/dist/semiotic-network.d.ts +15 -0
- package/dist/semiotic-ordinal.d.ts +14 -0
- package/dist/semiotic-physics-matter.d.ts +10 -0
- package/dist/semiotic-physics-rapier.d.ts +9 -0
- package/dist/semiotic-physics.d.ts +60 -0
- package/dist/semiotic-realtime-core.d.ts +34 -0
- package/dist/semiotic-realtime-core.min.js +1 -0
- package/dist/semiotic-realtime-core.module.min.js +1 -0
- package/dist/semiotic-realtime-react.d.ts +10 -0
- package/dist/semiotic-realtime-react.min.js +2 -0
- package/dist/semiotic-realtime-react.module.min.js +2 -0
- package/dist/semiotic-realtime.d.ts +4 -30
- package/dist/semiotic-recipes-core.d.ts +92 -0
- package/dist/semiotic-recipes-core.min.js +1 -0
- package/dist/semiotic-recipes-core.module.min.js +1 -0
- package/dist/semiotic-recipes-react.d.ts +7 -0
- package/dist/semiotic-recipes-react.min.js +2 -0
- package/dist/semiotic-recipes-react.module.min.js +2 -0
- package/dist/semiotic-recipes.d.ts +4 -43
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-rough.d.ts +4 -0
- package/dist/semiotic-server-edge.d.ts +8 -0
- package/dist/semiotic-server-edge.min.js +1 -0
- package/dist/semiotic-server-edge.module.min.js +1 -0
- package/dist/semiotic-server-node.d.ts +5 -0
- package/dist/semiotic-server-node.min.js +1 -0
- package/dist/semiotic-server-node.module.min.js +1 -0
- package/dist/semiotic-server.d.ts +2 -2
- package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +2 -0
- package/dist/semiotic-themes-core.d.ts +53 -0
- package/dist/semiotic-themes-core.min.js +1 -0
- package/dist/semiotic-themes-core.module.min.js +1 -0
- package/dist/semiotic-themes-react.d.ts +4 -0
- package/dist/semiotic-themes-react.min.js +2 -0
- package/dist/semiotic-themes-react.module.min.js +2 -0
- package/dist/semiotic-themes.d.ts +6 -76
- package/dist/semiotic-themes.min.js +1 -2
- package/dist/semiotic-themes.module.min.js +1 -2
- package/dist/semiotic-utils-core.d.ts +50 -0
- package/dist/semiotic-utils-core.min.js +1 -0
- package/dist/semiotic-utils-core.module.min.js +1 -0
- package/dist/semiotic-utils-react.d.ts +5 -0
- package/dist/semiotic-utils-react.min.js +2 -0
- package/dist/semiotic-utils-react.module.min.js +2 -0
- package/dist/semiotic-utils.d.ts +3 -39
- package/dist/semiotic-utils.min.js +1 -2
- package/dist/semiotic-utils.module.min.js +1 -2
- package/dist/semiotic-value.min.js +1 -1
- package/dist/semiotic-value.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +12 -0
- package/dist/semiotic.d.ts +44 -8
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/test-utils/capturedFrameProps.d.ts +67 -0
- package/dist/test-utils/frameMock.d.ts +12 -9
- package/dist/xy-chunk-IWD6IB6V.module.min.js +2 -0
- package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +2 -0
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +259 -88
- package/spec/README.md +152 -0
- package/spec/bindings/README.md +35 -0
- package/spec/bindings/vega-lite.mjs +112 -0
- package/spec/v0.1/annotation-provenance.schema.json +127 -0
- package/spec/v0.1/audience-profile.schema.json +67 -0
- package/spec/v0.1/chart-capability.schema.json +186 -0
- package/dist/components/recipes/gofish.d.ts +0 -207
- package/dist/components/recipes/gofishInterpreter.d.ts +0 -52
- package/dist/components/recipes/gofishLambdas.d.ts +0 -145
- package/dist/semiotic-ai-semiotic-ai-u954ylUn.js +0 -2
- package/dist/semiotic-ai-statisticalOverlays-CU7jW05Q.js +0 -1
- package/dist/semiotic-semiotic-BmrYbi99.js +0 -2
- package/dist/semiotic-statisticalOverlays-IjZw8Lsu.js +0 -1
- package/dist/xy-semiotic-xy-Dufu3D0-.js +0 -2
- package/dist/xy-statisticalOverlays-3Ni9bRph.js +0 -1
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { LegendInteractionMode } from "../shared/hooks";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
/**
|
|
9
10
|
* ChordDiagram component props
|
|
10
11
|
*/
|
|
@@ -16,11 +17,18 @@ export interface ChordDiagramProps<TNode extends Datum = Datum, TEdge extends Da
|
|
|
16
17
|
valueAccessor?: ChartAccessor<TEdge, number>;
|
|
17
18
|
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
18
19
|
colorBy?: ChartAccessor<TNode, string>;
|
|
19
|
-
colorScheme?: string | string[]
|
|
20
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
21
|
+
/**
|
|
22
|
+
* Declarative, threshold-aware node styling (see ForceDirectedGraph).
|
|
23
|
+
* Ordered `{ when, style }` rules; last applicable rule wins. Rules see the
|
|
24
|
+
* raw node object. A rule `fill` may be a color or a HatchFill.
|
|
25
|
+
*/
|
|
26
|
+
styleRules?: StyleRule[];
|
|
20
27
|
edgeColorBy?: "source" | "target" | ((d: Datum) => string);
|
|
21
28
|
padAngle?: number;
|
|
22
29
|
groupWidth?: number;
|
|
23
|
-
|
|
30
|
+
/** Compare D3 chord group indices to control their angular order. */
|
|
31
|
+
sortGroups?: (a: number, b: number) => number;
|
|
24
32
|
nodeLabel?: ChartAccessor<TNode, string>;
|
|
25
33
|
showLabels?: boolean;
|
|
26
34
|
enableHover?: boolean;
|
|
@@ -13,7 +13,7 @@ export interface CirclePackProps<TNode extends Datum = Datum> extends BaseChartP
|
|
|
13
13
|
valueAccessor?: ChartAccessor<TNode, number>;
|
|
14
14
|
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
15
15
|
colorBy?: ChartAccessor<TNode, string | number>;
|
|
16
|
-
colorScheme?: string | string[]
|
|
16
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
17
17
|
colorByDepth?: boolean;
|
|
18
18
|
showLabels?: boolean;
|
|
19
19
|
nodeLabel?: ChartAccessor<TNode, string>;
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
/**
|
|
9
10
|
* ForceDirectedGraph component props
|
|
10
11
|
*/
|
|
@@ -67,7 +68,17 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
|
|
|
67
68
|
*/
|
|
68
69
|
colorBy?: ChartAccessor<TNode, string>;
|
|
69
70
|
/** d3 scheme name or explicit color array; falls back to theme. */
|
|
70
|
-
colorScheme?: string | string[]
|
|
71
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
72
|
+
/**
|
|
73
|
+
* Declarative, threshold-aware node styling. Ordered `{ when, style }`
|
|
74
|
+
* rules; the last applicable rule wins per property. `when` accepts a
|
|
75
|
+
* predicate `(node, ctx) => boolean` (rules see the raw node object; `ctx` =
|
|
76
|
+
* `{ value, category }` where `category` is the `colorBy` group), a
|
|
77
|
+
* declarative threshold (`{ field, gt, eq, in, … }`), or `true` — so you can
|
|
78
|
+
* style whole groups of nodes (`{ field: "type", eq: "db" }`). A rule's
|
|
79
|
+
* `fill` may be a color or a HatchFill. Layers over the resolved node color.
|
|
80
|
+
*/
|
|
81
|
+
styleRules?: StyleRule[];
|
|
71
82
|
/**
|
|
72
83
|
* Constant pixel radius, or a function/field returning a numeric value
|
|
73
84
|
* scaled into `nodeSizeRange`.
|
|
@@ -93,11 +104,21 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
|
|
|
93
104
|
*/
|
|
94
105
|
iterations?: number;
|
|
95
106
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
107
|
+
* Link-attraction multiplier. Lower values produce a looser, more
|
|
108
|
+
* spread-out graph; higher values pull connected nodes together.
|
|
98
109
|
* @default 0.1
|
|
99
110
|
*/
|
|
100
111
|
forceStrength?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Execute layout synchronously, in a Web Worker, or automatically choose
|
|
114
|
+
* based on estimated graph cost.
|
|
115
|
+
* @default "auto"
|
|
116
|
+
*/
|
|
117
|
+
layoutExecution?: "auto" | "worker" | "sync";
|
|
118
|
+
/** Content rendered in the chart slot while worker layout is pending. */
|
|
119
|
+
layoutLoadingContent?: React.ReactNode | false;
|
|
120
|
+
/** Called when internally-managed worker layout changes state. */
|
|
121
|
+
onLayoutStateChange?: (state: "pending" | "ready" | "error") => void;
|
|
101
122
|
/**
|
|
102
123
|
* Render labels next to nodes. Uses `nodeLabel` accessor (defaulting to
|
|
103
124
|
* `nodeIdAccessor`).
|
|
@@ -113,8 +134,8 @@ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge exte
|
|
|
113
134
|
/**
|
|
114
135
|
* ForceDirectedGraph - Visualize network relationships with a force-directed layout.
|
|
115
136
|
*
|
|
116
|
-
* Nodes are positioned by simulating attraction
|
|
117
|
-
*
|
|
137
|
+
* Nodes are positioned by simulating degree-aware attraction and repulsion
|
|
138
|
+
* with radius-aware collision; the layout settles after `iterations` ticks.
|
|
118
139
|
* Wraps {@link StreamNetworkFrame} (canvas-first rendering for large graphs).
|
|
119
140
|
*
|
|
120
141
|
* For ordered hierarchical data prefer {@link TreeDiagram}; for flow
|
|
@@ -25,7 +25,7 @@ export interface OrbitDiagramProps<TDatum extends Datum = Datum> extends BaseCha
|
|
|
25
25
|
/** Field or function for node color */
|
|
26
26
|
colorBy?: string | ((d: Datum) => string);
|
|
27
27
|
/** Color scheme @default "category10" */
|
|
28
|
-
colorScheme?: string | string[]
|
|
28
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
29
29
|
/** Color by hierarchy depth instead of field @default false */
|
|
30
30
|
colorByDepth?: boolean;
|
|
31
31
|
/**
|
|
@@ -48,7 +48,7 @@ export interface ProcessSankeyProps<TNode extends Datum = Datum, TEdge extends D
|
|
|
48
48
|
xExtentAccessor?: ChartAccessor<TNode, [TimeLike, TimeLike]>;
|
|
49
49
|
edgeIdAccessor?: ChartAccessor<TEdge, string>;
|
|
50
50
|
colorBy?: ChartAccessor<TNode, string>;
|
|
51
|
-
colorScheme?: string | string[]
|
|
51
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
52
52
|
/** Show a swatch + label legend. Defaults to `true` when `colorBy` is set. */
|
|
53
53
|
showLegend?: boolean;
|
|
54
54
|
/** Legend position. Default `"right"`. */
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
/**
|
|
9
10
|
* SankeyDiagram component props
|
|
10
11
|
*/
|
|
@@ -16,7 +17,14 @@ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends D
|
|
|
16
17
|
valueAccessor?: ChartAccessor<TEdge, number>;
|
|
17
18
|
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
18
19
|
colorBy?: ChartAccessor<TNode, string>;
|
|
19
|
-
colorScheme?: string | string[]
|
|
20
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
21
|
+
/**
|
|
22
|
+
* Declarative, threshold-aware node styling (see ForceDirectedGraph).
|
|
23
|
+
* Ordered `{ when, style }` rules; last applicable rule wins. Rules see the
|
|
24
|
+
* raw node object; `ctx` = `{ value, category }`. A rule `fill` may be a
|
|
25
|
+
* color or a HatchFill. Layers over the resolved node color.
|
|
26
|
+
*/
|
|
27
|
+
styleRules?: StyleRule[];
|
|
20
28
|
edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
|
|
21
29
|
orientation?: "horizontal" | "vertical";
|
|
22
30
|
nodeAlign?: "justify" | "left" | "right" | "center";
|
|
@@ -31,7 +39,7 @@ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends D
|
|
|
31
39
|
legendPosition?: LegendPosition;
|
|
32
40
|
legendInteraction?: LegendInteractionMode;
|
|
33
41
|
edgeOpacity?: number;
|
|
34
|
-
edgeSort?: (a:
|
|
42
|
+
edgeSort?: (a: TEdge, b: TEdge) => number;
|
|
35
43
|
tooltip?: TooltipProp;
|
|
36
44
|
frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
|
|
37
45
|
}
|
|
@@ -15,7 +15,7 @@ export interface TreeDiagramProps<TNode extends Datum = Datum> extends BaseChart
|
|
|
15
15
|
valueAccessor?: ChartAccessor<TNode, number>;
|
|
16
16
|
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
17
17
|
colorBy?: ChartAccessor<TNode, string | number>;
|
|
18
|
-
colorScheme?: string | string[]
|
|
18
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
19
19
|
colorByDepth?: boolean;
|
|
20
20
|
edgeStyle?: "line" | "curve";
|
|
21
21
|
nodeLabel?: ChartAccessor<TNode, string>;
|
|
@@ -13,7 +13,7 @@ export interface TreemapProps<TNode extends Datum = Datum> extends BaseChartProp
|
|
|
13
13
|
valueAccessor?: ChartAccessor<TNode, number>;
|
|
14
14
|
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
15
15
|
colorBy?: ChartAccessor<TNode, string | number>;
|
|
16
|
-
colorScheme?: string | string[]
|
|
16
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
17
17
|
colorByDepth?: boolean;
|
|
18
18
|
showLabels?: boolean;
|
|
19
19
|
labelMode?: "leaf" | "parent" | "all";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ForceLayoutAsyncOptions } from "../../recipes/forceLayoutAsync";
|
|
2
|
+
import type { GraphEdge, GraphNode, Point } from "../../recipes/networkAnalysis";
|
|
3
|
+
export type ForceLayoutStatus = "pending" | "ready" | "error";
|
|
4
|
+
export interface UseForceLayoutResult {
|
|
5
|
+
positions: Record<string, Point> | null;
|
|
6
|
+
status: ForceLayoutStatus;
|
|
7
|
+
error: Error | null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* React lifecycle wrapper for deterministic force layout. Direct SSR and the
|
|
11
|
+
* first hydration render stay synchronous so markup matches; client-side mounts
|
|
12
|
+
* and subsequent graph changes use {@link forceLayoutAsync}. Settled positions
|
|
13
|
+
* are memoized by node/edge array identity + options, so remounting with the
|
|
14
|
+
* same module-constant graph resolves "ready" immediately instead of
|
|
15
|
+
* re-flashing a pending state.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useForceLayout(nodes: ReadonlyArray<GraphNode>, edges: ReadonlyArray<GraphEdge>, options?: Omit<ForceLayoutAsyncOptions, "signal">): UseForceLayoutResult;
|
|
@@ -5,6 +5,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
import { type RegressionProp } from "../shared/regressionUtils";
|
|
9
10
|
/**
|
|
10
11
|
* BarChart component props
|
|
@@ -51,7 +52,7 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
|
|
|
51
52
|
* `"set2"`, etc.) or an explicit array of colors. Falls back to the
|
|
52
53
|
* theme's categorical palette when omitted.
|
|
53
54
|
*/
|
|
54
|
-
colorScheme?: string | string[]
|
|
55
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
55
56
|
/** Category ordering. `false` (default) = insertion order. `"asc"` /
|
|
56
57
|
* `"desc"` sorts by total value. `"auto"` preserves insertion order
|
|
57
58
|
* while streaming and falls through to value-desc on static data.
|
|
@@ -81,6 +82,26 @@ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartPr
|
|
|
81
82
|
color: string;
|
|
82
83
|
}>;
|
|
83
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Declarative, threshold-aware bar styling. An ordered list of
|
|
87
|
+
* `{ when, style }` rules; every rule whose condition matches a bar
|
|
88
|
+
* contributes its style, merged in order so the **last applicable rule
|
|
89
|
+
* wins** per property. `when` accepts a predicate `(datum, ctx) => boolean`,
|
|
90
|
+
* a declarative threshold (`{ gt, lte, within, in, … }` — compares the
|
|
91
|
+
* bar's value unless `field` is set), or `true`/omitted (always applies).
|
|
92
|
+
* A rule's `fill` may be a color string or a declarative
|
|
93
|
+
* {@link HatchFill} for diagonal hatching (renders on canvas and SSR).
|
|
94
|
+
* Rules layer over the resolved base color; `frameProps.pieceStyle` and
|
|
95
|
+
* top-level `stroke`/`strokeWidth`/`opacity` still override them.
|
|
96
|
+
* @example
|
|
97
|
+
* ```tsx
|
|
98
|
+
* styleRules={[
|
|
99
|
+
* { when: { gte: 10 }, style: { fill: "var(--semiotic-warning)" } },
|
|
100
|
+
* { when: { gt: 15 }, style: { fill: { type: "hatch", background: "#e0a92a", stroke: "#fff" } } },
|
|
101
|
+
* ]}
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
styleRules?: StyleRule[];
|
|
84
105
|
/** When true, adds padding below the 0 baseline. Default false (bars flush with axis). */
|
|
85
106
|
baselinePadding?: boolean;
|
|
86
107
|
enableHover?: boolean;
|
|
@@ -14,7 +14,7 @@ export interface BoxPlotProps<TDatum extends Datum = Datum> extends BaseChartPro
|
|
|
14
14
|
valueLabel?: string;
|
|
15
15
|
valueFormat?: (d: number | string) => string;
|
|
16
16
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
17
|
-
colorScheme?: string | string[]
|
|
17
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
18
18
|
showOutliers?: boolean;
|
|
19
19
|
outlierRadius?: number;
|
|
20
20
|
categoryPadding?: number;
|
|
@@ -12,7 +12,7 @@ export interface DonutChartProps<TDatum extends Datum = Datum> extends BaseChart
|
|
|
12
12
|
innerRadius?: number;
|
|
13
13
|
centerContent?: React.ReactNode;
|
|
14
14
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
15
|
-
colorScheme?: string | string[]
|
|
15
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
16
16
|
startAngle?: number;
|
|
17
17
|
/** Rounded corner radius on wedge arcs */
|
|
18
18
|
cornerRadius?: number;
|
|
@@ -15,7 +15,7 @@ export interface DotPlotProps<TDatum extends Datum = Datum> extends BaseChartPro
|
|
|
15
15
|
valueLabel?: string;
|
|
16
16
|
valueFormat?: (d: number | string) => string;
|
|
17
17
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
18
|
-
colorScheme?: string | string[]
|
|
18
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
19
19
|
/** Category ordering. Default (`undefined`) resolves to `"auto"`, which
|
|
20
20
|
* preserves insertion order while streaming and falls through to
|
|
21
21
|
* value-desc on static data — the recommended choice when using the
|
|
@@ -17,7 +17,7 @@ export interface FunnelChartProps<TDatum extends Datum = Datum> extends BaseChar
|
|
|
17
17
|
/** Accessor for splitting into mirrored categories (e.g., "control" vs "treatment") */
|
|
18
18
|
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
19
19
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
20
|
-
colorScheme?: string | string[]
|
|
20
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
21
21
|
/**
|
|
22
22
|
* Funnel orientation.
|
|
23
23
|
*
|
|
@@ -4,6 +4,7 @@ import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
|
|
|
4
4
|
import type { LegendInteractionMode } from "../shared/hooks";
|
|
5
5
|
import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
7
8
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
9
|
export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
|
|
9
10
|
data?: TDatum[];
|
|
@@ -15,12 +16,22 @@ export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
15
16
|
valueLabel?: string;
|
|
16
17
|
valueFormat?: (d: number | string) => string;
|
|
17
18
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
18
|
-
colorScheme?: string | string[]
|
|
19
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
19
20
|
/** Category sort order. Default: `false` (data insertion order). `"asc"`/`"desc"` sorts by total grouped value. `"auto"` preserves insertion order while streaming and falls through to value-desc on static data. Custom comparators receive category keys. */
|
|
20
21
|
sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
|
|
21
22
|
barPadding?: number;
|
|
22
23
|
/** Rounded corner radius on bar ends (away from baseline). */
|
|
23
24
|
roundedTop?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Declarative, threshold-aware bar styling. Ordered `{ when, style }`
|
|
27
|
+
* rules; the last applicable rule wins per property. `when` accepts a
|
|
28
|
+
* predicate `(datum, ctx) => boolean` (where `ctx.category` is the group
|
|
29
|
+
* series key), a declarative threshold on the bar value
|
|
30
|
+
* (`{ gt, lte, within, in, … }`), or `true`. A rule's `fill` may be a color
|
|
31
|
+
* or a {@link HatchFill}. Layers over the resolved series color;
|
|
32
|
+
* `frameProps.pieceStyle` overrides.
|
|
33
|
+
*/
|
|
34
|
+
styleRules?: StyleRule[];
|
|
24
35
|
baselinePadding?: boolean;
|
|
25
36
|
enableHover?: boolean;
|
|
26
37
|
showGrid?: boolean;
|
|
@@ -51,7 +51,7 @@ export interface HistogramProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
51
51
|
valueLabel?: string;
|
|
52
52
|
valueFormat?: (d: number | string) => string;
|
|
53
53
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
54
|
-
colorScheme?: string | string[]
|
|
54
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
55
55
|
categoryPadding?: number;
|
|
56
56
|
enableHover?: boolean;
|
|
57
57
|
showGrid?: boolean;
|
|
@@ -41,7 +41,7 @@ export interface PieChartProps<TDatum extends Datum = Datum> extends BaseChartPr
|
|
|
41
41
|
* `"set2"`, etc.) or an explicit array of colors. Falls back to the
|
|
42
42
|
* theme's categorical palette when omitted.
|
|
43
43
|
*/
|
|
44
|
-
colorScheme?: string | string[]
|
|
44
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
45
45
|
/**
|
|
46
46
|
* Rotation in **degrees** applied to the first wedge. `0` starts at 12
|
|
47
47
|
* o'clock and proceeds clockwise; `90` starts at 3 o'clock, `180` at 6
|
|
@@ -17,7 +17,7 @@ export interface RidgelinePlotProps<TDatum extends Datum = Datum> extends BaseCh
|
|
|
17
17
|
valueLabel?: string;
|
|
18
18
|
valueFormat?: (d: number | string) => string;
|
|
19
19
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
20
|
-
colorScheme?: string | string[]
|
|
20
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
21
21
|
categoryPadding?: number;
|
|
22
22
|
enableHover?: boolean;
|
|
23
23
|
showGrid?: boolean;
|
|
@@ -5,6 +5,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
|
|
|
5
5
|
import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
|
|
6
6
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
7
7
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
export interface StackedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
|
|
9
10
|
data?: TDatum[];
|
|
10
11
|
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
@@ -15,13 +16,23 @@ export interface StackedBarChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
15
16
|
valueLabel?: string;
|
|
16
17
|
valueFormat?: (d: number | string) => string;
|
|
17
18
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
18
|
-
colorScheme?: string | string[]
|
|
19
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
19
20
|
normalize?: boolean;
|
|
20
21
|
/** Category sort order. Default: `false` (data insertion order). `"asc"`/`"desc"` sorts by total stacked value. `"auto"` preserves insertion order while streaming and falls through to value-desc on static data. Custom comparators receive category keys. */
|
|
21
22
|
sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
|
|
22
23
|
barPadding?: number;
|
|
23
24
|
/** Rounded top corner radius. Only the topmost stacked segment gets rounded. */
|
|
24
25
|
roundedTop?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Declarative, threshold-aware segment styling. Ordered `{ when, style }`
|
|
28
|
+
* rules; the last applicable rule wins per property. `when` accepts a
|
|
29
|
+
* predicate `(datum, ctx) => boolean` (where `ctx.category` is the stack
|
|
30
|
+
* series key), a declarative threshold on the segment value
|
|
31
|
+
* (`{ gt, lte, within, in, … }`), or `true`. A rule's `fill` may be a color
|
|
32
|
+
* or a {@link HatchFill} for hatching a segment (e.g. a "fixed-rate" band).
|
|
33
|
+
* Layers over the resolved series color; `frameProps.pieceStyle` overrides.
|
|
34
|
+
*/
|
|
35
|
+
styleRules?: StyleRule[];
|
|
25
36
|
baselinePadding?: boolean;
|
|
26
37
|
enableHover?: boolean;
|
|
27
38
|
showGrid?: boolean;
|
|
@@ -15,7 +15,7 @@ export interface SwarmPlotProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
15
15
|
valueLabel?: string;
|
|
16
16
|
valueFormat?: (d: number | string) => string;
|
|
17
17
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
18
|
-
colorScheme?: string | string[]
|
|
18
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
19
19
|
sizeBy?: ChartAccessor<TDatum, number>;
|
|
20
20
|
sizeRange?: [number, number];
|
|
21
21
|
/** Field name or function → glyph **shape**: each point renders as a d3-shape
|
|
@@ -25,7 +25,7 @@ export interface SwimlaneChartProps<TDatum extends Datum = Datum> extends BaseCh
|
|
|
25
25
|
/** Color accessor — defaults to subcategoryAccessor */
|
|
26
26
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
27
27
|
/** Color scheme for subcategories */
|
|
28
|
-
colorScheme?: string | string[]
|
|
28
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
29
29
|
/** Padding between lanes in pixels */
|
|
30
30
|
barPadding?: number;
|
|
31
31
|
/** Enable hover annotations */
|
|
@@ -17,7 +17,7 @@ export interface ViolinPlotProps<TDatum extends Datum = Datum> extends BaseChart
|
|
|
17
17
|
valueLabel?: string;
|
|
18
18
|
valueFormat?: (d: number | string) => string;
|
|
19
19
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
20
|
-
colorScheme?: string | string[]
|
|
20
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
21
21
|
categoryPadding?: number;
|
|
22
22
|
enableHover?: boolean;
|
|
23
23
|
showGrid?: boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { ChainReactionChartHandle, ChainReactionChartProps } from "./chainReactionTypes";
|
|
4
|
+
export type * from "./chainReactionTypes";
|
|
5
|
+
export declare const ChainReactionChart: {
|
|
6
|
+
<TDatum extends Datum = Datum>(props: ChainReactionChartProps<TDatum> & React.RefAttributes<ChainReactionChartHandle>): React.ReactElement | null;
|
|
7
|
+
displayName?: string;
|
|
8
|
+
};
|
|
9
|
+
export default ChainReactionChart;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import type { StyleRule } from "../shared/styleRules";
|
|
5
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
6
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
7
|
+
export interface CollisionSwarmChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
8
|
+
data?: TDatum[];
|
|
9
|
+
size?: [number, number];
|
|
10
|
+
xAccessor?: ChartAccessor<TDatum, number>;
|
|
11
|
+
groupAccessor?: ChartAccessor<TDatum, string>;
|
|
12
|
+
radiusAccessor?: ChartAccessor<TDatum, number>;
|
|
13
|
+
pointRadius?: number;
|
|
14
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
15
|
+
/**
|
|
16
|
+
* Declarative, threshold-aware dot styling. Ordered `{ when, style }` rules;
|
|
17
|
+
* last applicable rule wins. `ctx` = `{ value, category }` (value = the
|
|
18
|
+
* `xAccessor` position). A rule `fill` may be a color or a HatchFill.
|
|
19
|
+
*/
|
|
20
|
+
styleRules?: StyleRule[];
|
|
21
|
+
seed?: number;
|
|
22
|
+
xExtent?: [number, number];
|
|
23
|
+
collisionIterations?: number;
|
|
24
|
+
settle?: boolean;
|
|
25
|
+
showProjection?: boolean;
|
|
26
|
+
tooltip?: TooltipProp;
|
|
27
|
+
paused?: boolean;
|
|
28
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Physics-backed collision swarm chart that preserves a quantitative x position while separating overlapping bodies.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* <CollisionSwarmChart
|
|
36
|
+
* data={[{ id: "a", x: 12, group: "East" }, { id: "b", x: 14, group: "East" }]}
|
|
37
|
+
* xAccessor="x"
|
|
38
|
+
* groupAccessor="group"
|
|
39
|
+
* />
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* <CollisionSwarmChart
|
|
45
|
+
* data={samples}
|
|
46
|
+
* xAccessor={(d) => d.score}
|
|
47
|
+
* radiusAccessor="weight"
|
|
48
|
+
* collisionIterations={180}
|
|
49
|
+
* settle
|
|
50
|
+
* />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare const CollisionSwarmChart: React.ForwardRefExoticComponent<CollisionSwarmChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
54
|
+
export default CollisionSwarmChart;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type EventDropWindowOptions } from "./physicsChartUtils";
|
|
5
|
+
import type { StyleRule } from "../shared/styleRules";
|
|
6
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
7
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type TooltipProp } from "./physicsHocUtils";
|
|
8
|
+
export interface EventDropChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin">, PhysicsSharedChartProps {
|
|
9
|
+
data?: TDatum[];
|
|
10
|
+
size?: [number, number];
|
|
11
|
+
timeAccessor?: ChartAccessor<TDatum, number>;
|
|
12
|
+
arrivalAccessor?: ChartAccessor<TDatum, number>;
|
|
13
|
+
windows?: EventDropWindowOptions;
|
|
14
|
+
watermark?: {
|
|
15
|
+
delay?: number;
|
|
16
|
+
value?: number;
|
|
17
|
+
} | ((latestEventTime: number) => number);
|
|
18
|
+
ballRadius?: number;
|
|
19
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
20
|
+
/**
|
|
21
|
+
* Declarative, threshold-aware drop styling. Ordered `{ when, style }`
|
|
22
|
+
* rules; last applicable rule wins. `ctx` = `{ value, category }` (value =
|
|
23
|
+
* the event time). A rule `fill` may be a color or a HatchFill.
|
|
24
|
+
*/
|
|
25
|
+
styleRules?: StyleRule[];
|
|
26
|
+
seed?: number;
|
|
27
|
+
timeExtent?: [number, number];
|
|
28
|
+
timeScale?: number;
|
|
29
|
+
showProjection?: boolean;
|
|
30
|
+
tooltip?: TooltipProp;
|
|
31
|
+
paused?: boolean;
|
|
32
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Physics-backed event drop chart for replaying arrivals against event-time windows and watermarks.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <EventDropChart
|
|
40
|
+
* data={[{ id: "a", time: 4, arrivalTime: 8 }, { id: "b", time: 18, arrivalTime: 12 }]}
|
|
41
|
+
* timeAccessor="time"
|
|
42
|
+
* arrivalAccessor="arrivalTime"
|
|
43
|
+
* windows={{ size: 10 }}
|
|
44
|
+
* watermark={{ delay: 5 }}
|
|
45
|
+
* />
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <EventDropChart
|
|
51
|
+
* data={events}
|
|
52
|
+
* windows={{ size: 60_000 }}
|
|
53
|
+
* watermark={{ value: Date.now() - 120_000 }}
|
|
54
|
+
* timeScale={4}
|
|
55
|
+
* timeExtent={[start, end]}
|
|
56
|
+
* />
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const EventDropChart: React.ForwardRefExoticComponent<EventDropChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
60
|
+
export default EventDropChart;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import type { StyleRule } from "../shared/styleRules";
|
|
5
|
+
import { type PhysicsFrameHandle } from "./physicsHocHandle";
|
|
6
|
+
import { type PhysicsHocFrameProps, type PhysicsSharedChartProps, type PhysicsSimulationMode, type TooltipProp } from "./physicsHocUtils";
|
|
7
|
+
import type { ChartMode } from "../shared/types";
|
|
8
|
+
export interface GaltonBoardReferenceLine {
|
|
9
|
+
value: number;
|
|
10
|
+
label?: React.ReactNode;
|
|
11
|
+
color?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
strokeDasharray?: string;
|
|
14
|
+
strokeWidth?: number;
|
|
15
|
+
labelPosition?: "top" | "bottom";
|
|
16
|
+
}
|
|
17
|
+
export interface GaltonBoardChartProps<TDatum extends Datum = Datum> extends Omit<BaseChartProps, "margin" | "mode">, PhysicsSharedChartProps {
|
|
18
|
+
data?: TDatum[];
|
|
19
|
+
size?: [number, number];
|
|
20
|
+
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
21
|
+
valueExtent?: [number, number];
|
|
22
|
+
bins?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Chart display mode (`primary`/`context`/`sparkline`/`mobile`) **or**
|
|
25
|
+
* legacy simulation mode (`sample`/`mechanical`). Prefer `simulationMode`
|
|
26
|
+
* for sample vs mechanical; use `mode` for ChartContainer / ChartMode.
|
|
27
|
+
*/
|
|
28
|
+
mode?: ChartMode | PhysicsSimulationMode;
|
|
29
|
+
/** Sample data rows vs seeded mechanical demo (no data required). */
|
|
30
|
+
simulationMode?: PhysicsSimulationMode;
|
|
31
|
+
pegRows?: number;
|
|
32
|
+
mechanicalCount?: number;
|
|
33
|
+
branchProbability?: number;
|
|
34
|
+
ballRadius?: number;
|
|
35
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
36
|
+
/**
|
|
37
|
+
* Declarative, threshold-aware ball styling. Ordered `{ when, style }`
|
|
38
|
+
* rules; last applicable rule wins. Rules resolve against each ball's datum;
|
|
39
|
+
* `ctx` = `{ value, category }` (category = the colorBy group). A rule `fill`
|
|
40
|
+
* may be a color or a HatchFill. Layers over the colorBy-derived fill.
|
|
41
|
+
*/
|
|
42
|
+
styleRules?: StyleRule[];
|
|
43
|
+
referenceLines?: GaltonBoardReferenceLine | GaltonBoardReferenceLine[];
|
|
44
|
+
seed?: number;
|
|
45
|
+
showProjection?: boolean;
|
|
46
|
+
tooltip?: TooltipProp;
|
|
47
|
+
paused?: boolean;
|
|
48
|
+
frameProps?: PhysicsHocFrameProps<"config">;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Physics-backed Galton board chart that drops values through seeded pegs into a settled distribution.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```tsx
|
|
55
|
+
* <GaltonBoardChart
|
|
56
|
+
* data={[{ id: "a", value: 2 }, { id: "b", value: 7 }]}
|
|
57
|
+
* valueAccessor="value"
|
|
58
|
+
* bins={12}
|
|
59
|
+
* size={[520, 320]}
|
|
60
|
+
* />
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* <GaltonBoardChart
|
|
66
|
+
* mode="mechanical"
|
|
67
|
+
* mechanicalCount={80}
|
|
68
|
+
* branchProbability={0.62}
|
|
69
|
+
* seed={11}
|
|
70
|
+
* />
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare const GaltonBoardChart: React.ForwardRefExoticComponent<GaltonBoardChartProps<Datum> & React.RefAttributes<PhysicsFrameHandle>>;
|
|
74
|
+
export default GaltonBoardChart;
|