@backstage/theme 0.2.10 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @backstage/theme
2
2
 
3
+ ## 0.2.14
4
+
5
+ ### Patch Changes
6
+
7
+ - e34f174fc5: Added `<SidebarSubmenu>` and `<SidebarSubmenuItem>` to enable building better sidebars. You can check out the storybook for more inspiration and how to get started.
8
+
9
+ Added two new theme props for styling the sidebar too, `navItem.hoverBackground` and `submenu.background`.
10
+
11
+ - 59677fadb1: Improvements to API Reference documentation
12
+
13
+ ## 0.2.13
14
+
15
+ ### Patch Changes
16
+
17
+ - c11a37710a: Added a warning variant to `DismissableBanner` component. If you are using a
18
+ custom theme, you will need to add the optional `palette.banner.warning` color,
19
+ otherwise this variant will fall back to the `palette.banner.error` color.
20
+
21
+ ## 0.2.12
22
+
23
+ ### Patch Changes
24
+
25
+ - 40cfec8b3f: More theme API cleanup
26
+ - a15d028517: More API fixes: mark things public, add docs, fix exports
27
+
28
+ ## 0.2.11
29
+
30
+ ### Patch Changes
31
+
32
+ - 75bc878221: Internal refactor to avoid importing all of `@material-ui/core`.
33
+
3
34
  ## 0.2.10
4
35
 
5
36
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -2,7 +2,12 @@ import { Theme, ThemeOptions } from '@material-ui/core';
2
2
  import { Palette, PaletteOptions } from '@material-ui/core/styles/createPalette';
3
3
  import { Overrides } from '@material-ui/core/styles/overrides';
4
4
 
