You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(time-field): keep scroll picker open while scrolling with closeOnSelect #812 - #826
Time selection now distinguishes an explicit choice from scrolling or navigating the picker. With close-on-select enabled, the popover closes when a minute is selected or confirmed.
Bug Fixes
Selecting a minute before choosing an hour now keeps the hour shown on the picker.
Popovers now preserve focus on content that has already received focus.
Documentation
Clarified when the time picker popover closes, including behavior on mobile.
The time picker now reports explicit selection commits, and TimeField uses those commits to control popover closing. The popover attachment logic now preserves focus when focus is already inside its container.
The picker emits selectionCommitted for explicit minute or slot selections, but not for wheel navigation. Selecting a minute without a current value uses the parked hour. Scroll alignment clears programmatic-scroll state.
TimeField closes the popover on a committed selection when closeOnSelect is enabled. The documentation describes which scroll-picker actions commit a selection. invalidInput is now public readonly.
sequenceDiagram
actor User
participant TimePickerComponent
participant TimeFieldComponent
participant PopoverComponent
User->>TimePickerComponent: Select minute
TimePickerComponent->>TimeFieldComponent: Emit selectionCommitted
TimeFieldComponent->>PopoverComponent: Close when closeOnSelect is enabled
Loading
Possibly related PRs
TEDI-Design-System/angular#522: Adds a date-time field with scroll-based time controls, which is related to the scroll-picker behavior changed here.
Suggested reviewers:mart-sessman, intermetric
Merge Risk: Low · previous review ef92b
Keyboard users can close an empty time picker without selecting a time. This is a bounded issue with alternative selection methods.
Pre-merge checks: 4 · 1
Failed checks: 1 warning
Check name
Status
Explanation
Resolution
Out of Scope Changes check
Most changes support #812, including picker tests and popover focus preservation. However, changing TimeFieldComponent.invalidInput from protected to public is an unrelated public API change. The …
Remove the invalidInput visibility change, or provide a direct requirement that requires the input to be public.
Passed checks: 4 passed
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title clearly describes the main change: keeping the scroll picker open while scrolling when closeOnSelect is enabled. It is specific and related to the changeset.
Linked Issues check
The PR implements #812. TimePickerComponent emits selectionCommitted only for a minute click, Enter or Space in the minute column, and slot selections. Wheel scrolling, arrow navigation, and hour …
Docstring Coverage
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Full details: Linked Issues check
Explanation
The PR implements #812. TimePickerComponent emits selectionCommitted only for a minute click, Enter or Space in the minute column, and slot selections. Wheel scrolling, arrow navigation, and hour selection do not emit it. TimeFieldComponent uses this event for closeOnSelect. Tests cover non-closing value changes and closing committed selections.
Full details: Docstring Coverage
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 7 files. (1 skipped: 1 unsupported.)
Full details: Out of Scope Changes check
Explanation
Most changes support #812, including picker tests and popover focus preservation. However, changing TimeFieldComponent.invalidInput from protected to public is an unrelated public API change. The linked issue does not require this visibility change.
Resolution
Remove the invalidInput visibility change, or provide a direct requirement that requires the input to be public.
Finishing Touches
Generate docstrings
Commit to this branch
Create a new PR
Generate unit tests (beta)
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
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
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.
Closes #812
Summary by CodeRabbit