Socket
Socket
Sign inDemoInstall

@sanity/block-content-to-html

Package Overview
Dependencies
Maintainers
7
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sanity/block-content-to-html - npm Package Compare versions

Comparing version 0.1.7 to 0.1.8

test/fixtures/h1-text.json

6

lib/BlockContentToHtml.js

@@ -49,4 +49,6 @@ 'use strict';

var customTypeHandlers = options.customTypeHandlers || {};
this.typeHandlers = _extends({}, (0, _typeHandlers2.default)(options.blockTypeHandlers || {}), customTypeHandlers);
var custom = options.customTypeHandlers || {};
var builtIn = (0, _typeHandlers2.default)(options.blockTypeHandlers || {}, custom.block);
delete custom.block; // Is called from builtIn
this.typeHandlers = _extends({}, builtIn, custom);
}

@@ -53,0 +55,0 @@

@@ -11,2 +11,3 @@ 'use strict';

var blockTypeHandlers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var customBlockHandler = arguments[1];

@@ -18,3 +19,3 @@

}
}, blockTypeHandlers.textBlock || {});
}, blockTypeHandlers.textBlock || {}, blockTypeHandlers.customBlock || {});

@@ -36,2 +37,9 @@ var listHandlers = _extends({

block: function block(node) {
if (customBlockHandler) {
return customBlockHandler(node, typeHandlers.defaultBlock);
}
return typeHandlers.defaultBlock(node);
},
defaultBlock: function defaultBlock(node) {
if (blockHandlers[node.style]) {

@@ -38,0 +46,0 @@ node.children = getContent(node.content, typeHandlers);

{
"name": "@sanity/block-content-to-html",
"description": "Customizable HTML parser for block editor output",
"version": "0.1.7",
"version": "0.1.8",
"main": "lib/index.js",

@@ -6,0 +6,0 @@ "umd": "umd/index.min.js",

@@ -85,3 +85,3 @@ # block-content-to-html-js

...
}
},
marks: {

@@ -100,3 +100,3 @@ ...

An object with keys for your custom block types (which is not of type ``block``).
An object with keys for your custom block types.
Each key is mapped to a type, and their value is a function which will get the node as input.

@@ -119,3 +119,13 @@ It returns HTML.

Normally you don't register the ``block`` type here, which is handled through the ``blockTypeHandlers.textBlock``
option. However, you may register ``block`` here to deal with them on your own, or if you just want to
wrap all ``block`` types in some special markup. You call the second parameter with the node to get the output of the default handler which is set up through the ``blockTypeHandlers.textBlock`` option (see below).
```js
block: (node, defaultFn) => {
return `<div class="grid 7">${defaultFn(node)}</div>`
}
```
#### ``blockTypeHandlers: Object``

@@ -131,4 +141,4 @@

* ##### ``textBlock: Object``
Each text block has a ``style``. With this option you can manipulate how each style is rendered.
By default the style ``normal`` is wrapped in a ``<p>``,
Each text block has a ``style`` property. With this option you can manipulate how each style is rendered.
By default the basic style ``normal`` is wrapped in a ``<p>`` tag,
where other default styles are mapped 1:1 (style ``h2`` produces ``<h2>``).

@@ -142,3 +152,3 @@

normal: node => {
return `<p class="funky-paragraph">${node.children}</p>`
return `<div class="funky-paragraph">${node.children}</div>`
},

@@ -170,2 +180,3 @@ h2: node => {

```
Note that the ``listItem`` handler has a ``style`` property. This is because each of the block content's list items can be formatted with an individual text style. If you want this to be reflected in your HTML output you have to deal with it yourself. The default is just to wrap the pure text content within a ``<li>`` tag.

@@ -172,0 +183,0 @@ * ##### ``span: Object``

@@ -12,2 +12,5 @@ /* eslint-disable id-length */

return `<div>${node.attributes.name}</div>`
},
block: (node, defaultFn) => {
return `<div class="grid">${defaultFn(node)}</div>`
}

@@ -62,3 +65,3 @@ },

const input = require('./fixtures/plain-text.json')
const expected = '<p class="foo">Normal string of text.<br />Another line</p>'
const expected = '<div class="grid"><p class="foo">Normal string of text.<br />Another line</p></div>'
const got = myBlockContentToHtml.convert(input)

@@ -79,3 +82,3 @@ t.same(got, expected)

const input = require('./fixtures/italicized-text.json')
const expected = '<p class="foo">String with an italicized word.</p>'
const expected = '<div class="grid"><p class="foo">String with an italicized word.</p></div>'
const got = myBlockContentToHtml.convert(input)

@@ -129,3 +132,5 @@ t.same(got, expected)

const input = require('./fixtures/link-simple-text.json')
const expected = '<p class="foo">String before link <a class="foo" href="http://icanhas.cheezburger.com/">actual link text</a> the rest</p>'
const expected = '<div class="grid">'
+ '<p class="foo">String before link <a class="foo" href="http://icanhas.cheezburger.com/">actual link text</a>'
+ ' the rest</p></div>'
t.same(myBlockContentToHtml.convert(input), expected)

@@ -137,4 +142,4 @@ t.end()

const input = require('./fixtures/link-author-text.json')
const expected = '<p class="foo">String before link <div>Test Testesen</div>'
+ '<a class="foo" href="http://icanhas.cheezburger.com/">actual link text</a> the rest</p>'
const expected = '<div class="grid"><p class="foo">String before link <div>Test Testesen</div>'
+ '<a class="foo" href="http://icanhas.cheezburger.com/">actual link text</a> the rest</p></div>'
t.same(myBlockContentToHtml.convert(input), expected)

@@ -198,3 +203,3 @@ t.end()

const input = require('./fixtures/h2-text.json')
const expected = '<div class="big-heading" id="header_1234">Such h2 header, much amaze</div>'
const expected = '<div class="grid"><div class="big-heading" id="header_1234">Such h2 header, much amaze</div></div>'
t.same(myBlockContentToHtml.convert(input), expected)

@@ -204,3 +209,10 @@ t.end()

test('uses default with plain h1 block with custom adapter when no handler registered for h1', {todo: false}, t => {
const input = require('./fixtures/h1-text.json')
const expected = '<div class="grid"><h1>Such h1 header, much amaze</h1></div>'
t.same(myBlockContentToHtml.convert(input), expected)
t.end()
})
test('throws an error on custom block type without a registered handler', {todo: false}, t => {

@@ -207,0 +219,0 @@ const input = require('./fixtures/custom-block.json')

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.BlockContentAdapter = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function parseSingle(e,t){if(t[e.type])return t[e.type](e);throw new Error("Don't know how to handle type '"+e.type+"'")}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),_blockContentToTree=require("@sanity/block-content-to-tree"),_blockContentToTree2=_interopRequireDefault(_blockContentToTree),_typeHandlers=require("./type-handlers"),_typeHandlers2=_interopRequireDefault(_typeHandlers),_escapeHtml2=require("./escapeHtml"),_escapeHtml3=_interopRequireDefault(_escapeHtml2),blockContentToTree=new _blockContentToTree2.default,BlockContentToHtml=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e);var n=t.customTypeHandlers||{};this.typeHandlers=_extends({},(0,_typeHandlers2.default)(t.blockTypeHandlers||{}),n)}return _createClass(e,null,[{key:"escapeHtml",value:function(e){return(0,_escapeHtml3.default)(e)}}]),_createClass(e,[{key:"convert",value:function(e){var t=this,n=blockContentToTree.convert(e);return Array.isArray(n)?n.map(function(e){return parseSingle(e,t.typeHandlers)}).join("\n"):parseSingle(n,this.typeHandlers)}}]),e}();exports.default=BlockContentToHtml;
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function parseSingle(e,t){if(t[e.type])return t[e.type](e);throw new Error("Don't know how to handle type '"+e.type+"'")}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),_blockContentToTree=require("@sanity/block-content-to-tree"),_blockContentToTree2=_interopRequireDefault(_blockContentToTree),_typeHandlers=require("./type-handlers"),_typeHandlers2=_interopRequireDefault(_typeHandlers),_escapeHtml2=require("./escapeHtml"),_escapeHtml3=_interopRequireDefault(_escapeHtml2),blockContentToTree=new _blockContentToTree2.default,BlockContentToHtml=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e);var n=t.customTypeHandlers||{},r=(0,_typeHandlers2.default)(t.blockTypeHandlers||{},n.block);delete n.block,this.typeHandlers=_extends({},r,n)}return _createClass(e,null,[{key:"escapeHtml",value:function(e){return(0,_escapeHtml3.default)(e)}}]),_createClass(e,[{key:"convert",value:function(e){var t=this,n=blockContentToTree.convert(e);return Array.isArray(n)?n.map(function(e){return parseSingle(e,t.typeHandlers)}).join("\n"):parseSingle(n,this.typeHandlers)}}]),e}();exports.default=BlockContentToHtml;
},{"./escapeHtml":2,"./type-handlers":4,"@sanity/block-content-to-tree":7}],2:[function(require,module,exports){
"use strict";function escapeHTML(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/\//g,"&#x2F;")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=escapeHTML;
},{}],3:[function(require,module,exports){
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var _BlockContentToHtml=require("./BlockContentToHtml.js"),_BlockContentToHtml2=_interopRequireDefault(_BlockContentToHtml);module.exports=_BlockContentToHtml2.default;
},{"./BlockContentToHtml.js":1}],4:[function(require,module,exports){
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function getContent(t,e){var n="";return t.forEach(function(t){if("string"==typeof t)n+=(0,_escapeHtml2.default)(t).replace(/\n/g,"<br />");else{var r=e[t.type]||e.text;n+=r(t)}}),n}function getListItems(t,e,n){var r="";return t.forEach(function(t){if("string"==typeof t)r+=(0,_escapeHtml2.default)(t);else{t.attributes=t.attributes||{};var i=n.span;t.children=i(t),r+=e.listItem(t)}}),r}function mapMark(t,e){return e&&void 0!==e[t]?e[t]:t}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};exports.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=_extends({normal:function(t){return"<p>"+t.children+"</p>"}},t.textBlock||{}),n=_extends({number:function(t){return"<ol>"+t.children+"\n</ol>"},bullet:function(t){return"<ul>"+t.children+"\n</ul>"},listItem:function(t){return"\n <li>"+t.children+"</li>"}},t.listBlock||{}),r={block:function(t){return e[t.style]?(t.children=getContent(t.content,r),e[t.style](t)):"<"+t.style+">"+getContent(t.content,r)+"</"+t.style+">"},list:function(t){return n[t.itemStyle]?(t.children=getListItems(t.items,n,r),n[t.itemStyle](t)):"<ul>"+getListItems(t.items,n,r)+"</ul>"},span:function(e){var n="",i="";if(e.mark){var l=mapMark(e.mark,t.marks);n+=l?"<"+l+">":"",i=l?"</"+l+">":""}return e.children=getContent(e.content,r),t.span?""+n+t.span(e)+i:(e.attributes&&e.attributes.link&&(n+='<a href="'+e.attributes.link.href+'">',i="</a>"+i),""+n+getContent(e.content,r)+i)}};return r};var _escapeHtml=require("./escapeHtml"),_escapeHtml2=_interopRequireDefault(_escapeHtml);
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function getContent(t,e){var n="";return t.forEach(function(t){if("string"==typeof t)n+=(0,_escapeHtml2.default)(t).replace(/\n/g,"<br />");else{var r=e[t.type]||e.text;n+=r(t)}}),n}function getListItems(t,e,n){var r="";return t.forEach(function(t){if("string"==typeof t)r+=(0,_escapeHtml2.default)(t);else{t.attributes=t.attributes||{};var l=n.span;t.children=l(t),r+=e.listItem(t)}}),r}function mapMark(t,e){return e&&void 0!==e[t]?e[t]:t}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};exports.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1],n=_extends({normal:function(t){return"<p>"+t.children+"</p>"}},t.textBlock||{},t.customBlock||{}),r=_extends({number:function(t){return"<ol>"+t.children+"\n</ol>"},bullet:function(t){return"<ul>"+t.children+"\n</ul>"},listItem:function(t){return"\n <li>"+t.children+"</li>"}},t.listBlock||{}),l={block:function(t){return e?e(t,l.defaultBlock):l.defaultBlock(t)},defaultBlock:function(t){return n[t.style]?(t.children=getContent(t.content,l),n[t.style](t)):"<"+t.style+">"+getContent(t.content,l)+"</"+t.style+">"},list:function(t){return r[t.itemStyle]?(t.children=getListItems(t.items,r,l),r[t.itemStyle](t)):"<ul>"+getListItems(t.items,r,l)+"</ul>"},span:function(e){var n="",r="";if(e.mark){var i=mapMark(e.mark,t.marks);n+=i?"<"+i+">":"",r=i?"</"+i+">":""}return e.children=getContent(e.content,l),t.span?""+n+t.span(e)+r:(e.attributes&&e.attributes.link&&(n+='<a href="'+e.attributes.link.href+'">',r="</a>"+r),""+n+getContent(e.content,l)+r)}};return l};var _escapeHtml=require("./escapeHtml"),_escapeHtml2=_interopRequireDefault(_escapeHtml);
},{"./escapeHtml":2}],5:[function(require,module,exports){

@@ -11,0 +11,0 @@ "use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function parseListBlocks(e,r){return r.list(e)}function parseSingleBlock(e,r){var t=e._type,n=r[t];if(!n){var a=_extends({},e);return delete a._type,{type:t,attributes:a}}return n(e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(r,t,n){return t&&e(r.prototype,t),n&&e(r,n),r}}(),_extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},_typeHandlers=require("./type-handlers"),_typeHandlers2=_interopRequireDefault(_typeHandlers),_typeCheckers=require("./type-checkers"),BlockContentToTree=function(){function e(){_classCallCheck(this,e),this.typeHandlers=_typeHandlers2.default}return _createClass(e,[{key:"convert",value:function(e){var r=this;if(Array.isArray(e)){var t=[],n=[];return e.forEach(function(e,a,s){if((0,_typeCheckers.isList)(e)){n.push(e);if((s[a+1]||{}).listItem!==e.listItem){var l=Array.from(n);n=[],t.push(parseListBlocks(l,r.typeHandlers))}}else t.push(parseSingleBlock(e,r.typeHandlers))}),t}if(!e||!e._type)throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);return parseSingleBlock(e,this.typeHandlers)}}]),e}();exports.default=BlockContentToTree;

@@ -1,1 +0,1 @@

!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.BlockContentAdapter=e()}}(function(){return function e(t,n,r){function o(a,i){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!i&&l)return l(a,!0);if(u)return u(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var s=n[a]={exports:{}};t[a][0].call(s.exports,function(e){var n=t[a][1][e];return o(n||e)},s,s.exports,e,t,n,r)}return n[a].exports}for(var u="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(t[e.type])return t[e.type](e);throw new Error("Don't know how to handle type '"+e.type+"'")}Object.defineProperty(n,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=e("@sanity/block-content-to-tree"),c=r(l),s=e("./type-handlers"),f=r(s),p=e("./escapeHtml"),d=r(p),y=new c.default,v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,e);var n=t.customTypeHandlers||{};this.typeHandlers=a({},(0,f.default)(t.blockTypeHandlers||{}),n)}return i(e,null,[{key:"escapeHtml",value:function(e){return(0,d.default)(e)}}]),i(e,[{key:"convert",value:function(e){var t=this,n=y.convert(e);return Array.isArray(n)?n.map(function(e){return u(e,t.typeHandlers)}).join("\n"):u(n,this.typeHandlers)}}]),e}();n.default=v},{"./escapeHtml":2,"./type-handlers":4,"@sanity/block-content-to-tree":7}],2:[function(e,t,n){"use strict";function r(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/\//g,"&#x2F;")}Object.defineProperty(n,"__esModule",{value:!0}),n.default=r},{}],3:[function(e,t,n){"use strict";var r=e("./BlockContentToHtml.js"),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.exports=o.default},{"./BlockContentToHtml.js":1}],4:[function(e,t,n){"use strict";function r(e,t){var n="";return e.forEach(function(e){if("string"==typeof e)n+=(0,l.default)(e).replace(/\n/g,"<br />");else{var r=t[e.type]||t.text;n+=r(e)}}),n}function o(e,t,n){var r="";return e.forEach(function(e){if("string"==typeof e)r+=(0,l.default)(e);else{e.attributes=e.attributes||{};var o=n.span;e.children=o(e),r+=t.listItem(e)}}),r}function u(e,t){return t&&void 0!==t[e]?t[e]:e}Object.defineProperty(n,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a({normal:function(e){return"<p>"+e.children+"</p>"}},e.textBlock||{}),n=a({number:function(e){return"<ol>"+e.children+"\n</ol>"},bullet:function(e){return"<ul>"+e.children+"\n</ul>"},listItem:function(e){return"\n <li>"+e.children+"</li>"}},e.listBlock||{}),i={block:function(e){return t[e.style]?(e.children=r(e.content,i),t[e.style](e)):"<"+e.style+">"+r(e.content,i)+"</"+e.style+">"},list:function(e){return n[e.itemStyle]?(e.children=o(e.items,n,i),n[e.itemStyle](e)):"<ul>"+o(e.items,n,i)+"</ul>"},span:function(t){var n="",o="";if(t.mark){var a=u(t.mark,e.marks);n+=a?"<"+a+">":"",o=a?"</"+a+">":""}return t.children=r(t.content,i),e.span?""+n+e.span(t)+o:(t.attributes&&t.attributes.link&&(n+='<a href="'+t.attributes.link.href+'">',o="</a>"+o),""+n+r(t.content,i)+o)}};return i};var i=e("./escapeHtml"),l=function(e){return e&&e.__esModule?e:{default:e}}(i)},{"./escapeHtml":2}],5:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return t.list(e)}function u(e,t){var n=e._type,r=t[n];if(!r){var o=i({},e);return delete o._type,{type:n,attributes:o}}return r(e)}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=e("./type-handlers"),c=function(e){return e&&e.__esModule?e:{default:e}}(l),s=e("./type-checkers"),f=function(){function e(){r(this,e),this.typeHandlers=c.default}return a(e,[{key:"convert",value:function(e){var t=this;if(Array.isArray(e)){var n=[],r=[];return e.forEach(function(e,a,i){if((0,s.isList)(e)){if(r.push(e),(i[a+1]||{}).listItem!==e.listItem){var l=Array.from(r);r=[],n.push(o(l,t.typeHandlers))}}else n.push(u(e,t.typeHandlers))}),n}if(!e||!e._type)throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);return u(e,this.typeHandlers)}}]),e}();n.default=f},{"./type-checkers":8,"./type-handlers":9}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(t){r(this,e),this.spans=t}return u(e,[{key:"run",value:function(){var e={content:[]},t=[e];return this.spans.forEach(function(e){var n=o({},e);delete n.text,delete n.marks,delete n._type;var r=e.marks.sort(),u=1;if(t.length>1)for(u;u<t.length;u++){var a=t[u].mark;if(!r.includes(a))break;var i=r.indexOf(a);r.splice(i,1)}t=t.slice(0,u);var l=t.slice(-1)[0];r.forEach(function(e){var n={content:[],mark:e,type:"span",attributes:{}};l.content.push(n),t.push(n),l=n}),Object.keys(n).length?l.content.push({type:"span",attributes:n,content:[e.text]}):l.content.push(e.text)}),e.content}}]),e}(),i=function(e){return new a(e).run()};n.default=i},{}],7:[function(e,t,n){"use strict";var r=e("./BlockContentToTree.js"),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.exports=o.default},{"./BlockContentToTree.js":5}],8:[function(e,t,n){"use strict";function r(e){var t=e._type,n=e.listItem;return"block"===t&&!!n}function o(e){return"block"===e._type&&!r(e)}function u(e){return o(e)?"text":r(e)?"list":"custom"}Object.defineProperty(n,"__esModule",{value:!0}),n.isList=r,n.isText=o,n.getInternalBlockType=u},{}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./ContentNester"),o=function(e){return e&&e.__esModule?e:{default:e}}(r),u=function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t},a=function(e){return{type:"list",itemStyle:e[0].listItem,items:e.map(function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t})}};n.default={block:u,list:a}},{"./ContentNester":6}]},{},[3])(3)});
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.BlockContentAdapter=e()}}(function(){return function e(t,n,r){function o(a,i){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!i&&l)return l(a,!0);if(u)return u(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[a]={exports:{}};t[a][0].call(f.exports,function(e){var n=t[a][1][e];return o(n||e)},f,f.exports,e,t,n,r)}return n[a].exports}for(var u="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(t[e.type])return t[e.type](e);throw new Error("Don't know how to handle type '"+e.type+"'")}Object.defineProperty(n,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=e("@sanity/block-content-to-tree"),c=r(l),f=e("./type-handlers"),s=r(f),p=e("./escapeHtml"),d=r(p),y=new c.default,v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,e);var n=t.customTypeHandlers||{},r=(0,s.default)(t.blockTypeHandlers||{},n.block);delete n.block,this.typeHandlers=a({},r,n)}return i(e,null,[{key:"escapeHtml",value:function(e){return(0,d.default)(e)}}]),i(e,[{key:"convert",value:function(e){var t=this,n=y.convert(e);return Array.isArray(n)?n.map(function(e){return u(e,t.typeHandlers)}).join("\n"):u(n,this.typeHandlers)}}]),e}();n.default=v},{"./escapeHtml":2,"./type-handlers":4,"@sanity/block-content-to-tree":7}],2:[function(e,t,n){"use strict";function r(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/\//g,"&#x2F;")}Object.defineProperty(n,"__esModule",{value:!0}),n.default=r},{}],3:[function(e,t,n){"use strict";var r=e("./BlockContentToHtml.js"),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.exports=o.default},{"./BlockContentToHtml.js":1}],4:[function(e,t,n){"use strict";function r(e,t){var n="";return e.forEach(function(e){if("string"==typeof e)n+=(0,l.default)(e).replace(/\n/g,"<br />");else{var r=t[e.type]||t.text;n+=r(e)}}),n}function o(e,t,n){var r="";return e.forEach(function(e){if("string"==typeof e)r+=(0,l.default)(e);else{e.attributes=e.attributes||{};var o=n.span;e.children=o(e),r+=t.listItem(e)}}),r}function u(e,t){return t&&void 0!==t[e]?t[e]:e}Object.defineProperty(n,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n=a({normal:function(e){return"<p>"+e.children+"</p>"}},e.textBlock||{},e.customBlock||{}),i=a({number:function(e){return"<ol>"+e.children+"\n</ol>"},bullet:function(e){return"<ul>"+e.children+"\n</ul>"},listItem:function(e){return"\n <li>"+e.children+"</li>"}},e.listBlock||{}),l={block:function(e){return t?t(e,l.defaultBlock):l.defaultBlock(e)},defaultBlock:function(e){return n[e.style]?(e.children=r(e.content,l),n[e.style](e)):"<"+e.style+">"+r(e.content,l)+"</"+e.style+">"},list:function(e){return i[e.itemStyle]?(e.children=o(e.items,i,l),i[e.itemStyle](e)):"<ul>"+o(e.items,i,l)+"</ul>"},span:function(t){var n="",o="";if(t.mark){var a=u(t.mark,e.marks);n+=a?"<"+a+">":"",o=a?"</"+a+">":""}return t.children=r(t.content,l),e.span?""+n+e.span(t)+o:(t.attributes&&t.attributes.link&&(n+='<a href="'+t.attributes.link.href+'">',o="</a>"+o),""+n+r(t.content,l)+o)}};return l};var i=e("./escapeHtml"),l=function(e){return e&&e.__esModule?e:{default:e}}(i)},{"./escapeHtml":2}],5:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return t.list(e)}function u(e,t){var n=e._type,r=t[n];if(!r){var o=i({},e);return delete o._type,{type:n,attributes:o}}return r(e)}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=e("./type-handlers"),c=function(e){return e&&e.__esModule?e:{default:e}}(l),f=e("./type-checkers"),s=function(){function e(){r(this,e),this.typeHandlers=c.default}return a(e,[{key:"convert",value:function(e){var t=this;if(Array.isArray(e)){var n=[],r=[];return e.forEach(function(e,a,i){if((0,f.isList)(e)){if(r.push(e),(i[a+1]||{}).listItem!==e.listItem){var l=Array.from(r);r=[],n.push(o(l,t.typeHandlers))}}else n.push(u(e,t.typeHandlers))}),n}if(!e||!e._type)throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);return u(e,this.typeHandlers)}}]),e}();n.default=s},{"./type-checkers":8,"./type-handlers":9}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(t){r(this,e),this.spans=t}return u(e,[{key:"run",value:function(){var e={content:[]},t=[e];return this.spans.forEach(function(e){var n=o({},e);delete n.text,delete n.marks,delete n._type;var r=e.marks.sort(),u=1;if(t.length>1)for(u;u<t.length;u++){var a=t[u].mark;if(!r.includes(a))break;var i=r.indexOf(a);r.splice(i,1)}t=t.slice(0,u);var l=t.slice(-1)[0];r.forEach(function(e){var n={content:[],mark:e,type:"span",attributes:{}};l.content.push(n),t.push(n),l=n}),Object.keys(n).length?l.content.push({type:"span",attributes:n,content:[e.text]}):l.content.push(e.text)}),e.content}}]),e}(),i=function(e){return new a(e).run()};n.default=i},{}],7:[function(e,t,n){"use strict";var r=e("./BlockContentToTree.js"),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.exports=o.default},{"./BlockContentToTree.js":5}],8:[function(e,t,n){"use strict";function r(e){var t=e._type,n=e.listItem;return"block"===t&&!!n}function o(e){return"block"===e._type&&!r(e)}function u(e){return o(e)?"text":r(e)?"list":"custom"}Object.defineProperty(n,"__esModule",{value:!0}),n.isList=r,n.isText=o,n.getInternalBlockType=u},{}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./ContentNester"),o=function(e){return e&&e.__esModule?e:{default:e}}(r),u=function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t},a=function(e){return{type:"list",itemStyle:e[0].listItem,items:e.map(function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t})}};n.default={block:u,list:a}},{"./ContentNester":6}]},{},[3])(3)});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc