Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@tinymce/tinymce-react

Package Overview
Dependencies
Maintainers
2
Versions
365
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tinymce/tinymce-react - npm Package Compare versions

Comparing version 3.8.4 to 3.9.0-feature.20210111051221352.faef7f1

233

CHANGELOG.md

@@ -1,128 +0,185 @@

## 3.8.4 (2020-12-16)
* Updated dependencies to latest available
# Change log
All notable changes to this project will be documented in this file.
## 3.8.3 (2020-12-08)
* Fixed event binding to only rebind handler on changes to the specific property instead of any property.
* Updated TinyMCE types to 5.6 release.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 3.8.2 (2020-12-03)
* Fixed external changes not generating undo levels
## [Unreleased]
### Changed
- Adopted beehive-flow branching and versioning process/tooling.
- Changed the changelog formatting
- Updated dependencies to latest available
## 3.8.1 (2020-10-22)
* Fixed an issue where the component would throw an error when unmounted while loading
## [3.8.4] - 2020-12-16
### Fixed
- Updated dependencies to latest available
## 3.8.0 (2020-10-08)
* Added types from TinyMCE 5.5 release.
## [3.8.3] - 2020-12-08
### Changed
- Updated TinyMCE types to 5.6 release.
## 3.7.0 (2020-09-28)
* Added `scriptLoading` prop with settings `async`, `defer` and `delay` to modify the loading behaviour of the TinyMCE script tag
### Fixed
- Fixed event binding to only rebind handler on changes to the specific property instead of any property.
## 3.6.1 (2020-09-07)
* Upgraded dependencies to latest available.
## [3.8.2] - 2020-12-03
### Fixed
- Fixed external changes not generating undo levels
## 3.6.0 (2020-05-07)
* Fixed an issue that allowed events to be fired during `componentWillUnmount`
## [3.8.1] - 2020-10-22
### Fixed
- Fixed an issue where the component would throw an error when unmounted while loading
## 3.5.1 (2020-04-30)
* Remove `util` module from dependencies by purging usage in code.
* Upgraded jquery in dev dependencies in response to security alert.
## [3.8.0] - 2020-10-08
### Added
- Added types from TinyMCE 5.5 release.
## 3.5.0 (2020-02-24)
* Added new `tinymceScriptSrc` prop for specifying an external version of TinyMCE to lazy load
## [3.7.0] - 2020-09-28
### Added
- Added `scriptLoading` prop with settings `async`, `defer` and `delay` to modify the loading behaviour of the TinyMCE script tag
## 3.4.0 (2020-01-31)
* Added new `outputFormat` prop for specifying the format of the content emitted via the `onEditorChange` event
## [3.6.1] - 2020-09-07
### Fixed
- Upgraded dependencies to latest available.
## 3.3.2 (2019-08-29)
* Fixed an issue that caused `onEditorChange` to fire multiple times
## [3.6.0] - 2020-05-07
### Fixed
- Fixed an issue that allowed events to be fired during `componentWillUnmount`
## 3.3.1 (2019-08-16)
* Changed referrer policy to origin to allow cloud caching
## [3.5.1] - 2020-04-30
### Fixed
- Remove `util` module from dependencies by purging usage in code.
- Upgraded jquery in dev dependencies in response to security alert.
## 3.3.0 (2019-07-29)
* Fixed an issue that made the editor ignore new event handlers provided through props
* Removed use of deprecated lifecycle hooks `componentWillMount` and `componentWillReceiveProps`
## [3.5.0] - 2020-02-24
### Added
- Added new `tinymceScriptSrc` prop for specifying an external version of TinyMCE to lazy load
## 3.2.0 (2019-06-04)
* Changed the CDN URL to use `cdn.tiny.cloud`
## [3.4.0] - 2020-01-31
### Added
- Added new `outputFormat` prop for specifying the format of the content emitted via the `onEditorChange` event
## 3.1.1 (2019-05-10)
* Removed preinstall script
## [3.3.2] - 2019-08-29
### Fixed
- Fixed an issue that caused `onEditorChange` to fire multiple times
## 3.1.0 (2019-05-10)
* Added the editor as a second argument to `onEditorChange`
* Exported Typescript prop types
## [3.3.1] - 2019-08-16
### Fixed
- Changed referrer policy to origin to allow cloud caching
## 3.0.1 (2019-02-11)
* Updated readme on cloud channels.
## [3.3.0] - 2019-07-29
### Fixed
- Fixed an issue that made the editor ignore new event handlers provided through props
- Removed use of deprecated lifecycle hooks `componentWillMount` and `componentWillReceiveProps`
## 3.0.0 (2019-02-11)
* Changed default cloudChannel to `'5'`.
## [3.2.0] - 2019-06-04
### Fixed
- Changed the CDN URL to use `cdn.tiny.cloud`
## 2.6.1 (2019-02-07)
* Changed `react` and `react-dom` to be peerDependencies and devDependencies.
## [3.1.1] - 2019-05-10
### Changed
- Removed preinstall script
## 2.6.0 (2019-02-07)
* Changed `react` and `react-dom` to be peerDependencies.
## [3.1.0] - 2019-05-10
### Changed
- Added the editor as a second argument to `onEditorChange`
- Exported Typescript prop types
## 2.5.0 (2019-01-24)
* Loosened cloudChannel proptype to take any string to be able to use the locked version channels.
## [3.0.1] - 2019-02-11
### Changed
- Updated readme on cloud channels.
## 2.4.0 (2018-11-02)
* Added `textareaName` prop that sets the name attribute on the textarea for use in forms.
## [3.0.0] - 2019-02-11
### Changed
- Changed default cloudChannel to `'5'`.
## 2.3.0 (2018-10-01)
* Added `disabled` prop that sets the editor into readonly mode.
## [2.6.1] - 2019-02-07
### Fixed
- Changed `react` and `react-dom` to be peerDependencies and devDependencies.
## 2.2.6 (2018-09-03)
* Fixed broken links in readme.
## [2.6.0] - 2019-02-07
### Fixed
- Changed `react` and `react-dom` to be peerDependencies.
## 2.2.5 (2018-04-23)
* Added a nullcheck in componentWillUnmount to check that tinymce is availabl before running remove.
## [2.5.0] - 2019-01-24
### Changed
- Loosened cloudChannel proptype to take any string to be able to use the locked version channels.
## 2.2.4 (2018-04-06)
* Removed onPreInit shorthand as it never worked.
## [2.4.0] - 2018-11-02
### Added
- Added `textareaName` prop that sets the name attribute on the textarea for use in forms.
## 2.2.3 (2018-04-06)
* Fixed a bug with onInit not working.
## [2.3.0] - 2018-10-01
### Added
- Added `disabled` prop that sets the editor into readonly mode.
## 2.2.2 (2018-04-05)
* Fixed a bug with values set while the editor was initializing.
## [2.2.6] - 2018-09-03
### Fixed
- Fixed broken links in readme.
## 2.2.1 (2018-04-03)
* No change, pushed to fix missing readme on npm.
## [2.2.5] - 2018-04-23
### Fixed
- Added a nullcheck in componentWillUnmount to check that tinymce is available before running remove.
## 2.2.0 (2018-02-19)
* Added functionality so you can use the editor as a controlled component by setting the `value` property and using the `onEditorChange` event.
## [2.2.4] - 2018-04-06
### Fixed
- Removed onPreInit shorthand as it never worked.
## 2.1.4 (2018-02-16)
* Fixed bug where is wasn't possible to set inline in the init object, only on the shorthand.
## [2.2.3] - 2018-04-06
### Fixed
- Fixed a bug with onInit not working.
## 2.1.3 (2018-01-17)
* Added `plugins` and `toolbar` shorthands.
## [2.2.2] - 2018-04-05
### Fixed
- Fixed a bug with values set while the editor was initializing.
## 2.1.2 (2018-01-08)
* Use `target` on element instead of `selector` in init config.
## [2.2.1] - 2018-04-03
### Fixed
- No change, pushed to fix missing readme on npm.
## 2.1.1 (2018-01-03)
* Fix so init setup callback gets called like it should.
## [2.2.0] - 2018-02-19
### Added
- Added functionality so you can use the editor as a controlled component by setting the `value` property and using the `onEditorChange` event.
## 2.1.0 (2017-12-18)
* Added auto-loading of TinyMCE from TinyMCE Cloud
## [2.1.4] - 2018-02-16
### Fixed
- Fixed bug where is wasn't possible to set inline in the init object, only on the shorthand.
## 2.0.3 (2017-11-22)
* Added check for `initialValue` prop to prevent javascript error that was shown when `tinymce.setContent` was called with undefined.
## [2.1.3] - 2018-01-17
### Added
- Added `plugins` and `toolbar` shorthands.
## 2.0.2 (2017-11-22)
* Accidentally published 2.0.1 without building first, published this version to fix that and added prepare hook to prevent the same thing from happening again.
## [2.1.2] - 2018-01-08
### Changed
- Use `target` on element instead of `selector` in init config.
## 2.0.1 (2017-11-21)
* Added description to package.json and improved readme wording.
## [2.1.1] - 2018-01-03
### Added
- Fix so init setup callback gets called like it should.
## 2.0.0 (2017-11-08)
* *BREAKING!* Switched `value` prop to `initialValue` to make it clearer what it actually does.
* Only bind whitelisted events.
* Add support for `tagName` prop when using editor inline to define what element you want to initialize the editor on.
## [2.1.0] - 2017-12-18
### Added
- Added auto-loading of TinyMCE from TinyMCE Cloud
## 1.0.0 (2017-11-07)
* Initial Release.
## [2.0.3] - 2017-11-22
### Fixed
- Added check for `initialValue` prop to prevent javascript error that was shown when `tinymce.setContent` was called with undefined.
## [2.0.2] - 2017-11-22
### Fixed
- Accidentally published 2.0.1 without building first, published this version to fix that and added prepare hook to prevent the same thing from happening again.
## [2.0.1] - 2017-11-21
### Added
- Added description to package.json and improved readme wording.
## [2.0.0] - 2017-11-08
### Added
- Add support for `tagName` prop when using editor inline to define what element you want to initialize the editor on.
### Changed
- *BREAKING!* Switched `value` prop to `initialValue` to make it clearer what it actually does.
### Fixed
- Only bind whitelisted events.
## [1.0.0] - 2017-11-07
### Added
- Initial Release.

@@ -45,3 +45,3 @@ "use strict";

var _this = _super.call(this, props) || this;
_this.handleEditorChange = function (evt) {
_this.handleEditorChange = function (_evt) {
var _a;

@@ -48,0 +48,0 @@ var editor = _this.editor;

@@ -88,5 +88,5 @@ "use strict";

exports.EditorPropTypes = __assign({ apiKey: PropTypes.string, id: PropTypes.string, inline: PropTypes.bool, init: PropTypes.object, initialValue: PropTypes.string, onEditorChange: PropTypes.func, outputFormat: PropTypes.oneOf(['html', 'text']), value: PropTypes.string, tagName: PropTypes.string, cloudChannel: PropTypes.string, plugins: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), toolbar: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), disabled: PropTypes.bool, textareaName: PropTypes.string, tinymceScriptSrc: PropTypes.string, scriptLoading: PropTypes.shape({
'async': PropTypes.bool,
'defer': PropTypes.bool,
'delay': PropTypes.number
async: PropTypes.bool,
defer: PropTypes.bool,
delay: PropTypes.number
}) }, exports.eventPropTypes);

@@ -12,10 +12,8 @@ "use strict";

var Utils_1 = require("./Utils");
var createState = function () {
return {
listeners: [],
scriptId: Utils_1.uuid('tiny-script'),
scriptLoading: false,
scriptLoaded: false
};
};
var createState = function () { return ({
listeners: [],
scriptId: Utils_1.uuid('tiny-script'),
scriptLoading: false,
scriptLoaded: false
}); };
var CreateScriptLoader = function () {

@@ -22,0 +20,0 @@ var state = createState();

@@ -21,11 +21,6 @@ "use strict";

exports.isFunction = isFunction;
var isEventProp = function (name) {
return name in EditorPropTypes_1.eventPropTypes;
};
var eventAttrToEventName = function (attrName) {
return attrName.substr(2);
};
var bindHandlers = function (editor, prevProps, props, boundHandlers) {
return exports.bindHandlers2(editor.on.bind(editor), editor.off.bind(editor), function (handler) { return function (e) { return handler(e, editor); }; }, prevProps, props, boundHandlers);
};
var isEventProp = function (name) { return name in EditorPropTypes_1.eventPropTypes; };
var eventAttrToEventName = function (attrName) { return attrName.substr(2); };
// eslint-disable-next-line max-len
var bindHandlers = function (editor, prevProps, props, boundHandlers) { return exports.bindHandlers2(editor.on.bind(editor), editor.off.bind(editor), function (handler) { return function (e) { return handler(e, editor); }; }, prevProps, props, boundHandlers); };
exports.bindHandlers = bindHandlers;

@@ -36,3 +31,3 @@ var bindHandlers2 = function (on, off, adapter, prevProps, props, boundHandlers) {

var removedKeys = prevEventKeys.filter(function (key) { return props[key] === undefined; });
var changedKeys = currEventKeys.filter(function (key) { return prevProps[key] !== undefined && prevProps[key] != props[key]; });
var changedKeys = currEventKeys.filter(function (key) { return prevProps[key] !== undefined && prevProps[key] !== props[key]; });
var addedKeys = currEventKeys.filter(function (key) { return prevProps[key] === undefined; });

@@ -66,5 +61,3 @@ __spreadArrays(removedKeys, changedKeys).forEach(function (key) {

exports.uuid = uuid;
var isTextarea = function (element) {
return element !== null && element.tagName.toLowerCase() === 'textarea';
};
var isTextarea = function (element) { return element !== null && element.tagName.toLowerCase() === 'textarea'; };
exports.isTextarea = isTextarea;

@@ -77,5 +70,4 @@ var normalizePluginArray = function (plugins) {

};
var mergePlugins = function (initPlugins, inputPlugins) {
return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
};
// eslint-disable-next-line max-len
var mergePlugins = function (initPlugins, inputPlugins) { return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins)); };
exports.mergePlugins = mergePlugins;

@@ -42,3 +42,3 @@ /**

var _this = _super.call(this, props) || this;
_this.handleEditorChange = function (evt) {
_this.handleEditorChange = function (_evt) {
var _a;

@@ -45,0 +45,0 @@ var editor = _this.editor;

@@ -85,5 +85,5 @@ /**

export var EditorPropTypes = __assign({ apiKey: PropTypes.string, id: PropTypes.string, inline: PropTypes.bool, init: PropTypes.object, initialValue: PropTypes.string, onEditorChange: PropTypes.func, outputFormat: PropTypes.oneOf(['html', 'text']), value: PropTypes.string, tagName: PropTypes.string, cloudChannel: PropTypes.string, plugins: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), toolbar: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), disabled: PropTypes.bool, textareaName: PropTypes.string, tinymceScriptSrc: PropTypes.string, scriptLoading: PropTypes.shape({
'async': PropTypes.bool,
'defer': PropTypes.bool,
'delay': PropTypes.number
async: PropTypes.bool,
defer: PropTypes.bool,
delay: PropTypes.number
}) }, eventPropTypes);

@@ -9,10 +9,8 @@ /**

import { uuid } from './Utils';
var createState = function () {
return {
listeners: [],
scriptId: uuid('tiny-script'),
scriptLoading: false,
scriptLoaded: false
};
};
var createState = function () { return ({
listeners: [],
scriptId: uuid('tiny-script'),
scriptLoading: false,
scriptLoaded: false
}); };
var CreateScriptLoader = function () {

@@ -19,0 +17,0 @@ var state = createState();

@@ -17,11 +17,6 @@ /**

export var isFunction = function (x) { return typeof x === 'function'; };
var isEventProp = function (name) {
return name in eventPropTypes;
};
var eventAttrToEventName = function (attrName) {
return attrName.substr(2);
};
export var bindHandlers = function (editor, prevProps, props, boundHandlers) {
return bindHandlers2(editor.on.bind(editor), editor.off.bind(editor), function (handler) { return function (e) { return handler(e, editor); }; }, prevProps, props, boundHandlers);
};
var isEventProp = function (name) { return name in eventPropTypes; };
var eventAttrToEventName = function (attrName) { return attrName.substr(2); };
// eslint-disable-next-line max-len
export var bindHandlers = function (editor, prevProps, props, boundHandlers) { return bindHandlers2(editor.on.bind(editor), editor.off.bind(editor), function (handler) { return function (e) { return handler(e, editor); }; }, prevProps, props, boundHandlers); };
export var bindHandlers2 = function (on, off, adapter, prevProps, props, boundHandlers) {

@@ -31,3 +26,3 @@ var prevEventKeys = Object.keys(prevProps).filter(isEventProp);

var removedKeys = prevEventKeys.filter(function (key) { return props[key] === undefined; });
var changedKeys = currEventKeys.filter(function (key) { return prevProps[key] !== undefined && prevProps[key] != props[key]; });
var changedKeys = currEventKeys.filter(function (key) { return prevProps[key] !== undefined && prevProps[key] !== props[key]; });
var addedKeys = currEventKeys.filter(function (key) { return prevProps[key] === undefined; });

@@ -59,5 +54,3 @@ __spreadArrays(removedKeys, changedKeys).forEach(function (key) {

};
export var isTextarea = function (element) {
return element !== null && element.tagName.toLowerCase() === 'textarea';
};
export var isTextarea = function (element) { return element !== null && element.tagName.toLowerCase() === 'textarea'; };
var normalizePluginArray = function (plugins) {

@@ -69,4 +62,3 @@ if (typeof plugins === 'undefined' || plugins === '') {

};
export var mergePlugins = function (initPlugins, inputPlugins) {
return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
};
// eslint-disable-next-line max-len
export var mergePlugins = function (initPlugins, inputPlugins) { return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins)); };
{
"name": "@tinymce/tinymce-react",
"version": "3.8.4",
"description": "Official TinyMCE React Component",

@@ -17,3 +15,3 @@ "repository": {

"scripts": {
"lint": "tslint 'src/**/*.ts?(x)'",
"lint": "eslint 'src/**/*.ts?(x)'",
"clean": "rimraf lib",

@@ -25,4 +23,3 @@ "test": "bedrock-auto -b chrome-headless -f src/test/ts/**/*Test.ts",

"storybook": "start-storybook -p 6006",
"storybook:build": "build-storybook",
"prepare": "yarn run build"
"storybook:build": "build-storybook"
},

@@ -37,4 +34,4 @@ "keywords": [],

"peerDependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0"
"react": "^17.0.1",
"react-dom": "^17.0.1"
},

