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

Vertical Tab variant #16305

Closed
1 task done
Tracked by #16853 ...
kingtraceyj opened this issue May 2, 2024 · 3 comments · Fixed by #16738
Closed
1 task done
Tracked by #16853 ...

Vertical Tab variant #16305

kingtraceyj opened this issue May 2, 2024 · 3 comments · Fixed by #16738
Assignees
Labels
adopter: product Work-stream that directly helps a Product team. component: tabs proposal: accepted This request has gone through triaging and we are accepting PR's against it. role: dev 🤖 type: enhancement 💡

Comments

@kingtraceyj
Copy link
Member

The problem

PLG getting started pattern needs a stacked tab variant

The solution

Specs so far (about 90% done)

Need to confirm:

  • Indicator size
  • Overflow gradient (Should be similar to scrollable modal or scrollable tabs)
  • Footer/Content area (should it be sticky and shouls we allow anything other than text and link?)
Vertical tab specs

Examples

No response

Application/PAL

PLG

Business priority

High Priority = pressing release

Available extra resources

No response

Code of Conduct

@kingtraceyj kingtraceyj added this to the 2024 Q2 milestone May 2, 2024
@github-project-automation github-project-automation bot moved this to Triage in Roadmap May 2, 2024
@github-project-automation github-project-automation bot moved this to Needs triage 🧐 in Carbon for IBM Products May 2, 2024
Copy link
Contributor

github-actions bot commented May 2, 2024

Thank you for submitting a feature request. Your proposal is open and will soon be triaged by the Carbon team.

If your proposal is accepted and the Carbon team has bandwidth they will take on the issue, or else request you or other volunteers from the community to work on this issue.

@tay1orjones
Copy link
Member

tay1orjones commented May 2, 2024

How this is different than the existing TabList

  • dismissable isn't allowed
  • A toggle for contained isn't needed for vertical tabs
  • fullWidth doesn't apply
  • The overflow scroll buttons don't need to be rendered
  • All the accompanying logic for the overflow scroll buttons isn't needed
  • iconSize isn't needed because icons aren't allowed

New pieces of vertical tabs that won't apply to the existing Tablist

  • New classnames will be needed to house the styling changes to support the vertical design spec
  • aria-orientation="vertical" needs to be placed on the tablist
  • Keyboard navigation needs to be modified to support changing tabs via arrow up or arrow down when in the vertical orientation

Since both of these lists add up to such a huge delta, I think we should try to approach this with a new component, TabListVertical, and not add an orientation="vertical" prop or vertical boolean prop to the existing TabList.

Ideas for the footer

If the footer meant to just be an empty box, we could explore providing a new component like TabListVerticalFooter that sets the proper classnames so it correctly displays whatever is provided through children. I'm not totally sure where it should be composed or sit in the DOM. If the footer is not a tab it would need to be outside/after the tablist in the DOM and tab order. Something like:

<Tabs>
  <TabListVertical aria-label="List of tabs">
    <Tab>Dashboard</Tab>
    <Tab>Monitoring</Tab>
    <Tab>Activity</Tab>
    <Tab disabled>Settings</Tab>
    <TabListVerticalFooter>
      <p>My custom content</p>
    </TabListVerticalFooter>
  </TabListVertical>
  <TabPanels>
    <TabPanel>Tab Panel 1</TabPanel>
    ...
  </TabPanels>
</Tabs>

If it's strictly limited to something like text and a link, maybe they could just be props:

<Tabs>
  <TabListVertical 
    footerText="something"
    footerLink={<Link/>}
    aria-label="List of tabs">
    ...
  </TabListVertical>
  <TabPanels>
    ...
  </TabPanels>
</Tabs>

@ariellalgilmore ariellalgilmore self-assigned this May 9, 2024
@ariellalgilmore ariellalgilmore moved this from Needs triage 🧐 to In progress in Carbon for IBM Products May 9, 2024
@sstrubberg sstrubberg moved this from Triage to Now in Roadmap May 28, 2024
@sstrubberg sstrubberg added the proposal: accepted This request has gone through triaging and we are accepting PR's against it. label May 28, 2024
@sstrubberg sstrubberg changed the title [Feature Request]: Add vertical/stacked tab variant Get Started: Vertical/Stacked Tab variant May 28, 2024
@ljcarot ljcarot changed the title Get Started: Vertical/Stacked Tab variant Vertical Tab variant Jun 5, 2024
@ariellalgilmore ariellalgilmore moved this from In progress to In review 👀 in Carbon for IBM Products Jun 24, 2024
@ljcarot
Copy link
Member

ljcarot commented Jun 24, 2024

@kingtraceyj is this issue ready to close or is there anything outstanding still?

@github-project-automation github-project-automation bot moved this from Now to Completed in Roadmap Jul 1, 2024
@github-project-automation github-project-automation bot moved this from In review 👀 to Done 🚀 in Carbon for IBM Products Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
adopter: product Work-stream that directly helps a Product team. component: tabs proposal: accepted This request has gone through triaging and we are accepting PR's against it. role: dev 🤖 type: enhancement 💡
Projects
Archived in project
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants