platform icon indicating copy to clipboard operation
platform copied to clipboard

TabSheet component

Open rolfsmeds opened this issue 3 years ago • 0 comments

Description

A container component with tabs for switching between different content, based on vaadin-tabs.

Rationale

TabSheet has been one of the most requested missing components compared to V7/8. Even developers who have no pre-V10 experience have complained about the boilerplate required to implement content switching based on Tabs. Introducing this component will migrations from V7/8 easier and provide a much improved DX for building tabsheets in V23+.

Acceptance criteria

  • [ ] Uses vaadin-tabs for the tabs
  • [ ] Prefix and suffix slots on both sides of the tabs (for content like "Add tab" buttons)
  • [ ] A11y through appropriate ARIA roles etc (https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-automatic)
  • [ ] Supports all Tabs theme variants, and adds a variant for bordered content panels.
  • [ ] WC API based on a <vaadin-tabsheet> custom element.
  • [ ] Flow API based on a TabSheet class (similar to Accordion)

General criteria

  • [x] APIs reviewed
  • [ ] UX/DX tests in Alpha
  • [ ] Documentation: (as part of Tabs documentation)
  • [ ] How to test?
  • [ ] Limitations:

Links

  • Discussions and API design: https://github.com/vaadin/platform/discussions/3175
  • Feature request issue: https://github.com/vaadin/web-components/issues/1000

rolfsmeds avatar Aug 05 '22 07:08 rolfsmeds