fix(segment): scrollable segments center button on click (#26285)

resolves #25367
This commit is contained in:
Liam DeBeasi
2022-11-16 13:58:03 -05:00
committed by GitHub
parent 4aabbdf97b
commit 73ea64c02f
2 changed files with 27 additions and 0 deletions

View File

@ -88,6 +88,22 @@ export class Segment implements ComponentInterface {
this.valueAfterGesture = value;
}
}
if (this.scrollable) {
const buttons = this.getButtons();
const activeButton = buttons.find((button) => button.value === value);
if (activeButton !== undefined) {
/**
* Scrollable segment buttons should be
* centered within the view including
* buttons that are partially offscreen.
*/
activeButton.scrollIntoView({
behavior: 'smooth',
inline: 'center',
});
}
}
}
/**