nirs4all-ui 0.1.12 → 0.1.13
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/README.md +39 -1
- package/assets/brands/README.md +28 -8
- package/assets/brands/dag-ml/favicon.ico +0 -0
- package/assets/brands/dag-ml/horizontal-dark.svg +5 -0
- package/assets/brands/dag-ml/horizontal.png +0 -0
- package/assets/brands/dag-ml/horizontal.svg +5 -0
- package/assets/brands/dag-ml/icon-180.png +0 -0
- package/assets/brands/dag-ml/icon-256.png +0 -0
- package/assets/brands/dag-ml/icon-32.png +0 -0
- package/assets/brands/dag-ml/icon-512.png +0 -0
- package/assets/brands/dag-ml/icon.svg +3 -0
- package/assets/brands/dag-ml/og.png +0 -0
- package/assets/brands/dag-ml/stacked-dark.svg +5 -0
- package/assets/brands/dag-ml/stacked.png +0 -0
- package/assets/brands/dag-ml/stacked.svg +5 -0
- package/assets/brands/dag-ml-data/favicon.ico +0 -0
- package/assets/brands/dag-ml-data/horizontal-dark.svg +6 -0
- package/assets/brands/dag-ml-data/horizontal.png +0 -0
- package/assets/brands/dag-ml-data/horizontal.svg +6 -0
- package/assets/brands/dag-ml-data/icon-180.png +0 -0
- package/assets/brands/dag-ml-data/icon-256.png +0 -0
- package/assets/brands/dag-ml-data/icon-32.png +0 -0
- package/assets/brands/dag-ml-data/icon-512.png +0 -0
- package/assets/brands/dag-ml-data/icon.svg +3 -0
- package/assets/brands/dag-ml-data/og.png +0 -0
- package/assets/brands/dag-ml-data/stacked-dark.svg +6 -0
- package/assets/brands/dag-ml-data/stacked.png +0 -0
- package/assets/brands/dag-ml-data/stacked.svg +6 -0
- package/assets/brands/nirs4all/favicon.ico +0 -0
- package/assets/brands/nirs4all/horizontal-dark.svg +36 -0
- package/assets/brands/nirs4all/horizontal.png +0 -0
- package/assets/brands/nirs4all/horizontal.svg +35 -11
- package/assets/brands/nirs4all/icon-180.png +0 -0
- package/assets/brands/nirs4all/icon-256.png +0 -0
- package/assets/brands/nirs4all/icon-32.png +0 -0
- package/assets/brands/nirs4all/icon-512.png +0 -0
- package/assets/brands/nirs4all/icon.svg +32 -7
- package/assets/brands/nirs4all/og.png +0 -0
- package/assets/brands/nirs4all/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all/stacked.png +0 -0
- package/assets/brands/nirs4all/stacked.svg +35 -11
- package/assets/brands/nirs4all-benchmarks/favicon.ico +0 -0
- package/assets/brands/nirs4all-benchmarks/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-benchmarks/horizontal.png +0 -0
- package/assets/brands/nirs4all-benchmarks/horizontal.svg +37 -0
- package/assets/brands/nirs4all-benchmarks/icon-180.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-256.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-32.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon-512.png +0 -0
- package/assets/brands/nirs4all-benchmarks/icon.svg +33 -0
- package/assets/brands/nirs4all-benchmarks/og.png +0 -0
- package/assets/brands/nirs4all-benchmarks/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-benchmarks/stacked.png +0 -0
- package/assets/brands/nirs4all-benchmarks/stacked.svg +36 -0
- package/assets/brands/nirs4all-cluster/favicon.ico +0 -0
- package/assets/brands/nirs4all-cluster/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-cluster/horizontal.png +0 -0
- package/assets/brands/nirs4all-cluster/horizontal.svg +37 -0
- package/assets/brands/nirs4all-cluster/icon-180.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-256.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-32.png +0 -0
- package/assets/brands/nirs4all-cluster/icon-512.png +0 -0
- package/assets/brands/nirs4all-cluster/icon.svg +33 -0
- package/assets/brands/nirs4all-cluster/og.png +0 -0
- package/assets/brands/nirs4all-cluster/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-cluster/stacked.png +0 -0
- package/assets/brands/nirs4all-cluster/stacked.svg +36 -0
- package/assets/brands/nirs4all-core/favicon.ico +0 -0
- package/assets/brands/nirs4all-core/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-core/horizontal.png +0 -0
- package/assets/brands/nirs4all-core/horizontal.svg +36 -11
- package/assets/brands/nirs4all-core/icon-180.png +0 -0
- package/assets/brands/nirs4all-core/icon-256.png +0 -0
- package/assets/brands/nirs4all-core/icon-32.png +0 -0
- package/assets/brands/nirs4all-core/icon-512.png +0 -0
- package/assets/brands/nirs4all-core/icon.svg +32 -7
- package/assets/brands/nirs4all-core/og.png +0 -0
- package/assets/brands/nirs4all-core/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-core/stacked.png +0 -0
- package/assets/brands/nirs4all-core/stacked.svg +35 -11
- package/assets/brands/nirs4all-datasets/favicon.ico +0 -0
- package/assets/brands/nirs4all-datasets/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-datasets/horizontal.png +0 -0
- package/assets/brands/nirs4all-datasets/horizontal.svg +37 -0
- package/assets/brands/nirs4all-datasets/icon-180.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-256.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-32.png +0 -0
- package/assets/brands/nirs4all-datasets/icon-512.png +0 -0
- package/assets/brands/nirs4all-datasets/icon.svg +33 -0
- package/assets/brands/nirs4all-datasets/og.png +0 -0
- package/assets/brands/nirs4all-datasets/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-datasets/stacked.png +0 -0
- package/assets/brands/nirs4all-datasets/stacked.svg +36 -0
- package/assets/brands/nirs4all-device/favicon.ico +0 -0
- package/assets/brands/nirs4all-device/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-device/horizontal.png +0 -0
- package/assets/brands/nirs4all-device/horizontal.svg +37 -0
- package/assets/brands/nirs4all-device/icon-180.png +0 -0
- package/assets/brands/nirs4all-device/icon-256.png +0 -0
- package/assets/brands/nirs4all-device/icon-32.png +0 -0
- package/assets/brands/nirs4all-device/icon-512.png +0 -0
- package/assets/brands/nirs4all-device/icon.svg +33 -0
- package/assets/brands/nirs4all-device/og.png +0 -0
- package/assets/brands/nirs4all-device/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-device/stacked.png +0 -0
- package/assets/brands/nirs4all-device/stacked.svg +36 -0
- package/assets/brands/nirs4all-formats/favicon.ico +0 -0
- package/assets/brands/nirs4all-formats/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-formats/horizontal.png +0 -0
- package/assets/brands/nirs4all-formats/horizontal.svg +37 -0
- package/assets/brands/nirs4all-formats/icon-180.png +0 -0
- package/assets/brands/nirs4all-formats/icon-256.png +0 -0
- package/assets/brands/nirs4all-formats/icon-32.png +0 -0
- package/assets/brands/nirs4all-formats/icon-512.png +0 -0
- package/assets/brands/nirs4all-formats/icon.svg +33 -0
- package/assets/brands/nirs4all-formats/og.png +0 -0
- package/assets/brands/nirs4all-formats/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-formats/stacked.png +0 -0
- package/assets/brands/nirs4all-formats/stacked.svg +36 -0
- package/assets/brands/nirs4all-io/favicon.ico +0 -0
- package/assets/brands/nirs4all-io/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-io/horizontal.png +0 -0
- package/assets/brands/nirs4all-io/horizontal.svg +37 -0
- package/assets/brands/nirs4all-io/icon-180.png +0 -0
- package/assets/brands/nirs4all-io/icon-256.png +0 -0
- package/assets/brands/nirs4all-io/icon-32.png +0 -0
- package/assets/brands/nirs4all-io/icon-512.png +0 -0
- package/assets/brands/nirs4all-io/icon.svg +33 -0
- package/assets/brands/nirs4all-io/og.png +0 -0
- package/assets/brands/nirs4all-io/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-io/stacked.png +0 -0
- package/assets/brands/nirs4all-io/stacked.svg +36 -0
- package/assets/brands/nirs4all-methods/favicon.ico +0 -0
- package/assets/brands/nirs4all-methods/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-methods/horizontal.png +0 -0
- package/assets/brands/nirs4all-methods/horizontal.svg +37 -0
- package/assets/brands/nirs4all-methods/icon-180.png +0 -0
- package/assets/brands/nirs4all-methods/icon-256.png +0 -0
- package/assets/brands/nirs4all-methods/icon-32.png +0 -0
- package/assets/brands/nirs4all-methods/icon-512.png +0 -0
- package/assets/brands/nirs4all-methods/icon.svg +33 -0
- package/assets/brands/nirs4all-methods/og.png +0 -0
- package/assets/brands/nirs4all-methods/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-methods/stacked.png +0 -0
- package/assets/brands/nirs4all-methods/stacked.svg +36 -0
- package/assets/brands/nirs4all-papers/favicon.ico +0 -0
- package/assets/brands/nirs4all-papers/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-papers/horizontal.png +0 -0
- package/assets/brands/nirs4all-papers/horizontal.svg +37 -0
- package/assets/brands/nirs4all-papers/icon-180.png +0 -0
- package/assets/brands/nirs4all-papers/icon-256.png +0 -0
- package/assets/brands/nirs4all-papers/icon-32.png +0 -0
- package/assets/brands/nirs4all-papers/icon-512.png +0 -0
- package/assets/brands/nirs4all-papers/icon.svg +33 -0
- package/assets/brands/nirs4all-papers/og.png +0 -0
- package/assets/brands/nirs4all-papers/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-papers/stacked.png +0 -0
- package/assets/brands/nirs4all-papers/stacked.svg +36 -0
- package/assets/brands/nirs4all-providers/favicon.ico +0 -0
- package/assets/brands/nirs4all-providers/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-providers/horizontal.png +0 -0
- package/assets/brands/nirs4all-providers/horizontal.svg +36 -11
- package/assets/brands/nirs4all-providers/icon-180.png +0 -0
- package/assets/brands/nirs4all-providers/icon-256.png +0 -0
- package/assets/brands/nirs4all-providers/icon-32.png +0 -0
- package/assets/brands/nirs4all-providers/icon-512.png +0 -0
- package/assets/brands/nirs4all-providers/icon.svg +32 -7
- package/assets/brands/nirs4all-providers/og.png +0 -0
- package/assets/brands/nirs4all-providers/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-providers/stacked.png +0 -0
- package/assets/brands/nirs4all-providers/stacked.svg +35 -11
- package/assets/brands/nirs4all-quality/favicon.ico +0 -0
- package/assets/brands/nirs4all-quality/horizontal-dark.svg +36 -0
- package/assets/brands/nirs4all-quality/horizontal.svg +35 -11
- package/assets/brands/nirs4all-quality/icon-180.png +0 -0
- package/assets/brands/nirs4all-quality/icon-256.png +0 -0
- package/assets/brands/nirs4all-quality/icon-32.png +0 -0
- package/assets/brands/nirs4all-quality/icon-512.png +0 -0
- package/assets/brands/nirs4all-quality/icon.svg +32 -7
- package/assets/brands/nirs4all-quality/og.png +0 -0
- package/assets/brands/nirs4all-quality/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-quality/stacked.svg +35 -11
- package/assets/brands/nirs4all-repository/favicon.ico +0 -0
- package/assets/brands/nirs4all-repository/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-repository/horizontal.png +0 -0
- package/assets/brands/nirs4all-repository/horizontal.svg +37 -0
- package/assets/brands/nirs4all-repository/icon-180.png +0 -0
- package/assets/brands/nirs4all-repository/icon-256.png +0 -0
- package/assets/brands/nirs4all-repository/icon-32.png +0 -0
- package/assets/brands/nirs4all-repository/icon-512.png +0 -0
- package/assets/brands/nirs4all-repository/icon.svg +33 -0
- package/assets/brands/nirs4all-repository/og.png +0 -0
- package/assets/brands/nirs4all-repository/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-repository/stacked.png +0 -0
- package/assets/brands/nirs4all-repository/stacked.svg +36 -0
- package/assets/brands/nirs4all-studio/favicon.ico +0 -0
- package/assets/brands/nirs4all-studio/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-studio/horizontal.png +0 -0
- package/assets/brands/nirs4all-studio/horizontal.svg +37 -0
- package/assets/brands/nirs4all-studio/icon-180.png +0 -0
- package/assets/brands/nirs4all-studio/icon-256.png +0 -0
- package/assets/brands/nirs4all-studio/icon-32.png +0 -0
- package/assets/brands/nirs4all-studio/icon-512.png +0 -0
- package/assets/brands/nirs4all-studio/icon.svg +33 -0
- package/assets/brands/nirs4all-studio/og.png +0 -0
- package/assets/brands/nirs4all-studio/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-studio/stacked.png +0 -0
- package/assets/brands/nirs4all-studio/stacked.svg +36 -0
- package/assets/brands/nirs4all-tools/favicon.ico +0 -0
- package/assets/brands/nirs4all-tools/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-tools/horizontal.png +0 -0
- package/assets/brands/nirs4all-tools/horizontal.svg +37 -0
- package/assets/brands/nirs4all-tools/icon-180.png +0 -0
- package/assets/brands/nirs4all-tools/icon-256.png +0 -0
- package/assets/brands/nirs4all-tools/icon-32.png +0 -0
- package/assets/brands/nirs4all-tools/icon-512.png +0 -0
- package/assets/brands/nirs4all-tools/icon.svg +33 -0
- package/assets/brands/nirs4all-tools/og.png +0 -0
- package/assets/brands/nirs4all-tools/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-tools/stacked.png +0 -0
- package/assets/brands/nirs4all-tools/stacked.svg +36 -0
- package/assets/brands/nirs4all-ui/favicon.ico +0 -0
- package/assets/brands/nirs4all-ui/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-ui/horizontal.png +0 -0
- package/assets/brands/nirs4all-ui/horizontal.svg +36 -11
- package/assets/brands/nirs4all-ui/icon-180.png +0 -0
- package/assets/brands/nirs4all-ui/icon-256.png +0 -0
- package/assets/brands/nirs4all-ui/icon-32.png +0 -0
- package/assets/brands/nirs4all-ui/icon-512.png +0 -0
- package/assets/brands/nirs4all-ui/icon.svg +32 -7
- package/assets/brands/nirs4all-ui/og.png +0 -0
- package/assets/brands/nirs4all-ui/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-ui/stacked.png +0 -0
- package/assets/brands/nirs4all-ui/stacked.svg +35 -11
- package/assets/brands/nirs4all-web/favicon.ico +0 -0
- package/assets/brands/nirs4all-web/horizontal-dark.svg +37 -0
- package/assets/brands/nirs4all-web/horizontal.png +0 -0
- package/assets/brands/nirs4all-web/horizontal.svg +37 -0
- package/assets/brands/nirs4all-web/icon-180.png +0 -0
- package/assets/brands/nirs4all-web/icon-256.png +0 -0
- package/assets/brands/nirs4all-web/icon-32.png +0 -0
- package/assets/brands/nirs4all-web/icon-512.png +0 -0
- package/assets/brands/nirs4all-web/icon.svg +33 -0
- package/assets/brands/nirs4all-web/og.png +0 -0
- package/assets/brands/nirs4all-web/stacked-dark.svg +36 -0
- package/assets/brands/nirs4all-web/stacked.png +0 -0
- package/assets/brands/nirs4all-web/stacked.svg +36 -0
- package/assets/chains.css +601 -0
- package/assets/conformal.css +323 -0
- package/assets/dag.css +446 -0
- package/assets/motion/nirs-spectra.svg +26 -9
- package/assets/viz.css +152 -0
- package/dist/brand/index.d.ts +24 -126
- package/dist/brand/index.d.ts.map +1 -1
- package/dist/brand/index.js +52 -200
- package/dist/brand/index.js.map +1 -1
- package/dist/chains/ChainExplorer.d.ts +34 -0
- package/dist/chains/ChainExplorer.d.ts.map +1 -0
- package/dist/chains/ChainExplorer.js +119 -0
- package/dist/chains/ChainExplorer.js.map +1 -0
- package/dist/chains/ChainNodeHub.d.ts +31 -0
- package/dist/chains/ChainNodeHub.d.ts.map +1 -0
- package/dist/chains/ChainNodeHub.js +150 -0
- package/dist/chains/ChainNodeHub.js.map +1 -0
- package/dist/chains/ChainNodeOrbit.d.ts +31 -0
- package/dist/chains/ChainNodeOrbit.d.ts.map +1 -0
- package/dist/chains/ChainNodeOrbit.js +158 -0
- package/dist/chains/ChainNodeOrbit.js.map +1 -0
- package/dist/chains/ChainScoreBeeswarm.d.ts +25 -0
- package/dist/chains/ChainScoreBeeswarm.d.ts.map +1 -0
- package/dist/chains/ChainScoreBeeswarm.js +84 -0
- package/dist/chains/ChainScoreBeeswarm.js.map +1 -0
- package/dist/chains/NodeEffectForest.d.ts +33 -0
- package/dist/chains/NodeEffectForest.d.ts.map +1 -0
- package/dist/chains/NodeEffectForest.js +85 -0
- package/dist/chains/NodeEffectForest.js.map +1 -0
- package/dist/chains/PositionEffectHeatmap.d.ts +25 -0
- package/dist/chains/PositionEffectHeatmap.d.ts.map +1 -0
- package/dist/chains/PositionEffectHeatmap.js +77 -0
- package/dist/chains/PositionEffectHeatmap.js.map +1 -0
- package/dist/chains/SequenceEffectHeatmap.d.ts +22 -0
- package/dist/chains/SequenceEffectHeatmap.d.ts.map +1 -0
- package/dist/chains/SequenceEffectHeatmap.js +74 -0
- package/dist/chains/SequenceEffectHeatmap.js.map +1 -0
- package/dist/chains/_cx.d.ts +2 -0
- package/dist/chains/_cx.d.ts.map +1 -0
- package/dist/chains/_cx.js +8 -0
- package/dist/chains/_cx.js.map +1 -0
- package/dist/chains/analysis.d.ts +100 -0
- package/dist/chains/analysis.d.ts.map +1 -0
- package/dist/chains/analysis.js +440 -0
- package/dist/chains/analysis.js.map +1 -0
- package/dist/chains/colors.d.ts +26 -0
- package/dist/chains/colors.d.ts.map +1 -0
- package/dist/chains/colors.js +58 -0
- package/dist/chains/colors.js.map +1 -0
- package/dist/chains/contract.d.ts +54 -0
- package/dist/chains/contract.d.ts.map +1 -0
- package/dist/chains/contract.js +125 -0
- package/dist/chains/contract.js.map +1 -0
- package/dist/chains/index.d.ts +35 -0
- package/dist/chains/index.d.ts.map +1 -0
- package/dist/chains/index.js +41 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains/normalize.d.ts +27 -0
- package/dist/chains/normalize.d.ts.map +1 -0
- package/dist/chains/normalize.js +104 -0
- package/dist/chains/normalize.js.map +1 -0
- package/dist/chains/radial.d.ts +21 -0
- package/dist/chains/radial.d.ts.map +1 -0
- package/dist/chains/radial.js +52 -0
- package/dist/chains/radial.js.map +1 -0
- package/dist/chains/types.d.ts +240 -0
- package/dist/chains/types.d.ts.map +1 -0
- package/dist/chains/types.js +52 -0
- package/dist/chains/types.js.map +1 -0
- package/dist/components/ConformalPredictionTree.d.ts +79 -0
- package/dist/components/ConformalPredictionTree.d.ts.map +1 -0
- package/dist/components/ConformalPredictionTree.js +223 -0
- package/dist/components/ConformalPredictionTree.js.map +1 -0
- package/dist/components/DatasetResultCard.d.ts +33 -0
- package/dist/components/DatasetResultCard.d.ts.map +1 -0
- package/dist/components/DatasetResultCard.js +9 -0
- package/dist/components/DatasetResultCard.js.map +1 -0
- package/dist/components/PerClassTable.d.ts +27 -0
- package/dist/components/PerClassTable.d.ts.map +1 -0
- package/dist/components/PerClassTable.js +9 -0
- package/dist/components/PerClassTable.js.map +1 -0
- package/dist/components/PredictionCard.d.ts +27 -0
- package/dist/components/PredictionCard.d.ts.map +1 -0
- package/dist/components/PredictionCard.js +6 -0
- package/dist/components/PredictionCard.js.map +1 -0
- package/dist/components/RankingsTable.d.ts +28 -0
- package/dist/components/RankingsTable.d.ts.map +1 -0
- package/dist/components/RankingsTable.js +14 -0
- package/dist/components/RankingsTable.js.map +1 -0
- package/dist/components/ScoreCardTree.d.ts +31 -0
- package/dist/components/ScoreCardTree.d.ts.map +1 -0
- package/dist/components/ScoreCardTree.js +17 -0
- package/dist/components/ScoreCardTree.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -1
- package/dist/conformal/index.d.ts +2 -0
- package/dist/conformal/index.d.ts.map +1 -0
- package/dist/conformal/index.js +2 -0
- package/dist/conformal/index.js.map +1 -0
- package/dist/conformal/result.d.ts +224 -0
- package/dist/conformal/result.d.ts.map +1 -0
- package/dist/conformal/result.js +461 -0
- package/dist/conformal/result.js.map +1 -0
- package/dist/dag/DagGraphView.d.ts +35 -0
- package/dist/dag/DagGraphView.d.ts.map +1 -0
- package/dist/dag/DagGraphView.js +424 -0
- package/dist/dag/DagGraphView.js.map +1 -0
- package/dist/dag/_cx.d.ts +2 -0
- package/dist/dag/_cx.d.ts.map +1 -0
- package/dist/dag/_cx.js +8 -0
- package/dist/dag/_cx.js.map +1 -0
- package/dist/dag/collapse.d.ts +81 -0
- package/dist/dag/collapse.d.ts.map +1 -0
- package/dist/dag/collapse.js +210 -0
- package/dist/dag/collapse.js.map +1 -0
- package/dist/dag/colors.d.ts +19 -0
- package/dist/dag/colors.d.ts.map +1 -0
- package/dist/dag/colors.js +54 -0
- package/dist/dag/colors.js.map +1 -0
- package/dist/dag/fromCompiledGraph.d.ts +27 -0
- package/dist/dag/fromCompiledGraph.d.ts.map +1 -0
- package/dist/dag/fromCompiledGraph.js +133 -0
- package/dist/dag/fromCompiledGraph.js.map +1 -0
- package/dist/dag/hierarchy.d.ts +38 -0
- package/dist/dag/hierarchy.d.ts.map +1 -0
- package/dist/dag/hierarchy.js +75 -0
- package/dist/dag/hierarchy.js.map +1 -0
- package/dist/dag/index.d.ts +28 -0
- package/dist/dag/index.d.ts.map +1 -0
- package/dist/dag/index.js +33 -0
- package/dist/dag/index.js.map +1 -0
- package/dist/dag/layout.d.ts +57 -0
- package/dist/dag/layout.d.ts.map +1 -0
- package/dist/dag/layout.js +267 -0
- package/dist/dag/layout.js.map +1 -0
- package/dist/dag/locale.d.ts +31 -0
- package/dist/dag/locale.d.ts.map +1 -0
- package/dist/dag/locale.js +32 -0
- package/dist/dag/locale.js.map +1 -0
- package/dist/dag/shape.d.ts +48 -0
- package/dist/dag/shape.d.ts.map +1 -0
- package/dist/dag/shape.js +263 -0
- package/dist/dag/shape.js.map +1 -0
- package/dist/dag/types.d.ts +106 -0
- package/dist/dag/types.d.ts.map +1 -0
- package/dist/dag/types.js +56 -0
- package/dist/dag/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/keywordRegistry/index.d.ts +9 -0
- package/dist/keywordRegistry/index.d.ts.map +1 -0
- package/dist/keywordRegistry/index.js +9 -0
- package/dist/keywordRegistry/index.js.map +1 -0
- package/dist/keywordRegistry/registry.d.ts +107 -0
- package/dist/keywordRegistry/registry.d.ts.map +1 -0
- package/dist/keywordRegistry/registry.js +234 -0
- package/dist/keywordRegistry/registry.js.map +1 -0
- package/dist/robustness/index.d.ts +12 -0
- package/dist/robustness/index.d.ts.map +1 -0
- package/dist/robustness/index.js +12 -0
- package/dist/robustness/index.js.map +1 -0
- package/dist/robustness/modes.d.ts +15 -0
- package/dist/robustness/modes.d.ts.map +1 -0
- package/dist/robustness/modes.js +64 -0
- package/dist/robustness/modes.js.map +1 -0
- package/dist/robustness/scenarios.d.ts +38 -0
- package/dist/robustness/scenarios.d.ts.map +1 -0
- package/dist/robustness/scenarios.js +159 -0
- package/dist/robustness/scenarios.js.map +1 -0
- package/dist/robustness/summary.d.ts +135 -0
- package/dist/robustness/summary.d.ts.map +1 -0
- package/dist/robustness/summary.js +284 -0
- package/dist/robustness/summary.js.map +1 -0
- package/dist/styles/index.d.ts +19 -1
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +21 -0
- package/dist/styles/index.js.map +1 -1
- package/dist/tuning/index.d.ts +3 -0
- package/dist/tuning/index.d.ts.map +1 -0
- package/dist/tuning/index.js +3 -0
- package/dist/tuning/index.js.map +1 -0
- package/dist/tuning/result.d.ts +144 -0
- package/dist/tuning/result.d.ts.map +1 -0
- package/dist/tuning/result.js +277 -0
- package/dist/tuning/result.js.map +1 -0
- package/dist/tuning/searchSpace.d.ts +54 -0
- package/dist/tuning/searchSpace.d.ts.map +1 -0
- package/dist/tuning/searchSpace.js +118 -0
- package/dist/tuning/searchSpace.js.map +1 -0
- package/dist/viz/BiasVarianceBars.d.ts +27 -0
- package/dist/viz/BiasVarianceBars.d.ts.map +1 -0
- package/dist/viz/BiasVarianceBars.js +53 -0
- package/dist/viz/BiasVarianceBars.js.map +1 -0
- package/dist/viz/BoxPlot.d.ts +24 -0
- package/dist/viz/BoxPlot.d.ts.map +1 -0
- package/dist/viz/BoxPlot.js +50 -0
- package/dist/viz/BoxPlot.js.map +1 -0
- package/dist/viz/ConformalIntervalStrip.d.ts +66 -0
- package/dist/viz/ConformalIntervalStrip.d.ts.map +1 -0
- package/dist/viz/ConformalIntervalStrip.js +167 -0
- package/dist/viz/ConformalIntervalStrip.js.map +1 -0
- package/dist/viz/ConfusionMatrix.d.ts +24 -0
- package/dist/viz/ConfusionMatrix.d.ts.map +1 -0
- package/dist/viz/ConfusionMatrix.js +39 -0
- package/dist/viz/ConfusionMatrix.js.map +1 -0
- package/dist/viz/FeatureImportanceBar.d.ts +26 -0
- package/dist/viz/FeatureImportanceBar.d.ts.map +1 -0
- package/dist/viz/FeatureImportanceBar.js +49 -0
- package/dist/viz/FeatureImportanceBar.js.map +1 -0
- package/dist/viz/FoldStabilityLines.d.ts +29 -0
- package/dist/viz/FoldStabilityLines.d.ts.map +1 -0
- package/dist/viz/FoldStabilityLines.js +57 -0
- package/dist/viz/FoldStabilityLines.js.map +1 -0
- package/dist/viz/Histogram.d.ts +33 -0
- package/dist/viz/Histogram.d.ts.map +1 -0
- package/dist/viz/Histogram.js +64 -0
- package/dist/viz/Histogram.js.map +1 -0
- package/dist/viz/PcaScatter.d.ts +36 -0
- package/dist/viz/PcaScatter.d.ts.map +1 -0
- package/dist/viz/PcaScatter.js +72 -0
- package/dist/viz/PcaScatter.js.map +1 -0
- package/dist/viz/PipelineFlow.d.ts +28 -0
- package/dist/viz/PipelineFlow.d.ts.map +1 -0
- package/dist/viz/PipelineFlow.js +57 -0
- package/dist/viz/PipelineFlow.js.map +1 -0
- package/dist/viz/PredictionScatter.d.ts +41 -0
- package/dist/viz/PredictionScatter.d.ts.map +1 -0
- package/dist/viz/PredictionScatter.js +41 -0
- package/dist/viz/PredictionScatter.js.map +1 -0
- package/dist/viz/ResidualPlot.d.ts +32 -0
- package/dist/viz/ResidualPlot.d.ts.map +1 -0
- package/dist/viz/ResidualPlot.js +58 -0
- package/dist/viz/ResidualPlot.js.map +1 -0
- package/dist/viz/ScoreHeatmap.d.ts +30 -0
- package/dist/viz/ScoreHeatmap.d.ts.map +1 -0
- package/dist/viz/ScoreHeatmap.js +61 -0
- package/dist/viz/ScoreHeatmap.js.map +1 -0
- package/dist/viz/ScoreSummary.d.ts +23 -0
- package/dist/viz/ScoreSummary.d.ts.map +1 -0
- package/dist/viz/ScoreSummary.js +32 -0
- package/dist/viz/ScoreSummary.js.map +1 -0
- package/dist/viz/ShapBeeswarm.d.ts +29 -0
- package/dist/viz/ShapBeeswarm.d.ts.map +1 -0
- package/dist/viz/ShapBeeswarm.js +60 -0
- package/dist/viz/ShapBeeswarm.js.map +1 -0
- package/dist/viz/SpectraPlot.d.ts +50 -0
- package/dist/viz/SpectraPlot.d.ts.map +1 -0
- package/dist/viz/SpectraPlot.js +46 -0
- package/dist/viz/SpectraPlot.js.map +1 -0
- package/dist/viz/WaterfallChart.d.ts +30 -0
- package/dist/viz/WaterfallChart.d.ts.map +1 -0
- package/dist/viz/WaterfallChart.js +73 -0
- package/dist/viz/WaterfallChart.js.map +1 -0
- package/dist/viz/_cx.d.ts +2 -0
- package/dist/viz/_cx.d.ts.map +1 -0
- package/dist/viz/_cx.js +8 -0
- package/dist/viz/_cx.js.map +1 -0
- package/dist/viz/geometry.d.ts +87 -0
- package/dist/viz/geometry.d.ts.map +1 -0
- package/dist/viz/geometry.js +208 -0
- package/dist/viz/geometry.js.map +1 -0
- package/dist/viz/index.d.ts +33 -0
- package/dist/viz/index.d.ts.map +1 -0
- package/dist/viz/index.js +38 -0
- package/dist/viz/index.js.map +1 -0
- package/dist/viz/theme.d.ts +50 -0
- package/dist/viz/theme.d.ts.map +1 -0
- package/dist/viz/theme.js +100 -0
- package/dist/viz/theme.js.map +1 -0
- package/package.json +34 -2
package/assets/dag.css
ADDED
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
/* nirs4all-ui — default styles for the interactive compiled-DAG viewer.
|
|
2
|
+
*
|
|
3
|
+
* The component sets category colors inline as SVG attributes (node cards,
|
|
4
|
+
* accents, minimap dots, emphasized edges); this stylesheet themes everything
|
|
5
|
+
* left to CSS on purpose: chrome, frames, recessive edges, text, and the
|
|
6
|
+
* light/dark surfaces. It reads the shared nirs4all design tokens when present
|
|
7
|
+
* (load `nirs4all-default.css` or `theme.css`) and degrades to hardcoded
|
|
8
|
+
* fallbacks otherwise.
|
|
9
|
+
*
|
|
10
|
+
* Consumed as `nirs4all-ui/assets/dag.css`.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
.n4dag {
|
|
14
|
+
--n4dag-surface: var(--n4-color-surface, #fcfcfb);
|
|
15
|
+
--n4dag-node-bg: var(--n4-color-surface, #ffffff);
|
|
16
|
+
--n4dag-border: var(--n4-color-border, #e2e8f0);
|
|
17
|
+
--n4dag-text: var(--n4-color-text, #0f172a);
|
|
18
|
+
--n4dag-muted: var(--n4-color-muted, #64748b);
|
|
19
|
+
--n4dag-grid: color-mix(in srgb, var(--n4dag-muted) 16%, transparent);
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
gap: 8px;
|
|
23
|
+
font-family: var(--n4-font-sans, "Inter", -apple-system, system-ui, sans-serif);
|
|
24
|
+
color: var(--n4dag-text);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* ---- toolbar ---- */
|
|
28
|
+
.n4dag__toolbar {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
gap: 8px;
|
|
32
|
+
flex-wrap: wrap;
|
|
33
|
+
}
|
|
34
|
+
.n4dag__title {
|
|
35
|
+
font-size: 13px;
|
|
36
|
+
font-weight: 700;
|
|
37
|
+
letter-spacing: -0.01em;
|
|
38
|
+
}
|
|
39
|
+
.n4dag__counts {
|
|
40
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
41
|
+
font-size: 10.5px;
|
|
42
|
+
color: var(--n4dag-muted);
|
|
43
|
+
}
|
|
44
|
+
.n4dag__spacer {
|
|
45
|
+
flex: 1 1 auto;
|
|
46
|
+
}
|
|
47
|
+
.n4dag__group {
|
|
48
|
+
display: inline-flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
gap: 2px;
|
|
51
|
+
padding: 2px;
|
|
52
|
+
border: 1px solid var(--n4dag-border);
|
|
53
|
+
border-radius: 8px;
|
|
54
|
+
background: color-mix(in srgb, var(--n4dag-muted) 5%, transparent);
|
|
55
|
+
}
|
|
56
|
+
.n4dag__depth {
|
|
57
|
+
font-family: var(--n4-font-mono, monospace);
|
|
58
|
+
font-size: 10.5px;
|
|
59
|
+
color: var(--n4dag-muted);
|
|
60
|
+
padding: 0 4px;
|
|
61
|
+
min-width: 52px;
|
|
62
|
+
text-align: center;
|
|
63
|
+
}
|
|
64
|
+
.n4dag__btn {
|
|
65
|
+
appearance: none;
|
|
66
|
+
border: 1px solid transparent;
|
|
67
|
+
background: transparent;
|
|
68
|
+
color: var(--n4dag-text);
|
|
69
|
+
border-radius: 6px;
|
|
70
|
+
min-width: 26px;
|
|
71
|
+
height: 26px;
|
|
72
|
+
padding: 0 7px;
|
|
73
|
+
font-size: 13px;
|
|
74
|
+
line-height: 1;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
transition: background 120ms ease, border-color 120ms ease;
|
|
77
|
+
}
|
|
78
|
+
.n4dag__btn:hover {
|
|
79
|
+
background: color-mix(in srgb, var(--n4-color-primary, #0d9488) 12%, transparent);
|
|
80
|
+
border-color: color-mix(in srgb, var(--n4-color-primary, #0d9488) 40%, transparent);
|
|
81
|
+
}
|
|
82
|
+
.n4dag__btn--text {
|
|
83
|
+
font-size: 11px;
|
|
84
|
+
font-weight: 600;
|
|
85
|
+
border: 1px solid var(--n4dag-border);
|
|
86
|
+
}
|
|
87
|
+
.n4dag__btn--on {
|
|
88
|
+
background: color-mix(in srgb, var(--n4-color-primary, #0d9488) 16%, transparent);
|
|
89
|
+
border-color: color-mix(in srgb, var(--n4-color-primary, #0d9488) 45%, transparent);
|
|
90
|
+
color: var(--n4-color-primary, #0d9488);
|
|
91
|
+
}
|
|
92
|
+
.n4dag__search-input {
|
|
93
|
+
appearance: none;
|
|
94
|
+
height: 26px;
|
|
95
|
+
width: 170px;
|
|
96
|
+
padding: 0 9px;
|
|
97
|
+
font-size: 12px;
|
|
98
|
+
color: var(--n4dag-text);
|
|
99
|
+
background: var(--n4dag-node-bg);
|
|
100
|
+
border: 1px solid var(--n4dag-border);
|
|
101
|
+
border-radius: 8px;
|
|
102
|
+
}
|
|
103
|
+
.n4dag__search-input:focus-visible {
|
|
104
|
+
outline: 2px solid color-mix(in srgb, var(--n4-color-primary, #0d9488) 55%, transparent);
|
|
105
|
+
outline-offset: 1px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* ---- stage ---- */
|
|
109
|
+
.n4dag__stage {
|
|
110
|
+
position: relative;
|
|
111
|
+
width: 100%;
|
|
112
|
+
overflow: hidden;
|
|
113
|
+
border: 1px solid var(--n4dag-border);
|
|
114
|
+
border-radius: 14px;
|
|
115
|
+
background-color: var(--n4dag-surface);
|
|
116
|
+
background-image: radial-gradient(var(--n4dag-grid) 1px, transparent 1px);
|
|
117
|
+
background-size: 22px 22px;
|
|
118
|
+
box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 40%, transparent);
|
|
119
|
+
}
|
|
120
|
+
.n4dag__canvas {
|
|
121
|
+
display: block;
|
|
122
|
+
touch-action: none;
|
|
123
|
+
cursor: grab;
|
|
124
|
+
}
|
|
125
|
+
.n4dag__canvas:active {
|
|
126
|
+
cursor: grabbing;
|
|
127
|
+
}
|
|
128
|
+
.n4dag__empty {
|
|
129
|
+
fill: var(--n4dag-muted);
|
|
130
|
+
font-size: 13px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* ---- cluster frames ---- */
|
|
134
|
+
.n4dag__frame-box {
|
|
135
|
+
fill: color-mix(in srgb, var(--n4dag-muted) 6%, transparent);
|
|
136
|
+
stroke: color-mix(in srgb, var(--n4dag-muted) 40%, transparent);
|
|
137
|
+
stroke-width: 1;
|
|
138
|
+
stroke-dasharray: 4 4;
|
|
139
|
+
}
|
|
140
|
+
.n4dag__frame-header {
|
|
141
|
+
cursor: pointer;
|
|
142
|
+
}
|
|
143
|
+
.n4dag__frame-tab {
|
|
144
|
+
fill: color-mix(in srgb, var(--n4dag-muted) 16%, var(--n4dag-surface));
|
|
145
|
+
stroke: color-mix(in srgb, var(--n4dag-muted) 30%, transparent);
|
|
146
|
+
stroke-width: 1;
|
|
147
|
+
}
|
|
148
|
+
.n4dag__frame-header:hover .n4dag__frame-tab {
|
|
149
|
+
fill: color-mix(in srgb, var(--n4-color-primary, #0d9488) 18%, var(--n4dag-surface));
|
|
150
|
+
}
|
|
151
|
+
.n4dag__frame-label {
|
|
152
|
+
font-size: 10.5px;
|
|
153
|
+
font-weight: 700;
|
|
154
|
+
fill: var(--n4dag-muted);
|
|
155
|
+
letter-spacing: 0.01em;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* ---- edges ---- */
|
|
159
|
+
.n4dag__edge {
|
|
160
|
+
color: color-mix(in srgb, var(--n4dag-muted) 55%, transparent);
|
|
161
|
+
stroke-linecap: round;
|
|
162
|
+
transition: opacity 120ms ease;
|
|
163
|
+
}
|
|
164
|
+
.n4dag__edge--back {
|
|
165
|
+
stroke-dasharray: 5 4;
|
|
166
|
+
}
|
|
167
|
+
.n4dag__edge--dim {
|
|
168
|
+
opacity: 0.12;
|
|
169
|
+
}
|
|
170
|
+
.n4dag__edge--on {
|
|
171
|
+
opacity: 1;
|
|
172
|
+
}
|
|
173
|
+
.n4dag__arrowhead {
|
|
174
|
+
fill: color-mix(in srgb, var(--n4dag-muted) 55%, transparent);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* ---- nodes ---- */
|
|
178
|
+
.n4dag__node {
|
|
179
|
+
cursor: pointer;
|
|
180
|
+
}
|
|
181
|
+
.n4dag__node--dim {
|
|
182
|
+
opacity: 0.3;
|
|
183
|
+
transition: opacity 120ms ease;
|
|
184
|
+
}
|
|
185
|
+
.n4dag__node-lod {
|
|
186
|
+
cursor: pointer;
|
|
187
|
+
}
|
|
188
|
+
.n4dag__node-stack {
|
|
189
|
+
opacity: 0.28;
|
|
190
|
+
}
|
|
191
|
+
.n4dag__node-card {
|
|
192
|
+
transition: stroke-width 100ms ease;
|
|
193
|
+
}
|
|
194
|
+
.n4dag__node--selected .n4dag__node-card {
|
|
195
|
+
filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--n4-color-primary, #0d9488) 30%, transparent));
|
|
196
|
+
}
|
|
197
|
+
.n4dag__node--match .n4dag__node-card {
|
|
198
|
+
stroke-dasharray: 3 2;
|
|
199
|
+
}
|
|
200
|
+
.n4dag__node-label {
|
|
201
|
+
font-size: 12px;
|
|
202
|
+
font-weight: 650;
|
|
203
|
+
fill: var(--n4dag-text);
|
|
204
|
+
pointer-events: none;
|
|
205
|
+
}
|
|
206
|
+
.n4dag__node-sub {
|
|
207
|
+
font-size: 9.5px;
|
|
208
|
+
fill: var(--n4dag-muted);
|
|
209
|
+
pointer-events: none;
|
|
210
|
+
}
|
|
211
|
+
.n4dag__node-expand {
|
|
212
|
+
font-size: 13px;
|
|
213
|
+
font-weight: 700;
|
|
214
|
+
fill: var(--n4dag-muted);
|
|
215
|
+
pointer-events: none;
|
|
216
|
+
}
|
|
217
|
+
.n4dag__node-badge {
|
|
218
|
+
font-family: var(--n4-font-mono, monospace);
|
|
219
|
+
font-size: 10px;
|
|
220
|
+
font-weight: 700;
|
|
221
|
+
fill: var(--n4dag-text);
|
|
222
|
+
pointer-events: none;
|
|
223
|
+
}
|
|
224
|
+
.n4dag__node-shape {
|
|
225
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
226
|
+
font-size: 9.5px;
|
|
227
|
+
font-weight: 600;
|
|
228
|
+
fill: var(--n4dag-muted);
|
|
229
|
+
pointer-events: none;
|
|
230
|
+
}
|
|
231
|
+
.n4dag__node-port {
|
|
232
|
+
stroke: var(--n4dag-node-bg, #ffffff);
|
|
233
|
+
stroke-width: 1.5;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/* ---- shape labels on edges (data leaving a collapsed cluster) ---- */
|
|
237
|
+
.n4dag__edge-shape-bg {
|
|
238
|
+
fill: color-mix(in srgb, var(--n4dag-surface) 90%, transparent);
|
|
239
|
+
stroke: var(--n4dag-border);
|
|
240
|
+
stroke-width: 1;
|
|
241
|
+
}
|
|
242
|
+
.n4dag__edge-shape-text {
|
|
243
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
244
|
+
font-size: 9px;
|
|
245
|
+
font-weight: 600;
|
|
246
|
+
fill: var(--n4dag-muted);
|
|
247
|
+
}
|
|
248
|
+
.n4dag__node-status[data-status="running"] { fill: #d97706; }
|
|
249
|
+
.n4dag__node-status[data-status="done"] { fill: #10b981; }
|
|
250
|
+
.n4dag__node-status[data-status="failed"] { fill: #e11d48; }
|
|
251
|
+
.n4dag__node-status[data-status="skipped"] { fill: #94a3b8; }
|
|
252
|
+
.n4dag__node-status[data-status="idle"] { fill: #cbd5e1; }
|
|
253
|
+
|
|
254
|
+
/* ---- legend ---- */
|
|
255
|
+
.n4dag__legend {
|
|
256
|
+
position: absolute;
|
|
257
|
+
left: 10px;
|
|
258
|
+
top: 10px;
|
|
259
|
+
display: flex;
|
|
260
|
+
flex-wrap: wrap;
|
|
261
|
+
gap: 4px 10px;
|
|
262
|
+
max-width: 62%;
|
|
263
|
+
padding: 7px 9px;
|
|
264
|
+
border: 1px solid var(--n4dag-border);
|
|
265
|
+
border-radius: 10px;
|
|
266
|
+
background: color-mix(in srgb, var(--n4dag-surface) 92%, transparent);
|
|
267
|
+
box-shadow: 0 4px 14px -8px rgba(15, 23, 42, 0.3);
|
|
268
|
+
}
|
|
269
|
+
.n4dag__legend-item {
|
|
270
|
+
display: inline-flex;
|
|
271
|
+
align-items: center;
|
|
272
|
+
gap: 5px;
|
|
273
|
+
font-size: 10px;
|
|
274
|
+
color: var(--n4dag-muted);
|
|
275
|
+
}
|
|
276
|
+
.n4dag__legend-swatch {
|
|
277
|
+
width: 9px;
|
|
278
|
+
height: 9px;
|
|
279
|
+
border-radius: 3px;
|
|
280
|
+
flex: none;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/* ---- minimap ---- */
|
|
284
|
+
.n4dag__minimap {
|
|
285
|
+
position: absolute;
|
|
286
|
+
right: 10px;
|
|
287
|
+
bottom: 10px;
|
|
288
|
+
border: 1px solid var(--n4dag-border);
|
|
289
|
+
border-radius: 8px;
|
|
290
|
+
box-shadow: 0 6px 20px -8px rgba(15, 23, 42, 0.35);
|
|
291
|
+
cursor: crosshair;
|
|
292
|
+
}
|
|
293
|
+
.n4dag__minimap-bg {
|
|
294
|
+
fill: color-mix(in srgb, var(--n4dag-surface) 92%, transparent);
|
|
295
|
+
}
|
|
296
|
+
.n4dag__minimap-view {
|
|
297
|
+
fill: color-mix(in srgb, var(--n4-color-primary, #0d9488) 14%, transparent);
|
|
298
|
+
stroke: var(--n4-color-primary, #0d9488);
|
|
299
|
+
stroke-width: 1;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* ---- inspector ---- */
|
|
303
|
+
.n4dag__inspector {
|
|
304
|
+
position: absolute;
|
|
305
|
+
top: 10px;
|
|
306
|
+
right: 10px;
|
|
307
|
+
width: 268px;
|
|
308
|
+
max-height: calc(100% - 20px);
|
|
309
|
+
overflow: auto;
|
|
310
|
+
padding: 12px 14px;
|
|
311
|
+
border: 1px solid var(--n4dag-border);
|
|
312
|
+
border-radius: 12px;
|
|
313
|
+
background: color-mix(in srgb, var(--n4dag-surface) 97%, transparent);
|
|
314
|
+
box-shadow: 0 10px 30px -12px rgba(15, 23, 42, 0.4);
|
|
315
|
+
}
|
|
316
|
+
.n4dag__inspector-close {
|
|
317
|
+
position: absolute;
|
|
318
|
+
top: 8px;
|
|
319
|
+
right: 8px;
|
|
320
|
+
appearance: none;
|
|
321
|
+
border: none;
|
|
322
|
+
background: transparent;
|
|
323
|
+
font-size: 16px;
|
|
324
|
+
line-height: 1;
|
|
325
|
+
color: var(--n4dag-muted);
|
|
326
|
+
cursor: pointer;
|
|
327
|
+
}
|
|
328
|
+
.n4dag__inspector-head {
|
|
329
|
+
display: flex;
|
|
330
|
+
align-items: center;
|
|
331
|
+
gap: 7px;
|
|
332
|
+
margin-bottom: 8px;
|
|
333
|
+
padding-right: 16px;
|
|
334
|
+
}
|
|
335
|
+
.n4dag__inspector-dot {
|
|
336
|
+
width: 10px;
|
|
337
|
+
height: 10px;
|
|
338
|
+
border-radius: 3px;
|
|
339
|
+
flex: none;
|
|
340
|
+
}
|
|
341
|
+
.n4dag__inspector-title {
|
|
342
|
+
font-size: 12.5px;
|
|
343
|
+
font-weight: 700;
|
|
344
|
+
overflow-wrap: anywhere;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/* ---- inspector: dataset-shape in → out ---- */
|
|
348
|
+
.n4dag__io {
|
|
349
|
+
margin: 0 0 10px;
|
|
350
|
+
padding: 8px 9px;
|
|
351
|
+
border: 1px solid var(--n4dag-border);
|
|
352
|
+
border-radius: 9px;
|
|
353
|
+
background: color-mix(in srgb, var(--n4dag-muted) 5%, transparent);
|
|
354
|
+
display: grid;
|
|
355
|
+
gap: 4px;
|
|
356
|
+
}
|
|
357
|
+
.n4dag__io-title {
|
|
358
|
+
font-size: 9px;
|
|
359
|
+
font-weight: 700;
|
|
360
|
+
letter-spacing: 0.07em;
|
|
361
|
+
text-transform: uppercase;
|
|
362
|
+
color: var(--n4dag-muted);
|
|
363
|
+
}
|
|
364
|
+
.n4dag__io-row {
|
|
365
|
+
display: flex;
|
|
366
|
+
align-items: baseline;
|
|
367
|
+
gap: 6px;
|
|
368
|
+
flex-wrap: wrap;
|
|
369
|
+
}
|
|
370
|
+
.n4dag__io-tag {
|
|
371
|
+
min-width: 24px;
|
|
372
|
+
font-size: 9px;
|
|
373
|
+
font-weight: 700;
|
|
374
|
+
letter-spacing: 0.06em;
|
|
375
|
+
text-transform: uppercase;
|
|
376
|
+
color: var(--n4dag-muted);
|
|
377
|
+
}
|
|
378
|
+
.n4dag__io-row--out .n4dag__io-tag,
|
|
379
|
+
.n4dag__io-row--out .n4dag__io-shape {
|
|
380
|
+
color: var(--n4-color-primary, #0d9488);
|
|
381
|
+
}
|
|
382
|
+
.n4dag__io-shape {
|
|
383
|
+
font-size: 12px;
|
|
384
|
+
font-weight: 700;
|
|
385
|
+
}
|
|
386
|
+
.n4dag__io-rep,
|
|
387
|
+
.n4dag__io-sources {
|
|
388
|
+
font-size: 9.5px;
|
|
389
|
+
color: var(--n4dag-muted);
|
|
390
|
+
}
|
|
391
|
+
.n4dag__io-note {
|
|
392
|
+
font-size: 9px;
|
|
393
|
+
font-weight: 600;
|
|
394
|
+
padding: 0 5px;
|
|
395
|
+
border-radius: 999px;
|
|
396
|
+
color: var(--n4-color-primary, #0d9488);
|
|
397
|
+
background: color-mix(in srgb, var(--n4-color-primary, #0d9488) 12%, transparent);
|
|
398
|
+
}
|
|
399
|
+
.n4dag__io-delta {
|
|
400
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
401
|
+
font-size: 10px;
|
|
402
|
+
color: var(--n4dag-text);
|
|
403
|
+
padding-top: 2px;
|
|
404
|
+
border-top: 1px dashed var(--n4dag-border);
|
|
405
|
+
}
|
|
406
|
+
.n4dag__inspector-dl {
|
|
407
|
+
margin: 0;
|
|
408
|
+
display: grid;
|
|
409
|
+
gap: 6px;
|
|
410
|
+
}
|
|
411
|
+
.n4dag__inspector-dl > div {
|
|
412
|
+
display: grid;
|
|
413
|
+
grid-template-columns: 62px 1fr;
|
|
414
|
+
gap: 8px;
|
|
415
|
+
align-items: baseline;
|
|
416
|
+
}
|
|
417
|
+
.n4dag__inspector-dl dt {
|
|
418
|
+
font-size: 9.5px;
|
|
419
|
+
font-weight: 700;
|
|
420
|
+
letter-spacing: 0.06em;
|
|
421
|
+
text-transform: uppercase;
|
|
422
|
+
color: var(--n4dag-muted);
|
|
423
|
+
}
|
|
424
|
+
.n4dag__inspector-dl dd {
|
|
425
|
+
margin: 0;
|
|
426
|
+
font-size: 11.5px;
|
|
427
|
+
overflow-wrap: anywhere;
|
|
428
|
+
}
|
|
429
|
+
.n4dag__mono {
|
|
430
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
431
|
+
font-size: 11px;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/* ---- standalone dark fallback (when design tokens are not loaded) ---- */
|
|
435
|
+
:root[data-theme="dark"] .n4dag,
|
|
436
|
+
.n4-theme-dark .n4dag {
|
|
437
|
+
--n4dag-surface: var(--n4-color-surface, #17181a);
|
|
438
|
+
--n4dag-node-bg: var(--n4-color-surface, #1f2123);
|
|
439
|
+
--n4dag-border: var(--n4-color-border, rgba(255, 255, 255, 0.14));
|
|
440
|
+
--n4dag-text: var(--n4-color-text, rgba(255, 255, 255, 0.92));
|
|
441
|
+
--n4dag-muted: var(--n4-color-muted, rgba(255, 255, 255, 0.6));
|
|
442
|
+
}
|
|
443
|
+
:root[data-theme="dark"] .n4dag__stage,
|
|
444
|
+
.n4-theme-dark .n4dag__stage {
|
|
445
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
446
|
+
}
|
|
@@ -3,25 +3,42 @@
|
|
|
3
3
|
<defs>
|
|
4
4
|
<linearGradient id="n4-motion-gradient" x1="0" x2="1" y1="0" y2="0">
|
|
5
5
|
<stop offset="0" stop-color="#0f766e"/>
|
|
6
|
-
<stop offset=".
|
|
6
|
+
<stop offset=".5" stop-color="#06b6d4"/>
|
|
7
7
|
<stop offset="1" stop-color="#10b981"/>
|
|
8
8
|
</linearGradient>
|
|
9
|
-
<filter id="n4-motion-glow" x="-
|
|
10
|
-
<feGaussianBlur stdDeviation="
|
|
9
|
+
<filter id="n4-motion-glow" x="-10%" y="-40%" width="120%" height="180%">
|
|
10
|
+
<feGaussianBlur stdDeviation="3.2" result="blur"/>
|
|
11
11
|
<feMerge>
|
|
12
12
|
<feMergeNode in="blur"/>
|
|
13
13
|
<feMergeNode in="SourceGraphic"/>
|
|
14
14
|
</feMerge>
|
|
15
15
|
</filter>
|
|
16
16
|
</defs>
|
|
17
|
+
|
|
17
18
|
<rect width="720" height="180" rx="18" fill="#faf7f0"/>
|
|
18
|
-
<
|
|
19
|
-
<
|
|
19
|
+
<g stroke="#0d9488" stroke-opacity=".08" stroke-width="1">
|
|
20
|
+
<line x1="0" y1="45" x2="720" y2="45"/>
|
|
21
|
+
<line x1="0" y1="90" x2="720" y2="90"/>
|
|
22
|
+
<line x1="0" y1="135" x2="720" y2="135"/>
|
|
23
|
+
</g>
|
|
24
|
+
|
|
25
|
+
<!-- faint reference spectrum -->
|
|
26
|
+
<path d="M24 132 C 96 128 132 96 176 108 S 268 150 330 84 S 452 148 520 112 S 626 58 700 120"
|
|
27
|
+
fill="none" stroke="#4f46e5" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" opacity=".28">
|
|
28
|
+
<animate attributeName="opacity" values=".18;.4;.18" dur="9s" repeatCount="indefinite"/>
|
|
20
29
|
</path>
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
|
|
31
|
+
<!-- primary absorbance spectrum -->
|
|
32
|
+
<path d="M24 138 C 92 134 128 58 176 92 S 262 152 324 66 S 438 150 508 104 S 612 40 700 128"
|
|
33
|
+
fill="none" stroke="url(#n4-motion-gradient)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"
|
|
34
|
+
filter="url(#n4-motion-glow)" stroke-dasharray="26 20">
|
|
35
|
+
<animate attributeName="stroke-dashoffset" values="0;-92" dur="8s" repeatCount="indefinite"/>
|
|
23
36
|
</path>
|
|
24
|
-
|
|
25
|
-
|
|
37
|
+
|
|
38
|
+
<!-- glowing peak dot -->
|
|
39
|
+
<circle r="6" fill="#10b981" filter="url(#n4-motion-glow)">
|
|
40
|
+
<animate attributeName="cx" values="176;324;508;700;508;324;176" dur="12s" repeatCount="indefinite"/>
|
|
41
|
+
<animate attributeName="cy" values="92;66;104;128;104;66;92" dur="12s" repeatCount="indefinite"/>
|
|
42
|
+
<animate attributeName="r" values="5;7;5" dur="3s" repeatCount="indefinite"/>
|
|
26
43
|
</circle>
|
|
27
44
|
</svg>
|
package/assets/viz.css
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/* nirs4all-ui — default styles for the reusable `viz` scientific charts.
|
|
2
|
+
*
|
|
3
|
+
* The chart components set data colors (bars, dots, cells, lines, node cards)
|
|
4
|
+
* inline as SVG attributes; this stylesheet only themes the elements that are
|
|
5
|
+
* left to CSS on purpose: axes, gridlines, connectors, and text. It reads the
|
|
6
|
+
* shared nirs4all design tokens when present (load `nirs4all-default.css` or
|
|
7
|
+
* `theme.css`) and degrades to hardcoded fallbacks otherwise.
|
|
8
|
+
*
|
|
9
|
+
* Consumed as `nirs4all-ui/assets/viz.css`.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
.n4viz {
|
|
13
|
+
display: block;
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: auto;
|
|
16
|
+
overflow: visible;
|
|
17
|
+
font-family: var(--n4-font-sans, "Inter", -apple-system, system-ui, sans-serif);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* structural strokes (never set inline by the components) */
|
|
21
|
+
.n4viz-grid {
|
|
22
|
+
stroke: var(--n4-color-border, #e2e8f0);
|
|
23
|
+
stroke-width: 1;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.n4viz-axis {
|
|
27
|
+
stroke: var(--n4-color-muted, #94a3b8);
|
|
28
|
+
stroke-opacity: 0.55;
|
|
29
|
+
stroke-width: 1;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.n4viz-edge {
|
|
33
|
+
stroke: var(--n4-color-border, #cbd5e1);
|
|
34
|
+
stroke-width: 1.5;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* text roles */
|
|
38
|
+
.n4viz-tick {
|
|
39
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
40
|
+
font-size: 10px;
|
|
41
|
+
fill: var(--n4-color-muted, #64748b);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.n4viz-axis-label {
|
|
45
|
+
font-size: 11px;
|
|
46
|
+
font-weight: 600;
|
|
47
|
+
fill: var(--n4-color-muted, #64748b);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.n4viz-badge {
|
|
51
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
52
|
+
font-size: 11px;
|
|
53
|
+
font-weight: 700;
|
|
54
|
+
fill: var(--n4-color-text, #0f172a);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.n4viz-cell-value {
|
|
58
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
59
|
+
font-size: 11px;
|
|
60
|
+
fill: var(--n4-color-text, #0f172a);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.n4viz-cell-value-strong {
|
|
64
|
+
fill: #ffffff;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.n4viz-legend-label {
|
|
68
|
+
font-size: 10px;
|
|
69
|
+
fill: var(--n4-color-muted, #64748b);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* score-summary tiles */
|
|
73
|
+
.n4viz-stat-label {
|
|
74
|
+
font-size: 9px;
|
|
75
|
+
font-weight: 700;
|
|
76
|
+
letter-spacing: 0.07em;
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
fill: var(--n4-color-muted, #64748b);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.n4viz-stat-value {
|
|
82
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
83
|
+
font-size: 20px;
|
|
84
|
+
font-weight: 700;
|
|
85
|
+
fill: var(--n4-color-text, #0f172a);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.n4viz-stat-delta {
|
|
89
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
90
|
+
font-size: 10px;
|
|
91
|
+
font-weight: 600;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* pipeline node text */
|
|
95
|
+
.n4viz-node-label {
|
|
96
|
+
font-size: 13px;
|
|
97
|
+
font-weight: 650;
|
|
98
|
+
fill: var(--n4-color-text, #0f172a);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.n4viz-node-detail {
|
|
102
|
+
font-size: 10px;
|
|
103
|
+
fill: var(--n4-color-muted, #64748b);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.n4viz-node-metric-value {
|
|
107
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
108
|
+
font-size: 10px;
|
|
109
|
+
font-weight: 700;
|
|
110
|
+
fill: var(--n4-color-text, #0f172a);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.n4viz-line-mean {
|
|
114
|
+
filter: drop-shadow(0 1px 2px rgba(13, 148, 136, 0.35));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* conformal interval strip */
|
|
118
|
+
.n4viz-conf-title {
|
|
119
|
+
font-size: 12.5px;
|
|
120
|
+
font-weight: 700;
|
|
121
|
+
letter-spacing: -0.01em;
|
|
122
|
+
fill: var(--n4-color-text, #0f172a);
|
|
123
|
+
}
|
|
124
|
+
.n4viz-conf-readout {
|
|
125
|
+
font-family: var(--n4-font-mono, "JetBrains Mono", monospace);
|
|
126
|
+
font-size: 10.5px;
|
|
127
|
+
font-weight: 700;
|
|
128
|
+
fill: var(--n4-color-muted, #64748b);
|
|
129
|
+
}
|
|
130
|
+
.n4viz-conf-empty {
|
|
131
|
+
font-size: 12px;
|
|
132
|
+
fill: var(--n4-color-muted, #94a3b8);
|
|
133
|
+
}
|
|
134
|
+
.n4viz-conf-band {
|
|
135
|
+
transition: opacity 120ms ease;
|
|
136
|
+
}
|
|
137
|
+
/* outline the guarantee (target) band so it reads out of the nested stack */
|
|
138
|
+
.n4viz-conf-band--target {
|
|
139
|
+
stroke: color-mix(in srgb, var(--n4-color-text, #0f172a) 26%, transparent);
|
|
140
|
+
stroke-width: 1;
|
|
141
|
+
}
|
|
142
|
+
.n4viz-conf-point {
|
|
143
|
+
stroke-linecap: round;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* standalone dark fallback (when design tokens are not loaded) */
|
|
147
|
+
:root[data-theme="dark"] .n4viz,
|
|
148
|
+
.n4-theme-dark .n4viz {
|
|
149
|
+
--n4-color-border: rgba(255, 255, 255, 0.14);
|
|
150
|
+
--n4-color-muted: rgba(255, 255, 255, 0.62);
|
|
151
|
+
--n4-color-text: rgba(255, 255, 255, 0.92);
|
|
152
|
+
}
|