-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(dom): consolidate transition/animation waiting utils #9341
refactor(dom): consolidate transition/animation waiting utils #9341
Conversation
This PR has been automatically marked as stale because it has not had recent activity. Please close your PR if it is no longer relevant. Thank you for your contributions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost there!
* @param targetEl The element to watch for the transition to complete. | ||
* @param transitionProp The name of the transition to watch for completion. | ||
*/ | ||
export async function whenTransitionDone(targetEl: HTMLElement, transitionProp: string): Promise<void> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't we just use onTransitionEnd
on a VNode in most cases? Should we specify that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can tweak the name and doc to better explain its usage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
…orkflow * origin/main: (26 commits) revert: refactor: add simpler `componentFocusable` util (deprecates `LoadableComponent`) (#9515) chore(linting): enable selector-pseudo-element-colon-notation rule (#9518) refactor(storybook): refactor tooltip simple story interface (#9538) refactor(dom): consolidate transition/animation waiting utils (#9341) refactor(storybook): build storybook simple story args interfaces using component class (#9457) chore: release next fix(block): add accessible label for slotted controls (#9502) feat(action-bar, action-pad): add expandLabel and collapseLabel to messages (#9497) chore: release next feat(action-menu, combobox, dropdown, input-date-picker, popover): allow logical placements for flipPlacements property. #8825 (#9490) fix(popover): correct border radius on close button (#9485) fix(list-item): hide nested list items by default (#9474) refactor: move component types into component specific interfaces files (#9527) chore: release next fix(alert): pause auto-close alert when link focused (#9503) refactor(storybook): consolidate storybook and component types (#9500) refactor(calcite-block-section,calcite-card): consolidate interfaces imports (#9517) chore: release next fix(block-section): restore block toggling when clicking on the header switch (#9472) chore: release next ...
… order (#9560) **Related Issue:** #9559 ## Summary This fixes `openCloseComponent.onToggleOpenCloseComponent` to emit beforeOpen/Close events when the associated transition starts and emits open/close when the transition ends. This regression was introduced by #9341 and would cause `beforeOpen`/`open` or `beforeClose`/`close` to emit immediately after another after the transition was done. ### Notable changes * adds spec test to add coverage for `onToggleOpenCloseComponent` * enhances `whenAnimationDone`/`whenTransitionDone` to accept callbacks for both start and end phases * exposes `readTask` from `openCloseComponent` to allow for stubbing (stubbing Stencil's utility is not possible because the core module getters are non-configurable) * extracts animation/transition helpers for spec tests to individual modules
Related Issue: N/A
Summary
Stems from #9325 (comment).
Consolidates transition/animation waiting logic and adds
whenTransitionDone
to DOM utils to complementwhenAnimationDone
.