Skip to content
Draft
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3abe49d
feat: add DBBreadcrumb component with documentation and examples for …
sarahbrng Nov 7, 2025
7027bea
feat: enhance DBBreadcrumb with vertical centering and className sup…
sarahbrng Nov 7, 2025
d2a2684
feat: add separator prop to DBBreadcrumb component with support for c…
sarahbrng Nov 7, 2025
346b8c1
style(breadcrumb): apply stylelint --fix to breadcrumb.scss
sarahbrng Nov 7, 2025
eef67c0
fix: correct import path for Breadcrumb component in navigation-items.ts
sarahbrng Nov 7, 2025
a1fa7a5
fix: update import path for breadcrumb styles in HTML documentation
sarahbrng Nov 7, 2025
6ea38b3
fix: update import statement for breadcrumb styles in HTML documentation
sarahbrng Nov 7, 2025
95622a2
auto update snapshots (#5426)
github-actions[bot] Nov 7, 2025
7434f6a
Merge branch 'main' into 1309-umsetzung-der-komponente-im-code-anhand…
mfranzke Nov 17, 2025
27840dc
refactor: added item to navigation components
mfranzke Nov 17, 2025
8b7ceb5
feat: implement collapsible breadcrumb component with ellipsis support
sarahbrng Nov 19, 2025
27a25c7
feat: add breadcrumb and breadcrumb-item components with icon support
sarahbrng Nov 21, 2025
5b4142b
feat: allow link as last element and always set aria-current for last…
michaelmkraus Nov 24, 2025
21946d5
feat: allow link as last element also for collapsed breadcrumb
michaelmkraus Nov 24, 2025
da09e67
feat: removed redundant role attribute for breadcrumb list
michaelmkraus Nov 24, 2025
fa03fa6
feat: add type for AriaCurrent
michaelmkraus Nov 24, 2025
4abd5ee
feat: use helper fur rendering breadcrumb entries as link or span
michaelmkraus Nov 24, 2025
2797b10
feat: add aria-expanded property, tooltip and aria-controls for ellip…
michaelmkraus Nov 25, 2025
2567f33
feat: make id of breadcrumb list inline to work with mitosis
michaelmkraus Nov 25, 2025
925b991
feat: move logic of helper-function back into if-else-branches to fix…
michaelmkraus Nov 25, 2025
3ec884e
feat: make aria-label configurable via props
michaelmkraus Nov 25, 2025
0bfc85e
feat: adapt vue component to match new aria attributes
michaelmkraus Nov 25, 2025
c5bff48
feat: adapt angular component to match new aria attributes
michaelmkraus Nov 25, 2025
25385ec
feat: use configurable aria/label in angular breadcrumb
michaelmkraus Nov 25, 2025
bfc11a7
feat: add menu for collapsed breadcrumb
michaelmkraus Nov 25, 2025
bec829c
feat: use unique ids for for aria-controls
michaelmkraus Nov 26, 2025
66a2c7f
feat: pass id to component
michaelmkraus Nov 26, 2025
e73fbe1
feat: update package versions and adjust import paths for local devel…
sarahbrng Nov 27, 2025
03427d2
Revert "feat: update package versions and adjust import paths for loc…
sarahbrng Nov 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
- main:
- heading "DBBreadcrumb" [level=1]
- link "Size"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- link "Separator"
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: ›
- link "Category"
- listitem: › Current Page
- navigation "breadcrumb":
- list:
- listitem:
- link "Home"
- listitem:
- text: /
- link "Category"
- listitem: / Current Page
28 changes: 28 additions & 0 deletions packages/components/scripts/post-build/components.ts
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,34 @@ export const getComponents = (): Component[] => [
{
name: 'brand'
},
{
name: 'breadcrumb',
overwrites: {
stencil: [{ from: 'import { DBIcon } from "../icon";\n', to: '' }],
angular: [
// Fix TypeScript strict null checks by adding non-null assertions
// Within the conditional block where items() is checked, subsequent accesses need !
{ from: /items\(\)\.length/g, to: 'items()!.length' },
{ from: /items\(\)\[0\]/g, to: 'items()![0]' },
{ from: /items\(\)\.slice/g, to: 'items()!.slice' },
{ from: /maxItems\(\) >/g, to: 'maxItems()! >' },
{ from: /> maxItems\(\)/g, to: '> maxItems()!' },
{ from: /maxItems\(\) - 1/g, to: 'maxItems()! - 1' }
]
}
},
{
name: 'breadcrumb-item',
overwrites: {
stencil: [
{ from: 'import { DBIcon } from "../icon";\n', to: '' },
{
from: '{this.text || this.children}',
to: '{this.text ? this.text : <slot></slot>}'
}
]
}
},
{
name: 'input',
overwrites: {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { DBBreadcrumb } from '../../breadcrumb/index';
import { DBBreadcrumbItem } from '../index';

export default function BreadcrumbItem() {
return (
<>
<h1>DBBreadcrumbItem Documentation Examples</h1>

<h2>1. Basic Breadcrumb with Items</h2>
<DBBreadcrumb>
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem href="/category">Category</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">
Current Page
</DBBreadcrumbItem>
</DBBreadcrumb>

<h2>2. With Text Prop</h2>
<DBBreadcrumb>
<DBBreadcrumbItem href="/" text="Home" />
<DBBreadcrumbItem href="/products" text="Products" />
<DBBreadcrumbItem text="Details" ariaCurrent="page" />
</DBBreadcrumb>

<h2>3. Disabled Item</h2>
<DBBreadcrumb>
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem disabled>Disabled Item</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">Current</DBBreadcrumbItem>
</DBBreadcrumb>

<h2>4. Different Sizes</h2>
<DBBreadcrumb size="small">
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem href="/category">Category</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">
Current (Small)
</DBBreadcrumbItem>
</DBBreadcrumb>

<DBBreadcrumb size="medium">
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem href="/category">Category</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">
Current (Medium)
</DBBreadcrumbItem>
</DBBreadcrumb>

<h2>5. Different Separators</h2>
<DBBreadcrumb separator="chevron">
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem href="/category">Category</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">Chevron</DBBreadcrumbItem>
</DBBreadcrumb>

<DBBreadcrumb separator="slash">
<DBBreadcrumbItem href="/">Home</DBBreadcrumbItem>
<DBBreadcrumbItem href="/category">Category</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">Slash</DBBreadcrumbItem>
</DBBreadcrumb>

<h2>6. Custom Class</h2>
<DBBreadcrumb>
<DBBreadcrumbItem href="/" className="custom-breadcrumb-item">
Home with Custom Class
</DBBreadcrumbItem>
<DBBreadcrumbItem ariaCurrent="page">Current</DBBreadcrumbItem>
</DBBreadcrumb>
</>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { useDefaultProps, useMetadata, useRef } from '@builder.io/mitosis';
import { cls } from '../../utils';
import { DBIcon } from '../icon';
import type { DBBreadcrumbItemProps } from './model';

useMetadata({});

useDefaultProps<DBBreadcrumbItemProps>({});

export default function DBBreadcrumbItem(props: DBBreadcrumbItemProps) {
const _ref = useRef<HTMLLIElement | any>(null);

return (
<li ref={_ref} id={props.id} class={cls(props.className)}>
{props.href && !props.disabled ? (
<a href={props.href} aria-current={props.ariaCurrent}>
{props.icon && <DBIcon icon={props.icon} />}
{props.text ? props.text : props.children}
</a>
) : (
<span aria-current={props.ariaCurrent}>
{props.icon && <DBIcon icon={props.icon} />}
{props.text ? props.text : props.children}
</span>
)}
</li>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@charset "utf-8";

// Breadcrumb item styling is handled by the parent breadcrumb component
// This file exists to maintain the component structure
Loading
Loading