@guestbell/react-page-plugins
Version:
Plugins we use in GuestBell for working with amazing react-page package
40 lines • 1.52 kB
JavaScript
import * as React from 'react';
import SlateRenderer from '../../common/components/slateRenderer/SlateRenderer';
import rules from '../../common/components/slateRenderer/rules';
import migrations from '../../common/slateMigrations/migrations';
import PaddingComponent from '../../common/utils/PaddingComponent';
import SlateEditor from '../../common/components/slateEditor/SlateEditor';
var SlateHtmlRenderer = function SlateHtmlRenderer(props) {
var onChange = props.onChange,
_props$data = props.data,
_props$data2 = _props$data === void 0 ? {} : _props$data,
value = _props$data2.value,
version = _props$data2.version,
toolbarButtons = props.toolbarButtons,
hoverButtons = props.hoverButtons;
var onChangeInternal = React.useCallback(function (_ref) {
var value = _ref.value;
return onChange({
value: value
});
}, [onChange]);
return /*#__PURE__*/React.createElement(PaddingComponent, {
state: props.data
}, !props.isEditMode ? /*#__PURE__*/React.createElement(SlateRenderer, {
value: value,
nodeRule: rules.nodeRule,
textRule: rules.textRule,
version: version,
migrations: migrations
}) : /*#__PURE__*/React.createElement(SlateEditor, {
value: props.data.value,
onChange: onChangeInternal,
version: version,
migrations: migrations,
toolbarButtons: toolbarButtons,
hoverButtons: hoverButtons,
hideToolbar: !props.focused
}));
};
export default SlateHtmlRenderer;
//# sourceMappingURL=SlateHtmlRenderer.js.map