import { unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import { SignalWatcher, WithDisposable } from '@blocksuite/global/lit'; import { PlusIcon } from '@blocksuite/icons/lit'; import { ShadowlessElement } from '@blocksuite/std'; import { css, type TemplateResult } from 'lit'; import { property, query } from 'lit/decorators.js'; import { repeat } from 'lit/directives/repeat.js'; import { styleMap } from 'lit/directives/style-map.js'; import { html } from 'lit/static-html.js'; import { cellDivider } from '../styles.js'; import type { TableSingleView } from '../table-view-manager.js'; export class MobileTableHeader extends SignalWatcher( WithDisposable(ShadowlessElement) ) { static override styles = css` .mobile-table-add-column { font-size: 18px; color: ${unsafeCSSVarV2('icon/primary')}; margin-left: 8px; display: flex; align-items: center; } `; private readonly _onAddColumn = () => { if (this.readonly) return; this.tableViewManager.propertyAdd('end'); this.editLastColumnTitle(); }; editLastColumnTitle = () => { const columns = this.querySelectorAll('mobile-table-column-header'); const column = columns.item(columns.length - 1); column.editTitle(); }; private get readonly() { return this.tableViewManager.readonly$.value; } override render() { return html` ${this.renderGroupHeader?.()}