Skip to content

Conversation

@acstll
Copy link
Contributor

@acstll acstll commented Nov 10, 2025

Summary

Important

This PR merges into a feature branch

This makes the manual input of date and times more forgiving, in the Absolute tab. Meaning that is not needed for users to enter the entire date (sometimes in the in the exact format) for it to be parsed correctly.

Resolves https://github.com/elastic/eui-private/issues/439 🔒

Why are we making this change?

As part of a series of improvements to EuiSuperDatePicker that should have a positive immediate impact for users.

Impact to users

🟡 Low to no impact. No changes required. I think it's unlikely but some tests may fail.

Changes

Technically this is changing a single prop passed to the underlying library doing the date/time parsing, Moment.js. Namely the prop for enabling Strict Mode parsing.

Until now strict mode was enabled for all formats: the one passed in the dateFormat prop, and the other 3 supported (ISO 8601, RFC 2822 and Unix timestamp in seconds)). With this change, it will be disabled for the passed dateFormat only if the entered value is not any of the other 3 formats.

Parsing for ISO 8601, RFC 2822 and Unix remains unchanged. It behaves like the following:

ISO 8601 (unchanged)

Example: 2025-11-10T11:07:02Z

Forgiving. Entering a partial value works e.g. 2025-11.

RFC 2822 (unchanged)

Example: Tue, 10 Nov 2025 11:07:00 +0000

Partially forgiving, only the optional day of week e.g. Tue can be left out.

Unix timestamp, in seconds (unchanged)

Example: 1762772820

Not forgiving (for obvious reasons).

Examples of changes in parsing

When entering a value and pressing Enter.

Input Before After
Nov 10, 2025 ⚠️ Invalid ✅ Nov 10, 2025 @ 00:00:00.000
Nov 10 2025 ⚠️ Invalid ✅ Nov 10, 2025 @ 00:00:00.000
Nov 10 ⚠️ Invalid ✅ Nov 10, 2025 @ 00:00:00.000
Nov ⚠️ Invalid ✅ Nov 1, 2025 @ 00:00:00.000
Nov 10 2025 12:34 ⚠️ Invalid ✅ Nov 10, 2025 @ 12:34:00.000
2024 Jan 1, 2024 @ 00:00:00.000✝︎ Jan 1, 2024 @ 00:00:00.000

✝︎ parsed as ISO 8601

QA

🔗 Storybook for manual testing

General checklist

  • Browser QA
    • Checked in both light and dark modes
    • Checked in both MacOS and Windows high contrast modes
    • Checked in mobile
    • Checked in Chrome, Safari, Edge, and Firefox
    • Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA
  • Code quality checklist
  • Release checklist
    • A changelog entry exists and is marked appropriately
    • If applicable, added the breaking change issue label (and filled out the breaking change checklist)
    • If the changes unblock an issue in a different repo, smoke tested carefully (see Testing EUI features in Kibana ahead of time)
  • Designer checklist
    • If applicable, file an issue to update EUI's Figma library with any corresponding UI changes. (This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)

@acstll acstll self-assigned this Nov 10, 2025
@acstll acstll marked this pull request as ready for review November 10, 2025 15:06
@acstll acstll requested a review from a team as a code owner November 10, 2025 15:06
@mgadewoll mgadewoll self-requested a review November 12, 2025 10:17
@mgadewoll
Copy link
Contributor

mgadewoll commented Nov 12, 2025

🟡 Low to no impact. No changes required. I think it's unlikely but some tests may fail.

💭 I'd suggest to run all changes in the feature branch against Kibana CI before merging to main. That way we'll know early if there are any unexpected issues.

Copy link
Contributor

@mgadewoll mgadewoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 The changes work as expected. That's a pretty neat user improvement 🎉

@acstll
Copy link
Contributor Author

acstll commented Nov 12, 2025

🟡 Low to no impact. No changes required. I think it's unlikely but some tests may fail.

💭 I'd suggest to run all changes in the feature branch against Kibana CI before merging to main. That way we'll know early if there are any unexpected issues.

that sounds like a good idea, will do 👍

@acstll acstll force-pushed the feat/super-date-picker-track-1-ms-1 branch from 9b13608 to e0802ae Compare November 13, 2025 09:18
@acstll acstll deleted the branch elastic:main November 14, 2025 16:05
@acstll acstll closed this Nov 14, 2025
@acstll acstll reopened this Nov 18, 2025
@acstll acstll changed the base branch from feat/super-date-picker-track-1-ms-1 to main November 18, 2025 11:45
@acstll acstll force-pushed the super-date-picker-forgiving-input branch from 36c3715 to dd67df6 Compare November 18, 2025 12:48
@acstll acstll force-pushed the super-date-picker-forgiving-input branch from b133434 to f469a97 Compare November 18, 2025 13:24
@elasticmachine
Copy link
Collaborator

elasticmachine commented Nov 18, 2025

💛 Build succeeded, but was flaky

Failed CI Steps

History

cc @acstll

@elasticmachine
Copy link
Collaborator

elasticmachine commented Nov 18, 2025

💚 Build Succeeded

History

cc @acstll

@acstll acstll merged commit 6bea903 into elastic:main Nov 19, 2025
7 checks passed
mgadewoll added a commit to elastic/kibana that referenced this pull request Dec 2, 2025
- `@elastic/eui`: `v109.1.0` ⏩ `v109.2.0`
- `@elastic/eui-theme-borealis`: `v5.0.0` ⏩ `v5.1.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

---

## Changes

- Only snapshot updates related to EuiPopover, ToolTip and Table changes
(see below)

## Package updates

### `@elastic/eui` v109.2.0

- Updated `EuiFlexItem` to fall back to `grow={true}` if invalid values
for `grow` are passed
([#9228](elastic/eui#9228))
- Updated shared button styles in `useEuiButtonColorCSS` to use
`euiDisabledSelector`
([#9226](elastic/eui#9226))
- Added `euiTextTruncateCSS` Emotion style utility
([#9231](elastic/eui#9231))
- Added `hasBackground` prop on `EuiTable`, `EuiBasicTable` and
`EuiInMemoryTable` ([#9224](elastic/eui#9224))
- Added component token `components.tableFooterBackground`
([#9224](elastic/eui#9224))
- Updated the color of mobile table header cells to use
`colors.textSubdued` ([#9224](elastic/eui#9224))
- Updated `EuiSuperDatePicker` to show a tooltip with the full range
details when the button displays a pretty duration e.g. "Last 15
minutes" ([#9221](elastic/eui#9221))
- Updated `EuiPopover` default prop values of `hasArrow`, `position` and
`offset`: ([#9218](elastic/eui#9218))
  - Changed `hasArrow` to `false`
  - Changed `position` to `downLeft`
  - Changed `offset` to `4` when `hasArrow=false`
- Updated `EuiInputPopover` `offset` default value to `2`
([#9218](elastic/eui#9218))
- Updated `EuiTourStep` to not apply `hasArrow=true` by default when
`decoration="none"` ([#9218](elastic/eui#9218))
- Updated `EuiSuperDatePicker` to have a more forgiving manual input for
absolute dates. ([#9199](elastic/eui#9199))

**Bug fixes**

- Updated EuiButtonGroup disabled style selectors to use
`euiDisabledSelector` to ensure high contrast mode styles apply
correctly ([#9226](elastic/eui#9226))
- Updated `EuiSuperDatePicker` to ensure its pretty format button dates
are truncated correctly
([#9231](elastic/eui#9231))
- Fixed a visual bug for mobile table action buttons that causes
shifting positions when changing color mode
([#8231](elastic/eui#8231))
([#9224](elastic/eui#9224))

**Accessibility**

- Improved the navigation of sibling `EuiToolTip` anchor elements in
NVDA browse mode by adding an `id` to ensure they are unique
([#9208](elastic/eui#9208))

### `@elastic/eui-theme-borealis` v5.1.0

- Added component token `components.tableFooterBackground`
([#9224](elastic/eui#9224))

---------

Co-authored-by: Jorge Sanz <[email protected]>
Co-authored-by: Lene Gadewoll <[email protected]>
NicholasPeretti pushed a commit to NicholasPeretti/kibana that referenced this pull request Dec 2, 2025
- `@elastic/eui`: `v109.1.0` ⏩ `v109.2.0`
- `@elastic/eui-theme-borealis`: `v5.0.0` ⏩ `v5.1.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

---

## Changes

- Only snapshot updates related to EuiPopover, ToolTip and Table changes
(see below)

## Package updates

### `@elastic/eui` v109.2.0

