import { code, md } from '@atlaskit/docs'; // eslint-disable-next-line @typescript-eslint/no-explicit-any const _default_1: any = md` # Autoformatting Provider The custom autoformatting provider lets you specify your own function that triggers on particular regex strings, and asynchronously replace them with some content. More precisely, it returns a Promise containing ADF to replace the trigger text with. See [Editor RFC 131: Injectable auto-formatting rules, AutoformattingProvider](https://product-fabric.atlassian.net/wiki/spaces/E/pages/881141566/Editor+RFC+131+Injectable+auto-formatting+rules+AutoformattingProvider) for context, use-cases, and some more detail on how this works. ## Example An example provider is used in the storybook example. Try typing "ED-123"! ## Usage ### Storybook Example The provider used in the storybook example is exported from the \`@atlaskit/editor-test-helpers\` package. You probably want to use this as a base to build a more full-featured resolver. ### Simplified Example A stripped back example might look like: ${code`export const autoformattingProvider: AutoformattingProvider = { getRules: () => Promise.resolve({ '[Ee][Dd]-(\\d+)': (match: string[]): Promise => { const ticketNumber = match[1]; return new Promise.resolve({ type: 'inlineCard', attrs: { url: 'https://www.atlassian.com/', }, }); }, }), }; `} ## Restrictions At the moment, only text or \`inlineCard\` ADF nodes are permitted to be replaced. `; export default _default_1;