-
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
fix(alert): pause auto-close alert when link focused #9503
Conversation
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.
Looking good @josercarcamo. I'm not super familiar with the alert component so maybe someone who is can review this a bit better :)
window.clearTimeout(this.autoCloseTimeoutId); | ||
this.totalOpenTime = Date.now() - this.initialOpenTime; | ||
this.lastMouseOverBegin = Date.now(); | ||
}; | ||
|
||
private handleMouseLeave = (): void => { | ||
private handleUnfocus = (): 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.
maybe rename to handleBlur
? focus/blur and focusin/focusout are the correct opposites I think
@@ -296,6 +296,13 @@ $alertDurations: | |||
:host(:hover[auto-close-duration="#{$name}"]) .dismiss-progress:after { | |||
animation-play-state: paused; | |||
} | |||
:host(:focus[auto-close-duration="#{$name}"]) .dismiss-progress:after { |
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 these can be combined like this:
:host(:hover[auto-close-duration="#{$name}"]) .dismiss-progress:after,
:host(:focus[auto-close-duration="#{$name}"]) .dismiss-progress:after {
animation-play-state: paused;
}
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.
Looks good after adding class to CSS lookup object.
@@ -226,13 +227,18 @@ export class Alert implements OpenCloseComponent, LoadableComponent, T9nComponen | |||
[CSS.containerQueued]: queued, | |||
[`${CSS.container}--${placement}`]: true, | |||
[CSS.containerSlottedInShell]: this.slottedInShell, | |||
["focused"]: this.keyBoardFocus, |
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.
@josercarcamo can you add the focused class to the CSS object?
…:Esri/calcite-design-system into josercarcamo/5960-timer-pause-when-focus
…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 ...
Related Issue: #5960
Summary
Paused auto close when the focus is in the link or close buton or when the mouse is hovered over the alert dialog.