Abas
Para mostrar o conteúdo com guias nos arquivos Markdown, você pode recorrer ao MDX. O Docusaurus fornece <Tabs> componentes fora da caixa.
import Tabs from '@theme/Tabs';import TabItem from '@theme/TabItem';
<Tabs  defaultValue="apple"  values={[    {label: 'Apple', value: 'apple'},    {label: 'Orange', value: 'orange'},    {label: 'Banana', value: 'banana'},  ]}>  <TabItem value="apple">This is an apple 🍎</TabItem>  <TabItem value="orange">This is an orange 🍊</TabItem>  <TabItem value="banana">This is a banana 🍌</TabItem></Tabs>;E você receberá o seguinte:
- Apple
 - Orange
 - Banana
 
info
Por padrão, as abas são renderizadas ansiosamente, mas é possível carregá-los preguiçosamente passando a propriedade lazy para o componente Tabs.
Exibindo uma aba padrão#
Defina a propriedade defaultValue no componente Tabs para o valor de rótulo de sua escolha para mostrar a aba correspondente por padrão.
Por exemplo, no exemplo acima, defaultValue="apple" força a aba Apple a ser aberta por padrão.
Se a propriedade defaultValue não é fornecida ou se refere a um valor não existente, apenas os cabeçalhos da aba aparecem até que o usuário clique em uma aba.
Sincronizando opções de guia#
Você pode querer que as escolhas do mesmo tipo de abas sincronizem entre si. Por exemplo, você pode querer fornecer diferentes instruções para usuários no Windows vs usuários no macOS, e você deseja alterar todas as abas de instruções específicas de SO em um clique. Para conseguir isso, você pode dar a todas as abas relacionadas a mesma propriedade groupId. Observe que fazer isso persistirá na escolha no localStorage e todas as <Tab> instâncias com o mesmo groupId serão atualizadas automaticamente quando o valor de uma delas for alterado. Note que groupID são globalmente do namespace.
<Tabs  groupId="operating-systems"  defaultValue="win"  values={[    {label: 'Windows', value: 'win'},    {label: 'macOS', value: 'mac'},  ]}><TabItem value="win">Use Ctrl + C to copy.</TabItem><TabItem value="mac">Use Command + C to copy.</TabItem></Tabs>
<Tabs  groupId="operating-systems"  defaultValue="win"  values={[    {label: 'Windows', value: 'win'},    {label: 'macOS', value: 'mac'},  ]}><TabItem value="win">Use Ctrl + V to paste.</TabItem><TabItem value="mac">Use Command + V to paste.</TabItem></Tabs>- Windows
 - macOS
 
- Windows
 - macOS
 
Para todos os grupos de abas que têm o mesmo groupId, os valores possíveis não precisam ser os mesmos. Se um grupo de guias com um valor escolhido não existe em outro grupo de tabulações com o mesmo groupId, o grupo de tabulações com o valor ausente não vai mudar a aba dele. Isso pode ser visto pelo seguinte exemplo. Tente selecionar Linux, e os grupos de abas acima não mudam.
<Tabs  groupId="operating-systems"  defaultValue="win"  values={[    {label: 'Windows', value: 'win'},    {label: 'macOS', value: 'mac'},    {label: 'Linux', value: 'linux'},  ]}>  <TabItem value="win">I am Windows.</TabItem>  <TabItem value="mac">I am macOS.</TabItem>  <TabItem value="linux">I am Linux.</TabItem></Tabs>- Windows
 - macOS
 - Linux
 
As opções de guia com diferentes groupIdnão interferem um com o outro:
<Tabs  groupId="operating-systems"  defaultValue="win"  values={[    {label: 'Windows', value: 'win'},    {label: 'macOS', value: 'mac'},  ]}><TabItem value="win">Windows in windows.</TabItem><TabItem value="mac">macOS is macOS.</TabItem></Tabs>
<Tabs  groupId="non-mac-operating-systems"  defaultValue="win"  values={[    {label: 'Windows', value: 'win'},    {label: 'Unix', value: 'unix'},  ]}><TabItem value="win">Windows is windows.</TabItem><TabItem value="unix">Unix is unix.</TabItem></Tabs>- Windows
 - macOS
 
- Windows
 - Unix
 
Personalizando abas#
Você pode querer personalizar a aparência de um determinado conjunto de guias. Para fazer isso, você pode passar a string na propriedade className e a classe CSS especificada será adicionada ao componente Tabs:
import Tabs from '@theme/Tabs';import TabItem from '@theme/TabItem';
<Tabs  className="unique-tabs"  defaultValue="apple"  values={[    {label: 'Apple', value: 'apple'},    {label: 'Orange', value: 'orange'},    {label: 'Banana', value: 'banana'},  ]}>  <TabItem value="apple">This is an apple 🍎</TabItem>  <TabItem value="orange">This is an orange 🍊</TabItem>  <TabItem value="banana">This is a banana 🍌</TabItem></Tabs>;- Apple
 - Orange
 - Banana