chore(SW-3145): Move Body component to design-system * Move Body component to design-system Approved-by: Joakim Jäderberg
98 lines
2.5 KiB
TypeScript
98 lines
2.5 KiB
TypeScript
import type Body from "@scandic-hotels/design-system/Body"
|
|
import type { VariantProps } from "class-variance-authority"
|
|
import type { ComponentProps } from "react"
|
|
|
|
import type { ButtonProps } from "@/components/TempDesignSystem/Button/button"
|
|
import type { CardProps } from "@/components/TempDesignSystem/Card/card"
|
|
import type { biroScriptVariants } from "@/components/TempDesignSystem/Text/BiroScript/variants"
|
|
import type { headingVariants } from "@/components/TempDesignSystem/Text/Title/variants"
|
|
|
|
export function getTitleFontColor(
|
|
theme: CardProps["theme"]
|
|
): VariantProps<typeof headingVariants>["color"] {
|
|
switch (theme) {
|
|
case "one":
|
|
return "primaryLight"
|
|
case "two":
|
|
return "secondaryLight"
|
|
case "three":
|
|
return "tertiaryLight"
|
|
case "primaryDark":
|
|
return "primaryDark"
|
|
case "primaryDim":
|
|
return "primaryDim"
|
|
case "primaryInverted":
|
|
return "primaryLight"
|
|
case "primaryStrong":
|
|
return "primaryStrong"
|
|
case "image":
|
|
return "baseText"
|
|
}
|
|
}
|
|
|
|
export function getScriptFontColor(
|
|
theme: CardProps["theme"]
|
|
): VariantProps<typeof biroScriptVariants>["color"] {
|
|
switch (theme) {
|
|
case "one":
|
|
return "primaryLightOnSurfaceAccent"
|
|
case "two":
|
|
return "secondaryLightAccent"
|
|
case "three":
|
|
return "tertiaryLightAccent"
|
|
case "primaryDark":
|
|
return "pink"
|
|
case "primaryDim":
|
|
return "primaryDimAccent"
|
|
case "primaryInverted":
|
|
return "primaryLightOnSurfaceAccent"
|
|
case "primaryStrong":
|
|
return "primaryStrongAccent"
|
|
case "image":
|
|
return "baseText"
|
|
}
|
|
}
|
|
|
|
type BodyColor = ComponentProps<typeof Body>["color"]
|
|
export function getBodyFontColor(theme: CardProps["theme"]): BodyColor {
|
|
switch (theme) {
|
|
case "one":
|
|
return "primaryLight"
|
|
case "two":
|
|
return "secondaryLight"
|
|
case "three":
|
|
return "tertiaryLight"
|
|
case "primaryDark":
|
|
return "primaryDark"
|
|
case "primaryDim":
|
|
return "primaryDim"
|
|
case "primaryInverted":
|
|
return "primaryLight"
|
|
case "primaryStrong":
|
|
return "primaryStrong"
|
|
case "image":
|
|
return "baseText"
|
|
}
|
|
}
|
|
|
|
export function getButtonTheme(
|
|
theme: CardProps["theme"]
|
|
): ButtonProps["theme"] {
|
|
switch (theme) {
|
|
case "two":
|
|
return "secondaryLight"
|
|
case "three":
|
|
return "tertiaryLight"
|
|
case "primaryDark":
|
|
return "primaryDark"
|
|
case "primaryStrong":
|
|
case "image":
|
|
return "primaryStrong"
|
|
case "one":
|
|
case "primaryDim":
|
|
case "primaryInverted":
|
|
default:
|
|
return "primaryLight"
|
|
}
|
|
}
|