import { FileType, ProjectPlugin, ProjectPluginStructure, UIDLElement, UIDLRawValue, } from '@teleporthq/teleport-types' import { traverseProjectElements } from '../uidl-element-traversal' import { injectSiblingIntoApp } from '../app-sibling-injection' import { generateRichContentEmbedsComponentCode } from './embed-activator-component' import { ensureEmbedRuntimeModule } from './runtime-module' export const RICH_CONTENT_EMBEDS_COMPONENT_NAME = 'RichContentEmbeds' export const RICH_CONTENT_EMBEDS_FILE_NAME = 'rich-content-embeds' /** * True for the elements that DISPLAY author-written rich text at runtime, which * is the only place a stored code embed can surface: * * - a `markdown-node`, which renders CMS rich text through ``; * - any element with a raw attribute carrying a DYNAMIC reference — the blog * post body, a product description, the admin detail panel. That is the node * `applyDynamicHtmlInjection` turns into ``, * the one path where an embed's `