eurostat-map 4.4.4 → 4.5.0

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 (72) hide show
  1. package/README.md +177 -148
  2. package/build/215.eurostatmap.min.js +1 -1
  3. package/build/eurostatmap.js +19934 -15872
  4. package/build/eurostatmap.min.js +2 -2
  5. package/build/eurostatmap.min.js.map +1 -1
  6. package/build/package.json +87 -87
  7. package/build/types/core/GridCartogramSettings.d.ts +33 -0
  8. package/build/types/core/MapConfig.d.ts +13 -2
  9. package/build/types/core/MapInstance.d.ts +80 -4
  10. package/build/types/core/encoding/EncodingConfig.d.ts +31 -0
  11. package/build/types/core/layer/Layer.d.ts +31 -0
  12. package/build/types/core/layer/LayerConfig.d.ts +19 -0
  13. package/build/types/core/layer/LayerRole.d.ts +1 -0
  14. package/build/types/core/locations.d.ts +44 -16
  15. package/build/types/core/stat/StatConfig.d.ts +7 -0
  16. package/build/types/index.d.ts +39 -33
  17. package/build/types/layers/CategoricalMap.d.ts +21 -0
  18. package/build/types/layers/CategoricalMapConfig.d.ts +11 -0
  19. package/build/types/layers/MapType.d.ts +34 -0
  20. package/build/types/layers/choropleth/BivariateChoroplethConfig.d.ts +27 -0
  21. package/build/types/layers/choropleth/BivariateChoroplethMap.d.ts +39 -0
  22. package/build/types/layers/choropleth/ChoroplethConfig.d.ts +39 -0
  23. package/build/types/layers/choropleth/ChoroplethMap.d.ts +48 -0
  24. package/build/types/layers/choropleth/TrivariateChoroplethConfig.d.ts +41 -0
  25. package/build/types/layers/choropleth/TrivariateChoroplethMap.d.ts +18 -0
  26. package/build/types/layers/choropleth/ValueByAlphaConfig.d.ts +8 -0
  27. package/build/types/layers/choropleth/ValueByAlphaMap.d.ts +9 -0
  28. package/build/types/layers/composition/CompositionStatConfig.d.ts +59 -0
  29. package/build/types/layers/composition/bar/BarMap.d.ts +97 -0
  30. package/build/types/layers/composition/bar/BarMapConfig.d.ts +76 -0
  31. package/build/types/layers/composition/coxcomb/CoxcombMap.d.ts +75 -0
  32. package/build/types/layers/composition/coxcomb/CoxcombMapConfig.d.ts +47 -0
  33. package/build/types/layers/composition/coxcomb/CoxcombStatConfig.d.ts +13 -0
  34. package/build/types/layers/composition/pie/PieMap.d.ts +84 -0
  35. package/build/types/layers/composition/pie/PieMapConfig.d.ts +50 -0
  36. package/build/types/layers/composition/stripe/StripeMap.d.ts +80 -0
  37. package/build/types/layers/composition/stripe/StripeMapConfig.d.ts +45 -0
  38. package/build/types/layers/composition/waffle/WaffleMap.d.ts +124 -0
  39. package/build/types/layers/composition/waffle/WaffleMapConfig.d.ts +58 -0
  40. package/build/types/layers/flow/FlowMap.d.ts +218 -0
  41. package/build/types/layers/flow/FlowMapConfig.d.ts +220 -0
  42. package/build/types/layers/proportional-symbol/ProportionalSymbolConfig.d.ts +47 -0
  43. package/build/types/layers/proportional-symbol/ProportionalSymbolMap.d.ts +94 -0
  44. package/build/types/layers/proportional-symbol/mushroom/MushroomMap.d.ts +67 -0
  45. package/build/types/layers/proportional-symbol/mushroom/MushroomMapConfig.d.ts +39 -0
  46. package/build/types/layers/spark/SparkMap.d.ts +56 -0
  47. package/build/types/layers/spark/SparkMapConfig.d.ts +75 -0
  48. package/build/types/layers/spark/SparkStatConfig.d.ts +33 -0
  49. package/build/types/legend/LegendConfig.d.ts +3 -0
  50. package/build/types/legend/choropleth/BivariateLegendConfig.d.ts +79 -0
  51. package/build/types/map-types/choropleth/TrivariateChoroplethConfig.d.ts +25 -16
  52. package/build/types/map-types/choropleth/TrivariateChoroplethMap.d.ts +5 -2
  53. package/build/types/map-types/composition/CompositionStatConfig.d.ts +7 -0
  54. package/build/types/map-types/composition/bar/BarMap.d.ts +97 -79
  55. package/build/types/map-types/composition/bar/BarMapConfig.d.ts +76 -54
  56. package/build/types/map-types/composition/coxcomb/CoxcombMap.d.ts +29 -0
  57. package/build/types/map-types/composition/coxcomb/CoxcombMapConfig.d.ts +15 -0
  58. package/build/types/map-types/composition/pie/PieMap.d.ts +5 -5
  59. package/build/types/map-types/composition/pie/PieMapConfig.d.ts +2 -0
  60. package/build/types/map-types/composition/stripe/StripeMap.d.ts +19 -2
  61. package/build/types/map-types/composition/stripe/StripeMapConfig.d.ts +11 -0
  62. package/build/types/map-types/composition/waffle/WaffleMap.d.ts +46 -0
  63. package/build/types/map-types/composition/waffle/WaffleMapConfig.d.ts +24 -10
  64. package/build/types/map-types/flow/FlowMap.d.ts +121 -0
  65. package/build/types/map-types/flow/FlowMapConfig.d.ts +62 -0
  66. package/build/types/map-types/proportional-symbol/ProportionalSymbolConfig.d.ts +30 -0
  67. package/build/types/map-types/proportional-symbol/ProportionalSymbolMap.d.ts +4 -0
  68. package/build/types/map-types/proportional-symbol/mushroom/MushroomMap.d.ts +37 -0
  69. package/build/types/map-types/proportional-symbol/mushroom/MushroomMapConfig.d.ts +19 -0
  70. package/build/types/map-types/spark/SparkMap.d.ts +4 -0
  71. package/build/types/map-types/spark/SparkMapConfig.d.ts +32 -0
  72. package/package.json +6 -3
@@ -99,60 +99,122 @@ export interface FlowMapConfig extends MapConfig {
99
99
  /** Flow graph. */
100
100
  flowGraph?: FlowGraph
101
101
 
102
+ /** Grouped flow settings object. */
103
+ flowSettings?: {
104
+ color?: string
105
+ regionColors?: string[]
106
+ regionLabels?: string[]
107
+ arrows?: boolean
108
+ arrowScale?: number
109
+ maxWidth?: number
110
+ minWidth?: number
111
+ outlines?: boolean
112
+ outlineWidth?: number
113
+ outlineColor?: string
114
+ colorGradient?: boolean
115
+ stack?: boolean
116
+ nodes?: boolean
117
+ nodeType?: 'circle' | 'donut'
118
+ labelOffsets?: { x?: number; y?: number }
119
+ lineType?: 'curved' | 'straight' | 'sankey'
120
+ nodeSizeScale?: (value: number) => number
121
+ opacity?: number
122
+ internal?: boolean
123
+ topLocations?: number
124
+ topLocationsType?: 'sum' | 'origin' | 'destination'
125
+ curvatureSettings?: FlowCurvatureSettings
126
+ order?: (a: any, b: any) => number
127
+ widthGradient?: boolean
128
+ opacityGradient?: boolean
129
+ widthGradientSettings?: FlowWidthGradientSettings
130
+ bidirectional?: boolean
131
+ edgeBundling?: boolean
132
+ bundleSettings?: FlowBundleSettings
133
+ }
134
+
135
+ /** @deprecated Use flowSettings.color */
102
136
  /** Flow color. */
103
137
  flowColor?: string
138
+ /** @deprecated Use flowSettings.regionColors */
104
139
  /** Flow region colors. */
105
140
  flowRegionColors?: string[]
141
+ /** @deprecated Use flowSettings.regionLabels */
106
142
  /** Flow region labels. */
107
143
  flowRegionLabels?: string[]
144
+ /** @deprecated Use flowSettings.arrows */
108
145
  /** Flow arrows. */
109
146
  flowArrows?: boolean
147
+ /** @deprecated Use flowSettings.arrowScale */
110
148
  /** Flow arrow scale. */
111
149
  flowArrowScale?: number
150
+ /** @deprecated Use flowSettings.maxWidth */
112
151
  /** Flow max width. */
113
152
  flowMaxWidth?: number
153
+ /** @deprecated Use flowSettings.minWidth */
114
154
  /** Flow min width. */
115
155
  flowMinWidth?: number
156
+ /** @deprecated Use flowSettings.outlines */
116
157
  /** Flow outlines. */
117
158
  flowOutlines?: boolean
159
+ /** @deprecated Use flowSettings.outlineWidth */
118
160
  /** Flow outline width. */
119
161
  flowOutlineWidth?: number
162
+ /** @deprecated Use flowSettings.outlineColor */
120
163
  /** Flow outline color. */
121
164
  flowOutlineColor?: string
165
+ /** @deprecated Use flowSettings.colorGradient */
122
166
  /** Flow color gradient. */
123
167
  flowColorGradient?: boolean
168
+ /** @deprecated Use flowSettings.stack */
124
169
  /** Flow stack. */
125
170
  flowStack?: boolean
171
+ /** @deprecated Use flowSettings.nodes */
126
172
  /** Flow nodes. */
127
173
  flowNodes?: boolean
174
+ /** @deprecated Use flowSettings.nodeType */
128
175
  /** Flow node type. */
129
176
  flowNodeType?: 'circle' | 'donut'
177
+ /** @deprecated Use flowSettings.labelOffsets */
130
178
  /** Flow label offsets. */
131
179
  flowLabelOffsets?: { x?: number; y?: number }
180
+ /** @deprecated Use flowSettings.lineType */
132
181
  /** Flow line type. */
133
182
  flowLineType?: 'curved' | 'straight' | 'sankey'
183
+ /** @deprecated Use flowSettings.nodeSizeScale */
134
184
  flowNodeSizeScale?: (value: number) => number
185
+ /** @deprecated Use flowSettings.opacity */
135
186
  /** Flow opacity. */
136
187
  flowOpacity?: number
188
+ /** @deprecated Use flowSettings.internal */
137
189
  /** Flow internal. */
138
190
  flowInternal?: boolean
191
+ /** @deprecated Use flowSettings.topLocations */
139
192
  /** Flow top locations. */
140
193
  flowTopLocations?: number
194
+ /** @deprecated Use flowSettings.topLocationsType */
141
195
  /** Flow top locations type. */
142
196
  flowTopLocationsType?: 'sum' | 'origin' | 'destination'
197
+ /** @deprecated Use flowSettings.curvatureSettings */
143
198
  /** Flow curvature settings. */
144
199
  flowCurvatureSettings?: FlowCurvatureSettings
200
+ /** @deprecated Use flowSettings.order */
145
201
  flowOrder?: (a: any, b: any) => number
202
+ /** @deprecated Use flowSettings.widthGradient */
146
203
  /** Flow width gradient. */
147
204
  flowWidthGradient?: boolean
205
+ /** @deprecated Use flowSettings.opacityGradient */
148
206
  /** Flow opacity gradient. */
149
207
  flowOpacityGradient?: boolean
208
+ /** @deprecated Use flowSettings.widthGradientSettings */
150
209
  /** Flow width gradient settings. */
151
210
  flowWidthGradientSettings?: FlowWidthGradientSettings
211
+ /** @deprecated Use flowSettings.bidirectional */
152
212
  /** Flow bidirectional. */
153
213
  flowBidirectional?: boolean
214
+ /** @deprecated Use flowSettings.edgeBundling */
154
215
  /** Flow edge bundling. */
155
216
  flowEdgeBundling?: boolean
217
+ /** @deprecated Use flowSettings.bundleSettings */
156
218
  /** Flow bundle settings. */
157
219
  flowBundleSettings?: FlowBundleSettings
158
220
  }
