Merge pull request #10145 from awanlin/topic/removed-unused-burst-properties
Removed unused properties from BackstagePaletteAdditions
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
Previously, the color of the Entity Context Menu (in the Entity Page Header) was hardcoded as `white`.
|
||||
|
||||
This was an issue for themes that use a header with a white background. By default, the color of the icon is now `theme.palette.bursts.fontColor`.
|
||||
This was an issue for themes that use a header with a white background. By default, the color of the icon is now `theme.page.fontColor`.
|
||||
|
||||
It can now also be overridden in the theme, which is only necessary if the header title, subtitle and three-dots icon need to have different colors. For example:
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/theme': patch
|
||||
---
|
||||
|
||||
**DEPRECATED**: The `bursts` object from `BackstagePaletteAdditions` has been depreciated and will be removed in a future release
|
||||
|
||||
The `genPageTheme` function now includes an optional options object with an optional `fontColor` which defaults to white if not provided.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/plugin-catalog': patch
|
||||
---
|
||||
|
||||
Updated to remove usage of the `bursts` object in the theme palette
|
||||
@@ -66,13 +66,13 @@ const useStyles = makeStyles<BackstageTheme>(
|
||||
alignItems: 'center',
|
||||
},
|
||||
title: {
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.page.fontColor,
|
||||
wordBreak: 'break-word',
|
||||
fontSize: theme.typography.h3.fontSize,
|
||||
marginBottom: 0,
|
||||
},
|
||||
subtitle: {
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.page.fontColor,
|
||||
opacity: 0.8,
|
||||
display: 'inline-block', // prevents margin collapse of adjacent siblings
|
||||
marginTop: theme.spacing(1),
|
||||
@@ -83,10 +83,10 @@ const useStyles = makeStyles<BackstageTheme>(
|
||||
fontSize: 11,
|
||||
opacity: 0.8,
|
||||
marginBottom: theme.spacing(1),
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.page.fontColor,
|
||||
},
|
||||
breadcrumb: {
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.page.fontColor,
|
||||
},
|
||||
breadcrumbType: {
|
||||
fontSize: 'inherit',
|
||||
|
||||
@@ -27,7 +27,7 @@ const styles = (theme: BackstageTheme) =>
|
||||
root: {
|
||||
color: theme.palette.common.white,
|
||||
padding: theme.spacing(2, 2, 3),
|
||||
backgroundImage: theme.palette.bursts.gradient.linear,
|
||||
backgroundImage: theme.getPageTheme({ themeId: 'card' }).backgroundImage,
|
||||
backgroundPosition: 0,
|
||||
backgroundSize: 'inherit',
|
||||
},
|
||||
|
||||
@@ -85,14 +85,14 @@ const useStyles = makeStyles<BackstageTheme, { sidebarConfig: SidebarConfig }>(
|
||||
|
||||
overlayHeader: {
|
||||
display: 'flex',
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.palette.text.primary,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
padding: theme.spacing(2, 3),
|
||||
},
|
||||
|
||||
overlayHeaderClose: {
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.palette.text.primary,
|
||||
},
|
||||
|
||||
marginMobileSidebar: props => ({
|
||||
|
||||
@@ -116,7 +116,13 @@ export function createThemeOverrides(theme: BackstageTheme): Overrides;
|
||||
export const darkTheme: BackstageTheme;
|
||||
|
||||
// @public
|
||||
export function genPageTheme(colors: string[], shape: string): PageTheme;
|
||||
export function genPageTheme(props: {
|
||||
colors: string[];
|
||||
shape: string;
|
||||
options?: {
|
||||
fontColor?: string;
|
||||
};
|
||||
}): PageTheme;
|
||||
|
||||
// @public
|
||||
export const lightTheme: BackstageTheme;
|
||||
@@ -126,6 +132,7 @@ export type PageTheme = {
|
||||
colors: string[];
|
||||
shape: string;
|
||||
backgroundImage: string;
|
||||
fontColor: string;
|
||||
};
|
||||
|
||||
// @public
|
||||
|
||||
@@ -52,6 +52,7 @@ export const colorVariants: Record<string, string[]> = {
|
||||
eveningSea: ['#00FFF2', '#035355'],
|
||||
teal: ['#005B4B'],
|
||||
pinkSea: ['#C8077A', '#C2297D'],
|
||||
greens: ['#4BB8A5', '#187656'],
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -63,12 +64,25 @@ export const colorVariants: Record<string, string[]> = {
|
||||
* As the background shapes and colors are decorative, we place them onto the
|
||||
* page as a css background-image instead of an html element of its own.
|
||||
*/
|
||||
export function genPageTheme(colors: string[], shape: string): PageTheme {
|
||||
export function genPageTheme(props: {
|
||||
colors: string[];
|
||||
shape: string;
|
||||
options?: {
|
||||
fontColor?: string;
|
||||
};
|
||||
}): PageTheme {
|
||||
const { colors, shape, options } = props;
|
||||
const gradientColors = colors.length === 1 ? [colors[0], colors[0]] : colors;
|
||||
const gradient = `linear-gradient(90deg, ${gradientColors.join(', ')})`;
|
||||
const backgroundImage = `${shape}, ${gradient}`;
|
||||
const fontColor = options?.fontColor ?? '#FFFFFF';
|
||||
|
||||
return { colors, shape, backgroundImage };
|
||||
return {
|
||||
colors: colors,
|
||||
shape: shape,
|
||||
backgroundImage: backgroundImage,
|
||||
fontColor: fontColor,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,13 +91,20 @@ export function genPageTheme(colors: string[], shape: string): PageTheme {
|
||||
* @public
|
||||
*/
|
||||
export const pageTheme: Record<string, PageTheme> = {
|
||||
home: genPageTheme(colorVariants.teal, shapes.wave),
|
||||
documentation: genPageTheme(colorVariants.pinkSea, shapes.wave2),
|
||||
tool: genPageTheme(colorVariants.purpleSky, shapes.round),
|
||||
service: genPageTheme(colorVariants.marineBlue, shapes.wave),
|
||||
website: genPageTheme(colorVariants.veryBlue, shapes.wave),
|
||||
library: genPageTheme(colorVariants.rubyRed, shapes.wave),
|
||||
other: genPageTheme(colorVariants.darkGrey, shapes.wave),
|
||||
app: genPageTheme(colorVariants.toastyOrange, shapes.wave),
|
||||
apis: genPageTheme(colorVariants.teal, shapes.wave2),
|
||||
home: genPageTheme({ colors: colorVariants.teal, shape: shapes.wave }),
|
||||
documentation: genPageTheme({
|
||||
colors: colorVariants.pinkSea,
|
||||
shape: shapes.wave2,
|
||||
}),
|
||||
tool: genPageTheme({ colors: colorVariants.purpleSky, shape: shapes.round }),
|
||||
service: genPageTheme({
|
||||
colors: colorVariants.marineBlue,
|
||||
shape: shapes.wave,
|
||||
}),
|
||||
website: genPageTheme({ colors: colorVariants.veryBlue, shape: shapes.wave }),
|
||||
library: genPageTheme({ colors: colorVariants.rubyRed, shape: shapes.wave }),
|
||||
other: genPageTheme({ colors: colorVariants.darkGrey, shape: shapes.wave }),
|
||||
app: genPageTheme({ colors: colorVariants.toastyOrange, shape: shapes.wave }),
|
||||
apis: genPageTheme({ colors: colorVariants.teal, shape: shapes.wave2 }),
|
||||
card: genPageTheme({ colors: colorVariants.greens, shape: shapes.wave }),
|
||||
};
|
||||
|
||||
@@ -63,6 +63,9 @@ export type BackstagePaletteAdditions = {
|
||||
tabbar: {
|
||||
indicator: string;
|
||||
};
|
||||
/**
|
||||
* @deprecated The entire `bursts` section will be removed in a future release
|
||||
*/
|
||||
bursts: {
|
||||
fontColor: string;
|
||||
slackChannelText: string;
|
||||
@@ -161,4 +164,5 @@ export type PageTheme = {
|
||||
colors: string[];
|
||||
shape: string;
|
||||
backgroundImage: string;
|
||||
fontColor: string;
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ const useStyles = makeStyles(
|
||||
(theme: BackstageTheme) => {
|
||||
return {
|
||||
button: {
|
||||
color: theme.palette.bursts.fontColor,
|
||||
color: theme.page.fontColor,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -110,14 +110,14 @@ const monochromeTheme = (outer: BackstageTheme) =>
|
||||
...outer,
|
||||
defaultPageTheme: 'home',
|
||||
pageTheme: {
|
||||
home: genPageTheme(['#444'], shapes.wave2),
|
||||
documentation: genPageTheme(['#474747'], shapes.wave2),
|
||||
tool: genPageTheme(['#222'], shapes.wave2),
|
||||
service: genPageTheme(['#aaa'], shapes.wave2),
|
||||
website: genPageTheme(['#0e0e0e'], shapes.wave2),
|
||||
library: genPageTheme(['#9d9d9d'], shapes.wave2),
|
||||
other: genPageTheme(['#aaa'], shapes.wave2),
|
||||
app: genPageTheme(['#666'], shapes.wave2),
|
||||
home: genPageTheme({ colors: ['#444'], shape: shapes.wave2 }),
|
||||
documentation: genPageTheme({ colors: ['#474747'], shape: shapes.wave2 }),
|
||||
tool: genPageTheme({ colors: ['#222'], shape: shapes.wave2 }),
|
||||
service: genPageTheme({ colors: ['#aaa'], shape: shapes.wave2 }),
|
||||
website: genPageTheme({ colors: ['#0e0e0e'], shape: shapes.wave2 }),
|
||||
library: genPageTheme({ colors: ['#9d9d9d'], shape: shapes.wave2 }),
|
||||
other: genPageTheme({ colors: ['#aaa'], shape: shapes.wave2 }),
|
||||
app: genPageTheme({ colors: ['#666'], shape: shapes.wave2 }),
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user