/* * Copyright 2022 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Backstage specific additions to the material-ui palette. * * @public */ export type BackstagePaletteAdditions = { status: { ok: string; warning: string; error: string; pending: string; running: string; aborted: string; }; border: string; textContrast: string; textVerySubtle: string; textSubtle: string; highlight: string; errorBackground: string; warningBackground: string; infoBackground: string; errorText: string; infoText: string; warningText: string; linkHover: string; link: string; gold: string; navigation: { background: string; indicator: string; color: string; selectedColor: string; navItem?: { hoverBackground: string; }; submenu?: { background: string; }; }; tabbar: { indicator: string; }; /** * @deprecated The entire `bursts` section will be removed in a future release */ bursts: { fontColor: string; slackChannelText: string; backgroundColor: { default: string; }; gradient: { linear: string; }; }; pinSidebarButton: { icon: string; background: string; }; banner: { info: string; error: string; text: string; link: string; closeButtonColor?: string; warning?: string; }; code?: { background?: string; }; }; /** * Selector for what page theme to use. * * @public */ export type PageThemeSelector = { themeId: string; }; /** * The theme definitions for a given layout page. * * @public */ export type PageTheme = { colors: string[]; shape: string; backgroundImage: string; fontColor: string; }; /** * Backstage specific additions to the material-ui theme. * * @public */ export type BackstageThemeAdditions = { page: PageTheme; getPageTheme: (selector: PageThemeSelector) => PageTheme; }; /** * Custom Typography * * @public */ export type BackstageTypography = { htmlFontSize: number; fontFamily: string; h1: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; h2: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; h3: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; h4: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; h5: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; h6: { fontFamily?: string; fontSize: number | string; fontWeight: number; marginBottom: number; }; };