@atlaskit/editor-plugin-user-intent
Version:
UserIntent plugin for @atlaskit/editor-core
25 lines • 690 B
JavaScript
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
export const userIntentPluginKey = new PluginKey('userIntentPlugin');
const initialState = {
currentUserIntent: 'default'
};
export const createPlugin = () => {
return new SafePlugin({
key: userIntentPluginKey,
state: {
init() {
return initialState;
},
apply: (tr, currentPluginState) => {
const meta = tr.getMeta(userIntentPluginKey);
if (meta) {
return {
currentUserIntent: meta.data.currentUserIntent
};
}
return currentPluginState;
}
}
});
};