semiotic 3.8.0 → 3.8.2
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 +14 -9
- package/README.md +56 -55
- package/ai/behaviorContracts.cjs +9 -0
- package/ai/dist/mcp-server.js +240 -30
- package/ai/schema.json +616 -42
- package/ai/surface-manifest.json +3 -2
- package/ai/system-prompt.md +7 -3
- package/dist/__tests__/scenarios/mcpProtocolTypes.d.ts +20 -0
- package/dist/chunk-OrdinalBrushOverlay-PXHQYDB2.module.min.js +2 -0
- package/dist/chunk-XYBrushOverlay-ECZJJLAJ.module.min.js +1 -0
- package/dist/chunk-XYBrushOverlay-EP2SV3UI.module.min.js +2 -0
- package/dist/chunk-chunk-255KDHW5.module.min.js +1 -0
- package/dist/chunk-chunk-27HVVXS6.module.min.js +1 -0
- package/dist/chunk-chunk-2CXCXRB4.module.min.js +1 -0
- package/dist/chunk-chunk-2JGJ5GUG.module.min.js +2 -0
- package/dist/chunk-chunk-2UN3ANRN.module.min.js +2 -0
- package/dist/chunk-chunk-2VUEY5TH.module.min.js +1 -0
- package/dist/chunk-chunk-2WVCH4PL.module.min.js +1 -0
- package/dist/chunk-chunk-5UKL5W76.module.min.js +2 -0
- package/dist/chunk-chunk-5WEFWNUW.module.min.js +2 -0
- package/dist/chunk-chunk-6F6GEAQU.module.min.js +1 -0
- package/dist/chunk-chunk-7LHMKRKE.module.min.js +2 -0
- package/dist/chunk-chunk-BHYTYMY2.module.min.js +2 -0
- package/dist/chunk-chunk-C6EJ4IOD.module.min.js +2 -0
- package/dist/chunk-chunk-CA3YDW6F.module.min.js +1 -0
- package/dist/chunk-chunk-CP3EN6KZ.module.min.js +1 -0
- package/dist/chunk-chunk-CYIML3AV.module.min.js +2 -0
- package/dist/chunk-chunk-DNY43POY.module.min.js +1 -0
- package/dist/chunk-chunk-DSNGDNJY.module.min.js +1 -0
- package/dist/chunk-chunk-E7MIQX7D.module.min.js +2 -0
- package/dist/chunk-chunk-EMO5NUGE.module.min.js +1 -0
- package/dist/chunk-chunk-ES4DCG3L.module.min.js +1 -0
- package/dist/chunk-chunk-FAKO3RGQ.module.min.js +2 -0
- package/dist/chunk-chunk-FYY2ACNJ.module.min.js +2 -0
- package/dist/chunk-chunk-G7WFWHAD.module.min.js +2 -0
- package/dist/chunk-chunk-GMQ5AYTD.module.min.js +1 -0
- package/dist/chunk-chunk-H4PPRW6N.module.min.js +1 -0
- package/dist/chunk-chunk-IFYPMWKY.module.min.js +1 -0
- package/dist/chunk-chunk-J3ELI22J.module.min.js +1 -0
- package/dist/chunk-chunk-J3QOW4OE.module.min.js +0 -0
- package/dist/chunk-chunk-J3XWETBJ.module.min.js +2 -0
- package/dist/chunk-chunk-JCG72SGW.module.min.js +2 -0
- package/dist/{semiotic-ai-chunk-OG7BQUUW.module.min.js → chunk-chunk-JJ2OOIET.module.min.js} +0 -1
- package/dist/chunk-chunk-KTWEBFMX.module.min.js +2 -0
- package/dist/chunk-chunk-L6D3I3V7.module.min.js +2 -0
- package/dist/chunk-chunk-M337NY6L.module.min.js +1 -0
- package/dist/chunk-chunk-NO4MCQVD.module.min.js +1 -0
- package/dist/chunk-chunk-ODUZEEBH.module.min.js +2 -0
- package/dist/chunk-chunk-P6UBCMSQ.module.min.js +2 -0
- package/dist/chunk-chunk-Q2YADC2V.module.min.js +2 -0
- package/dist/chunk-chunk-QRIBHZYW.module.min.js +1 -0
- package/dist/chunk-chunk-QSQVBIJA.module.min.js +1 -0
- package/dist/chunk-chunk-RCF52Z42.module.min.js +2 -0
- package/dist/chunk-chunk-RH5TSQPH.module.min.js +1 -0
- package/dist/chunk-chunk-ROP4HI7H.module.min.js +2 -0
- package/dist/chunk-chunk-RZH7VZYS.module.min.js +2 -0
- package/dist/chunk-chunk-SIRIJ3DY.module.min.js +1 -0
- package/dist/chunk-chunk-STZFFTAN.module.min.js +2 -0
- package/dist/chunk-chunk-SV4XAZ3Q.module.min.js +1 -0
- package/dist/chunk-chunk-T27ZEV6A.module.min.js +1 -0
- package/dist/chunk-chunk-U3AGQ5EF.module.min.js +2 -0
- package/dist/chunk-chunk-U66USBWU.module.min.js +1 -0
- package/dist/chunk-chunk-VVCA3DB7.module.min.js +1 -0
- package/dist/chunk-chunk-W3DB2MN4.module.min.js +2 -0
- package/dist/chunk-chunk-WCX6U47H.module.min.js +2 -0
- package/dist/chunk-chunk-WDIN4LRC.module.min.js +1 -0
- package/dist/chunk-chunk-XEVJDUTH.module.min.js +1 -0
- package/dist/chunk-chunk-XOYX77KF.module.min.js +2 -0
- package/dist/chunk-chunk-YCQYG6J5.module.min.js +2 -0
- package/dist/chunk-chunk-YHNZCPOZ.module.min.js +2 -0
- package/dist/chunk-chunk-YWZB3KPI.module.min.js +2 -0
- package/dist/chunk-chunk-Z5KXAVQD.module.min.js +2 -0
- package/dist/chunk-chunk-ZCNBUZPL.module.min.js +2 -0
- package/dist/chunk-chunk-ZLKRTF5N.module.min.js +2 -0
- package/dist/chunk-chunk-ZTNVDWAK.module.min.js +2 -0
- package/dist/chunk-statisticalOverlays-6MVAK5RW.module.min.js +2 -0
- package/dist/components/AccessibleNavTree.d.ts +7 -1
- package/dist/components/ai/chartClinicMetadata.generated.d.ts +15 -0
- package/dist/components/ai/useNavigationSync.d.ts +17 -2
- package/dist/components/chartContainerMobile.d.ts +9 -0
- package/dist/components/charts/geo/ChoroplethMap.d.ts +19 -2
- package/dist/components/charts/geo/DistanceCartogram.d.ts +14 -2
- package/dist/components/charts/geo/FlowMap.d.ts +10 -6
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +14 -2
- package/dist/components/charts/index.d.ts +6 -0
- package/dist/components/charts/network/ChordDiagram.d.ts +9 -1
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +11 -0
- package/dist/components/charts/network/SankeyDiagram.d.ts +9 -1
- package/dist/components/charts/ordinal/BarChart.d.ts +21 -0
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +11 -0
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +11 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +7 -0
- package/dist/components/charts/physics/EventDropChart.d.ts +7 -0
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +8 -0
- package/dist/components/charts/physics/PhysicalFlowChart.d.ts +7 -0
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +4 -25
- package/dist/components/charts/physics/PhysicsPileChart.d.ts +7 -0
- package/dist/components/charts/physics/physicsChartShared.d.ts +17 -1
- package/dist/components/charts/physics/physicsCustomLayout.d.ts +32 -0
- 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/auditAccessibilityText.d.ts +13 -0
- package/dist/components/charts/shared/chartSelectionUtils.d.ts +4 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +3 -3
- package/dist/components/charts/shared/datumTypes.d.ts +2 -0
- package/dist/components/charts/shared/diagnoseAnnotationChecks.d.ts +2 -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 +7 -6
- 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/semanticInteractions.d.ts +42 -0
- package/dist/components/charts/shared/sparseArray.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +6 -4
- package/dist/components/charts/shared/styleRules.d.ts +205 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +22 -9
- package/dist/components/charts/shared/types.d.ts +9 -6
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +16 -2
- package/dist/components/charts/shared/useChartSetup.d.ts +2 -2
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +3 -0
- 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/useOrdinalBrush.d.ts +2 -1
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +24 -1
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- 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 +11 -2
- 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 +8 -0
- package/dist/components/charts/xy/BubbleChart.d.ts +9 -0
- 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 +11 -0
- package/dist/components/charts/xy/QuadrantChart.d.ts +7 -0
- package/dist/components/charts/xy/Scatterplot.d.ts +10 -0
- package/dist/components/charts/xy/StackedAreaChart.d.ts +7 -0
- 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/data/fromVegaLite.d.ts +19 -9
- package/dist/components/rough/createRoughRenderMode.d.ts +46 -0
- package/dist/components/semiotic-ai.d.ts +3 -1
- package/dist/components/semiotic-controls.d.ts +2 -0
- package/dist/components/semiotic-geo.d.ts +4 -0
- package/dist/components/semiotic-network.d.ts +4 -0
- package/dist/components/semiotic-ordinal.d.ts +6 -0
- package/dist/components/semiotic-physics.d.ts +4 -0
- package/dist/components/semiotic-rough.d.ts +4 -0
- package/dist/components/semiotic-utils-core.d.ts +4 -0
- package/dist/components/semiotic-xy.d.ts +4 -0
- package/dist/components/semiotic.d.ts +9 -1
- package/dist/components/server/optionalImageTypes.d.ts +37 -0
- package/dist/components/server/serverChartConfigShared.d.ts +9 -5
- package/dist/components/server/serverChartConfigs.d.ts +4 -4
- package/dist/components/server/staticAnnotations.d.ts +6 -3
- package/dist/components/server/staticLegend.d.ts +1 -1
- package/dist/components/server/staticNetwork.d.ts +4 -4
- package/dist/components/server/staticSVGChrome.d.ts +5 -4
- package/dist/components/store/ObservationStore.d.ts +21 -1
- package/dist/components/stream/AccessibleDataTable.d.ts +4 -10
- 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/FrameRuntime.d.ts +57 -0
- package/dist/components/stream/GeoParticlePool.d.ts +1 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +43 -12
- 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 +24 -21
- package/dist/components/stream/NetworkSSRFrame.d.ts +17 -0
- package/dist/components/stream/NetworkSVGOverlay.d.ts +6 -0
- package/dist/components/stream/OrdinalBrushOverlay.d.ts +1 -2
- package/dist/components/stream/OrdinalBrushOverlayLazy.d.ts +9 -0
- package/dist/components/stream/OrdinalCanvasHitTester.d.ts +2 -2
- package/dist/components/stream/OrdinalPipelineStore.d.ts +13 -13
- 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 +12 -16
- package/dist/components/stream/SVGOverlay.d.ts +6 -0
- package/dist/components/stream/SceneGraph.d.ts +3 -3
- package/dist/components/stream/XYBrushOverlayLazy.d.ts +17 -0
- package/dist/components/stream/accessorUtils.d.ts +2 -2
- package/dist/components/stream/annotationAccessorResolver.d.ts +2 -2
- package/dist/components/stream/frameGraphics.d.ts +4 -0
- package/dist/components/stream/frameKeyboardNavigation.d.ts +45 -0
- package/dist/components/stream/geoPipelineHelpers.d.ts +3 -3
- 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 +48 -15
- package/dist/components/stream/hitTestUtils.d.ts +2 -2
- package/dist/components/stream/hoverUtils.d.ts +4 -2
- package/dist/components/stream/layouts/forceLayoutWorkerClient.d.ts +1 -0
- package/dist/components/stream/layouts/hierarchyUtils.d.ts +2 -2
- package/dist/components/stream/networkCustomLayoutRunner.d.ts +23 -0
- package/dist/components/stream/networkCustomRestyle.d.ts +15 -0
- package/dist/components/stream/networkFrameAnimation.d.ts +7 -0
- package/dist/components/stream/networkFrameHandleTypes.d.ts +39 -0
- package/dist/components/stream/networkFrameObservations.d.ts +15 -0
- package/dist/components/stream/networkFramePaint.d.ts +11 -2
- package/dist/components/stream/networkInteractionTypes.d.ts +26 -0
- package/dist/components/stream/networkPipelineConfig.d.ts +2 -2
- package/dist/components/stream/networkPipelineUpdateResults.d.ts +38 -0
- package/dist/components/stream/networkTypes.d.ts +37 -56
- package/dist/components/stream/ordinalCanvasRenderers.d.ts +2 -2
- package/dist/components/stream/ordinalPipelineUpdateResults.d.ts +20 -1
- package/dist/components/stream/ordinalSceneBuilders/types.d.ts +2 -2
- package/dist/components/stream/ordinalTypes.d.ts +30 -3
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +2 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +6 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +21 -6
- 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/physicsPipelineUpdateResults.d.ts +19 -1
- package/dist/components/stream/physics/usePhysicsFrameLifecyclePolicy.d.ts +3 -1
- package/dist/components/stream/pipelineConfig.d.ts +4 -2
- package/dist/components/stream/pipelineDecay.d.ts +2 -2
- package/dist/components/stream/pipelinePulse.d.ts +2 -2
- package/dist/components/stream/pipelineStoreUpdateResults.d.ts +23 -2
- package/dist/components/stream/pipelineTransitions.d.ts +1 -1
- package/dist/components/stream/pipelineUpdateContract.d.ts +7 -0
- package/dist/components/stream/pipelineUpdateStore.d.ts +21 -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/networkParticleRenderer.d.ts +1 -1
- package/dist/components/stream/sceneRenderBackendTypes.d.ts +28 -0
- package/dist/components/stream/sceneRevisionDiagnostics.d.ts +31 -4
- package/dist/components/stream/streamSemanticTypes.d.ts +16 -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 +30 -65
- package/dist/components/stream/useCanvasFrameHost.d.ts +71 -0
- package/dist/components/stream/useFrame.d.ts +23 -0
- package/dist/components/stream/useLegendCategoryEmission.d.ts +3 -3
- package/dist/components/stream/useSemanticFrameInteractions.d.ts +22 -0
- package/dist/components/stream/useUpdateResultSnapshot.d.ts +7 -0
- package/dist/components/stream/xyFrameAxisTypes.d.ts +50 -0
- package/dist/components/stream/xySceneBuilders/types.d.ts +6 -5
- package/dist/controls.min.js +1 -1
- package/dist/controls.module.min.js +1 -1
- package/dist/forceLayoutWorker.js +1 -1
- 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 -1
- package/dist/physics-matter.module.min.js +1 -1
- package/dist/physics-rapier.min.js +1 -1
- package/dist/physics-rapier.module.min.js +1 -1
- package/dist/physics.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/physicsWorker.js +1 -1
- 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-core.min.js +1 -1
- package/dist/semiotic-ai-core.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +3 -1
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-controls.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.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-geo.d.ts +4 -0
- package/dist/semiotic-network.d.ts +4 -0
- package/dist/semiotic-ordinal.d.ts +6 -0
- package/dist/semiotic-physics.d.ts +4 -0
- package/dist/semiotic-realtime-core.min.js +1 -1
- package/dist/semiotic-realtime-core.module.min.js +1 -1
- package/dist/semiotic-realtime-react.min.js +1 -1
- package/dist/semiotic-realtime-react.module.min.js +1 -1
- package/dist/semiotic-recipes-core.min.js +1 -1
- package/dist/semiotic-recipes-core.module.min.js +1 -1
- package/dist/semiotic-recipes-react.min.js +1 -1
- package/dist/semiotic-recipes-react.module.min.js +1 -1
- 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.min.js +1 -1
- package/dist/semiotic-server-edge.module.min.js +1 -1
- package/dist/semiotic-server-node.min.js +1 -1
- package/dist/semiotic-server-node.module.min.js +1 -1
- package/dist/semiotic-themes-core.min.js +1 -1
- package/dist/semiotic-themes-core.module.min.js +1 -1
- package/dist/semiotic-themes-react.min.js +1 -1
- package/dist/semiotic-themes-react.module.min.js +1 -1
- package/dist/semiotic-themes.min.js +1 -1
- package/dist/semiotic-themes.module.min.js +1 -1
- package/dist/semiotic-utils-core.d.ts +4 -0
- package/dist/semiotic-utils-core.min.js +1 -1
- package/dist/semiotic-utils-core.module.min.js +1 -1
- package/dist/semiotic-utils-react.min.js +1 -1
- package/dist/semiotic-utils-react.module.min.js +1 -1
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-value.min.js +1 -1
- package/dist/semiotic-value.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +4 -0
- package/dist/semiotic.d.ts +9 -1
- 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.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +29 -10
- package/dist/semiotic-ai-statisticalOverlays-CY4WKR4A.module.min.js +0 -2
- package/dist/semiotic-chunk-3FSVZ46U.module.min.js +0 -2
- package/dist/semiotic-statisticalOverlays-UOMSFKVJ.module.min.js +0 -2
- package/dist/xy-chunk-IWD6IB6V.module.min.js +0 -2
- package/dist/xy-statisticalOverlays-7RWG6LJT.module.min.js +0 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import type { Datum, DatumValue } from "./datumTypes";
|
|
2
3
|
interface SafeRenderProps {
|
|
3
4
|
componentName: string;
|
|
4
5
|
width: number;
|
|
@@ -25,7 +26,7 @@ export declare function SafeRender({ componentName, width, height, children }: S
|
|
|
25
26
|
* Renders a "No data available" placeholder when data is empty.
|
|
26
27
|
* Returns null when data is present or emptyContent is `false`.
|
|
27
28
|
*/
|
|
28
|
-
export declare function renderEmptyState(data:
|
|
29
|
+
export declare function renderEmptyState(data: Datum[] | undefined | null, width: number, height: number, emptyContent?: React.ReactNode | false): React.ReactElement | null;
|
|
29
30
|
/**
|
|
30
31
|
* Renders a loading placeholder while `loading` is true.
|
|
31
32
|
*
|
|
@@ -39,7 +40,7 @@ export declare function renderEmptyState(data: any[] | undefined | null, width:
|
|
|
39
40
|
*/
|
|
40
41
|
export declare function renderLoadingState(loading: boolean | undefined, width: number, height: number, loadingContent?: React.ReactNode | false): React.ReactElement | null;
|
|
41
42
|
/** Warn if a string accessor isn't found in the first data element */
|
|
42
|
-
export declare function warnMissingField(componentName: string, data:
|
|
43
|
+
export declare function warnMissingField(componentName: string, data: Datum[] | undefined, accessorName: string, accessorValue: DatumValue): void;
|
|
43
44
|
/** Warn if data looks like the wrong shape for this chart type */
|
|
44
|
-
export declare function warnDataShape(componentName: string, data:
|
|
45
|
+
export declare function warnDataShape(componentName: string, data: Array<Datum | string | number | boolean | null | undefined> | undefined, expectedKeys: string[], hint: string): void;
|
|
45
46
|
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BigNumberFormat, BigNumberTarget } from "./types";
|
|
2
|
+
export interface TargetPresentation {
|
|
3
|
+
label: string | undefined;
|
|
4
|
+
percent: string | null;
|
|
5
|
+
formattedValue: string;
|
|
6
|
+
text: string;
|
|
7
|
+
}
|
|
8
|
+
interface UseTargetPresentationOptions {
|
|
9
|
+
target: BigNumberTarget | undefined;
|
|
10
|
+
value: number | null | undefined;
|
|
11
|
+
format: BigNumberFormat | undefined;
|
|
12
|
+
locale: string | undefined;
|
|
13
|
+
currency: string | undefined;
|
|
14
|
+
precision: number | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Format a finite target once for both visible chrome and the accessible
|
|
18
|
+
* sentence. Invalid target values are omitted rather than announcing NaN or
|
|
19
|
+
* infinity.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useTargetPresentation({ target, value, format, locale, currency, precision }: UseTargetPresentationOptions): TargetPresentation | null;
|
|
22
|
+
export {};
|
|
@@ -70,7 +70,7 @@ export interface BigNumberThreshold {
|
|
|
70
70
|
level: BigNumberLevel;
|
|
71
71
|
/** Explicit colour override; otherwise `var(--semiotic-{level})`. */
|
|
72
72
|
color?: string;
|
|
73
|
-
/** Optional label
|
|
73
|
+
/** Optional label appended to the generated ARIA sentence. */
|
|
74
74
|
label?: string;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
@@ -252,11 +252,10 @@ export interface BigNumberProps<_TDatum extends Datum = Datum> {
|
|
|
252
252
|
* full-width and stacks the chart at full card width under the delta
|
|
253
253
|
* row. */
|
|
254
254
|
trendSlot?: BigNumberSlot;
|
|
255
|
-
/** **Square** chart
|
|
256
|
-
* `PieChart` / `Scatterplot` / `Treemap`.
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* (square chart on the right, wide trend along the bottom). */
|
|
255
|
+
/** **Square** chart anchored as a top-right card decoration — e.g. a
|
|
256
|
+
* `DonutChart` / `PieChart` / `Scatterplot` / `Treemap`. The header
|
|
257
|
+
* reserves its corner; choose `chartSize` to leave room for large values
|
|
258
|
+
* or compose with `trendSlot` for a wide chart along the bottom. */
|
|
260
259
|
chartSlot?: BigNumberSlot;
|
|
261
260
|
/** Reserved pixel size (square) for `chartSlot`. Defaults are
|
|
262
261
|
* mode-keyed for sparkline scale — 44 px for `tile`, 80 px for
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
import type { ForecastConfig, AnomalyConfig } from "../shared/statisticalOverlays";
|
|
9
10
|
export interface SemanticGradientStop {
|
|
10
11
|
/** Percent from baseline to line/top. 0 = baseline, 100 = line/top. */
|
|
@@ -65,6 +66,13 @@ export interface AreaChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
65
66
|
* @default "category10"
|
|
66
67
|
*/
|
|
67
68
|
colorScheme?: string | string[] | Record<string, string>;
|
|
69
|
+
/**
|
|
70
|
+
* Declarative, threshold-aware area styling. Ordered `{ when, style }`
|
|
71
|
+
* rules; last applicable rule wins. Per-SERIES (resolves against the series'
|
|
72
|
+
* sample datum). A rule `fill` may be a color or a HatchFill — hatch an
|
|
73
|
+
* "uncertain"/"projected" series. Layers over the resolved series color.
|
|
74
|
+
*/
|
|
75
|
+
styleRules?: StyleRule[];
|
|
68
76
|
/**
|
|
69
77
|
* Curve interpolation type
|
|
70
78
|
* @default "monotoneX"
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
import { type RegressionProp } from "../shared/regressionUtils";
|
|
9
10
|
/**
|
|
10
11
|
* BubbleChart component props
|
|
@@ -56,6 +57,14 @@ export interface BubbleChartProps<TDatum extends Datum = Datum> extends BaseChar
|
|
|
56
57
|
* @default "category10"
|
|
57
58
|
*/
|
|
58
59
|
colorScheme?: string | string[] | Record<string, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Declarative, threshold-aware bubble styling. Ordered `{ when, style }`
|
|
62
|
+
* rules; last applicable rule wins per property. `when` accepts a predicate
|
|
63
|
+
* (`ctx` = `{ value, x, y, size, category }`), a declarative threshold
|
|
64
|
+
* (`{ axis: "x"|"y", gt, … }`), or `true`. A rule's `fill` may be a color or
|
|
65
|
+
* a HatchFill. Layers over the resolved base color.
|
|
66
|
+
*/
|
|
67
|
+
styleRules?: StyleRule[];
|
|
59
68
|
/**
|
|
60
69
|
* Bubble opacity
|
|
61
70
|
* @default 0.6
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { BaseChartProps, AxisConfig, 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
|
import { type RegressionProp } from "../shared/regressionUtils";
|
|
9
10
|
import type { ForecastConfig, AnomalyConfig } from "../shared/statisticalOverlays";
|
|
10
11
|
/**
|
|
@@ -25,6 +26,12 @@ export interface ConnectedScatterplotProps<TDatum extends Datum = Datum> extends
|
|
|
25
26
|
orderAccessor?: string | ((d: TDatum) => number | Date);
|
|
26
27
|
/** Label for the ordering metric in tooltips @default "Order" or the accessor field name */
|
|
27
28
|
orderLabel?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Declarative, threshold-aware point styling (see Scatterplot). Ordered
|
|
31
|
+
* `{ when, style }` rules; last applicable rule wins. Layers over the
|
|
32
|
+
* order-derived base fill.
|
|
33
|
+
*/
|
|
34
|
+
styleRules?: StyleRule[];
|
|
28
35
|
/** Point radius @default 4 */
|
|
29
36
|
pointRadius?: number;
|
|
30
37
|
/** Enable hover annotations @default true */
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
export { computeDifferenceSegments } from "./differenceSegments";
|
|
8
9
|
/**
|
|
9
10
|
* DifferenceChart props
|
|
10
11
|
*/
|
|
@@ -75,57 +76,6 @@ export interface DifferenceChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
75
76
|
/** Pass-through StreamXYFrame props. */
|
|
76
77
|
frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size">>;
|
|
77
78
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Crossover-segmented record used by the area pipeline. One row per
|
|
80
|
-
* vertex along either the upper or lower boundary; `__diffSegment` is a
|
|
81
|
-
* group key per segment so the area scene builder produces one polygon
|
|
82
|
-
* per id with the correct fill color.
|
|
83
|
-
*/
|
|
84
|
-
interface SegmentRow {
|
|
85
|
-
__x: number;
|
|
86
|
-
/** Upper boundary y value (max of A, B). The area pipeline reads this. */
|
|
87
|
-
__y: number;
|
|
88
|
-
/** Lower boundary y value (min of A, B) — picked up as per-datum y0. */
|
|
89
|
-
__y0: number;
|
|
90
|
-
/** Segment id. Format: `"seg-<index>-<winner>"`. */
|
|
91
|
-
__diffSegment: string;
|
|
92
|
-
/** Which series is on top in this segment ("A" or "B"). Drives fill. */
|
|
93
|
-
__diffWinner: "A" | "B";
|
|
94
|
-
/** Original A value at this x (or interpolated at crossovers). */
|
|
95
|
-
__valA: number;
|
|
96
|
-
/** Original B value at this x (or interpolated at crossovers). */
|
|
97
|
-
__valB: number;
|
|
98
|
-
/** Original datum (for tooltip lookup at non-crossover vertices). */
|
|
99
|
-
__sourceDatum?: Datum;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Walk sorted data, splitting at each A↔B crossover. Inserts an
|
|
103
|
-
* interpolated vertex on BOTH sides of every crossover so adjacent
|
|
104
|
-
* segments meet at a zero-width point (no jagged edges).
|
|
105
|
-
*
|
|
106
|
-
* Non-finite rows are skipped; the algorithm tracks the most recent
|
|
107
|
-
* VALID non-tie row (not the index neighbor) for crossover detection,
|
|
108
|
-
* so a non-finite gap doesn't drop a crossover that straddles it.
|
|
109
|
-
*
|
|
110
|
-
* Tie rows (a === b) are handled distinctly from non-tie rows:
|
|
111
|
-
*
|
|
112
|
-
* - When a tie row sits BETWEEN two non-tie rows with the SAME
|
|
113
|
-
* winner, the tie is emitted in that winner's segment as a
|
|
114
|
-
* zero-width vertex.
|
|
115
|
-
* - When a tie row sits between non-tie rows with DIFFERENT winners,
|
|
116
|
-
* the FIRST tie of the run becomes the crossover vertex. The old
|
|
117
|
-
* segment closes at the tie's x, the new segment opens at the same
|
|
118
|
-
* point, and any subsequent tie rows (multi-tie runs) carry into
|
|
119
|
-
* the new segment as zero-width vertices.
|
|
120
|
-
*
|
|
121
|
-
* This preserves the data's actual zero-difference point: if the user
|
|
122
|
-
* supplied a tie row explicitly, the fill switches color exactly at
|
|
123
|
-
* that x rather than at a linear-interpolated x that ignored the tie.
|
|
124
|
-
*
|
|
125
|
-
* Exported for direct unit-testing — the area pipeline depends on the
|
|
126
|
-
* exact crossover-vertex shape produced here.
|
|
127
|
-
*/
|
|
128
|
-
export declare function computeDifferenceSegments<TDatum extends Datum>(raw: TDatum[], getX: (d: TDatum) => number, getA: (d: TDatum) => number, getB: (d: TDatum) => number): SegmentRow[];
|
|
129
79
|
/**
|
|
130
80
|
* DifferenceChart — fills the area between two series with a color
|
|
131
81
|
* that switches based on which series is higher at each x. Crossover
|
|
@@ -169,4 +119,3 @@ export declare const DifferenceChart: {
|
|
|
169
119
|
<TDatum extends Datum = Datum>(props: DifferenceChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
|
|
170
120
|
displayName?: string;
|
|
171
121
|
};
|
|
172
|
-
export {};
|
|
@@ -43,7 +43,7 @@ export interface HeatmapProps<TDatum extends Datum = Datum> extends BaseChartPro
|
|
|
43
43
|
/**
|
|
44
44
|
* Format function for x-axis tick labels
|
|
45
45
|
*/
|
|
46
|
-
xFormat?: (d:
|
|
46
|
+
xFormat?: (d: string | number | Date, index?: number, allTicks?: number[]) => string;
|
|
47
47
|
/**
|
|
48
48
|
* Format function for y-axis tick labels
|
|
49
49
|
*/
|
|
@@ -64,7 +64,7 @@ export interface HeatmapProps<TDatum extends Datum = Datum> extends BaseChartPro
|
|
|
64
64
|
* customColorScale={scaleSequential(interpolatePlasma).domain([0, 100])}
|
|
65
65
|
* ```
|
|
66
66
|
*/
|
|
67
|
-
customColorScale?:
|
|
67
|
+
customColorScale?: (value: number) => string;
|
|
68
68
|
/**
|
|
69
69
|
* Show values in cells
|
|
70
70
|
* @default false
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { LegendInteractionMode } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
import type { AnomalyConfig, ForecastConfig } from "../shared/statisticalOverlays";
|
|
9
10
|
/**
|
|
10
11
|
* LineChart component props
|
|
@@ -74,6 +75,16 @@ export interface LineChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
74
75
|
* @default "category10"
|
|
75
76
|
*/
|
|
76
77
|
colorScheme?: string | string[] | Record<string, string>;
|
|
78
|
+
/**
|
|
79
|
+
* Declarative, threshold-aware line styling. Ordered `{ when, style }`
|
|
80
|
+
* rules; last applicable rule wins per property. NOTE: line styles resolve
|
|
81
|
+
* per-SERIES against the series' first data point, so a rule's `ctx.x`/`ctx.y`
|
|
82
|
+
* reflect that sample, not every vertex (use it to recolor a whole series by
|
|
83
|
+
* a representative value). `when` accepts a predicate, a threshold
|
|
84
|
+
* (`{ axis: "x"|"y", … }`), or `true`. A rule `stroke`/`fill` may be a color
|
|
85
|
+
* or a HatchFill. Layers over the resolved series color.
|
|
86
|
+
*/
|
|
87
|
+
styleRules?: StyleRule[];
|
|
77
88
|
/**
|
|
78
89
|
* Curve interpolation type
|
|
79
90
|
* @default "linear"
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { BaseChartProps, AxisConfig, 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
|
* Quadrant label and color configuration
|
|
10
11
|
*/
|
|
@@ -70,6 +71,12 @@ export interface QuadrantChartProps<TDatum extends Datum = Datum> extends BaseCh
|
|
|
70
71
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
71
72
|
/** Color scheme for categorical data @default "category10" */
|
|
72
73
|
colorScheme?: string | string[] | Record<string, string>;
|
|
74
|
+
/**
|
|
75
|
+
* Declarative, threshold-aware point styling (see Scatterplot). Ordered
|
|
76
|
+
* `{ when, style }` rules; last applicable rule wins. Layers over the
|
|
77
|
+
* quadrant-derived base fill; `frameProps.pointStyle` still overrides.
|
|
78
|
+
*/
|
|
79
|
+
styleRules?: StyleRule[];
|
|
73
80
|
/** Field name or function to determine point size */
|
|
74
81
|
sizeBy?: ChartAccessor<TDatum, number>;
|
|
75
82
|
/** Min and max radius for points @default [3, 15] */
|
|
@@ -6,6 +6,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
8
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
9
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
9
10
|
import { type RegressionProp } from "../shared/regressionUtils";
|
|
10
11
|
import type { ForecastConfig, AnomalyConfig } from "../shared/statisticalOverlays";
|
|
11
12
|
/**
|
|
@@ -26,6 +27,15 @@ export interface ScatterplotProps<TDatum extends Datum = Datum> extends BaseChar
|
|
|
26
27
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
27
28
|
/** Color scheme for categorical data or custom colors array @default "category10" */
|
|
28
29
|
colorScheme?: string | string[] | Record<string, string>;
|
|
30
|
+
/**
|
|
31
|
+
* Declarative, threshold-aware point styling. Ordered `{ when, style }`
|
|
32
|
+
* rules; the last applicable rule wins per property. `when` accepts a
|
|
33
|
+
* predicate `(datum, ctx) => boolean` (`ctx` = `{ value, x, y, category }`),
|
|
34
|
+
* a declarative threshold (`{ axis: "x"|"y", gt, lte, within, in, … }` —
|
|
35
|
+
* target either axis regardless of accessor field name), or `true`. A rule's
|
|
36
|
+
* `fill` may be a color or a HatchFill. Layers over the resolved base color.
|
|
37
|
+
*/
|
|
38
|
+
styleRules?: StyleRule[];
|
|
29
39
|
/** Field name or function to determine point size */
|
|
30
40
|
sizeBy?: ChartAccessor<TDatum, number>;
|
|
31
41
|
/** Min and max radius for points @default [3, 15] */
|
|
@@ -5,6 +5,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
|
5
5
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
8
9
|
/**
|
|
9
10
|
* StackedAreaChart component props
|
|
10
11
|
*/
|
|
@@ -56,6 +57,12 @@ export interface StackedAreaChartProps<TDatum extends Datum = Datum> extends Bas
|
|
|
56
57
|
* @default "category10"
|
|
57
58
|
*/
|
|
58
59
|
colorScheme?: string | string[] | Record<string, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Declarative, threshold-aware styling for the stacked series. Ordered
|
|
62
|
+
* `{ when, style }` rules; last applicable rule wins. Per-SERIES. A rule
|
|
63
|
+
* `fill` may be a color or a HatchFill. Layers over the resolved series color.
|
|
64
|
+
*/
|
|
65
|
+
styleRules?: StyleRule[];
|
|
59
66
|
/**
|
|
60
67
|
* Curve interpolation type
|
|
61
68
|
* @default "monotoneX"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Datum } from "../shared/datumTypes";
|
|
2
|
+
/**
|
|
3
|
+
* Crossover-segmented record used by the area pipeline. One row per
|
|
4
|
+
* vertex along either the upper or lower boundary; `__diffSegment` is a
|
|
5
|
+
* group key per segment so the area scene builder produces one polygon
|
|
6
|
+
* per id with the correct fill color.
|
|
7
|
+
*/
|
|
8
|
+
export interface SegmentRow {
|
|
9
|
+
__x: number;
|
|
10
|
+
/** Upper boundary y value (max of A, B). The area pipeline reads this. */
|
|
11
|
+
__y: number;
|
|
12
|
+
/** Lower boundary y value (min of A, B) — picked up as per-datum y0. */
|
|
13
|
+
__y0: number;
|
|
14
|
+
/** Segment id. Format: `"seg-<index>-<winner>"`. */
|
|
15
|
+
__diffSegment: string;
|
|
16
|
+
/** Which series is on top in this segment ("A" or "B"). Drives fill. */
|
|
17
|
+
__diffWinner: "A" | "B";
|
|
18
|
+
/** Original A value at this x (or interpolated at crossovers). */
|
|
19
|
+
__valA: number;
|
|
20
|
+
/** Original B value at this x (or interpolated at crossovers). */
|
|
21
|
+
__valB: number;
|
|
22
|
+
/** Original datum (for tooltip lookup at non-crossover vertices). */
|
|
23
|
+
__sourceDatum?: Datum;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Walk sorted data, splitting at each A↔B crossover. Inserts an
|
|
27
|
+
* interpolated vertex on BOTH sides of every crossover so adjacent
|
|
28
|
+
* segments meet at a zero-width point (no jagged edges).
|
|
29
|
+
*
|
|
30
|
+
* Non-finite rows are skipped; the algorithm tracks the most recent
|
|
31
|
+
* VALID non-tie row (not the index neighbor) for crossover detection,
|
|
32
|
+
* so a non-finite gap doesn't drop a crossover that straddles it.
|
|
33
|
+
*
|
|
34
|
+
* Tie rows (a === b) are handled distinctly from non-tie rows:
|
|
35
|
+
*
|
|
36
|
+
* - When a tie row sits BETWEEN two non-tie rows with the SAME
|
|
37
|
+
* winner, the tie is emitted in that winner's segment as a
|
|
38
|
+
* zero-width vertex.
|
|
39
|
+
* - When a tie row sits between non-tie rows with DIFFERENT winners,
|
|
40
|
+
* the FIRST tie of the run becomes the crossover vertex. The old
|
|
41
|
+
* segment closes at the tie's x, the new segment opens at the same
|
|
42
|
+
* point, and any subsequent tie rows (multi-tie runs) carry into
|
|
43
|
+
* the new segment as zero-width vertices.
|
|
44
|
+
*
|
|
45
|
+
* This preserves the data's actual zero-difference point: if the user
|
|
46
|
+
* supplied a tie row explicitly, the fill switches color exactly at
|
|
47
|
+
* that x rather than at a linear-interpolated x that ignored the tie.
|
|
48
|
+
*/
|
|
49
|
+
export declare function computeDifferenceSegments<TDatum extends Datum>(raw: TDatum[], getX: (d: TDatum) => number, getA: (d: TDatum) => number, getB: (d: TDatum) => number): SegmentRow[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { D3BrushEvent } from "d3-brush";
|
|
2
|
+
import type { Datum } from "../shared/datumTypes";
|
|
3
|
+
export interface ScatterplotMatrixHoverInfo {
|
|
4
|
+
datum: Datum;
|
|
5
|
+
xField: string;
|
|
6
|
+
yField: string;
|
|
7
|
+
colIndex: number;
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
px: number;
|
|
10
|
+
py: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function isTwoDimensionalBrushSelection(selection: D3BrushEvent<Datum>["selection"]): selection is [[number, number], [number, number]];
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type SentenceFilterPrimitive = string | number | boolean | null;
|
|
3
|
+
export type SentenceFilterValue = SentenceFilterPrimitive | string[] | number[] | [number, number];
|
|
4
|
+
export interface SentenceFilterOption<T = SentenceFilterPrimitive> {
|
|
5
|
+
value: T;
|
|
6
|
+
label: React.ReactNode;
|
|
7
|
+
description?: React.ReactNode;
|
|
8
|
+
count?: number;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
keywords?: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface SentenceFilterBaseDefinition<T = SentenceFilterValue> {
|
|
13
|
+
label: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
allowClear?: boolean;
|
|
17
|
+
emptyLabel?: React.ReactNode;
|
|
18
|
+
accent?: string;
|
|
19
|
+
formatValue?: (value: T, filters: Record<string, SentenceFilterValue>) => React.ReactNode;
|
|
20
|
+
getAccessibleValue?: (value: T, filters: Record<string, SentenceFilterValue>) => string;
|
|
21
|
+
}
|
|
22
|
+
export interface SentenceFilterSelectDefinition extends SentenceFilterBaseDefinition {
|
|
23
|
+
type: "select";
|
|
24
|
+
options: SentenceFilterOption[];
|
|
25
|
+
searchable?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface SentenceFilterMultiSelectDefinition extends SentenceFilterBaseDefinition {
|
|
28
|
+
type: "multiselect";
|
|
29
|
+
options: SentenceFilterOption[];
|
|
30
|
+
searchable?: boolean;
|
|
31
|
+
conjunction?: "and" | "or";
|
|
32
|
+
}
|
|
33
|
+
export interface SentenceFilterNumberDefinition extends SentenceFilterBaseDefinition<number> {
|
|
34
|
+
type: "number";
|
|
35
|
+
min?: number;
|
|
36
|
+
max?: number;
|
|
37
|
+
step?: number;
|
|
38
|
+
inputMode?: "input" | "slider" | "both";
|
|
39
|
+
}
|
|
40
|
+
export interface SentenceFilterRangeDefinition extends SentenceFilterBaseDefinition<[number, number]> {
|
|
41
|
+
type: "range";
|
|
42
|
+
min: number;
|
|
43
|
+
max: number;
|
|
44
|
+
step?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface SentenceFilterToggleDefinition extends SentenceFilterBaseDefinition<boolean> {
|
|
47
|
+
type: "toggle";
|
|
48
|
+
trueLabel?: React.ReactNode;
|
|
49
|
+
falseLabel?: React.ReactNode;
|
|
50
|
+
}
|
|
51
|
+
export interface SentenceFilterTextDefinition extends SentenceFilterBaseDefinition<string> {
|
|
52
|
+
type: "text";
|
|
53
|
+
suggestions?: SentenceFilterOption<string>[];
|
|
54
|
+
placeholder?: string;
|
|
55
|
+
}
|
|
56
|
+
export type SentenceFilterDefinition = SentenceFilterSelectDefinition | SentenceFilterMultiSelectDefinition | SentenceFilterNumberDefinition | SentenceFilterRangeDefinition | SentenceFilterToggleDefinition | SentenceFilterTextDefinition;
|
|
57
|
+
export interface SentenceFilterChangeMeta {
|
|
58
|
+
key: string;
|
|
59
|
+
previousValue: SentenceFilterValue;
|
|
60
|
+
value: SentenceFilterValue;
|
|
61
|
+
source: "pointer" | "keyboard" | "input" | "clear" | "programmatic";
|
|
62
|
+
}
|
|
63
|
+
export interface SentenceFilterRenderContext {
|
|
64
|
+
key: string;
|
|
65
|
+
value: SentenceFilterValue;
|
|
66
|
+
filters: Record<string, SentenceFilterValue>;
|
|
67
|
+
definition: SentenceFilterDefinition;
|
|
68
|
+
setValue: (value: SentenceFilterValue, source?: SentenceFilterChangeMeta["source"]) => void;
|
|
69
|
+
close: () => void;
|
|
70
|
+
}
|
|
71
|
+
export interface SentenceFilterProps {
|
|
72
|
+
sentence: string;
|
|
73
|
+
/** Controlled filter values. */
|
|
74
|
+
filters?: Record<string, SentenceFilterValue>;
|
|
75
|
+
/** Initial values for the optional uncontrolled form. */
|
|
76
|
+
defaultFilters?: Record<string, SentenceFilterValue>;
|
|
77
|
+
definitions: Record<string, SentenceFilterDefinition>;
|
|
78
|
+
onChange?: (filters: Record<string, SentenceFilterValue>, meta: SentenceFilterChangeMeta) => void;
|
|
79
|
+
as?: React.ElementType;
|
|
80
|
+
className?: string;
|
|
81
|
+
style?: React.CSSProperties;
|
|
82
|
+
size?: "small" | "medium" | "large" | "inherit";
|
|
83
|
+
align?: "start" | "center" | "end";
|
|
84
|
+
wrap?: boolean;
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
readOnly?: boolean;
|
|
87
|
+
ariaLabel?: string;
|
|
88
|
+
id?: string;
|
|
89
|
+
renderControl?: (context: SentenceFilterRenderContext) => React.ReactNode;
|
|
90
|
+
onOpenChange?: (key: string | null) => void;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* An editorial, natural-language filter control. Values are native inline
|
|
94
|
+
* buttons and their editors open in an accessible non-modal dialog.
|
|
95
|
+
*/
|
|
96
|
+
export declare function SentenceFilter({ sentence, filters: controlledFilters, defaultFilters, definitions, onChange, as: As, className, style, size, align, wrap, disabled, readOnly, ariaLabel, id, renderControl, onOpenChange, }: SentenceFilterProps): React.ReactElement;
|
|
97
|
+
export default SentenceFilter;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
1
2
|
/**
|
|
2
3
|
* Vega-Lite to Semiotic translator.
|
|
3
4
|
* Converts a Vega-Lite spec into a Semiotic ChartConfig.
|
|
@@ -13,26 +14,25 @@ export interface VegaLiteEncoding {
|
|
|
13
14
|
aggregate?: string;
|
|
14
15
|
scale?: {
|
|
15
16
|
scheme?: string;
|
|
16
|
-
range?:
|
|
17
|
-
domain?:
|
|
17
|
+
range?: Array<string | number>;
|
|
18
|
+
domain?: Array<string | number | boolean | Date>;
|
|
18
19
|
};
|
|
19
20
|
axis?: {
|
|
20
21
|
title?: string;
|
|
21
22
|
labelAngle?: number;
|
|
22
23
|
};
|
|
23
|
-
value?:
|
|
24
|
+
value?: string | number | boolean | null;
|
|
24
25
|
bin?: boolean | {
|
|
25
26
|
maxbins?: number;
|
|
26
27
|
};
|
|
27
28
|
stack?: boolean | string | null;
|
|
28
29
|
}
|
|
29
30
|
export interface VegaLiteSpec {
|
|
30
|
-
mark: string | {
|
|
31
|
+
mark: string | ({
|
|
31
32
|
type: string;
|
|
32
|
-
|
|
33
|
-
};
|
|
33
|
+
} & Datum);
|
|
34
34
|
data?: {
|
|
35
|
-
values?:
|
|
35
|
+
values?: Datum[];
|
|
36
36
|
url?: string;
|
|
37
37
|
};
|
|
38
38
|
encoding?: Record<string, VegaLiteEncoding>;
|
|
@@ -41,8 +41,18 @@ export interface VegaLiteSpec {
|
|
|
41
41
|
title?: string | {
|
|
42
42
|
text: string;
|
|
43
43
|
};
|
|
44
|
-
transform?:
|
|
45
|
-
[
|
|
44
|
+
transform?: Datum[];
|
|
45
|
+
layer?: VegaLiteSpec[];
|
|
46
|
+
hconcat?: VegaLiteSpec[];
|
|
47
|
+
vconcat?: VegaLiteSpec[];
|
|
48
|
+
concat?: VegaLiteSpec[];
|
|
49
|
+
facet?: Datum;
|
|
50
|
+
repeat?: Datum | string[];
|
|
51
|
+
params?: Datum[];
|
|
52
|
+
selection?: Datum;
|
|
53
|
+
usermeta?: Datum & {
|
|
54
|
+
idid?: Datum;
|
|
55
|
+
};
|
|
46
56
|
}
|
|
47
57
|
/** Strictness for the typed, experimental Vega-Lite import result. */
|
|
48
58
|
export interface FromVegaLiteOptions {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SceneDatum, SceneRenderBackend, Style } from "../stream/types";
|
|
2
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
3
|
+
type RoughSceneNode = Datum & {
|
|
4
|
+
type?: string;
|
|
5
|
+
style?: Style;
|
|
6
|
+
datum?: SceneDatum;
|
|
7
|
+
};
|
|
8
|
+
export interface RoughRenderModeOptions {
|
|
9
|
+
/** Base seed. Each scene identity derives a stable non-zero Rough.js seed. @default 1 */
|
|
10
|
+
seed?: number;
|
|
11
|
+
roughness?: number;
|
|
12
|
+
bowing?: number;
|
|
13
|
+
maxRandomnessOffset?: number;
|
|
14
|
+
curveFitting?: number;
|
|
15
|
+
curveTightness?: number;
|
|
16
|
+
curveStepCount?: number;
|
|
17
|
+
fillStyle?: "hachure" | "solid" | "zigzag" | "cross-hatch" | "dots" | "dashed" | "zigzag-line";
|
|
18
|
+
fillWeight?: number;
|
|
19
|
+
hachureAngle?: number;
|
|
20
|
+
hachureGap?: number;
|
|
21
|
+
dashOffset?: number;
|
|
22
|
+
dashGap?: number;
|
|
23
|
+
zigzagOffset?: number;
|
|
24
|
+
disableMultiStroke?: boolean;
|
|
25
|
+
disableMultiStrokeFill?: boolean;
|
|
26
|
+
preserveVertices?: boolean;
|
|
27
|
+
simplification?: number;
|
|
28
|
+
fixedDecimalPlaceDigits?: number;
|
|
29
|
+
/** Maximum reusable drawables retained by this mode instance. @default 1000 */
|
|
30
|
+
cacheSize?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface RoughRenderMode extends SceneRenderBackend<RoughSceneNode> {
|
|
33
|
+
readonly id: "roughjs";
|
|
34
|
+
readonly seed: number;
|
|
35
|
+
readonly cacheEntries: number;
|
|
36
|
+
clearCache(): void;
|
|
37
|
+
}
|
|
38
|
+
/** Deterministic FNV-1a seed helper suitable for Rough.js's non-zero seed range. */
|
|
39
|
+
export declare function stableRoughSeed(value: unknown): number;
|
|
40
|
+
/**
|
|
41
|
+
* Create an explicit optional Rough.js scene backend. Keep one instance (for
|
|
42
|
+
* example with `useMemo`) so its deterministic drawables can be reused across
|
|
43
|
+
* hover, selection, and Canvas repaints.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createRoughRenderMode(options?: RoughRenderModeOptions): RoughRenderMode;
|
|
46
|
+
export {};
|
|
@@ -172,6 +172,8 @@ export { enableConversationArc, disableConversationArc, getConversationArcStore,
|
|
|
172
172
|
export type { ConversationArcEvent, ConversationArcEventType, ConversationArcEventInput, ConversationArcStore, ConversationArcListener, ConversationArcSink, ConversationArcStorageLike, EnableConversationArcOptions, LoadConversationArcOptions, LocalStorageConversationArcSinkOptions, IndexedDBConversationArcSinkOptions, ConversationArcWebhookFetch, WebhookConversationArcSinkOptions, SuggestionShownEvent, SuggestionChosenEvent, AudienceSetEvent, ChartRenderedEvent, ChartEditedEvent, ChartReplacedEvent, ChartExportedEvent, ChartAbandonedEvent, InterrogationAskedEvent, InterrogationAnsweredEvent, NavNodeFocusedEvent, NavBranchExpandedEvent, AnnotationStatusChangedEvent } from "./ai/conversationArc";
|
|
173
173
|
export { useChartObserver } from "./store/useObservation";
|
|
174
174
|
export type { UseChartObserverOptions, UseChartObserverResult } from "./store/useObservation";
|
|
175
|
-
export type { ChartObservation, OnObservationCallback, HoverObservation, HoverEndObservation, BrushObservation, BrushEndObservation, SelectionObservation, SelectionEndObservation, ClickObservation, ClickEndObservation } from "./store/ObservationStore";
|
|
175
|
+
export type { ChartObservation, OnObservationCallback, HoverObservation, HoverEndObservation, BrushObservation, BrushEndObservation, SelectionObservation, SelectionEndObservation, ClickObservation, ClickEndObservation, ObservationInputType, FocusObservation, ActivateObservation, AnnotationActivateObservation } from "./store/ObservationStore";
|
|
176
|
+
export { annotationStableId } from "./charts/shared/annotationActivation";
|
|
177
|
+
export type { ChartAnnotation, AnnotationActivationEvent, OnAnnotationActivateCallback } from "./charts/shared/annotationActivation";
|
|
176
178
|
export { MobileAnnotationCalloutList } from "./MobileAnnotationCalloutList";
|
|
177
179
|
export type { MobileAnnotationCalloutListProps } from "./MobileAnnotationCalloutList";
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { DirectManipulationControl, } from "./DirectManipulationControl";
|
|
10
10
|
export type { DirectManipulationControlProps, } from "./DirectManipulationControl";
|
|
11
|
+
export { SentenceFilter } from "./controls/SentenceFilter";
|
|
12
|
+
export type { SentenceFilterBaseDefinition, SentenceFilterChangeMeta, SentenceFilterDefinition, SentenceFilterMultiSelectDefinition, SentenceFilterNumberDefinition, SentenceFilterOption, SentenceFilterPrimitive, SentenceFilterProps, SentenceFilterRangeDefinition, SentenceFilterRenderContext, SentenceFilterSelectDefinition, SentenceFilterTextDefinition, SentenceFilterToggleDefinition, SentenceFilterValue, } from "./controls/SentenceFilter";
|
|
11
13
|
export { createControlObservationAdapter, VISUALIZATION_CONTROL_TYPES, } from "./controls/controlContract";
|
|
12
14
|
export type { ControlInputSource, ControlObservation, ControlObservationAdapterOptions, ControlObservationCallback, ControlObservationPhase, VisualizationControlDefinition, VisualizationControlType, VisualizationControlValue, } from "./controls/controlContract";
|
|
13
15
|
export { auditVisualizationControls } from "./controls/controlAudit";
|
|
@@ -29,3 +29,7 @@ export type { ProportionalSymbolMapProps } from "./charts/geo/ProportionalSymbol
|
|
|
29
29
|
export type { FlowMapProps } from "./charts/geo/FlowMap";
|
|
30
30
|
export type { DistanceCartogramProps } from "./charts/geo/DistanceCartogram";
|
|
31
31
|
export type { GeoCustomChartProps } from "./charts/custom/GeoCustomChart";
|
|
32
|
+
export { resolveStyleRules, matchesThreshold, ruleMatches, makeRuleValueResolver, makeNodeRuleContext, composeStyleRules } from "./charts/shared/styleRules";
|
|
33
|
+
export type { StyleRule, StyleRuleStyle, StyleRuleThreshold, StyleRuleContext, StyleRulePredicate } from "./charts/shared/styleRules";
|
|
34
|
+
export { isHatchFill, hatchPatternDef, resolveSvgFill, hatchFillId } from "./charts/shared/hatchFill";
|
|
35
|
+
export type { HatchFill } from "./charts/shared/hatchFill";
|
|
@@ -39,3 +39,7 @@ export type { NetworkCustomChartProps } from "./charts/custom/NetworkCustomChart
|
|
|
39
39
|
export type { NetworkCustomLayout, NetworkLayoutContext, NetworkLayoutResult, NetworkHtmlMark, } from "./stream/networkCustomLayout";
|
|
40
40
|
export { validateProcessSankey, formatProcessSankeyIssue, } from "./charts/network/processSankey/algorithm";
|
|
41
41
|
export type { ProcessSankeyNode as ProcessSankeyValidatorNode, ProcessSankeyEdge as ProcessSankeyValidatorEdge, ProcessSankeyIssue, } from "./charts/network/processSankey/algorithm";
|
|
42
|
+
export { resolveStyleRules, matchesThreshold, ruleMatches, makeRuleValueResolver, makeNodeRuleContext, composeStyleRules } from "./charts/shared/styleRules";
|
|
43
|
+
export type { StyleRule, StyleRuleStyle, StyleRuleThreshold, StyleRuleContext, StyleRulePredicate } from "./charts/shared/styleRules";
|
|
44
|
+
export { isHatchFill, hatchPatternDef, resolveSvgFill, hatchFillId } from "./charts/shared/hatchFill";
|
|
45
|
+
export type { HatchFill } from "./charts/shared/hatchFill";
|