Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy. The tab bar contains the tab components.
This module concerns the tab items. If you are looking for information about the tab bar container, refer to Material.TabBar.
import Material.Tab as Tab
import Material.TabBar as TabBar
type Msg
= TabClicked Int
main =
TabBar.tabBar TabBar.config
[ Tab.tab
(Tab.config
|> Tab.setActive True
|> Tab.setOnClick (TabClicked 0)
)
{ label = "Tab 1", icon = Nothing }
, Tab.tab
(Tab.config |> Tab.setOnClick (TabClicked 1))
{ label = "Tab 2", icon = Nothing }
]Default configuration of a tab
Specify a message when the user clicks a tab
Specify whether the tab is active
Specify additional attributes
Tab constructor
Content of a tab
Material Icon
Tab.tab Tab.config
{ label = "Add to favorites"
, icon = Just (Tab.icon "favorite")
}Icon type
To mark a tab as active, set its setActive configuration option to True.
Tab.tab (Tab.config |> Tab.setActive True)This library natively supports Material Icon, however you may also include SVG or custom icons such as FontAwesome.
Custom icon
Tab.tab Tab.config
{ label = "Font Awesome"
, icon =
Just
(Tab.customIcon Html.i
[ class "fab fa-font-awesome" ]
[]
)
}SVG icon
Tab.tab Tab.config
{ label = "Tab"
, icon =
Just
(Tab.svgIcon
[ Svg.Attributes.viewBox "…" ]
[-- …
]
)
}
Configuration of a tab