@neural-charts/native 0.0.0-stage → 0.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -2
- package/THIRD-PARTY-NOTICES.md +15 -0
- package/docs/guide.md +783 -0
- package/library/annular-hit.d.ts +10 -0
- package/library/annular-hit.d.ts.map +1 -0
- package/library/annular-hit.js +43 -0
- package/library/annular-hit.js.map +1 -0
- package/library/chart-capabilities.d.ts +326 -0
- package/library/chart-capabilities.d.ts.map +1 -0
- package/library/chart-capabilities.js +39 -0
- package/library/chart-capabilities.js.map +1 -0
- package/library/circular-scene.d.ts +55 -0
- package/library/circular-scene.d.ts.map +1 -0
- package/library/circular-scene.js +39 -0
- package/library/circular-scene.js.map +1 -0
- package/library/comparison-render.d.ts +18 -0
- package/library/comparison-render.d.ts.map +1 -0
- package/library/comparison-render.js +33 -0
- package/library/comparison-render.js.map +1 -0
- package/library/comparison-scene.d.ts +40 -0
- package/library/comparison-scene.d.ts.map +1 -0
- package/library/comparison-scene.js +77 -0
- package/library/comparison-scene.js.map +1 -0
- package/library/composition-scene.d.ts +35 -0
- package/library/composition-scene.d.ts.map +1 -0
- package/library/composition-scene.js +55 -0
- package/library/composition-scene.js.map +1 -0
- package/library/contour-hit-index.d.ts +15 -0
- package/library/contour-hit-index.d.ts.map +1 -0
- package/library/contour-hit-index.js +75 -0
- package/library/contour-hit-index.js.map +1 -0
- package/library/contour-label-anchors.d.ts +9 -0
- package/library/contour-label-anchors.d.ts.map +1 -0
- package/library/contour-label-anchors.js +20 -0
- package/library/contour-label-anchors.js.map +1 -0
- package/library/contour-scene.d.ts +10 -0
- package/library/contour-scene.d.ts.map +1 -0
- package/library/contour-scene.js +76 -0
- package/library/contour-scene.js.map +1 -0
- package/library/contracts.d.ts +445 -0
- package/library/contracts.d.ts.map +1 -0
- package/library/contracts.js +2 -0
- package/library/contracts.js.map +1 -0
- package/library/dendrogram-scene.d.ts +7 -0
- package/library/dendrogram-scene.d.ts.map +1 -0
- package/library/dendrogram-scene.js +28 -0
- package/library/dendrogram-scene.js.map +1 -0
- package/library/empty-state.d.ts +8 -0
- package/library/empty-state.d.ts.map +1 -0
- package/library/empty-state.js +30 -0
- package/library/empty-state.js.map +1 -0
- package/library/heatmap-hit.d.ts +27 -0
- package/library/heatmap-hit.d.ts.map +1 -0
- package/library/heatmap-hit.js +56 -0
- package/library/heatmap-hit.js.map +1 -0
- package/library/heatmap-scene.d.ts +17 -0
- package/library/heatmap-scene.d.ts.map +1 -0
- package/library/heatmap-scene.js +85 -0
- package/library/heatmap-scene.js.map +1 -0
- package/library/index.d.ts +14 -0
- package/library/index.d.ts.map +1 -0
- package/library/index.js +4 -0
- package/library/index.js.map +1 -0
- package/library/interaction-content.d.ts +4 -0
- package/library/interaction-content.d.ts.map +1 -0
- package/library/interaction-content.js +28 -0
- package/library/interaction-content.js.map +1 -0
- package/library/interaction.d.ts +75 -0
- package/library/interaction.d.ts.map +1 -0
- package/library/interaction.js +523 -0
- package/library/interaction.js.map +1 -0
- package/library/marker-style.d.ts +24 -0
- package/library/marker-style.d.ts.map +1 -0
- package/library/marker-style.js +43 -0
- package/library/marker-style.js.map +1 -0
- package/library/parallel-scene.d.ts +11 -0
- package/library/parallel-scene.d.ts.map +1 -0
- package/library/parallel-scene.js +44 -0
- package/library/parallel-scene.js.map +1 -0
- package/library/path-validation.d.ts +3 -0
- package/library/path-validation.d.ts.map +1 -0
- package/library/path-validation.js +78 -0
- package/library/path-validation.js.map +1 -0
- package/library/pictorial-hit.d.ts +19 -0
- package/library/pictorial-hit.d.ts.map +1 -0
- package/library/pictorial-hit.js +73 -0
- package/library/pictorial-hit.js.map +1 -0
- package/library/pictorial-scene.d.ts +16 -0
- package/library/pictorial-scene.d.ts.map +1 -0
- package/library/pictorial-scene.js +73 -0
- package/library/pictorial-scene.js.map +1 -0
- package/library/point-label-placement.d.ts +34 -0
- package/library/point-label-placement.d.ts.map +1 -0
- package/library/point-label-placement.js +24 -0
- package/library/point-label-placement.js.map +1 -0
- package/library/polar-grid.d.ts +5 -0
- package/library/polar-grid.d.ts.map +1 -0
- package/library/polar-grid.js +28 -0
- package/library/polar-grid.js.map +1 -0
- package/library/polygon-hit.d.ts +18 -0
- package/library/polygon-hit.d.ts.map +1 -0
- package/library/polygon-hit.js +98 -0
- package/library/polygon-hit.js.map +1 -0
- package/library/profile-scene.d.ts +11 -0
- package/library/profile-scene.d.ts.map +1 -0
- package/library/profile-scene.js +51 -0
- package/library/profile-scene.js.map +1 -0
- package/library/relationship-hit-index.d.ts +12 -0
- package/library/relationship-hit-index.d.ts.map +1 -0
- package/library/relationship-hit-index.js +87 -0
- package/library/relationship-hit-index.js.map +1 -0
- package/library/relationship-scene.d.ts +12 -0
- package/library/relationship-scene.d.ts.map +1 -0
- package/library/relationship-scene.js +62 -0
- package/library/relationship-scene.js.map +1 -0
- package/library/scene-paint.d.ts +29 -0
- package/library/scene-paint.d.ts.map +1 -0
- package/library/scene-paint.js +123 -0
- package/library/scene-paint.js.map +1 -0
- package/library/scene-styles.d.ts +13 -0
- package/library/scene-styles.d.ts.map +1 -0
- package/library/scene-styles.js +135 -0
- package/library/scene-styles.js.map +1 -0
- package/library/scene.d.ts +49 -0
- package/library/scene.d.ts.map +1 -0
- package/library/scene.js +533 -0
- package/library/scene.js.map +1 -0
- package/library/temporal-hit-index.d.ts +13 -0
- package/library/temporal-hit-index.d.ts.map +1 -0
- package/library/temporal-hit-index.js +71 -0
- package/library/temporal-hit-index.js.map +1 -0
- package/library/temporal-scene.d.ts +6 -0
- package/library/temporal-scene.d.ts.map +1 -0
- package/library/temporal-scene.js +70 -0
- package/library/temporal-scene.js.map +1 -0
- package/library/tile-index.d.ts +11 -0
- package/library/tile-index.d.ts.map +1 -0
- package/library/tile-index.js +37 -0
- package/library/tile-index.js.map +1 -0
- package/library/tilemap-hit.d.ts +11 -0
- package/library/tilemap-hit.d.ts.map +1 -0
- package/library/tilemap-hit.js +63 -0
- package/library/tilemap-hit.js.map +1 -0
- package/library/tilemap-scene.d.ts +24 -0
- package/library/tilemap-scene.d.ts.map +1 -0
- package/library/tilemap-scene.js +125 -0
- package/library/tilemap-scene.js.map +1 -0
- package/library/uncertainty-scene.d.ts +11 -0
- package/library/uncertainty-scene.d.ts.map +1 -0
- package/library/uncertainty-scene.js +61 -0
- package/library/uncertainty-scene.js.map +1 -0
- package/library/venn-hit.d.ts +21 -0
- package/library/venn-hit.d.ts.map +1 -0
- package/library/venn-hit.js +37 -0
- package/library/venn-hit.js.map +1 -0
- package/library/venn-scene.d.ts +14 -0
- package/library/venn-scene.d.ts.map +1 -0
- package/library/venn-scene.js +84 -0
- package/library/venn-scene.js.map +1 -0
- package/library/wordcloud-scene.d.ts +19 -0
- package/library/wordcloud-scene.d.ts.map +1 -0
- package/library/wordcloud-scene.js +58 -0
- package/library/wordcloud-scene.js.map +1 -0
- package/native/activity.d.ts +14 -0
- package/native/activity.d.ts.map +1 -0
- package/native/activity.js +31 -0
- package/native/activity.js.map +1 -0
- package/native/bar-labels.d.ts +4 -0
- package/native/bar-labels.d.ts.map +1 -0
- package/native/bar-labels.js +16 -0
- package/native/bar-labels.js.map +1 -0
- package/native/bubble-entrance.d.ts +15 -0
- package/native/bubble-entrance.d.ts.map +1 -0
- package/native/bubble-entrance.js +27 -0
- package/native/bubble-entrance.js.map +1 -0
- package/native/chart-drilldown.d.ts +57 -0
- package/native/chart-drilldown.d.ts.map +1 -0
- package/native/chart-drilldown.js +118 -0
- package/native/chart-drilldown.js.map +1 -0
- package/native/chart-motion.d.ts +69 -0
- package/native/chart-motion.d.ts.map +1 -0
- package/native/chart-motion.js +165 -0
- package/native/chart-motion.js.map +1 -0
- package/native/chart-panels-options.d.ts +77 -0
- package/native/chart-panels-options.d.ts.map +1 -0
- package/native/chart-panels-options.js +2 -0
- package/native/chart-panels-options.js.map +1 -0
- package/native/chart-panels-state.d.ts +34 -0
- package/native/chart-panels-state.d.ts.map +1 -0
- package/native/chart-panels-state.js +198 -0
- package/native/chart-panels-state.js.map +1 -0
- package/native/chart-panels.d.ts +43 -0
- package/native/chart-panels.d.ts.map +1 -0
- package/native/chart-panels.js +107 -0
- package/native/chart-panels.js.map +1 -0
- package/native/chart-presentation.d.ts +40 -0
- package/native/chart-presentation.d.ts.map +1 -0
- package/native/chart-presentation.js +16 -0
- package/native/chart-presentation.js.map +1 -0
- package/native/chart-type.d.ts +65 -0
- package/native/chart-type.d.ts.map +1 -0
- package/native/chart-type.js +66 -0
- package/native/chart-type.js.map +1 -0
- package/native/chart.d.ts +571 -0
- package/native/chart.d.ts.map +1 -0
- package/native/chart.js +1417 -0
- package/native/chart.js.map +1 -0
- package/native/circular-options.d.ts +17 -0
- package/native/circular-options.d.ts.map +1 -0
- package/native/circular-options.js +2 -0
- package/native/circular-options.js.map +1 -0
- package/native/comparison-data.d.ts +64 -0
- package/native/comparison-data.d.ts.map +1 -0
- package/native/comparison-data.js +2 -0
- package/native/comparison-data.js.map +1 -0
- package/native/comparison-format.d.ts +16 -0
- package/native/comparison-format.d.ts.map +1 -0
- package/native/comparison-format.js +26 -0
- package/native/comparison-format.js.map +1 -0
- package/native/composition-options.d.ts +18 -0
- package/native/composition-options.d.ts.map +1 -0
- package/native/composition-options.js +2 -0
- package/native/composition-options.js.map +1 -0
- package/native/contour-data.d.ts +48 -0
- package/native/contour-data.d.ts.map +1 -0
- package/native/contour-data.js +2 -0
- package/native/contour-data.js.map +1 -0
- package/native/contour-format.d.ts +3 -0
- package/native/contour-format.d.ts.map +1 -0
- package/native/contour-format.js +11 -0
- package/native/contour-format.js.map +1 -0
- package/native/control-accessibility.d.ts +7 -0
- package/native/control-accessibility.d.ts.map +1 -0
- package/native/control-accessibility.js +9 -0
- package/native/control-accessibility.js.map +1 -0
- package/native/data-chart.d.ts +179 -0
- package/native/data-chart.d.ts.map +1 -0
- package/native/data-chart.js +415 -0
- package/native/data-chart.js.map +1 -0
- package/native/data-identities.d.ts +10 -0
- package/native/data-identities.d.ts.map +1 -0
- package/native/data-identities.js +50 -0
- package/native/data-identities.js.map +1 -0
- package/native/data-options.d.ts +566 -0
- package/native/data-options.d.ts.map +1 -0
- package/native/data-options.js +2 -0
- package/native/data-options.js.map +1 -0
- package/native/data-planning.d.ts +84 -0
- package/native/data-planning.d.ts.map +1 -0
- package/native/data-planning.js +174 -0
- package/native/data-planning.js.map +1 -0
- package/native/dendrogram-data.d.ts +27 -0
- package/native/dendrogram-data.d.ts.map +1 -0
- package/native/dendrogram-data.js +2 -0
- package/native/dendrogram-data.js.map +1 -0
- package/native/dendrogram-labels.d.ts +13 -0
- package/native/dendrogram-labels.d.ts.map +1 -0
- package/native/dendrogram-labels.js +12 -0
- package/native/dendrogram-labels.js.map +1 -0
- package/native/drilldown-options.d.ts +62 -0
- package/native/drilldown-options.d.ts.map +1 -0
- package/native/drilldown-options.js +2 -0
- package/native/drilldown-options.js.map +1 -0
- package/native/drilldown-state.d.ts +18 -0
- package/native/drilldown-state.d.ts.map +1 -0
- package/native/drilldown-state.js +130 -0
- package/native/drilldown-state.js.map +1 -0
- package/native/gauge-entrance.d.ts +8 -0
- package/native/gauge-entrance.d.ts.map +1 -0
- package/native/gauge-entrance.js +42 -0
- package/native/gauge-entrance.js.map +1 -0
- package/native/haptics.d.ts +21 -0
- package/native/haptics.d.ts.map +1 -0
- package/native/haptics.js +66 -0
- package/native/haptics.js.map +1 -0
- package/native/heatmap-data.d.ts +56 -0
- package/native/heatmap-data.d.ts.map +1 -0
- package/native/heatmap-data.js +2 -0
- package/native/heatmap-data.js.map +1 -0
- package/native/index.d.ts +26 -0
- package/native/index.d.ts.map +1 -0
- package/native/index.js +11 -0
- package/native/index.js.map +1 -0
- package/native/input-bridge.d.ts +32 -0
- package/native/input-bridge.d.ts.map +1 -0
- package/native/input-bridge.js +3 -0
- package/native/input-bridge.js.map +1 -0
- package/native/input-lease.d.ts +23 -0
- package/native/input-lease.d.ts.map +1 -0
- package/native/input-lease.js +28 -0
- package/native/input-lease.js.map +1 -0
- package/native/label-contrast.d.ts +7 -0
- package/native/label-contrast.d.ts.map +1 -0
- package/native/label-contrast.js +33 -0
- package/native/label-contrast.js.map +1 -0
- package/native/label-halo.d.ts +9 -0
- package/native/label-halo.d.ts.map +1 -0
- package/native/label-halo.js +23 -0
- package/native/label-halo.js.map +1 -0
- package/native/label-ink.d.ts +3 -0
- package/native/label-ink.d.ts.map +1 -0
- package/native/label-ink.js +6 -0
- package/native/label-ink.js.map +1 -0
- package/native/legend.d.ts +21 -0
- package/native/legend.d.ts.map +1 -0
- package/native/legend.js +66 -0
- package/native/legend.js.map +1 -0
- package/native/log-axis-labels.d.ts +6 -0
- package/native/log-axis-labels.d.ts.map +1 -0
- package/native/log-axis-labels.js +16 -0
- package/native/log-axis-labels.js.map +1 -0
- package/native/log-options.d.ts +5 -0
- package/native/log-options.d.ts.map +1 -0
- package/native/log-options.js +6 -0
- package/native/log-options.js.map +1 -0
- package/native/number-format.d.ts +5 -0
- package/native/number-format.d.ts.map +1 -0
- package/native/number-format.js +24 -0
- package/native/number-format.js.map +1 -0
- package/native/observation-format.d.ts +8 -0
- package/native/observation-format.d.ts.map +1 -0
- package/native/observation-format.js +80 -0
- package/native/observation-format.js.map +1 -0
- package/native/options-validation.d.ts +8 -0
- package/native/options-validation.d.ts.map +1 -0
- package/native/options-validation.js +612 -0
- package/native/options-validation.js.map +1 -0
- package/native/panel-viewport-contract.d.ts +15 -0
- package/native/panel-viewport-contract.d.ts.map +1 -0
- package/native/panel-viewport-contract.js +86 -0
- package/native/panel-viewport-contract.js.map +1 -0
- package/native/panel-viewport-sync.d.ts +27 -0
- package/native/panel-viewport-sync.d.ts.map +1 -0
- package/native/panel-viewport-sync.js +96 -0
- package/native/panel-viewport-sync.js.map +1 -0
- package/native/parallel-data.d.ts +49 -0
- package/native/parallel-data.d.ts.map +1 -0
- package/native/parallel-data.js +2 -0
- package/native/parallel-data.js.map +1 -0
- package/native/parallel-labels.d.ts +20 -0
- package/native/parallel-labels.d.ts.map +1 -0
- package/native/parallel-labels.js +54 -0
- package/native/parallel-labels.js.map +1 -0
- package/native/pictorial-data.d.ts +78 -0
- package/native/pictorial-data.d.ts.map +1 -0
- package/native/pictorial-data.js +2 -0
- package/native/pictorial-data.js.map +1 -0
- package/native/pictorial-format.d.ts +8 -0
- package/native/pictorial-format.d.ts.map +1 -0
- package/native/pictorial-format.js +14 -0
- package/native/pictorial-format.js.map +1 -0
- package/native/pictorial-options.d.ts +2 -0
- package/native/pictorial-options.d.ts.map +1 -0
- package/native/pictorial-options.js +61 -0
- package/native/pictorial-options.js.map +1 -0
- package/native/pictorial-paint.d.ts +19 -0
- package/native/pictorial-paint.d.ts.map +1 -0
- package/native/pictorial-paint.js +31 -0
- package/native/pictorial-paint.js.map +1 -0
- package/native/plan.d.ts +45 -0
- package/native/plan.d.ts.map +1 -0
- package/native/plan.js +109 -0
- package/native/plan.js.map +1 -0
- package/native/profile-data.d.ts +82 -0
- package/native/profile-data.d.ts.map +1 -0
- package/native/profile-data.js +2 -0
- package/native/profile-data.js.map +1 -0
- package/native/profile-labels.d.ts +5 -0
- package/native/profile-labels.d.ts.map +1 -0
- package/native/profile-labels.js +19 -0
- package/native/profile-labels.js.map +1 -0
- package/native/radial-entrance.d.ts +24 -0
- package/native/radial-entrance.d.ts.map +1 -0
- package/native/radial-entrance.js +25 -0
- package/native/radial-entrance.js.map +1 -0
- package/native/radial-layer.d.ts +26 -0
- package/native/radial-layer.d.ts.map +1 -0
- package/native/radial-layer.js +76 -0
- package/native/radial-layer.js.map +1 -0
- package/native/reference-labels.d.ts +21 -0
- package/native/reference-labels.d.ts.map +1 -0
- package/native/reference-labels.js +36 -0
- package/native/reference-labels.js.map +1 -0
- package/native/reference-options.d.ts +23 -0
- package/native/reference-options.d.ts.map +1 -0
- package/native/reference-options.js +58 -0
- package/native/reference-options.js.map +1 -0
- package/native/relationship-data.d.ts +63 -0
- package/native/relationship-data.d.ts.map +1 -0
- package/native/relationship-data.js +2 -0
- package/native/relationship-data.js.map +1 -0
- package/native/relationship-format.d.ts +13 -0
- package/native/relationship-format.d.ts.map +1 -0
- package/native/relationship-format.js +26 -0
- package/native/relationship-format.js.map +1 -0
- package/native/selection-outlines.d.ts +12 -0
- package/native/selection-outlines.d.ts.map +1 -0
- package/native/selection-outlines.js +20 -0
- package/native/selection-outlines.js.map +1 -0
- package/native/temporal-format.d.ts +29 -0
- package/native/temporal-format.d.ts.map +1 -0
- package/native/temporal-format.js +41 -0
- package/native/temporal-format.js.map +1 -0
- package/native/text-style.d.ts +16 -0
- package/native/text-style.d.ts.map +1 -0
- package/native/text-style.js +14 -0
- package/native/text-style.js.map +1 -0
- package/native/tilemap-color-axis.d.ts +23 -0
- package/native/tilemap-color-axis.d.ts.map +1 -0
- package/native/tilemap-color-axis.js +77 -0
- package/native/tilemap-color-axis.js.map +1 -0
- package/native/tilemap-data.d.ts +71 -0
- package/native/tilemap-data.d.ts.map +1 -0
- package/native/tilemap-data.js +2 -0
- package/native/tilemap-data.js.map +1 -0
- package/native/tilemap-format.d.ts +3 -0
- package/native/tilemap-format.d.ts.map +1 -0
- package/native/tilemap-format.js +14 -0
- package/native/tilemap-format.js.map +1 -0
- package/native/tilemap-selection.d.ts +12 -0
- package/native/tilemap-selection.d.ts.map +1 -0
- package/native/tilemap-selection.js +8 -0
- package/native/tilemap-selection.js.map +1 -0
- package/native/time-axis-labels.d.ts +5 -0
- package/native/time-axis-labels.d.ts.map +1 -0
- package/native/time-axis-labels.js +38 -0
- package/native/time-axis-labels.js.map +1 -0
- package/native/tooltip-layout.d.ts +16 -0
- package/native/tooltip-layout.d.ts.map +1 -0
- package/native/tooltip-layout.js +33 -0
- package/native/tooltip-layout.js.map +1 -0
- package/native/tooltip-metrics.d.ts +4 -0
- package/native/tooltip-metrics.d.ts.map +1 -0
- package/native/tooltip-metrics.js +11 -0
- package/native/tooltip-metrics.js.map +1 -0
- package/native/tooltip-motion.d.ts +35 -0
- package/native/tooltip-motion.d.ts.map +1 -0
- package/native/tooltip-motion.js +36 -0
- package/native/tooltip-motion.js.map +1 -0
- package/native/tooltip-occupancy.d.ts +21 -0
- package/native/tooltip-occupancy.d.ts.map +1 -0
- package/native/tooltip-occupancy.js +67 -0
- package/native/tooltip-occupancy.js.map +1 -0
- package/native/tooltip.d.ts +144 -0
- package/native/tooltip.d.ts.map +1 -0
- package/native/tooltip.js +146 -0
- package/native/tooltip.js.map +1 -0
- package/native/uncertainty-data.d.ts +110 -0
- package/native/uncertainty-data.d.ts.map +1 -0
- package/native/uncertainty-data.js +2 -0
- package/native/uncertainty-data.js.map +1 -0
- package/native/uncertainty-format.d.ts +3 -0
- package/native/uncertainty-format.d.ts.map +1 -0
- package/native/uncertainty-format.js +10 -0
- package/native/uncertainty-format.js.map +1 -0
- package/native/value-labels.d.ts +30 -0
- package/native/value-labels.d.ts.map +1 -0
- package/native/value-labels.js +206 -0
- package/native/value-labels.js.map +1 -0
- package/native/variwide-labels.d.ts +14 -0
- package/native/variwide-labels.d.ts.map +1 -0
- package/native/variwide-labels.js +22 -0
- package/native/variwide-labels.js.map +1 -0
- package/native/venn-data.d.ts +29 -0
- package/native/venn-data.d.ts.map +1 -0
- package/native/venn-data.js +2 -0
- package/native/venn-data.js.map +1 -0
- package/native/viewport-gestures.d.ts +32 -0
- package/native/viewport-gestures.d.ts.map +1 -0
- package/native/viewport-gestures.js +43 -0
- package/native/viewport-gestures.js.map +1 -0
- package/native/viewport-motion.d.ts +67 -0
- package/native/viewport-motion.d.ts.map +1 -0
- package/native/viewport-motion.js +182 -0
- package/native/viewport-motion.js.map +1 -0
- package/native/viewport-state.d.ts +20 -0
- package/native/viewport-state.d.ts.map +1 -0
- package/native/viewport-state.js +14 -0
- package/native/viewport-state.js.map +1 -0
- package/native/waterfall-appearance.d.ts +8 -0
- package/native/waterfall-appearance.d.ts.map +1 -0
- package/native/waterfall-appearance.js +18 -0
- package/native/waterfall-appearance.js.map +1 -0
- package/native/wordcloud-data.d.ts +40 -0
- package/native/wordcloud-data.d.ts.map +1 -0
- package/native/wordcloud-data.js +2 -0
- package/native/wordcloud-data.js.map +1 -0
- package/native/wordcloud-layer.d.ts +29 -0
- package/native/wordcloud-layer.d.ts.map +1 -0
- package/native/wordcloud-layer.js +58 -0
- package/native/wordcloud-layer.js.map +1 -0
- package/native/wordcloud-measurements.d.ts +47 -0
- package/native/wordcloud-measurements.d.ts.map +1 -0
- package/native/wordcloud-measurements.js +137 -0
- package/native/wordcloud-measurements.js.map +1 -0
- package/native/wordcloud-planning.d.ts +23 -0
- package/native/wordcloud-planning.d.ts.map +1 -0
- package/native/wordcloud-planning.js +25 -0
- package/native/wordcloud-planning.js.map +1 -0
- package/native/wordcloud-probes.d.ts +48 -0
- package/native/wordcloud-probes.d.ts.map +1 -0
- package/native/wordcloud-probes.js +111 -0
- package/native/wordcloud-probes.js.map +1 -0
- package/native/wordcloud-text-backend.d.ts +16 -0
- package/native/wordcloud-text-backend.d.ts.map +1 -0
- package/native/wordcloud-text-backend.js +3 -0
- package/native/wordcloud-text-backend.js.map +1 -0
- package/package.json +58 -4
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
import { nativeLogScales, sameLogScales } from './log-options.js';
|
|
2
|
+
import { sameStackGroups } from './composition-options.js';
|
|
3
|
+
import { Accessibility, ColorScheme } from '@ng-native/device';
|
|
4
|
+
import { WordCloudTextProbes } from './wordcloud-probes.js';
|
|
5
|
+
import { WordCloudMeasurements } from './wordcloud-measurements.js';
|
|
6
|
+
import { prepareNativeWordCloud, measuringWordCloud } from './wordcloud-planning.js';
|
|
7
|
+
import { planNativeChart } from './plan.js';
|
|
8
|
+
import { chartCapabilities, dataLabelsByDefault, isChartFamily } from '../library/chart-capabilities.js';
|
|
9
|
+
import { waterfallAppearance } from './waterfall-appearance.js';
|
|
10
|
+
import { Component, computed, contentChild, effect, inject, DestroyRef, input, linkedSignal, model, output, signal } from '@angular/core';
|
|
11
|
+
import { NativeChartTooltipTemplate } from './chart-presentation.js';
|
|
12
|
+
import { Text, View } from '@ng-native/components';
|
|
13
|
+
import { NativeChart as NativeSceneChart } from './chart.js';
|
|
14
|
+
import { transformPlanViewport } from './plan.js';
|
|
15
|
+
import { planChartData } from './data-planning.js';
|
|
16
|
+
import { optionsDiagnostic } from './options-validation.js';
|
|
17
|
+
import { updateScenePresentation } from '../library/scene.js';
|
|
18
|
+
import { sameViewportValue } from './viewport-state.js';
|
|
19
|
+
import { nativeReferenceGeometry, sameReferenceGeometry, nativeReferenceStyles, sameReferenceStyles, nativeReferenceBandGeometry, sameReferenceBandGeometry, nativeReferenceBandStyles, sameReferenceBandStyles, visiblePointAppearance } from './reference-options.js';
|
|
20
|
+
import { samePointAppearance } from '../library/scene-styles.js';
|
|
21
|
+
import { ChartActivity } from './activity.js';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
function sameWordLayout(a, b) { return a === b || !!a && !!b && a.minFontSize === b.minFontSize && a.maxFontSize === b.maxFontSize && a.padding === b.padding && a.seed === b.seed && a.maxWords === b.maxWords && a.rotations?.length === b.rotations?.length && (a.rotations ?? []).every((v, i) => v === b.rotations?.[i]); }
|
|
24
|
+
function sameContourLevels(a, b) { return a === b || !!a && !!b && a.length === b.length && a.every((level, index) => level.id === b[index].id && level.value === b[index].value); }
|
|
25
|
+
/** Data/options controller; the existing scene component remains the native renderer. */
|
|
26
|
+
export class NativeDataChart {
|
|
27
|
+
data = input.required(/* @ts-ignore */
|
|
28
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
29
|
+
defaultDataLabels = computed(() => dataLabelsByDefault(this.data().type), /* @ts-ignore */
|
|
30
|
+
...(ngDevMode ? [{ debugName: "defaultDataLabels" }] : /* istanbul ignore next */ []));
|
|
31
|
+
// An omitted Contour layout is reported by optionsDiagnostic. Other families
|
|
32
|
+
// have valid empty defaults; the exported Contour options type requires levels.
|
|
33
|
+
options = input({}, /* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
35
|
+
labelFormatters = input(/* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [undefined, { debugName: "labelFormatters" }] : /* istanbul ignore next */ []));
|
|
37
|
+
tooltipTemplate = contentChild(NativeChartTooltipTemplate, /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "tooltipTemplate" }] : /* istanbul ignore next */ []));
|
|
39
|
+
/** Optional two-way binding; internal state works without an event handler. */
|
|
40
|
+
hiddenSeriesIds = model([], /* @ts-ignore */
|
|
41
|
+
...(ngDevMode ? [{ debugName: "hiddenSeriesIds" }] : /* istanbul ignore next */ []));
|
|
42
|
+
interactionChange = output();
|
|
43
|
+
planningError = output();
|
|
44
|
+
viewportChange = output();
|
|
45
|
+
activity = inject(ChartActivity);
|
|
46
|
+
destroyed = false;
|
|
47
|
+
renderActive = computed(() => this.activity.active() && this.options().rendering?.active !== false, /* @ts-ignore */
|
|
48
|
+
...(ngDevMode ? [{ debugName: "renderActive" }] : /* istanbul ignore next */ []));
|
|
49
|
+
suppressResumeMotion = signal(false, /* @ts-ignore */
|
|
50
|
+
...(ngDevMode ? [{ debugName: "suppressResumeMotion" }] : /* istanbul ignore next */ []));
|
|
51
|
+
noticeScheme = inject(ColorScheme);
|
|
52
|
+
noticeColor = computed(() => { const theme = this.options().appearance?.theme ?? 'system'; return (theme === 'system' ? this.noticeScheme.current() === 'dark' : theme === 'dark') ? '#B6C4D7' : '#526176'; }, /* @ts-ignore */
|
|
53
|
+
...(ngDevMode ? [{ debugName: "noticeColor" }] : /* istanbul ignore next */ []));
|
|
54
|
+
circularNotice = computed(() => {
|
|
55
|
+
const scene = this.scene(), en = this.options().appearance?.locale === 'en', summary = scene?.radialSummary, c = scene?.circular;
|
|
56
|
+
if (summary?.overflow)
|
|
57
|
+
return en ? 'The total exceeds the numeric range. Percentages use normalized original values.' : 'El total supera el rango numérico. Los porcentajes usan los valores originales normalizados.';
|
|
58
|
+
if (summary?.missingCount)
|
|
59
|
+
return en ? 'Some values are unknown. Percentages refer to the known visible subtotal.' : 'Hay valores desconocidos. Los porcentajes se refieren al subtotal visible conocido.';
|
|
60
|
+
if (c?.style !== 'sectors' && c?.valueState === 'under')
|
|
61
|
+
return en ? 'The value is below the dial range. Only the pointer is bounded; the tooltip retains the original value.' : 'El valor está por debajo del rango. Solo se limita el indicador; el tooltip conserva el valor original.';
|
|
62
|
+
if (c?.style !== 'sectors' && c?.valueState === 'over')
|
|
63
|
+
return en ? 'The value exceeds the dial range. Only the pointer is bounded; the tooltip retains the original value.' : 'El valor supera el rango. Solo se limita el indicador; el tooltip conserva el valor original.';
|
|
64
|
+
return '';
|
|
65
|
+
}, /* @ts-ignore */
|
|
66
|
+
...(ngDevMode ? [{ debugName: "circularNotice" }] : /* istanbul ignore next */ []));
|
|
67
|
+
markerAppearance = computed(() => {
|
|
68
|
+
const { shape, fillColor, borderColor, borderWidth } = this.options().appearance?.markers ?? {};
|
|
69
|
+
return { shape, fillColor, borderColor, borderWidth };
|
|
70
|
+
}, /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "markerAppearance" }] : /* istanbul ignore next */ []));
|
|
72
|
+
regressionNotice = computed(() => { const scene = this.scene(), en = this.options().appearance?.locale === 'en'; return scene?.regression?.models.filter(m => m.status !== 'ready').map(m => { const name = scene.legend?.find(l => l.id === m.sourceSeriesId)?.name ?? m.sourceSeriesId; return name + ': ' + (m.status === 'constant-x' ? (en ? 'No fit: known X values are equal.' : 'Sin ajuste: las X conocidas son iguales.') : (en ? 'No fit: at least two known XY pairs are required.' : 'Sin ajuste: se necesitan al menos dos pares XY conocidos.')); }).join(' ') ?? ''; }, /* @ts-ignore */
|
|
73
|
+
...(ngDevMode ? [{ debugName: "regressionNotice" }] : /* istanbul ignore next */ []));
|
|
74
|
+
lastInteraction;
|
|
75
|
+
viewport = signal(undefined, /* @ts-ignore */
|
|
76
|
+
...(ngDevMode ? [{ debugName: "viewport" }] : /* istanbul ignore next */ []));
|
|
77
|
+
planningViewport = computed(() => {
|
|
78
|
+
const data = this.data(), type = data && typeof data === 'object' ? Object.getOwnPropertyDescriptor(data, 'type')?.value : undefined;
|
|
79
|
+
return isChartFamily(type) && chartCapabilities[type].measured ? this.viewport() : undefined;
|
|
80
|
+
}, /* @ts-ignore */
|
|
81
|
+
...(ngDevMode ? [{ debugName: "planningViewport" }] : /* istanbul ignore next */ []));
|
|
82
|
+
forwardInteraction(snapshot) { if (this.destroyed || !this.renderActive() && snapshot.active)
|
|
83
|
+
return; this.lastInteraction = snapshot; this.interactionChange.emit(snapshot); }
|
|
84
|
+
requestedVisibility = computed(() => {
|
|
85
|
+
const value = this.hiddenSeriesIds(), ids = [];
|
|
86
|
+
if (Array.isArray(value))
|
|
87
|
+
for (let i = 0; i < Math.min(16, value.length); i++) {
|
|
88
|
+
const id = Object.getOwnPropertyDescriptor(value, String(i))?.value;
|
|
89
|
+
if (typeof id === 'string' && id.length > 0 && !ids.includes(id))
|
|
90
|
+
ids.push(id);
|
|
91
|
+
}
|
|
92
|
+
return ids;
|
|
93
|
+
}, { ...(ngDevMode ? { debugName: "requestedVisibility" } : /* istanbul ignore next */ {}), equal: (a, b) => a.length === b.length && a.every((id, i) => id === b[i]) });
|
|
94
|
+
visibility = computed(() => {
|
|
95
|
+
const data = this.data();
|
|
96
|
+
if (!data || typeof data !== 'object')
|
|
97
|
+
return [];
|
|
98
|
+
const descriptors = Object.getOwnPropertyDescriptors(data), items = descriptors['type']?.value === 'venn' ? descriptors['sets']?.value : descriptors['series']?.value ?? descriptors['data']?.value;
|
|
99
|
+
const ids = [];
|
|
100
|
+
if (Array.isArray(items) && items.length <= 16)
|
|
101
|
+
for (let i = 0; i < items.length; i++) {
|
|
102
|
+
const item = Object.getOwnPropertyDescriptor(items, String(i))?.value, id = item && Object.getOwnPropertyDescriptor(item, 'id')?.value;
|
|
103
|
+
if (typeof id === 'string')
|
|
104
|
+
ids.push(id);
|
|
105
|
+
}
|
|
106
|
+
const type = descriptors['type']?.value;
|
|
107
|
+
if (type === 'fan') {
|
|
108
|
+
const bands = descriptors['bands']?.value;
|
|
109
|
+
return this.requestedVisibility().filter(id => id === 'center' || Array.isArray(bands) && bands.length <= 6 && bands.some(b => b?.id === id));
|
|
110
|
+
}
|
|
111
|
+
if (type === 'flame')
|
|
112
|
+
return [];
|
|
113
|
+
if (type === 'violin') {
|
|
114
|
+
const groups = descriptors['groups']?.value;
|
|
115
|
+
if (Array.isArray(groups) && groups.length <= 16)
|
|
116
|
+
for (const group of groups) {
|
|
117
|
+
const id = group && Object.getOwnPropertyDescriptor(group, 'id')?.value;
|
|
118
|
+
if (typeof id === 'string')
|
|
119
|
+
ids.push(id);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (type === 'heatmap')
|
|
123
|
+
return [];
|
|
124
|
+
if (type === 'wordcloud') {
|
|
125
|
+
const words = descriptors['words']?.value, groups = descriptors['groups']?.value;
|
|
126
|
+
if (Array.isArray(groups) && groups.length <= 15)
|
|
127
|
+
for (const group of groups) {
|
|
128
|
+
const id = group && Object.getOwnPropertyDescriptor(group, 'id')?.value;
|
|
129
|
+
if (typeof id === 'string')
|
|
130
|
+
ids.push(id);
|
|
131
|
+
}
|
|
132
|
+
if (Array.isArray(words) && words.length <= 2048 && words.some(word => word && Object.getOwnPropertyDescriptor(word, 'groupId')?.value === undefined))
|
|
133
|
+
ids.push('words');
|
|
134
|
+
}
|
|
135
|
+
if (type === 'dependencywheel' || type === 'arcdiagram' || type === 'chord' || type === 'sankey' || type === 'networkgraph' || type === 'treegraph' || type === 'organization') {
|
|
136
|
+
ids.push('nodes');
|
|
137
|
+
const groups = descriptors['groups']?.value;
|
|
138
|
+
if (Array.isArray(groups) && groups.length <= 15)
|
|
139
|
+
for (let i = 0; i < groups.length; i++) {
|
|
140
|
+
const group = Object.getOwnPropertyDescriptor(groups, String(i))?.value, id = group && Object.getOwnPropertyDescriptor(group, 'id')?.value;
|
|
141
|
+
if (typeof id === 'string')
|
|
142
|
+
ids.push(id);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (type === 'sunburst') {
|
|
146
|
+
const root = descriptors['root']?.value, children = root && Object.getOwnPropertyDescriptor(root, 'children')?.value;
|
|
147
|
+
if (Array.isArray(children) && children.length <= 15)
|
|
148
|
+
for (let i = 0; i < children.length; i++) {
|
|
149
|
+
const item = Object.getOwnPropertyDescriptor(children, String(i))?.value, id = item && Object.getOwnPropertyDescriptor(item, 'id')?.value;
|
|
150
|
+
if (typeof id === 'string')
|
|
151
|
+
ids.push(id);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
const id = root && Object.getOwnPropertyDescriptor(root, 'id')?.value;
|
|
155
|
+
if (typeof id === 'string')
|
|
156
|
+
ids.push(id);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (type === 'contour' && !this.optionError()) {
|
|
160
|
+
const layout = this.options().layout;
|
|
161
|
+
if (layout && 'levels' in layout)
|
|
162
|
+
for (const level of layout.levels ?? [])
|
|
163
|
+
ids.push(level.id);
|
|
164
|
+
}
|
|
165
|
+
if (type === 'regression')
|
|
166
|
+
ids.push(...ids.map(id => 'ols:' + id));
|
|
167
|
+
const allowed = new Set(type === 'pareto' ? ['values', 'cumulative'] : type === 'histogram' || type === 'bellcurve' ? ['distribution'] : ids);
|
|
168
|
+
return this.requestedVisibility().filter(id => allowed.has(id));
|
|
169
|
+
}, { ...(ngDevMode ? { debugName: "visibility" } : /* istanbul ignore next */ {}), equal: (a, b) => a.length === b.length && a.every((id, i) => id === b[i]) });
|
|
170
|
+
stackLabels = computed(() => { const layout = this.options().layout; return layout && 'stackLabels' in layout ? layout.stackLabels ?? false : false; }, /* @ts-ignore */
|
|
171
|
+
...(ngDevMode ? [{ debugName: "stackLabels" }] : /* istanbul ignore next */ []));
|
|
172
|
+
parallelAxes = computed(() => { const axes = this.options().axes; return { visible: axes && 'visible' in axes ? axes.visible ?? true : true, labels: axes && 'labels' in axes ? axes.labels ?? true : true, ticks: axes && 'ticks' in axes ? axes.ticks ?? true : true }; }, /* @ts-ignore */
|
|
173
|
+
...(ngDevMode ? [{ debugName: "parallelAxes" }] : /* istanbul ignore next */ []));
|
|
174
|
+
logScales = computed(() => this.optionError() ? undefined : nativeLogScales(this.options()), { ...(ngDevMode ? { debugName: "logScales" } : /* istanbul ignore next */ {}), equal: sameLogScales });
|
|
175
|
+
referenceGeometry = computed(() => this.optionError() ? [] : nativeReferenceGeometry(this.options()), { ...(ngDevMode ? { debugName: "referenceGeometry" } : /* istanbul ignore next */ {}), equal: sameReferenceGeometry });
|
|
176
|
+
referenceStyles = computed(() => this.optionError() ? [] : nativeReferenceStyles(this.options()), { ...(ngDevMode ? { debugName: "referenceStyles" } : /* istanbul ignore next */ {}), equal: sameReferenceStyles });
|
|
177
|
+
referenceBandGeometry = computed(() => this.optionError() ? [] : nativeReferenceBandGeometry(this.options()), { ...(ngDevMode ? { debugName: "referenceBandGeometry" } : /* istanbul ignore next */ {}), equal: sameReferenceBandGeometry });
|
|
178
|
+
referenceBandStyles = computed(() => this.optionError() ? [] : nativeReferenceBandStyles(this.options()), { ...(ngDevMode ? { debugName: "referenceBandStyles" } : /* istanbul ignore next */ {}), equal: sameReferenceBandStyles });
|
|
179
|
+
planInputs = computed(() => {
|
|
180
|
+
const error = this.optionError(), options = error ? undefined : this.options(), view = options?.viewport;
|
|
181
|
+
return { circularStart: options?.layout && 'startAngle' in options.layout ? options.layout.startAngle : undefined, circularEnd: options?.layout && 'endAngle' in options.layout ? options.layout.endAngle : undefined, gaugeStyle: options?.layout && 'style' in options.layout ? options.layout.style : undefined, gaugeTicks: options?.layout && 'tickCount' in options.layout ? options.layout.tickCount : undefined, profileBandwidth: options?.layout && 'bandwidth' in options.layout ? options.layout.bandwidth : undefined, profileResolution: options?.layout && 'resolution' in options.layout ? options.layout.resolution : undefined, profileNormalization: options?.layout && 'normalization' in options.layout ? options.layout.normalization : undefined, parallelCoordinates: options?.layout && 'coordinates' in options.layout ? options.layout.coordinates : undefined, circularInner: options?.layout && 'innerRadiusRatio' in options.layout ? options.layout.innerRadiusRatio : undefined, heatmapGap: options?.layout && 'gapRatio' in options.layout ? options.layout.gapRatio : undefined, vennPadding: options?.layout && 'padding' in options.layout ? options.layout.padding : undefined, wordLayout: options?.layout, pictorialShape: options?.layout && 'shape' in options.layout ? options.layout.shape : undefined, pictorialGap: options?.layout && 'gap' in options.layout ? options.layout.gap : undefined, pictorialBackground: options?.layout && 'background' in options.layout ? options.layout.background : undefined, tileShape: options?.layout && 'tileShape' in options.layout ? options.layout.tileShape : undefined, tileOpacity: options?.appearance?.opacity, tileColorAxis: options?.colorAxis?.scale, contourLevels: options?.layout && 'levels' in options.layout ? options.layout.levels : undefined, contourBudget: options?.layout && 'segmentBudget' in options.layout ? options.layout.segmentBudget : undefined, comparisonPointPadding: options?.layout && 'pointPadding' in options.layout ? options.layout.pointPadding : undefined, comparisonBands: options?.layout && 'bands' in options.layout ? options.layout.bands : undefined, data: this.data(), hidden: this.visibility(), dimensions: this.planningViewport(), temporalGrouping: options?.layout && 'grouping' in options.layout ? options.layout.grouping : undefined, temporalRowPadding: options?.layout && 'rowPadding' in options.layout ? options.layout.rowPadding : undefined, temporalLabelPosition: options?.layout && 'labelPosition' in options.layout ? options.layout.labelPosition : undefined, temporalLabelMaxWidth: options?.layout && 'labelMaxWidth' in options.layout ? options.layout.labelMaxWidth : undefined, stacking: (options?.layout && 'stacking' in options.layout ? options.layout.stacking : undefined), stackGroups: options?.layout && 'stackGroups' in options.layout ? options.layout.stackGroups : undefined, neckWidth: (options?.layout && 'neckWidth' in options.layout ? options.layout.neckWidth : undefined), neckHeight: (options?.layout && 'neckHeight' in options.layout ? options.layout.neckHeight : undefined), reversed: (options?.layout && 'reversed' in options.layout ? options.layout.reversed : undefined), whiskerWidth: (options?.layout && 'whiskerWidth' in options.layout ? options.layout.whiskerWidth : undefined), capWidth: (options?.layout && 'capWidth' in options.layout ? options.layout.capWidth : undefined), markerRadius: (options?.layout && 'markerRadius' in options.layout ? options.layout.markerRadius : undefined), columns: (options?.layout && 'columns' in options.layout ? options.layout.columns : undefined), splitSeries: options?.layout && 'splitSeries' in options.layout ? options.layout.splitSeries : undefined, minRadiusRatio: (options?.layout && 'minRadiusRatio' in options.layout ? options.layout.minRadiusRatio : undefined), radiusScale: (options?.layout && 'radiusScale' in options.layout ? options.layout.radiusScale : undefined), sankeyOrientation: options?.layout && 'orientation' in options.layout ? options.layout.orientation : undefined, relationshipStartAngle: options?.layout && 'startAngle' in options.layout ? options.layout.startAngle : undefined, relationshipNodeRadius: options?.layout && 'nodeRadius' in options.layout ? options.layout.nodeRadius : undefined, relationshipLinkWidth: options?.layout && 'linkWidth' in options.layout ? options.layout.linkWidth : undefined, sankeyNodeWidth: options?.layout && 'nodeWidth' in options.layout ? options.layout.nodeWidth : undefined, sankeyNodePadding: options?.layout && 'nodePadding' in options.layout ? options.layout.nodePadding : undefined, scales: this.logScales(), references: this.referenceGeometry(), referenceBands: this.referenceBandGeometry(), axes: view?.axes ?? (this.data().type === 'variwide' ? 'y' : this.data().type === 'contour' || this.data().type === 'sankey' || this.data().type === 'packedbubble' || this.data().type === 'networkgraph' || this.data().type === 'treegraph' || this.data().type === 'organization' ? 'xy' : 'x'), enabled: !!view, initial: (view?.initial ?? {}), error };
|
|
182
|
+
}, { ...(ngDevMode ? { debugName: "planInputs" } : /* istanbul ignore next */ {}), equal: (a, b) => a.circularStart === b.circularStart && a.circularEnd === b.circularEnd && a.gaugeStyle === b.gaugeStyle && a.gaugeTicks === b.gaugeTicks && a.profileBandwidth === b.profileBandwidth && a.profileResolution === b.profileResolution && a.profileNormalization === b.profileNormalization && a.parallelCoordinates === b.parallelCoordinates && a.circularInner === b.circularInner && a.heatmapGap === b.heatmapGap && a.vennPadding === b.vennPadding && sameWordLayout(a.wordLayout, b.wordLayout) && sameContourLevels(a.contourLevels, b.contourLevels) && a.contourBudget === b.contourBudget && a.pictorialShape === b.pictorialShape && a.pictorialGap === b.pictorialGap && a.pictorialBackground === b.pictorialBackground && a.tileShape === b.tileShape && a.tileOpacity === b.tileOpacity && a.tileColorAxis === b.tileColorAxis && a.relationshipStartAngle === b.relationshipStartAngle && a.relationshipNodeRadius === b.relationshipNodeRadius && a.relationshipLinkWidth === b.relationshipLinkWidth && a.comparisonPointPadding === b.comparisonPointPadding && a.comparisonBands === b.comparisonBands && a.data === b.data && a.hidden === b.hidden && a.dimensions === b.dimensions && a.temporalGrouping === b.temporalGrouping && a.temporalRowPadding === b.temporalRowPadding && a.temporalLabelPosition === b.temporalLabelPosition && a.temporalLabelMaxWidth === b.temporalLabelMaxWidth && a.stacking === b.stacking && sameStackGroups(a.stackGroups, b.stackGroups) && a.neckWidth === b.neckWidth && a.neckHeight === b.neckHeight && a.reversed === b.reversed && a.whiskerWidth === b.whiskerWidth && a.capWidth === b.capWidth && a.markerRadius === b.markerRadius && a.columns === b.columns && a.splitSeries === b.splitSeries && a.minRadiusRatio === b.minRadiusRatio && a.radiusScale === b.radiusScale && a.sankeyOrientation === b.sankeyOrientation && a.sankeyNodeWidth === b.sankeyNodeWidth && a.sankeyNodePadding === b.sankeyNodePadding && a.scales === b.scales && a.references === b.references && a.referenceBands === b.referenceBands && a.axes === b.axes && a.enabled === b.enabled && sameViewportValue(a.initial, b.initial) && a.error?.path === b.error?.path && a.error?.message === b.error?.message });
|
|
183
|
+
viewState = linkedSignal({ ...(ngDevMode ? { debugName: "viewState" } : /* istanbul ignore next */ {}), source: this.planInputs, computation: (input, previous) => {
|
|
184
|
+
const old = previous?.source, retain = old && old.circularStart === input.circularStart && old.circularEnd === input.circularEnd && old.gaugeStyle === input.gaugeStyle && old.gaugeTicks === input.gaugeTicks && sameContourLevels(old.contourLevels, input.contourLevels) && old.contourBudget === input.contourBudget && old.pictorialShape === input.pictorialShape && old.pictorialGap === input.pictorialGap && old.pictorialBackground === input.pictorialBackground && old.tileShape === input.tileShape && old.tileOpacity === input.tileOpacity && old.tileColorAxis === input.tileColorAxis && old.comparisonPointPadding === input.comparisonPointPadding && old.comparisonBands === input.comparisonBands && old.scales === input.scales && old.data === input.data && old.hidden === input.hidden && old.stacking === input.stacking && sameStackGroups(old.stackGroups, input.stackGroups) && old.neckWidth === input.neckWidth && old.neckHeight === input.neckHeight && old.reversed === input.reversed && old.whiskerWidth === input.whiskerWidth && old.capWidth === input.capWidth && old.markerRadius === input.markerRadius && old.columns === input.columns && old.minRadiusRatio === input.minRadiusRatio && old.radiusScale === input.radiusScale && old.sankeyOrientation === input.sankeyOrientation && old.sankeyNodeWidth === input.sankeyNodeWidth && old.sankeyNodePadding === input.sankeyNodePadding && old.axes === input.axes && old.enabled === input.enabled && sameViewportValue(old.initial, input.initial) && !old.error && !input.error;
|
|
185
|
+
const prior = retain ? previous?.value : undefined;
|
|
186
|
+
return { value: prior?.value ?? input.initial, prepared: null, revision: prior?.revision ?? 0 };
|
|
187
|
+
} });
|
|
188
|
+
wordAccessibility = inject(Accessibility);
|
|
189
|
+
wordQueue = new WordCloudMeasurements();
|
|
190
|
+
wordPreparation = computed(() => {
|
|
191
|
+
if (!this.renderActive())
|
|
192
|
+
return null;
|
|
193
|
+
const input = this.planInputs();
|
|
194
|
+
if (input.data.type !== 'wordcloud' || input.error)
|
|
195
|
+
return null;
|
|
196
|
+
return prepareNativeWordCloud(input.data, input.wordLayout, input.dimensions, input.hidden, 'system-normal-400:' + this.wordAccessibility.fontScale());
|
|
197
|
+
}, /* @ts-ignore */
|
|
198
|
+
...(ngDevMode ? [{ debugName: "wordPreparation" }] : /* istanbul ignore next */ []));
|
|
199
|
+
wordMetrics = signal({ input: null, snapshot: this.wordQueue.snapshot }, /* @ts-ignore */
|
|
200
|
+
...(ngDevMode ? [{ debugName: "wordMetrics" }] : /* istanbul ignore next */ []));
|
|
201
|
+
acceptWordBounds(value) { if (this.wordQueue.accept(value.token, value))
|
|
202
|
+
this.wordMetrics.update(state => ({ ...state, snapshot: this.wordQueue.snapshot })); }
|
|
203
|
+
rejectWordBounds(token) { this.wordQueue.reject(token); this.wordMetrics.update(state => ({ ...state, snapshot: this.wordQueue.snapshot })); }
|
|
204
|
+
calculateWindow(value) {
|
|
205
|
+
const input = this.planInputs();
|
|
206
|
+
if (input.error)
|
|
207
|
+
return { status: 'invalid', diagnostic: input.error };
|
|
208
|
+
if (input.data.type === 'wordcloud') {
|
|
209
|
+
const preparation = this.wordPreparation();
|
|
210
|
+
if (!preparation)
|
|
211
|
+
return { status: 'invalid', diagnostic: { code: 'INVALID_CONFIG', reason: 'INVALID_WORDCLOUD_INPUT', path: 'data', message: 'Unable to prepare words.' } };
|
|
212
|
+
if (preparation.status === 'invalid')
|
|
213
|
+
return preparation;
|
|
214
|
+
const state = this.wordMetrics(), metrics = state.input === preparation ? state.snapshot : null;
|
|
215
|
+
if (metrics?.error)
|
|
216
|
+
return { status: 'invalid', diagnostic: { code: 'INVALID_CONFIG', reason: metrics.error, path: 'data.words', message: 'The renderer could not measure these single-line words.' } };
|
|
217
|
+
if (!metrics?.measurements)
|
|
218
|
+
return { status: 'empty', scene: measuringWordCloud(preparation) };
|
|
219
|
+
return planNativeChart(preparation.spec, { width: preparation.width, height: preparation.height, hiddenSeriesIds: input.hidden, wordcloudText: { fontKey: preparation.fontKey, measurements: metrics.measurements } });
|
|
220
|
+
}
|
|
221
|
+
return planChartData(input.data, input.hidden, input.dimensions, { ...((input.data.type === 'pie' || input.data.type === 'donut' || input.data.type === 'gauge') && (input.circularStart !== undefined || input.circularEnd !== undefined || input.gaugeStyle !== undefined || input.gaugeTicks !== undefined) ? { radialDisplay: { ...(input.circularStart === undefined ? {} : { startAngle: input.circularStart }), ...(input.circularEnd === undefined ? {} : { endAngle: input.circularEnd }), ...(input.gaugeStyle === undefined ? {} : { gaugeStyle: input.gaugeStyle }), ...(input.gaugeTicks === undefined ? {} : { tickCount: input.gaugeTicks }) } } : {}), ...((input.data.type === 'flame' || input.data.type === 'violin') ? { profile: { ...(input.data.type === 'flame' && input.temporalRowPadding !== undefined ? { rowPadding: input.temporalRowPadding } : {}), ...(input.data.type === 'violin' ? { ...(input.profileBandwidth === undefined ? {} : { bandwidth: input.profileBandwidth }), ...(input.profileResolution === undefined ? {} : { resolution: input.profileResolution }), ...(input.profileNormalization === undefined ? {} : { normalization: input.profileNormalization }), ...(input.heatmapGap === undefined ? {} : { gapRatio: input.heatmapGap }) } : {}) } } : {}), ...(input.data.type === 'dendrogram' ? { dendrogram: { ...(input.sankeyOrientation === undefined ? {} : { orientation: input.sankeyOrientation }) } } : {}), ...(input.data.type === 'parallel' ? { parallel: { ...(input.parallelCoordinates === undefined ? {} : { coordinates: input.parallelCoordinates }) } } : {}), ...((input.data.type === 'windrose' || input.data.type === 'radialbar') ? { circular: { ...(input.heatmapGap === undefined ? {} : { gapRatio: input.heatmapGap }), ...(input.circularInner === undefined ? {} : { innerRadiusRatio: input.circularInner }), ...(input.stacking === undefined ? {} : { stacking: input.stacking }) } } : {}), ...(input.data.type === 'heatmap' ? { heatmap: { ...(input.heatmapGap === undefined ? {} : { gapRatio: input.heatmapGap }), ...(input.tileOpacity === undefined ? {} : { opacity: input.tileOpacity }), ...(input.tileColorAxis === undefined ? {} : { colorAxis: input.tileColorAxis }) } } : {}), ...(input.data.type === 'venn' ? { venn: { ...(input.vennPadding === undefined ? {} : { padding: input.vennPadding }) } } : {}), ...(input.data.type === 'pictorial' ? { pictorial: { ...(input.pictorialShape === undefined ? {} : { shape: input.pictorialShape }), ...(input.pictorialGap === undefined ? {} : { gap: input.pictorialGap }), ...(input.pictorialBackground === undefined ? {} : { background: input.pictorialBackground }) } } : {}), ...(input.data.type === 'tilemap' ? { tilemap: { ...(input.tileShape === undefined ? {} : { tileShape: input.tileShape }), ...(input.comparisonPointPadding === undefined ? {} : { pointPadding: input.comparisonPointPadding }), ...(input.tileOpacity === undefined ? {} : { opacity: input.tileOpacity }), ...(input.tileColorAxis === undefined ? {} : { colorAxis: input.tileColorAxis }) } } : {}), ...(input.data.type === 'contour' ? { contour: { levels: input.contourLevels ?? [], segmentBudget: input.contourBudget ?? 4096 } } : {}), ...((input.data.type === 'dependencywheel' || input.data.type === 'chord') ? { relationship: { ...(input.relationshipStartAngle === undefined ? {} : { startAngle: input.relationshipStartAngle }), ...(input.sankeyNodeWidth === undefined ? {} : { nodeWidth: input.sankeyNodeWidth }), ...(input.sankeyNodePadding === undefined ? {} : { nodePadding: input.sankeyNodePadding }) } } : input.data.type === 'arcdiagram' ? { relationship: { ...(input.reversed === undefined ? {} : { reversed: input.reversed }), ...(input.relationshipNodeRadius === undefined ? {} : { nodeRadius: input.relationshipNodeRadius }), ...(input.relationshipLinkWidth === undefined ? {} : { linkWidth: input.relationshipLinkWidth }) } } : {}), ...((input.data.type === 'bullet' || input.data.type === 'variwide') ? { comparison: { ...(input.data.type === 'bullet' && input.sankeyOrientation !== undefined ? { orientation: input.sankeyOrientation } : {}), ...(input.comparisonPointPadding === undefined ? {} : { pointPadding: input.comparisonPointPadding }), ...(input.data.type === 'bullet' && input.comparisonBands !== undefined ? { bands: input.comparisonBands } : {}) } } : {}), ...((input.data.type === 'xrange' || input.data.type === 'timeline') ? { temporal: { ...(input.temporalGrouping === undefined ? {} : { grouping: input.temporalGrouping }), ...(input.temporalRowPadding === undefined ? {} : { rowPadding: input.temporalRowPadding }), ...(input.temporalLabelPosition === undefined ? {} : { labelPosition: input.temporalLabelPosition }), ...(input.temporalLabelMaxWidth === undefined ? {} : { labelMaxWidth: input.temporalLabelMaxWidth }), ...(input.markerRadius === undefined ? {} : { markerRadius: input.markerRadius }) } } : {}), ...((input.data.type === 'treegraph' || input.data.type === 'organization') && input.sankeyOrientation !== undefined ? { hierarchy: { orientation: input.sankeyOrientation } } : {}), ...(input.data.type === 'sankey' ? { sankey: { ...(input.sankeyOrientation === undefined ? {} : { orientation: input.sankeyOrientation }), ...(input.sankeyNodeWidth === undefined ? {} : { nodeWidth: input.sankeyNodeWidth }), ...(input.sankeyNodePadding === undefined ? {} : { nodePadding: input.sankeyNodePadding }) } } : {}), ...((input.data.type === 'packedbubble' || input.data.type === 'variablepie' || input.data.type === 'item' || input.data.type === 'boxplot' || input.data.type === 'errorbar' || input.data.type === 'lollipop' || input.data.type === 'dumbbell') ? { glyphs: { ...(input.splitSeries === undefined ? {} : { splitSeries: input.splitSeries }), ...(input.columns === undefined ? {} : { columns: input.columns }), ...(input.minRadiusRatio === undefined ? {} : { minRadiusRatio: input.minRadiusRatio }), ...(input.radiusScale === undefined ? {} : { radiusScale: input.radiusScale }), ...(input.markerRadius === undefined ? {} : { markerRadius: input.markerRadius }), ...(input.whiskerWidth === undefined ? {} : { whiskerWidth: input.whiskerWidth }), ...(input.capWidth === undefined ? {} : { capWidth: input.capWidth }) } } : {}), ...((input.data.type === 'funnel' || input.data.type === 'pyramid') ? { shape: { ...(input.neckWidth === undefined ? {} : { neckWidth: input.neckWidth }), ...(input.neckHeight === undefined ? {} : { neckHeight: input.neckHeight }), ...(input.reversed === undefined ? {} : { reversed: input.reversed }) } } : {}), ...(input.stacking && input.data.type !== 'windrose' ? { stacking: input.stacking } : {}), ...(input.stackGroups ? { stackGroups: input.stackGroups } : {}), ...(input.scales ? { scales: input.scales } : {}), ...(input.references.length ? { references: input.references } : {}), ...(input.referenceBands.length ? { referenceBands: input.referenceBands } : {}), ...(input.enabled ? { viewport: { axes: input.axes, value } } : {}) });
|
|
222
|
+
}
|
|
223
|
+
planning = computed(() => this.renderActive() ? (this.viewState().prepared ?? this.calculateWindow(this.viewState().value)) : null, /* @ts-ignore */
|
|
224
|
+
...(ngDevMode ? [{ debugName: "planning" }] : /* istanbul ignore next */ []));
|
|
225
|
+
viewportModel = computed(() => { const result = this.planning(); return !result || result.status === 'invalid' ? undefined : result.viewport; }, /* @ts-ignore */
|
|
226
|
+
...(ngDevMode ? [{ debugName: "viewportModel" }] : /* istanbul ignore next */ []));
|
|
227
|
+
viewportRevision = computed(() => this.viewState().revision, /* @ts-ignore */
|
|
228
|
+
...(ngDevMode ? [{ debugName: "viewportRevision" }] : /* istanbul ignore next */ []));
|
|
229
|
+
viewportAcknowledgment = signal(0, /* @ts-ignore */
|
|
230
|
+
...(ngDevMode ? [{ debugName: "viewportAcknowledgment" }] : /* istanbul ignore next */ []));
|
|
231
|
+
viewportContext = computed(() => {
|
|
232
|
+
const model = this.viewportModel(), settings = this.options().viewport;
|
|
233
|
+
if (!model || !settings)
|
|
234
|
+
return undefined;
|
|
235
|
+
return { model, generation: this.planInputs(), revision: this.viewState().revision, acknowledgment: this.viewportAcknowledgment(), pinch: settings.pinch ?? true, pan: settings.pan ?? true, controls: settings.controls ?? true };
|
|
236
|
+
}, { ...(ngDevMode ? { debugName: "viewportContext" } : /* istanbul ignore next */ {}), equal: (a, b) => a === b || !!a && !!b && a.model === b.model && a.generation === b.generation && a.revision === b.revision && a.acknowledgment === b.acknowledgment && a.pinch === b.pinch && a.pan === b.pan && a.controls === b.controls });
|
|
237
|
+
requestViewport(request) {
|
|
238
|
+
if (this.destroyed || !this.renderActive())
|
|
239
|
+
return;
|
|
240
|
+
try {
|
|
241
|
+
const model = this.viewportModel();
|
|
242
|
+
if (!model || request.model && request.model !== model)
|
|
243
|
+
return;
|
|
244
|
+
const result = transformPlanViewport(model, request.intent);
|
|
245
|
+
if (result.status === 'invalid') {
|
|
246
|
+
this.planningError.emit(result.diagnostic);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
this.commitViewport(result.value, request.source, true);
|
|
250
|
+
}
|
|
251
|
+
finally {
|
|
252
|
+
this.viewportAcknowledgment.update(value => value + 1);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
commitViewport(value, source, owned = false) {
|
|
256
|
+
if (this.destroyed || !this.renderActive())
|
|
257
|
+
return false;
|
|
258
|
+
if (!this.planInputs().enabled)
|
|
259
|
+
return false;
|
|
260
|
+
if (owned && sameViewportValue(value, this.viewState().value))
|
|
261
|
+
return true;
|
|
262
|
+
// Validate/project once before committing. A rejected gesture keeps the
|
|
263
|
+
// current chart and its reset controls; computed planning reuses this result.
|
|
264
|
+
const result = this.calculateWindow(value);
|
|
265
|
+
if (result.status === 'invalid') {
|
|
266
|
+
this.planningError.emit(result.diagnostic);
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
const committed = result.viewport?.value;
|
|
270
|
+
if (!committed)
|
|
271
|
+
return false;
|
|
272
|
+
if (sameViewportValue(committed, this.viewState().value))
|
|
273
|
+
return true;
|
|
274
|
+
this.viewState.set({ value: committed, prepared: result, revision: this.viewState().revision + 1 });
|
|
275
|
+
this.viewportChange.emit({ value: committed, source });
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
setViewport(value) { return this.commitViewport(value, 'api'); }
|
|
279
|
+
resetViewport() { this.requestViewport({ intent: { type: 'reset' }, source: 'api' }); }
|
|
280
|
+
zoomBy(factor) { this.requestViewport({ intent: { type: 'zoom', factor }, source: 'api' }); }
|
|
281
|
+
metadata = computed(() => {
|
|
282
|
+
const options = this.options(), paint = waterfallAppearance(this.data(), options);
|
|
283
|
+
return { title: options.title ?? '', description: options.subtitle ?? '', secondaryUnit: options.format && 'secondaryUnit' in options.format ? options.format.secondaryUnit : undefined, unit: options.format?.unit ?? (this.data().type === 'column' ? '' : this.data().type === 'networkgraph' || this.data().type === 'treegraph' || this.data().type === 'organization' ? (options.appearance?.locale === 'en' ? 'Connections' : 'Conexiones') : undefined), series: this.data().type === 'pareto' ? [{ id: 'values', name: options.appearance?.locale === 'en' ? 'Values' : 'Valores', color: '#2C6DCD' }, { id: 'cumulative', name: options.appearance?.locale === 'en' ? 'Cumulative' : 'Acumulado', color: '#638A35' }].map(item => ({ ...item, ...paint.series?.find(series => series.id === item.id) })) : paint.series, points: paint.points, referenceStyles: this.referenceStyles(), referenceBandStyles: this.referenceBandStyles() };
|
|
284
|
+
}, { ...(ngDevMode ? { debugName: "metadata" } : /* istanbul ignore next */ {}), equal: (a, b) => a.title === b.title && a.description === b.description && a.unit === b.unit && a.secondaryUnit === b.secondaryUnit && samePointAppearance(a.points, b.points) && a.referenceStyles === b.referenceStyles && a.referenceBandStyles === b.referenceBandStyles && a.series?.length === b.series?.length && (a.series ?? []).every((item, i) => item.id === b.series?.[i]?.id && item.name === b.series?.[i]?.name && item.color === b.series?.[i]?.color) });
|
|
285
|
+
physicalAxes = computed(() => {
|
|
286
|
+
const data = this.data(), settings = this.options(), axes = settings.axes, layout = settings.layout;
|
|
287
|
+
const horizontal = data.type === 'column' && data.orientation === 'horizontal' || data.type === 'bullet' && (layout && 'orientation' in layout ? layout.orientation ?? 'horizontal' : 'horizontal') === 'horizontal';
|
|
288
|
+
return horizontal ? { x: axes?.y, y: axes?.x, secondary: undefined } : { x: axes?.x, y: axes?.y, secondary: axes && 'secondaryY' in axes ? axes.secondaryY : undefined };
|
|
289
|
+
}, /* @ts-ignore */
|
|
290
|
+
...(ngDevMode ? [{ debugName: "physicalAxes" }] : /* istanbul ignore next */ []));
|
|
291
|
+
presentation = computed(() => {
|
|
292
|
+
const result = this.planning();
|
|
293
|
+
if (!result || result.status === 'invalid')
|
|
294
|
+
return result;
|
|
295
|
+
const error = this.optionError();
|
|
296
|
+
if (error)
|
|
297
|
+
return { status: 'invalid', diagnostic: error };
|
|
298
|
+
const metadata = this.metadata();
|
|
299
|
+
// A null gauge has no drawable reading yet. Retain the option for its next
|
|
300
|
+
// valid value instead of treating the deliberately empty scene as a bad ID.
|
|
301
|
+
const series = this.data().type === 'gauge' && result.scene.observations.length === 0 ? [] : metadata.series;
|
|
302
|
+
try {
|
|
303
|
+
return { status: result.status, scene: updateScenePresentation(result.scene, { ...metadata, points: visiblePointAppearance(result.scene, metadata.points), series, unit: metadata.unit ?? result.scene.unit }) };
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
return { status: 'invalid', diagnostic: { code: 'INVALID_CONFIG', reason: 'INVALID_PRESENTATION', path: 'options', message: 'Check title lengths and series IDs/colors in appearance.series.' } };
|
|
307
|
+
}
|
|
308
|
+
}, /* @ts-ignore */
|
|
309
|
+
...(ngDevMode ? [{ debugName: "presentation" }] : /* istanbul ignore next */ []));
|
|
310
|
+
optionError = computed(() => optionsDiagnostic(this.data(), this.options()), /* @ts-ignore */
|
|
311
|
+
...(ngDevMode ? [{ debugName: "optionError" }] : /* istanbul ignore next */ []));
|
|
312
|
+
diagnostic = computed(() => { const result = this.presentation(); return !result ? null : result.status === 'invalid' ? result.diagnostic : this.optionError(); }, /* @ts-ignore */
|
|
313
|
+
...(ngDevMode ? [{ debugName: "diagnostic" }] : /* istanbul ignore next */ []));
|
|
314
|
+
scene = computed(() => { const result = this.presentation(); return !result || result.status === 'invalid' || this.optionError() ? null : result.scene; }, /* @ts-ignore */
|
|
315
|
+
...(ngDevMode ? [{ debugName: "scene" }] : /* istanbul ignore next */ []));
|
|
316
|
+
constructor() {
|
|
317
|
+
inject(DestroyRef).onDestroy(this.activity.onSuspend(() => {
|
|
318
|
+
this.suppressResumeMotion.set(true);
|
|
319
|
+
this.viewState.update(state => state.prepared ? { ...state, prepared: null } : state);
|
|
320
|
+
this.wordQueue.begin([]);
|
|
321
|
+
this.wordMetrics.set({ input: null, snapshot: this.wordQueue.snapshot });
|
|
322
|
+
this.wordPreparation();
|
|
323
|
+
this.scene();
|
|
324
|
+
this.viewportContext();
|
|
325
|
+
if (this.lastInteraction?.active || this.lastInteraction?.selected || this.lastInteraction?.scrubbing || this.lastInteraction?.pinned)
|
|
326
|
+
this.forwardInteraction({ active: null, selected: null, scrubbing: false });
|
|
327
|
+
}));
|
|
328
|
+
let wasActive = false, everActive = false, previousData, previousOptions, previousHidden;
|
|
329
|
+
effect(() => {
|
|
330
|
+
const active = this.renderActive(), data = this.data(), options = this.options(), hidden = this.hiddenSeriesIds();
|
|
331
|
+
const suspending = wasActive && !active;
|
|
332
|
+
if (active && !wasActive) {
|
|
333
|
+
this.suppressResumeMotion.set(everActive);
|
|
334
|
+
everActive = true;
|
|
335
|
+
}
|
|
336
|
+
else if (active && (data !== previousData || options !== previousOptions || hidden !== previousHidden))
|
|
337
|
+
this.suppressResumeMotion.set(false);
|
|
338
|
+
wasActive = active;
|
|
339
|
+
previousData = data;
|
|
340
|
+
previousOptions = options;
|
|
341
|
+
previousHidden = hidden;
|
|
342
|
+
if (!active) {
|
|
343
|
+
if (suspending)
|
|
344
|
+
this.viewState.update(state => state.prepared ? { ...state, prepared: null } : state);
|
|
345
|
+
// Re-evaluate nullable caches so they release their previous geometry.
|
|
346
|
+
this.scene();
|
|
347
|
+
this.viewportContext();
|
|
348
|
+
if (this.lastInteraction?.active || this.lastInteraction?.selected || this.lastInteraction?.scrubbing || this.lastInteraction?.pinned)
|
|
349
|
+
this.forwardInteraction({ active: null, selected: null, scrubbing: false });
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
effect(() => { const input = this.wordPreparation(); this.wordQueue.begin(input?.status === 'ok' ? input.preparation.requests : []); this.wordMetrics.set({ input, snapshot: this.wordQueue.snapshot }); });
|
|
353
|
+
inject(DestroyRef).onDestroy(() => { this.destroyed = true; this.wordQueue.destroy(); });
|
|
354
|
+
effect(() => { if (!this.renderActive())
|
|
355
|
+
return; const requested = this.hiddenSeriesIds(), effective = this.visibility(); if (!Array.isArray(requested) || requested.length !== effective.length || requested.some((id, i) => id !== effective[i]))
|
|
356
|
+
this.hiddenSeriesIds.set(effective); });
|
|
357
|
+
effect(() => {
|
|
358
|
+
const error = this.diagnostic();
|
|
359
|
+
if (error) {
|
|
360
|
+
if (this.lastInteraction?.active || this.lastInteraction?.selected || this.lastInteraction?.scrubbing || this.lastInteraction?.pinned)
|
|
361
|
+
this.forwardInteraction({ active: null, selected: null, scrubbing: false });
|
|
362
|
+
this.planningError.emit(error);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.3", ngImport: i0, type: NativeDataChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
367
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.3", type: NativeDataChart, isStandalone: true, selector: "neu-c-chart, nc-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, labelFormatters: { classPropertyName: "labelFormatters", publicName: "labelFormatters", isSignal: true, isRequired: false, transformFunction: null }, hiddenSeriesIds: { classPropertyName: "hiddenSeriesIds", publicName: "hiddenSeriesIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hiddenSeriesIds: "hiddenSeriesIdsChange", interactionChange: "interactionChange", planningError: "planningError", viewportChange: "viewportChange" }, queries: [{ propertyName: "tooltipTemplate", first: true, predicate: NativeChartTooltipTemplate, descendants: true, isSignal: true }], ngImport: i0, template: `@if(renderActive()){@if(data().type==='wordcloud'){<nc-wordcloud-text-probes [probes]="wordMetrics().snapshot.probes" (measuredBounds)="acceptWordBounds($event)" (measurementFailed)="rejectWordBounds($event.token)"/>}@if(scene();as projected){
|
|
368
|
+
@if(regressionNotice();as notice){<view testID="chart-regression-status" style="padding:12px"><text [style.color]="noticeColor()" style="font-size:14px;line-height:20px">{{notice}}</text></view>}
|
|
369
|
+
@if(circularNotice();as notice){<view testID="chart-circular-status" style="padding:12px"><text [style.color]="noticeColor()" style="font-size:14px;line-height:20px">{{notice}}</text></view>}
|
|
370
|
+
<neu-c-scene [scene]="projected"
|
|
371
|
+
[viewportContext]="viewportContext()" (viewportRequest)="requestViewport($event)"
|
|
372
|
+
[locale]="options().appearance?.locale??'es'" [theme]="options().appearance?.theme??'system'"
|
|
373
|
+
[showDendrogramAxis]="parallelAxes().visible" [showParallelAxes]="parallelAxes().visible" [showParallelNames]="parallelAxes().labels" [showParallelTicks]="parallelAxes().ticks" [showColorAxis]="options().colorAxis?.visible??true" [showLegend]="data().type==='heatmap'?false:(options().legend?.visible??true)" [legendPosition]="options().legend?.position??'top'" [legendInteractive]="options().legend?.interactive??true"
|
|
374
|
+
[showGrid]="data().type==='dendrogram'?(parallelAxes().visible):data().type==='pictorial'?false:(options().axes?.grid??true)" [showXAxis]="physicalAxes().x?.visible??true" [showYAxis]="data().type==='pictorial'?false:(physicalAxes().y?.visible??true)"
|
|
375
|
+
[showSecondaryYAxis]="data().type==='mixed'?(physicalAxes().secondary?.visible??true):undefined" [secondaryYAxisTitle]="physicalAxes().secondary?.title??''" [secondaryYAxisTitleStyle]="physicalAxes().secondary?.titleStyle"
|
|
376
|
+
[xAxisTitle]="physicalAxes().x?.title??''" [yAxisTitle]="physicalAxes().y?.title??''"
|
|
377
|
+
[titleStyle]="options().appearance?.title ?? undefined" [subtitleStyle]="options().appearance?.subtitle ?? undefined" [xAxisTitleStyle]="physicalAxes().x?.titleStyle ?? undefined" [yAxisTitleStyle]="physicalAxes().y?.titleStyle ?? undefined"
|
|
378
|
+
[tooltipMode]="options().tooltip?.mode??'floating'" [tooltipContent]="options().tooltip?.content??'point'" [tooltipPinnable]="options().tooltip?.pinnable??false" [showCrosshair]="options().tooltip?.crosshair??false"
|
|
379
|
+
[tooltipTemplate]="tooltipTemplate()?.template" [labelFormatters]="labelFormatters()"
|
|
380
|
+
[animationEnabled]="options().animation?.enabled??true" [skipEntrance]="suppressResumeMotion()" [animationDuration]="options().animation?.durationMs??1100" [animationKey]="options().animation?.revision??0"
|
|
381
|
+
[interactionMode]="options().interaction?.mode??'explore'" [hapticsEnabled]="options().interaction?.haptics??true"
|
|
382
|
+
[selectionControls]="options().interaction?.selectionControls??true"
|
|
383
|
+
[dataLabelLayout]="options().appearance?.dataLabelLayout??'auto'" [axisLabelLayout]="options().appearance?.axisLabelLayout??'auto'"
|
|
384
|
+
[plotHeight]="options().appearance?.plotHeight??260" [minPlotWidth]="options().appearance?.minPlotWidth??0" [strokeWidth]="options().appearance?.lineWidth??2" [markerSize]="options().appearance?.markers?.diameter??6"
|
|
385
|
+
[showMarkers]="options().appearance?.markers?.visible??true" [showDataLabels]="options().appearance?.dataLabels??defaultDataLabels()" [showStackLabels]="stackLabels()"
|
|
386
|
+
[markerStyle]="markerAppearance()"
|
|
387
|
+
(viewportChange)="viewport.set($event)" (legendChange)="hiddenSeriesIds.set($event)" (interactionChange)="forwardInteraction($event)" />
|
|
388
|
+
}@else if(diagnostic();as error){<view accessibilityRole="alert"><text>{{error.message}}</text></view>}}`, isInline: true, styles: [":host{display:flex;flex-direction:column;min-width:0;align-self:stretch;}"], dependencies: [{ kind: "component", type: NativeSceneChart, selector: "neu-c-scene, nc-native-chart", inputs: ["scene", "viewportContext", "hapticsEnabled", "showColorAxis", "showLegend", "legendPosition", "legendInteractive", "showDendrogramAxis", "showParallelAxes", "showParallelNames", "showParallelTicks", "showGrid", "showXAxis", "showYAxis", "showSecondaryYAxis", "secondaryYAxisTitle", "secondaryYAxisTitleStyle", "xAxisTitle", "yAxisTitle", "titleStyle", "subtitleStyle", "xAxisTitleStyle", "yAxisTitleStyle", "locale", "theme", "tooltipMode", "tooltipContent", "tooltipPinnable", "tooltipTemplate", "labelFormatters", "showCrosshair", "showMarkers", "showDataLabels", "dataLabelLayout", "axisLabelLayout", "showStackLabels", "strokeWidth", "markerSize", "markerStyle", "plotHeight", "minPlotWidth", "interactionMode", "selectionControls", "animationEnabled", "animationDuration", "animationKey", "active", "skipEntrance"], outputs: ["viewportChange", "viewportRequest", "interactionChange", "legendChange"] }, { kind: "directive", type: View, selector: "view" }, { kind: "directive", type: Text, selector: "text", inputs: ["numberOfLines", "ellipsizeMode", "selectable", "selectionColor", "allowFontScaling", "maxFontSizeMultiplier", "dynamicTypeRamp", "adjustsFontSizeToFit", "minimumFontScale", "lineBreakStrategyIOS", "textBreakStrategy", "dataDetectorType", "android_hyphenationFrequency", "pressable", "suppressHighlighting"], exportAs: ["text"] }, { kind: "component", type: WordCloudTextProbes, selector: "nc-wordcloud-text-probes", inputs: ["probes"], outputs: ["measuredLayout", "measuredText", "measuredBounds", "measurementFailed"] }] });
|
|
389
|
+
}
|
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.3", ngImport: i0, type: NativeDataChart, decorators: [{
|
|
391
|
+
type: Component,
|
|
392
|
+
args: [{ selector: 'neu-c-chart, nc-chart', imports: [NativeSceneChart, View, Text, WordCloudTextProbes], template: `@if(renderActive()){@if(data().type==='wordcloud'){<nc-wordcloud-text-probes [probes]="wordMetrics().snapshot.probes" (measuredBounds)="acceptWordBounds($event)" (measurementFailed)="rejectWordBounds($event.token)"/>}@if(scene();as projected){
|
|
393
|
+
@if(regressionNotice();as notice){<view testID="chart-regression-status" style="padding:12px"><text [style.color]="noticeColor()" style="font-size:14px;line-height:20px">{{notice}}</text></view>}
|
|
394
|
+
@if(circularNotice();as notice){<view testID="chart-circular-status" style="padding:12px"><text [style.color]="noticeColor()" style="font-size:14px;line-height:20px">{{notice}}</text></view>}
|
|
395
|
+
<neu-c-scene [scene]="projected"
|
|
396
|
+
[viewportContext]="viewportContext()" (viewportRequest)="requestViewport($event)"
|
|
397
|
+
[locale]="options().appearance?.locale??'es'" [theme]="options().appearance?.theme??'system'"
|
|
398
|
+
[showDendrogramAxis]="parallelAxes().visible" [showParallelAxes]="parallelAxes().visible" [showParallelNames]="parallelAxes().labels" [showParallelTicks]="parallelAxes().ticks" [showColorAxis]="options().colorAxis?.visible??true" [showLegend]="data().type==='heatmap'?false:(options().legend?.visible??true)" [legendPosition]="options().legend?.position??'top'" [legendInteractive]="options().legend?.interactive??true"
|
|
399
|
+
[showGrid]="data().type==='dendrogram'?(parallelAxes().visible):data().type==='pictorial'?false:(options().axes?.grid??true)" [showXAxis]="physicalAxes().x?.visible??true" [showYAxis]="data().type==='pictorial'?false:(physicalAxes().y?.visible??true)"
|
|
400
|
+
[showSecondaryYAxis]="data().type==='mixed'?(physicalAxes().secondary?.visible??true):undefined" [secondaryYAxisTitle]="physicalAxes().secondary?.title??''" [secondaryYAxisTitleStyle]="physicalAxes().secondary?.titleStyle"
|
|
401
|
+
[xAxisTitle]="physicalAxes().x?.title??''" [yAxisTitle]="physicalAxes().y?.title??''"
|
|
402
|
+
[titleStyle]="options().appearance?.title ?? undefined" [subtitleStyle]="options().appearance?.subtitle ?? undefined" [xAxisTitleStyle]="physicalAxes().x?.titleStyle ?? undefined" [yAxisTitleStyle]="physicalAxes().y?.titleStyle ?? undefined"
|
|
403
|
+
[tooltipMode]="options().tooltip?.mode??'floating'" [tooltipContent]="options().tooltip?.content??'point'" [tooltipPinnable]="options().tooltip?.pinnable??false" [showCrosshair]="options().tooltip?.crosshair??false"
|
|
404
|
+
[tooltipTemplate]="tooltipTemplate()?.template" [labelFormatters]="labelFormatters()"
|
|
405
|
+
[animationEnabled]="options().animation?.enabled??true" [skipEntrance]="suppressResumeMotion()" [animationDuration]="options().animation?.durationMs??1100" [animationKey]="options().animation?.revision??0"
|
|
406
|
+
[interactionMode]="options().interaction?.mode??'explore'" [hapticsEnabled]="options().interaction?.haptics??true"
|
|
407
|
+
[selectionControls]="options().interaction?.selectionControls??true"
|
|
408
|
+
[dataLabelLayout]="options().appearance?.dataLabelLayout??'auto'" [axisLabelLayout]="options().appearance?.axisLabelLayout??'auto'"
|
|
409
|
+
[plotHeight]="options().appearance?.plotHeight??260" [minPlotWidth]="options().appearance?.minPlotWidth??0" [strokeWidth]="options().appearance?.lineWidth??2" [markerSize]="options().appearance?.markers?.diameter??6"
|
|
410
|
+
[showMarkers]="options().appearance?.markers?.visible??true" [showDataLabels]="options().appearance?.dataLabels??defaultDataLabels()" [showStackLabels]="stackLabels()"
|
|
411
|
+
[markerStyle]="markerAppearance()"
|
|
412
|
+
(viewportChange)="viewport.set($event)" (legendChange)="hiddenSeriesIds.set($event)" (interactionChange)="forwardInteraction($event)" />
|
|
413
|
+
}@else if(diagnostic();as error){<view accessibilityRole="alert"><text>{{error.message}}</text></view>}}`, styles: [":host{display:flex;flex-direction:column;min-width:0;align-self:stretch;}"] }]
|
|
414
|
+
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], labelFormatters: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelFormatters", required: false }] }], tooltipTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => NativeChartTooltipTemplate), { isSignal: true }] }], hiddenSeriesIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenSeriesIds", required: false }] }, { type: i0.Output, args: ["hiddenSeriesIdsChange"] }], interactionChange: [{ type: i0.Output, args: ["interactionChange"] }], planningError: [{ type: i0.Output, args: ["planningError"] }], viewportChange: [{ type: i0.Output, args: ["viewportChange"] }] } });
|
|
415
|
+
//# sourceMappingURL=data-chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-chart.js","sourceRoot":"","sources":["../../src/native/data-chart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface DataIdentities {
|
|
2
|
+
readonly series: ReadonlyMap<string, ReadonlySet<string>>;
|
|
3
|
+
readonly categories: ReadonlySet<string>;
|
|
4
|
+
readonly xKind: unknown;
|
|
5
|
+
}
|
|
6
|
+
/** Input references are immutable by contract. Inspect identity fields once;
|
|
7
|
+
* never invoke accessors or normalize values during a style-only change. */
|
|
8
|
+
export declare function dataIdentities(data: unknown): DataIdentities | null;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=data-identities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-identities.d.ts","sourceRoot":"","sources":["../../src/native/data-identities.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IAAE,QAAQ,CAAC,MAAM,EAAC,WAAW,CAAC,MAAM,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,QAAQ,CAAC,UAAU,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAAA,QAAQ,CAAC,KAAK,EAAC,OAAO,CAAC;CAAC;AAGlJ;4EAC4E;AAC5E,wBAAgB,cAAc,CAAC,IAAI,EAAC,OAAO,GAAE,cAAc,GAAC,IAAI,CAqB/D"}
|