Release notes
June 5, 2026 ยท View on GitHub
4.4.5
Fixes
- Fixed inset scalebar rendering when using partial
scalebarobjects in inset configuration by merging with default scalebar settings. This prevents invalid line coordinates (for exampleNaN) and preserves expected label spacing.
Example:
const map = eurostatmap
.map('choropleth')
.insets([
{
id: 'iceland',
bbox: [0, 0, 120, 80],
scalebar: {
// Partial config now safely merges with defaults
maxWidth: 18,
textOffset: [0, 8],
},
},
])
.build()
Notes
- Published package:
eurostat-map@4.4.5 - Dist-tag
latestpoints to4.4.5 - Release tag format used:
4.4.5(novprefix)
4.4.4
New
- Added a legend toggle button API so users can show/hide the legend directly on the map (
legendButton), with mobile-first hidden behavior when enabled.
Example:
const map = eurostatmap.map('choropleth').legend({ title: 'Population density' }).legendButton(true).build()
// Optional custom position
map.legendButtonPosition([10, 50])
- Added manual composition category ordering support via
compositionSettings.orderfor pie-composition maps.
Example:
compositionSettings?: {
type?: 'flag' | 'pie' | 'ring' | 'segment' | 'radar' | 'agepyramid' | 'halftone'
minSize?: number
maxSize?: number
strokeFill?: string
strokeWidth?: number
reverseOrder?: boolean
/** Category code order for composition rendering. */
order?: string[]
stripesOrientation?: number
offsetAngle?: number
agePyramidHeightFactor?: number
otherColor?: string
otherText?: string
}
Improvements
- Generalized composition ordering so
compositionSettings.ordercan drive category order consistently across composition chart types.
Example:
eurostatmap
.map('pie')
.compositionSettings({
type: 'radar',
order: ['EMP', 'WAGE', 'UNITS'],
reverseOrder: false,
})
.build()
- Added new business services statistics-explained examples with two dropdown-driven maps (proportional-circle and choropleth).
Example:
// Services example dropdown update wiring
unitSelect.addEventListener('option-selected', (e) => {
updateMap(e.detail.option.code, naceSelect.selectedOption)
})
naceSelect.addEventListener('option-selected', (e) => {
updateMap(unitSelect.selectedOption, e.detail.option.code)
})
Fixes
- Improved ring composition legibility by defaulting to an order that keeps smaller shares closer to the center (unless overridden).
Example:
map.compositionSettings({
type: 'ring',
// Optional manual override (outer -> inner)
order: ['TOTAL', 'LARGE_CAT', 'MID_CAT', 'SMALL_CAT'],
})
- Fixed dropdown UX so opening one selector closes the other (prevents both dropdowns being open simultaneously).
Example:
document.addEventListener(
'click',
(event) => {
const path = event.composedPath ? event.composedPath() : []
if (path.includes(unitSelect)) requestAnimationFrame(() => naceSelect.closeDropdownWithoutFocus())
else if (path.includes(naceSelect)) requestAnimationFrame(() => unitSelect.closeDropdownWithoutFocus())
},
true
)
- Removed example dependency on internal
/srcformatter utilities so shipped example folders are standalone and zip-portable. - Enforced space as thousand separator in localized example number formatting.
Example:
const longIntlFormatter = new Intl.NumberFormat('en', { maximumFractionDigits: 0 })
const longFormatter = {
format(value) {
return longIntlFormatter.format(value).replace(/,/g, ' ')
},
}
Notes
- Published package:
eurostat-map@4.4.4 - Dist-tag
latestpoints to4.4.4 - Release tag format used:
4.4.4(novprefix)