5
- declare type PaletteAdditions = {
5
+ /**
6
+ * Backstage specific additions to the material-ui palette.
7
+ *
8
+ * @public
9
+ */
10
+ declare type BackstagePaletteAdditions = {
6
11
  status: {
7
12
  ok: string;
8
13
  warning: string;
@@ -30,6 +35,12 @@ declare type PaletteAdditions = {
30
35
  indicator: string;
31
36
  color: string;
32
37
  selectedColor: string;
38
+ navItem?: {
39
+ hoverBackground: string;
40
+ };
41
+ submenu?: {
42
+ background: string;
43
+ };
33
44
  };
34
45
  tabbar: {
35
46
  indicator: string;
@@ -53,25 +64,60 @@ declare type PaletteAdditions = {
53
64
  error: string;
54
65
  text: string;
55
66
  link: string;
67
+ warning?: string;
56
68
  };
57
69
  };
58
- declare type BackstagePalette = Palette & PaletteAdditions;
59
- declare type BackstagePaletteOptions = PaletteOptions & PaletteAdditions;
70
+ /**
71
+ * The full Backstage palette.
72
+ *
73
+ * @public
74
+ */
75
+ declare type BackstagePalette = Palette & BackstagePaletteAdditions;
76
+ /**
77
+ * The full Backstage palette options.
78
+ *
79
+ * @public
80
+ */
81
+ declare type BackstagePaletteOptions = PaletteOptions & BackstagePaletteAdditions;
82
+ /**
83
+ * Selector for what page theme to use.
84
+ *
85
+ * @public
86
+ */
60
87
  declare type PageThemeSelector = {
61
88
  themeId: string;
62
89
  };
90
+ /**
91
+ * A Backstage theme.
92
+ *
93
+ * @public
94
+ */
63
95
  interface BackstageTheme extends Theme {
64
96
  palette: BackstagePalette;
65
97
  page: PageTheme;
66
- getPageTheme: ({ themeId }: PageThemeSelector) => PageTheme;
98
+ getPageTheme: (selector: PageThemeSelector) => PageTheme;
67
99
  }
100
+ /**
101
+ * Backstage theme options.
102
+ *
103
+ * @public
104
+ * @remarks
105
+ *
106
+ * This is essentially a partial theme definition made by the user, that then
107
+ * gets merged together with defaults and other values to form the final
108
+ * {@link BackstageTheme}.
109
+ *
110
+ */
68
111
  interface BackstageThemeOptions extends ThemeOptions {
69
112
  palette: BackstagePaletteOptions;
70
113
  page: PageTheme;
71
- getPageTheme: ({ themeId }: PageThemeSelector) => PageTheme;
114
+ getPageTheme: (selector: PageThemeSelector) => PageTheme;
72
115
  }
73
116
  /**
74
- * A simpler configuration for creating a new theme that just tweaks some parts of the backstage one.
117
+ * A simpler configuration for creating a new theme that just tweaks some parts
118
+ * of the backstage one.
119
+ *
120
+ * @public
75
121
  */
76
122
  declare type SimpleThemeOptions = {
77
123
  palette: BackstagePaletteOptions;
@@ -79,22 +125,88 @@ declare type SimpleThemeOptions = {
79
125
  pageTheme?: Record<string, PageTheme>;
80
126
  fontFamily?: string;
81
127
  };
128
+ /**
129
+ * The theme definitions for a given layout page.
130
+ *
131
+ * @public
132
+ */
82
133
  declare type PageTheme = {
83
134
  colors: string[];
84
135
  shape: string;
85
136
  backgroundImage: string;
86
137
  };
87
138
 
139
+ /**
140
+ * The default Backstage light theme.
141
+ *
142
+ * @public
143
+ */
88
144
  declare const lightTheme: BackstageTheme;
145
+ /**
146
+ * The default Backstage dark theme.
147
+ *
148
+ * @public
149
+ */
89
150
  declare const darkTheme: BackstageTheme;
90
151
 
152
+ /**
153
+ * A helper for creating theme options.
154
+ *
155
+ * @public
156
+ */
91
157
  declare function createThemeOptions(options: SimpleThemeOptions): BackstageThemeOptions;
158
+ /**
159
+ * A helper for creating theme overrides.
160
+ *
161
+ * @public
162
+ */
92
163
  declare function createThemeOverrides(theme: BackstageTheme): Overrides;
164
+ /**
165
+ * Creates a Backstage MUI theme using a palette. The theme is created with the
166
+ * common Backstage options and component styles.
167
+ *
168
+ * @public
169
+ */
93
170
  declare function createTheme(options: SimpleThemeOptions): BackstageTheme;
94
171
 
172
+ /**
173
+ * The default predefined burst shapes.
174
+ *
175
+ * @public
176
+ * @remarks
177
+ *
178
+ * How to add a shape:
179
+ *
180
+ * 1. Get the svg shape from figma, should be ~1400 wide, ~400 high
181
+ * and only the white-to-transparent mask, no colors.
182
+ * 2. Run it through https://jakearchibald.github.io/svgomg/
183
+ * 3. Run that through https://github.com/tigt/mini-svg-data-uri
184
+ * with something like https://npm.runkit.com/mini-svg-data-uri
185
+ * 4. Wrap the output in `url("")`
186
+ * 5. Give it a name and paste it into the `shapes` object below.
187
+ */
95
188
  declare const shapes: Record<string, string>;
189
+ /**
190
+ * The color range variants that are used in e.g. colorful bursts.
191
+ *
192
+ * @public
193
+ */
96
194
  declare const colorVariants: Record<string, string[]>;
195
+ /**
196
+ * Utility to not have to write colors and shapes twice.
197
+ *
198
+ * @public
199
+ * @remarks
200
+ *
201
+ * As the background shapes and colors are decorative, we place them onto the
202
+ * page as a css background-image instead of an html element of its own.
203
+ */
97
204
  declare function genPageTheme(colors: string[], shape: string): PageTheme;
205
+ /**
206
+ * All of the builtin page themes.
207
+ *
208
+ * @public
209
+ */
98
210
  declare const pageTheme: Record<string, PageTheme>;
99
211
 
100
- export { BackstagePalette, BackstagePaletteOptions, BackstageTheme, BackstageThemeOptions, PageTheme, PageThemeSelector, SimpleThemeOptions, colorVariants, createTheme, createThemeOptions, createThemeOverrides, darkTheme, genPageTheme, lightTheme, pageTheme, shapes };
212
+ export { BackstagePalette, BackstagePaletteAdditions, BackstagePaletteOptions, BackstageTheme, BackstageThemeOptions, PageTheme, PageThemeSelector, SimpleThemeOptions, colorVariants, createTheme, createThemeOptions, createThemeOverrides, darkTheme, genPageTheme, lightTheme, pageTheme, shapes };
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createTheme as createTheme$1 } from '@material-ui/core';
1
+ import { createTheme as createTheme$1 } from '@material-ui/core/styles';
2
2
  import { darken, lighten } from '@material-ui/core/styles/colorManipulator';
3
3
  import { yellow } from '@material-ui/core/colors';
4
4
 
@@ -294,7 +294,8 @@ const lightTheme = createTheme({
294
294
  info: "#2E77D0",
295
295
  error: "#E22134",
296
296
  text: "#FFFFFF",
297
- link: "#000000"
297
+ link: "#000000",
298
+ warning: "#FF9800"
298
299
  },
299
300
  border: "#E6E6E6",
300
301
  textContrast: "#000000",
@@ -314,7 +315,13 @@ const lightTheme = createTheme({
314
315
  background: "#171717",
315
316
  indicator: "#9BF0E1",
316
317
  color: "#b5b5b5",
317
- selectedColor: "#FFF"
318
+ selectedColor: "#FFF",
319
+ navItem: {
320
+ hoverBackground: "#404040"
321
+ },
322
+ submenu: {
323
+ background: "#404040"
324
+ }
318
325
  },
319
326
  pinSidebarButton: {
320
327
  icon: "#181818",
@@ -362,7 +369,8 @@ const darkTheme = createTheme({
362
369
  info: "#2E77D0",
363
370
  error: "#E22134",
364
371
  text: "#FFFFFF",
365
- link: "#000000"
372
+ link: "#000000",
373
+ warning: "#FF9800"
366
374
  },
367
375
  border: "#E6E6E6",
368
376
  textContrast: "#FFFFFF",
@@ -382,7 +390,13 @@ const darkTheme = createTheme({
382
390
  background: "#424242",
383
391
  indicator: "#9BF0E1",
384
392
  color: "#b5b5b5",
385
- selectedColor: "#FFF"
393
+ selectedColor: "#FFF",
394
+ navItem: {
395
+ hoverBackground: "#404040"
396
+ },
397
+ submenu: {
398
+ background: "#404040"
399
+ }
386
400
  },
387
401
  pinSidebarButton: {
388
402
  icon: "#404040",
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/pageTheme.ts","../src/baseTheme.ts","../src/themes.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { PageTheme } from './types';\n\n/*\n # How to add a shape\n 1. Get the svg shape from figma, should be ~1400 wide, ~400 high\n and only the white->transparent mask, no colors.\n 2. Run it through https://jakearchibald.github.io/svgomg/\n 3. Run that through https://github.com/tigt/mini-svg-data-uri\n with something like https://npm.runkit.com/mini-svg-data-uri\n 4. Wrap the output in `url(\"\")`\n 5. Give it a name and paste it into the `shapes` object below.\n*/\nexport const shapes: Record<string, string> = {\n wave: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n wave2: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n round: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n};\n\nexport const colorVariants: Record<string, string[]> = {\n darkGrey: ['#171717', '#383838'],\n marineBlue: ['#006D8F', '#0049A1'],\n veryBlue: ['#0027AF', '#270094'],\n rubyRed: ['#98002B', '#8D1134'],\n toastyOrange: ['#BE2200', '#A41D00'],\n purpleSky: ['#8912CA', '#3E00EA'],\n eveningSea: ['#00FFF2', '#035355'],\n teal: ['#005B4B'],\n pinkSea: ['#C8077A', '#C2297D'],\n};\n\n// As the background shapes and colors are decorative, we place them onto\n// the page as a css background-image instead of an html element of its own.\n// Utility to not have to write colors and shapes twice.\nexport function genPageTheme(colors: string[], shape: string): PageTheme {\n const gradientColors = colors.length === 1 ? [colors[0], colors[0]] : colors;\n const gradient = `linear-gradient(90deg, ${gradientColors.join(', ')})`;\n const backgroundImage = `${shape}, ${gradient}`;\n\n return { colors, shape, backgroundImage };\n}\n\nexport const pageTheme: Record<string, PageTheme> = {\n home: genPageTheme(colorVariants.teal, shapes.wave),\n documentation: genPageTheme(colorVariants.pinkSea, shapes.wave2),\n tool: genPageTheme(colorVariants.purpleSky, shapes.round),\n service: genPageTheme(colorVariants.marineBlue, shapes.wave),\n website: genPageTheme(colorVariants.veryBlue, shapes.wave),\n library: genPageTheme(colorVariants.rubyRed, shapes.wave),\n other: genPageTheme(colorVariants.darkGrey, shapes.wave),\n app: genPageTheme(colorVariants.toastyOrange, shapes.wave),\n apis: genPageTheme(colorVariants.teal, shapes.wave2),\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTheme as createMuiTheme } from '@material-ui/core';\nimport { darken, lighten } from '@material-ui/core/styles/colorManipulator';\nimport { Overrides } from '@material-ui/core/styles/overrides';\n\nimport {\n BackstageTheme,\n BackstageThemeOptions,\n SimpleThemeOptions,\n} from './types';\nimport { pageTheme as defaultPageThemes } from './pageTheme';\n\nconst DEFAULT_FONT_FAMILY =\n '\"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif';\n\nexport function createThemeOptions(\n options: SimpleThemeOptions,\n): BackstageThemeOptions {\n const {\n palette,\n fontFamily = DEFAULT_FONT_FAMILY,\n defaultPageTheme,\n pageTheme = defaultPageThemes,\n } = options;\n\n if (!pageTheme[defaultPageTheme]) {\n throw new Error(`${defaultPageTheme} is not defined in pageTheme.`);\n }\n\n return {\n palette,\n props: {\n MuiGrid: {\n spacing: 2,\n },\n MuiSwitch: {\n color: 'primary',\n },\n },\n typography: {\n fontFamily,\n h5: {\n fontWeight: 700,\n },\n h4: {\n fontWeight: 700,\n fontSize: 28,\n marginBottom: 6,\n },\n h3: {\n fontSize: 32,\n fontWeight: 700,\n marginBottom: 6,\n },\n h2: {\n fontSize: 40,\n fontWeight: 700,\n marginBottom: 8,\n },\n h1: {\n fontSize: 54,\n fontWeight: 700,\n marginBottom: 10,\n },\n },\n page: pageTheme[defaultPageTheme],\n getPageTheme: ({ themeId }) =>\n pageTheme[themeId] ?? pageTheme[defaultPageTheme],\n };\n}\n\nexport function createThemeOverrides(theme: BackstageTheme): Overrides {\n return {\n MuiCssBaseline: {\n '@global': {\n html: {\n height: '100%',\n fontFamily: theme.typography.fontFamily,\n },\n body: {\n height: '100%',\n fontFamily: theme.typography.fontFamily,\n 'overscroll-behavior-y': 'none',\n },\n a: {\n color: 'inherit',\n textDecoration: 'none',\n },\n },\n },\n MuiTableRow: {\n // Alternating row backgrounds\n root: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.background.default,\n },\n },\n // Use pointer for hoverable rows\n hover: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n // Alternating head backgrounds\n head: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.background.paper,\n },\n },\n },\n // Tables are more dense than default mui tables\n MuiTableCell: {\n root: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n verticalAlign: 'middle',\n lineHeight: '1',\n margin: 0,\n padding: theme.spacing(3, 2, 3, 2.5),\n borderBottom: 0,\n },\n sizeSmall: {\n padding: theme.spacing(1.5, 2, 1.5, 2.5),\n },\n head: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n color: 'rgb(179, 179, 179)',\n fontWeight: 'normal',\n lineHeight: '1',\n },\n },\n MuiTabs: {\n // Tabs are smaller than default mui tab rows\n root: {\n minHeight: 24,\n },\n },\n MuiTab: {\n // Tabs are smaller and have a hover background\n root: {\n color: theme.palette.link,\n minHeight: 24,\n textTransform: 'initial',\n letterSpacing: '0.07em',\n '&:hover': {\n color: darken(theme.palette.link, 0.3),\n background: lighten(theme.palette.link, 0.95),\n },\n [theme.breakpoints.up('md')]: {\n minWidth: 120,\n fontSize: theme.typography.pxToRem(14),\n fontWeight: 500,\n },\n },\n textColorPrimary: {\n color: theme.palette.link,\n },\n },\n MuiTableSortLabel: {\n // No color change on hover, just rely on the arrow showing up instead.\n root: {\n color: 'inherit',\n '&:hover': {\n color: 'inherit',\n },\n '&:focus': {\n color: 'inherit',\n },\n },\n // Bold font for highlighting selected column\n active: {\n fontWeight: 'bold',\n color: 'inherit',\n },\n },\n MuiListItemText: {\n dense: {\n // Default dense list items to adding ellipsis for really long str...\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n },\n MuiButton: {\n text: {\n // Text buttons have less padding by default, but we want to keep the original padding\n padding: undefined,\n },\n },\n MuiChip: {\n root: {\n backgroundColor: '#D9D9D9',\n // By default there's no margin, but it's usually wanted, so we add some trailing margin\n marginRight: theme.spacing(1),\n marginBottom: theme.spacing(1),\n color: theme.palette.grey[900],\n },\n outlined: {\n color: theme.palette.text.primary,\n },\n label: {\n lineHeight: `${theme.spacing(2.5)}px`,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: `${theme.spacing(1.75)}px`,\n },\n labelSmall: {\n fontSize: `${theme.spacing(1.5)}px`,\n },\n deleteIcon: {\n color: theme.palette.grey[500],\n width: `${theme.spacing(3)}px`,\n height: `${theme.spacing(3)}px`,\n margin: `0 ${theme.spacing(0.75)}px 0 -${theme.spacing(0.75)}px`,\n },\n deleteIconSmall: {\n width: `${theme.spacing(2)}px`,\n height: `${theme.spacing(2)}px`,\n margin: `0 ${theme.spacing(0.5)}px 0 -${theme.spacing(0.5)}px`,\n },\n },\n MuiCard: {\n root: {\n // When cards have a forced size, such as when they are arranged in a\n // CSS grid, the content needs to flex such that the actions (buttons\n // etc) end up at the bottom of the card instead of just below the body\n // contents.\n display: 'flex',\n flexDirection: 'column',\n },\n },\n MuiCardHeader: {\n root: {\n // Reduce padding between header and content\n paddingBottom: 0,\n },\n },\n MuiCardContent: {\n root: {\n // When cards have a forced size, such as when they are arranged in a\n // CSS grid, the content needs to flex such that the actions (buttons\n // etc) end up at the bottom of the card instead of just below the body\n // contents.\n flexGrow: 1,\n '&:last-child': {\n paddingBottom: undefined,\n },\n },\n },\n MuiCardActions: {\n root: {\n // We default to putting the card actions at the end\n justifyContent: 'flex-end',\n },\n },\n };\n}\n\n// Creates a Backstage MUI theme using a palette.\n// The theme is created with the common Backstage options and component styles.\nexport function createTheme(options: SimpleThemeOptions): BackstageTheme {\n const themeOptions = createThemeOptions(options);\n const baseTheme = createMuiTheme(themeOptions) as BackstageTheme;\n const overrides = createThemeOverrides(baseTheme);\n const theme = { ...baseTheme, overrides };\n return theme;\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTheme } from './baseTheme';\nimport { pageTheme } from './pageTheme';\nimport { yellow } from '@material-ui/core/colors';\n\nexport const lightTheme = createTheme({\n palette: {\n type: 'light',\n background: {\n default: '#F8F8F8',\n },\n status: {\n ok: '#1DB954',\n warning: '#FF9800',\n error: '#E22134',\n running: '#2E77D0',\n pending: '#FFED51',\n aborted: '#757575',\n },\n bursts: {\n fontColor: '#FEFEFE',\n slackChannelText: '#ddd',\n backgroundColor: {\n default: '#7C3699',\n },\n gradient: {\n linear: 'linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)',\n },\n },\n primary: {\n main: '#2E77D0',\n },\n banner: {\n info: '#2E77D0',\n error: '#E22134',\n text: '#FFFFFF',\n link: '#000000',\n },\n border: '#E6E6E6',\n textContrast: '#000000',\n textVerySubtle: '#DDD',\n textSubtle: '#6E6E6E',\n highlight: '#FFFBCC',\n errorBackground: '#FFEBEE',\n warningBackground: '#F59B23',\n infoBackground: '#ebf5ff',\n errorText: '#CA001B',\n infoText: '#004e8a',\n warningText: '#000000',\n linkHover: '#2196F3',\n link: '#0A6EBE',\n gold: yellow.A700,\n navigation: {\n background: '#171717',\n indicator: '#9BF0E1',\n color: '#b5b5b5',\n selectedColor: '#FFF',\n },\n pinSidebarButton: {\n icon: '#181818',\n background: '#BDBDBD',\n },\n tabbar: {\n indicator: '#9BF0E1',\n },\n },\n defaultPageTheme: 'home',\n pageTheme,\n});\n\nexport const darkTheme = createTheme({\n palette: {\n type: 'dark',\n background: {\n default: '#333333',\n },\n status: {\n ok: '#71CF88',\n warning: '#FFB84D',\n error: '#F84C55',\n running: '#3488E3',\n pending: '#FEF071',\n aborted: '#9E9E9E',\n },\n bursts: {\n fontColor: '#FEFEFE',\n slackChannelText: '#ddd',\n backgroundColor: {\n default: '#7C3699',\n },\n gradient: {\n linear: 'linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)',\n },\n },\n primary: {\n main: '#9CC9FF',\n dark: '#82BAFD',\n },\n secondary: {\n main: '#FF88B2',\n },\n banner: {\n info: '#2E77D0',\n error: '#E22134',\n text: '#FFFFFF',\n link: '#000000',\n },\n border: '#E6E6E6',\n textContrast: '#FFFFFF',\n textVerySubtle: '#727272',\n textSubtle: '#CCCCCC',\n highlight: '#FFFBCC',\n errorBackground: '#FFEBEE',\n warningBackground: '#F59B23',\n infoBackground: '#ebf5ff',\n errorText: '#CA001B',\n infoText: '#004e8a',\n warningText: '#000000',\n linkHover: '#82BAFD',\n link: '#9CC9FF',\n gold: yellow.A700,\n navigation: {\n background: '#424242',\n indicator: '#9BF0E1',\n color: '#b5b5b5',\n selectedColor: '#FFF',\n },\n pinSidebarButton: {\n icon: '#404040',\n background: '#BDBDBD',\n },\n tabbar: {\n indicator: '#9BF0E1',\n },\n },\n defaultPageTheme: 'home',\n pageTheme,\n});\n"],"names":["pageTheme","defaultPageThemes","createMuiTheme"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/pageTheme.ts","../src/baseTheme.ts","../src/themes.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { PageTheme } from './types';\n\n/**\n * The default predefined burst shapes.\n *\n * @public\n * @remarks\n *\n * How to add a shape:\n *\n * 1. Get the svg shape from figma, should be ~1400 wide, ~400 high\n * and only the white-to-transparent mask, no colors.\n * 2. Run it through https://jakearchibald.github.io/svgomg/\n * 3. Run that through https://github.com/tigt/mini-svg-data-uri\n * with something like https://npm.runkit.com/mini-svg-data-uri\n * 4. Wrap the output in `url(\"\")`\n * 5. Give it a name and paste it into the `shapes` object below.\n */\nexport const shapes: Record<string, string> = {\n wave: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n wave2: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n round: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\")`,\n};\n\n/**\n * The color range variants that are used in e.g. colorful bursts.\n *\n * @public\n */\nexport const colorVariants: Record<string, string[]> = {\n darkGrey: ['#171717', '#383838'],\n marineBlue: ['#006D8F', '#0049A1'],\n veryBlue: ['#0027AF', '#270094'],\n rubyRed: ['#98002B', '#8D1134'],\n toastyOrange: ['#BE2200', '#A41D00'],\n purpleSky: ['#8912CA', '#3E00EA'],\n eveningSea: ['#00FFF2', '#035355'],\n teal: ['#005B4B'],\n pinkSea: ['#C8077A', '#C2297D'],\n};\n\n/**\n * Utility to not have to write colors and shapes twice.\n *\n * @public\n * @remarks\n *\n * As the background shapes and colors are decorative, we place them onto the\n * page as a css background-image instead of an html element of its own.\n */\nexport function genPageTheme(colors: string[], shape: string): PageTheme {\n const gradientColors = colors.length === 1 ? [colors[0], colors[0]] : colors;\n const gradient = `linear-gradient(90deg, ${gradientColors.join(', ')})`;\n const backgroundImage = `${shape}, ${gradient}`;\n\n return { colors, shape, backgroundImage };\n}\n\n/**\n * All of the builtin page themes.\n *\n * @public\n */\nexport const pageTheme: Record<string, PageTheme> = {\n home: genPageTheme(colorVariants.teal, shapes.wave),\n documentation: genPageTheme(colorVariants.pinkSea, shapes.wave2),\n tool: genPageTheme(colorVariants.purpleSky, shapes.round),\n service: genPageTheme(colorVariants.marineBlue, shapes.wave),\n website: genPageTheme(colorVariants.veryBlue, shapes.wave),\n library: genPageTheme(colorVariants.rubyRed, shapes.wave),\n other: genPageTheme(colorVariants.darkGrey, shapes.wave),\n app: genPageTheme(colorVariants.toastyOrange, shapes.wave),\n apis: genPageTheme(colorVariants.teal, shapes.wave2),\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTheme as createMuiTheme } from '@material-ui/core/styles';\nimport { darken, lighten } from '@material-ui/core/styles/colorManipulator';\nimport { Overrides } from '@material-ui/core/styles/overrides';\nimport {\n BackstageTheme,\n BackstageThemeOptions,\n SimpleThemeOptions,\n} from './types';\nimport { pageTheme as defaultPageThemes } from './pageTheme';\n\nconst DEFAULT_FONT_FAMILY =\n '\"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif';\n\n/**\n * A helper for creating theme options.\n *\n * @public\n */\nexport function createThemeOptions(\n options: SimpleThemeOptions,\n): BackstageThemeOptions {\n const {\n palette,\n fontFamily = DEFAULT_FONT_FAMILY,\n defaultPageTheme,\n pageTheme = defaultPageThemes,\n } = options;\n\n if (!pageTheme[defaultPageTheme]) {\n throw new Error(`${defaultPageTheme} is not defined in pageTheme.`);\n }\n\n return {\n palette,\n props: {\n MuiGrid: {\n spacing: 2,\n },\n MuiSwitch: {\n color: 'primary',\n },\n },\n typography: {\n fontFamily,\n h5: {\n fontWeight: 700,\n },\n h4: {\n fontWeight: 700,\n fontSize: 28,\n marginBottom: 6,\n },\n h3: {\n fontSize: 32,\n fontWeight: 700,\n marginBottom: 6,\n },\n h2: {\n fontSize: 40,\n fontWeight: 700,\n marginBottom: 8,\n },\n h1: {\n fontSize: 54,\n fontWeight: 700,\n marginBottom: 10,\n },\n },\n page: pageTheme[defaultPageTheme],\n getPageTheme: ({ themeId }) =>\n pageTheme[themeId] ?? pageTheme[defaultPageTheme],\n };\n}\n\n/**\n * A helper for creating theme overrides.\n *\n * @public\n */\nexport function createThemeOverrides(theme: BackstageTheme): Overrides {\n return {\n MuiCssBaseline: {\n '@global': {\n html: {\n height: '100%',\n fontFamily: theme.typography.fontFamily,\n },\n body: {\n height: '100%',\n fontFamily: theme.typography.fontFamily,\n 'overscroll-behavior-y': 'none',\n },\n a: {\n color: 'inherit',\n textDecoration: 'none',\n },\n },\n },\n MuiTableRow: {\n // Alternating row backgrounds\n root: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.background.default,\n },\n },\n // Use pointer for hoverable rows\n hover: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n // Alternating head backgrounds\n head: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.background.paper,\n },\n },\n },\n // Tables are more dense than default mui tables\n MuiTableCell: {\n root: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n verticalAlign: 'middle',\n lineHeight: '1',\n margin: 0,\n padding: theme.spacing(3, 2, 3, 2.5),\n borderBottom: 0,\n },\n sizeSmall: {\n padding: theme.spacing(1.5, 2, 1.5, 2.5),\n },\n head: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n color: 'rgb(179, 179, 179)',\n fontWeight: 'normal',\n lineHeight: '1',\n },\n },\n MuiTabs: {\n // Tabs are smaller than default mui tab rows\n root: {\n minHeight: 24,\n },\n },\n MuiTab: {\n // Tabs are smaller and have a hover background\n root: {\n color: theme.palette.link,\n minHeight: 24,\n textTransform: 'initial',\n letterSpacing: '0.07em',\n '&:hover': {\n color: darken(theme.palette.link, 0.3),\n background: lighten(theme.palette.link, 0.95),\n },\n [theme.breakpoints.up('md')]: {\n minWidth: 120,\n fontSize: theme.typography.pxToRem(14),\n fontWeight: 500,\n },\n },\n textColorPrimary: {\n color: theme.palette.link,\n },\n },\n MuiTableSortLabel: {\n // No color change on hover, just rely on the arrow showing up instead.\n root: {\n color: 'inherit',\n '&:hover': {\n color: 'inherit',\n },\n '&:focus': {\n color: 'inherit',\n },\n },\n // Bold font for highlighting selected column\n active: {\n fontWeight: 'bold',\n color: 'inherit',\n },\n },\n MuiListItemText: {\n dense: {\n // Default dense list items to adding ellipsis for really long str...\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n },\n MuiButton: {\n text: {\n // Text buttons have less padding by default, but we want to keep the original padding\n padding: undefined,\n },\n },\n MuiChip: {\n root: {\n backgroundColor: '#D9D9D9',\n // By default there's no margin, but it's usually wanted, so we add some trailing margin\n marginRight: theme.spacing(1),\n marginBottom: theme.spacing(1),\n color: theme.palette.grey[900],\n },\n outlined: {\n color: theme.palette.text.primary,\n },\n label: {\n lineHeight: `${theme.spacing(2.5)}px`,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: `${theme.spacing(1.75)}px`,\n },\n labelSmall: {\n fontSize: `${theme.spacing(1.5)}px`,\n },\n deleteIcon: {\n color: theme.palette.grey[500],\n width: `${theme.spacing(3)}px`,\n height: `${theme.spacing(3)}px`,\n margin: `0 ${theme.spacing(0.75)}px 0 -${theme.spacing(0.75)}px`,\n },\n deleteIconSmall: {\n width: `${theme.spacing(2)}px`,\n height: `${theme.spacing(2)}px`,\n margin: `0 ${theme.spacing(0.5)}px 0 -${theme.spacing(0.5)}px`,\n },\n },\n MuiCard: {\n root: {\n // When cards have a forced size, such as when they are arranged in a\n // CSS grid, the content needs to flex such that the actions (buttons\n // etc) end up at the bottom of the card instead of just below the body\n // contents.\n display: 'flex',\n flexDirection: 'column',\n },\n },\n MuiCardHeader: {\n root: {\n // Reduce padding between header and content\n paddingBottom: 0,\n },\n },\n MuiCardContent: {\n root: {\n // When cards have a forced size, such as when they are arranged in a\n // CSS grid, the content needs to flex such that the actions (buttons\n // etc) end up at the bottom of the card instead of just below the body\n // contents.\n flexGrow: 1,\n '&:last-child': {\n paddingBottom: undefined,\n },\n },\n },\n MuiCardActions: {\n root: {\n // We default to putting the card actions at the end\n justifyContent: 'flex-end',\n },\n },\n };\n}\n\n/**\n * Creates a Backstage MUI theme using a palette. The theme is created with the\n * common Backstage options and component styles.\n *\n * @public\n */\nexport function createTheme(options: SimpleThemeOptions): BackstageTheme {\n const themeOptions = createThemeOptions(options);\n const baseTheme = createMuiTheme(themeOptions) as BackstageTheme;\n const overrides = createThemeOverrides(baseTheme);\n const theme = { ...baseTheme, overrides };\n return theme;\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTheme } from './baseTheme';\nimport { pageTheme } from './pageTheme';\nimport { yellow } from '@material-ui/core/colors';\n\n/**\n * The default Backstage light theme.\n *\n * @public\n */\nexport const lightTheme = createTheme({\n palette: {\n type: 'light',\n background: {\n default: '#F8F8F8',\n },\n status: {\n ok: '#1DB954',\n warning: '#FF9800',\n error: '#E22134',\n running: '#2E77D0',\n pending: '#FFED51',\n aborted: '#757575',\n },\n bursts: {\n fontColor: '#FEFEFE',\n slackChannelText: '#ddd',\n backgroundColor: {\n default: '#7C3699',\n },\n gradient: {\n linear: 'linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)',\n },\n },\n primary: {\n main: '#2E77D0',\n },\n banner: {\n info: '#2E77D0',\n error: '#E22134',\n text: '#FFFFFF',\n link: '#000000',\n warning: '#FF9800',\n },\n border: '#E6E6E6',\n textContrast: '#000000',\n textVerySubtle: '#DDD',\n textSubtle: '#6E6E6E',\n highlight: '#FFFBCC',\n errorBackground: '#FFEBEE',\n warningBackground: '#F59B23',\n infoBackground: '#ebf5ff',\n errorText: '#CA001B',\n infoText: '#004e8a',\n warningText: '#000000',\n linkHover: '#2196F3',\n link: '#0A6EBE',\n gold: yellow.A700,\n navigation: {\n background: '#171717',\n indicator: '#9BF0E1',\n color: '#b5b5b5',\n selectedColor: '#FFF',\n navItem: {\n hoverBackground: '#404040',\n },\n submenu: {\n background: '#404040',\n },\n },\n pinSidebarButton: {\n icon: '#181818',\n background: '#BDBDBD',\n },\n tabbar: {\n indicator: '#9BF0E1',\n },\n },\n defaultPageTheme: 'home',\n pageTheme,\n});\n\n/**\n * The default Backstage dark theme.\n *\n * @public\n */\nexport const darkTheme = createTheme({\n palette: {\n type: 'dark',\n background: {\n default: '#333333',\n },\n status: {\n ok: '#71CF88',\n warning: '#FFB84D',\n error: '#F84C55',\n running: '#3488E3',\n pending: '#FEF071',\n aborted: '#9E9E9E',\n },\n bursts: {\n fontColor: '#FEFEFE',\n slackChannelText: '#ddd',\n backgroundColor: {\n default: '#7C3699',\n },\n gradient: {\n linear: 'linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)',\n },\n },\n primary: {\n main: '#9CC9FF',\n dark: '#82BAFD',\n },\n secondary: {\n main: '#FF88B2',\n },\n banner: {\n info: '#2E77D0',\n error: '#E22134',\n text: '#FFFFFF',\n link: '#000000',\n warning: '#FF9800',\n },\n border: '#E6E6E6',\n textContrast: '#FFFFFF',\n textVerySubtle: '#727272',\n textSubtle: '#CCCCCC',\n highlight: '#FFFBCC',\n errorBackground: '#FFEBEE',\n warningBackground: '#F59B23',\n infoBackground: '#ebf5ff',\n errorText: '#CA001B',\n infoText: '#004e8a',\n warningText: '#000000',\n linkHover: '#82BAFD',\n link: '#9CC9FF',\n gold: yellow.A700,\n navigation: {\n background: '#424242',\n indicator: '#9BF0E1',\n color: '#b5b5b5',\n selectedColor: '#FFF',\n navItem: {\n hoverBackground: '#404040',\n },\n submenu: {\n background: '#404040',\n },\n },\n pinSidebarButton: {\n icon: '#404040',\n background: '#BDBDBD',\n },\n tabbar: {\n indicator: '#9BF0E1',\n },\n },\n defaultPageTheme: 'home',\n pageTheme,\n});\n"],"names":["pageTheme","defaultPageThemes","createMuiTheme"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/theme",
3
3
  "description": "material-ui theme for use with Backstage.",
4
- "version": "0.2.10",
4
+ "version": "0.2.14",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public",
@@ -31,10 +31,10 @@
31
31
  "@material-ui/core": "^4.12.2"
32
32
  },
33
33
  "devDependencies": {
34
- "@backstage/cli": "^0.7.9"
34
+ "@backstage/cli": "^0.10.0"
35
35
  },
36
36
  "files": [
37
37
  "dist"
38
38
  ],
39
- "gitHead": "2f291dfd04f87a6ff4d6000204d0af7067bcda10"
39
+ "gitHead": "a05e7081b805006e3f0b2960a08a7753357f532f"
40
40
  }