Files
AFFiNE-Mirror/blocksuite/framework/inline/src/utils/renderer.ts
2024-12-20 15:38:06 +08:00

21 lines
584 B
TypeScript

import { html, type TemplateResult } from 'lit';
import type { DeltaInsert } from '../types.js';
import type { BaseTextAttributes } from './base-attributes.js';
export function renderElement<TextAttributes extends BaseTextAttributes>(
delta: DeltaInsert<TextAttributes>,
parseAttributes: (
textAttributes?: TextAttributes
) => TextAttributes | undefined,
selected: boolean
): TemplateResult<1> {
return html`<v-element
.selected=${selected}
.delta=${{
insert: delta.insert,
attributes: parseAttributes(delta.attributes),
}}
></v-element>`;
}