fix: unset removed marker style properties - #2601
Open
chrisgervang wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2595 with a fresh implementation of the intent behind #2596 on current master.
Applied style keys are tracked per element; removed or nullish keys are cleared before new values so shorthand transitions work and unrelated inline styles remain untouched.
Mapbox and MapLibre have matching regression coverage for undefined, null, omission, whole-style removal, reapplication, and shorthand/longhand transitions.
Tested with yarn lint, yarn test ci, and both module TypeScript checks.
Note
Low Risk
Localized DOM styling utility change with matching tests; no auth, data, or API surface changes.
Overview
Fixes stale inline styles on map markers and controls when React style props change by tracking which keys
applyReactStylelast set and clearing keys that disappear from the next style object (undefined, null, omitted, or empty/nullish whole style).The same logic is applied in react-mapbox and react-maplibre
apply-react-style.ts, with helpers for defined keys and value assignment; unrelated inline styles on the element are not touched.Regression tests cover unsetting, shorthand/longhand transitions (e.g.
paddingvspaddingTop), and unmanaged properties.Reviewed by Cursor Bugbot for commit a4f410d. Bugbot is set up for automated code reviews on this repo. Configure here.