MCPcopy
hub / github.com/primer/react / applyColorScheme

Function applyColorScheme

packages/react/src/ThemeProvider.tsx:228–255  ·  view source on GitHub ↗
(
  theme: Theme,
  colorScheme: string,
)

Source from the content-addressed store, hash-verified

226}
227
228function applyColorScheme(
229 theme: Theme,
230 colorScheme: string,
231): {resolvedTheme: Theme; resolvedColorScheme: string | undefined} {
232 if (!theme.colorSchemes) {
233 return {
234 resolvedTheme: theme,
235 resolvedColorScheme: undefined,
236 }
237 }
238
239 if (!theme.colorSchemes[colorScheme]) {
240 // eslint-disable-next-line no-console
241 console.error(`\`${colorScheme}\` scheme not defined in \`theme.colorSchemes\``)
242
243 // Apply the first defined color scheme
244 const defaultColorScheme = Object.keys(theme.colorSchemes)[0]
245 return {
246 resolvedTheme: deepmerge(theme, theme.colorSchemes[defaultColorScheme]),
247 resolvedColorScheme: defaultColorScheme,
248 }
249 }
250
251 return {
252 resolvedTheme: deepmerge(theme, theme.colorSchemes[colorScheme]),
253 resolvedColorScheme: colorScheme,
254 }
255}
256
257export default ThemeProvider

Callers 1

ThemeProviderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected