@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 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-motion.js","sourceRoot":"","sources":["../../src/native/tooltip-motion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { NativeScene } from '../library/contracts.js';
|
|
2
|
+
export interface TooltipOccupancy {
|
|
3
|
+
readonly width: number;
|
|
4
|
+
readonly height: number;
|
|
5
|
+
readonly columns: number;
|
|
6
|
+
readonly rows: number;
|
|
7
|
+
readonly integral: Float32Array;
|
|
8
|
+
}
|
|
9
|
+
/** A bounded display-density estimate, memoized per scene/layout by the host.
|
|
10
|
+
* 512 samples and a 24×20 summed-area grid; candidate scoring is constant time. */
|
|
11
|
+
export declare function tooltipOccupancy(scene: NativeScene, viewport: Readonly<{
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}>, visibleWidth: number, scrollX?: number): TooltipOccupancy;
|
|
15
|
+
export declare function tooltipOverlap(map: TooltipOccupancy, box: Readonly<{
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
}>): number;
|
|
21
|
+
//# sourceMappingURL=tooltip-occupancy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-occupancy.d.ts","sourceRoot":"","sources":["../../src/native/tooltip-occupancy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAGzD,MAAM,WAAW,gBAAgB;IAAC,QAAQ,CAAC,KAAK,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,MAAM,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,OAAO,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,QAAQ,EAAC,YAAY,CAAC;CAAC;AAC5J;mFACmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC,CAAC,EAAC,YAAY,EAAC,MAAM,EAAC,OAAO,SAAE,GAAE,gBAAgB,CA2BjJ;AACD,wBAAgB,cAAc,CAAC,GAAG,EAAC,gBAAgB,EAAC,GAAG,EAAC,QAAQ,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC,CAAC,GAAE,MAAM,CAKvH"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { sceneTransform } from '../library/scene.js';
|
|
2
|
+
/** A bounded display-density estimate, memoized per scene/layout by the host.
|
|
3
|
+
* 512 samples and a 24×20 summed-area grid; candidate scoring is constant time. */
|
|
4
|
+
export function tooltipOccupancy(scene, viewport, visibleWidth, scrollX = 0) {
|
|
5
|
+
const columns = 24, rows = 20, stride = columns + 1, difference = new Float32Array((columns + 1) * (rows + 1));
|
|
6
|
+
const width = Math.max(1, visibleWidth), height = Math.max(1, viewport.height), t = sceneTransform(scene, viewport);
|
|
7
|
+
const samples = scene.observations, regression = scene.family === 'regression', count = regression ? samples.reduce((n, p) => n + (p.regression?.type === 'fit' ? 0 : 1), 0) : samples.length, step = Math.max(1, Math.ceil(count / 512));
|
|
8
|
+
let sourceIndex = 0;
|
|
9
|
+
for (let i = 0; i < samples.length; i += regression ? 1 : step) {
|
|
10
|
+
// The fitted segment owns a generous touch strip, not a filled polygon.
|
|
11
|
+
// Counting its bounding rectangle would invent occlusion across the plot.
|
|
12
|
+
if (samples[i]?.regression?.type === 'fit')
|
|
13
|
+
continue;
|
|
14
|
+
if (regression && sourceIndex++ % step !== 0)
|
|
15
|
+
continue;
|
|
16
|
+
const p = samples[i];
|
|
17
|
+
let left = p.x - 6, top = p.y - 6, right = p.x + 6, bottom = p.y + 6;
|
|
18
|
+
if (p.hit?.type === 'polygon') {
|
|
19
|
+
const vertices = p.hit.vertices;
|
|
20
|
+
left = Infinity;
|
|
21
|
+
top = Infinity;
|
|
22
|
+
right = -Infinity;
|
|
23
|
+
bottom = -Infinity;
|
|
24
|
+
for (let j = 0; j < vertices.length; j += Math.max(1, Math.ceil(vertices.length / 64))) {
|
|
25
|
+
const v = vertices[j];
|
|
26
|
+
left = Math.min(left, v.x);
|
|
27
|
+
top = Math.min(top, v.y);
|
|
28
|
+
right = Math.max(right, v.x);
|
|
29
|
+
bottom = Math.max(bottom, v.y);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (p.hit?.type === 'circle') {
|
|
33
|
+
const h = p.hit;
|
|
34
|
+
left = h.cx - h.radius;
|
|
35
|
+
right = h.cx + h.radius;
|
|
36
|
+
top = h.cy - h.radius;
|
|
37
|
+
bottom = h.cy + h.radius;
|
|
38
|
+
}
|
|
39
|
+
left = t.x + left * t.sx - scrollX;
|
|
40
|
+
right = t.x + right * t.sx - scrollX;
|
|
41
|
+
top = t.y + top * t.sy;
|
|
42
|
+
bottom = t.y + bottom * t.sy;
|
|
43
|
+
if (right < 0 || left > width || bottom < 0 || top > height)
|
|
44
|
+
continue;
|
|
45
|
+
const x1 = Math.max(0, Math.min(columns - 1, Math.floor(left / width * columns))), x2 = Math.max(x1 + 1, Math.min(columns, Math.ceil(right / width * columns)));
|
|
46
|
+
const y1 = Math.max(0, Math.min(rows - 1, Math.floor(top / height * rows))), y2 = Math.max(y1 + 1, Math.min(rows, Math.ceil(bottom / height * rows)));
|
|
47
|
+
difference[y1 * stride + x1] += 1;
|
|
48
|
+
difference[y1 * stride + x2] -= 1;
|
|
49
|
+
difference[y2 * stride + x1] -= 1;
|
|
50
|
+
difference[y2 * stride + x2] += 1;
|
|
51
|
+
}
|
|
52
|
+
const integral = new Float32Array((columns + 1) * (rows + 1));
|
|
53
|
+
for (let y = 0; y < rows; y++)
|
|
54
|
+
for (let x = 0; x < columns; x++) {
|
|
55
|
+
const i = y * stride + x;
|
|
56
|
+
difference[i] += (x ? difference[i - 1] : 0) + (y ? difference[i - stride] : 0) - (x && y ? difference[i - stride - 1] : 0);
|
|
57
|
+
integral[(y + 1) * stride + x + 1] = difference[i] + integral[(y + 1) * stride + x] + integral[y * stride + x + 1] - integral[y * stride + x];
|
|
58
|
+
}
|
|
59
|
+
return { width, height, columns, rows, integral };
|
|
60
|
+
}
|
|
61
|
+
export function tooltipOverlap(map, box) {
|
|
62
|
+
const { columns, rows, width, height, integral } = map, stride = columns + 1;
|
|
63
|
+
const x1 = Math.max(0, Math.min(columns, Math.floor(box.x / width * columns))), x2 = Math.max(0, Math.min(columns, Math.ceil((box.x + box.width) / width * columns)));
|
|
64
|
+
const y1 = Math.max(0, Math.min(rows, Math.floor(box.y / height * rows))), y2 = Math.max(0, Math.min(rows, Math.ceil((box.y + box.height) / height * rows)));
|
|
65
|
+
return integral[y2 * stride + x2] - integral[y1 * stride + x2] - integral[y2 * stride + x1] + integral[y1 * stride + x1];
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=tooltip-occupancy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-occupancy.js","sourceRoot":"","sources":["../../src/native/tooltip-occupancy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { ChartFamily } from '../library/contracts.js';
|
|
2
|
+
import { type LayoutEvent } from '@ng-native/components';
|
|
3
|
+
import type { Observation } from '../library/contracts.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** Presentation only. The chart owns selection and bounded positioning. */
|
|
6
|
+
export declare class NativeTooltip {
|
|
7
|
+
private lastLayout;
|
|
8
|
+
readonly point: import("@angular/core").InputSignal<Readonly<{
|
|
9
|
+
readonly valueAxis?: "primary" | "secondary";
|
|
10
|
+
readonly fan?: import("../library/uncertainty-scene.ts").NativeFanValue;
|
|
11
|
+
readonly regression?: import("../library/uncertainty-scene.ts").NativeRegressionValue;
|
|
12
|
+
readonly flame?: import("../library/profile-scene.ts").NativeFlameValue;
|
|
13
|
+
readonly violin?: import("../library/profile-scene.ts").NativeViolinValue;
|
|
14
|
+
readonly dendrogram?: import("../library/dendrogram-scene.ts").NativeDendrogramValue;
|
|
15
|
+
readonly parallel?: import("../library/parallel-scene.ts").NativeParallelValue;
|
|
16
|
+
readonly heatmap?: import("../library/heatmap-scene.ts").NativeHeatmapValue;
|
|
17
|
+
readonly venn?: import("@neural-charts/core/plan").PlanVennValue;
|
|
18
|
+
readonly pictorial?: import("@neural-charts/core/plan").PlanPictorialValue;
|
|
19
|
+
readonly tilemap?: import("../library/tilemap-scene.ts").NativeTilemapValue;
|
|
20
|
+
readonly contour?: import("@neural-charts/core/plan").PlanContourValue;
|
|
21
|
+
readonly relationship?: import("@neural-charts/core/plan").PlanRelationshipMetadata;
|
|
22
|
+
readonly bullet?: import("../library/comparison-scene.ts").ComparisonPoint["bullet"];
|
|
23
|
+
readonly variwide?: import("../library/comparison-scene.ts").ComparisonPoint["variwide"];
|
|
24
|
+
id: import("./index.ts").DatumId;
|
|
25
|
+
label: string;
|
|
26
|
+
seriesName: string;
|
|
27
|
+
value: number;
|
|
28
|
+
readonly sankey?: (Readonly<{
|
|
29
|
+
type: "node";
|
|
30
|
+
incoming: number;
|
|
31
|
+
outgoing: number;
|
|
32
|
+
}> | Readonly<{
|
|
33
|
+
type: "link";
|
|
34
|
+
from: string;
|
|
35
|
+
to: string;
|
|
36
|
+
fromLabel: string;
|
|
37
|
+
toLabel: string;
|
|
38
|
+
}>) & Readonly<{
|
|
39
|
+
geometryOmitted?: true;
|
|
40
|
+
}>;
|
|
41
|
+
readonly interval?: Readonly<{
|
|
42
|
+
type: "linear" | "time";
|
|
43
|
+
rowId: string;
|
|
44
|
+
rowLabel: string;
|
|
45
|
+
start: number;
|
|
46
|
+
end: number;
|
|
47
|
+
duration: number;
|
|
48
|
+
completed?: number | null;
|
|
49
|
+
}>;
|
|
50
|
+
readonly event?: Readonly<{
|
|
51
|
+
type: "linear" | "time";
|
|
52
|
+
coordinate: number;
|
|
53
|
+
title: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
}>;
|
|
56
|
+
readonly vector?: Readonly<{
|
|
57
|
+
dx: number;
|
|
58
|
+
dy: number;
|
|
59
|
+
}>;
|
|
60
|
+
readonly wind?: Readonly<{
|
|
61
|
+
direction: number | null;
|
|
62
|
+
}>;
|
|
63
|
+
readonly yValue?: number;
|
|
64
|
+
readonly node?: Readonly<{
|
|
65
|
+
incoming: number;
|
|
66
|
+
outgoing: number;
|
|
67
|
+
} & ({
|
|
68
|
+
depth: number;
|
|
69
|
+
directed?: true;
|
|
70
|
+
} | {
|
|
71
|
+
directed: false;
|
|
72
|
+
depth?: never;
|
|
73
|
+
})>;
|
|
74
|
+
readonly stem?: Readonly<{
|
|
75
|
+
x: number;
|
|
76
|
+
startY: number;
|
|
77
|
+
endY: number;
|
|
78
|
+
}>;
|
|
79
|
+
readonly minimumValue?: number;
|
|
80
|
+
readonly q1Value?: number;
|
|
81
|
+
readonly medianValue?: number;
|
|
82
|
+
readonly q3Value?: number;
|
|
83
|
+
readonly maximumValue?: number;
|
|
84
|
+
readonly lowValue?: number;
|
|
85
|
+
readonly highValue?: number;
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
color: string;
|
|
89
|
+
hit?: import("./index.ts").HitRegion;
|
|
90
|
+
sizeValue?: number;
|
|
91
|
+
xValue?: number;
|
|
92
|
+
percentage?: number;
|
|
93
|
+
subtotal?: boolean;
|
|
94
|
+
incomplete?: boolean;
|
|
95
|
+
valueUnit?: "%";
|
|
96
|
+
computedKind?: "subtotal" | "total";
|
|
97
|
+
group?: import("./index.ts").ObservationGroup;
|
|
98
|
+
}>>;
|
|
99
|
+
readonly compactHeight: import("@angular/core").InputSignal<number | undefined>;
|
|
100
|
+
readonly detailRows: import("@angular/core").InputSignal<readonly string[] | undefined>;
|
|
101
|
+
readonly shared: import("@angular/core").InputSignal<Readonly<{
|
|
102
|
+
key: string;
|
|
103
|
+
label: string;
|
|
104
|
+
coordinate: number;
|
|
105
|
+
points: readonly Observation[];
|
|
106
|
+
rows: readonly Readonly<{
|
|
107
|
+
seriesId: string;
|
|
108
|
+
name: string;
|
|
109
|
+
color: string;
|
|
110
|
+
point: Observation | null;
|
|
111
|
+
}>[];
|
|
112
|
+
}> | undefined>;
|
|
113
|
+
readonly allowScroll: import("@angular/core").InputSignal<boolean>;
|
|
114
|
+
readonly pinned: import("@angular/core").InputSignal<boolean>;
|
|
115
|
+
readonly maximumHeight: import("@angular/core").InputSignal<number>;
|
|
116
|
+
readonly dismiss: import("@angular/core").OutputEmitterRef<void>;
|
|
117
|
+
readonly unit: import("@angular/core").InputSignal<string>;
|
|
118
|
+
readonly secondaryUnit: import("@angular/core").InputSignal<string>;
|
|
119
|
+
readonly xTitle: import("@angular/core").InputSignal<string>;
|
|
120
|
+
readonly locale: import("@angular/core").InputSignal<"es" | "en">;
|
|
121
|
+
readonly dark: import("@angular/core").InputSignal<boolean>;
|
|
122
|
+
readonly measured: import("@angular/core").OutputEmitterRef<Readonly<{
|
|
123
|
+
width: number;
|
|
124
|
+
height: number;
|
|
125
|
+
}>>;
|
|
126
|
+
private readonly formatter;
|
|
127
|
+
readonly family: import("@angular/core").InputSignal<ChartFamily>;
|
|
128
|
+
protected readonly formatted: import("@angular/core").Signal<string>;
|
|
129
|
+
protected pointUnit(point: Observation): string;
|
|
130
|
+
protected rowDetails(point: Observation): readonly string[];
|
|
131
|
+
protected pointValue(point: Observation): string;
|
|
132
|
+
private readonly percentageFormat;
|
|
133
|
+
protected readonly percentage: import("@angular/core").Signal<string>;
|
|
134
|
+
protected percentageValue(value: number): string;
|
|
135
|
+
protected readonly size: import("@angular/core").Signal<string>;
|
|
136
|
+
protected readonly details: import("@angular/core").Signal<readonly string[]>;
|
|
137
|
+
protected readonly xValue: import("@angular/core").Signal<string>;
|
|
138
|
+
protected number(value: number): string;
|
|
139
|
+
constructor();
|
|
140
|
+
protected measure(e: LayoutEvent): void;
|
|
141
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NativeTooltip, never>;
|
|
142
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NativeTooltip, "nc-native-tooltip", never, { "point": { "alias": "point"; "required": true; "isSignal": true; }; "compactHeight": { "alias": "compactHeight"; "required": false; "isSignal": true; }; "detailRows": { "alias": "detailRows"; "required": false; "isSignal": true; }; "shared": { "alias": "shared"; "required": false; "isSignal": true; }; "allowScroll": { "alias": "allowScroll"; "required": false; "isSignal": true; }; "pinned": { "alias": "pinned"; "required": false; "isSignal": true; }; "maximumHeight": { "alias": "maximumHeight"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "secondaryUnit": { "alias": "secondaryUnit"; "required": false; "isSignal": true; }; "xTitle": { "alias": "xTitle"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "dark": { "alias": "dark"; "required": false; "isSignal": true; }; "family": { "alias": "family"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; "measured": "measured"; }, never, never, true, never>;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/native/tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;;AAG3E,2EAA2E;AAC3E,qBAsCa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAkD;IACpE,QAAQ,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAayC,CAAC;;;;;;;;;qBAGtD,CADA;;;;;;uBAC0B,CAAC;;;;;;;;;;;;;;;oBAGwD,CAAC;;;iBAA4B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;QAnBtE;IAC7C,QAAQ,CAAC,aAAa,0DAAoC;IAC1D,QAAQ,CAAC,UAAU,qEAA+C;IAClE,QAAQ,CAAC,MAAM;;;;;;;;;;;oBAA6C;IAC5D,QAAQ,CAAC,WAAW,+CAAc;IAClC,QAAQ,CAAC,MAAM,+CAAc;IAC7B,QAAQ,CAAC,aAAa,8CAAY;IAClC,QAAQ,CAAC,OAAO,iDAAgB;IAChC,QAAQ,CAAC,IAAI,8CAAW;IAAA,QAAQ,CAAC,aAAa,8CAAW;IAAA,QAAQ,CAAC,MAAM,8CAAW;IAAA,QAAQ,CAAC,MAAM,mDAAwB;IAAA,QAAQ,CAAC,IAAI,+CAAc;IACrJ,QAAQ,CAAC,QAAQ;eAAwB,MAAM;gBAAQ,MAAM;QAAM;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,QAAQ,CAAC,MAAM,mDAA4B;IAC3C,SAAS,CAAC,QAAQ,CAAC,SAAS,yCAMzB;IACH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAC,WAAW,GAAE,MAAM;IAC7C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAC,WAAW,GAAE,SAAS,MAAM,EAAE;IACzD,SAAS,CAAC,UAAU,CAAC,KAAK,EAAC,WAAW,GAAE,MAAM;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuD;IACxF,SAAS,CAAC,QAAQ,CAAC,UAAU,yCAAmE;IAChG,SAAS,CAAC,eAAe,CAAC,KAAK,EAAC,MAAM,GAAE,MAAM;IAC9C,SAAS,CAAC,QAAQ,CAAC,IAAI,yCAA2D;IAClF,SAAS,CAAC,QAAQ,CAAC,OAAO,oDAA4H;IACtJ,SAAS,CAAC,QAAQ,CAAC,MAAM,yCAAwD;IACjF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAC,MAAM,GAAE,MAAM;;IAWrC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAC,WAAW,GAAE,IAAI;yCAzC1B,aAAa;2CAAb,aAAa;CA0CzB"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Component, computed, effect, input, output } from '@angular/core';
|
|
2
|
+
import { comparisonDetails } from './comparison-format.js';
|
|
3
|
+
import { relationshipPrimaryLabel } from './relationship-format.js';
|
|
4
|
+
import { observationValue, observationUnit, directionalDetails } from './observation-format.js';
|
|
5
|
+
import { Text, View, ScrollView, Pressable } from '@ng-native/components';
|
|
6
|
+
import { chartNumberFormatter, chartPercentageFormatter } from "./number-format.js";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/** Presentation only. The chart owns selection and bounded positioning. */
|
|
9
|
+
export class NativeTooltip {
|
|
10
|
+
lastLayout;
|
|
11
|
+
point = input.required(/* @ts-ignore */
|
|
12
|
+
...(ngDevMode ? [{ debugName: "point" }] : /* istanbul ignore next */ []));
|
|
13
|
+
compactHeight = input(undefined, /* @ts-ignore */
|
|
14
|
+
...(ngDevMode ? [{ debugName: "compactHeight" }] : /* istanbul ignore next */ []));
|
|
15
|
+
detailRows = input(undefined, /* @ts-ignore */
|
|
16
|
+
...(ngDevMode ? [{ debugName: "detailRows" }] : /* istanbul ignore next */ []));
|
|
17
|
+
shared = input(undefined, /* @ts-ignore */
|
|
18
|
+
...(ngDevMode ? [{ debugName: "shared" }] : /* istanbul ignore next */ []));
|
|
19
|
+
allowScroll = input(false, /* @ts-ignore */
|
|
20
|
+
...(ngDevMode ? [{ debugName: "allowScroll" }] : /* istanbul ignore next */ []));
|
|
21
|
+
pinned = input(false, /* @ts-ignore */
|
|
22
|
+
...(ngDevMode ? [{ debugName: "pinned" }] : /* istanbul ignore next */ []));
|
|
23
|
+
maximumHeight = input(220, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "maximumHeight" }] : /* istanbul ignore next */ []));
|
|
25
|
+
dismiss = output();
|
|
26
|
+
unit = input('', /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "unit" }] : /* istanbul ignore next */ []));
|
|
28
|
+
secondaryUnit = input('', /* @ts-ignore */
|
|
29
|
+
...(ngDevMode ? [{ debugName: "secondaryUnit" }] : /* istanbul ignore next */ []));
|
|
30
|
+
xTitle = input('', /* @ts-ignore */
|
|
31
|
+
...(ngDevMode ? [{ debugName: "xTitle" }] : /* istanbul ignore next */ []));
|
|
32
|
+
locale = input('es', /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []));
|
|
34
|
+
dark = input(false, /* @ts-ignore */
|
|
35
|
+
...(ngDevMode ? [{ debugName: "dark" }] : /* istanbul ignore next */ []));
|
|
36
|
+
measured = output();
|
|
37
|
+
formatter = computed(() => chartNumberFormatter(this.locale()), /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "formatter" }] : /* istanbul ignore next */ []));
|
|
39
|
+
family = input('line', /* @ts-ignore */
|
|
40
|
+
...(ngDevMode ? [{ debugName: "family" }] : /* istanbul ignore next */ []));
|
|
41
|
+
formatted = computed(() => {
|
|
42
|
+
const point = this.point(), format = this.formatter(), locale = this.locale();
|
|
43
|
+
if (this.family() === 'boxplot')
|
|
44
|
+
return (locale === 'en' ? 'Median: ' : 'Mediana: ') + format(point.medianValue ?? point.value);
|
|
45
|
+
// Compact tooltips may ellipsize the descriptor, but must retain the value.
|
|
46
|
+
if (point.relationship)
|
|
47
|
+
return format(point.value) + ' · ' + relationshipPrimaryLabel(point, locale);
|
|
48
|
+
return observationValue(point, this.family(), format, locale);
|
|
49
|
+
}, /* @ts-ignore */
|
|
50
|
+
...(ngDevMode ? [{ debugName: "formatted" }] : /* istanbul ignore next */ []));
|
|
51
|
+
pointUnit(point) { return observationUnit(point, this.family(), this.unit(), this.secondaryUnit()); }
|
|
52
|
+
rowDetails(point) { return comparisonDetails(point, this.locale(), this.formatter(), this.unit()).map(detail => detail.label + ': ' + detail.value); }
|
|
53
|
+
pointValue(point) { return observationValue(point, this.family(), this.formatter(), this.locale()); }
|
|
54
|
+
percentageFormat = computed(() => chartPercentageFormatter(this.locale()), /* @ts-ignore */
|
|
55
|
+
...(ngDevMode ? [{ debugName: "percentageFormat" }] : /* istanbul ignore next */ []));
|
|
56
|
+
percentage = computed(() => this.percentageFormat()(this.point().percentage ?? 0), /* @ts-ignore */
|
|
57
|
+
...(ngDevMode ? [{ debugName: "percentage" }] : /* istanbul ignore next */ []));
|
|
58
|
+
percentageValue(value) { return this.percentageFormat()(value); }
|
|
59
|
+
size = computed(() => this.formatter()(this.point().sizeValue ?? 0), /* @ts-ignore */
|
|
60
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
61
|
+
details = computed(() => this.detailRows() ?? directionalDetails(this.point(), this.formatter(), this.locale(), this.unit(), this.family()), /* @ts-ignore */
|
|
62
|
+
...(ngDevMode ? [{ debugName: "details" }] : /* istanbul ignore next */ []));
|
|
63
|
+
xValue = computed(() => this.formatter()(this.point().xValue ?? 0), /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "xValue" }] : /* istanbul ignore next */ []));
|
|
65
|
+
number(value) { return this.formatter()(value); }
|
|
66
|
+
constructor() {
|
|
67
|
+
effect(onCleanup => {
|
|
68
|
+
if (this.allowScroll() || this.compactHeight() !== undefined)
|
|
69
|
+
return;
|
|
70
|
+
this.point();
|
|
71
|
+
this.shared();
|
|
72
|
+
this.unit();
|
|
73
|
+
this.locale();
|
|
74
|
+
// Native onLayout need not fire when different text has exactly the same size.
|
|
75
|
+
// Reconfirm the latest layout after paint, retaining one cancellable frame.
|
|
76
|
+
let frame = requestAnimationFrame(() => { frame = requestAnimationFrame(() => { frame = 0; if (this.lastLayout)
|
|
77
|
+
this.measured.emit(this.lastLayout); }); });
|
|
78
|
+
onCleanup(() => { if (frame)
|
|
79
|
+
cancelAnimationFrame(frame); });
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
measure(e) { this.lastLayout = e.nativeEvent.layout; this.measured.emit(this.lastLayout); }
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.3", ngImport: i0, type: NativeTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.3", type: NativeTooltip, isStandalone: true, selector: "nc-native-tooltip", inputs: { point: { classPropertyName: "point", publicName: "point", isSignal: true, isRequired: true, transformFunction: null }, compactHeight: { classPropertyName: "compactHeight", publicName: "compactHeight", isSignal: true, isRequired: false, transformFunction: null }, detailRows: { classPropertyName: "detailRows", publicName: "detailRows", isSignal: true, isRequired: false, transformFunction: null }, shared: { classPropertyName: "shared", publicName: "shared", isSignal: true, isRequired: false, transformFunction: null }, allowScroll: { classPropertyName: "allowScroll", publicName: "allowScroll", isSignal: true, isRequired: false, transformFunction: null }, pinned: { classPropertyName: "pinned", publicName: "pinned", isSignal: true, isRequired: false, transformFunction: null }, maximumHeight: { classPropertyName: "maximumHeight", publicName: "maximumHeight", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, secondaryUnit: { classPropertyName: "secondaryUnit", publicName: "secondaryUnit", isSignal: true, isRequired: false, transformFunction: null }, xTitle: { classPropertyName: "xTitle", publicName: "xTitle", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null }, family: { classPropertyName: "family", publicName: "family", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismiss: "dismiss", measured: "measured" }, ngImport: i0, template: `<view class="tooltip" testID="chart-tooltip" [style.height]="compactHeight()" [pointerEvents]="allowScroll() ? 'auto' : 'none'" (layout)="measure($event)"
|
|
85
|
+
[style.backgroundColor]="dark()?'#17263A':'#FFFFFF'" [style.borderColor]="point().color">
|
|
86
|
+
@if(pinned()){
|
|
87
|
+
<view class="tooltip-heading"><text class="pinned-label" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{locale()==='en'?'Pinned':'Fijado'}}</text><pressable class="close" accessibilityRole="button" [accessibilityLabel]="locale()==='en'?'Close pinned tooltip':'Cerrar tooltip fijado'" (press)="dismiss.emit()"><text [style.color]="dark()?'#F2F6FC':'#172438'">{{locale()==='en'?'Close':'Cerrar'}}</text></pressable></view>
|
|
88
|
+
}
|
|
89
|
+
<scroll-view class="tooltip-body" testID="chart-tooltip-body" [style.maxHeight]="allowScroll()?maximumHeight():undefined" [nestedScrollEnabled]="true" [scrollEnabled]="allowScroll()">
|
|
90
|
+
<view class="tooltip-content">
|
|
91
|
+
@if(shared();as group){
|
|
92
|
+
<text class="label" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{group.label}}</text>
|
|
93
|
+
@for(row of group.rows;track row.seriesId){<view class="shared-row" [style.flexDirection]="family()==='boxplot'?'column':'row'">
|
|
94
|
+
<view class="swatch" [style.backgroundColor]="row.color" [accessible]="false"/>
|
|
95
|
+
<text class="row-name" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{row.name}}</text>
|
|
96
|
+
<view class="row-values" [style.maxWidth]="family()==='boxplot'?'100%':'45%'"><text class="row-value" [numberOfLines]="family()==='boxplot'?undefined:compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#F2F6FC':'#172438'">{{row.point ? pointValue(row.point)+' '+pointUnit(row.point) : locale()==='en'?'No value':'Sin dato'}}</text>
|
|
97
|
+
@if(row.point&&row.point.percentage!==undefined){<text class="row-percentage" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{percentageValue(row.point.percentage)}}%</text>}@if(row.point){@for(detail of rowDetails(row.point);track $index){<text class="row-percentage" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{detail}}</text>}}</view>
|
|
98
|
+
</view>}
|
|
99
|
+
}@else{
|
|
100
|
+
<text class="label" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{point().label}}{{family()!=='heatmap' && point().seriesName && point().seriesName!==point().label && point().seriesName!==unit() ? ' · '+point().seriesName : ''}}</text>
|
|
101
|
+
<text class="value" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#F2F6FC':'#172438'">{{formatted()}} {{pointUnit(point())}}</text>
|
|
102
|
+
@if(point().minimumValue!==undefined){<text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Minimum':'Mínimo'}}: {{number(point().minimumValue!)}} · Q1: {{number(point().q1Value!)}}</text><text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">Q3: {{number(point().q3Value!)}} · {{locale()==='en'?'Maximum':'Máximo'}}: {{number(point().maximumValue!)}}</text>}
|
|
103
|
+
@if(point().node;as node){@if(node.directed!==false){<text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Incoming':'Entrantes'}}: {{number(node.incoming)}} · {{locale()==='en'?'Outgoing':'Salientes'}}: {{number(node.outgoing)}}</text><text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Depth':'Profundidad'}}: {{number(node.depth)}}</text>}}
|
|
104
|
+
@if(point().subtotal){<text class="extra" [numberOfLines]="1" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?(point().incomplete?'Known subtotal · incomplete':'Subtotal'):(point().incomplete?'Subtotal conocido · incompleto':'Subtotal')}}</text>}
|
|
105
|
+
@if(point().computedKind){<text class="extra" [numberOfLines]="1" [style.color]="dark()?'#B6C8DD':'#536174'">{{point().computedKind==='total'?(locale()==='en'?'Calculated total':'Total calculado'):(locale()==='en'?'Calculated subtotal':'Subtotal calculado')}}</text>}
|
|
106
|
+
@for(detail of details();track $index){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{detail}}</text>}
|
|
107
|
+
@if(point().xValue !== undefined&&!point().interval&&!point().event){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{xTitle()||'X'}}: {{xValue()}}</text>}
|
|
108
|
+
@if(point().percentage !== undefined){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{percentage()}}%</text>}
|
|
109
|
+
@if(point().sizeValue !== undefined){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Size':'Tamaño'}}: {{size()}}</text>}
|
|
110
|
+
}
|
|
111
|
+
</view></scroll-view>
|
|
112
|
+
</view>`, isInline: true, styles: [":host{display:flex;min-width:0;} .tooltip{border-width:1px;border-radius:9px;overflow:hidden;}\n .tooltip-body{flex-grow:0;flex-shrink:1;} .tooltip-content{padding:12px;gap:3px;}\n .tooltip-heading{flex-direction:row;align-items:center;gap:8px;padding:8px;} .pinned-label{flex:1;font-size:13px;font-weight:600;} .close{min-height:48px;min-width:64px;padding:8px;align-items:center;justify-content:center;border-radius:6px;}\n .label{font-size:12px;line-height:16px;font-weight:500;} .value{font-size:19px;line-height:25px;font-weight:600;} .extra{font-size:12px;line-height:16px;}\n .shared-row{flex-direction:row;align-items:flex-start;gap:8px;padding-top:7px;padding-bottom:7px;}\n .swatch{width:8px;height:8px;border-radius:4px;flex-shrink:0;margin-top:4px;} .row-name{flex:1;min-width:0;font-size:13px;line-height:18px;} .row-values{flex-shrink:1;max-width:45%;gap:3px;} .row-value{font-size:13px;line-height:18px;font-weight:600;}.row-percentage{font-size:12px;line-height:16px;}"], dependencies: [{ 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: "directive", type: View, selector: "view" }, { kind: "component", type: ScrollView, selector: "scroll-view", inputs: ["contentContainerStyle", "contentContainerClass", "horizontal", "contentOffset", "maintainVisibleContentPosition", "keyboardShouldPersistTaps", "nestedScrollEnabled", "stickyHeaderIndices"], outputs: ["contentSizeChange"], exportAs: ["scrollView"] }, { kind: "directive", type: Pressable, selector: "pressable", exportAs: ["pressable"] }] });
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.3", ngImport: i0, type: NativeTooltip, decorators: [{
|
|
115
|
+
type: Component,
|
|
116
|
+
args: [{ selector: 'nc-native-tooltip', imports: [Text, View, ScrollView, Pressable], template: `<view class="tooltip" testID="chart-tooltip" [style.height]="compactHeight()" [pointerEvents]="allowScroll() ? 'auto' : 'none'" (layout)="measure($event)"
|
|
117
|
+
[style.backgroundColor]="dark()?'#17263A':'#FFFFFF'" [style.borderColor]="point().color">
|
|
118
|
+
@if(pinned()){
|
|
119
|
+
<view class="tooltip-heading"><text class="pinned-label" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{locale()==='en'?'Pinned':'Fijado'}}</text><pressable class="close" accessibilityRole="button" [accessibilityLabel]="locale()==='en'?'Close pinned tooltip':'Cerrar tooltip fijado'" (press)="dismiss.emit()"><text [style.color]="dark()?'#F2F6FC':'#172438'">{{locale()==='en'?'Close':'Cerrar'}}</text></pressable></view>
|
|
120
|
+
}
|
|
121
|
+
<scroll-view class="tooltip-body" testID="chart-tooltip-body" [style.maxHeight]="allowScroll()?maximumHeight():undefined" [nestedScrollEnabled]="true" [scrollEnabled]="allowScroll()">
|
|
122
|
+
<view class="tooltip-content">
|
|
123
|
+
@if(shared();as group){
|
|
124
|
+
<text class="label" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{group.label}}</text>
|
|
125
|
+
@for(row of group.rows;track row.seriesId){<view class="shared-row" [style.flexDirection]="family()==='boxplot'?'column':'row'">
|
|
126
|
+
<view class="swatch" [style.backgroundColor]="row.color" [accessible]="false"/>
|
|
127
|
+
<text class="row-name" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{row.name}}</text>
|
|
128
|
+
<view class="row-values" [style.maxWidth]="family()==='boxplot'?'100%':'45%'"><text class="row-value" [numberOfLines]="family()==='boxplot'?undefined:compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#F2F6FC':'#172438'">{{row.point ? pointValue(row.point)+' '+pointUnit(row.point) : locale()==='en'?'No value':'Sin dato'}}</text>
|
|
129
|
+
@if(row.point&&row.point.percentage!==undefined){<text class="row-percentage" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{percentageValue(row.point.percentage)}}%</text>}@if(row.point){@for(detail of rowDetails(row.point);track $index){<text class="row-percentage" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{detail}}</text>}}</view>
|
|
130
|
+
</view>}
|
|
131
|
+
}@else{
|
|
132
|
+
<text class="label" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#D6E2F2':'#3D4B60'">{{point().label}}{{family()!=='heatmap' && point().seriesName && point().seriesName!==point().label && point().seriesName!==unit() ? ' · '+point().seriesName : ''}}</text>
|
|
133
|
+
<text class="value" [numberOfLines]="compactHeight()!==undefined?1:allowScroll()?undefined:2" [style.color]="dark()?'#F2F6FC':'#172438'">{{formatted()}} {{pointUnit(point())}}</text>
|
|
134
|
+
@if(point().minimumValue!==undefined){<text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Minimum':'Mínimo'}}: {{number(point().minimumValue!)}} · Q1: {{number(point().q1Value!)}}</text><text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">Q3: {{number(point().q3Value!)}} · {{locale()==='en'?'Maximum':'Máximo'}}: {{number(point().maximumValue!)}}</text>}
|
|
135
|
+
@if(point().node;as node){@if(node.directed!==false){<text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Incoming':'Entrantes'}}: {{number(node.incoming)}} · {{locale()==='en'?'Outgoing':'Salientes'}}: {{number(node.outgoing)}}</text><text class="extra" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Depth':'Profundidad'}}: {{number(node.depth)}}</text>}}
|
|
136
|
+
@if(point().subtotal){<text class="extra" [numberOfLines]="1" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?(point().incomplete?'Known subtotal · incomplete':'Subtotal'):(point().incomplete?'Subtotal conocido · incompleto':'Subtotal')}}</text>}
|
|
137
|
+
@if(point().computedKind){<text class="extra" [numberOfLines]="1" [style.color]="dark()?'#B6C8DD':'#536174'">{{point().computedKind==='total'?(locale()==='en'?'Calculated total':'Total calculado'):(locale()==='en'?'Calculated subtotal':'Subtotal calculado')}}</text>}
|
|
138
|
+
@for(detail of details();track $index){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{detail}}</text>}
|
|
139
|
+
@if(point().xValue !== undefined&&!point().interval&&!point().event){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{xTitle()||'X'}}: {{xValue()}}</text>}
|
|
140
|
+
@if(point().percentage !== undefined){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{percentage()}}%</text>}
|
|
141
|
+
@if(point().sizeValue !== undefined){<text class="extra" [numberOfLines]="compactHeight()!==undefined?1:undefined" [style.color]="dark()?'#B6C8DD':'#536174'">{{locale()==='en'?'Size':'Tamaño'}}: {{size()}}</text>}
|
|
142
|
+
}
|
|
143
|
+
</view></scroll-view>
|
|
144
|
+
</view>`, styles: [":host{display:flex;min-width:0;} .tooltip{border-width:1px;border-radius:9px;overflow:hidden;}\n .tooltip-body{flex-grow:0;flex-shrink:1;} .tooltip-content{padding:12px;gap:3px;}\n .tooltip-heading{flex-direction:row;align-items:center;gap:8px;padding:8px;} .pinned-label{flex:1;font-size:13px;font-weight:600;} .close{min-height:48px;min-width:64px;padding:8px;align-items:center;justify-content:center;border-radius:6px;}\n .label{font-size:12px;line-height:16px;font-weight:500;} .value{font-size:19px;line-height:25px;font-weight:600;} .extra{font-size:12px;line-height:16px;}\n .shared-row{flex-direction:row;align-items:flex-start;gap:8px;padding-top:7px;padding-bottom:7px;}\n .swatch{width:8px;height:8px;border-radius:4px;flex-shrink:0;margin-top:4px;} .row-name{flex:1;min-width:0;font-size:13px;line-height:18px;} .row-values{flex-shrink:1;max-width:45%;gap:3px;} .row-value{font-size:13px;line-height:18px;font-weight:600;}.row-percentage{font-size:12px;line-height:16px;}"] }]
|
|
145
|
+
}], ctorParameters: () => [], propDecorators: { point: [{ type: i0.Input, args: [{ isSignal: true, alias: "point", required: true }] }], compactHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "compactHeight", required: false }] }], detailRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailRows", required: false }] }], shared: [{ type: i0.Input, args: [{ isSignal: true, alias: "shared", required: false }] }], allowScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowScroll", required: false }] }], pinned: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinned", required: false }] }], maximumHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maximumHeight", required: false }] }], dismiss: [{ type: i0.Output, args: ["dismiss"] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], secondaryUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryUnit", required: false }] }], xTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "xTitle", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], dark: [{ type: i0.Input, args: [{ isSignal: true, alias: "dark", required: false }] }], measured: [{ type: i0.Output, args: ["measured"] }], family: [{ type: i0.Input, args: [{ isSignal: true, alias: "family", required: false }] }] } });
|
|
146
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/native/tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/** Source estimates and intervals. Probabilities and forecasts are supplied by the caller. */
|
|
2
|
+
export interface NativeFanBand {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly coverage: number;
|
|
6
|
+
readonly color?: never;
|
|
7
|
+
}
|
|
8
|
+
export interface NativeFanInterval {
|
|
9
|
+
readonly bandId: string;
|
|
10
|
+
readonly low: number | null;
|
|
11
|
+
readonly high: number | null;
|
|
12
|
+
}
|
|
13
|
+
export interface NativeFanPoint<TX = string | number> {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly x: TX;
|
|
16
|
+
readonly value: number | null;
|
|
17
|
+
readonly intervals: readonly NativeFanInterval[];
|
|
18
|
+
readonly color?: never;
|
|
19
|
+
readonly datum?: never;
|
|
20
|
+
}
|
|
21
|
+
export interface NativeUncertaintyTicks {
|
|
22
|
+
readonly targetCount?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface NativeUncertaintyNumericAxis {
|
|
25
|
+
readonly type: 'linear';
|
|
26
|
+
readonly domain?: readonly [number, number];
|
|
27
|
+
readonly includeZero?: boolean;
|
|
28
|
+
readonly reversed?: boolean;
|
|
29
|
+
readonly nice?: boolean;
|
|
30
|
+
readonly ticks?: NativeUncertaintyTicks;
|
|
31
|
+
readonly title?: never;
|
|
32
|
+
readonly grid?: never;
|
|
33
|
+
readonly labels?: never;
|
|
34
|
+
}
|
|
35
|
+
export interface NativeFanCategory {
|
|
36
|
+
readonly id: string;
|
|
37
|
+
readonly label?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface NativeFanCategoryAxis {
|
|
40
|
+
readonly type: 'category';
|
|
41
|
+
readonly values: readonly NativeFanCategory[];
|
|
42
|
+
readonly edgeSpacing?: number;
|
|
43
|
+
readonly ticks?: NativeUncertaintyTicks;
|
|
44
|
+
readonly title?: never;
|
|
45
|
+
readonly grid?: never;
|
|
46
|
+
readonly labels?: never;
|
|
47
|
+
}
|
|
48
|
+
export interface NativeFanContinuousAxis {
|
|
49
|
+
readonly type: 'linear' | 'time';
|
|
50
|
+
readonly domain?: readonly [number, number];
|
|
51
|
+
readonly nice?: boolean;
|
|
52
|
+
readonly ticks?: NativeUncertaintyTicks;
|
|
53
|
+
readonly reversed?: never;
|
|
54
|
+
readonly includeZero?: never;
|
|
55
|
+
readonly title?: never;
|
|
56
|
+
readonly grid?: never;
|
|
57
|
+
readonly labels?: never;
|
|
58
|
+
}
|
|
59
|
+
export interface NativeFanBase {
|
|
60
|
+
readonly type: 'fan';
|
|
61
|
+
readonly bands: readonly NativeFanBand[];
|
|
62
|
+
readonly family?: never;
|
|
63
|
+
readonly title?: never;
|
|
64
|
+
readonly description?: never;
|
|
65
|
+
readonly centerName?: never;
|
|
66
|
+
readonly centerColor?: never;
|
|
67
|
+
}
|
|
68
|
+
export interface NativeFanCategoryData extends NativeFanBase {
|
|
69
|
+
readonly axes: Readonly<{
|
|
70
|
+
x: NativeFanCategoryAxis;
|
|
71
|
+
y: NativeUncertaintyNumericAxis;
|
|
72
|
+
}>;
|
|
73
|
+
readonly data: readonly NativeFanPoint<string>[];
|
|
74
|
+
}
|
|
75
|
+
export interface NativeFanNumericData extends NativeFanBase {
|
|
76
|
+
readonly axes: Readonly<{
|
|
77
|
+
x: NativeFanContinuousAxis;
|
|
78
|
+
y: NativeUncertaintyNumericAxis;
|
|
79
|
+
}>;
|
|
80
|
+
readonly data: readonly NativeFanPoint<number>[];
|
|
81
|
+
}
|
|
82
|
+
export type NativeFanData = NativeFanCategoryData | NativeFanNumericData;
|
|
83
|
+
export interface NativeRegressionPoint {
|
|
84
|
+
readonly id: string;
|
|
85
|
+
readonly x: number | null;
|
|
86
|
+
readonly y: number | null;
|
|
87
|
+
readonly color?: never;
|
|
88
|
+
readonly datum?: never;
|
|
89
|
+
}
|
|
90
|
+
export interface NativeRegressionSeries {
|
|
91
|
+
readonly id: string;
|
|
92
|
+
readonly name: string;
|
|
93
|
+
readonly data: readonly NativeRegressionPoint[];
|
|
94
|
+
readonly color?: never;
|
|
95
|
+
readonly markers?: never;
|
|
96
|
+
readonly datum?: never;
|
|
97
|
+
}
|
|
98
|
+
/** Original samples only. Derived fits retain independent IDs and visibility. */
|
|
99
|
+
export interface NativeRegressionData {
|
|
100
|
+
readonly type: 'regression';
|
|
101
|
+
readonly axes: Readonly<{
|
|
102
|
+
x: NativeUncertaintyNumericAxis;
|
|
103
|
+
y: NativeUncertaintyNumericAxis;
|
|
104
|
+
}>;
|
|
105
|
+
readonly series: readonly NativeRegressionSeries[];
|
|
106
|
+
readonly family?: never;
|
|
107
|
+
readonly title?: never;
|
|
108
|
+
readonly description?: never;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=uncertainty-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uncertainty-data.d.ts","sourceRoot":"","sources":["../../src/native/uncertainty-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uncertainty-data.js","sourceRoot":"","sources":["../../src/native/uncertainty-data.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { NativeRegressionLayout, Observation } from '../library/contracts.js';
|
|
2
|
+
export declare function regressionDetails(point: Observation, layout: NativeRegressionLayout | undefined, format: (n: number) => string, locale: 'en' | 'es'): readonly string[];
|
|
3
|
+
//# sourceMappingURL=uncertainty-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uncertainty-format.d.ts","sourceRoot":"","sources":["../../src/native/uncertainty-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,sBAAsB,GAAC,SAAS,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,MAAM,KAAG,MAAM,EAAC,MAAM,EAAC,IAAI,GAAC,IAAI,GAAE,SAAS,MAAM,EAAE,CAMxJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function regressionDetails(point, layout, format, locale) {
|
|
2
|
+
if (!point.regression)
|
|
3
|
+
return [];
|
|
4
|
+
const model = layout?.models.find(m => m.sourceSeriesId === point.regression.modelId), en = locale === 'en';
|
|
5
|
+
if (!model)
|
|
6
|
+
return [en ? 'Calculated fit from original samples' : 'Ajuste calculado desde las muestras originales'];
|
|
7
|
+
const counts = [(en ? 'Known pairs: ' : 'Pares conocidos: ') + format(model.sampleCount), (en ? 'Unknown pairs: ' : 'Pares desconocidos: ') + format(model.missingCount)];
|
|
8
|
+
return model.status === 'ready' ? [...counts, (en ? 'Slope: ' : 'Pendiente: ') + format(model.slope), (en ? 'Intercept: ' : 'Ordenada: ') + format(model.intercept), 'R²: ' + (model.rSquared === null ? (en ? 'Undefined for a constant response' : 'Indefinido para una respuesta constante') : format(model.rSquared))] : [...counts, model.status === 'constant-x' ? (en ? 'No fit: all known X values are equal' : 'Sin ajuste: todos los valores X conocidos son iguales') : (en ? 'No fit: at least two known XY pairs are required' : 'Sin ajuste: se necesitan al menos dos pares XY conocidos')];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=uncertainty-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uncertainty-format.js","sourceRoot":"","sources":["../../src/native/uncertainty-format.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,iBAAiB,CAAC,KAAiB,EAAC,MAAuC,EAAC,MAAyB,EAAC,MAAgB;IACpI,IAAG,CAAC,KAAK,CAAC,UAAU;QAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,cAAc,KAAG,KAAK,CAAC,UAAW,CAAC,OAAO,CAAC,EAAC,EAAE,GAAC,MAAM,KAAG,IAAI,CAAC;IAClG,IAAG,CAAC,KAAK;QAAC,OAAO,CAAC,EAAE,CAAA,CAAC,CAAA,sCAAsC,CAAA,CAAC,CAAA,gDAAgD,CAAC,CAAC;IAC9G,MAAM,MAAM,GAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAA,eAAe,CAAA,CAAC,CAAA,mBAAmB,CAAC,GAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAC,CAAC,EAAE,CAAA,CAAC,CAAA,iBAAiB,CAAA,CAAC,CAAA,sBAAsB,CAAC,GAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3J,OAAO,KAAK,CAAC,MAAM,KAAG,OAAO,CAAA,CAAC,CAAA,CAAC,GAAG,MAAM,EAAC,CAAC,EAAE,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,aAAa,CAAC,GAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,EAAE,CAAA,CAAC,CAAA,aAAa,CAAA,CAAC,CAAA,YAAY,CAAC,GAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC,MAAM,GAAC,CAAC,KAAK,CAAC,QAAQ,KAAG,IAAI,CAAA,CAAC,CAAA,CAAC,EAAE,CAAA,CAAC,CAAA,mCAAmC,CAAA,CAAC,CAAA,yCAAyC,CAAC,CAAA,CAAC,CAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,CAAA,CAAC,GAAG,MAAM,EAAC,KAAK,CAAC,MAAM,KAAG,YAAY,CAAA,CAAC,CAAA,CAAC,EAAE,CAAA,CAAC,CAAA,sCAAsC,CAAA,CAAC,CAAA,uDAAuD,CAAC,CAAA,CAAC,CAAA,CAAC,EAAE,CAAA,CAAC,CAAA,kDAAkD,CAAA,CAAC,CAAA,0DAA0D,CAAC,CAAC,CAAC;AAC7hB,CAAC"}
|