fix (Galleria): ensure transition enter lifecycle runs on first render #7944
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.
Defect Fixes
Cause
props.valueis non-empty (return ObjectUtils.isNotEmpty(props.value) && createGalleria()), so it doesn’t exist in the DOM until data arrives.CSSTransitiononly runs its enter lifecycle when itsinprop changes from false to true, so the initial mount skipsonEntering, causing the overlay callbacks never to fire on first show.Solution
appear: trueflag to the transition props so that the enter lifecycle always runs on the first mount:const transitionProps = mergeProps( { classNames: cx('transition'), in: visibleState, timeout: { enter: 150, exit: 150 }, + appear: true, // ensure onEnter/onEntering run on initial mount ... }, ptm('transition') );Test
Sample Code
2025-04-28.10.29.31.mov
12.mov