Merge branch 'next' into radio-group-empty

This commit is contained in:
Cory LaViska
2024-01-23 09:16:27 -06:00
committed by GitHub
3 changed files with 30 additions and 4 deletions

View File

@@ -24,6 +24,8 @@ New versions of Shoelace are released as-needed and generally occur when a criti
- Fixed a bug in `<sl-select>` that prevented it from closing when tabbing to another select inside a shadow root [#1763]
- Fixed a bug in `<sl-spinner>` that caused the animation to appear strange in certain circumstances [#1787]
- Fixed a bug that caused empty `<sl-radio-group>` elements to log an error in the console [#1795]
- Fixed a bug that caused modal scroll locking to conflict with the `scrollbar-gutter` property [#1805]
- Fixed a bug in `<sl-option>` that caused slotted content to show up when calling `getTextLabel()` [#1730]
- Improved the accessibility of `<sl-tooltip>` so they persist when hovering over the tooltip and dismiss when pressing [[Esc]] [#1734]
## 2.12.0

View File

@@ -106,7 +106,22 @@ export default class SlOption extends ShoelaceElement {
/** Returns a plain text label based on the option's content. */
getTextLabel() {
return (this.textContent ?? '').trim();
const nodes = this.childNodes;
let label = '';
[...nodes].forEach(node => {
if (node.nodeType === Node.ELEMENT_NODE) {
if (!(node as HTMLElement).hasAttribute('slot')) {
label += (node as HTMLElement).outerHTML;
}
}
if (node.nodeType === Node.TEXT_NODE) {
label += node.textContent;
}
});
return label.trim();
}
render() {

View File

@@ -4,9 +4,18 @@
* to reduce the possibility of collisions.
*/
.sl-scroll-lock {
padding-right: var(--sl-scroll-lock-size) !important;
overflow: hidden !important;
@supports (scrollbar-gutter: stable) {
.sl-scroll-lock {
scrollbar-gutter: stable !important;
overflow: hidden !important;
}
}
@supports not (scrollbar-gutter: stable) {
.sl-scroll-lock {
padding-right: var(--sl-scroll-lock-size) !important;
overflow: hidden !important;
}
}
.sl-toast-stack {