- Updated `EuiFlexItem` to fall back to `grow={true}` if invalid values
for `grow` are passed
([elastic#9228](elastic/eui#9228))
- Updated shared button styles in `useEuiButtonColorCSS` to use
`euiDisabledSelector`
([elastic#9226](elastic/eui#9226))
- Added `euiTextTruncateCSS` Emotion style utility
([elastic#9231](elastic/eui#9231))
- Added `hasBackground` prop on `EuiTable`, `EuiBasicTable` and
`EuiInMemoryTable` ([elastic#9224](elastic/eui#9224))
- Added component token `components.tableFooterBackground`
([elastic#9224](elastic/eui#9224))
- Updated the color of mobile table header cells to use
`colors.textSubdued` ([elastic#9224](elastic/eui#9224))
- Updated `EuiSuperDatePicker` to show a tooltip with the full range
details when the button displays a pretty duration e.g. "Last 15
minutes" ([elastic#9221](elastic/eui#9221))
- Updated `EuiPopover` default prop values of `hasArrow`, `position` and
`offset`: ([elastic#9218](elastic/eui#9218))
  - Changed `hasArrow` to `false`
  - Changed `position` to `downLeft`
  - Changed `offset` to `4` when `hasArrow=false`
- Updated `EuiInputPopover` `offset` default value to `2`
([elastic#9218](elastic/eui#9218))
- Updated `EuiTourStep` to not apply `hasArrow=true` by default when
`decoration="none"` ([elastic#9218](elastic/eui#9218))
- Updated `EuiSuperDatePicker` to have a more forgiving manual input for
absolute dates. ([elastic#9199](elastic/eui#9199))

**Bug fixes**

- Updated EuiButtonGroup disabled style selectors to use
`euiDisabledSelector` to ensure high contrast mode styles apply
correctly ([elastic#9226](elastic/eui#9226))
- Updated `EuiSuperDatePicker` to ensure its pretty format button dates
are truncated correctly
([elastic#9231](elastic/eui#9231))
- Fixed a visual bug for mobile table action buttons that causes
shifting positions when changing color mode
([elastic#8231](elastic/eui#8231))
([elastic#9224](elastic/eui#9224))

**Accessibility**

- Improved the navigation of sibling `EuiToolTip` anchor elements in
NVDA browse mode by adding an `id` to ensure they are unique
([elastic#9208](elastic/eui#9208))

### `@elastic/eui-theme-borealis` v5.1.0

- Added component token `components.tableFooterBackground`
([elastic#9224](elastic/eui#9224))

---------

Co-authored-by: Jorge Sanz <[email protected]>
Co-authored-by: Lene Gadewoll <[email protected]>
JordanSh pushed a commit to JordanSh/kibana that referenced this pull request Dec 9, 2025
- `@elastic/eui`: `v109.1.0` ⏩ `v109.2.0`
- `@elastic/eui-theme-borealis`: `v5.0.0` ⏩ `v5.1.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

---

## Changes

- Only snapshot updates related to EuiPopover, ToolTip and Table changes
(see below)

## Package updates

### `@elastic/eui` v109.2.0

- Updated `EuiFlexItem` to fall back to `grow={true}` if invalid values
for `grow` are passed
([elastic#9228](elastic/eui#9228))
- Updated shared button styles in `useEuiButtonColorCSS` to use
`euiDisabledSelector`
([elastic#9226](elastic/eui#9226))
- Added `euiTextTruncateCSS` Emotion style utility
([elastic#9231](elastic/eui#9231))
- Added `hasBackground` prop on `EuiTable`, `EuiBasicTable` and
`EuiInMemoryTable` ([elastic#9224](elastic/eui#9224))
- Added component token `components.tableFooterBackground`
([elastic#9224](elastic/eui#9224))
- Updated the color of mobile table header cells to use
`colors.textSubdued` ([elastic#9224](elastic/eui#9224))
- Updated `EuiSuperDatePicker` to show a tooltip with the full range
details when the button displays a pretty duration e.g. "Last 15
minutes" ([elastic#9221](elastic/eui#9221))
- Updated `EuiPopover` default prop values of `hasArrow`, `position` and
`offset`: ([elastic#9218](elastic/eui#9218))
  - Changed `hasArrow` to `false`
  - Changed `position` to `downLeft`
  - Changed `offset` to `4` when `hasArrow=false`
- Updated `EuiInputPopover` `offset` default value to `2`
([elastic#9218](elastic/eui#9218))
- Updated `EuiTourStep` to not apply `hasArrow=true` by default when
`decoration="none"` ([elastic#9218](elastic/eui#9218))
- Updated `EuiSuperDatePicker` to have a more forgiving manual input for
absolute dates. ([elastic#9199](elastic/eui#9199))

**Bug fixes**

- Updated EuiButtonGroup disabled style selectors to use
`euiDisabledSelector` to ensure high contrast mode styles apply
correctly ([elastic#9226](elastic/eui#9226))
- Updated `EuiSuperDatePicker` to ensure its pretty format button dates
are truncated correctly
([elastic#9231](elastic/eui#9231))
- Fixed a visual bug for mobile table action buttons that causes
shifting positions when changing color mode
([elastic#8231](elastic/eui#8231))
([elastic#9224](elastic/eui#9224))

**Accessibility**

- Improved the navigation of sibling `EuiToolTip` anchor elements in
NVDA browse mode by adding an `id` to ensure they are unique
([elastic#9208](elastic/eui#9208))

### `@elastic/eui-theme-borealis` v5.1.0

- Added component token `components.tableFooterBackground`
([elastic#9224](elastic/eui#9224))

---------

Co-authored-by: Jorge Sanz <[email protected]>
Co-authored-by: Lene Gadewoll <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants