react-sanitized-html
Advanced tools
Comparing version 2.0.0 to 2.0.1-master.83ffb42
110
lib/index.js
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
@@ -6,90 +6,58 @@ Object.defineProperty(exports, "__esModule", { | ||
}); | ||
exports.default = void 0; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var _propTypes = _interopRequireDefault(require("prop-types")); | ||
var _react = require('react'); | ||
var _react = _interopRequireDefault(require("react")); | ||
var _react2 = _interopRequireDefault(_react); | ||
var _sanitizeHtml = _interopRequireDefault(require("sanitize-html")); | ||
var _propTypes = require('prop-types'); | ||
var _propTypes2 = _interopRequireDefault(_propTypes); | ||
var _sanitizeHtml = require('sanitize-html'); | ||
var _sanitizeHtml2 = _interopRequireDefault(_sanitizeHtml); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } | ||
var SUPPORTED_SANITIZER_OPTIONS = ['allowProtocolRelative', 'allowedAttributes', 'allowedClasses', 'allowedSchemes', 'allowedSchemesByTag', 'allowedTags', 'exclusiveFilter', 'nonTextTags', 'parser', 'selfClosing', 'transformTags']; | ||
var SanitizedHTML = function (_React$Component) { | ||
_inherits(SanitizedHTML, _React$Component); | ||
var SanitizedHTML = function SanitizedHTML(props) { | ||
var sanitizerOptions = SUPPORTED_SANITIZER_OPTIONS.reduce(function (options, name) { | ||
var value = props[name]; | ||
function SanitizedHTML() { | ||
_classCallCheck(this, SanitizedHTML); | ||
return _possibleConstructorReturn(this, (SanitizedHTML.__proto__ || Object.getPrototypeOf(SanitizedHTML)).apply(this, arguments)); | ||
} | ||
_createClass(SanitizedHTML, [{ | ||
key: 'render', | ||
value: function render() { | ||
var _this2 = this; | ||
var sanitizerOptions = SUPPORTED_SANITIZER_OPTIONS.reduce(function (options, name) { | ||
var value = _this2.props[name]; | ||
if (typeof value !== 'undefined') { | ||
options[name] = value; | ||
} | ||
return options; | ||
}, {}); | ||
var sanitizedHTML = (0, _sanitizeHtml2.default)(this.props.html, sanitizerOptions); | ||
return _react2.default.createElement('div', { | ||
className: this.props.className, | ||
dangerouslySetInnerHTML: { __html: sanitizedHTML }, | ||
id: this.props.id, | ||
style: this.props.style | ||
}); | ||
if (typeof value !== 'undefined') { | ||
options[name] = value; | ||
} | ||
}]); | ||
return SanitizedHTML; | ||
}(_react2.default.Component); | ||
return options; | ||
}, {}); // TODO: Add memoization | ||
exports.default = SanitizedHTML; | ||
var sanitizedHTML = (0, _sanitizeHtml.default)(props.html, sanitizerOptions); | ||
return _react.default.createElement("div", { | ||
className: props.className, | ||
dangerouslySetInnerHTML: { | ||
__html: sanitizedHTML | ||
}, | ||
id: props.id, | ||
style: props.style | ||
}); | ||
}; | ||
SanitizedHTML.defaultProps = { | ||
html: '' | ||
}; | ||
SanitizedHTML.propTypes = { | ||
allowProtocolRelative: _propTypes2.default.bool, | ||
allowedAttributes: _propTypes2.default.objectOf(_propTypes2.default.arrayOf(_propTypes2.default.string)), | ||
allowedClasses: _propTypes2.default.objectOf(_propTypes2.default.arrayOf(_propTypes2.default.string)), | ||
allowedSchemes: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
allowedSchemesByTag: _propTypes2.default.objectOf(_propTypes2.default.arrayOf(_propTypes2.default.string)), | ||
allowedTags: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
exclusiveFilter: _propTypes2.default.func, | ||
html: _propTypes2.default.string.isRequired, | ||
nonTextTags: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
parser: _propTypes2.default.any, | ||
selfClosing: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
transformTags: _propTypes2.default.objectOf(_propTypes2.default.oneOf([_propTypes2.default.func, _propTypes2.default.string])), | ||
className: _propTypes2.default.string, | ||
id: _propTypes2.default.string, | ||
style: _propTypes2.default.any | ||
allowProtocolRelative: _propTypes.default.bool, | ||
allowedAttributes: _propTypes.default.objectOf(_propTypes.default.arrayOf(_propTypes.default.string)), | ||
allowedClasses: _propTypes.default.objectOf(_propTypes.default.arrayOf(_propTypes.default.string)), | ||
allowedSchemes: _propTypes.default.arrayOf(_propTypes.default.string), | ||
allowedSchemesByTag: _propTypes.default.objectOf(_propTypes.default.arrayOf(_propTypes.default.string)), | ||
allowedTags: _propTypes.default.arrayOf(_propTypes.default.string), | ||
exclusiveFilter: _propTypes.default.func, | ||
html: _propTypes.default.string.isRequired, | ||
nonTextTags: _propTypes.default.arrayOf(_propTypes.default.string), | ||
parser: _propTypes.default.any, | ||
selfClosing: _propTypes.default.arrayOf(_propTypes.default.string), | ||
transformTags: _propTypes.default.objectOf(_propTypes.default.oneOf([_propTypes.default.func, _propTypes.default.string])), | ||
className: _propTypes.default.string, | ||
id: _propTypes.default.string, | ||
style: _propTypes.default.any | ||
}; | ||
var _default = SanitizedHTML; | ||
exports.default = _default; | ||
//# sourceMappingURL=index.js.map |
@@ -0,0 +0,0 @@ MIT License |
{ | ||
"name": "react-sanitized-html", | ||
"version": "2.0.0", | ||
"version": "2.0.1-master.83ffb42", | ||
"description": "A React component that will sanitize user-inputted HTML code, using the popular sanitize-html package", | ||
@@ -13,3 +13,4 @@ "main": "lib/index.js", | ||
"prepare": "rimraf lib && npm run build", | ||
"test": "jest" | ||
"test": "jest", | ||
"watch": "npm run build -- --watch" | ||
}, | ||
@@ -34,17 +35,21 @@ "repository": { | ||
"prop-types": "^15.6.0", | ||
"react": "^16.2.0", | ||
"react": "^16.0.0", | ||
"sanitize-html": "^1.16.1" | ||
}, | ||
"devDependencies": { | ||
"babel-cli": "^6.26.0", | ||
"babel-core": "^6.26.0", | ||
"babel-jest": "^21.2.0", | ||
"babel-preset-es2015": "^6.24.1", | ||
"babel-preset-es2017": "^6.24.1", | ||
"babel-preset-react": "^6.24.1", | ||
"jest": "^21.2.1", | ||
"@babel/cli": "^7.1.2", | ||
"@babel/core": "^7.1.2", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.0.0", | ||
"@babel/plugin-transform-runtime": "^7.1.0", | ||
"@babel/preset-env": "^7.1.0", | ||
"@babel/preset-react": "^7.0.0", | ||
"babel-core": "^7.0.0-bridge.0", | ||
"babel-jest": "^23.6.0", | ||
"jest": "^23.6.0", | ||
"prop-types": "^15.6.0", | ||
"react": "^16.0.0", | ||
"react-dom": "^16.2.0", | ||
"regenerator-runtime": "^0.11.1", | ||
"rimraf": "^2.6.2" | ||
"rimraf": "^2.6.2", | ||
"sanitize-html": "^1.16.1" | ||
} | ||
} |
# react-sanitized-html | ||
[](https://npmjs.com/package/react-sanitized-html) [](https://david-dm.org/compulim/react-sanitized-html) [](https://npmjs.com/package/react-sanitized-html) | ||
[](https://npmjs.com/package/react-sanitized-html) [](https://travis-ci.org/compulim/react-sanitized-html) [](https://david-dm.org/compulim/react-sanitized-html) [](https://npmjs.com/package/react-sanitized-html) | ||
@@ -5,0 +5,0 @@ A React component that will sanitize user-inputted HTML code, using the popular [`sanitize-html`](https://npmjs.com/package/sanitize-html) package. |
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
6
12427
14
50
1