eurostat-map 4.9.1 → 4.9.3

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.
Files changed (38) hide show
  1. package/README.md +5 -5
  2. package/build/215.eurostatmap.min.js +1 -1
  3. package/build/eurostatmap.js +40214 -42722
  4. package/build/eurostatmap.min.js +2 -2
  5. package/build/eurostatmap.min.js.map +1 -1
  6. package/build/package.json +1 -1
  7. package/build/src_core_dorling_dorling-worker_js.eurostatmap.js +1 -1
  8. package/build/types/core/InsetConfig.d.ts +71 -71
  9. package/build/types/core/encoding/EncodingConfig.d.ts +31 -31
  10. package/build/types/core/layer/Layer.d.ts +31 -31
  11. package/build/types/core/layer/LayerConfig.d.ts +19 -19
  12. package/build/types/core/layer/LayerRole.d.ts +1 -1
  13. package/build/types/layers/CategoricalMapConfig.d.ts +13 -13
  14. package/build/types/layers/composition/bar/BarMap.d.ts +97 -97
  15. package/build/types/layers/composition/bar/BarMapConfig.d.ts +76 -76
  16. package/build/types/legend/LegendConfig.d.ts +73 -73
  17. package/build/types/legend/choropleth/BivariateLegendConfig.d.ts +1 -1
  18. package/build/types/legend/choropleth/RankedBarChartConfig.d.ts +64 -22
  19. package/build/types/legend/choropleth/legend-choropleth-bivariate.d.ts +2 -2
  20. package/build/types/legend/choropleth/legend-choropleth-trivariate.d.ts +2 -2
  21. package/build/types/legend/choropleth/legend-choropleth.d.ts +2 -2
  22. package/build/types/legend/composition/legend-bar-chart.d.ts +2 -2
  23. package/build/types/legend/flow/legend-flow.d.ts +2 -2
  24. package/build/types/legend/legend-categorical.d.ts +2 -2
  25. package/build/types/legend/legend-continuous.d.ts +2 -2
  26. package/build/types/legend/legend-discrete.d.ts +2 -2
  27. package/build/types/legend/legend.d.ts +13 -13
  28. package/build/types/legend/proportional-symbol/legend-proportional-symbols.d.ts +2 -2
  29. package/build/types/map-types/CategoricalMapConfig.d.ts +11 -11
  30. package/build/types/map-types/choropleth/map-choropleth-bivariate.d.ts +4 -4
  31. package/build/types/map-types/choropleth/map-choropleth-trivariate.d.ts +4 -4
  32. package/build/types/map-types/choropleth/map-value-by-alpha.d.ts +4 -4
  33. package/build/types/map-types/composition/bar/BarMap.d.ts +97 -97
  34. package/build/types/map-types/composition/bar/BarMapConfig.d.ts +76 -76
  35. package/build/types/map-types/composition/map-spark.d.ts +5 -5
  36. package/build/types/map-types/composition/map-stripe.d.ts +5 -5
  37. package/build/types/map-types/flow/map-flow.d.ts +5 -5
  38. package/package.json +1 -1
