Breadcrumb

v0.0.10

v0.0.10StableComponentStatelessApache-2.0
Installation mix mishka.ui.gen.component breadcrumb
Source View Source

Overview of the Phoenix and LiveView Breadcrumb Component

The Mishka Chelekom breadcrumb component is a Phoenix LiveView component that allows developers to create dynamic and customizable breadcrumbs, perfect for enhancing navigation within applications. It offers flexibility in layout, allowing for easy adjustment of size, color, and positioning, ensuring a polished and professional look.

Overview of the Phoenix and LiveView Breadcrumb Component

This Phoenix LiveView component also supports adding icons and separators, making it ideal for enhancing both the visual appeal and clarity of navigation. With its responsive design and ease of use, this breadcrumb component improves navigation and user experience.

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

heex
<.breadcrumb>
  <:item>item 1</:item>
  <:item>item 2</:item>
  <:item>item 3</:item>
  <:item>item 4</:item>
  <:item>item 5</: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

heex
<.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

heex
<!-- 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

heex
<.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

heex
<.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

heex
<.breadcrumb separator_text="_" separator_text_class="">
  <:item>Mishka Chelekom</:item>
  <:item>Image</:item>
  <:item>Gallery</:item>
</.breadcrumb>