UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

125 lines (124 loc) • 9.66 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useMemoEditorProps = exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = require("react"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var useMemoEditorProps = exports.useMemoEditorProps = function useMemoEditorProps(passedProps) { var memodProps = (0, _react.useMemo)(function () { // That sounds awful but this is the only way to make sure we didn't missed any EditorProps var allProps = { preset: passedProps.preset, appearance: passedProps.appearance, contentMode: passedProps.contentMode, contentComponents: passedProps.contentComponents, primaryToolbarIconBefore: passedProps.primaryToolbarIconBefore, secondaryToolbarComponents: passedProps.secondaryToolbarComponents, persistScrollGutter: passedProps.persistScrollGutter, quickInsert: passedProps.quickInsert, shouldFocus: passedProps.shouldFocus, disabled: passedProps.disabled, contextPanel: passedProps.contextPanel, errorReporterHandler: passedProps.errorReporterHandler, contentTransformerProvider: passedProps.contentTransformerProvider, maxHeight: passedProps.maxHeight, minHeight: passedProps.minHeight, placeholder: passedProps.placeholder, placeholderBracketHint: passedProps.placeholderBracketHint, defaultValue: passedProps.defaultValue, assistiveLabel: passedProps.assistiveLabel, assistiveDescribedBy: passedProps.assistiveDescribedBy, popupsMountPoint: passedProps.popupsMountPoint, popupsBoundariesElement: passedProps.popupsBoundariesElement, popupsScrollableElement: passedProps.popupsScrollableElement, editorActions: passedProps.editorActions, onEditorReady: passedProps.onEditorReady, onDestroy: passedProps.onDestroy, onChange: passedProps.onChange, onCancel: passedProps.onCancel, extensionProviders: passedProps.extensionProviders, UNSAFE_useAnalyticsContext: passedProps.UNSAFE_useAnalyticsContext, useStickyToolbar: passedProps.useStickyToolbar, featureFlags: passedProps.featureFlags, onSave: passedProps.onSave, sanitizePrivateContent: passedProps.sanitizePrivateContent, media: passedProps.media, collabEdit: passedProps.collabEdit, primaryToolbarComponents: passedProps.primaryToolbarComponents, performanceTracking: passedProps.performanceTracking, inputSamplingLimit: passedProps.inputSamplingLimit, allowUndoRedoButtons: passedProps.allowUndoRedoButtons, linking: passedProps.linking, activityProvider: passedProps.activityProvider, searchProvider: passedProps.searchProvider, annotationProviders: passedProps.annotationProviders, collabEditProvider: passedProps.collabEditProvider, presenceProvider: passedProps.presenceProvider, emojiProvider: passedProps.emojiProvider, taskDecisionProvider: passedProps.taskDecisionProvider, legacyImageUploadProvider: passedProps.legacyImageUploadProvider, mentionProvider: passedProps.mentionProvider, autoformattingProvider: passedProps.autoformattingProvider, macroProvider: passedProps.macroProvider, contextIdentifierProvider: passedProps.contextIdentifierProvider, allowExpand: passedProps.allowExpand, allowNestedTasks: passedProps.allowNestedTasks, allowBlockType: passedProps.allowBlockType, allowTasksAndDecisions: passedProps.allowTasksAndDecisions, allowBreakout: passedProps.allowBreakout, allowRule: passedProps.allowRule, allowHelpDialog: passedProps.allowHelpDialog, allowPanel: passedProps.allowPanel, allowExtension: passedProps.allowExtension, allowConfluenceInlineComment: passedProps.allowConfluenceInlineComment, allowTemplatePlaceholders: passedProps.allowTemplatePlaceholders, allowDate: passedProps.allowDate, allowLayouts: passedProps.allowLayouts, allowStatus: passedProps.allowStatus, allowTextAlignment: passedProps.allowTextAlignment, allowIndentation: passedProps.allowIndentation, showIndentationButtons: passedProps.showIndentationButtons, allowFindReplace: passedProps.allowFindReplace, allowBorderMark: passedProps.allowBorderMark, allowFragmentMark: passedProps.allowFragmentMark, autoScrollIntoView: passedProps.autoScrollIntoView, elementBrowser: passedProps.elementBrowser, maxContentSize: passedProps.maxContentSize, saveOnEnter: passedProps.saveOnEnter, feedbackInfo: passedProps.feedbackInfo, mention: passedProps.mention, mentionInsertDisplayName: passedProps.mentionInsertDisplayName, uploadErrorHandler: passedProps.uploadErrorHandler, onSSRMeasure: passedProps.onSSRMeasure, waitForMediaUpload: passedProps.waitForMediaUpload, extensionHandlers: passedProps.extensionHandlers, allowTextColor: passedProps.allowTextColor, allowTables: passedProps.allowTables, insertMenuItems: passedProps.insertMenuItems, UNSAFE_cards: passedProps.UNSAFE_cards, smartLinks: passedProps.smartLinks, allowAnalyticsGASV3: passedProps.allowAnalyticsGASV3, codeBlock: passedProps.codeBlock, textFormatting: passedProps.textFormatting, __livePage: passedProps.__livePage, AppearanceComponent: passedProps.AppearanceComponent, skipValidation: passedProps.skipValidation, syncBlock: passedProps.syncBlock, syncedBlockProvider: passedProps.syncedBlockProvider, pasteWarningOptions: passedProps.pasteWarningOptions }; var defaultProps = { appearance: 'comment', disabled: false, quickInsert: true }; var nextProps = _objectSpread(_objectSpread({}, defaultProps), allProps); return nextProps; }, [passedProps.preset, passedProps.appearance, passedProps.contentMode, passedProps.contentComponents, passedProps.primaryToolbarIconBefore, passedProps.secondaryToolbarComponents, passedProps.persistScrollGutter, passedProps.quickInsert, passedProps.shouldFocus, passedProps.disabled, passedProps.contextPanel, passedProps.errorReporterHandler, passedProps.contentTransformerProvider, passedProps.maxHeight, passedProps.minHeight, passedProps.placeholder, passedProps.placeholderBracketHint, passedProps.performanceTracking, passedProps.inputSamplingLimit, passedProps.defaultValue, passedProps.assistiveLabel, passedProps.assistiveDescribedBy, passedProps.popupsMountPoint, passedProps.popupsBoundariesElement, passedProps.popupsScrollableElement, passedProps.editorActions, passedProps.onEditorReady, passedProps.onDestroy, passedProps.onChange, passedProps.onCancel, passedProps.onSSRMeasure, passedProps.extensionProviders, passedProps.UNSAFE_useAnalyticsContext, passedProps.useStickyToolbar, passedProps.featureFlags, passedProps.onSave, passedProps.sanitizePrivateContent, passedProps.media, passedProps.collabEdit, passedProps.primaryToolbarComponents, passedProps.allowUndoRedoButtons, passedProps.linking, passedProps.activityProvider, passedProps.searchProvider, passedProps.annotationProviders, passedProps.collabEditProvider, passedProps.presenceProvider, passedProps.emojiProvider, passedProps.taskDecisionProvider, passedProps.legacyImageUploadProvider, passedProps.mentionProvider, passedProps.autoformattingProvider, passedProps.macroProvider, passedProps.contextIdentifierProvider, passedProps.allowExpand, passedProps.allowNestedTasks, passedProps.allowBlockType, passedProps.allowTasksAndDecisions, passedProps.allowBreakout, passedProps.allowRule, passedProps.allowHelpDialog, passedProps.allowPanel, passedProps.allowExtension, passedProps.allowConfluenceInlineComment, passedProps.allowTemplatePlaceholders, passedProps.allowDate, passedProps.allowLayouts, passedProps.allowStatus, passedProps.allowTextAlignment, passedProps.allowIndentation, passedProps.showIndentationButtons, passedProps.allowFindReplace, passedProps.allowBorderMark, passedProps.allowFragmentMark, passedProps.autoScrollIntoView, passedProps.elementBrowser, passedProps.maxContentSize, passedProps.saveOnEnter, passedProps.feedbackInfo, passedProps.mention, passedProps.mentionInsertDisplayName, passedProps.uploadErrorHandler, passedProps.waitForMediaUpload, passedProps.extensionHandlers, passedProps.allowTextColor, passedProps.allowTables, passedProps.insertMenuItems, passedProps.UNSAFE_cards, passedProps.smartLinks, passedProps.allowAnalyticsGASV3, passedProps.codeBlock, passedProps.textFormatting, passedProps.__livePage, passedProps.AppearanceComponent, passedProps.skipValidation, passedProps.syncBlock, passedProps.syncedBlockProvider, passedProps.pasteWarningOptions]); return memodProps; }; var _default = exports.default = useMemoEditorProps;