@unovis/ts 1.1.1-beta.6 → 1.1.1-beta.7
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/declaration.d.ts +1 -0
- package/index.ts +1 -0
- package/licences.txt +43 -0
- package/maps.ts +1 -0
- package/package.json +1 -1
- package/rollup.config.js +71 -0
- package/rules/ts-getter-setter.js +35 -0
- package/src/components/area/config.ts +29 -0
- package/src/components/area/index.ts +133 -0
- package/{components/area/style.js → src/components/area/style.ts} +9 -10
- package/src/components/area/types.ts +2 -0
- package/src/components/axis/config.ts +76 -0
- package/src/components/axis/index.ts +363 -0
- package/{components/axis/style.js → src/components/axis/style.ts} +27 -22
- package/src/components/axis/types.ts +4 -0
- package/src/components/brush/config.ts +51 -0
- package/src/components/brush/index.ts +233 -0
- package/{components/brush/style.js → src/components/brush/style.ts} +15 -14
- package/src/components/brush/types.ts +8 -0
- package/src/components/bullet-legend/config.ts +38 -0
- package/src/components/bullet-legend/index.ts +104 -0
- package/{components/bullet-legend/style.js → src/components/bullet-legend/style.ts} +18 -16
- package/src/components/bullet-legend/types.ts +7 -0
- package/src/components/chord-diagram/config.ts +53 -0
- package/src/components/chord-diagram/index.ts +401 -0
- package/src/components/chord-diagram/modules/label.ts +155 -0
- package/src/components/chord-diagram/modules/link.ts +91 -0
- package/src/components/chord-diagram/modules/node.ts +80 -0
- package/{components/chord-diagram/style.js → src/components/chord-diagram/style.ts} +39 -30
- package/src/components/chord-diagram/types.ts +68 -0
- package/src/components/crosshair/config.ts +48 -0
- package/src/components/crosshair/index.ts +220 -0
- package/{components/crosshair/style.js → src/components/crosshair/style.ts} +12 -12
- package/src/components/crosshair/types.ts +15 -0
- package/src/components/donut/config.ts +65 -0
- package/src/components/donut/index.ts +148 -0
- package/src/components/donut/modules/arc.ts +86 -0
- package/{components/donut/style.js → src/components/donut/style.ts} +20 -18
- package/src/components/donut/types.ts +17 -0
- package/src/components/flow-legend/config.ts +31 -0
- package/src/components/flow-legend/index.ts +103 -0
- package/{components/flow-legend/style.js → src/components/flow-legend/style.ts} +25 -21
- package/src/components/flow-legend/types.ts +10 -0
- package/src/components/free-brush/config.ts +54 -0
- package/src/components/free-brush/index.ts +207 -0
- package/{components/free-brush/style.js → src/components/free-brush/style.ts} +12 -12
- package/src/components/free-brush/types.ts +8 -0
- package/src/components/graph/config.ts +280 -0
- package/src/components/graph/index.ts +809 -0
- package/src/components/graph/modules/layout-helpers.ts +96 -0
- package/src/components/graph/modules/layout.ts +502 -0
- package/src/components/graph/modules/link/helper.ts +105 -0
- package/src/components/graph/modules/link/index.ts +302 -0
- package/{components/graph/modules/link/style.js → src/components/graph/modules/link/style.ts} +45 -34
- package/src/components/graph/modules/node/helper.ts +162 -0
- package/src/components/graph/modules/node/index.ts +343 -0
- package/{components/graph/modules/node/style.js → src/components/graph/modules/node/style.ts} +72 -52
- package/src/components/graph/modules/panel/helper.ts +160 -0
- package/src/components/graph/modules/panel/index.ts +137 -0
- package/{components/graph/modules/panel/style.js → src/components/graph/modules/panel/style.ts} +42 -32
- package/src/components/graph/modules/shape.ts +108 -0
- package/src/components/graph/modules/zoom-levels.ts +6 -0
- package/src/components/graph/style.ts +72 -0
- package/src/components/graph/types.ts +152 -0
- package/src/components/grouped-bar/config.ts +40 -0
- package/src/components/grouped-bar/index.ts +325 -0
- package/{components/grouped-bar/style.js → src/components/grouped-bar/style.ts} +15 -14
- package/src/components/leaflet-flow-map/config.ts +60 -0
- package/src/components/leaflet-flow-map/index.ts +279 -0
- package/src/components/leaflet-flow-map/renderer-utils.ts +14 -0
- package/src/components/leaflet-flow-map/renderer.ts +146 -0
- package/{components/leaflet-flow-map/shaders.js → src/components/leaflet-flow-map/shaders.ts} +4 -7
- package/src/components/leaflet-flow-map/types.ts +18 -0
- package/src/components/leaflet-map/config.ts +234 -0
- package/src/components/leaflet-map/index.ts +808 -0
- package/src/components/leaflet-map/leaflet.css +625 -0
- package/src/components/leaflet-map/modules/clusterBackground.ts +34 -0
- package/src/components/leaflet-map/modules/donut.ts +37 -0
- package/src/components/leaflet-map/modules/map.ts +178 -0
- package/src/components/leaflet-map/modules/node.ts +208 -0
- package/src/components/leaflet-map/modules/selectionRing.ts +63 -0
- package/src/components/leaflet-map/modules/utils.ts +290 -0
- package/{components → src/components}/leaflet-map/renderer/leaflet-maplibre-gl.js +76 -78
- package/src/components/leaflet-map/renderer/map-style.ts +24 -0
- package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json +35 -0
- package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json +35 -0
- package/src/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json +2185 -0
- package/src/components/leaflet-map/renderer/mapboxgl-layer.ts +43 -0
- package/src/components/leaflet-map/renderer/mapboxgl-utils.ts +40 -0
- package/{components → src/components}/leaflet-map/renderer/maplibre-gl.css.js +2 -4
- package/src/components/leaflet-map/style.ts +217 -0
- package/src/components/leaflet-map/types.ts +75 -0
- package/src/components/line/config.ts +34 -0
- package/src/components/line/index.ts +188 -0
- package/{components/line/style.js → src/components/line/style.ts} +18 -16
- package/src/components/line/types.ts +3 -0
- package/src/components/nested-donut/config.ts +75 -0
- package/src/components/nested-donut/index.ts +176 -0
- package/src/components/nested-donut/modules/arc.ts +78 -0
- package/src/components/nested-donut/modules/label.ts +63 -0
- package/src/components/nested-donut/style.ts +82 -0
- package/src/components/nested-donut/types.ts +29 -0
- package/src/components/sankey/config.ts +195 -0
- package/src/components/sankey/index.ts +387 -0
- package/src/components/sankey/modules/label.ts +228 -0
- package/src/components/sankey/modules/link.ts +141 -0
- package/src/components/sankey/modules/node.ts +221 -0
- package/{components/sankey/style.js → src/components/sankey/style.ts} +60 -44
- package/src/components/sankey/types.ts +95 -0
- package/src/components/scatter/config.ts +49 -0
- package/src/components/scatter/index.ts +220 -0
- package/src/components/scatter/modules/point.ts +123 -0
- package/src/components/scatter/modules/utils.ts +150 -0
- package/{components/scatter/style.js → src/components/scatter/style.ts} +15 -14
- package/src/components/scatter/types.ts +21 -0
- package/src/components/stacked-bar/config.ts +42 -0
- package/src/components/stacked-bar/index.ts +267 -0
- package/{components/stacked-bar/style.js → src/components/stacked-bar/style.ts} +15 -14
- package/src/components/stacked-bar/types.ts +5 -0
- package/src/components/timeline/config.ts +49 -0
- package/src/components/timeline/index.ts +302 -0
- package/{components/timeline/style.js → src/components/timeline/style.ts} +39 -30
- package/src/components/tooltip/config.ts +69 -0
- package/src/components/tooltip/index.ts +220 -0
- package/{components → src/components}/tooltip/style.js +11 -14
- package/src/components/topojson-map/config.ts +124 -0
- package/src/components/topojson-map/index.ts +436 -0
- package/{components/topojson-map/style.js → src/components/topojson-map/style.ts} +33 -26
- package/src/components/topojson-map/types.ts +123 -0
- package/src/components/topojson-map/utils.ts +29 -0
- package/src/components/vis-controls/config.ts +16 -0
- package/src/components/vis-controls/index.ts +68 -0
- package/{components/vis-controls/style.js → src/components/vis-controls/style.ts} +34 -27
- package/src/components/vis-controls/types.ts +14 -0
- package/src/components/xy-labels/config.ts +56 -0
- package/src/components/xy-labels/index.ts +109 -0
- package/src/components/xy-labels/modules/label.ts +140 -0
- package/{components/xy-labels/style.js → src/components/xy-labels/style.ts} +15 -14
- package/src/components/xy-labels/types.ts +26 -0
- package/src/components.ts +56 -0
- package/src/containers/single-container/config.ts +15 -0
- package/src/containers/single-container/index.ts +150 -0
- package/src/containers/xy-container/config.ts +112 -0
- package/src/containers/xy-container/index.ts +407 -0
- package/src/containers.ts +6 -0
- package/src/core/component/config.ts +61 -0
- package/src/core/component/index.ts +154 -0
- package/src/core/component/types.ts +9 -0
- package/src/core/config/index.ts +12 -0
- package/src/core/container/config.ts +56 -0
- package/src/core/container/index.ts +136 -0
- package/src/core/xy-component/config.ts +46 -0
- package/src/core/xy-component/index.ts +90 -0
- package/src/data-models/core.ts +15 -0
- package/src/data-models/graph.ts +138 -0
- package/src/data-models/map-graph.ts +72 -0
- package/src/data-models/map.ts +18 -0
- package/src/data-models/series.ts +16 -0
- package/src/index.ts +7 -0
- package/src/maps/china-provinces.json +1 -0
- package/src/maps/fr-regions.json +1 -0
- package/src/maps/germany-regions.json +1 -0
- package/src/maps/ind-regions.json +1 -0
- package/src/maps/uk-regions.json +1 -0
- package/src/maps/us-counties.json +1 -0
- package/src/maps/us-states.json +1 -0
- package/src/maps/world-110m-alpha.json +1 -0
- package/src/maps/world-simple.json +1 -0
- package/src/maps/world-simplest.json +1 -0
- package/src/maps.ts +34 -0
- package/src/styles/colors.ts +28 -0
- package/src/styles/index.ts +38 -0
- package/{styles/sizes.js → src/styles/sizes.ts} +6 -8
- package/src/types/accessor.ts +5 -0
- package/src/types/component.ts +15 -0
- package/src/types/curve.ts +62 -0
- package/src/types/data.ts +5 -0
- package/src/types/direction.ts +6 -0
- package/src/types/graph.ts +40 -0
- package/src/types/map.ts +5 -0
- package/src/types/misc.ts +10 -0
- package/src/types/position.ts +23 -0
- package/src/types/scale.ts +47 -0
- package/src/types/shape.ts +7 -0
- package/src/types/spacing.ts +6 -0
- package/src/types/svg.ts +32 -0
- package/src/types/symbol.ts +21 -0
- package/src/types/text.ts +71 -0
- package/src/types.ts +31 -0
- package/src/utils/color.ts +41 -0
- package/src/utils/d3.ts +15 -0
- package/src/utils/data.ts +328 -0
- package/src/utils/html.ts +13 -0
- package/src/utils/map.ts +29 -0
- package/src/utils/misc.ts +54 -0
- package/src/utils/path.ts +196 -0
- package/src/utils/scale.ts +1 -0
- package/src/utils/style.ts +37 -0
- package/src/utils/svg.ts +49 -0
- package/src/utils/text.ts +529 -0
- package/src/utils/type.ts +9 -0
- package/tsconfig.json +29 -0
- package/components/area/config.d.ts +0 -25
- package/components/area/config.js +0 -16
- package/components/area/config.js.map +0 -1
- package/components/area/index.d.ts +0 -19
- package/components/area/index.js +0 -102
- package/components/area/index.js.map +0 -1
- package/components/area/style.d.ts +0 -3
- package/components/area/style.js.map +0 -1
- package/components/area/types.d.ts +0 -6
- package/components/axis/config.d.ts +0 -71
- package/components/axis/config.js +0 -32
- package/components/axis/config.js.map +0 -1
- package/components/axis/index.d.ts +0 -44
- package/components/axis/index.js +0 -305
- package/components/axis/index.js.map +0 -1
- package/components/axis/style.d.ts +0 -9
- package/components/axis/style.js.map +0 -1
- package/components/axis/types.d.ts +0 -4
- package/components/axis/types.js +0 -8
- package/components/axis/types.js.map +0 -1
- package/components/brush/config.d.ts +0 -42
- package/components/brush/config.js +0 -24
- package/components/brush/config.js.map +0 -1
- package/components/brush/index.d.ts +0 -28
- package/components/brush/index.js +0 -199
- package/components/brush/index.js.map +0 -1
- package/components/brush/style.d.ts +0 -5
- package/components/brush/style.js.map +0 -1
- package/components/brush/types.d.ts +0 -7
- package/components/brush/types.js +0 -8
- package/components/brush/types.js.map +0 -1
- package/components/bullet-legend/config.d.ts +0 -34
- package/components/bullet-legend/config.js +0 -16
- package/components/bullet-legend/config.js.map +0 -1
- package/components/bullet-legend/index.d.ts +0 -19
- package/components/bullet-legend/index.js +0 -79
- package/components/bullet-legend/index.js.map +0 -1
- package/components/bullet-legend/style.d.ts +0 -6
- package/components/bullet-legend/style.js.map +0 -1
- package/components/bullet-legend/types.d.ts +0 -7
- package/components/bullet-legend/types.js +0 -2
- package/components/bullet-legend/types.js.map +0 -1
- package/components/chord-diagram/config.d.ts +0 -44
- package/components/chord-diagram/config.js +0 -25
- package/components/chord-diagram/config.js.map +0 -1
- package/components/chord-diagram/index.d.ts +0 -42
- package/components/chord-diagram/index.js +0 -305
- package/components/chord-diagram/index.js.map +0 -1
- package/components/chord-diagram/modules/label.d.ts +0 -8
- package/components/chord-diagram/modules/label.js +0 -115
- package/components/chord-diagram/modules/label.js.map +0 -1
- package/components/chord-diagram/modules/link.d.ts +0 -21
- package/components/chord-diagram/modules/link.js +0 -63
- package/components/chord-diagram/modules/link.js.map +0 -1
- package/components/chord-diagram/modules/node.d.ts +0 -17
- package/components/chord-diagram/modules/node.js +0 -52
- package/components/chord-diagram/modules/node.js.map +0 -1
- package/components/chord-diagram/style.d.ts +0 -13
- package/components/chord-diagram/style.js.map +0 -1
- package/components/chord-diagram/types.d.ts +0 -58
- package/components/chord-diagram/types.js +0 -8
- package/components/chord-diagram/types.js.map +0 -1
- package/components/crosshair/config.d.ts +0 -43
- package/components/crosshair/config.js +0 -19
- package/components/crosshair/config.js.map +0 -1
- package/components/crosshair/index.d.ts +0 -35
- package/components/crosshair/index.js +0 -183
- package/components/crosshair/index.js.map +0 -1
- package/components/crosshair/style.d.ts +0 -4
- package/components/crosshair/style.js.map +0 -1
- package/components/crosshair/types.d.ts +0 -13
- package/components/crosshair/types.js +0 -2
- package/components/crosshair/types.js.map +0 -1
- package/components/donut/config.d.ts +0 -59
- package/components/donut/config.js +0 -28
- package/components/donut/config.js.map +0 -1
- package/components/donut/index.d.ts +0 -21
- package/components/donut/index.js +0 -107
- package/components/donut/index.js.map +0 -1
- package/components/donut/modules/arc.d.ts +0 -10
- package/components/donut/modules/arc.js +0 -59
- package/components/donut/modules/arc.js.map +0 -1
- package/components/donut/style.d.ts +0 -7
- package/components/donut/style.js.map +0 -1
- package/components/donut/types.d.ts +0 -20
- package/components/flow-legend/config.d.ts +0 -29
- package/components/flow-legend/config.js +0 -18
- package/components/flow-legend/config.js.map +0 -1
- package/components/flow-legend/index.d.ts +0 -16
- package/components/flow-legend/index.js +0 -75
- package/components/flow-legend/index.js.map +0 -1
- package/components/flow-legend/style.d.ts +0 -8
- package/components/flow-legend/style.js.map +0 -1
- package/components/flow-legend/types.d.ts +0 -9
- package/components/flow-legend/types.js +0 -8
- package/components/flow-legend/types.js.map +0 -1
- package/components/free-brush/config.d.ts +0 -45
- package/components/free-brush/config.js +0 -24
- package/components/free-brush/config.js.map +0 -1
- package/components/free-brush/index.d.ts +0 -20
- package/components/free-brush/index.js +0 -192
- package/components/free-brush/index.js.map +0 -1
- package/components/free-brush/style.d.ts +0 -4
- package/components/free-brush/style.js.map +0 -1
- package/components/free-brush/types.d.ts +0 -7
- package/components/free-brush/types.js +0 -9
- package/components/free-brush/types.js.map +0 -1
- package/components/graph/config.d.ts +0 -238
- package/components/graph/config.js +0 -84
- package/components/graph/config.js.map +0 -1
- package/components/graph/index.d.ts +0 -126
- package/components/graph/index.js +0 -656
- package/components/graph/index.js.map +0 -1
- package/components/graph/modules/layout-helpers.d.ts +0 -21
- package/components/graph/modules/layout-helpers.js +0 -69
- package/components/graph/modules/layout-helpers.js.map +0 -1
- package/components/graph/modules/layout.d.ts +0 -10
- package/components/graph/modules/layout.js +0 -399
- package/components/graph/modules/layout.js.map +0 -1
- package/components/graph/modules/link/helper.d.ts +0 -25
- package/components/graph/modules/link/helper.js +0 -74
- package/components/graph/modules/link/helper.js.map +0 -1
- package/components/graph/modules/link/index.d.ts +0 -11
- package/components/graph/modules/link/index.js +0 -212
- package/components/graph/modules/link/index.js.map +0 -1
- package/components/graph/modules/link/style.d.ts +0 -15
- package/components/graph/modules/link/style.js.map +0 -1
- package/components/graph/modules/node/helper.d.ts +0 -21
- package/components/graph/modules/node/helper.js +0 -126
- package/components/graph/modules/node/helper.js.map +0 -1
- package/components/graph/modules/node/index.d.ts +0 -11
- package/components/graph/modules/node/index.js +0 -252
- package/components/graph/modules/node/index.js.map +0 -1
- package/components/graph/modules/node/style.d.ts +0 -24
- package/components/graph/modules/node/style.js.map +0 -1
- package/components/graph/modules/panel/helper.d.ts +0 -18
- package/components/graph/modules/panel/helper.js +0 -111
- package/components/graph/modules/panel/helper.js.map +0 -1
- package/components/graph/modules/panel/index.d.ts +0 -7
- package/components/graph/modules/panel/index.js +0 -98
- package/components/graph/modules/panel/index.js.map +0 -1
- package/components/graph/modules/panel/style.d.ts +0 -14
- package/components/graph/modules/panel/style.js.map +0 -1
- package/components/graph/modules/shape.d.ts +0 -6
- package/components/graph/modules/shape.js +0 -80
- package/components/graph/modules/shape.js.map +0 -1
- package/components/graph/modules/zoom-levels.d.ts +0 -6
- package/components/graph/modules/zoom-levels.js +0 -10
- package/components/graph/modules/zoom-levels.js.map +0 -1
- package/components/graph/style.d.ts +0 -6
- package/components/graph/style.js +0 -66
- package/components/graph/style.js.map +0 -1
- package/components/graph/types.d.ts +0 -125
- package/components/graph/types.js +0 -30
- package/components/graph/types.js.map +0 -1
- package/components/grouped-bar/config.d.ts +0 -36
- package/components/grouped-bar/config.js +0 -20
- package/components/grouped-bar/config.js.map +0 -1
- package/components/grouped-bar/index.d.ts +0 -32
- package/components/grouped-bar/index.js +0 -249
- package/components/grouped-bar/index.js.map +0 -1
- package/components/grouped-bar/style.d.ts +0 -5
- package/components/grouped-bar/style.js.map +0 -1
- package/components/leaflet-flow-map/config.d.ts +0 -46
- package/components/leaflet-flow-map/config.js +0 -25
- package/components/leaflet-flow-map/config.js.map +0 -1
- package/components/leaflet-flow-map/index.d.ts +0 -52
- package/components/leaflet-flow-map/index.js +0 -220
- package/components/leaflet-flow-map/index.js.map +0 -1
- package/components/leaflet-flow-map/renderer-utils.d.ts +0 -5
- package/components/leaflet-flow-map/renderer-utils.js +0 -15
- package/components/leaflet-flow-map/renderer-utils.js.map +0 -1
- package/components/leaflet-flow-map/renderer.d.ts +0 -26
- package/components/leaflet-flow-map/renderer.js +0 -117
- package/components/leaflet-flow-map/renderer.js.map +0 -1
- package/components/leaflet-flow-map/shaders.d.ts +0 -2
- package/components/leaflet-flow-map/shaders.js.map +0 -1
- package/components/leaflet-flow-map/types.d.ts +0 -23
- package/components/leaflet-map/config.d.ts +0 -193
- package/components/leaflet-map/config.js +0 -71
- package/components/leaflet-map/config.js.map +0 -1
- package/components/leaflet-map/index.d.ts +0 -130
- package/components/leaflet-map/index.js +0 -690
- package/components/leaflet-map/index.js.map +0 -1
- package/components/leaflet-map/leaflet.css.js +0 -5
- package/components/leaflet-map/leaflet.css.js.map +0 -1
- package/components/leaflet-map/modules/clusterBackground.d.ts +0 -5
- package/components/leaflet-map/modules/clusterBackground.js +0 -27
- package/components/leaflet-map/modules/clusterBackground.js.map +0 -1
- package/components/leaflet-map/modules/donut.d.ts +0 -3
- package/components/leaflet-map/modules/donut.js +0 -25
- package/components/leaflet-map/modules/donut.js.map +0 -1
- package/components/leaflet-map/modules/map.d.ts +0 -14
- package/components/leaflet-map/modules/map.js +0 -154
- package/components/leaflet-map/modules/map.js.map +0 -1
- package/components/leaflet-map/modules/node.d.ts +0 -9
- package/components/leaflet-map/modules/node.js +0 -162
- package/components/leaflet-map/modules/node.js.map +0 -1
- package/components/leaflet-map/modules/selectionRing.d.ts +0 -7
- package/components/leaflet-map/modules/selectionRing.js +0 -41
- package/components/leaflet-map/modules/selectionRing.js.map +0 -1
- package/components/leaflet-map/modules/utils.d.ts +0 -50
- package/components/leaflet-map/modules/utils.js +0 -210
- package/components/leaflet-map/modules/utils.js.map +0 -1
- package/components/leaflet-map/renderer/leaflet-maplibre-gl.js.map +0 -1
- package/components/leaflet-map/renderer/map-style.d.ts +0 -4
- package/components/leaflet-map/renderer/map-style.js +0 -15
- package/components/leaflet-map/renderer/map-style.js.map +0 -1
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js.map +0 -1
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js.map +0 -1
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
- package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js.map +0 -1
- package/components/leaflet-map/renderer/mapboxgl-layer.d.ts +0 -8
- package/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
- package/components/leaflet-map/renderer/mapboxgl-layer.js.map +0 -1
- package/components/leaflet-map/renderer/mapboxgl-utils.d.ts +0 -4
- package/components/leaflet-map/renderer/mapboxgl-utils.js +0 -39
- package/components/leaflet-map/renderer/mapboxgl-utils.js.map +0 -1
- package/components/leaflet-map/renderer/maplibre-gl.css.js.map +0 -1
- package/components/leaflet-map/style.d.ts +0 -52
- package/components/leaflet-map/style.js +0 -183
- package/components/leaflet-map/style.js.map +0 -1
- package/components/leaflet-map/types.d.ts +0 -75
- package/components/leaflet-map/types.js +0 -15
- package/components/leaflet-map/types.js.map +0 -1
- package/components/line/config.d.ts +0 -30
- package/components/line/config.js +0 -17
- package/components/line/config.js.map +0 -1
- package/components/line/index.d.ts +0 -27
- package/components/line/index.js +0 -152
- package/components/line/index.js.map +0 -1
- package/components/line/style.d.ts +0 -6
- package/components/line/style.js.map +0 -1
- package/components/line/types.d.ts +0 -12
- package/components/nested-donut/config.d.ts +0 -59
- package/components/nested-donut/config.js +0 -19
- package/components/nested-donut/config.js.map +0 -1
- package/components/nested-donut/index.d.ts +0 -38
- package/components/nested-donut/index.js +0 -133
- package/components/nested-donut/index.js.map +0 -1
- package/components/nested-donut/modules/arc.d.ts +0 -17
- package/components/nested-donut/modules/arc.js +0 -50
- package/components/nested-donut/modules/arc.js.map +0 -1
- package/components/nested-donut/modules/label.d.ts +0 -7
- package/components/nested-donut/modules/label.js +0 -34
- package/components/nested-donut/modules/label.js.map +0 -1
- package/components/nested-donut/style.d.ts +0 -26
- package/components/nested-donut/style.js +0 -70
- package/components/nested-donut/style.js.map +0 -1
- package/components/nested-donut/types.d.ts +0 -24
- package/components/nested-donut/types.js +0 -11
- package/components/nested-donut/types.js.map +0 -1
- package/components/sankey/config.d.ts +0 -162
- package/components/sankey/config.js +0 -65
- package/components/sankey/config.js.map +0 -1
- package/components/sankey/index.d.ts +0 -59
- package/components/sankey/index.js +0 -306
- package/components/sankey/index.js.map +0 -1
- package/components/sankey/modules/label.d.ts +0 -23
- package/components/sankey/modules/label.js +0 -168
- package/components/sankey/modules/label.js.map +0 -1
- package/components/sankey/modules/link.d.ts +0 -14
- package/components/sankey/modules/link.js +0 -108
- package/components/sankey/modules/link.js.map +0 -1
- package/components/sankey/modules/node.d.ts +0 -10
- package/components/sankey/modules/node.js +0 -156
- package/components/sankey/modules/node.js.map +0 -1
- package/components/sankey/style.d.ts +0 -20
- package/components/sankey/style.js.map +0 -1
- package/components/sankey/types.d.ts +0 -84
- package/components/sankey/types.js +0 -34
- package/components/sankey/types.js.map +0 -1
- package/components/scatter/config.d.ts +0 -44
- package/components/scatter/config.js +0 -23
- package/components/scatter/config.js.map +0 -1
- package/components/scatter/index.d.ts +0 -28
- package/components/scatter/index.js +0 -167
- package/components/scatter/index.js.map +0 -1
- package/components/scatter/modules/point.d.ts +0 -7
- package/components/scatter/modules/point.js +0 -86
- package/components/scatter/modules/point.js.map +0 -1
- package/components/scatter/modules/utils.d.ts +0 -11
- package/components/scatter/modules/utils.js +0 -112
- package/components/scatter/modules/utils.js.map +0 -1
- package/components/scatter/style.d.ts +0 -5
- package/components/scatter/style.js.map +0 -1
- package/components/scatter/types.d.ts +0 -19
- package/components/stacked-bar/config.d.ts +0 -38
- package/components/stacked-bar/config.js +0 -20
- package/components/stacked-bar/config.js.map +0 -1
- package/components/stacked-bar/index.d.ts +0 -28
- package/components/stacked-bar/index.js +0 -208
- package/components/stacked-bar/index.js.map +0 -1
- package/components/stacked-bar/style.d.ts +0 -5
- package/components/stacked-bar/style.js.map +0 -1
- package/components/stacked-bar/types.d.ts +0 -5
- package/components/timeline/config.d.ts +0 -43
- package/components/timeline/config.js +0 -24
- package/components/timeline/config.js.map +0 -1
- package/components/timeline/index.d.ts +0 -41
- package/components/timeline/index.js +0 -244
- package/components/timeline/index.js.map +0 -1
- package/components/timeline/style.d.ts +0 -13
- package/components/timeline/style.js.map +0 -1
- package/components/tooltip/config.d.ts +0 -68
- package/components/tooltip/config.js +0 -20
- package/components/tooltip/config.js.map +0 -1
- package/components/tooltip/index.d.ts +0 -36
- package/components/tooltip/index.js +0 -184
- package/components/tooltip/index.js.map +0 -1
- package/components/tooltip/style.js.map +0 -1
- package/components/topojson-map/config.d.ts +0 -99
- package/components/topojson-map/config.js +0 -42
- package/components/topojson-map/config.js.map +0 -1
- package/components/topojson-map/index.d.ts +0 -52
- package/components/topojson-map/index.js +0 -355
- package/components/topojson-map/index.js.map +0 -1
- package/components/topojson-map/style.d.ts +0 -11
- package/components/topojson-map/style.js.map +0 -1
- package/components/topojson-map/types.d.ts +0 -78
- package/components/topojson-map/types.js +0 -80
- package/components/topojson-map/types.js.map +0 -1
- package/components/topojson-map/utils.d.ts +0 -3
- package/components/topojson-map/utils.js +0 -30
- package/components/topojson-map/utils.js.map +0 -1
- package/components/vis-controls/config.d.ts +0 -12
- package/components/vis-controls/config.js +0 -13
- package/components/vis-controls/config.js.map +0 -1
- package/components/vis-controls/index.d.ts +0 -14
- package/components/vis-controls/index.js +0 -52
- package/components/vis-controls/index.js.map +0 -1
- package/components/vis-controls/style.d.ts +0 -11
- package/components/vis-controls/style.js.map +0 -1
- package/components/vis-controls/types.d.ts +0 -13
- package/components/vis-controls/types.js +0 -8
- package/components/vis-controls/types.js.map +0 -1
- package/components/xy-labels/config.d.ts +0 -48
- package/components/xy-labels/config.js +0 -25
- package/components/xy-labels/config.js.map +0 -1
- package/components/xy-labels/index.d.ts +0 -15
- package/components/xy-labels/index.js +0 -87
- package/components/xy-labels/index.js.map +0 -1
- package/components/xy-labels/modules/label.d.ts +0 -9
- package/components/xy-labels/modules/label.js +0 -107
- package/components/xy-labels/modules/label.js.map +0 -1
- package/components/xy-labels/style.d.ts +0 -5
- package/components/xy-labels/style.js.map +0 -1
- package/components/xy-labels/types.d.ts +0 -23
- package/components/xy-labels/types.js +0 -9
- package/components/xy-labels/types.js.map +0 -1
- package/components.d.ts +0 -51
- package/components.js +0 -29
- package/components.js.map +0 -1
- package/containers/single-container/config.d.ts +0 -12
- package/containers/single-container/config.js +0 -12
- package/containers/single-container/config.js.map +0 -1
- package/containers/single-container/index.d.ts +0 -19
- package/containers/single-container/index.js +0 -128
- package/containers/single-container/index.js.map +0 -1
- package/containers/xy-container/config.d.ts +0 -99
- package/containers/xy-container/config.js +0 -30
- package/containers/xy-container/config.js.map +0 -1
- package/containers/xy-container/index.d.ts +0 -34
- package/containers/xy-container/index.js +0 -330
- package/containers/xy-container/index.js.map +0 -1
- package/containers.d.ts +0 -6
- package/containers.js +0 -4
- package/containers.js.map +0 -1
- package/core/component/config.d.ts +0 -58
- package/core/component/config.js +0 -14
- package/core/component/config.js.map +0 -1
- package/core/component/index.d.ts +0 -43
- package/core/component/index.js +0 -118
- package/core/component/index.js.map +0 -1
- package/core/component/types.d.ts +0 -2
- package/core/component/types.js +0 -2
- package/core/component/types.js.map +0 -1
- package/core/config/index.d.ts +0 -3
- package/core/config/index.js +0 -16
- package/core/config/index.js.map +0 -1
- package/core/container/config.d.ts +0 -48
- package/core/container/config.js +0 -29
- package/core/container/config.js.map +0 -1
- package/core/container/index.d.ts +0 -26
- package/core/container/index.js +0 -105
- package/core/container/index.js.map +0 -1
- package/core/xy-component/config.d.ts +0 -38
- package/core/xy-component/config.js +0 -20
- package/core/xy-component/config.js.map +0 -1
- package/core/xy-component/index.d.ts +0 -27
- package/core/xy-component/index.js +0 -74
- package/core/xy-component/index.js.map +0 -1
- package/data-models/core.d.ts +0 -6
- package/data-models/core.js +0 -14
- package/data-models/core.js.map +0 -1
- package/data-models/graph.d.ts +0 -24
- package/data-models/graph.js +0 -107
- package/data-models/graph.js.map +0 -1
- package/data-models/map-graph.d.ts +0 -21
- package/data-models/map-graph.js +0 -62
- package/data-models/map-graph.js.map +0 -1
- package/data-models/map.d.ts +0 -5
- package/data-models/map.js +0 -12
- package/data-models/map.js.map +0 -1
- package/data-models/series.d.ts +0 -6
- package/data-models/series.js +0 -19
- package/data-models/series.js.map +0 -1
- package/index.d.ts +0 -7
- package/index.js +0 -55
- package/index.js.map +0 -1
- package/maps/china-provinces.json.js +0 -140373
- package/maps/fr-regions.json.js +0 -14162
- package/maps/germany-regions.json.js +0 -35760
- package/maps/ind-regions.json.js +0 -290584
- package/maps/uk-regions.json.js +0 -96233
- package/maps/us-counties.json.js +0 -206318
- package/maps/us-states.json.js +0 -16345
- package/maps/world-110m-alpha.json.js +0 -251366
- package/maps/world-simple.json.js +0 -89428
- package/maps/world-simplest.json.js +0 -28175
- package/maps.d.ts +0 -60
- package/maps.js +0 -23
- package/styles/colors.d.ts +0 -7
- package/styles/colors.js +0 -24
- package/styles/colors.js.map +0 -1
- package/styles/index.d.ts +0 -7
- package/styles/index.js +0 -38
- package/styles/index.js.map +0 -1
- package/styles/sizes.d.ts +0 -2
- package/styles/sizes.js.map +0 -1
- package/types/accessor.d.ts +0 -5
- package/types/accessor.js +0 -2
- package/types/accessor.js.map +0 -1
- package/types/component.d.ts +0 -13
- package/types/component.js +0 -14
- package/types/component.js.map +0 -1
- package/types/curve.d.ts +0 -40
- package/types/curve.js +0 -46
- package/types/curve.js.map +0 -1
- package/types/data.d.ts +0 -7
- package/types/data.js +0 -2
- package/types/data.js.map +0 -1
- package/types/direction.d.ts +0 -6
- package/types/direction.js +0 -10
- package/types/direction.js.map +0 -1
- package/types/graph.d.ts +0 -35
- package/types/graph.js +0 -2
- package/types/graph.js.map +0 -1
- package/types/map.d.ts +0 -4
- package/types/map.js +0 -2
- package/types/map.js.map +0 -1
- package/types/misc.d.ts +0 -8
- package/types/position.d.ts +0 -20
- package/types/position.js +0 -27
- package/types/position.js.map +0 -1
- package/types/scale.d.ts +0 -23
- package/types/scale.js +0 -27
- package/types/scale.js.map +0 -1
- package/types/shape.d.ts +0 -7
- package/types/shape.js +0 -11
- package/types/shape.js.map +0 -1
- package/types/spacing.d.ts +0 -6
- package/types/spacing.js +0 -2
- package/types/spacing.js.map +0 -1
- package/types/svg.d.ts +0 -18
- package/types/svg.js +0 -22
- package/types/svg.js.map +0 -1
- package/types/symbol.d.ts +0 -18
- package/types/symbol.js +0 -24
- package/types/symbol.js.map +0 -1
- package/types/text.d.ts +0 -47
- package/types/text.js +0 -26
- package/types/text.js.map +0 -1
- package/types.d.ts +0 -27
- package/types.js +0 -30
- package/types.js.map +0 -1
- package/utils/color.d.ts +0 -10
- package/utils/color.js +0 -32
- package/utils/color.js.map +0 -1
- package/utils/d3.d.ts +0 -3
- package/utils/d3.js +0 -16
- package/utils/d3.js.map +0 -1
- package/utils/data.d.ts +0 -45
- package/utils/data.js +0 -274
- package/utils/data.js.map +0 -1
- package/utils/html.d.ts +0 -1
- package/utils/html.js +0 -16
- package/utils/html.js.map +0 -1
- package/utils/map.d.ts +0 -2
- package/utils/map.js +0 -20
- package/utils/map.js.map +0 -1
- package/utils/misc.d.ts +0 -9
- package/utils/misc.js +0 -47
- package/utils/misc.js.map +0 -1
- package/utils/path.d.ts +0 -23
- package/utils/path.js +0 -144
- package/utils/path.js.map +0 -1
- package/utils/scale.d.ts +0 -1
- package/utils/style.d.ts +0 -6
- package/utils/style.js +0 -24
- package/utils/style.js.map +0 -1
- package/utils/svg.d.ts +0 -3
- package/utils/text.d.ts +0 -139
- package/utils/text.js +0 -443
- package/utils/text.js.map +0 -1
- package/utils/type.d.ts +0 -5
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { interpolateNumber } from 'd3-interpolate';
|
|
2
|
-
import { getColor } from '../../../utils/color.js';
|
|
3
|
-
import { getString } from '../../../utils/data.js';
|
|
4
|
-
import { smartTransition } from '../../../utils/d3.js';
|
|
5
|
-
import { linkPath as linkPath$1, linkSelectionHelper } from '../style.js';
|
|
6
|
-
|
|
7
|
-
function linkPath({ x0, x1, y0, y1, width }) {
|
|
8
|
-
const top0 = y0 - width / 2;
|
|
9
|
-
const top1 = y1 - width / 2;
|
|
10
|
-
const bottom0 = y0 + width / 2;
|
|
11
|
-
const bottom1 = y1 + width / 2;
|
|
12
|
-
const centerX = (x0 + x1) / 2;
|
|
13
|
-
return `
|
|
14
|
-
M ${x0}, ${top0}
|
|
15
|
-
|
|
16
|
-
C ${centerX}, ${top0}
|
|
17
|
-
${centerX}, ${top1}
|
|
18
|
-
${x1}, ${top1}
|
|
19
|
-
|
|
20
|
-
L ${x1}, ${bottom1}
|
|
21
|
-
|
|
22
|
-
C ${centerX}, ${bottom1}
|
|
23
|
-
${centerX}, ${bottom0}
|
|
24
|
-
${x0}, ${bottom0}
|
|
25
|
-
z
|
|
26
|
-
`;
|
|
27
|
-
}
|
|
28
|
-
function createLinks(sel) {
|
|
29
|
-
sel.append('path').attr('class', linkPath$1)
|
|
30
|
-
.attr('d', (d, i, el) => {
|
|
31
|
-
// eslint-disable-next-line dot-notation
|
|
32
|
-
el[i]['_animState'] = {
|
|
33
|
-
x0: d.source.x1,
|
|
34
|
-
x1: d.target.x0,
|
|
35
|
-
y0: d.y0,
|
|
36
|
-
y1: d.y1,
|
|
37
|
-
width: Math.max(1, d.width),
|
|
38
|
-
};
|
|
39
|
-
// eslint-disable-next-line dot-notation
|
|
40
|
-
return linkPath(el[i]['_animState']);
|
|
41
|
-
});
|
|
42
|
-
sel.append('path').attr('class', linkSelectionHelper);
|
|
43
|
-
sel.style('opacity', 0);
|
|
44
|
-
}
|
|
45
|
-
function updateLinks(sel, config, duration) {
|
|
46
|
-
smartTransition(sel, duration)
|
|
47
|
-
.style('opacity', (d) => d._state.greyout ? 0.2 : 1);
|
|
48
|
-
const linkSelection = sel.select(`.${linkPath$1}`)
|
|
49
|
-
.style('cursor', (d) => getString(d, config.linkCursor));
|
|
50
|
-
const selectionTransition = smartTransition(linkSelection, duration)
|
|
51
|
-
.style('fill', (link) => getColor(link, config.linkColor));
|
|
52
|
-
if (duration) {
|
|
53
|
-
selectionTransition
|
|
54
|
-
.attrTween('d', (d, i, el) => {
|
|
55
|
-
// eslint-disable-next-line dot-notation
|
|
56
|
-
const previous = el[i]['_animState'];
|
|
57
|
-
const next = {
|
|
58
|
-
x0: d.source.x1,
|
|
59
|
-
x1: d.target.x0,
|
|
60
|
-
y0: d.y0,
|
|
61
|
-
y1: d.y1,
|
|
62
|
-
width: Math.max(1, d.width),
|
|
63
|
-
};
|
|
64
|
-
const interpolator = {
|
|
65
|
-
x0: interpolateNumber(previous.x0, next.x0),
|
|
66
|
-
x1: interpolateNumber(previous.x1, next.x1),
|
|
67
|
-
y0: interpolateNumber(previous.y0, next.y0),
|
|
68
|
-
y1: interpolateNumber(previous.y1, next.y1),
|
|
69
|
-
width: interpolateNumber(previous.width, next.width),
|
|
70
|
-
};
|
|
71
|
-
// eslint-disable-next-line dot-notation
|
|
72
|
-
el[i]['_animState'] = next;
|
|
73
|
-
return function (t) {
|
|
74
|
-
return linkPath({
|
|
75
|
-
x0: interpolator.x0(t),
|
|
76
|
-
x1: interpolator.x1(t),
|
|
77
|
-
y0: interpolator.y0(t),
|
|
78
|
-
y1: interpolator.y1(t),
|
|
79
|
-
width: interpolator.width(t),
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
linkSelection.attr('d', (d) => linkPath({
|
|
86
|
-
x0: d.source.x1,
|
|
87
|
-
x1: d.target.x0,
|
|
88
|
-
y0: d.y0,
|
|
89
|
-
y1: d.y1,
|
|
90
|
-
width: Math.max(1, d.width),
|
|
91
|
-
}));
|
|
92
|
-
}
|
|
93
|
-
sel.select(`.${linkSelectionHelper}`)
|
|
94
|
-
.attr('d', (d) => linkPath({
|
|
95
|
-
x0: d.source.x1,
|
|
96
|
-
x1: d.target.x0,
|
|
97
|
-
y0: d.y0,
|
|
98
|
-
y1: d.y1,
|
|
99
|
-
width: Math.max(10, d.width),
|
|
100
|
-
}))
|
|
101
|
-
.style('cursor', d => getString(d, config.linkCursor));
|
|
102
|
-
}
|
|
103
|
-
function removeLinks(sel) {
|
|
104
|
-
sel.remove();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export { createLinks, linkPath, removeLinks, updateLinks };
|
|
108
|
-
//# sourceMappingURL=link.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":["../../../../src/components/sankey/modules/link.ts"],"sourcesContent":["import { Selection } from 'd3-selection'\nimport { Transition } from 'd3-transition'\nimport { interpolateNumber } from 'd3-interpolate'\n\n// Utils\nimport { getColor } from 'utils/color'\nimport { getString } from 'utils/data'\nimport { smartTransition } from 'utils/d3'\n\n// Local Types\nimport { SankeyInputLink, SankeyInputNode, SankeyLink } from '../types'\n\n// Config\nimport { SankeyConfig } from '../config'\n\n// Styles\nimport * as s from '../style'\n\nexport type LinkPathOptions = {\n x0: number;\n x1: number;\n y0: number;\n y1: number;\n width: number;\n}\n\nexport function linkPath ({ x0, x1, y0, y1, width }: LinkPathOptions): string {\n const top0 = y0 - width / 2\n const top1 = y1 - width / 2\n const bottom0 = y0 + width / 2\n const bottom1 = y1 + width / 2\n const centerX = (x0 + x1) / 2\n\n return `\n M ${x0}, ${top0}\n\n C ${centerX}, ${top0}\n ${centerX}, ${top1}\n ${x1}, ${top1}\n\n L ${x1}, ${bottom1}\n\n C ${centerX}, ${bottom1}\n ${centerX}, ${bottom0}\n ${x0}, ${bottom0}\n z\n `\n}\n\nexport function createLinks<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyLink<N, L>, SVGGElement, unknown>\n): void {\n sel.append('path').attr('class', s.linkPath)\n .attr('d', (d: SankeyLink<N, L>, i, el) => {\n // eslint-disable-next-line dot-notation\n el[i]['_animState'] = {\n x0: d.source.x1,\n x1: d.target.x0,\n y0: d.y0,\n y1: d.y1,\n width: Math.max(1, d.width),\n }\n // eslint-disable-next-line dot-notation\n return linkPath(el[i]['_animState'])\n })\n sel.append('path').attr('class', s.linkSelectionHelper)\n sel.style('opacity', 0)\n}\n\nexport function updateLinks<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyLink<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n duration: number\n): void {\n smartTransition(sel, duration)\n .style('opacity', (d: SankeyLink<N, L>) => d._state.greyout ? 0.2 : 1)\n\n const linkSelection = sel.select<SVGPathElement>(`.${s.linkPath}`)\n .style('cursor', (d: SankeyLink<N, L>) => getString(d, config.linkCursor))\n\n const selectionTransition = smartTransition(linkSelection, duration)\n .style('fill', (link: SankeyLink<N, L>) => getColor(link, config.linkColor))\n\n if (duration) {\n (selectionTransition as Transition<SVGPathElement, SankeyLink<N, L>, SVGGElement, unknown>)\n .attrTween('d', (d: SankeyLink<N, L>, i, el) => {\n // eslint-disable-next-line dot-notation\n const previous = el[i]['_animState']\n const next = {\n x0: d.source.x1,\n x1: d.target.x0,\n y0: d.y0,\n y1: d.y1,\n width: Math.max(1, d.width),\n }\n const interpolator = {\n x0: interpolateNumber(previous.x0, next.x0),\n x1: interpolateNumber(previous.x1, next.x1),\n y0: interpolateNumber(previous.y0, next.y0),\n y1: interpolateNumber(previous.y1, next.y1),\n width: interpolateNumber(previous.width, next.width),\n }\n // eslint-disable-next-line dot-notation\n el[i]['_animState'] = next\n\n return function (t: number) {\n return linkPath({\n x0: interpolator.x0(t),\n x1: interpolator.x1(t),\n y0: interpolator.y0(t),\n y1: interpolator.y1(t),\n width: interpolator.width(t),\n })\n }\n })\n } else {\n linkSelection.attr('d', (d: SankeyLink<N, L>) => linkPath({\n x0: d.source.x1,\n x1: d.target.x0,\n y0: d.y0,\n y1: d.y1,\n width: Math.max(1, d.width),\n }))\n }\n\n sel.select(`.${s.linkSelectionHelper}`)\n .attr('d', (d: SankeyLink<N, L>) => linkPath({\n x0: d.source.x1,\n x1: d.target.x0,\n y0: d.y0,\n y1: d.y1,\n width: Math.max(10, d.width),\n }))\n .style('cursor', d => getString(d, config.linkCursor))\n}\n\nexport function removeLinks<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyLink<N, L>, SVGGElement, unknown>\n): void {\n sel.remove()\n}\n"],"names":["s.linkPath","s.linkSelectionHelper"],"mappings":";;;;;;AA0BgB,SAAA,QAAQ,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAmB,EAAA;AAClE,IAAA,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;AAC3B,IAAA,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;AAC9B,IAAA,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAE7B,OAAO,CAAA;AACD,MAAA,EAAA,EAAE,KAAK,IAAI,CAAA;;AAEX,MAAA,EAAA,OAAO,KAAK,IAAI,CAAA;AAChB,MAAA,EAAA,OAAO,KAAK,IAAI,CAAA;AAChB,MAAA,EAAA,EAAE,KAAK,IAAI,CAAA;;AAEX,MAAA,EAAA,EAAE,KAAK,OAAO,CAAA;;AAEd,MAAA,EAAA,OAAO,KAAK,OAAO,CAAA;AACnB,MAAA,EAAA,OAAO,KAAK,OAAO,CAAA;AACnB,MAAA,EAAA,EAAE,KAAK,OAAO,CAAA;;GAEnB,CAAA;AACH,CAAC;AAEK,SAAU,WAAW,CACzB,GAAmE,EAAA;AAEnE,IAAA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAEA,UAAU,CAAC;SACzC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAmB,EAAE,CAAC,EAAE,EAAE,KAAI;;AAExC,QAAA,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG;AACpB,YAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;AACf,YAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACf,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;SAC5B,CAAA;;QAED,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;AACJ,IAAA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAEC,mBAAqB,CAAC,CAAA;AACvD,IAAA,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC;SAEe,WAAW,CACzB,GAAmE,EACnE,MAA0B,EAC1B,QAAgB,EAAA;AAEhB,IAAA,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC;SAC3B,KAAK,CAAC,SAAS,EAAE,CAAC,CAAmB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;IAExE,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAiB,CAAA,CAAA,EAAID,UAAU,CAAA,CAAE,CAAC;AAC/D,SAAA,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAmB,KAAK,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAE5E,IAAA,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC;AACjE,SAAA,KAAK,CAAC,MAAM,EAAE,CAAC,IAAsB,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;AAE9E,IAAA,IAAI,QAAQ,EAAE;QACX,mBAA0F;aACxF,SAAS,CAAC,GAAG,EAAE,CAAC,CAAmB,EAAE,CAAC,EAAE,EAAE,KAAI;;YAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AACpC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;AACf,gBAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;gBACf,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;aAC5B,CAAA;AACD,YAAA,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;aACrD,CAAA;;YAED,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;AAE1B,YAAA,OAAO,UAAU,CAAS,EAAA;AACxB,gBAAA,OAAO,QAAQ,CAAC;AACd,oBAAA,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,oBAAA,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,oBAAA,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,oBAAA,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,oBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,iBAAA,CAAC,CAAA;AACJ,aAAC,CAAA;AACH,SAAC,CAAC,CAAA;AACL,KAAA;AAAM,SAAA;QACL,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAmB,KAAK,QAAQ,CAAC;AACxD,YAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;AACf,YAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACf,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAA,CAAC,CAAC,CAAA;AACJ,KAAA;IAED,GAAG,CAAC,MAAM,CAAC,CAAA,CAAA,EAAIC,mBAAqB,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAmB,KAAK,QAAQ,CAAC;AAC3C,QAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;AACf,QAAA,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;QACf,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;AAC7B,KAAA,CAAC,CAAC;AACF,SAAA,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1D,CAAC;AAEK,SAAU,WAAW,CACzB,GAAmE,EAAA;IAEnE,GAAG,CAAC,MAAM,EAAE,CAAA;AACd;;;;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Selection } from 'd3-selection';
|
|
2
|
-
import { Spacing } from "../../../types/spacing";
|
|
3
|
-
import { SankeyInputLink, SankeyInputNode, SankeyNode } from '../types';
|
|
4
|
-
import { SankeyConfig } from '../config';
|
|
5
|
-
export declare function createNodes<N extends SankeyInputNode, L extends SankeyInputLink>(sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, width: number, bleed: Spacing): void;
|
|
6
|
-
export declare function updateNodes<N extends SankeyInputNode, L extends SankeyInputLink>(sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, width: number, bleed: Spacing, hasLinks: boolean, duration: number): void;
|
|
7
|
-
export declare function renderNodeLabels<N extends SankeyInputNode, L extends SankeyInputLink>(sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, width: number, duration: number, enforceNodeVisibility?: SankeyNode<N, L>): void;
|
|
8
|
-
export declare function removeNodes<N extends SankeyInputNode, L extends SankeyInputLink>(selection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, duration: number): void;
|
|
9
|
-
export declare function onNodeMouseOver<N extends SankeyInputNode, L extends SankeyInputLink>(d: SankeyNode<N, L>, nodeSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, width: number): void;
|
|
10
|
-
export declare function onNodeMouseOut<N extends SankeyInputNode, L extends SankeyInputLink>(d: SankeyNode<N, L>, nodeSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>, config: SankeyConfig<N, L>, width: number): void;
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { select } from 'd3-selection';
|
|
2
|
-
import { getColor } from '../../../utils/color.js';
|
|
3
|
-
import { getString } from '../../../utils/data.js';
|
|
4
|
-
import { smartTransition } from '../../../utils/d3.js';
|
|
5
|
-
import { SankeyEnterTransitionType, SankeyNodeAlign, SankeyExitTransitionType } from '../types.js';
|
|
6
|
-
import { renderLabel } from './label.js';
|
|
7
|
-
import { node, labelGroup, labelBackground, label, sublabel, nodeIcon, SANKEY_ICON_SIZE, hidden, labelTrimmed, forceShow } from '../style.js';
|
|
8
|
-
|
|
9
|
-
function createNodes(sel, config, width, bleed) {
|
|
10
|
-
const { enterTransitionType } = config;
|
|
11
|
-
// Node
|
|
12
|
-
sel.append('rect')
|
|
13
|
-
.attr('class', node)
|
|
14
|
-
.attr('width', config.nodeWidth)
|
|
15
|
-
.attr('height', d => d.y1 - d.y0)
|
|
16
|
-
.style('fill', node => getColor(node, config.nodeColor));
|
|
17
|
-
// Labels
|
|
18
|
-
const labelGroup$1 = sel.append('g').attr('class', labelGroup);
|
|
19
|
-
labelGroup$1.append('path').attr('class', labelBackground);
|
|
20
|
-
labelGroup$1.append('text').attr('class', label);
|
|
21
|
-
labelGroup$1.append('text').attr('class', sublabel);
|
|
22
|
-
// Node icon
|
|
23
|
-
sel.append('text').attr('class', nodeIcon)
|
|
24
|
-
.attr('text-anchor', 'middle')
|
|
25
|
-
.attr('dy', '0.5px');
|
|
26
|
-
sel
|
|
27
|
-
.attr('transform', d => {
|
|
28
|
-
var _a;
|
|
29
|
-
const x = (enterTransitionType === SankeyEnterTransitionType.FromAncestor && ((_a = d.targetLinks) === null || _a === void 0 ? void 0 : _a[0])) ? d.targetLinks[0].source.x0 : d.x0;
|
|
30
|
-
return `translate(${sel.size() === 1 ? width * 0.5 - bleed.left : x}, ${d.y0})`;
|
|
31
|
-
})
|
|
32
|
-
.style('opacity', 0);
|
|
33
|
-
}
|
|
34
|
-
function getNodeXPos(d, config, width, bleed, hasLinks) {
|
|
35
|
-
if (hasLinks)
|
|
36
|
-
return d.x0;
|
|
37
|
-
switch (config.nodeAlign) {
|
|
38
|
-
case SankeyNodeAlign.Left: return d.x0;
|
|
39
|
-
case SankeyNodeAlign.Right: return width - bleed.right;
|
|
40
|
-
case SankeyNodeAlign.Center:
|
|
41
|
-
case SankeyNodeAlign.Justify:
|
|
42
|
-
default: return width * 0.5 - bleed.left;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function updateNodes(sel, config, width, bleed, hasLinks, duration) {
|
|
46
|
-
smartTransition(sel, duration)
|
|
47
|
-
.attr('transform', d => `translate(${getNodeXPos(d, config, width, bleed, hasLinks)},${d.y0})`)
|
|
48
|
-
.style('opacity', d => d._state.greyout ? 0.2 : 1);
|
|
49
|
-
// Node
|
|
50
|
-
smartTransition(sel.select(`.${node}`), duration)
|
|
51
|
-
.attr('width', config.nodeWidth)
|
|
52
|
-
.attr('height', (d) => d.y1 - d.y0)
|
|
53
|
-
.style('cursor', (d) => getString(d, config.nodeCursor))
|
|
54
|
-
.style('fill', (d) => getColor(d, config.nodeColor));
|
|
55
|
-
// Label Rendering
|
|
56
|
-
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
57
|
-
renderNodeLabels(sel, config, width, duration);
|
|
58
|
-
// Node Icon
|
|
59
|
-
const nodeIcon$1 = sel.select(`.${nodeIcon}`);
|
|
60
|
-
if (config.nodeIcon) {
|
|
61
|
-
nodeIcon$1
|
|
62
|
-
.attr('visibility', null)
|
|
63
|
-
.attr('text-anchor', 'middle')
|
|
64
|
-
.attr('alignment-baseline', 'middle')
|
|
65
|
-
.style('stroke', (d) => getColor(d, config.nodeIconColor))
|
|
66
|
-
.style('fill', (d) => getColor(d, config.nodeIconColor))
|
|
67
|
-
.style('font-size', (d) => {
|
|
68
|
-
const nodeHeight = d.y1 - d.y0;
|
|
69
|
-
return nodeHeight < SANKEY_ICON_SIZE ? `${nodeHeight * 0.65}px` : null;
|
|
70
|
-
})
|
|
71
|
-
.html(config.nodeIcon);
|
|
72
|
-
smartTransition(nodeIcon$1, duration)
|
|
73
|
-
.attr('x', config.nodeWidth / 2)
|
|
74
|
-
.attr('y', (d) => (d.y1 - d.y0) / 2);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
nodeIcon$1
|
|
78
|
-
.attr('visibility', 'hidden');
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
function renderNodeLabels(sel, config, width, duration, enforceNodeVisibility) {
|
|
82
|
-
// Label Rendering
|
|
83
|
-
const labelGroupSelection = sel.select(`.${labelGroup}`);
|
|
84
|
-
const labelGroupEls = labelGroupSelection.nodes() || [];
|
|
85
|
-
// After rendering Label return a BBox so we can do intersection detection and hide some of tem
|
|
86
|
-
const labelGroupBBoxes = labelGroupEls.map(g => {
|
|
87
|
-
const gSelection = select(g);
|
|
88
|
-
const datum = gSelection.datum();
|
|
89
|
-
return renderLabel(gSelection, datum, config, width, duration, enforceNodeVisibility === datum);
|
|
90
|
-
});
|
|
91
|
-
if (config.labelVisibility) {
|
|
92
|
-
for (const b of labelGroupBBoxes) {
|
|
93
|
-
const datum = b.selection.datum();
|
|
94
|
-
const box = { x: b.x, y: b.y, width: b.width, height: b.height };
|
|
95
|
-
b.hidden = !config.labelVisibility(datum, box, enforceNodeVisibility === datum);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// Detect intersecting labels
|
|
100
|
-
const maxLayer = Math.max(...labelGroupBBoxes.map(b => b.layer));
|
|
101
|
-
for (let layer = 0; layer <= maxLayer; layer += 1) {
|
|
102
|
-
const boxes = labelGroupBBoxes.filter(b => (b.layer === layer));
|
|
103
|
-
boxes.sort((a, b) => a.y - b.y);
|
|
104
|
-
let lastVisibleIdx = 0;
|
|
105
|
-
for (let i = 1; i < boxes.length; i += 1) {
|
|
106
|
-
const b0 = boxes[lastVisibleIdx];
|
|
107
|
-
const b1 = boxes[i];
|
|
108
|
-
const shouldBeHidden = b1.y < (b0.y + b0.height);
|
|
109
|
-
if (shouldBeHidden) {
|
|
110
|
-
if (b1.selection.datum() === enforceNodeVisibility)
|
|
111
|
-
b0.hidden = true; // If the hovered node should be hidden, hide the previous one instead
|
|
112
|
-
else
|
|
113
|
-
b1.hidden = true;
|
|
114
|
-
}
|
|
115
|
-
if (!b1.hidden)
|
|
116
|
-
lastVisibleIdx = i;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
// Hide intersecting labels
|
|
121
|
-
for (const b of labelGroupBBoxes) {
|
|
122
|
-
b.selection.classed(hidden, b.hidden);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
function removeNodes(selection, config, duration) {
|
|
126
|
-
const { exitTransitionType } = config;
|
|
127
|
-
selection.each((d, i, els) => {
|
|
128
|
-
var _a;
|
|
129
|
-
const node = select(els[i]);
|
|
130
|
-
const transition = smartTransition(node, duration);
|
|
131
|
-
if ((exitTransitionType === SankeyExitTransitionType.ToAncestor) && ((_a = d.targetLinks) === null || _a === void 0 ? void 0 : _a[0])) {
|
|
132
|
-
transition.attr('transform', `translate(${d.targetLinks[0].source.x0},${d.y0})`);
|
|
133
|
-
}
|
|
134
|
-
transition
|
|
135
|
-
.style('opacity', 0)
|
|
136
|
-
.remove();
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
function onNodeMouseOver(d, nodeSelection, config, width) {
|
|
140
|
-
const labelGroup$1 = nodeSelection.raise()
|
|
141
|
-
.select(`.${labelGroup}`);
|
|
142
|
-
if ((config.labelExpandTrimmedOnHover && labelGroup$1.classed(labelTrimmed)) || labelGroup$1.classed(hidden)) {
|
|
143
|
-
renderLabel(labelGroup$1, d, config, width, 0, true);
|
|
144
|
-
}
|
|
145
|
-
labelGroup$1.classed(forceShow, true);
|
|
146
|
-
}
|
|
147
|
-
function onNodeMouseOut(d, nodeSelection, config, width) {
|
|
148
|
-
const labelGroup$1 = nodeSelection.select(`.${labelGroup}`);
|
|
149
|
-
if (config.labelExpandTrimmedOnHover || labelGroup$1.classed(hidden)) {
|
|
150
|
-
renderLabel(labelGroup$1, d, config, width, 0);
|
|
151
|
-
}
|
|
152
|
-
labelGroup$1.classed(forceShow, false);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
export { createNodes, onNodeMouseOut, onNodeMouseOver, removeNodes, renderNodeLabels, updateNodes };
|
|
156
|
-
//# sourceMappingURL=node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sources":["../../../../src/components/sankey/modules/node.ts"],"sourcesContent":["import { select, Selection } from 'd3-selection'\n\n// Utils\nimport { getColor } from 'utils/color'\nimport { getString } from 'utils/data'\nimport { smartTransition } from 'utils/d3'\n\n// Types\nimport { Spacing } from 'types/spacing'\n\n// Local Types\nimport { SankeyEnterTransitionType, SankeyExitTransitionType, SankeyInputLink, SankeyInputNode, SankeyNode, SankeyNodeAlign } from '../types'\n\n// Config\nimport { SankeyConfig } from '../config'\n\n// Helpers\nimport { renderLabel } from './label'\n\n// Styles\nimport * as s from '../style'\n\nexport function createNodes<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n width: number,\n bleed: Spacing\n): void {\n const { enterTransitionType } = config\n\n // Node\n sel.append('rect')\n .attr('class', s.node)\n .attr('width', config.nodeWidth)\n .attr('height', d => d.y1 - d.y0)\n .style('fill', node => getColor(node, config.nodeColor))\n\n // Labels\n const labelGroup = sel.append('g').attr('class', s.labelGroup)\n labelGroup.append('path').attr('class', s.labelBackground)\n labelGroup.append('text').attr('class', s.label)\n labelGroup.append('text').attr('class', s.sublabel)\n\n // Node icon\n sel.append('text').attr('class', s.nodeIcon)\n .attr('text-anchor', 'middle')\n .attr('dy', '0.5px')\n\n sel\n .attr('transform', d => {\n const x = (enterTransitionType === SankeyEnterTransitionType.FromAncestor && d.targetLinks?.[0]) ? d.targetLinks[0].source.x0 : d.x0\n return `translate(${sel.size() === 1 ? width * 0.5 - bleed.left : x}, ${d.y0})`\n })\n .style('opacity', 0)\n}\n\nfunction getNodeXPos<N extends SankeyInputNode, L extends SankeyInputLink> (\n d: SankeyNode<N, L>,\n config: SankeyConfig<N, L>,\n width: number,\n bleed: Spacing,\n hasLinks: boolean\n): number {\n if (hasLinks) return d.x0\n\n switch (config.nodeAlign) {\n case SankeyNodeAlign.Left: return d.x0\n case SankeyNodeAlign.Right: return width - bleed.right\n case SankeyNodeAlign.Center:\n case SankeyNodeAlign.Justify:\n default: return width * 0.5 - bleed.left\n }\n}\n\nexport function updateNodes<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n width: number,\n bleed: Spacing,\n hasLinks: boolean,\n duration: number\n): void {\n smartTransition(sel, duration)\n .attr('transform', d => `translate(${getNodeXPos(d, config, width, bleed, hasLinks)},${d.y0})`)\n .style('opacity', d => d._state.greyout ? 0.2 : 1)\n\n // Node\n smartTransition(sel.select(`.${s.node}`), duration)\n .attr('width', config.nodeWidth)\n .attr('height', (d: SankeyNode<N, L>) => d.y1 - d.y0)\n .style('cursor', (d: SankeyNode<N, L>) => getString(d, config.nodeCursor))\n .style('fill', (d: SankeyNode<N, L>) => getColor(d, config.nodeColor))\n\n // Label Rendering\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderNodeLabels(sel, config, width, duration)\n\n // Node Icon\n const nodeIcon = sel.select(`.${s.nodeIcon}`)\n if (config.nodeIcon) {\n nodeIcon\n .attr('visibility', null)\n .attr('text-anchor', 'middle')\n .attr('alignment-baseline', 'middle')\n .style('stroke', (d: SankeyNode<N, L>) => getColor(d, config.nodeIconColor))\n .style('fill', (d: SankeyNode<N, L>) => getColor(d, config.nodeIconColor))\n .style('font-size', (d: SankeyNode<N, L>) => {\n const nodeHeight = d.y1 - d.y0\n return nodeHeight < s.SANKEY_ICON_SIZE ? `${nodeHeight * 0.65}px` : null\n })\n .html(config.nodeIcon)\n\n smartTransition(nodeIcon, duration)\n .attr('x', config.nodeWidth / 2)\n .attr('y', (d: SankeyNode<N, L>) => (d.y1 - d.y0) / 2)\n } else {\n nodeIcon\n .attr('visibility', 'hidden')\n }\n}\n\nexport function renderNodeLabels<N extends SankeyInputNode, L extends SankeyInputLink> (\n sel: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n width: number,\n duration: number,\n enforceNodeVisibility?: SankeyNode<N, L>\n): void {\n // Label Rendering\n const labelGroupSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, any> = sel.select(`.${s.labelGroup}`)\n const labelGroupEls = labelGroupSelection.nodes() || []\n\n // After rendering Label return a BBox so we can do intersection detection and hide some of tem\n const labelGroupBBoxes = labelGroupEls.map(g => {\n const gSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, any> = select(g)\n const datum = gSelection.datum()\n return renderLabel(gSelection, datum, config, width, duration, enforceNodeVisibility === datum)\n })\n\n if (config.labelVisibility) {\n for (const b of labelGroupBBoxes) {\n const datum = b.selection.datum() as SankeyNode<N, L>\n const box = { x: b.x, y: b.y, width: b.width, height: b.height }\n b.hidden = !config.labelVisibility(datum, box, enforceNodeVisibility === datum)\n }\n } else {\n // Detect intersecting labels\n const maxLayer = Math.max(...labelGroupBBoxes.map(b => b.layer))\n for (let layer = 0; layer <= maxLayer; layer += 1) {\n const boxes = labelGroupBBoxes.filter(b => (b.layer === layer))\n boxes.sort((a, b) => a.y - b.y)\n\n let lastVisibleIdx = 0\n for (let i = 1; i < boxes.length; i += 1) {\n const b0 = boxes[lastVisibleIdx]\n const b1 = boxes[i]\n\n const shouldBeHidden = b1.y < (b0.y + b0.height)\n if (shouldBeHidden) {\n if (b1.selection.datum() === enforceNodeVisibility) b0.hidden = true // If the hovered node should be hidden, hide the previous one instead\n else b1.hidden = true\n }\n\n if (!b1.hidden) lastVisibleIdx = i\n }\n }\n }\n\n // Hide intersecting labels\n for (const b of labelGroupBBoxes) {\n b.selection.classed(s.hidden, b.hidden)\n }\n}\n\nexport function removeNodes<N extends SankeyInputNode, L extends SankeyInputLink> (\n selection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n duration: number\n): void {\n const { exitTransitionType } = config\n\n selection.each((d, i, els) => {\n const node = select(els[i])\n const transition = smartTransition(node, duration)\n if ((exitTransitionType === SankeyExitTransitionType.ToAncestor) && d.targetLinks?.[0]) {\n transition.attr('transform', `translate(${d.targetLinks[0].source.x0},${d.y0})`)\n }\n\n transition\n .style('opacity', 0)\n .remove()\n })\n}\n\nexport function onNodeMouseOver<N extends SankeyInputNode, L extends SankeyInputLink> (\n d: SankeyNode<N, L>,\n nodeSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n width: number\n): void {\n const labelGroup = nodeSelection.raise()\n .select<SVGGElement>(`.${s.labelGroup}`)\n\n if ((config.labelExpandTrimmedOnHover && labelGroup.classed(s.labelTrimmed)) || labelGroup.classed(s.hidden)) {\n renderLabel(labelGroup, d, config, width, 0, true)\n }\n labelGroup.classed(s.forceShow, true)\n}\n\nexport function onNodeMouseOut<N extends SankeyInputNode, L extends SankeyInputLink> (\n d: SankeyNode<N, L>,\n nodeSelection: Selection<SVGGElement, SankeyNode<N, L>, SVGGElement, unknown>,\n config: SankeyConfig<N, L>,\n width: number\n): void {\n const labelGroup = nodeSelection.select<SVGGElement>(`.${s.labelGroup}`)\n if (config.labelExpandTrimmedOnHover || labelGroup.classed(s.hidden)) {\n renderLabel(labelGroup, d, config, width, 0)\n }\n labelGroup.classed(s.forceShow, false)\n}\n"],"names":["s.node","labelGroup","s.labelGroup","s.labelBackground","s.label","s.sublabel","s.nodeIcon","nodeIcon","s.SANKEY_ICON_SIZE","s.hidden","s.labelTrimmed","s.forceShow"],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare const SANKEY_ICON_SIZE = 22;
|
|
2
|
-
export declare const root: string;
|
|
3
|
-
export declare const variables: void;
|
|
4
|
-
export declare const links: string;
|
|
5
|
-
export declare const nodes: string;
|
|
6
|
-
export declare const link: string;
|
|
7
|
-
export declare const linkPath: string;
|
|
8
|
-
export declare const linkSelectionHelper: string;
|
|
9
|
-
export declare const labelGroup: string;
|
|
10
|
-
export declare const labelTrimmed: string;
|
|
11
|
-
export declare const label: string;
|
|
12
|
-
export declare const sublabel: string;
|
|
13
|
-
export declare const labelBackground: string;
|
|
14
|
-
export declare const hidden: string;
|
|
15
|
-
export declare const forceShow: string;
|
|
16
|
-
export declare const nodeGroup: string;
|
|
17
|
-
export declare const node: string;
|
|
18
|
-
export declare const nodeIcon: string;
|
|
19
|
-
export declare const nodeExit: string;
|
|
20
|
-
export declare const background: string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../src/components/sankey/style.ts"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\nimport { UNOVIS_ICON_FONT_FAMILY_DEFAULT } from 'styles/index'\n\nexport const SANKEY_ICON_SIZE = 22\n\nexport const root = css`\n label: sankey-component;\n`\n\nexport const variables = injectGlobal`\n :root {\n /* Links */\n --vis-sankey-link-cursor: default;\n --vis-sankey-link-color: var(--vis-color-main-light);\n --vis-sankey-link-opacity: 0.5;\n --vis-sankey-link-hover-opacity: 1.0;\n /* Nodes */\n --vis-sankey-node-cursor: default;\n --vis-sankey-node-color: var(--vis-color-main);\n --vis-sankey-node-label-color: #575c65;\n --vis-sankey-node-opacity: 0.9;\n --vis-sankey-node-hover-opacity: 1.0;\n /* Node Labels */\n --vis-sankey-node-label-background-fill-color: #ffffff;\n --vis-sankey-node-label-background-stroke-color: #eaeaea;\n --vis-sankey-node-label-background-opacity: 0.9;\n --vis-sankey-node-label-color: #575c65;\n --vis-sankey-node-label-cursor: default;\n --vis-sankey-node-label-font-weight: 600;\n --vis-sankey-node-label-font-size: 12px;\n --vis-sankey-node-label-text-decoration: none;\n\n --vis-sankey-node-sublabel-font-size: 10px;\n --vis-sankey-node-sublabel-font-weight: 500;\n\n /* Icons */\n --vis-sankey-icon-size: ${SANKEY_ICON_SIZE}px;\n --vis-sankey-icon-color: #ffffff;\n --vis-sankey-icon-stroke-opacity: 0.6;\n --vis-sankey-icon-font-family: ${UNOVIS_ICON_FONT_FAMILY_DEFAULT};\n\n // Undefined by default to allow proper fallback to var(--vis-font-family)\n /* --vis-sankey-label-font-family: */\n\n /* Dark Theme */\n --vis-dark-sankey-link-color: var(--vis-color-main-dark);\n --vis-dark-sankey-node-color: var(--vis-color-main);\n --vis-dark-sankey-node-label-color: #eaeaea;\n --vis-dark-sankey-node-label-background-fill-color: #292b34;\n --vis-dark-sankey-node-label-background-stroke-color: #575c65;\n --vis-dark-sankey-icon-color: #292b34;\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-sankey-node-color: var(--vis-dark-sankey-node-color);\n --vis-sankey-link-color: var(--vis-dark-sankey-link-color);\n --vis-sankey-node-label-color: var(--vis-dark-sankey-node-label-color);\n --vis-sankey-node-label-background-fill-color: var(--vis-dark-sankey-label-background-fill-color);\n --vis-sankey-node-label-background-stroke-color: var(--vis-dark-sankey-label-background-stroke-color);\n --vis-sankey-icon-color: var(--vis-dark-sankey-icon-color);\n }\n`\n\nexport const links = css`\n label: links;\n`\n\nexport const nodes = css`\n label: nodes;\n`\n\nexport const link = css`\n label: link;\n\n path {\n cursor: var(--vis-sankey-link-cursor);\n fill: var(--vis-sankey-link-color);\n fill-opacity: var(--vis-sankey-link-opacity);\n }\n\n &:hover {\n path {\n fill-opacity: var(--vis-sankey-link-hover-opacity);\n }\n }\n`\n\nexport const linkPath = css`\n label: visible;\n`\n\nexport const linkSelectionHelper = css`\n label: transparent;\n opacity: 0;\n`\n\nexport const labelGroup = css`\n label: label-group;\n cursor: var(--vis-sankey-node-label-cursor);\n`\n\nexport const labelTrimmed = css`\n label: label-trimmed;\n`\n\nexport const label = css`\n label: label;\n dominant-baseline: hanging;\n\n fill: var(--vis-sankey-node-label-color);\n text-decoration: var(--vis-sankey-node-label-text-decoration);\n font-weight: var(--vis-sankey-node-label-font-weight);\n user-select: none;\n\n &, tspan {\n font-family: var(--vis-sankey-label-font-family, var(--vis-font-family));\n dominant-baseline: hanging;\n }\n`\n\nexport const sublabel = css`\n label: sub-label;\n dominant-baseline: hanging;\n\n fill: var(--vis-sankey-node-label-color);\n user-select: none;\n\n &, tspan {\n font-family: var(--vis-sankey-label-font-family, var(--vis-font-family));\n font-weight: var(--vis-sankey-node-sublabel-font-weight);\n dominant-baseline: hanging;\n }\n`\n\nexport const labelBackground = css`\n label: label-background;\n stroke: var(--vis-sankey-node-label-background-stroke-color);\n fill: var(--vis-sankey-node-label-background-fill-color);\n opacity: var(--vis-sankey-node-label-background-opacity);\n`\n\nexport const hidden = css`\n label: hidden;\n visibility: hidden;\n`\n\nexport const forceShow = css`\n label: forceShow;\n visibility: visible;\n`\n\nexport const nodeGroup = css`\n label: node-group;\n`\n\nexport const node = css`\n label: node;\n\n cursor: var(--vis-sankey-node-cursor);\n fill: var(--vis-sankey-node-color);\n opacity: var(--vis-sankey-node-opacity);\n\n &:hover {\n opacity: var(--vis-sankey-node-hover-opacity);\n }\n`\n\nexport const nodeIcon = css`\n label: icon;\n\n font-family: var(--vis-sankey-icon-font-family);\n text-anchor: middle;\n font-size: var(--vis-sankey-icon-size);\n fill: var(--vis-sankey-node-icon-color);\n stroke: var(--vis-sankey-node-color);\n stroke-opacity: var(--vis-sankey-icon-stroke-opacity);\n user-select: none;\n pointer-events: none;\n`\n\nexport const nodeExit = css`\n label: node-exit;\n`\n\nexport const background = css`\n label: background;\n`\n"],"names":[],"mappings":";;;AAGO,MAAM,gBAAgB,GAAG,GAAE;AAE3B,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;EAEtB;AAEM,MAAM,SAAS,GAAG,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA2BP,gBAAgB,CAAA;;;qCAGT,+BAA+B,CAAA;;;;;;;;;;;;;;AAchD,kBAAA,EAAA,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,CAAA;;;;;;;;EAQ7B;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;EAEvB;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;EAEvB;AAEM,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;;EActB;AAEM,MAAM,QAAQ,GAAG,GAAG,CAAA,CAAA;;EAE1B;AAEM,MAAM,mBAAmB,GAAG,GAAG,CAAA,CAAA;;;EAGrC;AAEM,MAAM,UAAU,GAAG,GAAG,CAAA,CAAA;;;EAG5B;AAEM,MAAM,YAAY,GAAG,GAAG,CAAA,CAAA;;EAE9B;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;EAavB;AAEM,MAAM,QAAQ,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;EAY1B;AAEM,MAAM,eAAe,GAAG,GAAG,CAAA,CAAA;;;;;EAKjC;AAEM,MAAM,MAAM,GAAG,GAAG,CAAA,CAAA;;;EAGxB;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;EAG3B;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;EAE3B;AAEM,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;EAUtB;AAEM,MAAM,QAAQ,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;EAW1B;AAEM,MAAM,QAAQ,GAAG,GAAG,CAAA,CAAA;;EAE1B;AAEM,MAAM,UAAU,GAAG,GAAG,CAAA,CAAA;;;;;;"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { sankeyLeft, sankeyRight, sankeyCenter, sankeyJustify } from 'd3-sankey';
|
|
2
|
-
import { GraphInputLink, GraphLinkCore, GraphNodeCore } from "../../types/graph";
|
|
3
|
-
import { GraphInputNode } from '../../types';
|
|
4
|
-
export declare type SankeyInputNode = GraphInputNode;
|
|
5
|
-
export declare type SankeyInputLink = GraphInputLink;
|
|
6
|
-
export declare type SankeyNode<N extends SankeyInputNode, L extends SankeyInputLink> = GraphNodeCore<N, L> & {
|
|
7
|
-
id: string;
|
|
8
|
-
/** the node’s value; this is the sum of link.value for the node’s incoming links, or node.fixedValue if defined */
|
|
9
|
-
value: number;
|
|
10
|
-
/** */
|
|
11
|
-
fixedValue?: number;
|
|
12
|
-
/** the node’s zero-based column index, corresponding to its horizontal position */
|
|
13
|
-
layer: number;
|
|
14
|
-
/** */
|
|
15
|
-
isConnected: boolean;
|
|
16
|
-
/** the array of incoming links which have this node as their source */
|
|
17
|
-
sourceLinks?: SankeyLink<N, L>[];
|
|
18
|
-
/** the array of outgoing links which have this node as their target */
|
|
19
|
-
targetLinks: SankeyLink<N, L>[];
|
|
20
|
-
/** the node’s zero-based index within the array of nodes */
|
|
21
|
-
index: number;
|
|
22
|
-
/** the node’s zero-based graph depth, derived from the graph topology */
|
|
23
|
-
depth: number;
|
|
24
|
-
/** node.height - the node’s zero-based graph height, derived from the graph topology */
|
|
25
|
-
height: number;
|
|
26
|
-
/** the node’s minimum horizontal position, derived from node.depth */
|
|
27
|
-
x0: number;
|
|
28
|
-
/** the node’s maximum horizontal position (node.x0 + sankey.nodeWidth) */
|
|
29
|
-
x1: number;
|
|
30
|
-
/** the node’s minimum vertical position */
|
|
31
|
-
y0: number;
|
|
32
|
-
/** the node’s maximum vertical position (node.y1 - node.y0 is proportional to node.value) */
|
|
33
|
-
y1: number;
|
|
34
|
-
/** calculated node width */
|
|
35
|
-
width: number;
|
|
36
|
-
/** internal ui state */
|
|
37
|
-
_state?: {
|
|
38
|
-
greyout?: boolean;
|
|
39
|
-
precalculatedHeight?: number;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
export declare type SankeyLink<N extends SankeyInputNode, L extends SankeyInputLink> = GraphLinkCore<N, L> & {
|
|
43
|
-
value: number;
|
|
44
|
-
/** the link’s source node */
|
|
45
|
-
source: SankeyNode<N, L>;
|
|
46
|
-
/** the link’s target node */
|
|
47
|
-
target: SankeyNode<N, L>;
|
|
48
|
-
/** the link’s vertical starting position (at source node) */
|
|
49
|
-
y0: number;
|
|
50
|
-
/** the link’s vertical end position (at target node) */
|
|
51
|
-
y1: number;
|
|
52
|
-
/** the link’s width (proportional to link.value) */
|
|
53
|
-
width: number;
|
|
54
|
-
/** the zero-based index of link within the array of links */
|
|
55
|
-
index: number;
|
|
56
|
-
/** internal ui state */
|
|
57
|
-
_state?: {
|
|
58
|
-
greyout?: boolean;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
export declare enum SankeySubLabelPlacement {
|
|
62
|
-
Inline = "inline",
|
|
63
|
-
Below = "below"
|
|
64
|
-
}
|
|
65
|
-
export declare enum SankeyNodeAlign {
|
|
66
|
-
Left = "left",
|
|
67
|
-
Right = "right",
|
|
68
|
-
Center = "center",
|
|
69
|
-
Justify = "justify"
|
|
70
|
-
}
|
|
71
|
-
export declare const SankeyLayout: {
|
|
72
|
-
left: typeof sankeyLeft;
|
|
73
|
-
right: typeof sankeyRight;
|
|
74
|
-
center: typeof sankeyCenter;
|
|
75
|
-
justify: typeof sankeyJustify;
|
|
76
|
-
};
|
|
77
|
-
export declare enum SankeyExitTransitionType {
|
|
78
|
-
Default = "default",
|
|
79
|
-
ToAncestor = "to ancestor"
|
|
80
|
-
}
|
|
81
|
-
export declare enum SankeyEnterTransitionType {
|
|
82
|
-
Default = "default",
|
|
83
|
-
FromAncestor = "from ancestor"
|
|
84
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { sankeyLeft, sankeyRight, sankeyCenter, sankeyJustify } from 'd3-sankey';
|
|
2
|
-
|
|
3
|
-
/* eslint-disable no-use-before-define */
|
|
4
|
-
var SankeySubLabelPlacement;
|
|
5
|
-
(function (SankeySubLabelPlacement) {
|
|
6
|
-
SankeySubLabelPlacement["Inline"] = "inline";
|
|
7
|
-
SankeySubLabelPlacement["Below"] = "below";
|
|
8
|
-
})(SankeySubLabelPlacement || (SankeySubLabelPlacement = {}));
|
|
9
|
-
var SankeyNodeAlign;
|
|
10
|
-
(function (SankeyNodeAlign) {
|
|
11
|
-
SankeyNodeAlign["Left"] = "left";
|
|
12
|
-
SankeyNodeAlign["Right"] = "right";
|
|
13
|
-
SankeyNodeAlign["Center"] = "center";
|
|
14
|
-
SankeyNodeAlign["Justify"] = "justify";
|
|
15
|
-
})(SankeyNodeAlign || (SankeyNodeAlign = {}));
|
|
16
|
-
const SankeyLayout = {
|
|
17
|
-
[SankeyNodeAlign.Left]: sankeyLeft,
|
|
18
|
-
[SankeyNodeAlign.Right]: sankeyRight,
|
|
19
|
-
[SankeyNodeAlign.Center]: sankeyCenter,
|
|
20
|
-
[SankeyNodeAlign.Justify]: sankeyJustify,
|
|
21
|
-
};
|
|
22
|
-
var SankeyExitTransitionType;
|
|
23
|
-
(function (SankeyExitTransitionType) {
|
|
24
|
-
SankeyExitTransitionType["Default"] = "default";
|
|
25
|
-
SankeyExitTransitionType["ToAncestor"] = "to ancestor";
|
|
26
|
-
})(SankeyExitTransitionType || (SankeyExitTransitionType = {}));
|
|
27
|
-
var SankeyEnterTransitionType;
|
|
28
|
-
(function (SankeyEnterTransitionType) {
|
|
29
|
-
SankeyEnterTransitionType["Default"] = "default";
|
|
30
|
-
SankeyEnterTransitionType["FromAncestor"] = "from ancestor";
|
|
31
|
-
})(SankeyEnterTransitionType || (SankeyEnterTransitionType = {}));
|
|
32
|
-
|
|
33
|
-
export { SankeyEnterTransitionType, SankeyExitTransitionType, SankeyLayout, SankeyNodeAlign, SankeySubLabelPlacement };
|
|
34
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/components/sankey/types.ts"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { sankeyLeft, sankeyRight, sankeyCenter, sankeyJustify } from 'd3-sankey'\nimport { GraphInputLink, GraphLinkCore, GraphNodeCore } from 'types/graph'\nimport { GraphInputNode } from '../../types'\n\nexport type SankeyInputNode = GraphInputNode\n\nexport type SankeyInputLink = GraphInputLink\n\nexport type SankeyNode<N extends SankeyInputNode, L extends SankeyInputLink> = GraphNodeCore<N, L> & {\n id: string;\n /** the node’s value; this is the sum of link.value for the node’s incoming links, or node.fixedValue if defined */\n value: number;\n /** */\n fixedValue?: number;\n /** the node’s zero-based column index, corresponding to its horizontal position */\n layer: number;\n /** */\n isConnected: boolean;\n /** the array of incoming links which have this node as their source */\n sourceLinks?: SankeyLink<N, L>[];\n /** the array of outgoing links which have this node as their target */\n targetLinks: SankeyLink<N, L>[];\n /** the node’s zero-based index within the array of nodes */\n index: number;\n /** the node’s zero-based graph depth, derived from the graph topology */\n depth: number;\n /** node.height - the node’s zero-based graph height, derived from the graph topology */\n height: number;\n /** the node’s minimum horizontal position, derived from node.depth */\n x0: number;\n /** the node’s maximum horizontal position (node.x0 + sankey.nodeWidth) */\n x1: number;\n /** the node’s minimum vertical position */\n y0: number;\n /** the node’s maximum vertical position (node.y1 - node.y0 is proportional to node.value) */\n y1: number;\n /** calculated node width */\n width: number;\n /** internal ui state */\n _state?: {\n greyout?: boolean;\n /* Pre-calculated node height value in pixels that will be used to manually generate the layout when data has no links */\n precalculatedHeight?: number;\n };\n}\n\nexport type SankeyLink<N extends SankeyInputNode, L extends SankeyInputLink> = GraphLinkCore<N, L> & {\n value: number;\n /** the link’s source node */\n source: SankeyNode<N, L>;\n /** the link’s target node */\n target: SankeyNode<N, L>;\n /** the link’s vertical starting position (at source node) */\n y0: number;\n /** the link’s vertical end position (at target node) */\n y1: number;\n /** the link’s width (proportional to link.value) */\n width: number;\n /** the zero-based index of link within the array of links */\n index: number;\n /** internal ui state */\n _state?: {\n greyout?: boolean;\n };\n}\n\nexport enum SankeySubLabelPlacement {\n Inline = 'inline',\n Below = 'below',\n}\n\nexport enum SankeyNodeAlign {\n Left = 'left',\n Right = 'right',\n Center = 'center',\n Justify = 'justify',\n}\n\nexport const SankeyLayout = {\n [SankeyNodeAlign.Left]: sankeyLeft,\n [SankeyNodeAlign.Right]: sankeyRight,\n [SankeyNodeAlign.Center]: sankeyCenter,\n [SankeyNodeAlign.Justify]: sankeyJustify,\n}\n\nexport enum SankeyExitTransitionType {\n Default = 'default',\n ToAncestor = 'to ancestor',\n}\n\nexport enum SankeyEnterTransitionType {\n Default = 'default',\n FromAncestor = 'from ancestor',\n}\n"],"names":[],"mappings":";;AAAA;IAmEY,wBAGX;AAHD,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,uBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,GAGlC,EAAA,CAAA,CAAA,CAAA;IAEW,gBAKX;AALD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,YAAY,GAAG;AAC1B,IAAA,CAAC,eAAe,CAAC,IAAI,GAAG,UAAU;AAClC,IAAA,CAAC,eAAe,CAAC,KAAK,GAAG,WAAW;AACpC,IAAA,CAAC,eAAe,CAAC,MAAM,GAAG,YAAY;AACtC,IAAA,CAAC,eAAe,CAAC,OAAO,GAAG,aAAa;EACzC;IAEW,yBAGX;AAHD,CAAA,UAAY,wBAAwB,EAAA;AAClC,IAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,wBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;AAC5B,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,GAGnC,EAAA,CAAA,CAAA,CAAA;IAEW,0BAGX;AAHD,CAAA,UAAY,yBAAyB,EAAA;AACnC,IAAA,yBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,yBAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;AAChC,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,GAGpC,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { ScalePower } from 'd3-scale';
|
|
2
|
-
import { XYComponentConfigInterface, XYComponentConfig } from "../../core/xy-component/config";
|
|
3
|
-
import { ContinuousScale } from "../../types/scale";
|
|
4
|
-
import { SymbolType } from "../../types/symbol";
|
|
5
|
-
import { ColorAccessor, GenericAccessor, NumericAccessor, StringAccessor } from "../../types/accessor";
|
|
6
|
-
import { Position } from "../../types/position";
|
|
7
|
-
export interface ScatterConfigInterface<Datum> extends XYComponentConfigInterface<Datum> {
|
|
8
|
-
/**
|
|
9
|
-
* Size of the scatter plot marker (e.g. diameter if `SymbolType.Circle` is used for `shape`) in pixels.
|
|
10
|
-
* Can be a constant value or an accessor function. But if `sizeRange` is set, then the values will be treated
|
|
11
|
-
* as an input to `sizeScale`, and the resulting size will be different.
|
|
12
|
-
* Default: `10`
|
|
13
|
-
*/
|
|
14
|
-
size?: NumericAccessor<Datum>;
|
|
15
|
-
/** Size scale to be used if the `sizeRange` was set. Default: `Scale.scaleSqrt()` */
|
|
16
|
-
sizeScale?: ContinuousScale;
|
|
17
|
-
/** Size range in the format of `[number, number]` to rescale the input values. Default: `undefined` */
|
|
18
|
-
sizeRange?: [number, number];
|
|
19
|
-
/** Shape of the scatter point. Accessor function or constant value: `SymbolType.Circle`, `SymbolType.Cross`, `SymbolType.Diamond`, `SymbolType.Square`,
|
|
20
|
-
* `SymbolType.Star`, `SymbolType.Triangle` or `SymbolType.Wye`.
|
|
21
|
-
* Default: `SymbolType.Circle` */
|
|
22
|
-
shape?: ((d: Datum, i?: number, ...any: any[]) => (SymbolType | string)) | SymbolType | string;
|
|
23
|
-
/** Label accessor function or string. Default: `undefined` */
|
|
24
|
-
label?: StringAccessor<Datum>;
|
|
25
|
-
/** Label color. Default: `undefined` */
|
|
26
|
-
labelColor?: ColorAccessor<Datum>;
|
|
27
|
-
/** Optional point cursor. Default: `null` */
|
|
28
|
-
cursor?: StringAccessor<Datum>;
|
|
29
|
-
/** Point color brightness ratio for switching between dark and light text label color. Default: `0.65` */
|
|
30
|
-
labelTextBrightnessRatio?: number;
|
|
31
|
-
/** Label position. Default: `Position.Bottom` */
|
|
32
|
-
labelPosition?: GenericAccessor<Position | string, Datum>;
|
|
33
|
-
}
|
|
34
|
-
export declare class ScatterConfig<Datum> extends XYComponentConfig<Datum> implements ScatterConfigInterface<Datum> {
|
|
35
|
-
size: number;
|
|
36
|
-
sizeScale: ScalePower<number, number>;
|
|
37
|
-
sizeRange: any;
|
|
38
|
-
shape: SymbolType;
|
|
39
|
-
label: any;
|
|
40
|
-
labelColor: any;
|
|
41
|
-
labelPosition: Position;
|
|
42
|
-
cursor: any;
|
|
43
|
-
labelTextBrightnessRatio: number;
|
|
44
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { XYComponentConfig } from '../../core/xy-component/config.js';
|
|
2
|
-
import { Scale } from '../../types/scale.js';
|
|
3
|
-
import { SymbolType } from '../../types/symbol.js';
|
|
4
|
-
import { Position } from '../../types/position.js';
|
|
5
|
-
|
|
6
|
-
// Core
|
|
7
|
-
class ScatterConfig extends XYComponentConfig {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.size = 10;
|
|
11
|
-
this.sizeScale = Scale.scaleSqrt();
|
|
12
|
-
this.sizeRange = undefined;
|
|
13
|
-
this.shape = SymbolType.Circle;
|
|
14
|
-
this.label = undefined;
|
|
15
|
-
this.labelColor = undefined;
|
|
16
|
-
this.labelPosition = Position.Bottom;
|
|
17
|
-
this.cursor = null;
|
|
18
|
-
this.labelTextBrightnessRatio = 0.65;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export { ScatterConfig };
|
|
23
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../src/components/scatter/config.ts"],"sourcesContent":["import { ScalePower } from 'd3-scale'\n// Core\nimport { XYComponentConfigInterface, XYComponentConfig } from 'core/xy-component/config'\n\n// Types\nimport { Scale, ContinuousScale } from 'types/scale'\nimport { SymbolType } from 'types/symbol'\nimport { ColorAccessor, GenericAccessor, NumericAccessor, StringAccessor } from 'types/accessor'\nimport { Position } from 'types/position'\n\nexport interface ScatterConfigInterface<Datum> extends XYComponentConfigInterface<Datum> {\n /**\n * Size of the scatter plot marker (e.g. diameter if `SymbolType.Circle` is used for `shape`) in pixels.\n * Can be a constant value or an accessor function. But if `sizeRange` is set, then the values will be treated\n * as an input to `sizeScale`, and the resulting size will be different.\n * Default: `10`\n */\n size?: NumericAccessor<Datum>;\n /** Size scale to be used if the `sizeRange` was set. Default: `Scale.scaleSqrt()` */\n sizeScale?: ContinuousScale;\n /** Size range in the format of `[number, number]` to rescale the input values. Default: `undefined` */\n sizeRange?: [number, number];\n /** Shape of the scatter point. Accessor function or constant value: `SymbolType.Circle`, `SymbolType.Cross`, `SymbolType.Diamond`, `SymbolType.Square`,\n * `SymbolType.Star`, `SymbolType.Triangle` or `SymbolType.Wye`.\n * Default: `SymbolType.Circle` */\n shape?: ((d: Datum, i?: number, ...any) => (SymbolType | string)) | SymbolType | string;\n /** Label accessor function or string. Default: `undefined` */\n label?: StringAccessor<Datum>;\n /** Label color. Default: `undefined` */\n labelColor?: ColorAccessor<Datum>;\n /** Optional point cursor. Default: `null` */\n cursor?: StringAccessor<Datum>;\n /** Point color brightness ratio for switching between dark and light text label color. Default: `0.65` */\n labelTextBrightnessRatio?: number;\n /** Label position. Default: `Position.Bottom` */\n labelPosition?: GenericAccessor<Position | string, Datum>;\n}\n\nexport class ScatterConfig<Datum> extends XYComponentConfig<Datum> implements ScatterConfigInterface<Datum> {\n size = 10\n sizeScale: ScalePower<number, number> = Scale.scaleSqrt()\n sizeRange = undefined\n shape = SymbolType.Circle\n label = undefined\n labelColor = undefined\n labelPosition = Position.Bottom\n cursor = null\n labelTextBrightnessRatio = 0.65\n}\n"],"names":[],"mappings":";;;;;AACA;AAqCM,MAAO,aAAqB,SAAQ,iBAAwB,CAAA;AAAlE,IAAA,WAAA,GAAA;;QACE,IAAI,CAAA,IAAA,GAAG,EAAE,CAAA;AACT,QAAA,IAAA,CAAA,SAAS,GAA+B,KAAK,CAAC,SAAS,EAAE,CAAA;QACzD,IAAS,CAAA,SAAA,GAAG,SAAS,CAAA;AACrB,QAAA,IAAA,CAAA,KAAK,GAAG,UAAU,CAAC,MAAM,CAAA;QACzB,IAAK,CAAA,KAAA,GAAG,SAAS,CAAA;QACjB,IAAU,CAAA,UAAA,GAAG,SAAS,CAAA;AACtB,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC/B,IAAM,CAAA,MAAA,GAAG,IAAI,CAAA;QACb,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAA;KAChC;AAAA;;;;"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { XYComponentCore } from "../../core/xy-component";
|
|
2
|
-
import { Spacing } from "../../types/spacing";
|
|
3
|
-
import { ScatterPoint } from './types';
|
|
4
|
-
import { ScatterConfig, ScatterConfigInterface } from './config';
|
|
5
|
-
import * as s from './style';
|
|
6
|
-
export declare class Scatter<Datum> extends XYComponentCore<Datum, ScatterConfig<Datum>, ScatterConfigInterface<Datum>> {
|
|
7
|
-
static selectors: typeof s;
|
|
8
|
-
config: ScatterConfig<Datum>;
|
|
9
|
-
events: {
|
|
10
|
-
[x: string]: {
|
|
11
|
-
mouseenter: (d: ScatterPoint<Datum>, event: MouseEvent) => void;
|
|
12
|
-
mouseleave: (d: ScatterPoint<Datum>, event: MouseEvent) => void;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
private _pointData;
|
|
16
|
-
private _points;
|
|
17
|
-
private _collideLabelsAnimFrameId;
|
|
18
|
-
constructor(config?: ScatterConfigInterface<Datum>);
|
|
19
|
-
setConfig(config: ScatterConfigInterface<Datum>): void;
|
|
20
|
-
setData(data: Datum[]): void;
|
|
21
|
-
get bleed(): Spacing;
|
|
22
|
-
_render(customDuration?: number): void;
|
|
23
|
-
private _collideLabels;
|
|
24
|
-
private _updateSizeScale;
|
|
25
|
-
private _getOnScreenData;
|
|
26
|
-
private _onPointMouseOver;
|
|
27
|
-
private _onPointMouseOut;
|
|
28
|
-
}
|