@@ -44,13 +41,14 @@ "devDependencies": {

"@ephox/agar": "^5.1.1",
"@ephox/bedrock-client": "^9.6.1",
"@ephox/bedrock-server": "^9.7.1",
"@ephox/bedrock-client": "^10.0.0",
"@ephox/bedrock-server": "^10.0.1",
"@ephox/mcagar": "^5.1.1",
"@ephox/sand": "^4.0.3",
"@ephox/sugar": "^7.0.3",
"@ephox/tslint-rules": "^1.0.7",
"@storybook/addon-info": "^5.3.21",
"@storybook/react": "^6.1.11",
"@storybook/storybook-deployer": "^2.8.6",
"@tinymce/beehive-flow": "^0.11.0",
"@tinymce/eslint-plugin": "^1.7.2",
"@tinymce/miniature": "^3.0.1",
"@types/node": "^14.14.14",
"@types/node": "^14.14.20",
"@types/prop-types": "^15.5.8",

@@ -63,3 +61,3 @@ "@types/react": "^17.0.0",

"babel-loader": "^8.2.2",
"core-js": "^3.8.1",
"core-js": "^3.8.2",
"raf": "^3.4.1",

@@ -71,7 +69,8 @@ "react": "^17.0.1",

"tinymce-5": "npm:tinymce@^5",
"ts-loader": "^8.0.12",
"tslint": "^6.1.3",
"ts-loader": "^8.0.14",
"typescript": "^4.1.3",
"webpack": "^5.10.3"
}
"webpack": "^5.12.3"
},
"version": "3.9.0-feature.20210111051221352.faef7f1",
"name": "@tinymce/tinymce-react"
}
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