Skip to content

feat: add layer visibility toggle to map legend (#3303) - #3324

Merged
igorDykhta merged 1 commit into
keplergl:masterfrom
pierreeurope:feat/legend-visibility-toggle-3303
Apr 4, 2026
Merged

feat: add layer visibility toggle to map legend (#3303)#3324
igorDykhta merged 1 commit into
keplergl:masterfrom
pierreeurope:feat/legend-visibility-toggle-3303

Conversation

@pierreeurope

Copy link
Copy Markdown
Contributor

Summary

Closes #3303 — Adds layer visibility toggle buttons to the map legend.

Problem

In read-only/exported maps, there was no way to toggle layer visibility since the side panel is not available. The legend showed layer names but no controls.

Solution

Added an eye icon toggle (EyeSeen/EyeUnseen) next to each layer name in the legend header. Clicking it toggles the layer's isVisible config via layerConfigChange.

Changes

  • src/components/src/map/map-legend.tsx:
    • Added StyledLegendHeaderRow and StyledVisibilityToggle styled components
    • Extended LayerLegendHeaderFactory to accept onToggleLayerVisibility prop
    • Added eye icon toggle with visual feedback (opacity changes for hidden layers)
    • Added onToggleLayerVisibility to MapLegendProps and threaded it through
  • src/components/src/map/map-legend-panel.tsx: Added onToggleLayerVisibility prop passthrough
  • src/components/src/map/map-control.tsx: Added onToggleLayerVisibility to MapControlProps
  • src/components/src/map-container.tsx: Added _handleToggleLayerVisibility handler that calls layerConfigChange

Behavior

  • Eye icon appears next to each layer name in the legend
  • Hidden layers show with reduced opacity and the EyeUnseen icon
  • Toggle only appears when onToggleLayerVisibility is provided (backward compatible)

Signed-off-by: pierreeurope <pierre.europe@pm.me>
@igorDykhta
igorDykhta merged commit 1c2db0f into keplergl:master Apr 4, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] add layer visibility toggle buttons in exported read-only map legend

2 participants