storyblok-rich-text-react-renderer
Advanced tools
Comparing version 2.4.1 to 2.5.0
@@ -121,3 +121,7 @@ import React from 'react'; | ||
_options$markResolver = options.markResolvers, | ||
customMarkResolvers = _options$markResolver === void 0 ? {} : _options$markResolver; | ||
customMarkResolvers = _options$markResolver === void 0 ? {} : _options$markResolver, | ||
_options$textResolver = options.textResolver, | ||
textResolver = _options$textResolver === void 0 ? function (str) { | ||
return str; | ||
} : _options$textResolver; | ||
@@ -160,3 +164,3 @@ const nodeResolvers = _objectSpread2(_objectSpread2({}, defaultNodeResolvers), customNodeResolvers); | ||
if (node.type === 'text') { | ||
childNode = node.text; | ||
childNode = textResolver(node.text); | ||
} else { | ||
@@ -180,4 +184,8 @@ const resolver = nodeResolvers[node.type]; | ||
return str; | ||
} : _options$defaultStrin; | ||
return defaultStringResolver(document); | ||
} : _options$defaultStrin, | ||
_options$textResolver2 = options.textResolver, | ||
textResolver = _options$textResolver2 === void 0 ? function (str) { | ||
return str; | ||
} : _options$textResolver2; | ||
return defaultStringResolver(textResolver(document)); | ||
} | ||
@@ -184,0 +192,0 @@ |
@@ -129,3 +129,7 @@ 'use strict'; | ||
_options$markResolver = options.markResolvers, | ||
customMarkResolvers = _options$markResolver === void 0 ? {} : _options$markResolver; | ||
customMarkResolvers = _options$markResolver === void 0 ? {} : _options$markResolver, | ||
_options$textResolver = options.textResolver, | ||
textResolver = _options$textResolver === void 0 ? function (str) { | ||
return str; | ||
} : _options$textResolver; | ||
@@ -168,3 +172,3 @@ const nodeResolvers = _objectSpread2(_objectSpread2({}, defaultNodeResolvers), customNodeResolvers); | ||
if (node.type === 'text') { | ||
childNode = node.text; | ||
childNode = textResolver(node.text); | ||
} else { | ||
@@ -188,4 +192,8 @@ const resolver = nodeResolvers[node.type]; | ||
return str; | ||
} : _options$defaultStrin; | ||
return defaultStringResolver(document); | ||
} : _options$defaultStrin, | ||
_options$textResolver2 = options.textResolver, | ||
textResolver = _options$textResolver2 === void 0 ? function (str) { | ||
return str; | ||
} : _options$textResolver2; | ||
return defaultStringResolver(textResolver(document)); | ||
} | ||
@@ -192,0 +200,0 @@ |
{ | ||
"name": "storyblok-rich-text-react-renderer", | ||
"description": "A React renderer for Storyblok rich text content", | ||
"version": "2.4.1", | ||
"version": "2.5.0", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "main": "dist/index.js", |
@@ -67,2 +67,3 @@ # Storyblok Rich Text Renderer for React | ||
defaultStringResolver: (str) => ( ... ), | ||
textResolver: (text) => ( ... ), | ||
}); | ||
@@ -218,2 +219,17 @@ ``` | ||
### Text resolver | ||
Use the `textResolver` option to add a resolver for plain text nodes. The function signature is `(text) => { ... }`. | ||
#### Example: | ||
```js | ||
import { render } from 'storyblok-rich-text-react-renderer'; | ||
import entities from 'entities'; | ||
render(document, { | ||
textResolver: (text) => entities.decodeHTML(text) | ||
}); | ||
``` | ||
## Defaults | ||
@@ -255,1 +271,2 @@ | ||
- 2.4.0 — Add TypeScript type definitions (index.d.ts) | ||
- 2.5.0 — Add textResolver |
@@ -33,2 +33,3 @@ import React from 'react'; | ||
markResolvers: customMarkResolvers = {}, | ||
textResolver = str => str, | ||
} = options; | ||
@@ -75,3 +76,3 @@ | ||
if (node.type === 'text') { | ||
childNode = node.text; | ||
childNode = textResolver(node.text); | ||
} else { | ||
@@ -95,4 +96,7 @@ const resolver = nodeResolvers[node.type]; | ||
} else if (typeof document === 'string') { | ||
const { defaultStringResolver = str => str } = options; | ||
return defaultStringResolver(document); | ||
const { | ||
defaultStringResolver = (str) => str, | ||
textResolver = (str) => str, | ||
} = options; | ||
return defaultStringResolver(textResolver(document)); | ||
} | ||
@@ -99,0 +103,0 @@ return null; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
61782
753
270