@@ -1,76 +1,76 @@
1
- import type { MapConfig } from '../../../core/MapConfig'
2
- import type { BarChartLegendConfig } from '../../../legend/composition/BarChartLegendConfig'
3
-
4
- /**
5
- * Configuration for bar chart composition maps.
6
- */
7
- export interface BarMapConfig extends MapConfig {
8
- /** Bar type. */
9
- barType?: 'stacked' | 'grouped'
10
- /** Cat colors. */
11
- catColors?: Record<string, string>
12
- /** Cat labels. */
13
- catLabels?: Record<string, string>
14
- /** Show only when complete. */
15
- showOnlyWhenComplete?: boolean
16
- /** No data fill style. */
17
- noDataFillStyle?: string
18
- /** Bar min width. */
19
- barMinWidth?: number
20
- /** Bar max width. */
21
- barMaxWidth?: number
22
- /** Bar height. */
23
- barHeight?: number
24
- /** Bar group width. */
25
- barGroupWidth?: number
26
- /** Grouped bar settings object. */
27
- barSettings?: {
28
- type?: 'stacked' | 'grouped'
29
- minWidth?: number
30
- maxWidth?: number
31
- height?: number
32
- groupWidth?: number
33
- groupMinWidth?: number
34
- groupMaxWidth?: number
35
- groupGap?: number
36
- groupMinHeight?: number
37
- groupMaxHeight?: number
38
- groupMaxValue?: number
39
- groupMaxWidthValue?: number
40
- strokeFill?: string
41
- strokeWidth?: number
42
- cornerRadius?: number
43
- otherColor?: string
44
- otherText?: string
45
- tooltipWidth?: number
46
- tooltipHeight?: number
47
- }
48
- /** Bar group gap. */
49
- barGroupGap?: number
50
- /** Bar group min height. */
51
- barGroupMinHeight?: number
52
- /** Bar group max height. */
53
- barGroupMaxHeight?: number
54
- /** Bar stroke fill. */
55
- barStrokeFill?: string
56
- /** Bar stroke width. */
57
- barStrokeWidth?: number
58
- /** Bar corner radius. */
59
- barCornerRadius?: number
60
- /** Bar other color. */
61
- barOtherColor?: string
62
- /** Bar other text. */
63
- barOtherText?: string
64
- /** Bar tooltip width. */
65
- barTooltipWidth?: number
66
- /** Bar tooltip height. */
67
- barTooltipHeight?: number
68
- /** Dorling. */
69
- dorling?: boolean
70
- /** Bar total code. */
71
- barTotalCode?: string
72
- /** Stat codes. */
73
- statCodes?: string[]
74
- /** Legend. */
75
- legend?: BarChartLegendConfig | false
76
- }
1
+ import type { MapConfig } from '../../../core/MapConfig'
2
+ import type { BarChartLegendConfig } from '../../../legend/composition/BarChartLegendConfig'
3
+
4
+ /**
5
+ * Configuration for bar chart composition maps.
6
+ */
7
+ export interface BarMapConfig extends MapConfig {
8
+ /** Bar type. */
9
+ barType?: 'stacked' | 'grouped'
10
+ /** Cat colors. */
11
+ catColors?: Record<string, string>
12
+ /** Cat labels. */
13
+ catLabels?: Record<string, string>
14
+ /** Show only when complete. */
15
+ showOnlyWhenComplete?: boolean
16
+ /** No data fill style. */
17
+ noDataFillStyle?: string
18
+ /** Bar min width. */
19
+ barMinWidth?: number
20
+ /** Bar max width. */
21
+ barMaxWidth?: number
22
+ /** Bar height. */
23
+ barHeight?: number
24
+ /** Bar group width. */
25
+ barGroupWidth?: number
26
+ /** Grouped bar settings object. */
27
+ barSettings?: {
28
+ type?: 'stacked' | 'grouped'
29
+ minWidth?: number
30
+ maxWidth?: number
31
+ height?: number
32
+ groupWidth?: number
33
+ groupMinWidth?: number
34
+ groupMaxWidth?: number
35
+ groupGap?: number
36
+ groupMinHeight?: number
37
+ groupMaxHeight?: number
38
+ groupMaxValue?: number
39
+ groupMaxWidthValue?: number
40
+ strokeFill?: string
41
+ strokeWidth?: number
42
+ cornerRadius?: number
43
+ otherColor?: string
44
+ otherText?: string
45
+ tooltipWidth?: number
46
+ tooltipHeight?: number
47
+ }
48
+ /** Bar group gap. */
49
+ barGroupGap?: number
50
+ /** Bar group min height. */
51
+ barGroupMinHeight?: number
52
+ /** Bar group max height. */
53
+ barGroupMaxHeight?: number
54
+ /** Bar stroke fill. */
55
+ barStrokeFill?: string
56
+ /** Bar stroke width. */
57
+ barStrokeWidth?: number
58
+ /** Bar corner radius. */
59
+ barCornerRadius?: number
60
+ /** Bar other color. */
61
+ barOtherColor?: string
62
+ /** Bar other text. */
63
+ barOtherText?: string
64
+ /** Bar tooltip width. */
65
+ barTooltipWidth?: number
66
+ /** Bar tooltip height. */
67
+ barTooltipHeight?: number
68
+ /** Dorling. */
69
+ dorling?: boolean
70
+ /** Bar total code. */
71
+ barTotalCode?: string
72
+ /** Stat codes. */
73
+ statCodes?: string[]
74
+ /** Legend. */
75
+ legend?: BarChartLegendConfig | false
76
+ }
@@ -1,73 +1,73 @@
1
- /**
2
- * Parent configuration for map legends. Each map type will extend this with its own specific properties, but these are the common ones that apply to all legend types.
3
- */
4
- export interface LegendConfig {
5
- /** Legend origin x-coordinate in pixels. */
6
- x?: number
7
- /** Legend origin y-coordinate in pixels. */
8
- y?: number
9
- /** Automatically position the legend in a map corner. Manual x/y coordinates take precedence. */
10
- position?: 'top right' | 'bottom right' | 'top left' | 'bottom left'
11
- /** Legend width in pixels. */
12
- width?: number
13
- /** Legend height in pixels. */
14
- height?: number
15
-
16
- /** Legend title text. */
17
- title?: string
18
- /** Legend subtitle text. */
19
- subtitle?: string
20
- /** Legend title font size in pixels. */
21
- titleFontSize?: number
22
-
23
- /** Box styling. */
24
- /** Inner spacing around legend content. */
25
- boxPadding?: number
26
- /** Background opacity of the legend box. */
27
- boxOpacity?: number
28
- /** Apply the legend box's background opacity (boxOpacity) only while the map is currently zoomed in (scale != 1). The legend box is transparent at the initial view and returns to its configured opacity while zoomed. Purely a box-opacity concern - does not affect legend hover interactions (e.g. hover-to-highlight), which always work regardless of zoom state. */
29
- onlyApplyOpacityWhileZoomed?: boolean
30
- /** Padding between the title block and legend body. */
31
- titlePadding?: number
32
-
33
- /** Shape styling (for proportional symbol legends). */
34
- /** Symbol swatch width in pixels. */
35
- shapeWidth?: number
36
- /** Symbol swatch height in pixels. */
37
- shapeHeight?: number
38
- /** Horizontal gap between shape and label. */
39
- shapePadding?: number
40
- /** Length of separator lines in discrete legends. */
41
- sepLineLength?: number
42
-
43
- /** Label styling. */
44
- /** Label font size in pixels. */
45
- labelFontSize?: number
46
- /** Pixel offsets applied to labels. */
47
- labelOffsets?: { x: number; y: number }
48
- /** Custom formatter for legend labels. */
49
- labelFormatter?: ((value: number, index?: number) => string) | null
50
- /** Number of decimal places for auto-formatted labels. */
51
- decimals?: number
52
-
53
- /** Legend layout direction. */
54
- orientation?: 'vertical' | 'horizontal'
55
- /** Sort legend entries in ascending order when true. */
56
- ascending?: boolean
57
- /** Whether to display the no-data legend item. */
58
- noData?: boolean
59
- /** Label used for no-data legend item. */
60
- noDataText?: string
61
- /** Vertical gap before the no-data swatch in pixels. */
62
- noDataPadding?: number
63
- /** Width of the no-data swatch in pixels. */
64
- noDataShapeWidth?: number
65
- /** Height of the no-data swatch in pixels. */
66
- noDataShapeHeight?: number
67
-
68
- /** Whether to show dataset min/max labels when supported. */
69
- maxMin?: boolean
70
- /** Text affixes for min/max labels as [minSuffix, maxSuffix]. */
71
- maxMinLabels?: [string, string]
72
- layer?: any
73
- }
1
+ /**
2
+ * Parent configuration for map legends. Each map type will extend this with its own specific properties, but these are the common ones that apply to all legend types.
3
+ */
4
+ export interface LegendConfig {
5
+ /** Legend origin x-coordinate in pixels. */
6
+ x?: number
7
+ /** Legend origin y-coordinate in pixels. */
8
+ y?: number
9
+ /** Automatically position the legend in a map corner. Manual x/y coordinates take precedence. */
10
+ position?: 'top right' | 'bottom right' | 'top left' | 'bottom left'
11
+ /** Legend width in pixels. */
12
+ width?: number
13
+ /** Legend height in pixels. */
14
+ height?: number
15
+
16
+ /** Legend title text. */
17
+ title?: string
18
+ /** Legend subtitle text. */
19
+ subtitle?: string
20
+ /** Legend title font size in pixels. */
21
+ titleFontSize?: number
22
+
23
+ /** Box styling. */
24
+ /** Inner spacing around legend content. */
25
+ boxPadding?: number
26
+ /** Background opacity of the legend box. */
27
+ boxOpacity?: number
28
+ /** Apply the legend box's background opacity (boxOpacity) only while the map is currently zoomed in (scale != 1). The legend box is transparent at the initial view and returns to its configured opacity while zoomed. Purely a box-opacity concern - does not affect legend hover interactions (e.g. hover-to-highlight), which always work regardless of zoom state. */
29
+ onlyApplyOpacityWhileZoomed?: boolean
30
+ /** Padding between the title block and legend body. */
31
+ titlePadding?: number
32
+
33
+ /** Shape styling (for proportional symbol legends). */
34
+ /** Symbol swatch width in pixels. */
35
+ shapeWidth?: number
36
+ /** Symbol swatch height in pixels. */
37
+ shapeHeight?: number
38
+ /** Horizontal gap between shape and label. */
39
+ shapePadding?: number
40
+ /** Length of separator lines in discrete legends. */
41
+ sepLineLength?: number
42
+
43
+ /** Label styling. */
44
+ /** Label font size in pixels. */
45
+ labelFontSize?: number
46
+ /** Pixel offsets applied to labels. */
47
+ labelOffsets?: { x: number; y: number }
48
+ /** Custom formatter for legend labels. */
49
+ labelFormatter?: ((value: number, index?: number) => string) | null
50
+ /** Number of decimal places for auto-formatted labels. */
51
+ decimals?: number
52
+
53
+ /** Legend layout direction. */
54
+ orientation?: 'vertical' | 'horizontal'
55
+ /** Sort legend entries in ascending order when true. */
56
+ ascending?: boolean
57
+ /** Whether to display the no-data legend item. */
58
+ noData?: boolean
59
+ /** Label used for no-data legend item. */
60
+ noDataText?: string
61
+ /** Vertical gap before the no-data swatch in pixels. */
62
+ noDataPadding?: number
63
+ /** Width of the no-data swatch in pixels. */
64
+ noDataShapeWidth?: number
65
+ /** Height of the no-data swatch in pixels. */
66
+ noDataShapeHeight?: number
67
+
68
+ /** Whether to show dataset min/max labels when supported. */
69
+ maxMin?: boolean
70
+ /** Text affixes for min/max labels as [minSuffix, maxSuffix]. */
71
+ maxMinLabels?: [string, string]
72
+ layer?: any
73
+ }
@@ -123,4 +123,4 @@ export interface BivariateLegendConfig extends LegendConfig {
123
123
  topLeft?: { x?: number; y?: number }
124
124
  }
