From 51913743b8b867f4dcc1899864b298f3f3b59603 Mon Sep 17 00:00:00 2001 From: svinod Date: Mon, 29 Jun 2026 11:28:22 +0200 Subject: [PATCH 1/3] fix: extend breadcrumb --- nx2/blocks/shared/breadcrumb/breadcrumb.css | 18 +++++++++++++++++- nx2/blocks/shared/breadcrumb/breadcrumb.js | 18 +++++++++++++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/nx2/blocks/shared/breadcrumb/breadcrumb.css b/nx2/blocks/shared/breadcrumb/breadcrumb.css index eb1a91730..1c5d80588 100644 --- a/nx2/blocks/shared/breadcrumb/breadcrumb.css +++ b/nx2/blocks/shared/breadcrumb/breadcrumb.css @@ -13,7 +13,7 @@ gap: 0; min-width: 0; font-family: var(--s2-font-family); - font-size: var(--s2-component-m-regular-font-size); + font-size: var(--nx-breadcrumb-font-size, var(--s2-component-m-regular-font-size)); line-height: var(--s2-component-m-regular-line-height); font-weight: var(--s2-component-m-regular-font-weight); color: var(--s2-gray-700); @@ -61,3 +61,19 @@ color: var(--s2-gray-800); font-weight: var(--s2-component-m-bold-font-weight); } + +::slotted([slot="leaf"]) { + display: inline-flex; + align-items: center; + flex-shrink: 0; +} + +.crumb-suffix { + display: flex; + align-items: center; + gap: var(--s2-spacing-75); +} + +.crumb-suffix.hide { + display: none; +} diff --git a/nx2/blocks/shared/breadcrumb/breadcrumb.js b/nx2/blocks/shared/breadcrumb/breadcrumb.js index ce7211ab2..fff279b3b 100644 --- a/nx2/blocks/shared/breadcrumb/breadcrumb.js +++ b/nx2/blocks/shared/breadcrumb/breadcrumb.js @@ -8,6 +8,7 @@ export default class NxBreadcrumb extends LitElement { static properties = { pathSegments: { type: Array, attribute: false }, baseUrl: { type: String, attribute: false }, + _hasSuffix: { state: true }, }; connectedCallback() { @@ -15,6 +16,13 @@ export default class NxBreadcrumb extends LitElement { this.shadowRoot.adoptedStyleSheets = [style]; } + firstUpdated() { + const slot = this.shadowRoot.querySelector('slot[name="suffix"]'); + slot.addEventListener('slotchange', () => { + this._hasSuffix = slot.assignedElements().length > 0; + }); + } + render() { const crumbs = pathSegmentsToCrumbs(this.pathSegments, { baseUrl: this.baseUrl }); if (!crumbs.length) return nothing; @@ -24,11 +32,15 @@ export default class NxBreadcrumb extends LitElement {
    ${crumbs.map((c, i) => html`
  1. - ${i === crumbs.length - 1 - ? html`${c.label}` - : html`${c.label}`} + ${i === crumbs.length - 1 + ? html`${c.label} + ` + : html`${c.label}`}
  2. `)} +
  3. + +
`; From 577b414c64cb9be6a5cbd8d47a4e2fb2aabaf332 Mon Sep 17 00:00:00 2001 From: svinod Date: Mon, 29 Jun 2026 16:09:09 +0200 Subject: [PATCH 2/3] chore: cleanup gap --- nx2/blocks/shared/breadcrumb/breadcrumb.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nx2/blocks/shared/breadcrumb/breadcrumb.css b/nx2/blocks/shared/breadcrumb/breadcrumb.css index 1c5d80588..c17e1c0b3 100644 --- a/nx2/blocks/shared/breadcrumb/breadcrumb.css +++ b/nx2/blocks/shared/breadcrumb/breadcrumb.css @@ -71,7 +71,7 @@ .crumb-suffix { display: flex; align-items: center; - gap: var(--s2-spacing-75); + gap: var(--s2-spacing-50); } .crumb-suffix.hide { From 245b1571d52def9bae5dbd91787a9e9facc4b329 Mon Sep 17 00:00:00 2001 From: svinod Date: Mon, 29 Jun 2026 16:38:10 +0200 Subject: [PATCH 3/3] chore: minor adjustment --- nx2/blocks/shared/breadcrumb/breadcrumb.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nx2/blocks/shared/breadcrumb/breadcrumb.css b/nx2/blocks/shared/breadcrumb/breadcrumb.css index c17e1c0b3..0484da396 100644 --- a/nx2/blocks/shared/breadcrumb/breadcrumb.css +++ b/nx2/blocks/shared/breadcrumb/breadcrumb.css @@ -34,7 +34,7 @@ mask: url('/img/icons/s2-icon-chevronleft-10-n.svg') center / contain no-repeat; margin-inline: var(--s2-spacing-75); position:relative; - top: 1px; + top: 2px; } .crumb a, @@ -71,7 +71,6 @@ .crumb-suffix { display: flex; align-items: center; - gap: var(--s2-spacing-50); } .crumb-suffix.hide {