@@ -1,5 +1,32 @@
1
1
  import type { MapConfig } from '../../core/MapConfig'
2
2
 
3
+ export interface ProportionalSymbolSettings {
4
+ shape?: string
5
+ customShape?: any
6
+ customSVG?: any
7
+ spikeWidth?: number
8
+ offset?: { x: number; y: number }
9
+ barWidth?: number
10
+ minValue?: number | undefined
11
+ maxValue?: number | undefined
12
+ fill?: string
13
+ fillOpacity?: number
14
+ stroke?: string
15
+ strokeWidth?: number
16
+ strokeOpacity?: number
17
+ sizeScale?: 'sqrt' | 'linear' | any
18
+ minSize?: number
19
+ maxSize?: number
20
+ classes?: number
21
+ colors?: string[] | null
22
+ colorFun?: any
23
+ classToFillStyle?: any
24
+ thresholds?: number[]
25
+ classificationMethod?: string
26
+ brightenFactor?: number
27
+ codeLabels?: boolean
28
+ }
29
+
3
30
  /**
4
31
  * Configuration for proportional symbol maps
5
32
  */
@@ -14,4 +41,7 @@ export interface ProportionalSymbolConfig extends MapConfig {
14
41
 
15
42
  /** Size function. */
16
43
  psCustomSize?: (value: number) => number
44
+
45
+ /** Grouped proportional symbol style settings. */
46
+ psSettings?: ProportionalSymbolSettings
17
47
  }
