Document commands
Group frequent editing commands into one keyboard navigation region.
Components / Actions
A roving-focus group for buttons, links, separators, and toggle groups.
npx @getweini/cli@latest add toolbarGroup frequent editing commands into one keyboard navigation region.
Combine command buttons, separators, and navigation links.
<Toolbar aria-label="Editor tools">
<ToolbarButton>Undo</ToolbarButton>
<ToolbarSeparator />
<ToolbarButton>Redo</ToolbarButton>
</Toolbar>Arrow keys travel between enabled toolbar controls.
<script setup lang="ts">
import Toolbar from './components/ui/toolbar/Toolbar.vue'
import ToolbarButton from './components/ui/toolbar/ToolbarButton.vue'
import ToolbarSeparator from './components/ui/toolbar/ToolbarSeparator.vue'
</script>
<template>
<Toolbar aria-label="Editor commands">
<ToolbarButton @click="$emit('undo')">Undo</ToolbarButton>
<ToolbarButton @click="$emit('redo')">Redo</ToolbarButton>
<ToolbarSeparator />
<ToolbarButton @click="$emit('save')">Save</ToolbarButton>
</Toolbar>
</template>A ToolbarLink keeps native link navigation.
<script setup lang="ts">
import Toolbar from './components/ui/toolbar/Toolbar.vue'
import ToolbarButton from './components/ui/toolbar/ToolbarButton.vue'
import ToolbarLink from './components/ui/toolbar/ToolbarLink.vue'
</script>
<template>
<Toolbar aria-label="Project controls">
<ToolbarButton variant="ghost" @click="$emit('refresh')">Refresh</ToolbarButton>
<ToolbarLink href="/projects/history" variant="ghost">History</ToolbarLink>
</Toolbar>
</template>The most useful props, models, slots, events, and methods for this component.
| Name | Type | Default or requirement |
|---|---|---|
orientation | horizontal | vertical | horizontal |
dir | ltr | rtl | inherited |
disabled / loop | boolean | false / true |
Arrow keys follow orientation and direction; Home and End reach the edges and disabled controls are skipped.