import '../../panel/one-row-color-panel.js'; import '../../buttons/tool-icon-button.js'; import '../common/slide-menu.js'; import { WithDisposable } from '@blockeditor/lit'; import { css, html, LitElement, nothing } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import type { EdgelessPageBlockComponent } from '../../../edgeless-page-block.js'; import type { ColorEvent } from '../../panel/color-panel.js'; import type { LineWidthEvent } from '../../panel/line-width-panel.js'; @customElement('edgeless-brush-menu') export class EdgelessBrushMenu extends WithDisposable(LitElement) { static override styles = css` :host { display: flex; position: absolute; z-index: -1; } .menu-content { display: flex; align-items: center; } menu-divider { height: 24px; margin: 0 9px; } `; @property({ attribute: false }) edgeless!: EdgelessPageBlockComponent; @property({ attribute: false }) color!: string; @property({ attribute: false }) lineWidth!: number; @property({ attribute: false }) onChange!: (props: Record) => void; override render() { if (this.edgeless.edgelessTool.type !== 'brush') return nothing; const { color, lineWidth } = this; return html` `; } } declare global { interface HTMLElementTagNameMap { 'edgeless-brush-menu': EdgelessBrushMenu; } }