@@ -1,9 +1,13 @@
1
1
  import { MapInstance } from '../../core/MapInstance'
2
+ import type { ProportionalSymbolSettings } from './ProportionalSymbolConfig'
2
3
 
3
4
  /**
4
5
  * Proportional symbol map object
5
6
  */
6
7
  export interface ProportionalSymbolMap extends MapInstance {
8
+ psSettings(): ProportionalSymbolSettings
9
+ psSettings(v: ProportionalSymbolSettings): this
10
+
7
11
  psMaxSize(): number
8
12
  psMaxSize(v: number): this
9
13
 
@@ -4,27 +4,64 @@ import type { MapInstance } from '../../../core/MapInstance'
4
4
  * Mushroom map type.
5
5
  */
6
6
  export interface MushroomMap extends MapInstance {
7
+ mushroomSettings(): {
8
+ codes: [string, string]
9
+ minSize: number
10
+ maxSize: number
11
+ colors: [string, string]
12
+ orientation: 'horizontal' | 'vertical'
13
+ sizeScaleFunction: any
14
+ sizeScaleFunctionV1: any
15
+ sizeScaleFunctionV2: any
16
+ }
17
+ mushroomSettings(v: {
18
+ codes?: [string, string]
19
+ minSize?: number
20
+ maxSize?: number
21
+ colors?: [string, string]
22
+ orientation?: 'horizontal' | 'vertical'
23
+ sizeScaleFunction?: any
24
+ sizeScaleFunctionV1?: any
25
+ sizeScaleFunctionV2?: any
26
+ }): this
27
+
28
+ /** @deprecated Use mushroomSettings({ codes }) */
7
29
  mushroomCodes(): [string, string]
30
+ /** @deprecated Use mushroomSettings({ codes }) */
8
31
  mushroomCodes(v: [string, string]): this
9
32
 
33
+ /** @deprecated Use mushroomSettings({ minSize }) */
10
34
  mushroomMinSize(): number
35
+ /** @deprecated Use mushroomSettings({ minSize }) */
11
36
  mushroomMinSize(v: number): this
12
37
 
38
+ /** @deprecated Use mushroomSettings({ maxSize }) */
13
39
  mushroomMaxSize(): number
40
+ /** @deprecated Use mushroomSettings({ maxSize }) */
14
41
  mushroomMaxSize(v: number): this
15
42
 
43
+ /** @deprecated Use mushroomSettings({ colors }) */
16
44
  mushroomColors(): [string, string]
45
+ /** @deprecated Use mushroomSettings({ colors }) */
17
46
  mushroomColors(v: [string, string]): this
18
47
 
48
+ /** @deprecated Use mushroomSettings({ orientation }) */
19
49
  mushroomOrientation(): 'horizontal' | 'vertical'
50
+ /** @deprecated Use mushroomSettings({ orientation }) */
20
51
  mushroomOrientation(v: 'horizontal' | 'vertical'): this
21
52
 
53
+ /** @deprecated Use mushroomSettings({ sizeScaleFunction }) */
22
54
  mushroomSizeScaleFunction(): any
55
+ /** @deprecated Use mushroomSettings({ sizeScaleFunction }) */
23
56
  mushroomSizeScaleFunction(v: any): this
24
57
 
58
+ /** @deprecated Use mushroomSettings({ sizeScaleFunctionV1 }) */
25
59
  mushroomSizeScaleFunctionV1(): any
60
+ /** @deprecated Use mushroomSettings({ sizeScaleFunctionV1 }) */
26
61
  mushroomSizeScaleFunctionV1(v: any): this
27
62
 
63
+ /** @deprecated Use mushroomSettings({ sizeScaleFunctionV2 }) */
28
64
  mushroomSizeScaleFunctionV2(): any
65
+ /** @deprecated Use mushroomSettings({ sizeScaleFunctionV2 }) */
29
66
  mushroomSizeScaleFunctionV2(v: any): this
30
67
  }
@@ -4,17 +4,36 @@ import type { MapConfig } from '../../../core/MapConfig'
4
4
  * Configuration for mushroom maps.
5
5
  */
6
6
  export interface MushroomMapConfig extends MapConfig {
7
+ /** Grouped mushroom settings. */
8
+ mushroomSettings?: {
9
+ codes?: [string, string]
10
+ minSize?: number
11
+ maxSize?: number
12
+ colors?: [string, string]
13
+ orientation?: 'horizontal' | 'vertical'
14
+ sizeScaleFunction?: (value: number) => number
15
+ sizeScaleFunctionV1?: (value: number) => number
16
+ sizeScaleFunctionV2?: (value: number) => number
17
+ }
18
+ /** @deprecated Use mushroomSettings.codes */
7
19
  /** Mushroom codes. */
8
20
  mushroomCodes?: [string, string]
21
+ /** @deprecated Use mushroomSettings.minSize */
9
22
  /** Mushroom min size. */
10
23
  mushroomMinSize?: number
24
+ /** @deprecated Use mushroomSettings.maxSize */
11
25
  /** Mushroom max size. */
12
26
  mushroomMaxSize?: number
27
+ /** @deprecated Use mushroomSettings.colors */
13
28
  /** Mushroom colors. */
14
29
  mushroomColors?: [string, string]
30
+ /** @deprecated Use mushroomSettings.orientation */
15
31
  /** Mushroom orientation. */
16
32
  mushroomOrientation?: 'horizontal' | 'vertical'
33
+ /** @deprecated Use mushroomSettings.sizeScaleFunction */
17
34
  mushroomSizeScaleFunction?: (value: number) => number
35
+ /** @deprecated Use mushroomSettings.sizeScaleFunctionV1 */
18
36
  mushroomSizeScaleFunctionV1?: (value: number) => number
37
+ /** @deprecated Use mushroomSettings.sizeScaleFunctionV2 */
19
38
  mushroomSizeScaleFunctionV2?: (value: number) => number
20
39
  }
@@ -1,11 +1,15 @@
1
1
  import type { MapInstance } from '../../core/MapInstance'
2
2
  import type { SparkStatConfig } from './SparkStatConfig'
3
3
  import type { SparklineLegendConfig } from '../../legend/composition/SparklineLegendConfig'
4
+ import type { SparkSettings } from './SparkMapConfig'
4
5
 
5
6
  /**
6
7
  * Spark map type.
7
8
  */
8
9
  export interface SparkMap extends MapInstance {
10
+ sparkSettings(): SparkSettings
11
+ sparkSettings(v: SparkSettings): this
12
+
9
13
  legend(): SparklineLegendConfig | false
10
14
  legend(config: SparklineLegendConfig | false): this
11
15
 
@@ -1,12 +1,44 @@
1
1
  import type { MapConfig } from '../../core/MapConfig'
2
2
  import type { SparklineLegendConfig } from '../../legend/composition/SparklineLegendConfig'
3
3
 
4
+ export interface SparkSettings {
5
+ type?: 'line' | 'area' | 'bar'
6
+ lineOffsets?: { x: number; y: number }
7
+ lineWidth?: number
8
+ lineHeight?: number
9
+ lineStrokeWidth?: number
10
+ lineOpacity?: number
11
+ lineColor?: string | ((value: number, index: number, data: any[]) => string)
12
+ areaColor?: string | ((value: number, index: number, data: any[]) => string)
13
+ lineCircleRadius?: number
14
+ tooltipChart?: {
15
+ width: number
16
+ height: number
17
+ margin: { left: number; right: number; top: number; bottom: number }
18
+ circleRadius: number
19
+ }
20
+ lineChartFunction?: (node: any, data: any[], width: number, height: number, isForTooltip?: boolean) => void
21
+ }
22
+
4
23
  /**
5
24
  * Configuration for sparkline maps.
6
25
  */
7
26
  export interface SparkMapConfig extends MapConfig {
27
+ /** Grouped sparkline rendering settings. */
28
+ sparkSettings?: SparkSettings
29
+
8
30
  /** Spark type. */
9
31
  sparkType?: 'line' | 'area' | 'bar'
32
+
33
+ /** Object-form stat configuration for temporal sparkline datasets. */
34
+ dates?: string[]
35
+ labels?: string[]
36
+ eurostatDatasetCode?: string
37
+ customData?: Record<string, Record<string, number>>
38
+ filters?: Record<string, any>
39
+ unitText?: string
40
+ transform?: (value: any) => any
41
+
10
42
  sparkLineColor?: string | ((value: number, index: number, data: any[]) => string)
11
43
  sparkAreaColor?: string | ((value: number, index: number, data: any[]) => string)
12
44
  /** Spark line width. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eurostat-map",
3
- "version": "4.4.4",
3
+ "version": "4.5.0",
4
4
  "description": "Reusable library to quickly create and customise web maps showing Eurostat data directly retrieved from Eurostat database.",
5
5
  "keywords": [
6
6
  "cartography",
@@ -38,9 +38,12 @@
38
38
  "build-prod-debug": "webpack --config webpack/webpack.config.debug-size.js",
39
39
  "format": "prettier --write .",
40
40
  "copy-types": "copyfiles -u 2 \"src/types/**/*.d.ts\" build/types",
41
- "check:types:legend-config-sync": "node test/scripts/check-legend-config-sync.js",
42
- "type-check": "npm run check:types:legend-config-sync && tsc --noEmit && tsc --noEmit test/typescript-test.ts",
41
+ "check:types:legend-config-sync": "node scripts/check-legend-config-sync.js",
42
+ "type-check": "npm run check:types:legend-config-sync && tsc --noEmit --skipLibCheck && tsc --noEmit --skipLibCheck test/typescript-test.ts",
43
+ "update-all": "npm run update-types && npm run update-docs && npm run update-examples",
44
+ "update-types": "node scripts/update-types.js",
43
45
  "update-docs": "typedoc --options typedoc.json",
46
+ "update-previews": "node examples/scripts/generate-previews.js",
44
47
  "update-examples": "npm run update-examples-manifest && npm run generate-previews",
45
48
  "update-examples-manifest": "node examples/scripts/update-examples-manifest.js",
46
49
  "generate-previews": "node examples/scripts/generate-previews.js"