diff --git a/packages/draft-js-export-html/src/stateToHTML.js b/packages/draft-js-export-html/src/stateToHTML.js
index d90b7fac..c040bfc7 100644
--- a/packages/draft-js-export-html/src/stateToHTML.js
+++ b/packages/draft-js-export-html/src/stateToHTML.js
@@ -30,7 +30,7 @@ type RenderConfig = {
style?: StyleDescr;
};
-type BlockRenderer = (block: ContentBlock) => ?string;
+type BlockRenderer = (block: ContentBlock, generator?: MarkupGenerator) => ?string;
type BlockRendererMap = {[blockType: string]: BlockRenderer};
type StyleMap = {[styleName: string]: RenderConfig};
@@ -233,7 +233,7 @@ class MarkupGenerator {
blockRenderers != null && blockRenderers.hasOwnProperty(blockType)
? blockRenderers[blockType]
: null;
- let customRendererOutput = customRenderer ? customRenderer(block) : null;
+ let customRendererOutput = customRenderer ? customRenderer(block, this) : null;
// Renderer can return null, which will cause processing to continue as normal.
if (customRendererOutput != null) {
this.output.push(customRendererOutput);
diff --git a/packages/draft-js-export-html/typings/index.d.ts b/packages/draft-js-export-html/typings/index.d.ts
index ec40b149..17e30f39 100644
--- a/packages/draft-js-export-html/typings/index.d.ts
+++ b/packages/draft-js-export-html/typings/index.d.ts
@@ -3,9 +3,12 @@
declare module 'draft-js-export-html' {
import draftjs = require("draft-js");
+ type MarkupGenerator = {
+ renderBlockContent(block: draftjs.ContentBlock): string;
+ }
type BlockStyleFn = (block: draftjs.ContentBlock) => RenderConfig|undefined;
type EntityStyleFn = (entity: draftjs.EntityInstance) => RenderConfig|undefined;
- type BlockRenderer = (block: draftjs.ContentBlock) => string;
+ type BlockRenderer = (block: draftjs.ContentBlock, generator?: MarkupGenerator) => string;
type RenderConfig = {
element?: string;
attributes?: any;