Layout
Splitter
Painéis com uma divisória entre cada par que os redimensiona, arrastando ou pelo teclado, respeitando o mínimo de cada painel.
Testado com WAI-ARIA
Importação
main.ts
import { Splitter } from '@vitral/vue';Horizontal
Três painéis, cada um com min-size 10. Os painéis mostram o próprio tamanho, vindo do evento resize.
25%
50%
25%
Vertical
layout="vertical" empilha os painéis; as setas passam a ser Up e Down.
top
bottom (min-size 20)
Aninhado
Um splitter dentro de um painel o preenche: um explorador ao lado de um editor, sobre um terminal.
explorer
editor
terminal
API
Lido de packages/vue/src/components/Splitter/types.ts, então diz o que o componente aceita de fato.
Props
| Nome | Tipo | Descrição |
|---|---|---|
| layout | 'horizontal' | 'vertical' | `horizontal` (o padrão) põe os painéis lado a lado; `vertical` os empilha e precisa de uma altura. |
| gutterSize | number | Espessura do divisor em pixels. O padrão é o token `splitter.gutter.size`. |
| step | number | Pontos percentuais que uma seta move um divisor. |
| as | string | Component | — |
Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.
Emits
| Evento | Payload | Descrição |
|---|---|---|
| resizestart | event: SplitterResizeEvent | — |
| resize | event: SplitterResizeEvent | — |
| resizeend | event: SplitterResizeEvent | — |
Slots
| Nome | Props do slot | Descrição |
|---|---|---|
| default | — | `SplitterPanel`s; qualquer outra coisa é deixada de fora. |