Skip to content
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

[Input Date Picker, Input Time Picker] Individual month, day, year individual inputs #8624

Open
2 of 6 tasks
SkyeSeitz opened this issue Jan 18, 2024 · 7 comments
Open
2 of 6 tasks
Labels
0 - new New issues that need assignment. Calcite (design) Issues logged by Calcite designers. enhancement Issues tied to a new feature or request. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive needs triage Planning workflow - pending design/dev review. p - low Issue is non core or affecting less that 10% of people using the library

Comments

@SkyeSeitz
Copy link

SkyeSeitz commented Jan 18, 2024

Check existing issues

Description

Similar to MUI's date picker , make calcite-date-picker and calcite-time-picker's month, day, year entries individual inputs, where arrow keys can be used to adjust value. This would also help avoid the current issue with being able to enter invalid characters.
image

Acceptance Criteria

  • calcite-date-picker and calcite-time-picker include individual inputs for month, day, year.
  • upArrow & downArrow can be used to increment the values
  • rightArrow & leftArrow can be used to move between month, day, year inputs
  • direct entry still possible, but consider not accepting invalid characters

Relevant Info

Related to refactors and enhancements in epic #6714

Which Component

Input Date Picker & Input Time Picker

Example Use Case

No response

Priority impact

p4 - not time sensitive

Calcite package

  • @esri/calcite-components
  • @esri/calcite-components-angular
  • @esri/calcite-components-react
  • @esri/calcite-design-tokens
  • @esri/eslint-plugin-calcite-components

Esri team

Calcite (design)

@SkyeSeitz SkyeSeitz added enhancement Issues tied to a new feature or request. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Jan 18, 2024
@github-actions github-actions bot added Calcite (design) Issues logged by Calcite designers. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive labels Jan 18, 2024
@geospatialem geospatialem added the p - low Issue is non core or affecting less that 10% of people using the library label Jan 18, 2024
@geospatialem
Copy link
Member

Once this effort is picked up for development work, a short check-in can be scheduled with Skye to confirm the design efforts for both components.

@eriklharper
Copy link
Contributor

Related: #5639

@geospatialem
Copy link
Member

Blocked by #3455

@geospatialem geospatialem added blocked This issue is blocked by another issue. and removed needs triage Planning workflow - pending design/dev review. labels Aug 13, 2024
@geospatialem geospatialem added this to the Stalled milestone Aug 13, 2024
Copy link
Contributor

Issue #3455 has been closed, this issue is ready for re-evaluation.

cc @geospatialem,@DitwanP

@github-actions github-actions bot removed the blocked This issue is blocked by another issue. label Oct 25, 2024
@DitwanP
Copy link
Contributor

DitwanP commented Oct 29, 2024

I can see this being useful but not sure that this is still needed as I think the same thing can be accomplished now by just tabbing to the individual month, year, and day of the date-picker.

Also the criteria of "upArrow & downArrow can be used to increment the values" would change the current behavior of opening the date-picker and design because the way the MUI example does this is having a calendar icon and the end of the input that can be used by the keyboard to open the picker.

@SkyeSeitz @ashetland Any thoughts on this?

@SkyeSeitz
Copy link
Author

Thanks for the thoughts, Ditwan! I still see this as a valid enhancement to pursue since typing out a date can often be a much more efficient workflow for keyboard users (and beyond) than tabbing through the Date Picker UI.

Currently, if tabbing into Input Date Picker, the input is activated for direct entry- masked inputs could just allow for a better direct entry experience without even having to open the Date Picker via the downArrow.

Unlike MUI, clicking into Input Date Picker does in fact trigger Date Picker to open, but I am not sure that is an issue since input behavior is essentially the same regardless:

image

@eriklharper
Copy link
Contributor

eriklharper commented Oct 29, 2024

I can see this being useful but not sure that this is still needed as I think the same thing can be accomplished now by just tabbing to the individual month, year, and day of the date-picker.

A big reason we want to move to individual inputs is to ease localization of the time values, in addition to a more efficient keyboard experience. We can translate time separator values (hourSuffix, minuteSuffix and secondSuffix) and make them static so that the user doesn't have to type them, making it easier to parse the localized number and meridiem values.

Also, I recommend we make the date-picker and time-picker popups only activate when the toggle button is activated. User should be able to focus into the input, type the value they want, and then blur it to move onto the next input without needing to navigate in and out of the popover, which is redundant to the text input anyway. If they want the popover input experience, they can click it to open it and then enter it that way. This is how the native Chromium (and other browsers) implement time and date inputs.

@DitwanP DitwanP added the needs triage Planning workflow - pending design/dev review. label Oct 29, 2024
@DitwanP DitwanP removed this from the Stalled milestone Oct 29, 2024
@DitwanP DitwanP added needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. labels Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - new New issues that need assignment. Calcite (design) Issues logged by Calcite designers. enhancement Issues tied to a new feature or request. impact - p3 - not time sensitive User set priority impact status of p3 - not time sensitive needs triage Planning workflow - pending design/dev review. p - low Issue is non core or affecting less that 10% of people using the library
Projects
None yet
Development

No branches or pull requests

4 participants