semiotic 3.7.4 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +60 -15
- package/README.md +135 -24
- 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 +1651 -154
- package/ai/examples.md +174 -0
- package/ai/schema.json +2934 -517
- package/ai/surface-manifest.json +200 -0
- package/ai/system-prompt.md +19 -3
- package/dist/components/Annotation.d.ts +4 -0
- 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/DataSummaryContext.d.ts +1 -0
- 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 +42 -1
- package/dist/components/ai/chartClinic.d.ts +91 -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 +203 -0
- package/dist/components/ai/dataQualityBridge.d.ts +201 -0
- package/dist/components/ai/describeChart.d.ts +9 -0
- package/dist/components/ai/describeRecipeChart.d.ts +16 -0
- package/dist/components/ai/generativeChart.d.ts +170 -0
- 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/charts/custom/GeoCustomChart.d.ts +48 -0
- package/dist/components/charts/custom/NetworkCustomChart.d.ts +22 -3
- 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/DistanceCartogram.d.ts +1 -1
- package/dist/components/charts/geo/FlowMap.d.ts +1 -1
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +1 -1
- package/dist/components/charts/geo/index.d.ts +2 -0
- package/dist/components/charts/index.d.ts +29 -1
- package/dist/components/charts/network/ChordDiagram.d.ts +1 -1
- package/dist/components/charts/network/CirclePack.d.ts +1 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +15 -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 +1 -1
- 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 +1 -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 +1 -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 +1 -1
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +8 -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 +47 -0
- package/dist/components/charts/physics/EventDropChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +53 -0
- package/dist/components/charts/physics/GaltonBoardChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +66 -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 +120 -0
- package/dist/components/charts/physics/PhysicsPileChart.capability.d.ts +2 -0
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +53 -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 +41 -0
- package/dist/components/charts/physics/physicsChartUtils.d.ts +18 -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 +30 -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/realtime/aggregate.d.ts +51 -0
- package/dist/components/charts/realtime/eventTime.d.ts +26 -0
- 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/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/colorPalettes.d.ts +2 -0
- package/dist/components/charts/shared/colorUtils.d.ts +17 -13
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +4 -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/hooks.d.ts +28 -5
- package/dist/components/charts/shared/minMax.d.ts +3 -0
- package/dist/components/charts/shared/motionEncoding.d.ts +145 -0
- package/dist/components/charts/shared/radialGeometry.d.ts +0 -18
- package/dist/components/charts/shared/responsiveRules.d.ts +56 -0
- package/dist/components/charts/shared/smartTooltip.d.ts +27 -0
- package/dist/components/charts/shared/statisticalOverlays.d.ts +35 -0
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +12 -2
- package/dist/components/charts/shared/temporalStrings.d.ts +7 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +2 -0
- package/dist/components/charts/shared/types.d.ts +49 -1
- package/dist/components/charts/shared/useChartSetup.d.ts +10 -3
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +15 -6
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +6 -2
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +1 -1
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- package/dist/components/charts/shared/useSyncedPushData.d.ts +49 -0
- package/dist/components/charts/shared/validateChartData.d.ts +1 -1
- package/dist/components/charts/shared/validationMap.d.ts +0 -11
- package/dist/components/charts/xy/AreaChart.d.ts +1 -1
- package/dist/components/charts/xy/BubbleChart.d.ts +1 -1
- package/dist/components/charts/xy/LineChart.d.ts +1 -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 +1 -1
- package/dist/components/charts/xy/Scatterplot.d.ts +10 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +11 -1
- package/dist/components/charts/xy/StackedAreaChart.d.ts +9 -4
- package/dist/components/controls/controlAudit.d.ts +24 -0
- package/dist/components/controls/controlContract.d.ts +57 -0
- package/dist/components/data/fromArrow.d.ts +54 -0
- package/dist/components/data/fromFlintChart.d.ts +74 -0
- package/dist/components/data/fromMermaid.d.ts +47 -0
- package/dist/components/data/fromObservablePlot.d.ts +69 -0
- package/dist/components/data/fromVegaLite.d.ts +27 -0
- package/dist/components/data/portability/index.d.ts +17 -0
- package/dist/components/data/portability/result.d.ts +52 -0
- package/dist/components/data/portability/spec.d.ts +160 -0
- package/dist/components/data/portability/vegaLite.d.ts +80 -0
- package/dist/components/export/chartConfig.d.ts +11 -0
- package/dist/components/realtime/ReorderBuffer.d.ts +54 -0
- package/dist/components/realtime/RunningStats.d.ts +66 -0
- package/dist/components/realtime/WindowAccumulator.d.ts +105 -0
- package/dist/components/realtime/parseWindowDuration.d.ts +12 -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/boba.d.ts +23 -0
- package/dist/components/recipes/customTooltip.d.ts +31 -0
- 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 +215 -0
- package/dist/components/recipes/gofishIRExamples.d.ts +38 -0
- 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/mermaidDag.d.ts +44 -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/packedClusterMatrix.d.ts +166 -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 +191 -0
- package/dist/components/recipes/recipeGlyph.d.ts +42 -0
- package/dist/components/recipes/recipeLegend.d.ts +109 -0
- package/dist/components/recipes/recipeUtils.d.ts +157 -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/semiotic-ai-core.d.ts +47 -0
- package/dist/components/semiotic-ai.d.ts +52 -4
- package/dist/components/semiotic-controls.d.ts +18 -0
- package/dist/components/semiotic-data.d.ts +2 -0
- package/dist/components/semiotic-experimental.d.ts +49 -0
- package/dist/components/semiotic-geo.d.ts +11 -0
- package/dist/components/semiotic-network.d.ts +14 -1
- package/dist/components/semiotic-ordinal.d.ts +10 -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 +56 -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 -22
- 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 -26
- 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 -74
- package/dist/components/semiotic-utils-core.d.ts +46 -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 +10 -0
- package/dist/components/semiotic.d.ts +39 -7
- package/dist/components/server/animatedGif.d.ts +36 -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 +17 -0
- package/dist/components/server/serverChartConfigs.d.ts +19 -9
- 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/staticGeo.d.ts +4 -0
- package/dist/components/server/staticLegend.d.ts +1 -1
- 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 -3
- package/dist/components/store/SelectionStore.d.ts +1 -1
- package/dist/components/store/ThemeStore.d.ts +1 -1
- package/dist/components/store/TooltipStore.d.ts +1 -1
- package/dist/components/store/createStore.d.ts +1 -1
- package/dist/components/store/designTokens.d.ts +15 -0
- 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 +3 -13
- package/dist/components/stream/FocusRing.d.ts +4 -2
- package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +28 -0
- package/dist/components/stream/NetworkHtmlMarksLayer.d.ts +44 -0
- package/dist/components/stream/NetworkPipelineStore.d.ts +62 -25
- package/dist/components/stream/NetworkSVGOverlay.d.ts +15 -0
- package/dist/components/stream/OrdinalPipelineStore.d.ts +64 -2
- package/dist/components/stream/PipelineStore.d.ts +100 -162
- package/dist/components/stream/SceneGraph.d.ts +14 -2
- 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 +23 -10
- 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/customLayout.d.ts +20 -0
- package/dist/components/stream/customLayoutDiagnostics.d.ts +11 -0
- package/dist/components/stream/customLayoutFailure.d.ts +33 -0
- package/dist/components/stream/customLayoutPalette.d.ts +19 -9
- package/dist/components/stream/customLayoutSelection.d.ts +52 -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/geoTypes.d.ts +56 -7
- package/dist/components/stream/glyphDef.d.ts +98 -0
- package/dist/components/stream/hitTarget.d.ts +170 -0
- package/dist/components/stream/hoverUtils.d.ts +3 -0
- 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 +57 -0
- package/dist/components/stream/networkBezier.d.ts +10 -0
- package/dist/components/stream/networkColorAccessors.d.ts +49 -0
- package/dist/components/stream/networkCustomLayout.d.ts +66 -1
- package/dist/components/stream/networkDefaultTooltip.d.ts +10 -0
- package/dist/components/stream/networkFrameInteraction.d.ts +37 -0
- package/dist/components/stream/networkFramePaint.d.ts +43 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +22 -0
- package/dist/components/stream/networkPipelineHelpers.d.ts +12 -0
- package/dist/components/stream/networkRealtimeEncoding.d.ts +41 -0
- package/dist/components/stream/networkTypes.d.ts +104 -5
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +7 -0
- package/dist/components/stream/ordinalCustomLayout.d.ts +17 -1
- 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 +12 -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 -0
- package/dist/components/stream/ordinalSpatialIndex.d.ts +9 -0
- package/dist/components/stream/ordinalTypes.d.ts +56 -8
- 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 +84 -0
- package/dist/components/stream/physics/PhysicsPipelineTypes.d.ts +181 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +72 -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 +302 -0
- package/dist/components/stream/physics/physicsBodyCanvas.d.ts +27 -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 +9 -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 +16 -0
- package/dist/components/stream/pipelineBufferUtils.d.ts +26 -0
- package/dist/components/stream/pipelineConfig.d.ts +177 -0
- package/dist/components/stream/pipelineDecay.d.ts +20 -2
- 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 +16 -2
- 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 +12 -0
- package/dist/components/stream/pipelineStyleResolvers.d.ts +46 -0
- package/dist/components/stream/pipelineTransitions.d.ts +2 -0
- package/dist/components/stream/pipelineUpdateContract.d.ts +62 -0
- package/dist/components/stream/pulseFrameRefresh.d.ts +22 -0
- package/dist/components/stream/renderers/glyphCanvasRenderer.d.ts +6 -0
- package/dist/components/stream/renderers/networkSymbolRenderer.d.ts +2 -0
- package/dist/components/stream/renderers/resolveCSSColor.d.ts +6 -0
- package/dist/components/stream/renderers/symbolCanvasRenderer.d.ts +2 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +18 -0
- package/dist/components/stream/stalenessBands.d.ts +28 -0
- package/dist/components/stream/streamStoreSync.d.ts +37 -0
- package/dist/components/stream/symbolPath.d.ts +24 -0
- package/dist/components/stream/types.d.ts +206 -9
- package/dist/components/stream/useFrame.d.ts +21 -2
- package/dist/components/stream/useHydration.d.ts +6 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +5 -0
- package/dist/components/stream/useStalenessCheck.d.ts +6 -1
- 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/xySceneBuilders/pointScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/types.d.ts +9 -4
- 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/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 +52 -4
- 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 +18 -0
- package/dist/semiotic-data.d.ts +2 -0
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental.d.ts +49 -0
- package/dist/semiotic-experimental.min.js +1 -0
- package/dist/semiotic-experimental.module.min.js +1 -0
- package/dist/semiotic-geo.d.ts +11 -0
- package/dist/semiotic-network.d.ts +14 -1
- package/dist/semiotic-ordinal.d.ts +10 -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 +56 -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 -22
- 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 -26
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- 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 -74
- package/dist/semiotic-themes.min.js +1 -2
- package/dist/semiotic-themes.module.min.js +1 -2
- package/dist/semiotic-utils-core.d.ts +46 -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 +10 -0
- package/dist/semiotic.d.ts +39 -7
- 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/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 +246 -86
- 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/semiotic-ai-statisticalOverlays-C2PPlmXv.js +0 -1
- package/dist/semiotic-statisticalOverlays-C3DsOgr_.js +0 -1
- package/dist/xy-statisticalOverlays-C2PPlmXv.js +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { MobileStandardControlKind, MobileStandardControlsMode } from "./charts/shared/types";
|
|
3
|
+
export type { MobileStandardControlKind, MobileStandardControlsMode };
|
|
4
|
+
export type MobileStandardControlRequest = MobileStandardControlsMode;
|
|
5
|
+
export interface MobileStandardControlLegendItem {
|
|
6
|
+
id: string;
|
|
7
|
+
label?: React.ReactNode;
|
|
8
|
+
color?: string;
|
|
9
|
+
active?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface MobileStandardBrushControls {
|
|
13
|
+
label?: React.ReactNode;
|
|
14
|
+
value?: [number, number];
|
|
15
|
+
domain?: [number, number];
|
|
16
|
+
step?: number;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
formatValue?: (value: number) => React.ReactNode;
|
|
19
|
+
onChange?: (value: [number, number]) => void;
|
|
20
|
+
onClear?: () => void;
|
|
21
|
+
}
|
|
22
|
+
export interface MobileStandardZoomControls {
|
|
23
|
+
label?: React.ReactNode;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
onZoomIn?: () => void;
|
|
26
|
+
onZoomOut?: () => void;
|
|
27
|
+
onReset?: () => void;
|
|
28
|
+
}
|
|
29
|
+
export interface MobileStandardLegendControls {
|
|
30
|
+
label?: React.ReactNode;
|
|
31
|
+
items?: MobileStandardControlLegendItem[];
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
onToggle?: (id: string, active: boolean) => void;
|
|
34
|
+
onShowAll?: () => void;
|
|
35
|
+
onHideAll?: () => void;
|
|
36
|
+
}
|
|
37
|
+
export interface MobileStandardControlsProps {
|
|
38
|
+
controls?: MobileStandardControlRequest;
|
|
39
|
+
targetSize?: number;
|
|
40
|
+
compact?: boolean;
|
|
41
|
+
className?: string;
|
|
42
|
+
style?: React.CSSProperties;
|
|
43
|
+
ariaLabel?: string;
|
|
44
|
+
brush?: MobileStandardBrushControls;
|
|
45
|
+
zoom?: MobileStandardZoomControls;
|
|
46
|
+
legend?: MobileStandardLegendControls;
|
|
47
|
+
}
|
|
48
|
+
export interface UseMobileRangeControlsOptions {
|
|
49
|
+
domain: [number, number];
|
|
50
|
+
initialValue?: [number, number];
|
|
51
|
+
step?: number;
|
|
52
|
+
minSpan?: number;
|
|
53
|
+
label?: React.ReactNode;
|
|
54
|
+
formatValue?: (value: number) => React.ReactNode;
|
|
55
|
+
onChange?: (value: [number, number]) => void;
|
|
56
|
+
}
|
|
57
|
+
export interface UseMobileRangeControlsResult {
|
|
58
|
+
value: [number, number];
|
|
59
|
+
setValue: (value: [number, number]) => void;
|
|
60
|
+
xExtent: [number, number];
|
|
61
|
+
brush: MobileStandardBrushControls;
|
|
62
|
+
zoom: MobileStandardZoomControls;
|
|
63
|
+
}
|
|
64
|
+
export declare function clampMobileRange(value: [number, number], domain: [number, number], minSpan?: number): [number, number];
|
|
65
|
+
export declare function zoomMobileRange(value: [number, number], domain: [number, number], direction: "in" | "out", step?: number, minSpan?: number): [number, number];
|
|
66
|
+
export declare function useMobileRangeControls(options: UseMobileRangeControlsOptions): UseMobileRangeControlsResult;
|
|
67
|
+
export declare function MobileStandardControls({ controls, targetSize, compact, className, style, ariaLabel, brush, zoom, legend, }: MobileStandardControlsProps): React.JSX.Element | null;
|
|
68
|
+
export default MobileStandardControls;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ChartMode, LinkedHoverProp, MobileInteractionProp, SelectionConfig } from "./charts/shared/types";
|
|
3
|
+
import type { MobileVisualizationContract } from "./charts/shared/auditMobileVisualization";
|
|
4
|
+
import { type LinkedChartsProps } from "./LinkedCharts";
|
|
5
|
+
export type SmallMultipleExtent = [number, number];
|
|
6
|
+
export interface SmallMultipleItem<TDatum = unknown> {
|
|
7
|
+
id: string;
|
|
8
|
+
title?: React.ReactNode;
|
|
9
|
+
subtitle?: React.ReactNode;
|
|
10
|
+
summary?: React.ReactNode;
|
|
11
|
+
data?: readonly TDatum[];
|
|
12
|
+
extent?: SmallMultipleExtent;
|
|
13
|
+
}
|
|
14
|
+
export interface SmallMultipleSharedExtent {
|
|
15
|
+
xExtent?: SmallMultipleExtent;
|
|
16
|
+
yExtent?: SmallMultipleExtent;
|
|
17
|
+
valueExtent?: SmallMultipleExtent;
|
|
18
|
+
}
|
|
19
|
+
export interface SmallMultipleRenderContext<TItem> {
|
|
20
|
+
item: TItem;
|
|
21
|
+
index: number;
|
|
22
|
+
count: number;
|
|
23
|
+
chartProps: Record<string, unknown>;
|
|
24
|
+
sharedExtent: SmallMultipleSharedExtent;
|
|
25
|
+
}
|
|
26
|
+
export interface SmallMultipleChartProps<TItem extends SmallMultipleItem = SmallMultipleItem> {
|
|
27
|
+
items?: readonly TItem[];
|
|
28
|
+
children: React.ReactNode | ((item: TItem, context: SmallMultipleRenderContext<TItem>) => React.ReactNode);
|
|
29
|
+
/** Columns above the tablet breakpoint. Default 3. */
|
|
30
|
+
columns?: number;
|
|
31
|
+
/** Columns between mobile and tablet breakpoints. Default 2. */
|
|
32
|
+
tabletColumns?: number;
|
|
33
|
+
/** Columns at the mobile breakpoint. Default 1. */
|
|
34
|
+
mobileColumns?: number;
|
|
35
|
+
/** Mobile breakpoint used by the generated CSS. Default 480. */
|
|
36
|
+
mobileBreakpoint?: number;
|
|
37
|
+
/** Tablet breakpoint used by the generated CSS. Default 860. */
|
|
38
|
+
tabletBreakpoint?: number;
|
|
39
|
+
/** Gap between panels. Default 12. */
|
|
40
|
+
gap?: number;
|
|
41
|
+
/** Default child chart mode. Default "mobile". */
|
|
42
|
+
mode?: ChartMode;
|
|
43
|
+
/** Default child chart height. Default 220. */
|
|
44
|
+
chartHeight?: number;
|
|
45
|
+
/** Share y/value extents across panels. Pass an object for explicit extents. Default true. */
|
|
46
|
+
sharedExtent?: boolean | SmallMultipleSharedExtent;
|
|
47
|
+
/** Field or function used to compute the shared y/value extent when sharedExtent is true. */
|
|
48
|
+
valueAccessor?: string | ((datum: unknown) => unknown);
|
|
49
|
+
/** Field or function used to read each item's data array. Default "data". */
|
|
50
|
+
dataAccessor?: string | ((item: TItem) => readonly unknown[] | undefined);
|
|
51
|
+
/** Extent prop names injected into child charts. Default ["yExtent", "valueExtent"]. */
|
|
52
|
+
extentProps?: string[];
|
|
53
|
+
/** Linked hover emitted by each panel. */
|
|
54
|
+
linkedHover?: LinkedHoverProp;
|
|
55
|
+
/** Selection consumed by each panel. */
|
|
56
|
+
selection?: SelectionConfig;
|
|
57
|
+
/** Convenience config for linked hover + selection using the same name/fields. */
|
|
58
|
+
linkedBy?: string[] | {
|
|
59
|
+
name?: string;
|
|
60
|
+
fields?: string[];
|
|
61
|
+
};
|
|
62
|
+
/** Whether to provide a LinkedCharts wrapper for linked panels. Default "auto". */
|
|
63
|
+
linkProvider?: boolean | "auto";
|
|
64
|
+
/** LinkedCharts selection seed config when SmallMultipleChart provides the wrapper. */
|
|
65
|
+
selections?: LinkedChartsProps["selections"];
|
|
66
|
+
/** Unified legend setting passed to LinkedCharts when SmallMultipleChart provides the wrapper. Default false. */
|
|
67
|
+
showLegend?: LinkedChartsProps["showLegend"];
|
|
68
|
+
legendPosition?: LinkedChartsProps["legendPosition"];
|
|
69
|
+
legendInteraction?: LinkedChartsProps["legendInteraction"];
|
|
70
|
+
legendSelectionName?: LinkedChartsProps["legendSelectionName"];
|
|
71
|
+
legendField?: LinkedChartsProps["legendField"];
|
|
72
|
+
/** Touch-first mobile interaction policy injected into child charts. Default true. */
|
|
73
|
+
mobileInteraction?: MobileInteractionProp;
|
|
74
|
+
/** Semantic mobile contract injected into child charts. */
|
|
75
|
+
mobileSemantics?: MobileVisualizationContract;
|
|
76
|
+
/** Consistent labeling posture. Panel labels are outside the plot by default. */
|
|
77
|
+
labelMode?: "panel" | "direct" | "legend";
|
|
78
|
+
/** Additional defaults injected into each child chart when the child has not already declared them. */
|
|
79
|
+
chartDefaults?: Record<string, unknown>;
|
|
80
|
+
className?: string;
|
|
81
|
+
style?: React.CSSProperties;
|
|
82
|
+
}
|
|
83
|
+
export declare function SmallMultipleChart<TItem extends SmallMultipleItem = SmallMultipleItem>({ items, children, columns, tabletColumns, mobileColumns, mobileBreakpoint, tabletBreakpoint, gap, mode, chartHeight, sharedExtent, valueAccessor, dataAccessor, extentProps, linkedHover, selection, linkedBy, linkProvider, selections, showLegend, legendPosition, legendInteraction, legendSelectionName, legendField, mobileInteraction, mobileSemantics, labelMode, chartDefaults, className, style, }: SmallMultipleChartProps<TItem>): React.JSX.Element;
|
|
84
|
+
export default SmallMultipleChart;
|
|
@@ -22,6 +22,27 @@ interface FlippingTooltipProps {
|
|
|
22
22
|
/** z-index (default 1) */
|
|
23
23
|
zIndex?: number;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* True when the tooltip content's root element looks like the
|
|
27
|
+
* consumer is handling chrome themselves. Signals (any one is enough):
|
|
28
|
+
*
|
|
29
|
+
* 1. Component-type `ownsChrome: true` (for components that paint
|
|
30
|
+
* chrome internally — avoids double-wrap).
|
|
31
|
+
* 2. An inline `background` / `backgroundColor` on `style`.
|
|
32
|
+
* 3. `data-semiotic-tooltip-chrome` for CSS-class-only chrome
|
|
33
|
+
* where the background is defined outside the React element.
|
|
34
|
+
*
|
|
35
|
+
* **`.semiotic-tooltip` class alone is NOT ownership.** Charts and
|
|
36
|
+
* examples repeatedly return `<div className="semiotic-tooltip">…</div>`
|
|
37
|
+
* without a background (expecting a global CSS rule or theme var that
|
|
38
|
+
* is missing or transparent). Treating the class as ownership was the
|
|
39
|
+
* transparent-tooltip regression. Shared helpers that truly own chrome
|
|
40
|
+
* pass `defaultTooltipStyle` (inline background) or `ownsChrome`.
|
|
41
|
+
*
|
|
42
|
+
* When none of these fire, `FlippingTooltip` paints `defaultTooltipStyle`
|
|
43
|
+
* on its wrapper so the tooltip can never come out chrome-less.
|
|
44
|
+
*/
|
|
45
|
+
export declare function hasOwnChrome(node: React.ReactNode): boolean;
|
|
25
46
|
/**
|
|
26
47
|
* Viewport-aware tooltip wrapper that flips horizontally and vertically
|
|
27
48
|
* when the tooltip would overflow the chart container.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
3
|
+
import type { ChartRecipe as ChartRecipeDefinition } from "./chartRecipes";
|
|
4
|
+
export type ChartRecipe = ChartRecipeDefinition;
|
|
5
|
+
export interface ChartRecipeProps extends Datum {
|
|
6
|
+
recipeId?: string;
|
|
7
|
+
recipe?: ChartRecipeDefinition;
|
|
8
|
+
layoutConfig?: Record<string, unknown>;
|
|
9
|
+
chartId?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Render a registered recipe config. Portable recipes resolve their layout by
|
|
14
|
+
* registered id; local recipes may carry the function in their manifest.
|
|
15
|
+
*/
|
|
16
|
+
export declare function ChartRecipe(props: ChartRecipeProps): React.ReactElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { IntentManifest } from "./intentManifest";
|
|
3
|
+
export interface IntentMarkProps {
|
|
4
|
+
manifest: IntentManifest;
|
|
5
|
+
label?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Show the human summary above the JSON contract. Default true. */
|
|
8
|
+
showSummary?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Visible, inspectable IDID contract for docs and review surfaces. Native
|
|
12
|
+
* `<details>` keeps the first version keyboard- and screen-reader-operable
|
|
13
|
+
* without introducing a popover dependency.
|
|
14
|
+
*/
|
|
15
|
+
export declare function IntentMark({ manifest, label, className, showSummary, }: IntentMarkProps): React.JSX.Element;
|
|
@@ -38,6 +38,13 @@ import { ChoroplethMapCapability } from "../charts/geo/ChoroplethMap.capability"
|
|
|
38
38
|
import { ProportionalSymbolMapCapability } from "../charts/geo/ProportionalSymbolMap.capability";
|
|
39
39
|
import { FlowMapCapability } from "../charts/geo/FlowMap.capability";
|
|
40
40
|
import { DistanceCartogramCapability } from "../charts/geo/DistanceCartogram.capability";
|
|
41
|
+
import { GaltonBoardChartCapability } from "../charts/physics/GaltonBoardChart.capability";
|
|
42
|
+
import { EventDropChartCapability } from "../charts/physics/EventDropChart.capability";
|
|
43
|
+
import { PhysicsPileChartCapability } from "../charts/physics/PhysicsPileChart.capability";
|
|
44
|
+
import { CollisionSwarmChartCapability } from "../charts/physics/CollisionSwarmChart.capability";
|
|
45
|
+
import { PhysicalFlowChartCapability } from "../charts/physics/PhysicalFlowChart.capability";
|
|
46
|
+
import { ProcessFlowChartCapability } from "../charts/physics/ProcessFlowChart.capability";
|
|
47
|
+
import { GauntletChartCapability } from "../charts/physics/GauntletChart.capability";
|
|
41
48
|
/**
|
|
42
49
|
* Register a capability for a chart (built-in or third-party). Re-registering by
|
|
43
50
|
* component name replaces the previous descriptor — useful for overriding defaults.
|
|
@@ -52,4 +59,4 @@ export declare function unregisterChartCapability(component: string): void;
|
|
|
52
59
|
export declare function getCapabilities(): ReadonlyArray<ChartCapability>;
|
|
53
60
|
/** Look up a capability by component name. */
|
|
54
61
|
export declare function getCapability(component: string): ChartCapability | undefined;
|
|
55
|
-
export { LineChartCapability, AreaChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, };
|
|
62
|
+
export { LineChartCapability, AreaChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, GaltonBoardChartCapability, EventDropChartCapability, PhysicsPileChartCapability, CollisionSwarmChartCapability, PhysicalFlowChartCapability, ProcessFlowChartCapability, GauntletChartCapability, };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
2
|
import type { DataSummary } from "../data/DataSummarizer";
|
|
3
3
|
import type { IntentId } from "./intents";
|
|
4
|
+
import type { ChartRecipe, ChartRecipeFrameFamily, MobileDesignDefinition } from "./chartRecipes";
|
|
4
5
|
import type { ScaleFitFn, QualityFitFn, ScaleBand, CardinalityBand, EffectiveScale } from "./dataScaleProfile";
|
|
5
6
|
/**
|
|
6
7
|
* Chart family — high-level taxonomy used for filtering and intent matching.
|
|
@@ -9,7 +10,13 @@ export type ChartFamily = "time-series" | "categorical" | "distribution" | "rela
|
|
|
9
10
|
/**
|
|
10
11
|
* Where a chart is imported from. Used by generators to emit correct import paths.
|
|
11
12
|
*/
|
|
12
|
-
export type ChartImportPath = "semiotic/xy" | "semiotic/ordinal" | "semiotic/network" | "semiotic/geo" | "semiotic/realtime" | "semiotic/value" | "semiotic/ai" | "semiotic";
|
|
13
|
+
export type ChartImportPath = "semiotic/xy" | "semiotic/ordinal" | "semiotic/network" | "semiotic/geo" | "semiotic/realtime" | "semiotic/physics" | "semiotic/value" | "semiotic/ai" | "semiotic";
|
|
14
|
+
export type ChartCandidateKind = "built-in" | "recipe";
|
|
15
|
+
export interface WhyCustomExplanation {
|
|
16
|
+
defaultAlternative?: string;
|
|
17
|
+
reason: string;
|
|
18
|
+
tradeoff?: string;
|
|
19
|
+
}
|
|
13
20
|
/**
|
|
14
21
|
* Familiarity/accuracy/precision rubric (1-5 each).
|
|
15
22
|
* Familiarity = how well-known the chart is to a general audience.
|
|
@@ -73,6 +80,22 @@ export interface ChartDataProfile extends DataSummary {
|
|
|
73
80
|
hasRepeatedX: boolean;
|
|
74
81
|
/** True when the primary x candidate is monotonic. */
|
|
75
82
|
monotonicX: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* How amenable the (x × series) grid is to stacking. Only populated when both
|
|
85
|
+
* a primary x and series field exist. A stacked area/bar reads as bands only
|
|
86
|
+
* when series share x columns; when most columns hold a single series, the
|
|
87
|
+
* renderer zero-fills the gaps and every layer collapses into an isolated
|
|
88
|
+
* triangular spike instead of a continuous band. Capabilities gate on this to
|
|
89
|
+
* decline stacking on near-unique x (flat record lists, scatter-shaped data).
|
|
90
|
+
*/
|
|
91
|
+
stackability?: {
|
|
92
|
+
/** Mean distinct series present per x value. ~1 → spiky; ~seriesCount → dense. */
|
|
93
|
+
seriesPerX: number;
|
|
94
|
+
/** Fraction of x columns where 2+ series coexist (where stacking is visible). */
|
|
95
|
+
multiSeriesFraction: number;
|
|
96
|
+
/** Number of distinct x columns considered. */
|
|
97
|
+
xColumns: number;
|
|
98
|
+
};
|
|
76
99
|
/** True when there is at least one date-typed candidate. */
|
|
77
100
|
hasTimeAxis: boolean;
|
|
78
101
|
/**
|
|
@@ -145,7 +168,13 @@ export type FitResult = null | string;
|
|
|
145
168
|
*/
|
|
146
169
|
export interface ChartCapability {
|
|
147
170
|
component: string;
|
|
171
|
+
/** Human-facing name. `component` remains the stable lookup id. */
|
|
172
|
+
displayName?: string;
|
|
173
|
+
/** Omitted descriptors are treated as built-ins for backward compatibility. */
|
|
174
|
+
candidateKind?: ChartCandidateKind;
|
|
148
175
|
family: ChartFamily;
|
|
176
|
+
/** The frame/runtime substrate behind a registered recipe. */
|
|
177
|
+
renderingFamily?: ChartRecipeFrameFamily;
|
|
149
178
|
importPath: ChartImportPath;
|
|
150
179
|
/** Base rubric, before variant/profile adjustments. */
|
|
151
180
|
rubric: ChartRubric;
|
|
@@ -189,6 +218,14 @@ export interface ChartCapability {
|
|
|
189
218
|
* low completeness on the primary y field.
|
|
190
219
|
*/
|
|
191
220
|
qualityFit?: QualityFitFn;
|
|
221
|
+
/** Mobile design contract for custom recipes and advanced built-ins. */
|
|
222
|
+
mobile?: MobileDesignDefinition;
|
|
223
|
+
/** Present only on recipe-derived capabilities. */
|
|
224
|
+
recipe?: ChartRecipe;
|
|
225
|
+
/** Positive reception/design rationale appended to suggestion explanations. */
|
|
226
|
+
positiveRationale?: ReadonlyArray<string>;
|
|
227
|
+
/** Why this candidate justifies leaving the built-in catalog. */
|
|
228
|
+
whyCustom?: WhyCustomExplanation;
|
|
192
229
|
}
|
|
193
230
|
/**
|
|
194
231
|
* Effective scale range tag on a suggestion. Lets callers group suggestions
|
|
@@ -211,6 +248,9 @@ export interface SuggestionScaleRange {
|
|
|
211
248
|
*/
|
|
212
249
|
export interface Suggestion {
|
|
213
250
|
component: string;
|
|
251
|
+
displayName: string;
|
|
252
|
+
candidateKind: ChartCandidateKind;
|
|
253
|
+
recipeId?: string;
|
|
214
254
|
family: ChartFamily;
|
|
215
255
|
importPath: ChartImportPath;
|
|
216
256
|
variant?: ChartVariant;
|
|
@@ -226,6 +266,7 @@ export interface Suggestion {
|
|
|
226
266
|
caveats: ReadonlyArray<string>;
|
|
227
267
|
/** Ready-to-spread props. */
|
|
228
268
|
props: Record<string, unknown>;
|
|
269
|
+
whyCustom?: WhyCustomExplanation;
|
|
229
270
|
/**
|
|
230
271
|
* Scale tag — present when scale/quality information is available, either
|
|
231
272
|
* through declared `DataScaleProfile` or through the measured profile.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only Chart Clinic inspection contract.
|
|
3
|
+
*
|
|
4
|
+
* This is intentionally an inspection surface, not an authoring or repair
|
|
5
|
+
* loop. It composes the existing validation, diagnostic, serializable-config,
|
|
6
|
+
* render-evidence, and revision contracts into one deterministic report that
|
|
7
|
+
* a docs page, CLI, MCP tool, or application can present without mutating the
|
|
8
|
+
* caller's chart props or store.
|
|
9
|
+
*/
|
|
10
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
11
|
+
import type { ChartCategory } from "../charts/shared/chartSpecs";
|
|
12
|
+
import type { Diagnosis } from "../charts/shared/diagnoseConfig";
|
|
13
|
+
import type { ValidationResult } from "../charts/shared/validateProps";
|
|
14
|
+
import type { ChartConfig } from "../export/chartConfig";
|
|
15
|
+
import type { RenderEvidence } from "../server/renderEvidence";
|
|
16
|
+
import type { RevisionSet } from "../stream/pipelineUpdateContract";
|
|
17
|
+
import { type RenderFn } from "./generativeChart";
|
|
18
|
+
/**
|
|
19
|
+
* Inspection is a reproducible projection, not an authored export. The
|
|
20
|
+
* timestamp in a ChartConfig is meaningful when a user saves a config but is
|
|
21
|
+
* volatile noise in an identical read-only Clinic report.
|
|
22
|
+
*/
|
|
23
|
+
export type ChartClinicConfig = Omit<ChartConfig, "createdAt">;
|
|
24
|
+
export interface ChartClinicRevisionInput {
|
|
25
|
+
/** Latest revision snapshot reported by a retained chart/store host. */
|
|
26
|
+
readonly revisions: RevisionSet;
|
|
27
|
+
/** Optional snapshot that a host says it has already consumed. */
|
|
28
|
+
readonly consumed?: Partial<RevisionSet>;
|
|
29
|
+
}
|
|
30
|
+
export interface ChartClinicInput {
|
|
31
|
+
readonly component: string;
|
|
32
|
+
readonly props?: Datum;
|
|
33
|
+
/** Omit this for a static configuration with no retained runtime host. */
|
|
34
|
+
readonly revision?: ChartClinicRevisionInput;
|
|
35
|
+
}
|
|
36
|
+
export interface ChartClinicOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Optional static renderer. Supplying it attaches SVG-derived evidence; it
|
|
39
|
+
* never changes the inspected configuration and render failures are exposed
|
|
40
|
+
* as a stable code rather than rethrowing arbitrary error text.
|
|
41
|
+
*/
|
|
42
|
+
readonly render?: RenderFn;
|
|
43
|
+
}
|
|
44
|
+
export interface ChartClinicSceneSummary {
|
|
45
|
+
readonly status: RenderEvidence["status"];
|
|
46
|
+
readonly frameType: RenderEvidence["frameType"];
|
|
47
|
+
readonly markCount: number;
|
|
48
|
+
readonly markCountByType: Readonly<Record<string, number>>;
|
|
49
|
+
readonly xDomain?: readonly [number, number];
|
|
50
|
+
readonly yDomain?: readonly [number, number];
|
|
51
|
+
readonly categories?: readonly string[];
|
|
52
|
+
readonly nodeCount?: number;
|
|
53
|
+
readonly edgeCount?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ChartClinicRevisionStatus {
|
|
56
|
+
readonly state: "not-observed" | "fully-consumed" | "pending-consumption";
|
|
57
|
+
readonly revisions?: RevisionSet;
|
|
58
|
+
readonly consumed?: Partial<RevisionSet>;
|
|
59
|
+
/** Revision counters newer than the supplied consumption snapshot. */
|
|
60
|
+
readonly pending: readonly (keyof RevisionSet)[];
|
|
61
|
+
}
|
|
62
|
+
export interface ChartClinicBundleGuidance {
|
|
63
|
+
readonly category?: ChartCategory;
|
|
64
|
+
/** Prefer the pilot's explicit module when available, otherwise a family facade. */
|
|
65
|
+
readonly recommendedImport?: string;
|
|
66
|
+
readonly serverImport?: "semiotic/server";
|
|
67
|
+
readonly docsRoute?: string;
|
|
68
|
+
readonly note: string;
|
|
69
|
+
}
|
|
70
|
+
export interface ChartClinicReport {
|
|
71
|
+
readonly mode: "read-only";
|
|
72
|
+
readonly component: string;
|
|
73
|
+
/** A serializable configuration projected from the inspected props. */
|
|
74
|
+
readonly normalizedConfig?: ChartClinicConfig;
|
|
75
|
+
readonly validation: ValidationResult;
|
|
76
|
+
readonly diagnostics: readonly Diagnosis[];
|
|
77
|
+
readonly evidence?: RenderEvidence;
|
|
78
|
+
readonly scene?: ChartClinicSceneSummary;
|
|
79
|
+
readonly revisions: ChartClinicRevisionStatus;
|
|
80
|
+
readonly bundle: ChartClinicBundleGuidance;
|
|
81
|
+
/** Stable reasons; arbitrary renderer exception messages are never copied here. */
|
|
82
|
+
readonly reasons: readonly string[];
|
|
83
|
+
readonly ok: boolean;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Inspect a chart proposal without changing it. Automatic repair is explicitly
|
|
87
|
+
* disabled even when data is present; the beta reports diagnostics and bundle
|
|
88
|
+
* guidance only. Pass a renderer when the caller can safely obtain static SVG
|
|
89
|
+
* evidence in its own runtime.
|
|
90
|
+
*/
|
|
91
|
+
export declare function inspectChart(input: ChartClinicInput, options?: ChartClinicOptions): ChartClinicReport;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChartCapability } from "./chartCapabilityTypes";
|
|
2
|
+
import type { ChartRecipe, CustomLayoutFunction } from "./chartRecipes";
|
|
3
|
+
/** Register or replace a named recipe and its capability adapter. */
|
|
4
|
+
export declare function registerChartRecipe(recipe: ChartRecipe): void;
|
|
5
|
+
export declare function unregisterChartRecipe(recipeId: string): void;
|
|
6
|
+
export declare function getChartRecipe(recipeId: string): ChartRecipe | undefined;
|
|
7
|
+
export declare function listChartRecipes(): ChartRecipe[];
|
|
8
|
+
export declare function getRegisteredRecipeCapabilities(): ReadonlyArray<ChartCapability>;
|
|
9
|
+
export declare function hasRegisteredRecipeCapabilities(): boolean;
|
|
10
|
+
/** Register a known runtime implementation used by portable recipe manifests. */
|
|
11
|
+
export declare function registerRecipeLayout(layoutId: string, layout: CustomLayoutFunction): void;
|
|
12
|
+
export declare function unregisterRecipeLayout(layoutId: string): void;
|
|
13
|
+
export declare function getRecipeLayout(layoutId: string): CustomLayoutFunction | undefined;
|
|
14
|
+
export declare function resolveChartRecipe(value: unknown): ChartRecipe | undefined;
|