Breadcrumbs
Breadcrumbs help users understand their current location within a website or application hierarchy and provide a quick way to navigate back to parent pages.
import {BreadcrumbsModule} from "@qualcomm-ui/angular/breadcrumbs"Overview
- The root element should be labeled with
aria-label="Breadcrumbs"to indicate that it's a breadcrumb navigation. - The first breadcrumb item is always the root item, and is typically reserved for the home page or base route of your application.
- The last breadcrumb item represents the current page.
- If the current page item is a link, apply
aria-current="page"to the<a q-breadcrumb-item-trigger>. - If the current page item should not navigate, omit the link trigger and apply
aria-current="page"to the breadcrumb item.
Examples
Links
Each item renders non-link content by default. For navigable items, provide an explicit <a q-breadcrumb-item-trigger> with href or routerLink. Leaving the trigger non-link is appropriate for the current page item.
<nav aria-label="Breadcrumbs" q-breadcrumbs-root>
<ol q-breadcrumbs-list>
<li q-breadcrumb-item>
<a q-breadcrumb-item-trigger routerLink="/">
<svg q-breadcrumb-item-icon qIcon="Home"></svg>
Home
</a>
</li>
<li q-breadcrumb-item>
<a q-breadcrumb-item-trigger routerLink="/components/overview">
Components
</a>
</li>
<li q-breadcrumb-item>
<a
aria-current="page"
q-breadcrumb-item-trigger
routerLink="/components/breadcrumbs"
>
Breadcrumbs
</a>
</li>
</ol>
</nav>
Emphasis (color)
Use the emphasis input to change the color of the breadcrumbs.
<nav aria-label="Breadcrumbs" emphasis="primary" q-breadcrumbs-root>
<ol q-breadcrumbs-list>
<li q-breadcrumb-item>
<a q-breadcrumb-item-trigger routerLink="/">
<svg q-breadcrumb-item-icon qIcon="Home"></svg>
Home
</a>
</li>
<li q-breadcrumb-item>
<a q-breadcrumb-item-trigger routerLink="/components/overview">
Components
</a>
</li>
<li aria-current="page" q-breadcrumb-item>Breadcrumbs</li>
</ol>
</nav>
Sizes
Three sizes are available via the size input: sm, md, and lg. The default size is md.
<nav aria-label="Breadcrumbs" q-breadcrumbs-root size="lg">
<ol q-breadcrumbs-list>
<li q-breadcrumb-item>
<a href="/" q-breadcrumb-item-trigger>
<svg q-breadcrumb-item-icon qIcon="Home"></svg>
Home
</a>
</li>
<li q-breadcrumb-item>
<a href="/components/overview" q-breadcrumb-item-trigger>
Components
</a>
</li>
<li aria-current="page" q-breadcrumb-item>Breadcrumbs</li>
</ol>
</nav>
Disabled Item
Use the disabled input to disable a breadcrumb item.
<nav aria-label="Breadcrumbs" q-breadcrumbs-root>
<ol q-breadcrumbs-list>
<li q-breadcrumb-item>
<a q-breadcrumb-item-trigger routerLink="/">
<svg q-breadcrumb-item-icon qIcon="Home"></svg>
Home
</a>
</li>
<li disabled q-breadcrumb-item>Components</li>
<li aria-current="page" q-breadcrumb-item>Breadcrumbs</li>
</ol>
</nav>
Overflow
Use the q-breadcrumb-overflow-item component to collapse intermediate breadcrumb items into a menu. The overflow trigger displays an ellipsis by default. Use the icon input to add an icon, or provide your own trigger via q-breadcrumb-overflow-trigger.
<li q-breadcrumb-overflow-item>
<a q-menu-item routerLink="/settings" value="settings">Settings</a>
<a q-menu-item routerLink="/settings/account" value="account">
Account
</a>
</li>
Tooltip
To provide additional context on hover, add a tooltip to a breadcrumb item by wrapping its trigger with a Tooltip and apply q-tooltip-trigger to it.
<nav aria-label="Breadcrumbs" q-breadcrumbs-root>
<ol q-breadcrumbs-list>
<li q-breadcrumb-item>
<div q-tooltip>
<a q-breadcrumb-item-trigger q-tooltip-trigger routerLink="/">
<svg q-breadcrumb-item-icon qIcon="Home"></svg>
Home
</a>
Navigate to home page
</div>
</li>
<li q-breadcrumb-item>
<div q-tooltip>
<a
q-breadcrumb-item-trigger
q-tooltip-trigger
routerLink="/components/overview"
>
Components
</a>
Browse all components
</div>
</li>
<li aria-current="page" q-breadcrumb-item>Breadcrumbs</li>
</ol>
</nav>
API
q-breadcrumbs-root
class'qui-breadcrumbs__root'data-size| 'sm'
| 'md'
| 'lg'
q-breadcrumbs-list
class'qui-breadcrumbs__list'q-breadcrumb-item
class'qui-breadcrumbs__item'data-disabledq-breadcrumb-item-icon
class'qui-breadcrumbs__item-icon'data-emphasis| 'primary'
| 'neutral'
data-size| 'sm'
| 'md'
| 'lg'
q-breadcrumb-item-trigger
class'qui-breadcrumbs__item-trigger'data-emphasis| 'primary'
| 'neutral'
data-size| 'sm'
| 'md'
| 'lg'
q-breadcrumb-item-separator
class'qui-breadcrumbs__separator'data-size| 'sm'
| 'md'
| 'lg'
q-breadcrumb-overflow-item
{
x: number
y: number
}
stringbooleanbooleanstringboolean'ltr' | 'rtl'
booleantrue, the component becomes
unresponsive to input and is visually dimmed to indicate its disabled state.() =>
| Node
| ShadowRoot
| Document
string| LucideIconData
| string
stringbooleanbooleanbooleanbooleanPositioningOptionsboolean| LucideIconData
| string
booleanbooleanbooleanKeyboardEventvoidCustomEvent<{
event?: E
}>
string| CustomEvent<{event?: E}>
| CustomEvent<{event?: E}>
{
href: string
node: HTMLAnchorElement
value: string
}
booleanCustomEvent<{
event?: E
}>
CustomEvent<{
originalIndex: number
originalLayer: HTMLElement
targetIndex: number
targetLayer: HTMLElement
}>
stringq-breadcrumb-overflow-trigger
stringclass'qui-breadcrumbs__item-trigger qui-breadcrumbs__overflow-trigger'data-emphasis| 'primary'
| 'neutral'
data-size| 'sm'
| 'md'
| 'lg'