Toolbar is a fixed area at the bottom (or top) of a screen that contains navigation elements. Toolbar does not have any parts, just plain links inside
There are following components included:
Toolbar
Name | Type | Default | Description |
---|---|---|---|
bgClassName | string | Additional class to add on Toolbar's "background" element | |
colors | object | Object with Tailwind CSS colors classes | |
colors.bgIos | string | 'bg-gradient-to-t from-ios-light-surface to-transparent dark:from-ios-dark-surface/50' | |
colors.bgMaterial | string | 'bg-md-light-surface-2 dark:bg-md-dark-surface-2' | |
colors.tabbarHighlightBgIos | string | '' | |
colors.tabbarHighlightBgMaterial | string | 'bg-md-light-primary dark:bg-md-dark-primary' | |
component | string | 'div' | Component's HTML Element |
innerClassName | string | Additional class to add on Toolbar's "inner" element | |
outline | boolean | undefined | Material theme only: Renders outer hairlines (borders) |
tabbar | boolean | false | Enables tabbar, same as using |
tabbarIcons | boolean | false | Enables tabbar with icons, same as using |
tabbarLabels | boolean | false | Enables tabbar with labels, same as using |
top | boolean | false | Enables top toolbar, in this case it renders border on shadows on opposite sides |
import React, { useState } from 'react';import {Page,Navbar,NavbarBackLink,Toolbar,Link,Block,Button,ToolbarPane,} from 'konsta/react';export default function ToolbarPage() {const [isTop, setIsTop] = useState(false);return (<Page className="flex flex-col"><Navbartitle="Toolbar"/>{isTop && (<ToolbartopclassName={`left-0 ios:top-safe-15 ios:mt-1 material:top-safe-16 sticky w-full`}><ToolbarPane><Link>Link 1</Link><Link>Link 2</Link></ToolbarPane><ToolbarPane><Link>Link 3</Link></ToolbarPane></Toolbar>)}<Block strong inset className="space-y-4 mb-0 shrink-0"><p>Toolbar supports both top and bottom positions. Click the followingbutton to change its position.</p><p><ButtonroundedonClick={() => {setIsTop(!isTop);}}>Toggle Toolbar Position</Button></p></Block><Block strong inset className="space-y-4 shrink-0"><p>Mauris fermentum neque et luctus venenatis. Vivamus a sem rhoncus,ornare tellus eu, euismod mauris. In porta turpis at semper convallis.Duis adipiscing leo eu nulla lacinia, quis rhoncus metus condimentum.Etiam nec malesuada nibh. Maecenas quis lacinia nisl, vel posueredolor. Vestibulum condimentum, nisl ac vulputate egestas, neque enimdignissim elit, rhoncus volutpat magna enim a est. Aenean sit ametligula neque. Cras suscipit rutrum enim. Nam a odio facilisis,elementum tellus non, tortor. Pellentesque felis eros, dictum vitaelacinia quis, lobortis vitae ipsum. Cras vehicula bibendum lorem quisimperdiet.</p><p>In hac habitasse platea dictumst. Etiam varius, ante vel ornarefacilisis, velit massa rutrum dolor, ac porta magna magna lacinianunc. Curabitur cursus laoreet. Aenean vel tempus augue. Pellentesquein imperdiet nibh. Mauris rhoncus nulla id sem suscipit volutpat.Pellentesque ac arcu in nisi viverra pulvinar. Nullam nulla orci,bibendum sed ligula non, ullamcorper iaculis mi. In hac habitasseplatea dictumst. Praesent varius at nisl eu luctus. Cras aliquet portaest. Quisque elementum quis dui et consectetur. Cum sociis natoquepenatibus et magnis dis parturient montes, nascetur ridiculus mus. Sedsed laoreet purus. Pellentesque eget ante ante.</p><p>Duis et ultricies nibh. Sed facilisis turpis urna, ac imperdiet eratvenenatis eu. Proin sit amet faucibus tortor, et varius sem. Etiamvitae lacinia neque. Aliquam nisi purus, interdum in arcu sed,ultrices rutrum arcu. Nulla mi turpis, consectetur vel enim quis,facilisis viverra dui. Aliquam quis convallis tortor, quis semperligula. Morbi ullamcorper massa at accumsan. Etiam purus odio, posuerein ligula vitae, viverra ultricies justo. Vestibulum nec interdumnisi. Aenean ac consectetur velit, non malesuada magna. Sed pharetravehicula augue, vel venenatis lectus gravida eget. Curabitur lacustellus, venenatis eu arcu in, interdum auctor nunc. Nunc non metusneque. Suspendisse viverra lectus sed risus aliquet, vel accumsandolor feugiat.</p></Block>{!isTop && (<Toolbar className={`left-0 sticky bottom-0 w-full mt-auto`}><ToolbarPane><Link>Link 1</Link><Link>Link 2</Link></ToolbarPane><ToolbarPane><Link>Link 3</Link></ToolbarPane></Toolbar>)}</Page>);}