Merged in fix/BOOK-293-button-variants (pull request #3371)

fix(BOOK-293): changed variants and props on IconButton component

* fix(BOOK-293): changed variants and props on IconButton component

* fix(BOOK-293): inherit color for icon


Approved-by: Bianca Widstam
Approved-by: Christel Westerberg
This commit is contained in:
Erik Tiekstra
2025-12-19 12:32:52 +00:00
committed by Bianca Widstam
parent 2197ab2137
commit 3f632e6031
169 changed files with 665 additions and 944 deletions

View File

@@ -61,7 +61,7 @@ export function LanguageSwitcher({
return ( return (
<div className={classNames}> <div className={classNames}>
<DialogTrigger> <DialogTrigger>
<Button className={styles.triggerButton} variant="Text" wrapping> <Button className={styles.triggerButton} variant="Text">
{isMobile && !isFooter ? null : ( {isMobile && !isFooter ? null : (
<MaterialIcon <MaterialIcon
icon="globe" icon="globe"
@@ -159,7 +159,7 @@ function LanguageSwitcherContent({
<div className={styles.closeModalWrapper}> <div className={styles.closeModalWrapper}>
<Button <Button
variant="Text" variant="Text"
size="Medium" size="md"
onPress={closeModal} onPress={closeModal}
className={styles.closeModal} className={styles.closeModal}
> >

View File

@@ -45,7 +45,7 @@ export function AlreadyLinkedError() {
href={partnerSas[lang]} href={partnerSas[lang]}
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
size="Large" size="lg"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "linkEuroBonusAccount.viewLinkedAccountsButton", id: "linkEuroBonusAccount.viewLinkedAccountsButton",

View File

@@ -148,8 +148,7 @@ export default function CampaignHotelListingClient({
<Button <Button
variant="Text" variant="Text"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
onPress={handleButtonClick} onPress={handleButtonClick}
> >
<MaterialIcon icon={iconDirection} color="CurrentColor" /> <MaterialIcon icon={iconDirection} color="CurrentColor" />

View File

@@ -115,13 +115,7 @@ export default function HotelListingItem({
</div> </div>
{url ? ( {url ? (
<div className={styles.ctaWrapper}> <div className={styles.ctaWrapper}>
<ButtonLink <ButtonLink href={url} variant="Tertiary" color="Primary" size="sm">
href={url}
variant="Tertiary"
color="Primary"
size="Small"
typography="Body/Supporting text (caption)/smBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "destination.seeHotelDetails", id: "destination.seeHotelDetails",
defaultMessage: "See hotel details", defaultMessage: "See hotel details",

View File

@@ -21,8 +21,7 @@ export function CookieConsentButton() {
return ( return (
<Button <Button
variant="Text" variant="Text"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
wrapping={false} wrapping={false}
onPress={handleClick} onPress={handleClick}
className={styles.cookieConsentButton} className={styles.cookieConsentButton}

View File

@@ -21,10 +21,9 @@ export function UsePointsButton({ variant, onPress }: ButtonProps) {
return ( return (
<Button <Button
size="Medium" size="md"
className={buttonClassName} className={buttonClassName}
variant={buttonVariant} variant={buttonVariant}
typography="Body/Paragraph/mdBold"
onPress={onPress} onPress={onPress}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -43,7 +43,6 @@ export default async function Overview({
className={styles.teamMemberCardButton} className={styles.teamMemberCardButton}
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
typography="Body/Paragraph/mdBold"
> >
<> <>
<MaterialIcon icon="id_card" size={24} color="CurrentColor" /> <MaterialIcon icon="id_card" size={24} color="CurrentColor" />

View File

@@ -30,8 +30,7 @@ export default function ClaimPoints() {
href={missingPoints[lang]} href={missingPoints[lang]}
variant="Text" variant="Text"
target="_blank" target="_blank"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "points.claimPoints.cta", id: "points.claimPoints.cta",

View File

@@ -26,12 +26,7 @@ export default function ExpiringPointsSeeAllButton({
return ( return (
<> <>
<Button <Button variant="Text" size="md" onPress={() => setIsOpen(true)}>
variant="Text"
size="Medium"
typography="Body/Paragraph/mdBold"
onPress={() => setIsOpen(true)}
>
{intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })} {intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })}
<MaterialIcon icon="chevron_right" color="CurrentColor" /> <MaterialIcon icon="chevron_right" color="CurrentColor" />
</Button> </Button>

View File

@@ -18,9 +18,9 @@ import { trpc } from "@scandic-hotels/trpc/client"
import useLang from "@/hooks/useLang" import useLang from "@/hooks/useLang"
import { isRestaurantOnSiteTierReward } from "@/utils/rewards" import { isRestaurantOnSiteTierReward } from "@/utils/rewards"
import { ConfirmClose } from "./ConfirmClose"
import RedeemCampaign from "./Flows/Campaign" import RedeemCampaign from "./Flows/Campaign"
import RedeemTier from "./Flows/Tier" import RedeemTier from "./Flows/Tier"
import { ConfirmClose } from "./ConfirmClose"
import { RedeemContext } from "./useRedeemFlow" import { RedeemContext } from "./useRedeemFlow"
import styles from "./redeem.module.css" import styles from "./redeem.module.css"
@@ -70,12 +70,7 @@ export default function Redeem({ reward, membershipNumber }: RedeemProps) {
<DialogTrigger <DialogTrigger
onOpenChange={(isOpen) => setAnimation(isOpen ? "visible" : "hidden")} onOpenChange={(isOpen) => setAnimation(isOpen ? "visible" : "hidden")}
> >
<Button <Button variant="Tertiary" size="lg" className={styles.redeemButton}>
variant="Tertiary"
size="Large"
typography="Body/Paragraph/mdBold"
className={styles.redeemButton}
>
{reward.redeemLocation === "Non-redeemable" {reward.redeemLocation === "Non-redeemable"
? intl.formatMessage({ ? intl.formatMessage({
id: "rewards.howToUse", id: "rewards.howToUse",

View File

@@ -112,7 +112,7 @@ export default async function SASLinkAccountBanner(
href={props.link.href} href={props.link.href}
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Medium" size="md"
> >
{buttonText} {buttonText}
</ButtonLink> </ButtonLink>

View File

@@ -137,7 +137,7 @@ export default async function NextStayContent({
<ButtonLink <ButtonLink
variant="Tertiary" variant="Tertiary"
color="Inverted" color="Inverted"
size="Medium" size="md"
href={bookingUrl} href={bookingUrl}
className={styles.cta} className={styles.cta}
> >

View File

@@ -16,12 +16,7 @@ export function SeeAllCard({ onPress }: SeeAllCardProps) {
return ( return (
<div className={styles.card}> <div className={styles.card}>
<Button <Button variant="Secondary" size="md" onPress={onPress}>
variant="Secondary"
size="Medium"
typography="Body/Paragraph/mdBold"
onPress={onPress}
>
{intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })} {intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })}
<MaterialIcon icon="chevron_right" color="CurrentColor" /> <MaterialIcon icon="chevron_right" color="CurrentColor" />
</Button> </Button>

View File

@@ -107,7 +107,7 @@ export default function CarouselCard({ stay }: CarouselCardProps) {
<ButtonLink <ButtonLink
variant="Text" variant="Text"
color="Primary" color="Primary"
size="Small" size="sm"
href={bookingUrl} href={bookingUrl}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -16,12 +16,7 @@ export function SeeAllCard({ onPress }: SeeAllCardProps) {
return ( return (
<div className={styles.card}> <div className={styles.card}>
<Button <Button variant="Secondary" size="md" onPress={onPress}>
variant="Secondary"
size="Medium"
typography="Body/Paragraph/mdBold"
onPress={onPress}
>
{intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })} {intl.formatMessage({ id: "common.seeAll", defaultMessage: "See all" })}
<MaterialIcon icon="chevron_right" color="CurrentColor" /> <MaterialIcon icon="chevron_right" color="CurrentColor" />
</Button> </Button>

View File

@@ -65,7 +65,7 @@ export default async function EmptyUpcomingStays() {
})} })}
</p> </p>
</Typography> </Typography>
<ButtonLink href={href} variant="Tertiary" color="Primary" size="Small"> <ButtonLink href={href} variant="Tertiary" color="Primary" size="sm">
{intl.formatMessage({ {intl.formatMessage({
id: "stays.findDestinationOrHotel", id: "stays.findDestinationOrHotel",
defaultMessage: "Find hotel or destination", defaultMessage: "Find hotel or destination",

View File

@@ -52,8 +52,7 @@ export default function FullWidthCampaign({
target={primary_button.openInNewTab ? "_blank" : undefined} target={primary_button.openInNewTab ? "_blank" : undefined}
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
className={styles.button} className={styles.button}
> >
{primary_button.title} {primary_button.title}
@@ -64,10 +63,9 @@ export default function FullWidthCampaign({
href={secondary_button.href} href={secondary_button.href}
target={secondary_button.openInNewTab ? "_blank" : undefined} target={secondary_button.openInNewTab ? "_blank" : undefined}
variant="Secondary" variant="Secondary"
size="Small" size="sm"
color="Inverted" color="Inverted"
className={styles.button} className={styles.button}
typography="Body/Supporting text (caption)/smBold"
> >
{secondary_button.title} {secondary_button.title}
</ButtonLink> </ButtonLink>

View File

@@ -93,7 +93,7 @@ export default async function HotelListingItem({
/> />
<ButtonLink <ButtonLink
variant="Primary" variant="Primary"
size="Small" size="sm"
href={cta.url} href={cta.url}
target={cta.openInNewTab ? "_blank" : undefined} target={cta.openInNewTab ? "_blank" : undefined}
className={styles.button} className={styles.button}

View File

@@ -74,10 +74,9 @@ export default async function JoinScandicFriends({
{content.has_primary_button ? ( {content.has_primary_button ? (
<ButtonLink <ButtonLink
variant="Primary" variant="Primary"
size="Small" size="sm"
href={primary_button.href} href={primary_button.href}
target={primary_button.openInNewTab ? "_blank" : undefined} target={primary_button.openInNewTab ? "_blank" : undefined}
typography="Body/Supporting text (caption)/smBold"
className={styles.primaryButton} className={styles.primaryButton}
> >
{primary_button.title} {primary_button.title}

View File

@@ -8,7 +8,6 @@ import { useMediaQuery } from "usehooks-ts"
import { debounce } from "@scandic-hotels/common/utils/debounce" import { debounce } from "@scandic-hotels/common/utils/debounce"
import { IconButton } from "@scandic-hotels/design-system/IconButton" import { IconButton } from "@scandic-hotels/design-system/IconButton"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { trackClick } from "@scandic-hotels/tracking/base" import { trackClick } from "@scandic-hotels/tracking/base"
import { trpc } from "@scandic-hotels/trpc/client" import { trpc } from "@scandic-hotels/trpc/client"
@@ -125,9 +124,8 @@ export default function CampaignBanner() {
id: "campaignBanner.dismissBanner", id: "campaignBanner.dismissBanner",
defaultMessage: "Dismiss banner", defaultMessage: "Dismiss banner",
})} })}
> iconName="close"
<MaterialIcon color="CurrentColor" icon="close" /> />
</IconButton>
</div> </div>
</div> </div>
) )

View File

@@ -4,7 +4,6 @@ import { cx } from "class-variance-authority"
import { useIntl } from "react-intl" import { useIntl } from "react-intl"
import { IconButton } from "@scandic-hotels/design-system/IconButton" import { IconButton } from "@scandic-hotels/design-system/IconButton"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { useCarousel } from "./CarouselContext" import { useCarousel } from "./CarouselContext"
@@ -28,9 +27,8 @@ export function CarouselPrevious({ className }: CarouselButtonProps) {
id: "carousel.previousSlide", id: "carousel.previousSlide",
defaultMessage: "Previous slide", defaultMessage: "Previous slide",
})} })}
> iconName="arrow_back"
<MaterialIcon color="Icon/Interactive/Default" icon="arrow_back" /> />
</IconButton>
</span> </span>
) )
} }
@@ -51,9 +49,8 @@ export function CarouselNext({ className }: CarouselButtonProps) {
id: "carousel.nextSlide", id: "carousel.nextSlide",
defaultMessage: "Next slide", defaultMessage: "Next slide",
})} })}
> iconName="arrow_forward"
<MaterialIcon color="Icon/Interactive/Default" icon="arrow_forward" /> />
</IconButton>
</span> </span>
) )
} }

View File

@@ -125,8 +125,7 @@ export default async function CampaignHero({
variant="Secondary" variant="Secondary"
color={buttonColor} color={buttonColor}
href={button.url} href={button.url}
typography="Body/Paragraph/mdBold" size="md"
size="Medium"
> >
{button.cta} {button.cta}
</ButtonLink> </ButtonLink>

View File

@@ -63,7 +63,7 @@ export async function CollectionPage() {
{header.top_primary_button?.url ? ( {header.top_primary_button?.url ? (
<ButtonLink <ButtonLink
href={header.top_primary_button.url} href={header.top_primary_button.url}
size="Medium" size="md"
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
> >
@@ -96,7 +96,7 @@ export async function CollectionPage() {
{header.top_primary_button?.url ? ( {header.top_primary_button?.url ? (
<ButtonLink <ButtonLink
href={header.top_primary_button.url} href={header.top_primary_button.url}
size="Medium" size="md"
variant="Tertiary" variant="Tertiary"
> >
{header.top_primary_button.title} {header.top_primary_button.title}

View File

@@ -62,7 +62,7 @@ export async function ContentPage() {
{header.top_primary_button?.url ? ( {header.top_primary_button?.url ? (
<ButtonLink <ButtonLink
href={header.top_primary_button.url} href={header.top_primary_button.url}
size="Medium" size="md"
variant="Tertiary" variant="Tertiary"
> >
{header.top_primary_button.title} {header.top_primary_button.title}

View File

@@ -143,13 +143,7 @@ export default function HotelListItem({ hotel, url }: HotelListItemProps) {
</Typography> </Typography>
{url && ( {url && (
<div className={styles.ctaWrapper}> <div className={styles.ctaWrapper}>
<ButtonLink <ButtonLink href={url} variant="Tertiary" color="Primary" size="sm">
href={url}
variant="Tertiary"
color="Primary"
size="Small"
typography="Body/Paragraph/mdBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "destination.seeHotelDetails", id: "destination.seeHotelDetails",
defaultMessage: "See hotel details", defaultMessage: "See hotel details",

View File

@@ -60,12 +60,7 @@ export default function CityMap({
> >
<div className={styles.topSection}> <div className={styles.topSection}>
{fromCountryPage ? ( {fromCountryPage ? (
<Button <Button variant="Text" color="Primary" onPress={handleGoBack}>
typography="Body/Paragraph/mdBold"
variant="Text"
color="Primary"
onClick={handleGoBack}
>
<MaterialIcon icon="arrow_back" color="CurrentColor" size={24} /> <MaterialIcon icon="arrow_back" color="CurrentColor" size={24} />
<span> <span>
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -6,7 +6,6 @@ import { useIntl } from "react-intl"
import { setMapUrlFromCountryPage } from "@scandic-hotels/common/hooks/map/useSetMapUrlFromCountryPage" import { setMapUrlFromCountryPage } from "@scandic-hotels/common/hooks/map/useSetMapUrlFromCountryPage"
import ButtonLink from "@scandic-hotels/design-system/ButtonLink" import ButtonLink from "@scandic-hotels/design-system/ButtonLink"
import { IconButton } from "@scandic-hotels/design-system/IconButton" import { IconButton } from "@scandic-hotels/design-system/IconButton"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import ImageFallback from "@scandic-hotels/design-system/ImageFallback" import ImageFallback from "@scandic-hotels/design-system/ImageFallback"
import Link from "@scandic-hotels/design-system/OldDSLink" import Link from "@scandic-hotels/design-system/OldDSLink"
import { Typography } from "@scandic-hotels/design-system/Typography" import { Typography } from "@scandic-hotels/design-system/Typography"
@@ -48,20 +47,15 @@ export default function CityMapCard({
<IconButton <IconButton
variant="Muted" variant="Muted"
emphasis emphasis
size="sm"
className={styles.closeButton} className={styles.closeButton}
onPress={handleClose} onPress={handleClose}
aria-label={intl.formatMessage({ aria-label={intl.formatMessage({
id: "common.close", id: "common.close",
defaultMessage: "Close", defaultMessage: "Close",
})} })}
> iconName="close"
<MaterialIcon />
icon="close"
size={16}
className={styles.closeIcon}
color="CurrentColor"
/>
</IconButton>
{image ? ( {image ? (
<DialogImage <DialogImage
image={image.src} image={image.src}
@@ -85,7 +79,7 @@ export default function CityMapCard({
href={cityMapUrl} href={cityMapUrl}
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
onClick={() => setActiveCityMarker(null)} onClick={() => setActiveCityMarker(null)}
> >
<Typography variant="Body/Supporting text (caption)/smBold"> <Typography variant="Body/Supporting text (caption)/smBold">

View File

@@ -131,9 +131,8 @@ export default function HotelListingItem({
scroll={true} scroll={true}
variant="Text" variant="Text"
color="Primary" color="Primary"
size="Medium" size="md"
wrapping={false} wrapping={false}
typography="Body/Paragraph/mdBold"
onClick={() => setActiveMarker(hotel.id)} onClick={() => setActiveMarker(hotel.id)}
> >
{intl.formatMessage({ {intl.formatMessage({
@@ -152,8 +151,7 @@ export default function HotelListingItem({
href={url} href={url}
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Paragraph/mdBold"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "destination.seeHotelDetails", id: "destination.seeHotelDetails",

View File

@@ -57,13 +57,12 @@ export function DestinationSearch() {
variant="Muted" variant="Muted"
emphasis emphasis
className={styles.close} className={styles.close}
> aria-label={intl.formatMessage({
<MaterialIcon id: "common.close",
color="CurrentColor" defaultMessage: "Close",
icon="close" })}
size={24} iconName="close"
/> />
</IconButton>
<DestinationSearchForm isMobile={true} /> <DestinationSearchForm isMobile={true} />
</> </>
)} )}

View File

@@ -5,7 +5,6 @@ import { useIntl } from "react-intl"
import ButtonLink from "@scandic-hotels/design-system/ButtonLink" import ButtonLink from "@scandic-hotels/design-system/ButtonLink"
import { FacilityToIcon } from "@scandic-hotels/design-system/FacilityToIcon" import { FacilityToIcon } from "@scandic-hotels/design-system/FacilityToIcon"
import { IconButton } from "@scandic-hotels/design-system/IconButton" import { IconButton } from "@scandic-hotels/design-system/IconButton"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { Typography } from "@scandic-hotels/design-system/Typography" import { Typography } from "@scandic-hotels/design-system/Typography"
import { useDestinationPageHotelsMapStore } from "@/stores/destination-page-hotels-map" import { useDestinationPageHotelsMapStore } from "@/stores/destination-page-hotels-map"
@@ -51,20 +50,15 @@ export default function HotelMapCard({
<IconButton <IconButton
variant="Muted" variant="Muted"
emphasis emphasis
size="sm"
className={styles.closeButton} className={styles.closeButton}
onPress={handleClose} onPress={handleClose}
aria-label={intl.formatMessage({ aria-label={intl.formatMessage({
id: "common.close", id: "common.close",
defaultMessage: "Close", defaultMessage: "Close",
})} })}
> iconName="close"
<MaterialIcon />
icon="close"
size={16}
className={styles.closeIcon}
color="CurrentColor"
/>
</IconButton>
{image ? ( {image ? (
<DialogImage <DialogImage
image={image.src} image={image.src}
@@ -113,12 +107,7 @@ export default function HotelMapCard({
</div> </div>
{url && ( {url && (
<ButtonLink <ButtonLink href={url} variant="Tertiary" color="Primary" size="sm">
href={url}
variant="Tertiary"
color="Primary"
size="Small"
>
<Typography variant="Body/Supporting text (caption)/smBold"> <Typography variant="Body/Supporting text (caption)/smBold">
<p> <p>
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -130,10 +130,9 @@ export default function DynamicMap({
<Button <Button
color="Inverted" color="Inverted"
variant="Primary" variant="Primary"
size="Small" size="sm"
className={styles.seeAsListButton} className={styles.seeAsListButton}
onClick={onClose} onPress={onClose}
typography="Body/Supporting text (caption)/smBold"
> >
<MaterialIcon icon="format_list_bulleted" color="CurrentColor" /> <MaterialIcon icon="format_list_bulleted" color="CurrentColor" />
<span> <span>
@@ -154,9 +153,8 @@ export default function DynamicMap({
defaultMessage: "Zoom in", defaultMessage: "Zoom in",
})} })}
isDisabled={isMaxZoom} isDisabled={isMaxZoom}
> iconName="add"
<MaterialIcon icon="add" color="CurrentColor" size={24} /> />
</IconButton>
<IconButton <IconButton
variant="Elevated" variant="Elevated"
className={styles.zoomButton} className={styles.zoomButton}
@@ -166,9 +164,8 @@ export default function DynamicMap({
defaultMessage: "Zoom out", defaultMessage: "Zoom out",
})} })}
isDisabled={isMinZoom} isDisabled={isMinZoom}
> iconName="remove"
<MaterialIcon icon="remove" color="CurrentColor" size={24} /> />
</IconButton>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -170,9 +170,8 @@ export default function Map({
<div className={styles.mobileNavigation}> <div className={styles.mobileNavigation}>
<Button <Button
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
typography="Body/Supporting text (caption)/smBold"
onClick={handleClose} onClick={handleClose}
> >
<MaterialIcon <MaterialIcon

View File

@@ -23,9 +23,8 @@ export function SeeOnMapFilterWrapper({
{mapUrl ? ( {mapUrl ? (
<ButtonLink <ButtonLink
className={styles.mapButton} className={styles.mapButton}
typography="Body/Paragraph/mdBold"
variant="Secondary" variant="Secondary"
size="Small" size="sm"
color="Primary" color="Primary"
wrapping wrapping
href={mapUrl} href={mapUrl}

View File

@@ -63,9 +63,8 @@ export default function TopImages({ images, destinationName }: TopImageProps) {
<Button <Button
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Small" size="sm"
onPress={() => setLightboxState({ open: true, activeIndex: 0 })} onPress={() => setLightboxState({ open: true, activeIndex: 0 })}
typography="Body/Supporting text (caption)/smBold"
className={styles.seeAllButton} className={styles.seeAllButton}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -103,10 +103,9 @@ export default function HotelMapPageClient({
<Button <Button
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Small" size="sm"
className={styles.closeButton} className={styles.closeButton}
onPress={handleClose} onPress={handleClose}
typography="Body/Supporting text (caption)/smBold"
> >
<MaterialIcon icon="close" size={20} color="CurrentColor" /> <MaterialIcon icon="close" size={20} color="CurrentColor" />
<span> <span>

View File

@@ -51,7 +51,6 @@ export default async function AmenitiesList({
<ButtonLink <ButtonLink
href={`?s=${SidepeekSlugs.amenities}`} href={`?s=${SidepeekSlugs.amenities}`}
variant="Text" variant="Text"
typography="Body/Paragraph/mdBold"
scroll={false} scroll={false}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -82,14 +82,13 @@ export function HotelPageHero({
<Button <Button
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Small" size="sm"
onPress={() => onPress={() =>
setLightboxState({ setLightboxState({
activeIndex: 0, activeIndex: 0,
isOpen: true, isOpen: true,
}) })
} }
typography="Body/Supporting text (caption)/smBold"
className={styles.seeAllButton} className={styles.seeAllButton}
> >
{seeAllPhotosText} {seeAllPhotosText}

View File

@@ -59,8 +59,7 @@ export default async function TripAdvisorSection({
href={tripAdvisorHref} href={tripAdvisorHref}
variant="Text" variant="Text"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
wrapping={false} wrapping={false}
> >
{formattedTripAdvisorText} {formattedTripAdvisorText}

View File

@@ -124,7 +124,6 @@ export default async function IntroSection({
<ButtonLink <ButtonLink
href={`?s=${SidepeekSlugs.about}`} href={`?s=${SidepeekSlugs.about}`}
variant="Text" variant="Text"
typography="Body/Paragraph/mdBold"
scroll={false} scroll={false}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -63,7 +63,7 @@ export default function MapCard({ hotelName, pois }: MapCardProps) {
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
href={mapUrl} href={mapUrl}
scroll={true} scroll={true}
onClick={trackHotelMapClick} onClick={trackHotelMapClick}

View File

@@ -68,8 +68,7 @@ export function RoomCard({ room }: RoomCardProps) {
<ButtonLink <ButtonLink
href={`?s=room-${getRoomNameAsParam(name)}`} href={`?s=room-${getRoomNameAsParam(name)}`}
variant="Text" variant="Text"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
scroll={false} scroll={false}
className={styles.buttonLink} className={styles.buttonLink}
> >

View File

@@ -35,8 +35,7 @@ export default async function ActivitiesSidePeek({
href={href} href={href}
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
fullWidth fullWidth
> >
{sidepeekCTA} {sidepeekCTA}

View File

@@ -69,9 +69,8 @@ export default async function MeetingsAndConferencesSidePeek({
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
href={meetingPageHref} href={meetingPageHref}
typography="Body/Paragraph/mdBold"
fullWidth fullWidth
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -28,8 +28,7 @@ export function RestaurantBarItemLinks({
<ButtonLink <ButtonLink
variant="Primary" variant="Primary"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
href={bookTableUrl} href={bookTableUrl}
target="_blank" target="_blank"
onClick={() => trackClick("book a table", { restaurantName })} onClick={() => trackClick("book a table", { restaurantName })}
@@ -50,8 +49,7 @@ export function RestaurantBarItemLinks({
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
href={restaurantPageHref} href={restaurantPageHref}
fullWidth fullWidth
> >

View File

@@ -50,7 +50,6 @@ export default async function WellnessAndExerciseSidePeek({
href={spaPage.url} href={spaPage.url}
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
typography="Body/Paragraph/mdBold"
fullWidth fullWidth
> >
{spaPage.buttonCTA} {spaPage.buttonCTA}
@@ -61,7 +60,6 @@ export default async function WellnessAndExerciseSidePeek({
href={wellnessExercisePageHref} href={wellnessExercisePageHref}
color="Primary" color="Primary"
variant="Secondary" variant="Secondary"
typography="Body/Paragraph/mdBold"
fullWidth fullWidth
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -56,12 +56,7 @@ export default async function RestaurantSubpage({
</div> </div>
{bookTableUrl ? ( {bookTableUrl ? (
<div className={styles.buttonContainer}> <div className={styles.buttonContainer}>
<ButtonLink <ButtonLink href={bookTableUrl} variant="Primary" size="md">
href={bookTableUrl}
variant="Primary"
size="Medium"
typography="Body/Paragraph/mdBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "restaurantBar.bookATable", id: "restaurantBar.bookATable",
defaultMessage: "Book a table", defaultMessage: "Book a table",

View File

@@ -47,12 +47,7 @@ export default async function RestaurantSidebar({
) : null} ) : null}
{bookTableUrl && ( {bookTableUrl && (
<div className={styles.buttonContainer}> <div className={styles.buttonContainer}>
<ButtonLink <ButtonLink href={bookTableUrl} variant="Primary" size="md">
href={bookTableUrl}
variant="Primary"
size="Medium"
typography="Body/Paragraph/mdBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "restaurantBar.bookATable", id: "restaurantBar.bookATable",
defaultMessage: "Book a table", defaultMessage: "Book a table",

View File

@@ -41,7 +41,7 @@ export default async function ExpiredPromoCampaign() {
</Typography> </Typography>
</div> </div>
<ButtonLink href={offers[lang]} variant="Tertiary" size="Large"> <ButtonLink href={offers[lang]} variant="Tertiary" size="lg">
{intl.formatMessage({ {intl.formatMessage({
id: "promoCampaign.seeAllOffers", id: "promoCampaign.seeAllOffers",
defaultMessage: "See all offers", defaultMessage: "See all offers",

View File

@@ -47,10 +47,9 @@ export default function ActivateOffer({
function ActivateButton() { function ActivateButton() {
return ( return (
<Button <Button
onClick={handleActivateFlow} onPress={handleActivateFlow}
variant="Tertiary" variant="Tertiary"
size="Medium" size="md"
typography="Body/Paragraph/mdRegular"
className={styles.activateButton} className={styles.activateButton}
isDisabled={activateCampaign.isPending} isDisabled={activateCampaign.isPending}
isPending={activateCampaign.isPending} isPending={activateCampaign.isPending}

View File

@@ -30,7 +30,7 @@ export default function PromoLoginButton() {
} }
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Medium" size="md"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "promoCampaign.logIn", id: "promoCampaign.logIn",

View File

@@ -27,7 +27,7 @@ export default function PromoSignUpButton() {
href={signup[lang]} href={signup[lang]}
variant="Secondary" variant="Secondary"
color="Inverted" color="Inverted"
size="Medium" size="md"
prefetch={false} prefetch={false}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -36,17 +36,17 @@ export function FilterAndSortButton({
const buttonProps: { const buttonProps: {
variant: "Text" | "Secondary" variant: "Text" | "Secondary"
size: "Small" | "Medium" size: "sm" | "md"
} = isDesktop } = isDesktop
? { ? {
//Desktop //Desktop
variant: "Text", variant: "Text",
size: "Medium", size: "md",
} }
: { : {
//Mobile //Mobile
variant: isMapView ? "Text" : "Secondary", variant: isMapView ? "Text" : "Secondary",
size: "Small", size: "sm",
} }
return ( return (
@@ -54,7 +54,6 @@ export function FilterAndSortButton({
<Button <Button
{...buttonProps} {...buttonProps}
color="Primary" color="Primary"
typography="Body/Paragraph/mdBold"
wrapping wrapping
className={styles.button} className={styles.button}
> >

View File

@@ -182,9 +182,9 @@ export default function DestinationFilterAndSort({
)} )}
<footer className={styles.footer}> <footer className={styles.footer}>
<Button <Button
onClick={clearPendingFilters} onPress={clearPendingFilters}
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
> >
{intl.formatMessage({ {intl.formatMessage({
@@ -194,10 +194,10 @@ export default function DestinationFilterAndSort({
</Button> </Button>
<Button <Button
variant="Primary" variant="Primary"
size="Medium" size="md"
color="Primary" color="Primary"
isDisabled={pendingCount === 0} isDisabled={pendingCount === 0}
onClick={() => submitAndClose(close)} onPress={() => submitAndClose(close)}
> >
{intl.formatMessage( {intl.formatMessage(
{ {

View File

@@ -48,7 +48,7 @@ export default function Dialog({
<Button <Button
variant="Secondary" variant="Secondary"
onPress={close} onPress={close}
size="Medium" size="md"
color="Primary" color="Primary"
> >
{cancelButtonText} {cancelButtonText}
@@ -57,7 +57,7 @@ export default function Dialog({
<ButtonLink <ButtonLink
variant="Primary" variant="Primary"
color="Primary" color="Primary"
size="Medium" size="md"
href={proceedHref} href={proceedHref}
> >
{proceedText} {proceedText}
@@ -69,7 +69,7 @@ export default function Dialog({
onPress={() => { onPress={() => {
proceedOnClick(close) proceedOnClick(close)
}} }}
size="Medium" size="md"
> >
{proceedText} {proceedText}
</Button> </Button>

View File

@@ -33,7 +33,7 @@ export default async function EmployeeBenefitsCallToActions() {
})} })}
</p> </p>
</Typography> </Typography>
<ButtonLink href={loginAndLinkURL} size="Medium" variant="Tertiary"> <ButtonLink href={loginAndLinkURL} size="md" variant="Tertiary">
{intl.formatMessage({ {intl.formatMessage({
id: "dtmc.logInAndLinkEmployment", id: "dtmc.logInAndLinkEmployment",
defaultMessage: "Log in and link employment", defaultMessage: "Log in and link employment",
@@ -50,7 +50,7 @@ export default async function EmployeeBenefitsCallToActions() {
})} })}
</p> </p>
</Typography> </Typography>
<ButtonLink href={signup[lang]} size="Medium" variant="Secondary"> <ButtonLink href={signup[lang]} size="md" variant="Secondary">
{intl.formatMessage({ {intl.formatMessage({
id: "dtmc.signUpAndLinkEmployment", id: "dtmc.signUpAndLinkEmployment",
defaultMessage: "Sign up and link employment", defaultMessage: "Sign up and link employment",
@@ -65,12 +65,7 @@ export default async function EmployeeBenefitsCallToActions() {
return ( return (
<div className={styles.container}> <div className={styles.container}>
<DigitalTeamMemberCard user={user}> <DigitalTeamMemberCard user={user}>
<TeamMemberCardTrigger <TeamMemberCardTrigger size="md" variant="Tertiary" color="Primary">
size="Medium"
variant="Tertiary"
color="Primary"
typography="Body/Paragraph/mdBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "dtmc.showTeamMemberCard", id: "dtmc.showTeamMemberCard",
defaultMessage: "Show Team Member Card", defaultMessage: "Show Team Member Card",
@@ -86,7 +81,7 @@ export default async function EmployeeBenefitsCallToActions() {
<ButtonLink <ButtonLink
href={dtmcLogin[lang]} href={dtmcLogin[lang]}
prefetch={false} prefetch={false}
size="Medium" size="md"
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
> >

View File

@@ -159,7 +159,7 @@ export default function Form({ user }: EditFormProps) {
defaultMessage: "Discard unsaved changes?", defaultMessage: "Discard unsaved changes?",
})} })}
trigger={ trigger={
<Button variant="Secondary" size="Small" color="Primary"> <Button variant="Secondary" size="sm" color="Primary">
{intl.formatMessage({ {intl.formatMessage({
id: "editProfile.discardChanges", id: "editProfile.discardChanges",
defaultMessage: "Discard changes", defaultMessage: "Discard changes",
@@ -171,7 +171,7 @@ export default function Form({ user }: EditFormProps) {
isDisabled={!isValid || methods.formState.isSubmitting} isDisabled={!isValid || methods.formState.isSubmitting}
form={formId} form={formId}
variant="Primary" variant="Primary"
size="Small" size="sm"
color="Primary" color="Primary"
type="submit" type="submit"
> >

View File

@@ -166,10 +166,9 @@ export function ProfilingConsent({
> >
<Button <Button
type="submit" type="submit"
typography="Body/Paragraph/mdBold"
variant="Primary" variant="Primary"
color="Primary" color="Primary"
size="Medium" size="md"
isDisabled={!isDirty} isDisabled={!isDirty}
isPending={isLoading} isPending={isLoading}
> >
@@ -181,11 +180,10 @@ export function ProfilingConsent({
</Tooltip> </Tooltip>
<Button <Button
type="button" type="button"
typography="Body/Paragraph/mdBold"
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
onClick={() => { onPress={() => {
backToProfile() backToProfile()
trackConsentAction({ trackConsentAction({
position: "profile", position: "profile",

View File

@@ -405,7 +405,6 @@ export default function SignupForm({
type="submit" type="submit"
variant="Primary" variant="Primary"
onPress={() => methods.trigger()} onPress={() => methods.trigger()}
typography="Body/Paragraph/mdBold"
data-testid="trigger-validation" data-testid="trigger-validation"
> >
{signupButtonText} {signupButtonText}
@@ -416,7 +415,6 @@ export default function SignupForm({
type="submit" type="submit"
variant="Primary" variant="Primary"
isDisabled={methods.formState.isSubmitting || signup.isPending} isDisabled={methods.formState.isSubmitting || signup.isPending}
typography="Body/Paragraph/mdBold"
data-testid="submit" data-testid="submit"
> >
{signupButtonText} {signupButtonText}

View File

@@ -90,7 +90,6 @@ export default function MyPagesMenuWrapper() {
redirectTo={loginPathname} redirectTo={loginPathname}
loginPosition="top-menu" loginPosition="top-menu"
variant="Text" variant="Text"
typography="Body/Paragraph/mdBold"
wrapping={false} wrapping={false}
> >
<Avatar /> <Avatar />

View File

@@ -63,7 +63,6 @@ export default function MegaMenu({
<ButtonLink <ButtonLink
href={seeAllLink.url} href={seeAllLink.url}
variant="Text" variant="Text"
typography="Body/Paragraph/mdBold"
onClick={handleNavigate} onClick={handleNavigate}
wrapping={false} wrapping={false}
> >

View File

@@ -92,11 +92,7 @@ export default function HotelFilterAndSort() {
return ( return (
<DialogTrigger onOpenChange={handleClose}> <DialogTrigger onOpenChange={handleClose}>
<div className={styles.buttonWrapper}> <div className={styles.buttonWrapper}>
<Button <Button variant="Text" wrapping={false}>
variant="Text"
wrapping={false}
typography="Body/Paragraph/mdBold"
>
<MaterialIcon icon="filter_alt" color="CurrentColor" /> <MaterialIcon icon="filter_alt" color="CurrentColor" />
{intl.formatMessage({ {intl.formatMessage({
id: "filter.filterAndSort", id: "filter.filterAndSort",
@@ -129,9 +125,12 @@ export default function HotelFilterAndSort() {
})} })}
</h3> </h3>
</Typography> </Typography>
<IconButton onPress={close} variant="Muted" emphasis> <IconButton
<MaterialIcon icon="close" color="CurrentColor" /> onPress={close}
</IconButton> variant="Muted"
emphasis
iconName="close"
/>
</header> </header>
<div className={styles.content}> <div className={styles.content}>
<Sort sortItems={sortItems} /> <Sort sortItems={sortItems} />
@@ -149,11 +148,7 @@ export default function HotelFilterAndSort() {
</div> </div>
)} )}
<footer className={styles.footer}> <footer className={styles.footer}>
<Button <Button onPress={clearPendingFilters} variant="Text">
onClick={clearPendingFilters}
variant="Text"
typography="Body/Paragraph/mdBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "filter.clearAllFilters", id: "filter.clearAllFilters",
defaultMessage: "Clear all filters", defaultMessage: "Clear all filters",
@@ -161,10 +156,9 @@ export default function HotelFilterAndSort() {
</Button> </Button>
<Button <Button
variant="Tertiary" variant="Tertiary"
size="Large" size="lg"
isDisabled={pendingCount === 0} isDisabled={pendingCount === 0}
onPress={() => submitAndClose(close)} onPress={() => submitAndClose(close)}
typography="Body/Paragraph/mdBold"
> >
{intl.formatMessage( {intl.formatMessage(
{ {

View File

@@ -78,7 +78,7 @@ export default function AdditionalInfoForm({
<Button <Button
type="submit" type="submit"
variant="Primary" variant="Primary"
size="Medium" size="md"
isDisabled={form.formState.isSubmitting} isDisabled={form.formState.isSubmitting}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -171,7 +171,7 @@ export default function FindMyBooking({
<Button <Button
type="submit" type="submit"
variant="Primary" variant="Primary"
size="Large" size="lg"
isDisabled={form.formState.isSubmitting || update.isPending} isDisabled={form.formState.isSubmitting || update.isPending}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -64,7 +64,7 @@ export default function SelectDeliveryTime() {
<Button <Button
wrapping={false} wrapping={false}
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
className={styles.changeButton} className={styles.changeButton}
onPress={() => setShowChangeTime(true)} onPress={() => setShowChangeTime(true)}

View File

@@ -73,7 +73,7 @@ export default function DeliveryMethodStep() {
<Button <Button
wrapping={false} wrapping={false}
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
className={styles.requestButton} className={styles.requestButton}
onPress={() => setShowSpecialRequests(true)} onPress={() => setShowSpecialRequests(true)}

View File

@@ -185,8 +185,7 @@ export default function Summary({ onSubmit }: { onSubmit: () => void }) {
{isConfirmation && ( {isConfirmation && (
<Button <Button
type="button" type="button"
typography="Body/Supporting text (caption)/smBold" size="sm"
size="Small"
variant="Text" variant="Text"
onPress={togglePriceDetails} onPress={togglePriceDetails}
className={styles.priceButton} className={styles.priceButton}
@@ -209,10 +208,9 @@ export default function Summary({ onSubmit }: { onSubmit: () => void }) {
<div className={styles.buttons}> <div className={styles.buttons}>
<Button <Button
typography="Body/Supporting text (caption)/smBold"
type="button" type="button"
variant="Text" variant="Text"
size="Medium" size="sm"
color="Primary" color="Primary"
wrapping={false} wrapping={false}
onPress={prevStep} onPress={prevStep}
@@ -220,11 +218,8 @@ export default function Summary({ onSubmit }: { onSubmit: () => void }) {
{secondaryButtonLabel} {secondaryButtonLabel}
</Button> </Button>
<Button <Button
typography="Body/Supporting text (caption)/smBold" size="sm"
size="Medium" isDisabled={isSubmitting}
isDisabled={
isSubmitting || (isConfirmation && !!Object.keys(errors).length)
}
isPending={isSubmitting} isPending={isSubmitting}
onPress={handleNextStep} onPress={handleNextStep}
variant={isSingleItem || isConfirmation ? "Primary" : "Secondary"} variant={isSingleItem || isConfirmation ? "Primary" : "Secondary"}

View File

@@ -24,7 +24,7 @@ export default function AllAncillariesModal() {
<div> <div>
<Button <Button
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
onPress={() => setIsOpen(true)} onPress={() => setIsOpen(true)}
> >

View File

@@ -11,11 +11,7 @@ export default function CustomerSupport() {
return ( return (
<DialogTrigger> <DialogTrigger>
<Button <Button variant="Secondary" size="sm">
variant="Secondary"
size="Small"
typography="Body/Supporting text (caption)/smBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "common.customerSupport", id: "common.customerSupport",
defaultMessage: "Customer support", defaultMessage: "Customer support",

View File

@@ -46,12 +46,7 @@ export default function NotUpcoming() {
return ( return (
<> <>
{!isWebview(pathname) && ( {!isWebview(pathname) && (
<ButtonLink <ButtonLink variant="Tertiary" size="md" href={url}>
variant="Tertiary"
size="Medium"
href={url}
typography="Body/Supporting text (caption)/smBold"
>
{intl.formatMessage({ {intl.formatMessage({
defaultMessage: "Rebook", defaultMessage: "Rebook",
id: "myStay.referenceCard.actions.rebook", id: "myStay.referenceCard.actions.rebook",

View File

@@ -24,7 +24,6 @@ export default function ActionsButton({
wrapping={false} wrapping={false}
onPress={onPress} onPress={onPress}
isDisabled={isDisabled} isDisabled={isDisabled}
typography="Body/Paragraph/mdBold"
> >
<MaterialIcon color="CurrentColor" icon={icon} className={styles.icon} /> <MaterialIcon color="CurrentColor" icon={icon} className={styles.icon} />
<span>{text}</span> <span>{text}</span>

View File

@@ -25,12 +25,7 @@ export default function ManageStay() {
} }
return ( return (
<> <>
<Button <Button size="md" variant="Tertiary" onPress={() => setIsOpen(true)}>
size="Medium"
variant="Tertiary"
typography="Body/Supporting text (caption)/smBold"
onPress={() => setIsOpen(true)}
>
<span>{manageStay}</span> <span>{manageStay}</span>
<MaterialIcon color="CurrentColor" icon="keyboard_arrow_down" /> <MaterialIcon color="CurrentColor" icon="keyboard_arrow_down" />
</Button> </Button>

View File

@@ -20,10 +20,9 @@ export default function Upcoming() {
<ManageStay /> <ManageStay />
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
size="Medium" size="md"
target="_blank" target="_blank"
href={directionsUrl} href={directionsUrl}
typography="Body/Supporting text (caption)/smBold"
> >
<span> <span>
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -59,8 +59,7 @@ export function GuaranteeInfoModal() {
className={styles.closeButton} className={styles.closeButton}
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
onPress={() => setIsOpen(false)} onPress={() => setIsOpen(false)}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -268,13 +268,9 @@ export default function Room({ booking, roomNr, user }: RoomProps) {
variant="Muted" variant="Muted"
emphasis emphasis
className={styles.termsInfoIcon} className={styles.termsInfoIcon}
> iconName="info"
<MaterialIcon size="md"
icon="info" />
color="Icon/Default"
size={20}
/>
</IconButton>
} }
> >
<div className={styles.terms}> <div className={styles.terms}>

View File

@@ -55,9 +55,8 @@ export default function Terms() {
emphasis emphasis
size="sm" size="sm"
className={styles.button} className={styles.button}
> iconName="info"
<MaterialIcon icon="info" color="Icon/Default" size={20} /> />
</IconButton>
} }
> >
<div className={styles.terms}> <div className={styles.terms}>

View File

@@ -34,7 +34,7 @@ export default function RoomDetailsSidePeek({
<> <>
<Button <Button
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
wrapping wrapping
onPress={() => { onPress={() => {

View File

@@ -14,8 +14,7 @@ export function MapWithButtonWrapper({ children }: React.PropsWithChildren) {
<FakeButton <FakeButton
variant="Primary" variant="Primary"
color="Inverted" color="Inverted"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
className={styles.button} className={styles.button}
> >
<MaterialIcon icon="map" color="CurrentColor" size={20} /> <MaterialIcon icon="map" color="CurrentColor" size={20} />

View File

@@ -62,12 +62,7 @@ export default function MeetingPackageWidget(props: MeetingPackageWidgetProps) {
</span> </span>
</Typography> </Typography>
</span> </span>
<FakeButton <FakeButton variant="Primary" size="md" isHovered={isHovered}>
variant="Primary"
size="Medium"
typography="Body/Supporting text (caption)/smBold"
isHovered={isHovered}
>
<MaterialIcon icon="search" color="CurrentColor" /> <MaterialIcon icon="search" color="CurrentColor" />
{intl.formatMessage({ {intl.formatMessage({
id: "bookingWidget.button.search", id: "bookingWidget.button.search",
@@ -97,9 +92,8 @@ export default function MeetingPackageWidget(props: MeetingPackageWidgetProps) {
id: "common.close", id: "common.close",
defaultMessage: "Close", defaultMessage: "Close",
})} })}
> iconName="close"
<MaterialIcon icon="close" /> />
</IconButton>
</div> </div>
<MeetingPackageWidgetContent {...props} /> <MeetingPackageWidgetContent {...props} />
</> </>

View File

@@ -48,7 +48,7 @@ export default function CopyMembershipIdButton({
onClick={handleCopy} onClick={handleCopy}
className={styles.copyButton} className={styles.copyButton}
variant="Text" variant="Text"
size="Small" size="sm"
> >
<MaterialIcon icon="content_copy" color="CurrentColor" /> <MaterialIcon icon="content_copy" color="CurrentColor" />
</Button> </Button>

View File

@@ -4,7 +4,7 @@
import { useIntl } from "react-intl" import { useIntl } from "react-intl"
import { dt } from "@scandic-hotels/common/dt" import { dt } from "@scandic-hotels/common/dt"
import { IconButton } from "@scandic-hotels/design-system/IconButton" // client only import { IconButton } from "@scandic-hotels/design-system/IconButton"; // client only
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import Modal from "@scandic-hotels/design-system/Modal" import Modal from "@scandic-hotels/design-system/Modal"
import Link from "@scandic-hotels/design-system/OldDSLink" import Link from "@scandic-hotels/design-system/OldDSLink"
@@ -35,17 +35,11 @@ export default function LevelProgressModal({
<Modal <Modal
className={styles.dialog} className={styles.dialog}
trigger={ trigger={
<IconButton variant="Muted" emphasis> <IconButton
<MaterialIcon variant="Muted"
className={styles.infoButton} emphasis={color !== "Surface/Brand/Primary 1/OnSurface/Default"}
icon="info" iconName="info"
color={ />
color === "Surface/Brand/Primary 1/OnSurface/Default"
? "Icon/Inverted"
: "Icon/Interactive/Default"
}
/>
</IconButton>
} }
> >
<div className={styles.levelProgressModal}> <div className={styles.levelProgressModal}>

View File

@@ -140,12 +140,7 @@ export default async function Profile() {
</span> </span>
</h2> </h2>
</Typography> </Typography>
<ButtonLink <ButtonLink size="sm" prefetch={false} href={profileEdit[lang]}>
size="Small"
prefetch={false}
href={profileEdit[lang]}
typography="Body/Supporting text (caption)/smBold"
>
{intl.formatMessage({ {intl.formatMessage({
id: "myPages.editProfile", id: "myPages.editProfile",
defaultMessage: "Edit profile", defaultMessage: "Edit profile",

View File

@@ -18,9 +18,8 @@ export function BannerButton({ cta }: BannerButtonProps) {
<Button <Button
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold" onPress={handleOpenModal}
onClick={handleOpenModal}
> >
{cta} {cta}
</Button> </Button>

View File

@@ -13,9 +13,9 @@ import { trpc } from "@scandic-hotels/trpc/client"
import { useUpdateProfilingConsent } from "@/hooks/useUpdateProfilingConsent" import { useUpdateProfilingConsent } from "@/hooks/useUpdateProfilingConsent"
import { import {
setDismissed as persistDismissed,
profilingConsentOpenEvent, profilingConsentOpenEvent,
readDismissed, readDismissed,
setDismissed as persistDismissed,
} from "@/utils/profilingConsent" } from "@/utils/profilingConsent"
import { trackConsentAction } from "@/utils/tracking/profilingConsent" import { trackConsentAction } from "@/utils/tracking/profilingConsent"
@@ -159,10 +159,10 @@ export default function ProfilingConsentModal({
<Button <Button
type="button" type="button"
variant="Text" variant="Text"
size="Large" size="lg"
color="Primary" color="Primary"
className={styles.closeBtn} className={styles.closeBtn}
onClick={() => { onPress={() => {
trackConsentAction({ position: "modal", name: "close" }) trackConsentAction({ position: "modal", name: "close" })
onClose() onClose()
}} }}
@@ -216,12 +216,11 @@ export default function ProfilingConsentModal({
<Button <Button
variant="Primary" variant="Primary"
color="Primary" color="Primary"
size="Large" size="lg"
typography="Body/Supporting text (caption)/smRegular"
type="button" type="button"
isDisabled={isLoading} isDisabled={isLoading}
isPending={isLoading && activeChoice === true} isPending={isLoading && activeChoice === true}
onClick={() => { onPress={() => {
trackConsentAction({ trackConsentAction({
position: "modal", position: "modal",
name: "accept personalization", name: "accept personalization",
@@ -236,13 +235,12 @@ export default function ProfilingConsentModal({
</Button> </Button>
<Button <Button
variant="Secondary" variant="Secondary"
size="Large" size="lg"
color="Primary" color="Primary"
typography="Body/Supporting text (caption)/smRegular"
type="button" type="button"
isDisabled={isLoading} isDisabled={isLoading}
isPending={isLoading && activeChoice === false} isPending={isLoading && activeChoice === false}
onClick={() => { onPress={() => {
trackConsentAction({ position: "modal", name: "decline" }) trackConsentAction({ position: "modal", name: "decline" })
handleConsentClick(false) handleConsentClick(false)
}} }}

View File

@@ -60,9 +60,8 @@ export default function Initial({ totalSurprises, onOpen }: InitialProps) {
<Button <Button
variant="Primary" variant="Primary"
onPress={onOpen} onPress={onOpen}
size="Medium" size="md"
autoFocus autoFocus
typography="Body/Paragraph/mdBold"
className={styles.widthFull} className={styles.widthFull}
> >
{intl.formatMessage( {intl.formatMessage(

View File

@@ -20,8 +20,7 @@ export default function Navigation({
variant="Text" variant="Text"
isDisabled={selectedSurprise === 0} isDisabled={selectedSurprise === 0}
onPress={() => showSurprise(-1)} onPress={() => showSurprise(-1)}
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
> >
<MaterialIcon <MaterialIcon
icon="chevron_right" icon="chevron_right"
@@ -38,8 +37,7 @@ export default function Navigation({
variant="Text" variant="Text"
isDisabled={selectedSurprise === totalSurprises - 1} isDisabled={selectedSurprise === totalSurprises - 1}
onPress={() => showSurprise(1)} onPress={() => showSurprise(1)}
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "common.next", id: "common.next",

View File

@@ -100,9 +100,8 @@ export default function AddCreditCardButton() {
className={styles.addCreditCardButton} className={styles.addCreditCardButton}
variant="Text" variant="Text"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold" onPress={() =>
onClick={() =>
initiateAddCard.mutate({ initiateAddCard.mutate({
language: lang, language: lang,
}) })

View File

@@ -2,7 +2,6 @@
import { useIntl } from "react-intl" import { useIntl } from "react-intl"
import { IconButton } from "@scandic-hotels/design-system/IconButton" import { IconButton } from "@scandic-hotels/design-system/IconButton"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { toast } from "@scandic-hotels/design-system/Toast" import { toast } from "@scandic-hotels/design-system/Toast"
import { trpc } from "@scandic-hotels/trpc/client" import { trpc } from "@scandic-hotels/trpc/client"
@@ -77,9 +76,8 @@ export default function DeleteCreditCardConfirmation({
id: "profile.creditCard.deleteCard", id: "profile.creditCard.deleteCard",
defaultMessage: "Delete card", defaultMessage: "Delete card",
})} })}
> iconName="delete"
<MaterialIcon icon="delete" color="Icon/Interactive/Default" /> />
</IconButton>
} }
/> />
) )

View File

@@ -43,8 +43,7 @@ export default function AccessibilityAccordionItem({
href={accessibilityPageHref} href={accessibilityPageHref}
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Medium" size="md"
typography="Body/Paragraph/mdBold"
> >
{intl.formatMessage({ {intl.formatMessage({
id: "accessibility.aboutAccessibility", id: "accessibility.aboutAccessibility",

View File

@@ -23,7 +23,6 @@ export function LoyaltyLoginButton() {
redirectTo={loginPathname} redirectTo={loginPathname}
loginPosition="scandic-friends-sidebar" loginPosition="scandic-friends-sidebar"
variant="Text" variant="Text"
typography="Body/Supporting text (caption)/smBold"
wrapping={false} wrapping={false}
> >
<MaterialIcon icon="arrow_forward" color="CurrentColor" size={20} /> <MaterialIcon icon="arrow_forward" color="CurrentColor" size={20} />

View File

@@ -40,7 +40,7 @@ export default async function JoinLoyaltyContact({
<Typography variant="Body/Paragraph/mdBold"> <Typography variant="Body/Paragraph/mdBold">
<ButtonLink <ButtonLink
className={styles.button} className={styles.button}
size="Small" size="sm"
wrapping wrapping
href={block.button.href} href={block.button.href}
target={block.button.openInNewTab ? "_blank" : "_self"} target={block.button.openInNewTab ? "_blank" : "_self"}

View File

@@ -113,12 +113,8 @@ export default function PasswordInput({
} }
aria-controls={field.name} aria-controls={field.name}
className={styles.toggleButton} className={styles.toggleButton}
> iconName={isPasswordVisible ? "visibility_off" : "visibility"}
<MaterialIcon />
icon={isPasswordVisible ? "visibility_off" : "visibility"}
size={24}
/>
</IconButton>
) : null} ) : null}
</div> </div>

View File

@@ -17,8 +17,7 @@ interface ShowMoreButtonProps extends ComponentProps<typeof Button> {
export default function ShowMoreButton({ export default function ShowMoreButton({
variant = "Text", variant = "Text",
color = "Primary", color = "Primary",
size = "Medium", size = "md",
typography = "Body/Paragraph/mdBold",
showLess, showLess,
textShowMore, textShowMore,
textShowLess, textShowLess,
@@ -47,7 +46,6 @@ export default function ShowMoreButton({
color={color} color={color}
size={size} size={size}
onPress={loadMoreData} onPress={loadMoreData}
typography={typography}
{...props} {...props}
> >
{showLess ? ( {showLess ? (

View File

@@ -27,8 +27,7 @@ export default function TeaserCardSidepeek({
onPress={() => setSidePeekIsOpen(true)} onPress={() => setSidePeekIsOpen(true)}
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
> >
{button.call_to_action_text} {button.call_to_action_text}
<MaterialIcon icon="chevron_right" size={20} color="CurrentColor" /> <MaterialIcon icon="chevron_right" size={20} color="CurrentColor" />
@@ -54,8 +53,7 @@ export default function TeaserCardSidepeek({
<ButtonLink <ButtonLink
variant="Primary" variant="Primary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
href={primary_button.href} href={primary_button.href}
target={primary_button.openInNewTab ? "_blank" : undefined} target={primary_button.openInNewTab ? "_blank" : undefined}
> >
@@ -66,8 +64,7 @@ export default function TeaserCardSidepeek({
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
href={secondary_button.href} href={secondary_button.href}
target={secondary_button.openInNewTab ? "_blank" : undefined} target={secondary_button.openInNewTab ? "_blank" : undefined}
> >

View File

@@ -57,8 +57,7 @@ export default function TeaserCard({
<ButtonLink <ButtonLink
variant="Tertiary" variant="Tertiary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
className={styles.ctaButton} className={styles.ctaButton}
href={primaryButton.href} href={primaryButton.href}
target={primaryButton.openInNewTab ? "_blank" : undefined} target={primaryButton.openInNewTab ? "_blank" : undefined}
@@ -70,8 +69,7 @@ export default function TeaserCard({
<ButtonLink <ButtonLink
variant="Secondary" variant="Secondary"
color="Primary" color="Primary"
size="Small" size="sm"
typography="Body/Supporting text (caption)/smBold"
className={styles.ctaButton} className={styles.ctaButton}
href={secondaryButton.href} href={secondaryButton.href}
target={secondaryButton.openInNewTab ? "_blank" : undefined} target={secondaryButton.openInNewTab ? "_blank" : undefined}

View File

@@ -134,13 +134,16 @@ export default function BookingCodeFilter() {
})} })}
</h3> </h3>
</Typography> </Typography>
<IconButton variant="Muted" emphasis onPress={close}> <IconButton
<MaterialIcon variant="Muted"
icon="close" emphasis
size={24} onPress={close}
color="CurrentColor" iconName="close"
/> aria-label={intl.formatMessage({
</IconButton> id: "common.close",
defaultMessage: "Close",
})}
/>
</div> </div>
<Typography variant="Body/Paragraph/mdRegular"> <Typography variant="Body/Paragraph/mdRegular">
<RadioGroup <RadioGroup

View File

@@ -8,14 +8,7 @@ export function AddToCalendarButton({ onPress }: { onPress: () => void }) {
const intl = useIntl() const intl = useIntl()
return ( return (
<Button <Button variant="Text" size="sm" color="Primary" onPress={onPress}>
variant="Text"
size="Small"
color="Primary"
wrapping
typography="Body/Supporting text (caption)/smBold"
onPress={onPress}
>
<MaterialIcon size={20} icon="calendar_add_on" color="CurrentColor" /> <MaterialIcon size={20} icon="calendar_add_on" color="CurrentColor" />
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -39,9 +39,8 @@ export default function ManageBooking({ booking }: ManageBookingProps) {
<ButtonLink <ButtonLink
href={myStayURL} href={myStayURL}
variant="Text" variant="Text"
size="Small" size="sm"
color="Primary" color="Primary"
typography="Body/Supporting text (caption)/smBold"
wrapping wrapping
> >
<MaterialIcon size={20} icon="edit_square" color="CurrentColor" /> <MaterialIcon size={20} icon="edit_square" color="CurrentColor" />

View File

@@ -26,7 +26,7 @@ export function Promo({ buttonText, href, text, title }: PromoProps) {
<Typography variant="Body/Paragraph/mdRegular"> <Typography variant="Body/Paragraph/mdRegular">
<p className={styles.text}>{text}</p> <p className={styles.text}>{text}</p>
</Typography> </Typography>
<Button size="Small" variant="Secondary" color="Inverted" wrapping> <Button size="sm" variant="Secondary" color="Inverted" wrapping>
<div>{buttonText}</div> <div>{buttonText}</div>
</Button> </Button>
</article> </article>

View File

@@ -137,7 +137,6 @@ export function ReceiptRoom({
<Button <Button
className={styles.termsButton} className={styles.termsButton}
variant="Text" variant="Text"
typography="Body/Supporting text (caption)/smBold"
wrapping={false} wrapping={false}
> >
{intl.formatMessage({ {intl.formatMessage({

View File

@@ -24,7 +24,7 @@ export default function Retry({ handleRefetch }: RetryProps) {
</p> </p>
</Typography> </Typography>
<Button size="Small" onPress={handleRefetch}> <Button size="sm" onPress={handleRefetch}>
{intl.formatMessage({ {intl.formatMessage({
id: "bookingConfirmation.linkedReservation.tryAgain", id: "bookingConfirmation.linkedReservation.tryAgain",
defaultMessage: "Try again", defaultMessage: "Try again",

Some files were not shown because too many files have changed in this diff Show More