[EuiSuperDatePicker] Time window "zoom in"#9325
Conversation
packages/eui/src/components/date_picker/super_date_picker/super_date_picker.stories.tsx
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.tsx
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.tsx
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.tsx
Outdated
Show resolved
Hide resolved
packages/website/docs/components/forms/date-and-time/super-date-picker.mdx
Outdated
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.tsx
Outdated
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.test.tsx
Outdated
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.test.tsx
Outdated
Show resolved
Hide resolved
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.test.tsx
Show resolved
Hide resolved
weronikaolejniczak
left a comment
There was a problem hiding this comment.
I tested the buttons in Storybook.
Zooming in works as expected!
✅ No regression to other functionality compared to prod
✅ When time window is 0, the buttons are correctly disabled and get enabled when I "zoom out"
✅ The tooltip on the "zoom in" says "Cannot zoom further in"
✅ I cannot use the buttons when the time window is invalid
I ran VRT locally and all tests passed (expect for EuiImage that I imagine is from main). And that leads me to think, don't we want to add VRT for the buttons?
packages/eui/src/components/date_picker/super_date_picker/time_window_buttons.tsx
Show resolved
Hide resolved
weronikaolejniczak
left a comment
There was a problem hiding this comment.
The functionality looks and works correctly. I have a bunch of doubts and nits regarding the code though. It's not much but I think it's worth discussing 🙏🏻 Thank you for the hard work, Arturo!
thanks for the amazing review @weronikaolejniczak 🙌 — I'll handle the feedback tomorrow first thing |
Co-authored-by: Weronika Olejniczak <32842468+weronikaolejniczak@users.noreply.github.com>
💚 Build SucceededHistory
cc @acstll |
💚 Build Succeeded
History
cc @acstll |
I added a VRT in f6b8968 — thanks for the catch while addressing the feedback, I also:
I think I replied to every comment. Thanks again for the diligent review @weronikaolejniczak 🙏 |
weronikaolejniczak
left a comment
There was a problem hiding this comment.
LGTM! 🟢 Thanks for addressing the code suggestions. 🙏🏻 Great job, Arturo!
Co-authored-by: Weronika Olejniczak <32842468+weronikaolejniczak@users.noreply.github.com>
`112.0.0` ⏩ `112.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 - Update `span_links_badge.tsx` conditional `onClick` props on `EuiBadge` to satisfy TypeScript 93d7fae - Update snapshots 24c2f9a ## Package updates ### `@elastic/eui` [`v112.1.0`](https://github.com/elastic/eui/releases/tag/v112.1.0) - Updated `timeline` icon glyph ([#9331](elastic/eui#9331)) - Updated `EuiContextMenu` panels to allow passing `data-test-subj`, `aria-label`, `className` and `css` props ([#9323](elastic/eui#9323)) - Added "zoom in" functionality to time window buttons in `EuiSuperDatePicker` ([#9325](elastic/eui#9325)) - Added `displayName` to `EuiButton`, `EuiButtonEmpty`, `EuiDescriptionList` and its sub-components, `EuiEmptyPrompt`, `EuiFlexGrid`, `EuiFlexItem`, `EuiIcon`, `EuiImage`, `EuiLoadingLogo`, `EuiPageSection`, `EuiPageSidebar`, `EuiPageTemplate` and its sub-components and `EuiPanel` ([#9324](elastic/eui#9324)) - Added `fill` prop (defaults to `false`) to `EuiBadge` component that controls whether the badge should use filled or non-filled (less intense) colors. By default, badges will now render as the non-filled variant. ([#9306](elastic/eui#9306)) - Updated EuiBadge design to have rounded corners and improved paddings ([#9302](elastic/eui#9302)) **Bug fixes** - Fixed non-virtualized `EuiSelectable` throwing SyntaxError when selecting an option ([#9326](elastic/eui#9326)) - Fixed an issue where `push` flyouts in a stacked layout calculated the content offset based on the hidden main flyout's width instead of the visible child flyout's width ([#9322](elastic/eui#9322)) ### @elastic/eui-theme-borealis [`v5.4.0`](https://github.com/elastic/eui/blob/16f9b31d753d963d7738049e7a176fcaf6e81e73/packages/eui-theme-borealis/changelogs/CHANGELOG_2026.md#v540) - Updated `badgeBackground` color token value to equal `backgroundFilledText` ([#9306](elastic/eui#9306)) ### @elastic/eui-docusaurus-theme [`v2.2.0`](https://github.com/elastic/eui/blob/16f9b31d753d963d7738049e7a176fcaf6e81e73/packages/docusaurus-theme/changelogs/CHANGELOG_2026.md#v220) - Added `extraFiles` prop to the `Demo` component. It allows to pass extra files that will be added to the Codesandbox instance. ([#9317](elastic/eui#9317)) - Updated the `IMPORT_REGEX` to include relative imports so that all imports are removed from the snippet. All imported references have to be passed to `Demo` in the `scope` prop. ([#9317](elastic/eui#9317)) --------- Co-authored-by: Tomasz Kajtoch <tomasz.kajtoch@elastic.co>
`112.0.0` ⏩ `112.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 - Update `span_links_badge.tsx` conditional `onClick` props on `EuiBadge` to satisfy TypeScript 93d7fae - Update snapshots 24c2f9a ## Package updates ### `@elastic/eui` [`v112.1.0`](https://github.com/elastic/eui/releases/tag/v112.1.0) - Updated `timeline` icon glyph ([elastic#9331](elastic/eui#9331)) - Updated `EuiContextMenu` panels to allow passing `data-test-subj`, `aria-label`, `className` and `css` props ([elastic#9323](elastic/eui#9323)) - Added "zoom in" functionality to time window buttons in `EuiSuperDatePicker` ([elastic#9325](elastic/eui#9325)) - Added `displayName` to `EuiButton`, `EuiButtonEmpty`, `EuiDescriptionList` and its sub-components, `EuiEmptyPrompt`, `EuiFlexGrid`, `EuiFlexItem`, `EuiIcon`, `EuiImage`, `EuiLoadingLogo`, `EuiPageSection`, `EuiPageSidebar`, `EuiPageTemplate` and its sub-components and `EuiPanel` ([elastic#9324](elastic/eui#9324)) - Added `fill` prop (defaults to `false`) to `EuiBadge` component that controls whether the badge should use filled or non-filled (less intense) colors. By default, badges will now render as the non-filled variant. ([elastic#9306](elastic/eui#9306)) - Updated EuiBadge design to have rounded corners and improved paddings ([elastic#9302](elastic/eui#9302)) **Bug fixes** - Fixed non-virtualized `EuiSelectable` throwing SyntaxError when selecting an option ([elastic#9326](elastic/eui#9326)) - Fixed an issue where `push` flyouts in a stacked layout calculated the content offset based on the hidden main flyout's width instead of the visible child flyout's width ([elastic#9322](elastic/eui#9322)) ### @elastic/eui-theme-borealis [`v5.4.0`](https://github.com/elastic/eui/blob/16f9b31d753d963d7738049e7a176fcaf6e81e73/packages/eui-theme-borealis/changelogs/CHANGELOG_2026.md#v540) - Updated `badgeBackground` color token value to equal `backgroundFilledText` ([elastic#9306](elastic/eui#9306)) ### @elastic/eui-docusaurus-theme [`v2.2.0`](https://github.com/elastic/eui/blob/16f9b31d753d963d7738049e7a176fcaf6e81e73/packages/docusaurus-theme/changelogs/CHANGELOG_2026.md#v220) - Added `extraFiles` prop to the `Demo` component. It allows to pass extra files that will be added to the Codesandbox instance. ([elastic#9317](elastic/eui#9317)) - Updated the `IMPORT_REGEX` to include relative imports so that all imports are removed from the snippet. All imported references have to be passed to `Demo` in the `scope` prop. ([elastic#9317](elastic/eui#9317)) --------- Co-authored-by: Tomasz Kajtoch <tomasz.kajtoch@elastic.co>
Summary
This PR adds a "zoom in" button to the time window feature in
EuiSuperDatePicker.It's hidden by default as per design decision. Can be enabled with a prop.
Why are we making this change?
To fulfill a request.
Screenshots
Impact to users
🟢 The new button being added is hidden by default. And for types, only a new optional prop was added.
QA
showTimeWindowButtonswithshowZoomIn="true"General checklist
@defaultif default values are missing) and playground toggles