Pular para o conteúdo principal

Referência da API

Núcleo: TreeNode<TMetadata>​

interface TreeNode<TMetadata = unknown> {
id: string;
name: string;
order?: number;
children?: TreeNode<TMetadata>[];
metadata?: TMetadata;
}

Adaptadores​

buildOpenApiTree(document, options?)​

Cria uma árvore de navegação OpenAPI.

OpçãoTipoPadrãoDescrição
showInternalbooleanfalseMostra nós marcados com x-internal ou x-scalar-ignore quando ativado
showComponentsbooleantrueMostra a seção de componentes
showWebhooksbooleantrueMostra webhooks
defaultExpandDepthnumber2Profundidade de expansão padrão

Prioridade de navegação: tags aninhadas nativas do OAS 3.2 → x-tagGroups → tags planas.

buildSchemaTree(schema, options?)​

OpçãoTipoPadrãoDescrição
maxDepthnumber8Profundidade máxima de aninhamento
showDeprecatedbooleantrueMostra propriedades obsoletas
expandCombinatorsbooleantrueExpande oneOf/anyOf/allOf
showArrayItemsbooleantrueExpande itens de arrays

buildDocTree(document, options?)​

Árvore de documentação no estilo Stripe em que cada operação se expande para mostrar parâmetros, corpo da requisição e respostas.

Componente React <Tree />​

Propriedades principais​

PropriedadeTipoPadrãoDescrição
nodesTreeNode[]obrigatórioNós raiz a renderizar
onSelect(node) => void—Chamado quando um nó é selecionado
searchablebooleanfalseMostra o campo de busca
defaultExpandDepthnumber1Profundidade inicial de expansão
showExpandAllbooleanfalseControle para expandir ou recolher tudo
draggablebooleanfalseAtiva a reordenação por arrastar e soltar
onReorder(result: ReorderResult) => void—Chamado ao reordenar dentro do mesmo pai
onMove(nodes, movedNode, targetParentId) => void—Chamado ao mover entre níveis
canDrag(node) => boolean—Controla quais nós podem ser arrastados
canDrop(dragged, target, position) => boolean—Controla os destinos de soltura permitidos
contextMenuItems(node) => ContextMenuItem[]—Itens do menu de contexto
onPatch(ops, context) => void—Operações de patch RFC 6902 ao reordenar
maxHeightnumber | string—Altura máxima antes de ativar a rolagem
size"xs" | "sm" | "md""sm"Variante de tamanho

Controle imperativo (via ref)​

MétodoDescrição
expandAll()Expande todos os nós
collapseAll()Recolhe todos os nós
expandToDepth(depth)Expande até uma profundidade específica
getExpandedIds()Obtém os IDs dos nós expandidos
getSelectedNode()Obtém o nó selecionado
scrollToNode(id)Rola até um nó ficar visível
locateNode(predicate)Encontra um nó, expande seus ancestrais, seleciona-o e o leva à área visível

Utilitários do núcleo​

FunçãoDescrição
findNode(nodes, id)Encontra um nó pelo ID
findPath(nodes, id)Encontra o caminho completo desde a raiz
getLeaves(nodes)Obtém todos os nós folha
countNodes(nodes)Conta todos os nós
filterTree(nodes, { query })Filtra pela busca
flattenTree(nodes)Converte em lista linear em pré-ordem
updateNode(nodes, id, updater)Atualiza um nó sem modificar o original
removeNode(nodes, id)Remove um nó sem modificar o original