UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

43 lines (42 loc) 1.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useUniversalPreset; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _hooks = require("@atlaskit/editor-common/hooks"); var _createUniversalPreset = require("../create-editor/create-universal-preset"); var _presetUtils = require("../create-editor/preset-utils"); function useUniversalPreset(_ref) { var props = _ref.props, initialPluginConfiguration = _ref.initialPluginConfiguration; var previousEditorProps = (0, _hooks.usePreviousState)(props); var _useState = (0, _react.useState)(function () { return (0, _createUniversalPreset.createUniversalPreset)({ props: props, prevProps: previousEditorProps, initialPluginConfiguration: initialPluginConfiguration }); }), _useState2 = (0, _slicedToArray2.default)(_useState, 2), preset = _useState2[0], setPreset = _useState2[1]; (0, _react.useLayoutEffect)(function () { if (!previousEditorProps) { return; } var recreate = (0, _presetUtils.shouldRecreatePreset)(previousEditorProps, props); if (!recreate) { return; } // we are not comparing the previous initialPluginConfiguration to the new one assuming that it never changes setPreset((0, _createUniversalPreset.createUniversalPreset)({ props: props, prevProps: previousEditorProps, initialPluginConfiguration: initialPluginConfiguration })); }, [props, previousEditorProps, initialPluginConfiguration]); return preset; }