@unovis/ts 1.1.1-beta.5 → 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 -46
- 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 -417
- package/utils/text.js.map +0 -1
- package/utils/type.d.ts +0 -5
package/utils/data.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { max, min, mean, bisector } from 'd3-array'\nimport { throttle as _throttle } from 'throttle-debounce'\n\n// Types\nimport { NumericAccessor, StringAccessor, BooleanAccessor, ColorAccessor, GenericAccessor } from 'types/accessor'\nimport { StackValuesRecord } from 'types/data'\n\nexport const isNumber = <T>(a: T): boolean => typeof a === 'number'\nexport const isFunction = <T>(a: T): boolean => typeof a === 'function'\nexport const isUndefined = <T>(a: T): boolean => a === undefined\nexport const isNil = <T>(a: T): boolean => a == null\nexport const isString = <T>(a: T): boolean => typeof a === 'string'\nexport const isArray = <T>(a: T): boolean => Array.isArray(a)\nexport const isObject = <T>(a: T): boolean => (a instanceof Object)\nexport const isAClassInstance = <T>(a: T): boolean => a.constructor.name !== 'Function' && a.constructor.name !== 'Object'\nexport const isPlainObject = <T>(a: T): boolean => isObject(a) && !isArray(a) && !isFunction(a) && !isAClassInstance(a)\n\nexport const isEmpty = <T>(obj: T): boolean => {\n return [Object, Array].includes((obj || {}).constructor as ArrayConstructor | ObjectConstructor) &&\n !Object.entries((obj || {})).length\n}\n\n// Based on https://github.com/maplibre/maplibre-gl-js/blob/e78ad7944ef768e67416daa4af86b0464bd0f617/src/style-spec/util/deep_equal.ts, 3-Clause BSD license\nexport const isEqual = (a?: unknown | null, b?: unknown | null, visited: Set<any> = new Set()): boolean => {\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) return false\n\n if (visited.has(a)) return true\n else visited.add(a)\n\n for (let i = 0; i < a.length; i++) {\n if (!isEqual(a[i], b[i], visited)) return false\n }\n\n return true\n }\n\n if (typeof a === 'object' && a !== null && b !== null) {\n if (!(typeof b === 'object')) return false\n if (a === b) return true\n\n const keys = Object.keys(a)\n if (keys.length !== Object.keys(b).length) return false\n\n if (visited.has(a)) return true\n else visited.add(a)\n\n for (const key in a) {\n if (!isEqual(a[key], b[key], visited)) return false\n }\n\n return true\n }\n\n return a === b\n}\n\nexport const without = <T>(arr: Array<T>, ...args: T[]): Array<T> => arr.filter(item => !args.includes(item))\nexport const flatten = <T>(arr: Array<T | T[]>): Array<T> => arr.flat() as T[]\nexport const cloneDeep = <T>(obj: T, stack: Map<any, any> = new Map()): T => {\n if (typeof obj !== 'object' || obj === null) {\n return obj\n }\n\n if (obj instanceof Date) {\n return new Date(obj.getTime()) as unknown as T\n }\n\n if (obj instanceof Array) {\n const clone: unknown[] = []\n stack.set(obj, clone)\n for (const item of obj) {\n clone.push(stack.has(item) ? stack.get(item) : cloneDeep(item, stack))\n }\n return clone as unknown as T\n }\n\n // Class instances will be copied without cloning\n if (isAClassInstance(obj)) {\n const clone = obj\n return clone\n }\n\n if (obj instanceof Object) {\n const clone = {} as T\n stack.set(obj, clone)\n const objAsRecord = obj as Record<string | number, unknown>\n Object.keys(obj)\n .reduce((newObj: typeof objAsRecord, key: string | number): typeof objAsRecord => {\n newObj[key] = stack.has(objAsRecord[key]) ? stack.get(objAsRecord[key]) : cloneDeep(objAsRecord[key], stack)\n return newObj\n }, clone as typeof objAsRecord)\n\n return clone\n }\n\n return obj\n}\n\n\nexport const merge = <T, K>(obj1: T, obj2: K, visited: Map<any, any> = new Map()): T & K => {\n type Rec = Record<string | number, unknown>\n\n if (!obj1 || !obj2) return obj1 as T & K\n if ((obj1 as unknown) === (obj2 as unknown)) return obj1 as T & K\n\n const newObj = (isAClassInstance(obj1 as Rec) ? obj1 : cloneDeep(obj1)) as T & K\n\n // Taking care of recursive structures\n if (visited.has(obj2)) return visited.get(obj2)\n else visited.set(obj2, newObj)\n\n Object.keys(obj2 as Rec).forEach(key => {\n if (isPlainObject((obj1 as Rec)[key]) && isPlainObject((obj2 as Rec)[key])) {\n (newObj as Rec)[key] = merge((obj1 as Rec)[key], (obj2 as Rec)[key], visited)\n } else if (isAClassInstance(obj2 as Rec)) {\n (newObj as Rec)[key] = obj2\n } else {\n (newObj as Rec)[key] = cloneDeep((obj2 as Rec)[key])\n }\n })\n\n return newObj\n}\n\nexport const omit = <T extends Record<string | number | symbol, unknown>>(obj: T, props: Array<keyof T>): Partial<T> => {\n obj = { ...obj }\n props.forEach(prop => delete obj[prop])\n return obj\n}\n\nexport const groupBy = <T extends Record<string | number, any>> (arr: T[], accessor: (a: T) => string | number): Record<string | number, T[]> => {\n return arr.reduce(\n (grouped, v, i, a, k = accessor(v)) => (((grouped[k] || (grouped[k] = [])).push(v), grouped)),\n {} as Record<string | number, T[]>\n )\n}\n\nexport const sortBy = <T>(arr: Array<T>, accessor: (a: T) => string | number): Array<T> => {\n return arr.concat() // The native sort method modifies the array in place. We use `.concat()` to copy the array first\n .sort((a, b): number => {\n return (accessor(a) > accessor(b)) ? 1 : ((accessor(b) > accessor(a)) ? -1 : 0)\n })\n}\n\nexport const throttle = <T extends (...args: any[]) => any>(\n f: T,\n delay: number,\n options?: {\n noTrailing?: boolean;\n noLeading?: boolean;\n debounceMode?: boolean;\n }\n): _throttle<T> => _throttle(delay, f, options)\n\nexport function getValue<T, ReturnType> (\n d: T,\n accessor: NumericAccessor<T> | StringAccessor<T> | BooleanAccessor<T> | ColorAccessor<T> | GenericAccessor<ReturnType, T>,\n index?: number\n): ReturnType {\n // eslint-disable-next-line @typescript-eslint/ban-types\n if (isFunction(accessor)) return (accessor as Function)(d, index) as (ReturnType | null | undefined)\n else return accessor as unknown as (ReturnType | null | undefined)\n}\n\nexport function getString<T> (d: T, accessor: StringAccessor<T>, i?: number): string | null | undefined {\n return getValue<T, string>(d, accessor, i)\n}\n\nexport function getNumber<T> (d: T, accessor: NumericAccessor<T>, i?: number): number | null | undefined {\n return getValue<T, number>(d, accessor, i)\n}\n\nexport function getBoolean<T> (d: T, accessor: BooleanAccessor<T>, i?: number): boolean | null | undefined {\n return getValue<T, boolean>(d, accessor, i)\n}\n\nexport function clean<T> (data: T[]): T[] {\n return data.filter(d => d && !isNumber(d))\n}\n\nexport function clamp (d: number, min: number, max: number): number {\n return Math.min(Math.max(d, min), max)\n}\n\nexport function unique<T> (array: T[]): T[] {\n return Array.from(new Set(array))\n}\n\nexport function countUnique<T> (array: T[], accessor = d => d): number {\n return new Set(array.map(d => accessor(d))).size\n}\n\nexport function arrayOfIndices (n: number): number[] {\n return [...Array(n).keys()]\n}\n\nexport function shallowDiff (o1: Record<string, unknown> = {}, o2: Record<string, unknown> = {}): Record<string, unknown> {\n return Object.keys(o2).reduce((diff, key) => {\n if (o1[key] === o2[key]) return diff\n return {\n ...diff,\n [key]: o2[key],\n }\n }, {})\n}\n\nexport function getStackedExtent<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n if (!data) return [undefined, undefined]\n if (isArray(acs)) {\n let minValue = 0\n let maxValue = 0\n data.forEach((d, i) => {\n let positiveStack = 0\n let negativeStack = 0\n for (const a of acs as NumericAccessor<Datum>[]) {\n const value = getNumber(d, a, i) || 0\n if (value >= 0) positiveStack += value\n else negativeStack += value\n }\n\n if (positiveStack > maxValue) maxValue = positiveStack\n if (negativeStack < minValue) minValue = negativeStack\n })\n return [minValue, maxValue]\n }\n}\n\nexport function getStackedValues<Datum> (d: Datum, index: number, ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n const values = []\n\n let positiveStack = 0\n let negativeStack = 0\n for (const a of acs as NumericAccessor<Datum>[]) {\n const value = getNumber(d, a, index) || 0\n if (value >= 0) {\n values.push(positiveStack += value)\n } else {\n values.push(negativeStack += value)\n }\n }\n\n return values\n}\n\nexport function getStackedData<Datum> (\n data: Datum[],\n baseline: NumericAccessor<Datum>,\n acs: NumericAccessor<Datum>[],\n prevNegative?: boolean[] // to help guessing the stack direction (positive/negative) when the values are 0 or null\n): StackValuesRecord[] {\n const baselineValues = data.map((d, i) => getNumber(d, baseline, i) || 0)\n const isNegativeStack = acs.map((a, j) => {\n const average = mean(data, (d, i) => getNumber(d, a, i) || 0)\n return (average === 0 && Array.isArray(prevNegative)) ? prevNegative[j] : average < 0\n })\n\n const stackedData: StackValuesRecord[] = acs.map(() => [])\n data.forEach((d, i) => {\n let positiveStack = baselineValues[i]\n let negativeStack = baselineValues[i]\n acs.forEach((a, j) => {\n const value = getNumber(d, a, i) || 0\n if (!isNegativeStack[j]) {\n stackedData[j].push([positiveStack, positiveStack += value])\n } else {\n stackedData[j].push([negativeStack, negativeStack += value])\n }\n })\n })\n\n // Fill in additional stack information\n stackedData.forEach((stack, i) => {\n stack.negative = isNegativeStack[i]\n })\n\n stackedData.filter(s => s.negative)\n .forEach((s, i, arr) => {\n s.ending = i === arr.length - 1\n })\n\n stackedData.filter(s => !s.negative)\n .forEach((s, i, arr) => {\n s.ending = i === arr.length - 1\n })\n\n return stackedData\n}\n\nexport function getMin<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined {\n if (!data) return undefined\n const minValue = min(data, (d, i) => min(acs as NumericAccessor<Datum>[], a => getNumber(d, a, i)))\n return minValue\n}\n\nexport function getMax<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined {\n if (!data) return undefined\n const maxValue = max(data, (d, i) => max(acs as NumericAccessor<Datum>[], a => getNumber(d, a, i)))\n return maxValue\n}\n\nexport function getExtent<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n return [getMin(data, ...acs), getMax(data, ...acs)]\n}\n\nexport function getNearest<Datum> (data: Datum[], value: number, accessor: NumericAccessor<Datum>): Datum {\n if (data.length <= 1) return data[0]\n\n const values = data.map((d, i) => getNumber(d, accessor, i))\n values.sort((a, b) => a - b)\n\n const xBisector = bisector(d => d).left\n const index = xBisector(values, value, 1, data.length - 1)\n return value - values[index - 1] > values[index] - value ? data[index] : data[index - 1]\n}\n\nexport function filterDataByRange<Datum> (data: Datum[], range: [number, number], accessor: NumericAccessor<Datum>): Datum[] {\n const filteredData = data.filter((d, i) => {\n const value = getNumber(d, accessor, i)\n return (value >= range[0]) && (value < range[1])\n })\n\n return filteredData\n}\n\nexport function isNumberWithinRange (value: number, range: [number, number]): boolean {\n return (value >= range[0]) && (value <= range[1])\n}\n"],"names":["_throttle"],"mappings":";;;AAOO,MAAM,QAAQ,GAAG,CAAI,CAAI,KAAc,OAAO,CAAC,KAAK,SAAQ;AAC5D,MAAM,UAAU,GAAG,CAAI,CAAI,KAAc,OAAO,CAAC,KAAK,WAAU;AAChE,MAAM,WAAW,GAAG,CAAI,CAAI,KAAc,CAAC,KAAK,UAAS;AACzD,MAAM,KAAK,GAAG,CAAI,CAAI,KAAc,CAAC,IAAI,KAAI;AAC7C,MAAM,QAAQ,GAAG,CAAI,CAAI,KAAc,OAAO,CAAC,KAAK,SAAQ;AAC5D,MAAM,OAAO,GAAG,CAAI,CAAI,KAAc,KAAK,CAAC,OAAO,CAAC,CAAC,EAAC;AACtD,MAAM,QAAQ,GAAG,CAAI,CAAI,MAAe,CAAC,YAAY,MAAM,EAAC;AACtD,MAAA,gBAAgB,GAAG,CAAI,CAAI,KAAc,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,SAAQ;AACnH,MAAM,aAAa,GAAG,CAAI,CAAI,KAAc,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAC;AAE1G,MAAA,OAAO,GAAG,CAAI,GAAM,KAAa;AAC5C,IAAA,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,WAAmD,CAAC;AAC9F,QAAA,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAA;AACvC,EAAC;AAED;AACO,MAAM,OAAO,GAAG,CAAC,CAAkB,EAAE,CAAkB,EAAE,OAAoB,GAAA,IAAI,GAAG,EAAE,KAAa;AACxG,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK,CAAA;AAE5D,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI,CAAA;;AAC1B,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AAAE,gBAAA,OAAO,KAAK,CAAA;AAChD,SAAA;AAED,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAED,IAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;AACrD,QAAA,IAAI,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC;AAAE,YAAA,OAAO,KAAK,CAAA;QAC1C,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAA;QAExB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK,CAAA;AAEvD,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI,CAAA;;AAC1B,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEnB,QAAA,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAAE,gBAAA,OAAO,KAAK,CAAA;AACpD,SAAA;AAED,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,OAAO,CAAC,KAAK,CAAC,CAAA;AAChB,EAAC;AAEM,MAAM,OAAO,GAAG,CAAI,GAAa,EAAE,GAAG,IAAS,KAAe,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;AACtG,MAAM,OAAO,GAAG,CAAI,GAAmB,KAAe,GAAG,CAAC,IAAI,GAAS;AACvE,MAAM,SAAS,GAAG,CAAI,GAAM,EAAE,KAAA,GAAuB,IAAI,GAAG,EAAE,KAAO;IAC1E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;AAC3C,QAAA,OAAO,GAAG,CAAA;AACX,KAAA;IAED,IAAI,GAAG,YAAY,IAAI,EAAE;QACvB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAiB,CAAA;AAC/C,KAAA;IAED,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,MAAM,KAAK,GAAc,EAAE,CAAA;AAC3B,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACrB,QAAA,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;AACtB,YAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AACvE,SAAA;AACD,QAAA,OAAO,KAAqB,CAAA;AAC7B,KAAA;;AAGD,IAAA,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;QACzB,MAAM,KAAK,GAAG,GAAG,CAAA;AACjB,QAAA,OAAO,KAAK,CAAA;AACb,KAAA;IAED,IAAI,GAAG,YAAY,MAAM,EAAE;QACzB,MAAM,KAAK,GAAG,EAAO,CAAA;AACrB,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,MAAM,WAAW,GAAG,GAAuC,CAAA;AAC3D,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACb,aAAA,MAAM,CAAC,CAAC,MAA0B,EAAE,GAAoB,KAAwB;AAC/E,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;AAC5G,YAAA,OAAO,MAAM,CAAA;SACd,EAAE,KAA2B,CAAC,CAAA;AAEjC,QAAA,OAAO,KAAK,CAAA;AACb,KAAA;AAED,IAAA,OAAO,GAAG,CAAA;AACZ,EAAC;AAGM,MAAM,KAAK,GAAG,CAAO,IAAO,EAAE,IAAO,EAAE,OAAyB,GAAA,IAAI,GAAG,EAAE,KAAW;AAGzF,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAa,CAAA;IACxC,IAAK,IAAgB,KAAM,IAAgB;AAAE,QAAA,OAAO,IAAa,CAAA;AAEjE,IAAA,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAU,CAAA;;AAGhF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;;AAC1C,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE9B,MAAM,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AACrC,QAAA,IAAI,aAAa,CAAE,IAAY,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAE,IAAY,CAAC,GAAG,CAAC,CAAC,EAAE;AACzE,YAAA,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAE,IAAY,CAAC,GAAG,CAAC,EAAG,IAAY,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;AAC9E,SAAA;AAAM,aAAA,IAAI,gBAAgB,CAAC,IAAW,CAAC,EAAE;AACvC,YAAA,MAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;AAC5B,SAAA;AAAM,aAAA;YACJ,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,IAAY,CAAC,GAAG,CAAC,CAAC,CAAA;AACrD,SAAA;AACH,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,MAAM,CAAA;AACf,EAAC;MAEY,IAAI,GAAG,CAAsD,GAAM,EAAE,KAAqB,KAAgB;IACrH,GAAG,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,GAAG,CAAE,CAAA;AAChB,IAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AACvC,IAAA,OAAO,GAAG,CAAA;AACZ,EAAC;MAEY,OAAO,GAAG,CAA0C,GAAQ,EAAE,QAAmC,KAAkC;IAC9I,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAC7F,EAAkC,CACnC,CAAA;AACH,EAAC;MAEY,MAAM,GAAG,CAAI,GAAa,EAAE,QAAmC,KAAc;AACxF,IAAA,OAAO,GAAG,CAAC,MAAM,EAAE;AAChB,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAY;AACrB,QAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AACjF,KAAC,CAAC,CAAA;AACN,EAAC;MAEY,QAAQ,GAAG,CACtB,CAAI,EACJ,KAAa,EACb,OAIC,KACgBA,UAAS,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAC;SAE/B,QAAQ,CACtB,CAAI,EACJ,QAAyH,EACzH,KAAc,EAAA;;IAGd,IAAI,UAAU,CAAC,QAAQ,CAAC;AAAE,QAAA,OAAQ,QAAqB,CAAC,CAAC,EAAE,KAAK,CAAoC,CAAA;;AAC/F,QAAA,OAAO,QAAsD,CAAA;AACpE,CAAC;SAEe,SAAS,CAAK,CAAI,EAAE,QAA2B,EAAE,CAAU,EAAA;IACzE,OAAO,QAAQ,CAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC5C,CAAC;SAEe,SAAS,CAAK,CAAI,EAAE,QAA4B,EAAE,CAAU,EAAA;IAC1E,OAAO,QAAQ,CAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC5C,CAAC;SAEe,UAAU,CAAK,CAAI,EAAE,QAA4B,EAAE,CAAU,EAAA;IAC3E,OAAO,QAAQ,CAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC;AAEK,SAAU,KAAK,CAAK,IAAS,EAAA;AACjC,IAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC;SAEe,KAAK,CAAE,CAAS,EAAE,GAAW,EAAE,GAAW,EAAA;AACxD,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC;AAEK,SAAU,MAAM,CAAK,KAAU,EAAA;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACnC,CAAC;AAEK,SAAU,WAAW,CAAK,KAAU,EAAE,QAAQ,GAAG,CAAC,IAAI,CAAC,EAAA;AAC3D,IAAA,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAClD,CAAC;AAEK,SAAU,cAAc,CAAE,CAAS,EAAA;IACvC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7B,CAAC;SAEe,WAAW,CAAE,KAA8B,EAAE,EAAE,KAA8B,EAAE,EAAA;AAC7F,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;QAC1C,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,IAAI,CAAA;QACpC,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EACf,CAAA,CAAA;KACF,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;SAEe,gBAAgB,CAAS,IAAa,EAAE,GAAG,GAA6B,EAAA;AACtF,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AACxC,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACpB,IAAI,aAAa,GAAG,CAAC,CAAA;YACrB,IAAI,aAAa,GAAG,CAAC,CAAA;AACrB,YAAA,KAAK,MAAM,CAAC,IAAI,GAA+B,EAAE;AAC/C,gBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;gBACrC,IAAI,KAAK,IAAI,CAAC;oBAAE,aAAa,IAAI,KAAK,CAAA;;oBACjC,aAAa,IAAI,KAAK,CAAA;AAC5B,aAAA;YAED,IAAI,aAAa,GAAG,QAAQ;gBAAE,QAAQ,GAAG,aAAa,CAAA;YACtD,IAAI,aAAa,GAAG,QAAQ;gBAAE,QAAQ,GAAG,aAAa,CAAA;AACxD,SAAC,CAAC,CAAA;AACF,QAAA,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC5B,KAAA;AACH,CAAC;AAEK,SAAU,gBAAgB,CAAS,CAAQ,EAAE,KAAa,EAAE,GAAG,GAA6B,EAAA;IAChG,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,aAAa,GAAG,CAAC,CAAA;AACrB,IAAA,KAAK,MAAM,CAAC,IAAI,GAA+B,EAAE;AAC/C,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,CAAA;AACpC,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,CAAA;AACpC,SAAA;AACF,KAAA;AAED,IAAA,OAAO,MAAM,CAAA;AACf,CAAC;AAEK,SAAU,cAAc,CAC5B,IAAa,EACb,QAAgC,EAChC,GAA6B,EAC7B,YAAwB;;IAExB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACzE,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAA;AACvF,KAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAwB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACpB,QAAA,IAAI,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;AACrC,QAAA,IAAI,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QACrC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACnB,YAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACrC,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;AAC7D,aAAA;AAAM,iBAAA;AACL,gBAAA,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;AAC7D,aAAA;AACH,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;;IAGF,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;AAC/B,QAAA,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACrC,KAAC,CAAC,CAAA;IAEF,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;SAChC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAI;QACrB,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AACjC,KAAC,CAAC,CAAA;IAEJ,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;SACjC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAI;QACrB,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AACjC,KAAC,CAAC,CAAA;AAEJ,IAAA,OAAO,WAAW,CAAA;AACpB,CAAC;SAEe,MAAM,CAAS,IAAa,EAAE,GAAG,GAA6B,EAAA;AAC5E,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,SAAS,CAAA;AAC3B,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAA+B,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACnG,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;SAEe,MAAM,CAAS,IAAa,EAAE,GAAG,GAA6B,EAAA;AAC5E,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,SAAS,CAAA;AAC3B,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAA+B,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACnG,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;SAEe,SAAS,CAAS,IAAa,EAAE,GAAG,GAA6B,EAAA;AAC/E,IAAA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;AACrD,CAAC;SAEe,UAAU,CAAS,IAAa,EAAE,KAAa,EAAE,QAAgC,EAAA;AAC/F,IAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;AAAE,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,IAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;AAE5B,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AACvC,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC1D,IAAA,OAAO,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AAC1F,CAAC;SAEe,iBAAiB,CAAS,IAAa,EAAE,KAAuB,EAAE,QAAgC,EAAA;IAChH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AACvC,QAAA,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAClD,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,YAAY,CAAA;AACrB,CAAC;AAEe,SAAA,mBAAmB,CAAE,KAAa,EAAE,KAAuB,EAAA;AACzE,IAAA,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD;;;;"}
|
package/utils/html.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getHTMLTransform(el: HTMLElement): number[];
|
package/utils/html.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { select } from 'd3-selection';
|
|
2
|
-
|
|
3
|
-
function getHTMLTransform(el) {
|
|
4
|
-
const results = select(el).style('transform')
|
|
5
|
-
// eslint-disable-next-line max-len
|
|
6
|
-
.match(/matrix(?:(3d)\(-{0,1}\d+\.?\d*(?:, -{0,1}\d+\.?\d*)*(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*)), -{0,1}\d+\.?\d*\)|\(-{0,1}\d+\.?\d*(?:, -{0,1}\d+\.?\d*)*(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*))\))/);
|
|
7
|
-
if (!results)
|
|
8
|
-
return [0, 0, 0];
|
|
9
|
-
if (results[1] === '3d')
|
|
10
|
-
return results.slice(2, 5).map(d => +d);
|
|
11
|
-
results.push('0');
|
|
12
|
-
return results.slice(5, 8).map(d => +d);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { getHTMLTransform };
|
|
16
|
-
//# sourceMappingURL=html.js.map
|
package/utils/html.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sources":["../../src/utils/html.ts"],"sourcesContent":["import { select } from 'd3-selection'\n\nexport function getHTMLTransform (el: HTMLElement): number[] {\n const results = select(el).style('transform')\n // eslint-disable-next-line max-len\n .match(/matrix(?:(3d)\\(-{0,1}\\d+\\.?\\d*(?:, -{0,1}\\d+\\.?\\d*)*(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*)), -{0,1}\\d+\\.?\\d*\\)|\\(-{0,1}\\d+\\.?\\d*(?:, -{0,1}\\d+\\.?\\d*)*(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*))\\))/)\n\n if (!results) return [0, 0, 0]\n if (results[1] === '3d') return results.slice(2, 5).map(d => +d)\n\n results.push('0')\n return results.slice(5, 8).map(d => +d)\n}\n"],"names":[],"mappings":";;AAEM,SAAU,gBAAgB,CAAE,EAAe,EAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;;SAE1C,KAAK,CAAC,uOAAuO,CAAC,CAAA;AAEjP,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,IAAA,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;AAAE,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEhE,IAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjB,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzC;;;;"}
|
package/utils/map.d.ts
DELETED
package/utils/map.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { max, min } from 'd3-array';
|
|
2
|
-
import { getNumber } from './data.js';
|
|
3
|
-
|
|
4
|
-
function getDataLatLngBounds(data, pointLatitude, pointLongitude, paddingDegrees = 1) {
|
|
5
|
-
const northWest = {
|
|
6
|
-
lat: max(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLatitude)),
|
|
7
|
-
lng: min(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLongitude)),
|
|
8
|
-
};
|
|
9
|
-
const southEast = {
|
|
10
|
-
lat: min(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLatitude)),
|
|
11
|
-
lng: max(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLongitude)),
|
|
12
|
-
};
|
|
13
|
-
return [
|
|
14
|
-
[northWest.lat + paddingDegrees || 90, northWest.lng - paddingDegrees || -180],
|
|
15
|
-
[southEast.lat - paddingDegrees || -70, southEast.lng + paddingDegrees || 180],
|
|
16
|
-
];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { getDataLatLngBounds };
|
|
20
|
-
//# sourceMappingURL=map.js.map
|
package/utils/map.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sources":["../../src/utils/map.ts"],"sourcesContent":["import { min, max } from 'd3-array'\n\n// Types\nimport { NumericAccessor } from 'types/accessor'\n\n// Utils\nimport { getNumber } from 'utils/data'\n\nexport function getDataLatLngBounds<D> (\n data: D[],\n pointLatitude: NumericAccessor<D>,\n pointLongitude: NumericAccessor<D>,\n paddingDegrees = 1\n): [[number, number], [number, number]] {\n const northWest = {\n lat: max(data ?? [], d => getNumber(d, pointLatitude)),\n lng: min(data ?? [], d => getNumber(d, pointLongitude)),\n }\n\n const southEast = {\n lat: min(data ?? [], d => getNumber(d, pointLatitude)),\n lng: max(data ?? [], d => getNumber(d, pointLongitude)),\n }\n\n return [\n [northWest.lat + paddingDegrees || 90, northWest.lng - paddingDegrees || -180],\n [southEast.lat - paddingDegrees || -70, southEast.lng + paddingDegrees || 180],\n ]\n}\n"],"names":[],"mappings":";;;AAQM,SAAU,mBAAmB,CACjC,IAAS,EACT,aAAiC,EACjC,cAAkC,EAClC,cAAc,GAAG,CAAC,EAAA;AAElB,IAAA,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KACxD,CAAA;AAED,IAAA,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KACxD,CAAA;IAED,OAAO;AACL,QAAA,CAAC,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,EAAE,EAAE,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,CAAC;AAC9E,QAAA,CAAC,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,GAAG,CAAC;KAC/E,CAAA;AACH;;;;"}
|
package/utils/misc.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { StringAccessor } from "../types/accessor";
|
|
2
|
-
import { Rect } from "../types/misc";
|
|
3
|
-
export declare function guid(): string;
|
|
4
|
-
export declare function stringToHtmlId(str: string): string;
|
|
5
|
-
export declare function isStringCSSVariable(s: string): boolean;
|
|
6
|
-
export declare function getCSSVariableValue(s: string, context: HTMLElement | SVGElement): string;
|
|
7
|
-
export declare function getCSSVariableValueInPixels(s: string, context: HTMLElement | SVGElement): number;
|
|
8
|
-
export declare function rectIntersect(rect1: Rect, rect2: Rect, tolerancePx?: number): boolean;
|
|
9
|
-
export declare function getHref<T>(d: T, identifier: StringAccessor<T>): string;
|
package/utils/misc.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { isString, getString } from './data.js';
|
|
2
|
-
import toPx from 'to-px';
|
|
3
|
-
|
|
4
|
-
function guid() {
|
|
5
|
-
const s4 = () => Math.floor((1 + Math.random()) * 0x10000)
|
|
6
|
-
.toString(16)
|
|
7
|
-
.substring(1);
|
|
8
|
-
return `${s4() + s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;
|
|
9
|
-
}
|
|
10
|
-
function stringToHtmlId(str) {
|
|
11
|
-
return (str || '').replace(/\W/g, '_');
|
|
12
|
-
}
|
|
13
|
-
function isStringCSSVariable(s) {
|
|
14
|
-
return isString(s) ? (s.substring(0, 6) === 'var(--') : false;
|
|
15
|
-
}
|
|
16
|
-
function getCSSVariableValue(s, context) {
|
|
17
|
-
if (!isString(s))
|
|
18
|
-
return '';
|
|
19
|
-
const variableName = s.substr(4, s.length - 5);
|
|
20
|
-
return getComputedStyle(context).getPropertyValue(variableName);
|
|
21
|
-
}
|
|
22
|
-
function getCSSVariableValueInPixels(s, context) {
|
|
23
|
-
const val = getCSSVariableValue(s, context);
|
|
24
|
-
return toPx(val);
|
|
25
|
-
}
|
|
26
|
-
function rectIntersect(rect1, rect2, tolerancePx = 0) {
|
|
27
|
-
const [left1, top1, right1, bottom1] = [
|
|
28
|
-
rect1.x + tolerancePx,
|
|
29
|
-
rect1.y + rect1.height - 2 * tolerancePx,
|
|
30
|
-
rect1.x + rect1.width - 2 * tolerancePx,
|
|
31
|
-
rect1.y + tolerancePx,
|
|
32
|
-
];
|
|
33
|
-
const [left2, top2, right2, bottom2] = [
|
|
34
|
-
rect2.x + tolerancePx,
|
|
35
|
-
rect2.y + rect2.height - 2 * tolerancePx,
|
|
36
|
-
rect2.x + rect2.width - 2 * tolerancePx,
|
|
37
|
-
rect2.y + tolerancePx,
|
|
38
|
-
];
|
|
39
|
-
return !(top1 < bottom2 || top2 < bottom1 || right1 < left2 || right2 < left1);
|
|
40
|
-
}
|
|
41
|
-
function getHref(d, identifier) {
|
|
42
|
-
const id = getString(d, identifier);
|
|
43
|
-
return id ? `url(#${id})` : null;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export { getCSSVariableValue, getCSSVariableValueInPixels, getHref, guid, isStringCSSVariable, rectIntersect, stringToHtmlId };
|
|
47
|
-
//# sourceMappingURL=misc.js.map
|
package/utils/misc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sources":["../../src/utils/misc.ts"],"sourcesContent":["import { StringAccessor } from 'types/accessor'\nimport { Rect } from 'types/misc'\nimport { getString, isString } from 'utils/data'\nimport toPx from 'to-px'\n\nexport function guid (): string {\n const s4 = (): string =>\n Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1)\n\n return `${s4() + s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`\n}\n\nexport function stringToHtmlId (str: string): string {\n return (str || '').replace(/\\W/g, '_')\n}\n\nexport function isStringCSSVariable (s: string): boolean {\n return isString(s) ? (s.substring(0, 6) === 'var(--') : false\n}\n\nexport function getCSSVariableValue (s: string, context: HTMLElement | SVGElement): string {\n if (!isString(s)) return ''\n const variableName = s.substr(4, s.length - 5)\n return getComputedStyle(context).getPropertyValue(variableName)\n}\n\nexport function getCSSVariableValueInPixels (s: string, context: HTMLElement | SVGElement): number {\n const val = getCSSVariableValue(s, context)\n return toPx(val)\n}\n\nexport function rectIntersect (rect1: Rect, rect2: Rect, tolerancePx = 0): boolean {\n const [left1, top1, right1, bottom1] = [\n rect1.x + tolerancePx,\n rect1.y + rect1.height - 2 * tolerancePx,\n rect1.x + rect1.width - 2 * tolerancePx,\n rect1.y + tolerancePx,\n ]\n const [left2, top2, right2, bottom2] = [\n rect2.x + tolerancePx,\n rect2.y + rect2.height - 2 * tolerancePx,\n rect2.x + rect2.width - 2 * tolerancePx,\n rect2.y + tolerancePx,\n ]\n\n return !(top1 < bottom2 || top2 < bottom1 || right1 < left2 || right2 < left1)\n}\n\nexport function getHref<T> (d: T, identifier: StringAccessor<T>): string {\n const id = getString(d, identifier)\n return id ? `url(#${id})` : null\n}\n"],"names":[],"mappings":";;;SAKgB,IAAI,GAAA;AAClB,IAAA,MAAM,EAAE,GAAG,MACT,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC;SACtC,QAAQ,CAAC,EAAE,CAAC;SACZ,SAAS,CAAC,CAAC,CAAC,CAAA;IAEjB,OAAO,CAAA,EAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAI,CAAA,EAAA,EAAE,EAAE,CAAA,CAAA,EAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAI,CAAA,EAAA,EAAE,EAAE,CAAA,EAAG,EAAE,EAAE,CAAG,EAAA,EAAE,EAAE,CAAA,CAAE,CAAA;AACvE,CAAC;AAEK,SAAU,cAAc,CAAE,GAAW,EAAA;AACzC,IAAA,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC;AAEK,SAAU,mBAAmB,CAAE,CAAS,EAAA;IAC5C,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAA;AAC/D,CAAC;AAEe,SAAA,mBAAmB,CAAE,CAAS,EAAE,OAAiC,EAAA;AAC/E,IAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAE,QAAA,OAAO,EAAE,CAAA;AAC3B,IAAA,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;AACjE,CAAC;AAEe,SAAA,2BAA2B,CAAE,CAAS,EAAE,OAAiC,EAAA;IACvF,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAC3C,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAEK,SAAU,aAAa,CAAE,KAAW,EAAE,KAAW,EAAE,WAAW,GAAG,CAAC,EAAA;IACtE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG;QACrC,KAAK,CAAC,CAAC,GAAG,WAAW;QACrB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW;QACxC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;QACvC,KAAK,CAAC,CAAC,GAAG,WAAW;KACtB,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG;QACrC,KAAK,CAAC,CAAC,GAAG,WAAW;QACrB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW;QACxC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;QACvC,KAAK,CAAC,CAAC,GAAG,WAAW;KACtB,CAAA;AAED,IAAA,OAAO,EAAE,IAAI,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,CAAA;AAChF,CAAC;AAEe,SAAA,OAAO,CAAK,CAAI,EAAE,UAA6B,EAAA;IAC7D,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACnC,OAAO,EAAE,GAAG,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAA,CAAG,GAAG,IAAI,CAAA;AAClC;;;;"}
|
package/utils/path.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare type RoundedRectPathOptions = {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
w: number;
|
|
5
|
-
h: number;
|
|
6
|
-
r: number;
|
|
7
|
-
tl: boolean;
|
|
8
|
-
tr: boolean;
|
|
9
|
-
bl: boolean;
|
|
10
|
-
br: boolean;
|
|
11
|
-
};
|
|
12
|
-
export declare function roundedRectPath({ x, y, w, h, tl, tr, bl, br, r, }: RoundedRectPathOptions): string;
|
|
13
|
-
export declare function polygon(size: number, n?: number, endAngle?: number, open?: boolean): string;
|
|
14
|
-
export declare function circlePath(cx: number, cy: number, r: number): string;
|
|
15
|
-
export declare type ScoreRectPathOptions = {
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
w: number;
|
|
19
|
-
h: number;
|
|
20
|
-
r: number;
|
|
21
|
-
score: number;
|
|
22
|
-
};
|
|
23
|
-
export declare function scoreRectPath({ x, y, w, h, r, score }: ScoreRectPathOptions): string;
|
package/utils/path.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { range, min, max } from 'd3-array';
|
|
2
|
-
import { line, curveCardinal, curveCardinalClosed } from 'd3-shape';
|
|
3
|
-
import { clamp } from './data.js';
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Generate SVG path for rectangle with rounded corners
|
|
7
|
-
*
|
|
8
|
-
* @param {Object} props - Configuration object
|
|
9
|
-
* @param {Number} props.x - Rect top left X coordinate
|
|
10
|
-
* @param {Number} props.y - Rect top left Y coordinate
|
|
11
|
-
* @param {Number} props.w - Rect width
|
|
12
|
-
* @param {Number} props.h - Rect height
|
|
13
|
-
* @param {Bool} [props.tl=false] - Round top left corner
|
|
14
|
-
* @param {Bool} [props.tr=false] - Round top right corner
|
|
15
|
-
* @param {Bool} [props.bl=false] - Round bottom left corner
|
|
16
|
-
* @param {Bool} [props.br=false] - Round bottom right corner
|
|
17
|
-
* @param {Number} [props.r=0] - Corner Radius
|
|
18
|
-
* @return {String} Path string for the `d` attribute
|
|
19
|
-
*/
|
|
20
|
-
function roundedRectPath({ x, y, w, h, tl = false, tr = false, bl = false, br = false, r = 0, }) {
|
|
21
|
-
let path;
|
|
22
|
-
path = `M${x + r},${y}h${w - 2 * r}`;
|
|
23
|
-
let roundedR = tr ? r : 0;
|
|
24
|
-
let angularR = tr ? 0 : r;
|
|
25
|
-
path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${roundedR}`;
|
|
26
|
-
path += `h${angularR}v${angularR}`;
|
|
27
|
-
path += `v${h - 2 * r}`;
|
|
28
|
-
roundedR = br ? r : 0;
|
|
29
|
-
angularR = br ? 0 : r;
|
|
30
|
-
path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${roundedR}`;
|
|
31
|
-
path += `v${angularR}h${-angularR}`;
|
|
32
|
-
path += `h${2 * r - w}`;
|
|
33
|
-
roundedR = bl ? r : 0;
|
|
34
|
-
angularR = bl ? 0 : r;
|
|
35
|
-
path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${-roundedR}`;
|
|
36
|
-
path += `h${-angularR}v${-angularR}`;
|
|
37
|
-
path += `v${2 * r - h}`;
|
|
38
|
-
roundedR = tl ? r : 0;
|
|
39
|
-
angularR = tl ? 0 : r;
|
|
40
|
-
path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${-roundedR}`;
|
|
41
|
-
path += `v${-angularR}h${angularR}`;
|
|
42
|
-
path += 'z';
|
|
43
|
-
return path;
|
|
44
|
-
}
|
|
45
|
-
function polygon(size, n = 6, endAngle = 2 * Math.PI, open = false) {
|
|
46
|
-
const r = n === 4 ? Math.sqrt(0.5) * size : size / 3.6 * 2;
|
|
47
|
-
const deltaAngle = n === 4 ? Math.PI / 4 : 0; // rotate to 45 grads if shape is a rectangle
|
|
48
|
-
const shiftedEndAngle = endAngle - deltaAngle;
|
|
49
|
-
const completion = (shiftedEndAngle < 0 ? endAngle : shiftedEndAngle) / (2 * Math.PI);
|
|
50
|
-
const nSegments = Math.ceil(n * completion);
|
|
51
|
-
const centerAngle = 1 / n * Math.PI * 2; // /\
|
|
52
|
-
const baseAngle = (Math.PI - centerAngle) / 2; // /__\
|
|
53
|
-
const data = range(nSegments + (shiftedEndAngle >= 0 ? 1 : 0))
|
|
54
|
-
.map((d, i) => {
|
|
55
|
-
const isLastSegment = i === nSegments || (nSegments === 1 && shiftedEndAngle < 0);
|
|
56
|
-
let mult = isLastSegment ? ((completion * n) % 1 || 1) : 1; // Handle partial shape
|
|
57
|
-
if (shiftedEndAngle < 0) {
|
|
58
|
-
mult += 0.5;
|
|
59
|
-
}
|
|
60
|
-
const angle = centerAngle * (i - 1 + mult);
|
|
61
|
-
let radius;
|
|
62
|
-
if (isLastSegment) {
|
|
63
|
-
const thirdAngle = Math.PI - baseAngle - centerAngle * mult;
|
|
64
|
-
radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle); // Law of sines
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
radius = r;
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
x: Math.sin(angle + deltaAngle) * radius,
|
|
71
|
-
y: -Math.cos(angle + deltaAngle) * radius,
|
|
72
|
-
};
|
|
73
|
-
});
|
|
74
|
-
if (n === 4) {
|
|
75
|
-
const angle = centerAngle * (-1 + 0.5);
|
|
76
|
-
const thirdAngle = Math.PI * 0.5;
|
|
77
|
-
const radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle); // Law of sines
|
|
78
|
-
data.unshift({
|
|
79
|
-
x: Math.sin(angle + deltaAngle) * radius,
|
|
80
|
-
y: -Math.cos(angle + deltaAngle) * radius,
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const path = line()
|
|
84
|
-
/* eslint-disable-next-line dot-notation */
|
|
85
|
-
.x(d => d['x'])
|
|
86
|
-
/* eslint-disable-next-line dot-notation */
|
|
87
|
-
.y(d => d['y'])
|
|
88
|
-
.curve((open ? curveCardinal : curveCardinalClosed).tension(0.95));
|
|
89
|
-
return path(data);
|
|
90
|
-
}
|
|
91
|
-
function circlePath(cx, cy, r) {
|
|
92
|
-
return `
|
|
93
|
-
M ${cx} ${cy}
|
|
94
|
-
m ${-r}, 0
|
|
95
|
-
a ${r},${r} 0 1,1 ${r * 2},0
|
|
96
|
-
a ${r},${r} 0 1,1 ${-r * 2},0`;
|
|
97
|
-
}
|
|
98
|
-
function scoreRectPath({ x, y, w, h, r = 0, score = 1 }) {
|
|
99
|
-
let path;
|
|
100
|
-
const side = 1 / 4;
|
|
101
|
-
const halfSide = side / 2;
|
|
102
|
-
let part = score;
|
|
103
|
-
// 8 1
|
|
104
|
-
// - -
|
|
105
|
-
// 7 | | 2
|
|
106
|
-
// 6 | | 3
|
|
107
|
-
// - -
|
|
108
|
-
// 5 4
|
|
109
|
-
// 1
|
|
110
|
-
const hLength = min([w * 0.5 * (part / halfSide) + r, w * 0.5 - r]);
|
|
111
|
-
path = `M${x + w * 0.5},${y}h${hLength}`;
|
|
112
|
-
// 2, 3
|
|
113
|
-
part = score - 1 / 8;
|
|
114
|
-
if (part > 0) {
|
|
115
|
-
path += `a${r},${r} 0 0 1 ${r},${r}`;
|
|
116
|
-
const vLength = clamp(h * (part / side) - r, 0, h - 2 * r);
|
|
117
|
-
path += `v${vLength}`;
|
|
118
|
-
}
|
|
119
|
-
// 4, 5
|
|
120
|
-
part = score - 3 / 8;
|
|
121
|
-
if (part > 0) {
|
|
122
|
-
path += `a${r},${r} 0 0 1 ${-r},${r}`;
|
|
123
|
-
const hLength = clamp(r - w * (part / side), 2 * r - w, 0);
|
|
124
|
-
path += `h${hLength}`;
|
|
125
|
-
}
|
|
126
|
-
// 6, 7
|
|
127
|
-
part = score - 5 / 8;
|
|
128
|
-
if (part > 0) {
|
|
129
|
-
path += `a${r},${r} 0 0 1 ${-r},${-r}`;
|
|
130
|
-
const vLength = clamp(r - h * (part / side), 2 * r - h, 0);
|
|
131
|
-
path += `v${vLength}`;
|
|
132
|
-
}
|
|
133
|
-
// 8
|
|
134
|
-
part = score - 7 / 8;
|
|
135
|
-
if (part > 0) {
|
|
136
|
-
path += `a${r},${r} 0 0 1 ${r},${-r}`;
|
|
137
|
-
const hLength = max([w * 0.5 * (part / halfSide) - r, 0]);
|
|
138
|
-
path += `h${hLength}`;
|
|
139
|
-
}
|
|
140
|
-
return path;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export { circlePath, polygon, roundedRectPath, scoreRectPath };
|
|
144
|
-
//# sourceMappingURL=path.js.map
|
package/utils/path.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sources":["../../src/utils/path.ts"],"sourcesContent":["import { range, min, max } from 'd3-array'\nimport { line, curveCardinal, curveCardinalClosed } from 'd3-shape'\n\n// Utils\nimport { clamp } from 'utils/data'\n\nexport type RoundedRectPathOptions = {\n x: number;\n y: number;\n w: number;\n h: number;\n r: number;\n tl: boolean;\n tr: boolean;\n bl: boolean;\n br: boolean;\n}\n\n/*\n * Generate SVG path for rectangle with rounded corners\n *\n * @param {Object} props - Configuration object\n * @param {Number} props.x - Rect top left X coordinate\n * @param {Number} props.y - Rect top left Y coordinate\n * @param {Number} props.w - Rect width\n * @param {Number} props.h - Rect height\n * @param {Bool} [props.tl=false] - Round top left corner\n * @param {Bool} [props.tr=false] - Round top right corner\n * @param {Bool} [props.bl=false] - Round bottom left corner\n * @param {Bool} [props.br=false] - Round bottom right corner\n * @param {Number} [props.r=0] - Corner Radius\n * @return {String} Path string for the `d` attribute\n */\nexport function roundedRectPath ({\n x,\n y,\n w,\n h,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n r = 0,\n}: RoundedRectPathOptions): string {\n let path\n path = `M${x + r},${y}h${w - 2 * r}`\n\n let roundedR = tr ? r : 0\n let angularR = tr ? 0 : r\n path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${roundedR}`\n path += `h${angularR}v${angularR}`\n path += `v${h - 2 * r}`\n\n roundedR = br ? r : 0\n angularR = br ? 0 : r\n path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${roundedR}`\n path += `v${angularR}h${-angularR}`\n path += `h${2 * r - w}`\n\n roundedR = bl ? r : 0\n angularR = bl ? 0 : r\n path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${-roundedR}`\n path += `h${-angularR}v${-angularR}`\n path += `v${2 * r - h}`\n\n roundedR = tl ? r : 0\n angularR = tl ? 0 : r\n path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${-roundedR}`\n path += `v${-angularR}h${angularR}`\n\n path += 'z'\n return path\n}\n\nexport function polygon (size: number, n = 6, endAngle = 2 * Math.PI, open = false): string {\n const r = n === 4 ? Math.sqrt(0.5) * size : size / 3.6 * 2\n const deltaAngle = n === 4 ? Math.PI / 4 : 0 // rotate to 45 grads if shape is a rectangle\n const shiftedEndAngle = endAngle - deltaAngle\n\n const completion = (shiftedEndAngle < 0 ? endAngle : shiftedEndAngle) / (2 * Math.PI)\n const nSegments = Math.ceil(n * completion)\n\n const centerAngle = 1 / n * Math.PI * 2 // /\\\n const baseAngle = (Math.PI - centerAngle) / 2 // /__\\\n\n const data = range(nSegments + (shiftedEndAngle >= 0 ? 1 : 0))\n .map((d, i) => {\n const isLastSegment = i === nSegments || (nSegments === 1 && shiftedEndAngle < 0)\n let mult = isLastSegment ? ((completion * n) % 1 || 1) : 1 // Handle partial shape\n if (shiftedEndAngle < 0) {\n mult += 0.5\n }\n const angle = centerAngle * (i - 1 + mult)\n\n let radius\n if (isLastSegment) {\n const thirdAngle = Math.PI - baseAngle - centerAngle * mult\n radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle) // Law of sines\n } else {\n radius = r\n }\n\n return {\n x: Math.sin(angle + deltaAngle) * radius,\n y: -Math.cos(angle + deltaAngle) * radius,\n }\n })\n\n if (n === 4) {\n const angle = centerAngle * (-1 + 0.5)\n const thirdAngle = Math.PI * 0.5\n const radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle) // Law of sines\n data.unshift({\n x: Math.sin(angle + deltaAngle) * radius,\n y: -Math.cos(angle + deltaAngle) * radius,\n })\n }\n\n const path = line<any>()\n /* eslint-disable-next-line dot-notation */\n .x(d => d['x'])\n /* eslint-disable-next-line dot-notation */\n .y(d => d['y'])\n .curve((open ? curveCardinal : curveCardinalClosed).tension(0.95))\n\n return path(data)\n}\n\nexport function circlePath (cx: number, cy: number, r: number): string {\n return `\n M ${cx} ${cy}\n m ${-r}, 0\n a ${r},${r} 0 1,1 ${r * 2},0\n a ${r},${r} 0 1,1 ${-r * 2},0`\n}\n\nexport type ScoreRectPathOptions = {\n x: number;\n y: number;\n w: number;\n h: number;\n r: number;\n score: number;\n}\n\nexport function scoreRectPath ({ x, y, w, h, r = 0, score = 1 }: ScoreRectPathOptions): string {\n let path\n const side = 1 / 4\n const halfSide = side / 2\n let part = score\n\n // 8 1\n // - -\n // 7 | | 2\n // 6 | | 3\n // - -\n // 5 4\n\n // 1\n const hLength = min([w * 0.5 * (part / halfSide) + r, w * 0.5 - r])\n path = `M${x + w * 0.5},${y}h${hLength}`\n\n // 2, 3\n part = score - 1 / 8\n if (part > 0) {\n path += `a${r},${r} 0 0 1 ${r},${r}`\n const vLength = clamp(h * (part / side) - r, 0, h - 2 * r)\n path += `v${vLength}`\n }\n\n // 4, 5\n part = score - 3 / 8\n if (part > 0) {\n path += `a${r},${r} 0 0 1 ${-r},${r}`\n const hLength = clamp(r - w * (part / side), 2 * r - w, 0)\n path += `h${hLength}`\n }\n\n // 6, 7\n part = score - 5 / 8\n if (part > 0) {\n path += `a${r},${r} 0 0 1 ${-r},${-r}`\n const vLength = clamp(r - h * (part / side), 2 * r - h, 0)\n path += `v${vLength}`\n }\n\n // 8\n part = score - 7 / 8\n if (part > 0) {\n path += `a${r},${r} 0 0 1 ${r},${-r}`\n const hLength = max([w * 0.5 * (part / halfSide) - r, 0])\n path += `h${hLength}`\n }\n\n return path\n}\n"],"names":[],"mappings":"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"}
|
package/utils/scale.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const DefaultRange: number[];
|
package/utils/style.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { KebabToCamelCase, RemovePrefix } from "./type";
|
|
2
|
-
export declare function getCssVarNames<T extends Record<string, unknown>, Prefix extends string = '--vis-'>(cssVarsObject: T, prefix?: Prefix): {
|
|
3
|
-
[Property in Extract<keyof T, string> as KebabToCamelCase<RemovePrefix<Property, Prefix>>]: Property;
|
|
4
|
-
};
|
|
5
|
-
export declare function injectGlobalCssVariables<T extends Record<string, string | number | undefined>>(cssVarsObject: T, componentRootClassName: string): void;
|
|
6
|
-
export declare function cssvar<T extends string>(name: T): `var(${T})`;
|
package/utils/style.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { injectGlobal } from '@emotion/css';
|
|
2
|
-
import { kebabCaseToCamel } from './text.js';
|
|
3
|
-
|
|
4
|
-
function getCssVarNames(cssVarsObject, prefix) {
|
|
5
|
-
const defaultPrefix = '--vis-';
|
|
6
|
-
const entries = Object.entries(cssVarsObject);
|
|
7
|
-
return Object.fromEntries(entries.map(([key]) => [kebabCaseToCamel(key.replace(prefix !== null && prefix !== void 0 ? prefix : defaultPrefix, '')), key]));
|
|
8
|
-
}
|
|
9
|
-
function injectGlobalCssVariables(cssVarsObject, componentRootClassName) {
|
|
10
|
-
injectGlobal({
|
|
11
|
-
':root': cssVarsObject,
|
|
12
|
-
[`body.theme-dark .${componentRootClassName}`]: Object.keys(cssVarsObject)
|
|
13
|
-
.filter(key => key.includes('--vis-dark'))
|
|
14
|
-
.map(key => ({
|
|
15
|
-
[key.replace('--vis-dark', '--vis')]: `var(${key})`,
|
|
16
|
-
})),
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
function cssvar(name) {
|
|
20
|
-
return `var(${name})`;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { cssvar, getCssVarNames, injectGlobalCssVariables };
|
|
24
|
-
//# sourceMappingURL=style.js.map
|
package/utils/style.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../src/utils/style.ts"],"sourcesContent":["import { injectGlobal } from '@emotion/css'\n\nimport { kebabCaseToCamel } from 'utils/text'\nimport type { KebabToCamelCase, RemovePrefix } from 'utils/type'\n\nexport function getCssVarNames<\n T extends Record<string, unknown>,\n Prefix extends string = '--vis-',\n> (cssVarsObject: T, prefix?: Prefix): {\n [Property in Extract<keyof T, string> as KebabToCamelCase<RemovePrefix<Property, Prefix>>]: Property\n} {\n const defaultPrefix = '--vis-'\n const entries = Object.entries(cssVarsObject)\n return Object.fromEntries(\n entries.map(([key]) => [kebabCaseToCamel(key.replace(prefix ?? defaultPrefix, '')), key])\n ) as {\n [Property in Extract<keyof T, string> as KebabToCamelCase<RemovePrefix<Property, Prefix>>]: Property\n }\n}\n\nexport function injectGlobalCssVariables<T extends Record<string, string | number | undefined>> (\n cssVarsObject: T,\n componentRootClassName: string\n): void {\n injectGlobal({\n ':root': cssVarsObject,\n [`body.theme-dark .${componentRootClassName}`]: Object.keys(cssVarsObject)\n .filter(key => key.includes('--vis-dark'))\n .map(key => ({\n [key.replace('--vis-dark', '--vis')]: `var(${key})`,\n })),\n })\n}\n\nexport function cssvar<T extends string> (name: T): `var(${T})` {\n return `var(${name})` as `var(${T})`\n}\n"],"names":[],"mappings":";;;AAKgB,SAAA,cAAc,CAG3B,aAAgB,EAAE,MAAe,EAAA;IAGlC,MAAM,aAAa,GAAG,QAAQ,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AAC7C,IAAA,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAN,MAAM,GAAI,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAG1F,CAAA;AACH,CAAC;AAEe,SAAA,wBAAwB,CACtC,aAAgB,EAChB,sBAA8B,EAAA;AAE9B,IAAA,YAAY,CAAC;AACX,QAAA,OAAO,EAAE,aAAa;QACtB,CAAC,CAAA,iBAAA,EAAoB,sBAAsB,CAAA,CAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;aACvE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzC,aAAA,GAAG,CAAC,GAAG,KAAK;AACX,YAAA,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAO,IAAA,EAAA,GAAG,CAAG,CAAA,CAAA;AACpD,SAAA,CAAC,CAAC;AACN,KAAA,CAAC,CAAA;AACJ,CAAC;AAEK,SAAU,MAAM,CAAoB,IAAO,EAAA;IAC/C,OAAO,CAAA,IAAA,EAAO,IAAI,CAAA,CAAA,CAAkB,CAAA;AACtC;;;;"}
|
package/utils/svg.d.ts
DELETED
package/utils/text.d.ts
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Selection } from 'd3-selection';
|
|
2
|
-
import { TrimMode, UnovisText, UnovisTextFrameOptions, UnovisTextOptions, UnovisWrappedText } from "../types/text";
|
|
3
|
-
/**
|
|
4
|
-
* Converts a kebab-case string to camelCase.
|
|
5
|
-
*
|
|
6
|
-
* @param {string} str - The kebab-case string to be converted.
|
|
7
|
-
* @returns {string} The resulting camelCase string.
|
|
8
|
-
*/
|
|
9
|
-
export declare function kebabCaseToCamel(str: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Converts a given string to kebab-case.
|
|
12
|
-
* @param {string} str - The input string to be converted to kebab-case.
|
|
13
|
-
* @returns {string} - The kebab-cased string.
|
|
14
|
-
*/
|
|
15
|
-
export declare function kebabCase(str: string): string;
|
|
16
|
-
/**
|
|
17
|
-
* Trims the input string from the start, leaving only the specified maximum length.
|
|
18
|
-
* @param {string} [str=''] - The input string to be trimmed.
|
|
19
|
-
* @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.
|
|
20
|
-
* @returns {string} - The trimmed string.
|
|
21
|
-
*/
|
|
22
|
-
export declare function trimStringStart(str?: string, maxLength?: number): string;
|
|
23
|
-
/**
|
|
24
|
-
* Trims the input string from the middle, leaving only the specified maximum length.
|
|
25
|
-
* @param {string} [str=''] - The input string to be trimmed.
|
|
26
|
-
* @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.
|
|
27
|
-
* @returns {string} - The trimmed string.
|
|
28
|
-
*/
|
|
29
|
-
export declare function trimStringMiddle(str?: string, maxLength?: number): string;
|
|
30
|
-
/**
|
|
31
|
-
* Trims the input string from the end, leaving only the specified maximum length.
|
|
32
|
-
* @param {string} [str=''] - The input string to be trimmed.
|
|
33
|
-
* @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.
|
|
34
|
-
* @returns {string} - The trimmed string.
|
|
35
|
-
*/
|
|
36
|
-
export declare function trimStringEnd(str?: string, maxLength?: number): string;
|
|
37
|
-
/**
|
|
38
|
-
* Trims the input string according to the specified trim mode.
|
|
39
|
-
* @param {string} [str=''] - The input string to be trimmed.
|
|
40
|
-
* @param {number} [length=15] - The maximum allowed length of the trimmed string.
|
|
41
|
-
* @param {TrimMode} [type=TrimMode.Middle] - The trim mode to be applied.
|
|
42
|
-
* @returns {string} - The trimmed string.
|
|
43
|
-
*/
|
|
44
|
-
export declare function trimString(str?: string, length?: number, type?: TrimMode): string;
|
|
45
|
-
/**
|
|
46
|
-
* Splits the input string according to the specified separators.
|
|
47
|
-
* @param {string} text - The input string to be split.
|
|
48
|
-
* @param {string[]} [separators=[' ']] - The array of separators to be used for splitting.
|
|
49
|
-
* @returns {string[]} - The array of split words.
|
|
50
|
-
*/
|
|
51
|
-
export declare function splitString(text: string, separators?: string[]): string[];
|
|
52
|
-
/**
|
|
53
|
-
* Wraps an SVG text element to fit within the specified width.
|
|
54
|
-
* @param {Selection<SVGTextElement, any, SVGElement, any>} textElement - The SVG text element to be wrapped.
|
|
55
|
-
* @param {number} width - The maximum allowed width for the text element.
|
|
56
|
-
* @param {(string | string[])} [separator=[' ', '-', '.', ',']] - The separator(s) to be used for wrapping.
|
|
57
|
-
*/
|
|
58
|
-
export declare function wrapSVGText(textElement: Selection<SVGTextElement, any, SVGElement, any>, width: number, separator?: string | string[]): void;
|
|
59
|
-
/**
|
|
60
|
-
* Trims an SVG text element based on the specified max width, trim type, and other options.
|
|
61
|
-
* @param {Selection<SVGTextElement, any, SVGElement, any>} svgTextSelection - The D3 selection of the SVG text element to be trimmed.
|
|
62
|
-
* @param {number} [maxWidth=50] - The maximum width of the text element.
|
|
63
|
-
* @param {TrimMode} [trimType=TrimMode.Middle] - The type of trim (start, middle, or end).
|
|
64
|
-
* @param {boolean} [fastMode=true] - Whether to use a fast estimation method for text length calculation.
|
|
65
|
-
* @param {number} [fontSize=0] - The font size of the text.
|
|
66
|
-
* @param {number} [fontWidthToHeightRatio=getFontWidthToHeightRatio()] - The font width to height ratio.
|
|
67
|
-
* @returns {boolean} True if the text was trimmed, false otherwise.
|
|
68
|
-
*/
|
|
69
|
-
export declare function trimSVGText(svgTextSelection: Selection<SVGTextElement, any, SVGElement, any>, maxWidth?: number, trimType?: TrimMode, fastMode?: boolean, fontSize?: number, fontWidthToHeightRatio?: number): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Estimates the length of a string in pixels.
|
|
72
|
-
* @param {string} str - The string to be measured.
|
|
73
|
-
* @param {number} fontSize - The font size of the string.
|
|
74
|
-
* @param {number} [fontWidthToHeightRatio=getFontWidthToHeightRatio()] - The font width to height ratio.
|
|
75
|
-
* @returns {number} The estimated length of the string in pixels.
|
|
76
|
-
*/
|
|
77
|
-
export declare function estimateStringPixelLength(str: string, fontSize: number, fontWidthToHeightRatio?: number): number;
|
|
78
|
-
/**
|
|
79
|
-
* Calculates the precise length of a string in pixels.
|
|
80
|
-
* @param {string} str - The string to be measured.
|
|
81
|
-
* @param {string} [fontFamily] - The font family of the string.
|
|
82
|
-
* @param {(string | number)} [fontSize] - The font size of the string.
|
|
83
|
-
* @returns {number} The precise length of the string in pixels.
|
|
84
|
-
*/
|
|
85
|
-
export declare function getPreciseStringLengthPx(str: string, fontFamily?: string, fontSize?: string | number): number;
|
|
86
|
-
/**
|
|
87
|
-
* Estimates the dimensions of an SVG text element.
|
|
88
|
-
*
|
|
89
|
-
* @export
|
|
90
|
-
* @param {Selection<SVGTextElement, any, SVGElement, any>} svgTextSelection - The D3 selection of the SVG text element.
|
|
91
|
-
* @param {number} fontSize - The font size.
|
|
92
|
-
* @param {number} [dy=0.32] - The line height scaling factor.
|
|
93
|
-
* @param {boolean} [fastMode=true] - Whether to use a fast estimation method or a more accurate one.
|
|
94
|
-
* @param {number} [fontWidthToHeightRatio] - The font width-to-height ratio.
|
|
95
|
-
* @returns {{width: number, height: number}} - The estimated dimensions of the text element.
|
|
96
|
-
*/
|
|
97
|
-
export declare function estimateTextSize(svgTextSelection: Selection<SVGTextElement, any, SVGElement, any>, fontSize: number, dy?: number, fastMode?: boolean, fontWidthToHeightRatio?: number): {
|
|
98
|
-
width: number;
|
|
99
|
-
height: number;
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Wraps a text or array of texts to fit within specified width and height, if provided.
|
|
103
|
-
*
|
|
104
|
-
* @export
|
|
105
|
-
* @param {UnovisText | UnovisText[]} text - The text or array of texts to wrap.
|
|
106
|
-
* @param {number | undefined} [width=undefined] - The maximum width of a line in pixels.
|
|
107
|
-
* @param {boolean} [fastMode=true] - Whether to use a fast estimation method or a more accurate one.
|
|
108
|
-
* @param {string | string[]} [separator] - The word separators.
|
|
109
|
-
* @returns {UnovisWrappedText[]} - The wrapped texts.
|
|
110
|
-
*/
|
|
111
|
-
export declare function getWrappedText(text: UnovisText | UnovisText[], width?: number | undefined, height?: number | undefined, fastMode?: boolean, separator?: string | string[]): UnovisWrappedText[];
|
|
112
|
-
/**
|
|
113
|
-
* Estimates the height of wrapped text blocks.
|
|
114
|
-
*
|
|
115
|
-
* @export
|
|
116
|
-
* @param {UnovisWrappedText[]} blocks - The wrapped text blocks.
|
|
117
|
-
* @returns {number} - The estimated height of the wrapped text blocks.
|
|
118
|
-
*/
|
|
119
|
-
export declare function estimateWrappedTextHeight(blocks: UnovisWrappedText[]): number;
|
|
120
|
-
/**
|
|
121
|
-
* Renders a text or array of texts to an SVG text element.
|
|
122
|
-
* Calling this function will replace the contents of the specified SVG text element.
|
|
123
|
-
*
|
|
124
|
-
* @export
|
|
125
|
-
* @param {SVGTextElement} textElement - The SVG text element to render the text into.
|
|
126
|
-
* @param {UnovisText | UnovisText[]} text - The text or array of texts to render.
|
|
127
|
-
* @param {UnovisTextOptions} options - The text options.
|
|
128
|
-
*/
|
|
129
|
-
export declare function renderTextToSvgTextElement(textElement: SVGTextElement, text: UnovisText | UnovisText[], options: UnovisTextOptions): void;
|
|
130
|
-
/**
|
|
131
|
-
* Renders a text or array of texts into a frame.
|
|
132
|
-
* Calling this function will replace the contents of the specified SVG group.
|
|
133
|
-
*
|
|
134
|
-
* @export
|
|
135
|
-
* @param {SVGGElement} group - The SVG group element to render the text into.
|
|
136
|
-
* @param {UnovisText | UnovisText[]} text - The text or array of texts to render.
|
|
137
|
-
* @param {UnovisTextFrameOptions} frameOptions - The text frame options.
|
|
138
|
-
*/
|
|
139
|
-
export declare function renderTextIntoFrame(group: SVGGElement, text: UnovisText | UnovisText[], frameOptions: UnovisTextFrameOptions): void;
|