Skip to content

BottomTabs ​

Mobile bottom nav bar or floating dock

The main sections of a phone-sized app, three to five of them, in reach of the thumb. On wide screens use a SidebarNav or a top bar instead; for switching views inside one page, Tabs.

Basic
home
dock variant, inline:
  • bar is fixed to the bottom and pads itself for the home indicator (--bless-safe-bottom); leave the same room at the bottom of the page so nothing hides under it. dock floats as an icon strip.
  • href makes a tab a link (through your router, see Install); the active one has aria-current="page".
  • A badge is read with its tab ("Inbox, 3 new"); badgeLabel sets the word.

Usage ​

ts
import { BlessBottomTabs } from "blessing-ui";

API ​

Props

NameTypeDefaultDescription
items*BlessBottomTab[]—
variant"bar" | "dock""bar"bar = full-width fixed bottom nav; dock = floating icon strip
inlineboolean—render in place instead of fixed to the viewport (docs / previews)
labelstring"Primary"
badgeLabelstring"new"read after a tab with a badge: a count becomes "3 new", `true` becomes "new"
modelValuestring—

Events

NamePayloadDescription
select[item: BlessBottomTab, e: Event]
update:modelValue[value: string | undefined]

Slots

NameScopeDescription
icon{ item: BlessBottomTab; }

Released under the MIT License. Character names and artwork belong to their owners.