Files
AFFiNE-Mirror/blocksuite/affine/inlines/link/src/inline-spec.ts
T
L-Sun a66096cdf9 refactor(editor): support dynamic text attribute key (#12947)
#### PR Dependency Tree


* **PR #12946**
  * **PR #12947** 👈
    * **PR #12948**

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
2025-07-02 08:09:01 +00:00

23 lines
732 B
TypeScript

import type { AffineTextAttributes } from '@blocksuite/affine-shared/types';
import { StdIdentifier } from '@blocksuite/std';
import { InlineSpecExtension } from '@blocksuite/std/inline';
import { html } from 'lit';
import { z } from 'zod';
export const LinkInlineSpecExtension =
InlineSpecExtension<AffineTextAttributes>('link', provider => {
const std = provider.get(StdIdentifier);
return {
name: 'link',
schema: z.object({
link: z.string().optional().nullable().catch(undefined),
}),
match: delta => {
return !!delta.attributes?.link;
},
renderer: ({ delta }) => {
return html`<affine-link .std=${std} .delta=${delta}></affine-link>`;
},
};
});