|
| 1 | +import {html, TemplateResult} from 'lit'; |
| 2 | +import {customElement, property} from 'lit/decorators.js'; |
| 3 | +import {VscElement} from '../includes/VscElement.js'; |
| 4 | +import styles from './vscode-split-button.styles.js'; |
| 5 | + |
| 6 | +/** |
| 7 | + * Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right. |
| 8 | + * |
| 9 | + * @tag vscode-split-button |
| 10 | + * |
| 11 | + * @cssprop [--vscode-button-background=#0078d4] |
| 12 | + * @cssprop [--vscode-button-foreground=#ffffff] |
| 13 | + * @cssprop [--vscode-button-border=var(--vscode-button-background, rgba(255, 255, 255, 0.07))] |
| 14 | + * @cssprop [--vscode-button-hoverBackground=#026ec1] |
| 15 | + * @cssprop [--vscode-font-family=sans-serif] - A sans-serif font type depends on the host OS. |
| 16 | + * @cssprop [--vscode-font-size=13px] |
| 17 | + * @cssprop [--vscode-font-weight=normal] |
| 18 | + * @cssprop [--vscode-button-secondaryForeground=#cccccc] |
| 19 | + * @cssprop [--vscode-button-secondaryBackground=#313131] |
| 20 | + * @cssprop [--vscode-button-secondaryHoverBackground=#3c3c3c] |
| 21 | + * @cssprop [--vscode-focusBorder=#0078d4] |
| 22 | + */ |
| 23 | +@customElement('vscode-split-button') |
| 24 | +export class VscodeSplitButton extends VscElement { |
| 25 | + static override styles = styles; |
| 26 | + |
| 27 | + override render(): TemplateResult { |
| 28 | + return html` <slot></slot> `; |
| 29 | + } |
| 30 | +} |
| 31 | + |
| 32 | +declare global { |
| 33 | + interface HTMLElementTagNameMap { |
| 34 | + 'vscode-split-button': VscodeSplitButton; |
| 35 | + } |
| 36 | +} |
0 commit comments