Feat/BOOK-293 button adjustments

* feat(BOOK-293): Adjusted padding of the buttons to match Figma design
* feat(BOOK-293): Updated variants for IconButton
* feat(BOOK-113): Updated focus indicators on buttons and added default focus ring color
* feat(BOOK-293): Replaced buttons inside booking widget

Approved-by: Christel Westerberg
This commit is contained in:
Erik Tiekstra
2025-12-15 07:05:31 +00:00
parent c153e0db50
commit 4ec1e85d84
59 changed files with 741 additions and 504 deletions

View File

@@ -22,6 +22,6 @@
}
.link:focus-visible {
outline: 2px auto -webkit-focus-ring-color;
outline: 2px auto var(--Border-Interactive-Focus);
outline-offset: -4px;
}

View File

@@ -53,7 +53,6 @@
}
.closeButton {
flex-shrink: 0;
z-index: 1;
}

View File

@@ -119,8 +119,7 @@ export default function CampaignBanner() {
</InnerContent>
<IconButton
className={styles.closeButton}
theme="Inverted"
style="Muted"
variant="Muted"
onPress={handleClose}
aria-label={intl.formatMessage({
id: "campaignBanner.dismissBanner",

View File

@@ -22,8 +22,7 @@ export function CarouselPrevious({ className }: CarouselButtonProps) {
return (
<span className={cx(styles.buttonWrapper, styles.previous, className)}>
<IconButton
theme="Inverted"
style="Elevated"
variant="Elevated"
onPress={scrollPrev}
aria-label={intl.formatMessage({
id: "carousel.previousSlide",
@@ -46,8 +45,7 @@ export function CarouselNext({ className }: CarouselButtonProps) {
return (
<span className={cx(styles.buttonWrapper, styles.next, className)}>
<IconButton
theme="Inverted"
style="Elevated"
variant="Elevated"
onPress={scrollNext}
aria-label={intl.formatMessage({
id: "carousel.nextSlide",

View File

@@ -18,7 +18,7 @@
}
.item:focus-visible {
outline: 2px auto -webkit-focus-ring-color;
outline: 2px auto var(--Border-Interactive-Focus);
outline-offset: 1px;
}
.buttonWrapper {

View File

@@ -46,8 +46,8 @@ export default function CityMapCard({
return (
<article className={cx(styles.cityMapCard, className)}>
<IconButton
theme="Black"
style="Muted"
variant="Muted"
emphasis
className={styles.closeButton}
onPress={handleClose}
aria-label={intl.formatMessage({

View File

@@ -54,8 +54,8 @@ export function DestinationSearch() {
<>
<IconButton
onPress={close}
theme="Black"
style="Muted"
variant="Muted"
emphasis
className={styles.close}
>
<MaterialIcon

View File

@@ -49,8 +49,8 @@ export default function HotelMapCard({
<article className={className}>
<div className={styles.wrapper}>
<IconButton
theme="Black"
style="Muted"
variant="Muted"
emphasis
className={styles.closeButton}
onPress={handleClose}
aria-label={intl.formatMessage({

View File

@@ -63,7 +63,6 @@
.seeAsListButton {
display: flex !important;
pointer-events: initial;
box-shadow: var(--button-box-shadow);
}
/* Overriding Google maps infoWindow styles */

View File

@@ -146,10 +146,9 @@ export default function DynamicMap({
)}
<div className={styles.zoomButtons}>
<IconButton
theme="Inverted"
style="Elevated"
variant="Elevated"
className={styles.zoomButton}
onClick={zoomIn}
onPress={zoomIn}
aria-label={intl.formatMessage({
id: "map.zoomIn",
defaultMessage: "Zoom in",
@@ -159,10 +158,9 @@ export default function DynamicMap({
<MaterialIcon icon="add" color="CurrentColor" size={24} />
</IconButton>
<IconButton
theme="Inverted"
style="Elevated"
variant="Elevated"
className={styles.zoomButton}
onClick={zoomOut}
onPress={zoomOut}
aria-label={intl.formatMessage({
id: "map.zoomOut",
defaultMessage: "Zoom out",

View File

@@ -10,6 +10,5 @@
}
.closeButton {
box-shadow: var(--button-box-shadow);
pointer-events: initial;
}

View File

@@ -11,7 +11,7 @@
padding: var(--Space-x05) 0;
&:focus-visible {
outline: 2px auto -webkit-focus-ring-color;
outline: 2px auto var(--Border-Interactive-Focus);
outline-offset: 1px;
}

View File

@@ -13,7 +13,7 @@
}
&:focus-visible {
outline: 2px auto -webkit-focus-ring-color;
outline: 2px auto var(--Border-Interactive-Focus);
outline-offset: 1px;
}

View File

@@ -129,7 +129,7 @@ export default function HotelFilterAndSort() {
})}
</h3>
</Typography>
<IconButton onPress={close} theme="Black">
<IconButton onPress={close} variant="Muted" emphasis>
<MaterialIcon icon="close" color="CurrentColor" />
</IconButton>
</header>

View File

@@ -7,5 +7,5 @@
}
.download:focus-visible {
outline: 2px solid -webkit-focus-ring-color;
outline: 2px solid var(--Border-Interactive-Focus);
}

View File

@@ -265,8 +265,8 @@ export default function Room({ booking, roomNr, user }: RoomProps) {
subtitle={rateTerm.paymentTerm}
trigger={
<IconButton
theme="Black"
style="Muted"
variant="Muted"
emphasis
className={styles.termsInfoIcon}
>
<MaterialIcon

View File

@@ -50,7 +50,12 @@ export default function Terms() {
title={rateTerm.title}
subtitle={rateTerm.paymentTerm}
trigger={
<IconButton theme="Black" style="Muted" className={styles.button}>
<IconButton
variant="Muted"
emphasis
size="sm"
className={styles.button}
>
<MaterialIcon icon="info" color="Icon/Default" size={20} />
</IconButton>
}

View File

@@ -89,8 +89,8 @@ export default function MeetingPackageWidget(props: MeetingPackageWidgetProps) {
<>
<div className={styles.closeButtonWrapper}>
<IconButton
theme="Black"
style="Muted"
variant="Muted"
emphasis
onPress={close}
className={styles.closeButton}
aria-label={intl.formatMessage({

View File

@@ -41,7 +41,7 @@ export default function LevelProgressModal({
<Modal
className={styles.dialog}
trigger={
<IconButton theme="Black">
<IconButton variant="Muted" emphasis>
<MaterialIcon
className={styles.infoButton}
icon="info"

View File

@@ -71,7 +71,8 @@ export default function DeleteCreditCardConfirmation({
})}
trigger={
<IconButton
theme="Black"
variant="Muted"
emphasis
aria-label={intl.formatMessage({
id: "profile.creditCard.deleteCard",
defaultMessage: "Delete card",

View File

@@ -98,8 +98,9 @@ export default function PasswordInput({
/>
{visibilityToggleable ? (
<IconButton
theme="Black"
onClick={() => setIsPasswordVisible((value) => !value)}
variant="Muted"
emphasis
onPress={() => setIsPasswordVisible((value) => !value)}
aria-label={
isPasswordVisible
? intl.formatMessage({