| /** |
| * @license |
| * Copyright 2021 Google LLC |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * We are sharing a couple of sets of CSS rules with plugins such that they can |
| * adopt Gerrit's styling beyond just using CSS properties from the theme. |
| * |
| * This is a bit tricky, because plugin elements have their own shadow DOM, and |
| * unfortunately Firefox has not adopted "constructable stylesheets" yet. So we |
| * are basically just exposing CSS strings here. |
| * |
| * Plugins that use Lit can cast `Style` to `CSSResult`. |
| * |
| * Non-Lit plugins can call call `toString()` on `Style`. |
| */ |
| |
| /** Lit plugins can cast Style to CSSResult. */ |
| export declare interface Style { |
| toString(): string; |
| } |
| |
| /** Accessible via `window.Gerrit.styles`. */ |
| export declare interface Styles { |
| font: Style; |
| form: Style; |
| icon: Style; |
| menuPage: Style; |
| spinner: Style; |
| subPage: Style; |
| table: Style; |
| modal: Style; |
| } |
| |
| /** Accessible via `window.Gerrit.install(plugin => {plugin.styleApi()})`. */ |
| export declare interface StylePluginApi { |
| /** |
| * Convenience method for adding a CSS rule to a <style> element in <head>. |
| * |
| * Note that you can only insert one rule per call. See `insertRule()` |
| * documentation of `CSSStyleSheet`: |
| * https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule |
| * |
| * @param rule the css rule, e.g.: |
| * ``` |
| * html.darkTheme { |
| * --header-background-color: blue; |
| * } |
| * ``` |
| */ |
| insertCSSRule(rule: string): void; |
| } |