このコミットが含まれているのは:
2026-07-06 21:17:39 +09:00
コミット 59a87c0e11
+76 -3
ファイルの表示
@@ -905,7 +905,7 @@ const normaliseThemeTokenValue = (
typeof value === 'string' && value !== '' ? value : fallback
const normaliseTopNavColourValue = (
const cssColourFromThemeToken = (
value: unknown,
fallback: string,
): string => {
@@ -1068,6 +1068,10 @@ export const buildThemeTokens = (
?? legacyTopNavTokens.topNavLink,
fallback.topNavBrandLink,
)
const topNavMenuLink = cssColourFromThemeToken (
link,
fallback.topNavMenuLink,
)
const resolvedTopNav = deriveTopNavTokens (
baseTheme,
{
@@ -1076,7 +1080,7 @@ export const buildThemeTokens = (
activeBackground: topNavActiveBackground,
brandLink: topNavBrandLink,
},
link,
topNavMenuLink,
)
return {
@@ -1116,11 +1120,80 @@ export const buildThemeTokens = (
}
const normaliseTopNavColourValue = (
value: unknown,
fallback: string,
): string => {
return cssColourFromThemeToken (value, fallback)
}
const normaliseThemeTokens = (
rawTokens: unknown,
baseTheme: BuiltinThemeId,
): ThemeTokens => {
return buildThemeTokens (baseTheme, rawTokens)
const fallback = baseTheme === 'dark' ? DARK_THEME_TOKENS : LIGHT_THEME_TOKENS
const tokens =
rawTokens && typeof rawTokens === 'object'
? rawTokens as Partial<ThemeTokens>
: { }
const legacyTopNavTokens =
rawTokens && typeof rawTokens === 'object'
? rawTokens as Record<string, unknown>
: { }
const background =
normaliseThemeTokenValue (tokens.background, fallback.background)
const foreground =
normaliseThemeTokenValue (tokens.foreground, fallback.foreground)
const card =
normaliseThemeTokenValue (tokens.card, fallback.card)
const muted =
normaliseThemeTokenValue (tokens.muted, fallback.muted)
const primary =
normaliseThemeTokenValue (tokens.primary, fallback.primary)
const accent =
normaliseThemeTokenValue (tokens.accent, fallback.accent)
const border =
normaliseThemeTokenValue (tokens.border, fallback.border)
const link =
normaliseThemeTokenValue (tokens.link, fallback.link)
return buildThemeTokens (
baseTheme,
{
...tokens,
background,
foreground,
card,
muted,
primary,
accent,
border,
link,
topNavRootBackgroundMobile:
tokens.topNavRootBackgroundMobile
?? legacyTopNavTokens.topNavRootBackgroundMobile
?? legacyTopNavTokens.topNavBackground,
topNavRootBackgroundDesktop:
tokens.topNavRootBackgroundDesktop
?? legacyTopNavTokens.topNavRootBackgroundDesktop
?? legacyTopNavTokens.topNavBackground,
topNavActiveBackground:
tokens.topNavActiveBackground
?? legacyTopNavTokens.topNavActiveBackground
?? legacyTopNavTokens.topNavHighlightBackground,
topNavBrandLink:
tokens.topNavBrandLink
?? legacyTopNavTokens.topNavBrandLink
?? legacyTopNavTokens.topNavLink,
topNavMenuLink:
tokens.topNavMenuLink
?? legacyTopNavTokens.topNavMenuLink
?? link,
tagColours: normaliseThemeTagColours (tokens.tagColours, fallback.tagColours),
},
)
}