EditorConfig
The injection points - EditorConfigProvider, EditorPdfBackend, ImageRenderer.
EditorConfigProvider is the injection point for swap-in dependencies - the image renderer, the PDF backend overrides, and other host-app-specific wiring.
EditorConfigProvider
Wrap any subtree to provide overrides:
import { EditorConfigProvider } from '@docmosaic/react';
<Editor.Root>
<EditorConfigProvider
imageRenderer={MyImageRenderer}
pdfBackend={{ generate: myGenerate, estimate: myEstimate }}
>
{/* primitives underneath see the overrides */}
</EditorConfigProvider>
</Editor.Root>;Editor.Root mounts a default provider internally. Wrapping underneath layers your overrides on top.
ImageRenderer
Function signature for the custom image component.
type ImageRenderer = (props: {
src: string;
alt?: string;
width?: number;
height?: number;
style?: CSSProperties;
className?: string;
}) => React.ReactNode;The default renderer is a plain <img>. Swap it for next/image (or any image component) - see the custom image renderer recipe.
EditorPdfBackend
interface EditorPdfBackend {
generate: typeof generatePDF;
estimate: typeof estimatePDFSize;
}Both generate and estimate are optional on Editor.Root pdf={...} - anything omitted falls back to the bundled @docmosaic/core implementation. See the custom PDF backend recipe.
AnalyticsTracker
type AnalyticsTracker = (event: string, properties?: Record<string, unknown>) => void;Inject via setReactPackageTracker(tracker) at the host-app boot. See the analytics wiring recipe.