Breadcrumb
v0.0.10
mix mishka.ui.gen.component breadcrumb
How to use item slot
The item slot in the breadcrumb component enables you to create individual breadcrumb items with customizable attributes like icon, link, title, separator, and class. The link attribute allows navigation within a Phoenix application, using LiveView routing. The title attribute can be added to provide a standard HTML tooltip that appears when hovering over the item. Additionally, each item can include an optional icon, customize the separator between items, and apply specific CSS classes for additional styling. This flexibility allows for the creation of responsive and well-structured breadcrumb navigation.
How to use item slot
<.breadcrumb>
<:item>item 1</:item>
<:item>item 2</:item>
<:item>item 3</:item>
<:item>item 4</:item>
<:item>item 5</:item>
</.breadcrumb>Link Prop of Item Slot
The link prop in the item slot of the breadcrumb component allows you to define a path for the breadcrumb item. When set, it converts the breadcrumb item into a clickable link that navigates to the specified path. If the link prop is omitted, the item will be displayed as plain text. Additionally, by using the title attribute, you can add a title to the link for improved accessibility, providing context or additional information when users hover over the link.
Link Prop of Item Slot
<.breadcrumb>
<:item title="title" link="/path">Link1</:item>
<:item title="title" link="/path">Link2</:item>
<:item>No link</:item>
</.breadcrumb>Add icon to each item slot
The icon attribute in the item slot is optional and, by default, it is set to nil. This means no icon will appear unless you explicitly define one. However, when provided, the icon is displayed before the breadcrumb text, improving visual navigation. Additionally, you can add custom HTML content inside the item slot, offering flexibility to include any icon or visual element that suits your design.
Add icon to each item slot
<.breadcrumb>
<:item icon="hero-cloud">Item1</:item>
<:item icon="hero-circle-stack">Item2</:item>
<:item icon="hero-envelope">Item3</:item>
</.breadcrumb>Color prop
The color prop for the breadcrumb component offers a wide range of predefined color options to customize the breadcrumb’s appearance. You can choose from a variety of colors, including base, natural, primary, secondary, success, warning, danger, dark, white, info, silver, misc, and dawn.
Color prop
<!-- Note: The base color is the default color for breadcrumbs -->
<.breadcrumb>
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="natural">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="primary">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="dark">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="white">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="secondary">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="success">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="warning">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="danger">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="info">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="silver">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="misc">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb color="dawn">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>Size Prop
The size prop in the breadcrumb component offers several size options: extra_small, small, medium, large, and extra_large. These values control the font size, spacing between breadcrumb items, and the size of icons, providing flexibility in designing breadcrumbs to match your layout preferences.
Size Prop
<.breadcrumb size="extra_small">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb size="small">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb size="medium">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb size="large">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb size="extra_large">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>Separator icon Prop
The separator_icon prop in the breadcrumb component allows you to define a uniform separator, such as a hero icon, which will be applied between all breadcrumb items. You can also use the separator_icon_class prop to add custom CSS classes to the separator icon, allowing for further styling customization.
Separator icon Prop
<.breadcrumb separator_icon="hero-star" separator_icon_class="">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>
<.breadcrumb separator_icon="hero-x-mark">
<:item>Item 1</:item>
<:item>Item 2</:item>
<:item>Item 3</:item>
</.breadcrumb>Separator text Prop
The separator_text prop in the breadcrumb component allows you to define a uniform separator, any text or even spaces which will be applied between all breadcrumb items. You can also use the separator_text_class prop to add custom CSS classes to the separator text, allowing for further styling customization.
Separator text Prop
<.breadcrumb separator_text="_" separator_text_class="">
<:item>Mishka Chelekom</:item>
<:item>Image</:item>
<:item>Gallery</:item>
</.breadcrumb>Attributes
| Name | Type | Default | Values | Required | Description |
|---|---|---|---|---|---|
class
|
any
| — | — | No | Custom CSS class for additional styling |
items_wrapper_class
|
string
| — | — | No | Custom CSS class for additional styling |
id
|
string
| — | — | No | A unique identifier is used to manage state and interaction |
separator_icon
|
string
|
hero-chevron-right
| — | No | Determines a separator for items of an element |
separator_icon_class
|
string
|
rtl:rotate-180
| — | No | Custom CSS class for additional styling |
separator_text
|
string
| — | — | No | Determines a separator for items of an element |
separator_text_class
|
string
| — | — | No | Determines a separator for items of an element |
color
|
string
|
base
|
basenaturaldarkwhiteprimarysecondarysuccesswarningdangerinfosilvermiscdawn
| No | Determines color theme |
size
|
string
|
small
|
extra_smallsmallmediumlargeextra_large
| No | Determines the overall size of the elements, including padding, font size, and other items |
rest
|
global
| — | — | No | Global attributes can define defaults which are merged with attributes provided by the caller |
Slots
| Name | Required | Description |
|---|---|---|
item
| No | Specifies item slot of a breadcrumb |
inner_block
| No | Inner block that renders HEEx content |
Attributes of the item slot
| Name | Type | Default | Values | Required | Description |
|---|---|---|---|---|---|
icon
|
string
| — | — | No | Icon displayed alongside of an item |
link
|
string
| — | — | No | Renders a navigation, patch link or normal link |
title
|
string
| — | — | No | Renders a navigation, patch link or normal link |
class
|
any
| — | — | No | Custom CSS class for additional styling |
icon_class
|
string
| — | — | No | Custom CSS class for additional styling |
link_class
|
string
| — | — | No | Custom CSS class for additional styling |
Options
Each option takes one or more of its values, separated by commas.
| Option | Values |
|---|---|
--color
|
basenaturaldarkwhiteprimarysecondarysuccesswarningdangerinfosilvermiscdawn
|
--size
|
extra_smallsmallmediumlargeextra_large
|
--module
| A module name of your own |
What it generates
mix mishka.ui.gen.component breadcrumb