quarto-dev / quarto-dev/quarto-cli

Allow for vertical tabset panel

Open
#6,255 2 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement tabsets
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Discussed in https://github.com/quarto-dev/quarto-cli/discussions/3963

Originally posted by kbvernon January 13, 2023
So I don't come off as demanding, let me start off by saying Quarto is awesome. I'm very grateful for all the work you all put in to developing it. OK, so now for the FR.

tabby.js allows for vertical tabsets, you just have to set the display to grid. Would be nice if this could be implemented in Quarto. Here's some css based on the suggestion from the author of tabby:


@media (min-width: 30em) {

  .panel-tabset {
     display: grid;
     grid-gap: 2em;
     grid-template-columns: 25% 75%;
  }
  
  .panel-tabset-tabby {
     border-bottom: none !important;
     border-right: 1px solid #bbb; 
  }
  
  .panel-tabset [role=tab][aria-selected=true] {
     background-color: transparent;
     border: 1px solid #bbb !important;
  }
  
  h3 {
     margin-top: 0;
  }
  
}

Maybe this could be its own css class for use in Quarto, something like .panel-tabset-vertical? Would also be useful being able to set the relative column widths like:

::: {.panel-tabset-vertical columns="25% 75%"}
### First Tab

Thanks!

* Original discussion about this FR is over at RStudio Community.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with discussion #3963 and the linked RStudio Community thread, then inspect the existing panel-tabset implementation and its Tabby.js/CSS behavior. The proposed scope is a vertical tabset option, potentially using a panel-tabset-vertical class and configurable columns such as 25% 75%; done should include working vertical panels without breaking the existing layout.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, javascript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.