From a8cc8c52c4b6940d99a40e3345ade6353a3cb211 Mon Sep 17 00:00:00 2001 From: Davide Mininni Date: Fri, 22 Mar 2024 20:47:22 +0100 Subject: [PATCH] fix: rebase --- .../autocomplete-grid-button.spec.ts | 2 +- .../autocomplete-grid-option.ts | 2 +- .../autocomplete-grid/readme.md | 9 ++-- src/components/autocomplete/readme.md | 9 ++-- .../transparent-button-link.spec.snap.js | 48 +++++++++++++++++++ .../autocomplete-base-element.ts | 10 ++-- .../common-behaviors/optgroup-base-element.ts | 20 +++++--- 7 files changed, 77 insertions(+), 23 deletions(-) diff --git a/src/components/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.spec.ts b/src/components/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.spec.ts index a91e3fae5f1..f7f2edf7bd4 100644 --- a/src/components/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.spec.ts +++ b/src/components/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.spec.ts @@ -2,7 +2,7 @@ import { expect, fixture } from '@open-wc/testing'; import { html } from 'lit/static-html.js'; import { waitForLitRender } from '../../core/testing'; -import { testA11yTreeSnapshot } from '../../core/testing/a11y-tree-snapshot'; +import { testA11yTreeSnapshot } from '../../core/testing/private'; import type { SbbAutocompleteGridButtonElement } from './autocomplete-grid-button'; import '../autocomplete-grid'; diff --git a/src/components/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts b/src/components/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts index 889ea2f7899..cc14d1a2dcd 100644 --- a/src/components/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts +++ b/src/components/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts @@ -92,7 +92,7 @@ export class SbbAutocompleteGridOptionElement extends SbbOptionBaseElement { if ( labelNodes.length === 0 || slotNodes.filter((n) => !(n instanceof Element) || n.localName !== 'template').length !== - labelNodes.length + labelNodes.length ) { this.disableLabelHighlight = true; return; diff --git a/src/components/autocomplete-grid/autocomplete-grid/readme.md b/src/components/autocomplete-grid/autocomplete-grid/readme.md index 8683afc20e2..4a7caaccef4 100644 --- a/src/components/autocomplete-grid/autocomplete-grid/readme.md +++ b/src/components/autocomplete-grid/autocomplete-grid/readme.md @@ -143,11 +143,10 @@ using `aria-activedescendant` to support navigation though the autocomplete opti ## Methods -| Name | Privacy | Description | Parameters | Return | Inherited From | -| --------------- | ------- | ------------------------ | ---------- | ------ | -------------------------- | -| `checkChildren` | public | | | `void` | SbbAutocompleteBaseElement | -| `open` | public | Opens the autocomplete. | | `void` | SbbAutocompleteBaseElement | -| `close` | public | Closes the autocomplete. | | `void` | SbbAutocompleteBaseElement | +| Name | Privacy | Description | Parameters | Return | Inherited From | +| ------- | ------- | ------------------------ | ---------- | ------ | -------------------------- | +| `open` | public | Opens the autocomplete. | | `void` | SbbAutocompleteBaseElement | +| `close` | public | Closes the autocomplete. | | `void` | SbbAutocompleteBaseElement | ## Events diff --git a/src/components/autocomplete/readme.md b/src/components/autocomplete/readme.md index bfbc9e6d2bd..f98979d0d7c 100644 --- a/src/components/autocomplete/readme.md +++ b/src/components/autocomplete/readme.md @@ -107,11 +107,10 @@ using `aria-activedescendant` to support navigation though the autocomplete opti ## Methods -| Name | Privacy | Description | Parameters | Return | Inherited From | -| --------------- | ------- | ------------------------ | ---------- | ------ | -------------------------- | -| `checkChildren` | public | | | `void` | SbbAutocompleteBaseElement | -| `open` | public | Opens the autocomplete. | | `void` | SbbAutocompleteBaseElement | -| `close` | public | Closes the autocomplete. | | `void` | SbbAutocompleteBaseElement | +| Name | Privacy | Description | Parameters | Return | Inherited From | +| ------- | ------- | ------------------------ | ---------- | ------ | -------------------------- | +| `open` | public | Opens the autocomplete. | | `void` | SbbAutocompleteBaseElement | +| `close` | public | Closes the autocomplete. | | `void` | SbbAutocompleteBaseElement | ## Events diff --git a/src/components/button/transparent-button-link/__snapshots__/transparent-button-link.spec.snap.js b/src/components/button/transparent-button-link/__snapshots__/transparent-button-link.spec.snap.js index 8e320ae1072..0c139e01613 100644 --- a/src/components/button/transparent-button-link/__snapshots__/transparent-button-link.spec.snap.js +++ b/src/components/button/transparent-button-link/__snapshots__/transparent-button-link.spec.snap.js @@ -142,6 +142,54 @@ snapshots["sbb-transparent-button-link renders a sbb-transparent-button-link wit "role": "WebArea", "name": "", "children": [ + { + "role": "link", + "name": "", + "children": [ + { + "role": "link", + "name": "Label Text . Link target opens in a new window.", + "children": [ + { + "role": "text", + "name": "Label Text" + }, + { + "role": "text", + "name": ". " + }, + { + "role": "text", + "name": "Link target opens in a new window." + } + ] + } + ] + }, + { + "role": "link", + "name": "", + "children": [ + { + "role": "link", + "name": "Label Text . Link target opens in a new window.", + "children": [ + { + "role": "text", + "name": "Label Text" + }, + { + "role": "text", + "name": ". " + }, + { + "role": "text", + "name": "Link target opens in a new window." + } + ] + } + ] + }, { "role": "link", "name": "", diff --git a/src/components/core/common-behaviors/autocomplete-base-element.ts b/src/components/core/common-behaviors/autocomplete-base-element.ts index 86166d7c9ed..a1f656ea108 100644 --- a/src/components/core/common-behaviors/autocomplete-base-element.ts +++ b/src/components/core/common-behaviors/autocomplete-base-element.ts @@ -21,12 +21,12 @@ import { } from '../overlay'; import style from './autocomplete-base-element.scss?lit&inline'; +import { SbbHydrationMixin } from './hydration-mixin'; import { SbbNegativeMixin } from './negative-mixin'; import type { SbbOptionBaseElement } from './option-base-element'; -import { SlotChildObserver } from './slot-child-observer'; -export abstract class SbbAutocompleteBaseElement extends SlotChildObserver( - SbbNegativeMixin(LitElement), +export abstract class SbbAutocompleteBaseElement extends SbbNegativeMixin( + SbbHydrationMixin(LitElement), ) { public static override styles: CSSResultGroup = style; @@ -170,7 +170,7 @@ export abstract class SbbAutocompleteBaseElement extends SlotChildObserver( this._didLoad = true; } - public override checkChildren(): void { + private _handleSlotchange(): void { this._highlightOptions(this.triggerElement?.value); } @@ -434,7 +434,7 @@ export abstract class SbbAutocompleteBaseElement extends SlotChildObserver( id=${!this.ariaRoleOnHost ? this.overlayId : nothing} ${ref((containerRef) => (this._optionContainer = containerRef as HTMLElement))} > - + diff --git a/src/components/core/common-behaviors/optgroup-base-element.ts b/src/components/core/common-behaviors/optgroup-base-element.ts index 60e38acfabf..99f339ff73f 100644 --- a/src/components/core/common-behaviors/optgroup-base-element.ts +++ b/src/components/core/common-behaviors/optgroup-base-element.ts @@ -13,11 +13,11 @@ import { isSafari, isValidAttribute, setAttribute } from '../dom'; import { AgnosticMutationObserver } from '../observers'; import { SbbDisabledMixin } from './disabled-mixins'; +import { SbbHydrationMixin } from './hydration-mixin'; import style from './optgroup-base-element.scss?lit&inline'; import type { SbbOptionBaseElement } from './option-base-element'; -import { SlotChildObserver } from './slot-child-observer'; -export abstract class SbbOptgroupBaseElement extends SlotChildObserver( +export abstract class SbbOptgroupBaseElement extends SbbHydrationMixin( SbbDisabledMixin(LitElement), ) { public static override styles: CSSResultGroup = style; @@ -67,7 +67,7 @@ export abstract class SbbOptgroupBaseElement extends SlotChildObserver( this._negativeObserver?.disconnect(); } - protected override checkChildren(): void { + private _handleSlotchange(): void { this.proxyDisabledToOptions(); this._proxyGroupLabelToOptions(); this._highlightOptions(); @@ -76,9 +76,17 @@ export abstract class SbbOptgroupBaseElement extends SlotChildObserver( private _proxyGroupLabelToOptions(): void { if (!this._inertAriaGroups) { return; + } else if (this.label) { + for (const option of this.options) { + option.setAttribute('data-group-label', this.label); + option.requestUpdate?.(); + } + } else { + for (const option of this.options) { + option.removeAttribute('data-group-label'); + option.requestUpdate?.(); + } } - - this.options.forEach((opt) => opt.setGroupLabel(this.label)); } protected proxyDisabledToOptions(): void { @@ -116,7 +124,7 @@ export abstract class SbbOptgroupBaseElement extends SlotChildObserver(
${this.label} - + `; } }