125
125
 
126
- }
126
+ }
@@ -1,22 +1,64 @@
1
- import type { LegendConfig } from '../LegendConfig'
2
-
3
- /**
4
- * Configuration for the ranked bar chart element on choropleth-classified maps: one horizontal
5
- * bar per region, sorted by value, colored by the region's own class color, labeled with its id
6
- * and value. Above an internal region-count threshold, falls back automatically to the histogram
7
- * distribution view instead of drawing one bar per region.
8
- *
9
- * Independent of the legend - has its own positioning (inherited from LegendConfig's x/y/
10
- * position/width fields) and can render into an entirely different container/SVG to the
11
- * legend's, rather than being a sub-feature of it. Set via `map.rankedBarChart(config)`,
12
- * separately from `map.legend(config)`.
13
- */
14
- export interface RankedBarChartConfig extends LegendConfig {
15
- /**
16
- * Limit which regions appear to a political grouping: EU member states, EU + EFTA, or
17
- * EU + EFTA + EU candidate countries. Applied before the region-count threshold that
18
- * triggers the histogram distribution fallback. Omit (default) to show every region with
19
- * a value, unfiltered.
20
- */
21
- countryGroup?: 'eu' | 'euEfta' | 'euEftaCc'
22
- }
1
+ /**
2
+ * Configuration for the ranked bar chart element on choropleth-classified maps: one horizontal
3
+ * bar per region, sorted by value, colored by the region's own class color, labeled with its id
4
+ * and value. Above an internal region-count threshold, falls back automatically to the histogram
5
+ * distribution view instead of drawing one bar per region.
6
+ *
7
+ * A standalone element, independent of the legend - not a sub-feature of it, and deliberately not
8
+ * an extension of LegendConfig: it has its own container/positioning and doesn't carry the
9
+ * legend-only concepts (no-data swatch, max/min labels, etc.) that don't apply to it. Set via
10
+ * `map.rankedBarChart(config)`, separately from `map.legend(config)`.
11
+ */
12
+ export interface RankedBarChartConfig {
13
+ /** Id of the SVG element to render the chart into. Can be a completely different container/
14
+ * SVG to the legend's. @default an internally-generated id */
15
+ svgId?: string
16
+ /** Chart origin x-coordinate in pixels. */
17
+ x?: number
18
+ /** Chart origin y-coordinate in pixels. */
19
+ y?: number
20
+ /** Automatically position the chart in a map corner. Manual x/y coordinates take precedence. */
21
+ position?: 'top right' | 'bottom right' | 'top left' | 'bottom left'
22
+ /** Approximate box width in pixels, used only as a fallback when auto-positioning in a corner
23
+ * without explicit x/y. @default 150 */
24
+ width?: number
25
+ /** Maximum total height in pixels for the rendered chart (title/subtitle + bars). When the
26
+ * natural height of all bars would exceed this, bar height and label font size are both
27
+ * scaled down proportionally so the chart never grows taller than this budget. Omit to let
28
+ * the chart grow to fit its content - its natural height with ~35 EU/EFTA/CC regions can
29
+ * easily exceed a map's own height. */
30
+ height?: number
31
+
32
+ /** Chart title text. */
33
+ title?: string
34
+ /** Chart subtitle text. */
35
+ subtitle?: string
36
+
37
+ /** Inner spacing around the chart content in pixels. @default 7 */
38
+ boxPadding?: number
39
+ /** Background opacity of the chart's box. @default 0.9 */
40
+ boxOpacity?: number
41
+ /** Apply the chart box's background opacity (boxOpacity) only while the map is currently
42
+ * zoomed in (scale != 1). Purely a box-opacity concern - does not affect hover interactions
43
+ * (e.g. hover-to-highlight), which always work regardless of zoom state. */
44
+ onlyApplyOpacityWhileZoomed?: boolean
45
+
46
+ /** Bar height in pixels, before any height-based scaling (see height). @default 20 */
47
+ shapeHeight?: number
48
+ /** Label font size in pixels, before any height-based scaling (see height).
49
+ * @default read from the .em-legend-label CSS class */
50
+ labelFontSize?: number
51
+ /** Custom formatter for each region's value label. */
52
+ labelFormatter?: ((value: number, index?: number) => string) | null
53
+ /** Number of decimal places for auto-formatted value labels. Auto-detected when undefined. */
54
+ decimals?: number
55
+
56
+ /** Sort bars in ascending order of value when true, descending when false. @default true */
57
+ ascending?: boolean
58
+
59
+ /** Limit which regions appear to a political grouping: EU member states, EU + EFTA, or
60
+ * EU + EFTA + EU candidate countries. Applied before the region-count threshold that
61
+ * triggers the histogram distribution fallback. Omit (default) to show every region with
62
+ * a value, unfiltered. */
63
+ countryGroup?: 'eu' | 'euEfta' | 'euEftaCc'
64
+ }
@@ -1,2 +1,2 @@
1
- /** Creates a bivariate choropleth legend */
2
- export function legend(config?: any): any
1
+ /** Creates a bivariate choropleth legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a trivariate choropleth legend */
2
- export function legend(config?: any): any
1
+ /** Creates a trivariate choropleth legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a choropleth legend */
2
- export function legend(config?: any): any
1
+ /** Creates a choropleth legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a bar chart legend */
2
- export function legend(config?: any): any
1
+ /** Creates a bar chart legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a flow map legend */
2
- export function legend(config?: any): any
1
+ /** Creates a flow map legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a categorical legend */
2
- export function legend(config?: any): any
1
+ /** Creates a categorical legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a continuous legend */
2
- export function legend(config?: any): any
1
+ /** Creates a continuous legend */
2
+ export function legend(config?: any): any
@@ -1,2 +1,2 @@
1
- /** Creates a discrete legend */
2
- export function legend(config?: any): any
1
+ /** Creates a discrete legend */
2
+ export function legend(config?: any): any
@@ -1,13 +1,13 @@
1
- import type { MapInstance } from '../core/MapInstance'
2
-
3
- /** Base legend configuration */
4
- export interface LegendConfig {
5
- title?: string
6
- titleFontSize?: number
7
- labelFontSize?: number
8
- labelDelimiter?: string
9
- noDataText?: string
10
- }
11
-
12
- /** Creates a legend instance */
13
- export function legend(config?: LegendConfig): any
1
+ import type { MapInstance } from '../core/MapInstance'
2
+
3
+ /** Base legend configuration */
4
+ export interface LegendConfig {
5
+ title?: string
6
+ titleFontSize?: number
7
+ labelFontSize?: number
8
+ labelDelimiter?: string
9
+ noDataText?: string
10
+ }
11
+
12
+ /** Creates a legend instance */
13
+ export function legend(config?: LegendConfig): any
@@ -1,2 +1,2 @@
1
- /** Creates a proportional symbols legend */
2
- export function legend(config?: any): any
1
+ /** Creates a proportional symbols legend */
2
+ export function legend(config?: any): any
@@ -1,11 +1,11 @@
1
- import type { MapConfig } from '../core/MapConfig'
2
-
3
- /**
4
- * Configuration for categorical map
5
- */
6
- export interface CategoricalMapConfig extends MapConfig {
7
- /** Category-to-color mapping */
8
- classToFillStyle?: Record<string, string>
9
- /** Fill style for regions with no data */
10
- noDataFillStyle?: string
11
- }
1
+ import type { MapConfig } from '../core/MapConfig'
2
+
3
+ /**
4
+ * Configuration for categorical map
5
+ */
6
+ export interface CategoricalMapConfig extends MapConfig {
7
+ /** Category-to-color mapping */
8
+ classToFillStyle?: Record<string, string>
9
+ /** Fill style for regions with no data */
10
+ noDataFillStyle?: string
11
+ }
@@ -1,4 +1,4 @@
1
- import type { MapInstance } from '../../core/MapInstance'
2
-
3
- /** Creates a bivariate choropleth map instance */
4
- export function map(config?: any): MapInstance
1
+ import type { MapInstance } from '../../core/MapInstance'
2
+
3
+ /** Creates a bivariate choropleth map instance */
4
+ export function map(config?: any): MapInstance
@@ -1,4 +1,4 @@
1
- import type { MapInstance } from '../../core/MapInstance'
2
-
3
- /** Creates a trivariate choropleth map instance */
4
- export function map(config?: any): MapInstance
1
+ import type { MapInstance } from '../../core/MapInstance'
2
+
3
+ /** Creates a trivariate choropleth map instance */
4
+ export function map(config?: any): MapInstance
@@ -1,4 +1,4 @@
1
- import type { MapInstance } from '../../core/MapInstance'
2
-
3
- /** Creates a value-by-alpha map instance */
4
- export function map(config?: any): MapInstance
1
+ import type { MapInstance } from '../../core/MapInstance'
2
+
3
+ /** Creates a value-by-alpha map instance */
4
+ export function map(config?: any): MapInstance