mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-08 20:57:08 +08:00
53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import { PANEL_BASE } from '@blocksuite/affine-shared/styles';
|
|
import { stopPropagation } from '@blocksuite/affine-shared/utils';
|
|
import { WithDisposable } from '@blocksuite/global/lit';
|
|
import { css, html, LitElement } from 'lit';
|
|
|
|
export class EditorToolbar extends WithDisposable(LitElement) {
|
|
static override styles = css`
|
|
:host {
|
|
${PANEL_BASE};
|
|
height: 36px;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
:host([data-without-bg]) {
|
|
border-color: transparent;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
}
|
|
|
|
::slotted(*) {
|
|
display: flex;
|
|
height: 100%;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 8px;
|
|
color: var(--affine-text-primary-color);
|
|
fill: currentColor;
|
|
}
|
|
`;
|
|
|
|
override connectedCallback() {
|
|
super.connectedCallback();
|
|
|
|
this._disposables.addFromEvent(this, 'pointerdown', (e: PointerEvent) => {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
});
|
|
this._disposables.addFromEvent(this, 'wheel', stopPropagation, {
|
|
passive: false,
|
|
});
|
|
}
|
|
|
|
override render() {
|
|
return html`<slot></slot>`;
|
|
}
|
|
}
|
|
|
|
declare global {
|
|
interface HTMLElementTagNameMap {
|
|
'editor-toolbar': EditorToolbar;
|
|
}
|
|
}
|