AAccordionTrigger of a collapsed
section, expands the section.
- keys:
- Enter
description: When focus is on an AAccordionTrigger of a collapsed
section, expands the section.
- keys:
- Tab
description: Moves focus to the next focusable element.
- keys:
- Shift + Tab
description: Moves focus to the previous focusable element.
- keys:
- ArrowDown
description: Moves focus to the next AAccordionTrigger when
orientation is vertical.
- keys:
- ArrowUp
description: Moves focus to the previous AAccordionTrigger when
orientation is vertical.
- keys:
- ArrowRight
description: Moves focus to the next AAccordionTrigger when
orientation is horizontal.
- keys:
- ArrowLeft
description: Moves focus to the previous AAccordionTrigger when
orientation is horizontal.
- keys:
- Home
description: When focus is on an AAccordionTrigger, moves focus to
the start AAccordionTrigger.
- keys:
- End
description: When focus is on an AAccordionTrigger, moves focus to
the last AAccordionTrigger.
name: keyboard-a-accordion
---
::
# Alert Dialog
::docs-component-example{name="a-alert-dialog"}
::
## Features
::docs-highlights
---
features:
- Focus is automatically trapped.
- Can be controlled or uncontrolled.
- Manages screen reader announcements with Title and
Description components.
- Esc closes the component automatically.
---
::
## Anatomy
Import all parts and piece them together.
```vue
AListboxItem, selects the
focused item.
- keys:
- ArrowDown
description: When focus is on AListboxItem, moves focus to the next
item.
- keys:
- ArrowUp
description: When focus is on AListboxItem, moves focus to the
previous item.
- keys:
- Home
description: Moves focus and highlight to the first item.
- keys:
- End
description: Moves focus and highlight to the last item.
- keys:
- Ctrl/Cmd + A
description: Select all the items.
name: keyboard-a-calendar
---
::
# Navigation Menu
::docs-component-example{name="a-navigation-menu"}
::
## Features
::docs-highlights
---
features:
- Can be controlled or uncontrolled.
- Flexible layout structure with managed tab focus.
- Supports submenus.
- Optional active item indicator.
- Full keyboard navigation.
- Exposes CSS variables for advanced animation.
- Supports custom timings.
---
::
## Anatomy
Import all parts and piece them together.
```vue
ANavigationMenuTrigger, opens
the content.
- keys:
- Tab
description: Moves focus to the next focusable element.
- keys:
- ArrowDown
description: When horizontal and focus is on an open
ANavigationMenuTrigger, moves focus into
ANavigationMenuContent. ANavigationMenuTrigger or
ANavigationMenuLink.
- keys:
- ArrowUp
description: Moves focus to the previous
ANavigationMenuTrigger or
ANavigationMenuLink.
- keys:
- ArrowRight
- ArrowLeft
description: When vertical and focus is on an open
ANavigationMenuTrigger, moves focus into its
ANavigationMenuContent. ANavigationMenuTrigger or
ANavigationMenuLink.
- keys:
- Home
- End
description: Moves focus to the first/last
ANavigationMenu.Trigger or
ANavigationMenu.Link.
- keys:
- Esc
description: Closes open ANavigationMenu.Content and moves
focus to itsANavigationMenu.Trigger.
name: keyboard-a-navigation-menu
---
::
# Number Field
::docs-component-example{name="a-number-field"}
::
## Features
::docs-highlights
---
features:
- Full keyboard navigation.
- Can be controlled or uncontrolled.
- Support button hold and wheel event.
- Support numbering systems in different locale.
- Customizable formatting.
---
::
::code-group{sync="pm"}
```bash [pnpm]
pnpm add @internationalized/number
```
```bash [npm]
npm install @internationalized/number
```
```bash [bun]
bun add @internationalized/number
```
::
## Anatomy
Import all parts and piece them together.
```vue
min is provided)
- keys:
- End
description: Set value to maximum (if max is provided)
name: keyboard-a-number-field
---
::
# Pagination
::docs-component-example{name="a-pagination"}
::
## Features
::docs-highlights
---
features:
- Enable quick access to first, or last page
- Enable to show edges constantly, or not
---
::
### Anatomy
Import all parts and piece them together.
```vue
APopoverTrigger.
name: keyboard-a-popover
---
::
## Custom APIs
Create your own API by abstracting the primitive parts into your own component.
#### Abstract the arrow and set default configuration
This example abstracts the `APopoverArrow` part and sets a default `sideOffset` configuration.
#### Usage
```vue
ATreeItem, selects the focused item.
- keys:
- ArrowDown
description: When focus is on ATreeItem, moves focus to the next item.
- keys:
- ArrowUp
description: When focus is on ATreeItem, moves focus to the previous item.
- keys:
- ArrowRight
description: When focus is on a closed ATreeItem (node), it opens
the node without moving focus. When on an open node, it moves focus to the
first child node. When on an end node, it does nothing.
- keys:
- ArrowLeft
description: When focus is on an open ATreeItem (node), closes the
node. When focus is on a child node that is also either an end node or a
closed node, moves focus to its parent node. When focus is on a root node
that is also either an end node or a closed node, does nothing.
- keys:
- Home
- PageUp
description: Moves focus first ATreeItem
- keys:
- End
- PageDown
description: Moves focus last ATreeItem
name: keyboard-a-tree
---
::
# Config Provider
::docs-highlights
---
features:
- Enables all primitives to inherit global reading direction.
- Enables changing the behavior of scroll body when setting body lock.
- Much more controls to prevent layout shifts.
---
::
## Anatomy
Import the component.
```vue
Conditional to mount or unmount the child element. Similar to
v-if
Force the element to render all the time.\n\nUseful for
programmatically render grandchild component with the exposed
present
Event handler called when the enter animation has started
type: CustomEvent - name: after-enter description:Event handler called when the enter animation has finished
type: CustomEvent - name: leave description:Event handler called when the leave animation has started
type: CustomEvent - name: after-leave description:Event handler called when the leave animation has finished
type: CustomEvent --- :: ::tip Read our [Animation Guide](https://akar.vinicunca.dev/docs/akar/guides/animation) to learn more about implementing animations with Presence component. :: ## Example ```vue {2,4-5}