All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated dependencies. #INT-3324
- Moved tinymce dependency to peerDependencies, as well as making it optional. #INT-3324
- Added
tabIndex
prop. Community PR acknowledgement: Grand Julivan [email protected]
- Added
licenseKey
property that overrides the TinyMCElicense_key
init property. #INT-3291 - Added events
onInput
,onCompositionEnd
,onCompositionStart
&onCompositionUpdate
. #INT-3291 - Added a JSDoc link to the TinyMCE 7 React Technical Reference docs page. #INT-3291
- Improved
cloudChannel
type. #INT-3291 - Updated to Storybook v8 and it now uses react-vite as a bundler/builder instead of webpack. #INT-3291
- Storybook examples now use CSFv3 components. #INT-3291
- Tests now run against TinyMCE version 7 as well. #INT-3291
- Updated dependencies. #INT-3291
- Changed default cloudChannel to
'7'
. #INT-3291
readonly
init property is now properly typed as undefined, as it's overriden by the integration. #INT-3287
- Removed
storybook-deploy
dependency. #INT-3254
- Reverted accidental change to allowed tinymce dependency versions in 4.3.0
- Updated dependencies
- Added events
onScriptsLoad
andonScriptsLoadError
for the loading of the script tags when notinymce
global is available.
- Changed
tinymceScriptSrc
prop so it can now accept an array of scripts to make hybrid mode easier to use. An empty array will avoid loading scripts but will callonScriptsLoadError
whentinymce
is missing.
- Updated CI library to latest
- Updated dependencies.
- Added prop for the event
CommentChange
.
- Added
CommentChange
to the list of events that trigger theonEditorChange
handler. - Source the tinymce object from the window associated with the target element.
- Updated dependencies.
- Added props for the events
SkinLoadError
,ThemeLoadError
,ModelLoadError
,PluginLoadError
,IconsLoadError
andLanguageLoadError
.
- Updated issue templates with updated codesandbox
- Updated the readme with links to the TinyMCE 6 documentation
- Updated the security issue reporting link to the TinyMCE 6 documentation
- License changed to MIT (from Apache 2) this matches TinyMCE 6 license
- Changed default cloudChannel to
'6'
.
- Removed
outputFormat
prop. If text output is required calleditor.getContent({ format: 'text' })
in any of the event callbacks.
- Allow react version "^18.0.0"
- Updated dependencies.
- Updated dependencies
- Use
editor.mode.set(...)
when available instead of the deprecatededitor.setMode(..)
which will be removed in TinyMCE 6. - Addressed lint errors
- Added new
rollback
prop for changing the delay after which a rollback is performed (when value and editor content don't match) or disabling it completely.
- Wait 10 seconds (increased from 1) for the target element to be in the DOM before giving up.
- Updated dependencies.
- The integration will now initialize in a shadow dom.
- Updated dependencies
- As the tinymce dependency is only used for types allow all versions after 5.5.1 when types were first added, but prefer the latest when unspecified.
- Fixed ignoring the
toolbar
prop when it contains a falsy value when it should only be ignored if it is undefined or null. - Ensure that the editor is initialized attached to a document.
- Updated dependencies
- Allow use of react version "^16.7.0" as well as "^17.0.1" to correct the unintended breaking change introduced in release 3.9.
- Updated dependencies
- Avoid trying to get a bookmark for an unfocused inline editor
- Recreated the storybook examples in the new recommend format as the format we were using broke on an upgrade
- Updated dependencies
- Slowed down the change rollback to 200 milliseconds to allow async frameworks a chance to set the value. #INT-2475
- Fixed cursor position recording for rolling back formatting-only changes.
- Updated dependencies
- Re-added change event as a trigger of
onEditorChange
so toggling formatting will be detected. #INT-2473 - Defer evaluating browser capabilities until after the component has mounted to allow server side rendering. #INT-2472
- Storybook demo for a controlled component with a fixed value. INT-2352
- Storybook demo for a controlled component with a maximum length. INT-2462
- When used as a controlled component the editor will rollback a change if it is not set via the
value
prop within a millisecond. INT-2352
- Stopped inline editor grabbing focus when the value is set
- Caught exceptions thrown while trying to restore selection after setting content
- Updates to
initialValue
after editor initialization will now be detected and applied and will result in a complete reset of undo state. #INT-2367 - During
componentDidUpdate
thevalue
prop will be applied if it is different to the current editor content even when it is not different to the previous value of thevalue
prop. #INT-2372
- Apply changes to
initialValue
,value
anddisabled
which occur between editor setup and initialization that were previously ignored. #INT-2371 - An attempt will be made to retain the cursor position when the
value
prop forces an update to the editor content. If the cursor position can not be found it will return to the start of the document as before. #INT-2370 - Internal tracking of the current content is now always done in HTML so
outputFormat
should not cause any unexpected behavior. #INT-2369
- The
outputFormat
prop will be removed in a future release. If text output is required calleditor.getContent({ format: 'text' })
in any of the event callbacks. #INT-2368
- Check for editor changes on
"compositionend"
event to more accurately triggeronEditorChange
. #INT-2348 - Updated dependencies to latest available
- Updated dependencies to latest available
- Event handlers are registered at setup time so props like
onBeforeRenderUI
will now be called. #INT-2325
- Fixed CI build
- Fixed event binding to lookup handlers at call time instead of rebinding on every change.
- Adopted beehive-flow branching and versioning process/tooling.
- Changed the changelog formatting
- Updated dependencies to latest available
- Updated dependencies to latest available
- Updated TinyMCE types to 5.6 release.
- Fixed event binding to only rebind handler on changes to the specific property instead of any property.
- Fixed external changes not generating undo levels
- Fixed an issue where the component would throw an error when unmounted while loading
- Added types from TinyMCE 5.5 release.
- Added
scriptLoading
prop with settingsasync
,defer
anddelay
to modify the loading behaviour of the TinyMCE script tag
- Upgraded dependencies to latest available.
- Fixed an issue that allowed events to be fired during
componentWillUnmount
- Remove
util
module from dependencies by purging usage in code. - Upgraded jquery in dev dependencies in response to security alert.
- Added new
tinymceScriptSrc
prop for specifying an external version of TinyMCE to lazy load
- Added new
outputFormat
prop for specifying the format of the content emitted via theonEditorChange
event
- Fixed an issue that caused
onEditorChange
to fire multiple times
- Changed referrer policy to origin to allow cloud caching
- Fixed an issue that made the editor ignore new event handlers provided through props
- Removed use of deprecated lifecycle hooks
componentWillMount
andcomponentWillReceiveProps
- Changed the CDN URL to use
cdn.tiny.cloud
- Removed preinstall script
- Added the editor as a second argument to
onEditorChange
- Exported Typescript prop types
- Updated readme on cloud channels.
- Changed default cloudChannel to
'5'
.
- Changed
react
andreact-dom
to be peerDependencies and devDependencies.
- Changed
react
andreact-dom
to be peerDependencies.
- Loosened cloudChannel proptype to take any string to be able to use the locked version channels.
- Added
textareaName
prop that sets the name attribute on the textarea for use in forms.
- Added
disabled
prop that sets the editor into readonly mode.
- Fixed broken links in readme.
- Added a nullcheck in componentWillUnmount to check that tinymce is available before running remove.
- Removed onPreInit shorthand as it never worked.
- Fixed a bug with onInit not working.
- Fixed a bug with values set while the editor was initializing.
- No change, pushed to fix missing readme on npm.
- Added functionality so you can use the editor as a controlled component by setting the
value
property and using theonEditorChange
event.
- Fixed bug where is wasn't possible to set inline in the init object, only on the shorthand.
- Added
plugins
andtoolbar
shorthands.
- Use
target
on element instead ofselector
in init config.
- Fix so init setup callback gets called like it should.
- Added auto-loading of TinyMCE from TinyMCE Cloud
- Added check for
initialValue
prop to prevent javascript error that was shown whentinymce.setContent
was called with undefined.
- 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.
- Added description to package.json and improved readme wording.
- Add support for
tagName
prop when using editor inline to define what element you want to initialize the editor on.
- BREAKING! Switched
value
prop toinitialValue
to make it clearer what it actually does.
- Only bind whitelisted events.
- Initial Release.