@atlaskit/editor-core 220.0.3 → 220.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/codemods/createRenameVariableTransform.ts +17 -0
- package/codemods/findImportFromPackage.ts +54 -0
- package/codemods/migrates/createJSXRenameVariableToNestedKeyTransform.ts +43 -0
- package/codemods/migrates/createUpdateEditorToMigrationComponent.ts +25 -0
- package/codemods/migrates/next-remove-allow-more-text-colors-prop.ts +1 -1
- package/codemods/migrates/remove-config-panel-width-prop.ts +1 -1
- package/codemods/migrates/rename-editor-to-editor-migration-component.ts +1 -22
- package/codemods/migrates/rename-smartlinks-prop.ts +1 -40
- package/codemods/migrates/rename-unsafe-allowUndoRedoButtons-prop.ts +1 -1
- package/codemods/migrates/rename-unsafe-cards-prop.ts +1 -1
- package/codemods/utils.ts +0 -67
- package/dist/cjs/actions/isEmptyParagraph.js +12 -0
- package/dist/cjs/actions/temp-is-empty-document.js +2 -9
- package/dist/cjs/composable-editor/BaseThemeWrapper.js +24 -5
- package/dist/cjs/composable-editor/editor-internal-compiled.js +5 -1
- package/dist/cjs/composable-editor/editor-internal-emotion.js +6 -2
- package/dist/cjs/composable-editor/editor-internal.js +11 -2
- package/dist/cjs/create-editor/ReactEditorView/useDispatchTransaction.js +2 -1
- package/dist/cjs/create-editor/ReactEditorView.js +6 -4
- package/dist/cjs/create-editor/addMetadataAttributes.js +36 -0
- package/dist/cjs/create-editor/create-editor.js +0 -62
- package/dist/cjs/create-editor/create-plugins-list.js +2 -15
- package/dist/cjs/create-editor/create-schema.js +4 -35
- package/dist/cjs/create-editor/createErrorReporter.js +14 -0
- package/dist/cjs/create-editor/createPMPlugins.js +39 -0
- package/dist/cjs/create-editor/fixExcludes.js +22 -0
- package/dist/cjs/create-editor/getScrollGutterOptions.js +19 -0
- package/dist/cjs/create-editor/sortByRank.js +9 -0
- package/dist/cjs/entry-points/test-utils.js +4 -2
- package/dist/cjs/isElementBySelectorInDocument.js +15 -0
- package/dist/cjs/setTextSelection.js +12 -0
- package/dist/cjs/test-utils.js +1 -18
- package/dist/cjs/ui/Addon/checkForModal.js +25 -0
- package/dist/cjs/ui/Addon/click-area-helper.js +5 -52
- package/dist/cjs/ui/Addon/outsideProsemirrorEditorClickHandler.js +35 -0
- package/dist/cjs/ui/Appearance/Chromeless.js +4 -16
- package/dist/cjs/ui/Appearance/ChromelessEditorContainer.js +19 -0
- package/dist/cjs/ui/Appearance/FullPage/CustomToolbarWrapperMigration.js +13 -0
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +5 -2
- package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +2 -15
- package/dist/cjs/ui/Appearance/FullPage/MainToolbarIconBeforeMigration.js +13 -0
- package/dist/cjs/ui/Appearance/FullPage/NonCustomToolbarWrapperMigration.js +13 -0
- package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.js +15 -21
- package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-emotion.js +12 -17
- package/dist/cjs/ui/EditorContentContainer/styles/mentions.js +19 -0
- package/dist/cjs/utils/combineQuickInsertProviders.js +16 -0
- package/dist/cjs/utils/extensions.js +0 -11
- package/dist/cjs/utils/getNodesVisibleInViewport.js +3 -12
- package/dist/cjs/utils/isNodeVisible.js +15 -0
- package/dist/cjs/utils/prepare-quick-insert-provider.js +2 -1
- package/dist/cjs/utils/validNode.js +14 -0
- package/dist/cjs/utils/validateNodes.js +3 -11
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/actions/isEmptyParagraph.js +6 -0
- package/dist/es2019/actions/temp-is-empty-document.js +1 -6
- package/dist/es2019/composable-editor/BaseThemeWrapper.js +19 -3
- package/dist/es2019/composable-editor/editor-internal-compiled.js +5 -1
- package/dist/es2019/composable-editor/editor-internal-emotion.js +6 -2
- package/dist/es2019/composable-editor/editor-internal.js +11 -2
- package/dist/es2019/create-editor/ReactEditorView/useDispatchTransaction.js +2 -1
- package/dist/es2019/create-editor/ReactEditorView.js +3 -1
- package/dist/es2019/create-editor/addMetadataAttributes.js +29 -0
- package/dist/es2019/create-editor/create-editor.js +0 -53
- package/dist/es2019/create-editor/create-plugins-list.js +1 -13
- package/dist/es2019/create-editor/create-schema.js +2 -31
- package/dist/es2019/create-editor/createErrorReporter.js +8 -0
- package/dist/es2019/create-editor/createPMPlugins.js +30 -0
- package/dist/es2019/create-editor/fixExcludes.js +12 -0
- package/dist/es2019/create-editor/getScrollGutterOptions.js +13 -0
- package/dist/es2019/create-editor/sortByRank.js +3 -0
- package/dist/es2019/entry-points/test-utils.js +3 -1
- package/dist/es2019/isElementBySelectorInDocument.js +9 -0
- package/dist/es2019/setTextSelection.js +8 -0
- package/dist/es2019/test-utils.js +0 -18
- package/dist/es2019/ui/Addon/checkForModal.js +19 -0
- package/dist/es2019/ui/Addon/click-area-helper.js +2 -53
- package/dist/es2019/ui/Addon/outsideProsemirrorEditorClickHandler.js +33 -0
- package/dist/es2019/ui/Appearance/Chromeless.js +2 -12
- package/dist/es2019/ui/Appearance/ChromelessEditorContainer.js +12 -0
- package/dist/es2019/ui/Appearance/FullPage/CustomToolbarWrapperMigration.js +5 -0
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +3 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +4 -1
- package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +1 -8
- package/dist/es2019/ui/Appearance/FullPage/MainToolbarIconBeforeMigration.js +5 -0
- package/dist/es2019/ui/Appearance/FullPage/NonCustomToolbarWrapperMigration.js +5 -0
- package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.js +14 -19
- package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-emotion.js +17 -14
- package/dist/es2019/ui/EditorContentContainer/styles/mentions.js +19 -0
- package/dist/es2019/utils/combineQuickInsertProviders.js +11 -0
- package/dist/es2019/utils/extensions.js +0 -11
- package/dist/es2019/utils/getNodesVisibleInViewport.js +1 -9
- package/dist/es2019/utils/isNodeVisible.js +9 -0
- package/dist/es2019/utils/prepare-quick-insert-provider.js +2 -1
- package/dist/es2019/utils/validNode.js +8 -0
- package/dist/es2019/utils/validateNodes.js +1 -8
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/actions/isEmptyParagraph.js +6 -0
- package/dist/esm/actions/temp-is-empty-document.js +1 -6
- package/dist/esm/composable-editor/BaseThemeWrapper.js +23 -4
- package/dist/esm/composable-editor/editor-internal-compiled.js +5 -1
- package/dist/esm/composable-editor/editor-internal-emotion.js +6 -2
- package/dist/esm/composable-editor/editor-internal.js +11 -2
- package/dist/esm/create-editor/ReactEditorView/useDispatchTransaction.js +2 -1
- package/dist/esm/create-editor/ReactEditorView.js +3 -1
- package/dist/esm/create-editor/addMetadataAttributes.js +29 -0
- package/dist/esm/create-editor/create-editor.js +0 -58
- package/dist/esm/create-editor/create-plugins-list.js +1 -13
- package/dist/esm/create-editor/create-schema.js +2 -31
- package/dist/esm/create-editor/createErrorReporter.js +8 -0
- package/dist/esm/create-editor/createPMPlugins.js +32 -0
- package/dist/esm/create-editor/fixExcludes.js +16 -0
- package/dist/esm/create-editor/getScrollGutterOptions.js +13 -0
- package/dist/esm/create-editor/sortByRank.js +3 -0
- package/dist/esm/entry-points/test-utils.js +3 -1
- package/dist/esm/isElementBySelectorInDocument.js +9 -0
- package/dist/esm/setTextSelection.js +6 -0
- package/dist/esm/test-utils.js +0 -16
- package/dist/esm/ui/Addon/checkForModal.js +19 -0
- package/dist/esm/ui/Addon/click-area-helper.js +2 -49
- package/dist/esm/ui/Addon/outsideProsemirrorEditorClickHandler.js +29 -0
- package/dist/esm/ui/Appearance/Chromeless.js +2 -14
- package/dist/esm/ui/Appearance/ChromelessEditorContainer.js +14 -0
- package/dist/esm/ui/Appearance/FullPage/CustomToolbarWrapperMigration.js +7 -0
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +3 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +4 -1
- package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +1 -14
- package/dist/esm/ui/Appearance/FullPage/MainToolbarIconBeforeMigration.js +7 -0
- package/dist/esm/ui/Appearance/FullPage/NonCustomToolbarWrapperMigration.js +7 -0
- package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.js +18 -21
- package/dist/esm/ui/EditorContentContainer/EditorContentContainer-emotion.js +11 -11
- package/dist/esm/ui/EditorContentContainer/styles/mentions.js +19 -0
- package/dist/esm/utils/combineQuickInsertProviders.js +10 -0
- package/dist/esm/utils/extensions.js +0 -10
- package/dist/esm/utils/getNodesVisibleInViewport.js +1 -9
- package/dist/esm/utils/isNodeVisible.js +9 -0
- package/dist/esm/utils/prepare-quick-insert-provider.js +2 -1
- package/dist/esm/utils/validNode.js +8 -0
- package/dist/esm/utils/validateNodes.js +1 -8
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/actions/isEmptyParagraph.d.ts +5 -0
- package/dist/types/actions/temp-is-empty-document.d.ts +0 -4
- package/dist/types/composable-editor/BaseThemeWrapper.d.ts +1 -1
- package/dist/types/composable-editor/editor-internal-compiled.d.ts +2 -1
- package/dist/types/composable-editor/editor-internal-emotion.d.ts +2 -1
- package/dist/types/composable-editor/editor-internal.d.ts +1 -1
- package/dist/types/create-editor/ReactEditorView.d.ts +2 -2
- package/dist/types/create-editor/addMetadataAttributes.d.ts +16 -0
- package/dist/types/create-editor/create-editor.d.ts +1 -17
- package/dist/types/create-editor/create-plugins-list.d.ts +1 -4
- package/dist/types/create-editor/create-schema.d.ts +0 -15
- package/dist/types/create-editor/create-universal-preset.d.ts +1 -1
- package/dist/types/create-editor/createErrorReporter.d.ts +3 -0
- package/dist/types/create-editor/createPMPlugins.d.ts +3 -0
- package/dist/types/create-editor/fixExcludes.d.ts +6 -0
- package/dist/types/create-editor/get-ui-component.d.ts +1 -1
- package/dist/types/create-editor/getScrollGutterOptions.d.ts +3 -0
- package/dist/types/create-editor/sortByRank.d.ts +5 -0
- package/dist/types/editor.d.ts +1 -1
- package/dist/types/entry-points/editor.d.ts +10 -1
- package/dist/types/entry-points/test-utils.d.ts +5 -2
- package/dist/types/index.d.ts +3 -1
- package/dist/types/isElementBySelectorInDocument.d.ts +7 -0
- package/dist/types/presets/universal.d.ts +1 -2
- package/dist/types/setTextSelection.d.ts +2 -0
- package/dist/types/test-utils.d.ts +1 -10
- package/dist/types/types/with-appearance-component.d.ts +1 -1
- package/dist/types/ui/Addon/ClickAreaBlock/contentComponentWrapper.d.ts +1 -1
- package/dist/types/ui/Addon/checkForModal.d.ts +10 -0
- package/dist/types/ui/Addon/click-area-helper.d.ts +0 -11
- package/dist/types/ui/Addon/outsideProsemirrorEditorClickHandler.d.ts +2 -0
- package/dist/types/ui/Appearance/Chromeless.d.ts +2 -10
- package/dist/types/ui/Appearance/ChromelessEditorContainer.d.ts +9 -0
- package/dist/types/ui/Appearance/Comment/Comment.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/CustomToolbarWrapperMigration.d.ts +4 -0
- package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/FullPageToolbarNext.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +0 -10
- package/dist/types/ui/Appearance/FullPage/MainToolbarIconBeforeMigration.d.ts +4 -0
- package/dist/types/ui/Appearance/FullPage/NonCustomToolbarWrapperMigration.d.ts +4 -0
- package/dist/types/utils/combineQuickInsertProviders.d.ts +2 -0
- package/dist/types/utils/extensions.d.ts +0 -1
- package/dist/types/utils/getNodesVisibleInViewport.d.ts +0 -5
- package/dist/types/utils/isNodeVisible.d.ts +5 -0
- package/dist/types/utils/validNode.d.ts +2 -0
- package/dist/types/utils/validateNodes.d.ts +0 -1
- package/dist/types-ts4.5/actions/isEmptyParagraph.d.ts +5 -0
- package/dist/types-ts4.5/actions/temp-is-empty-document.d.ts +0 -4
- package/dist/types-ts4.5/composable-editor/BaseThemeWrapper.d.ts +1 -1
- package/dist/types-ts4.5/composable-editor/editor-internal-compiled.d.ts +2 -1
- package/dist/types-ts4.5/composable-editor/editor-internal-emotion.d.ts +2 -1
- package/dist/types-ts4.5/composable-editor/editor-internal.d.ts +1 -1
- package/dist/types-ts4.5/create-editor/ReactEditorView.d.ts +2 -2
- package/dist/types-ts4.5/create-editor/addMetadataAttributes.d.ts +16 -0
- package/dist/types-ts4.5/create-editor/create-editor.d.ts +1 -17
- package/dist/types-ts4.5/create-editor/create-plugins-list.d.ts +1 -4
- package/dist/types-ts4.5/create-editor/create-schema.d.ts +0 -15
- package/dist/types-ts4.5/create-editor/create-universal-preset.d.ts +1 -1
- package/dist/types-ts4.5/create-editor/createErrorReporter.d.ts +3 -0
- package/dist/types-ts4.5/create-editor/createPMPlugins.d.ts +3 -0
- package/dist/types-ts4.5/create-editor/fixExcludes.d.ts +6 -0
- package/dist/types-ts4.5/create-editor/get-ui-component.d.ts +1 -1
- package/dist/types-ts4.5/create-editor/getScrollGutterOptions.d.ts +3 -0
- package/dist/types-ts4.5/create-editor/sortByRank.d.ts +5 -0
- package/dist/types-ts4.5/editor.d.ts +1 -1
- package/dist/types-ts4.5/entry-points/editor.d.ts +10 -1
- package/dist/types-ts4.5/entry-points/test-utils.d.ts +5 -2
- package/dist/types-ts4.5/index.d.ts +3 -1
- package/dist/types-ts4.5/isElementBySelectorInDocument.d.ts +7 -0
- package/dist/types-ts4.5/presets/universal.d.ts +1 -2
- package/dist/types-ts4.5/setTextSelection.d.ts +2 -0
- package/dist/types-ts4.5/test-utils.d.ts +1 -10
- package/dist/types-ts4.5/types/with-appearance-component.d.ts +1 -1
- package/dist/types-ts4.5/ui/Addon/ClickAreaBlock/contentComponentWrapper.d.ts +1 -1
- package/dist/types-ts4.5/ui/Addon/checkForModal.d.ts +10 -0
- package/dist/types-ts4.5/ui/Addon/click-area-helper.d.ts +0 -11
- package/dist/types-ts4.5/ui/Addon/outsideProsemirrorEditorClickHandler.d.ts +2 -0
- package/dist/types-ts4.5/ui/Appearance/Chromeless.d.ts +2 -10
- package/dist/types-ts4.5/ui/Appearance/ChromelessEditorContainer.d.ts +9 -0
- package/dist/types-ts4.5/ui/Appearance/Comment/Comment.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/CustomToolbarWrapperMigration.d.ts +4 -0
- package/dist/types-ts4.5/ui/Appearance/FullPage/FullPage.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageToolbar.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageToolbarNext.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/MainToolbar.d.ts +0 -10
- package/dist/types-ts4.5/ui/Appearance/FullPage/MainToolbarIconBeforeMigration.d.ts +4 -0
- package/dist/types-ts4.5/ui/Appearance/FullPage/NonCustomToolbarWrapperMigration.d.ts +4 -0
- package/dist/types-ts4.5/utils/combineQuickInsertProviders.d.ts +2 -0
- package/dist/types-ts4.5/utils/extensions.d.ts +0 -1
- package/dist/types-ts4.5/utils/getNodesVisibleInViewport.d.ts +0 -5
- package/dist/types-ts4.5/utils/isNodeVisible.d.ts +5 -0
- package/dist/types-ts4.5/utils/validNode.d.ts +2 -0
- package/dist/types-ts4.5/utils/validateNodes.d.ts +0 -1
- package/package.json +16 -16
- package/dist/cjs/types/index.js +0 -1
- package/dist/es2019/types/index.js +0 -0
- package/dist/esm/types/index.js +0 -0
- package/dist/types/types/index.d.ts +0 -9
- package/dist/types-ts4.5/types/index.d.ts +0 -9
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.addMetadataAttributes = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _prosemirrorDomMetadata = require("@atlaskit/editor-common/prosemirror-dom-metadata");
|
|
10
|
+
/**
|
|
11
|
+
* 🧱 Internal Helper Function: Editor FE Platform
|
|
12
|
+
*
|
|
13
|
+
* Adds generic metadata attributes to a DOMOutputSpec array based on the provided node or mark.
|
|
14
|
+
* This function ensures that the DOMOutputSpec is annotated with ProseMirror-specific metadata.
|
|
15
|
+
*
|
|
16
|
+
* @param {object} params - Parameters object.
|
|
17
|
+
* @param {PMNode | PMMark} params.nodeOrMark - The ProseMirror node or mark to extract metadata from.
|
|
18
|
+
* @param {DOMOutputSpec} params.domSpec - The DOMOutputSpec to which attributes will be added.
|
|
19
|
+
* @returns {DOMOutputSpec} The modified DOMOutputSpec with additional metadata.
|
|
20
|
+
*/
|
|
21
|
+
var addMetadataAttributes = exports.addMetadataAttributes = function addMetadataAttributes(_ref) {
|
|
22
|
+
var nodeOrMark = _ref.nodeOrMark,
|
|
23
|
+
domSpec = _ref.domSpec;
|
|
24
|
+
if (!Array.isArray(domSpec)) {
|
|
25
|
+
return domSpec;
|
|
26
|
+
}
|
|
27
|
+
var maybeDefinedAttributes = domSpec[1];
|
|
28
|
+
var metadata = (0, _prosemirrorDomMetadata.createProseMirrorMetadata)(nodeOrMark);
|
|
29
|
+
var hasDefinedAttributes = (0, _typeof2.default)(maybeDefinedAttributes) === 'object' && !Array.isArray(maybeDefinedAttributes);
|
|
30
|
+
if (hasDefinedAttributes) {
|
|
31
|
+
domSpec[1] = Object.assign(maybeDefinedAttributes, metadata);
|
|
32
|
+
} else {
|
|
33
|
+
domSpec.splice(1, 0, metadata);
|
|
34
|
+
}
|
|
35
|
+
return domSpec;
|
|
36
|
+
};
|
|
@@ -4,36 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.createErrorReporter = createErrorReporter;
|
|
8
|
-
exports.createPMPlugins = createPMPlugins;
|
|
9
|
-
exports.fixExcludes = fixExcludes;
|
|
10
7
|
exports.processPluginsList = processPluginsList;
|
|
11
|
-
exports.sortByRank = sortByRank;
|
|
12
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
var _errorReporter = require("@atlaskit/editor-common/error-reporter");
|
|
14
|
-
var _legacyRankPlugins = require("@atlaskit/editor-common/legacy-rank-plugins");
|
|
15
|
-
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
16
|
-
var _editorNativeAnchorSupportPlugin = require("./editorNativeAnchorSupportPlugin");
|
|
17
|
-
var _editorStateNotificationPlugin = require("./editorStateNotificationPlugin");
|
|
18
|
-
function sortByRank(a, b) {
|
|
19
|
-
return a.rank - b.rank;
|
|
20
|
-
}
|
|
21
|
-
function fixExcludes(marks) {
|
|
22
|
-
var markKeys = Object.keys(marks);
|
|
23
|
-
var markGroups = new Set(markKeys.map(function (mark) {
|
|
24
|
-
return marks[mark].group;
|
|
25
|
-
}));
|
|
26
|
-
markKeys.forEach(function (markKey) {
|
|
27
|
-
var mark = marks[markKey];
|
|
28
|
-
if (mark.excludes) {
|
|
29
|
-
// eslint-disable-next-line @atlassian/perf-linting/no-expensive-split-replace -- Ignored via go/ees017 (to be fixed)
|
|
30
|
-
mark.excludes = mark.excludes.split(' ').filter(function (group) {
|
|
31
|
-
return markGroups.has(group);
|
|
32
|
-
}).join(' ');
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return marks;
|
|
36
|
-
}
|
|
37
9
|
function processPluginsList(plugins) {
|
|
38
10
|
/**
|
|
39
11
|
* First pass to collect pluginsOptions
|
|
@@ -102,38 +74,4 @@ function processPluginsList(plugins) {
|
|
|
102
74
|
secondaryToolbarComponents: [],
|
|
103
75
|
onEditorViewStateUpdatedCallbacks: []
|
|
104
76
|
});
|
|
105
|
-
}
|
|
106
|
-
function createPMPlugins(config) {
|
|
107
|
-
var editorConfig = config.editorConfig;
|
|
108
|
-
var pmPlugins = editorConfig.pmPlugins.sort((0, _legacyRankPlugins.sortByOrder)('plugins')).map(function (_ref) {
|
|
109
|
-
var plugin = _ref.plugin;
|
|
110
|
-
return plugin({
|
|
111
|
-
schema: config.schema,
|
|
112
|
-
dispatch: config.dispatch,
|
|
113
|
-
eventDispatcher: config.eventDispatcher,
|
|
114
|
-
providerFactory: config.providerFactory,
|
|
115
|
-
errorReporter: config.errorReporter,
|
|
116
|
-
portalProviderAPI: config.portalProviderAPI,
|
|
117
|
-
nodeViewPortalProviderAPI: config.nodeViewPortalProviderAPI,
|
|
118
|
-
dispatchAnalyticsEvent: config.dispatchAnalyticsEvent,
|
|
119
|
-
featureFlags: config.featureFlags || {},
|
|
120
|
-
getIntl: config.getIntl
|
|
121
|
-
});
|
|
122
|
-
}).filter(function (plugin) {
|
|
123
|
-
return typeof plugin !== 'undefined';
|
|
124
|
-
});
|
|
125
|
-
if ((0, _expValEquals.expValEquals)('platform_editor_native_anchor_with_dnd', 'isEnabled', true)) {
|
|
126
|
-
pmPlugins.push((0, _editorNativeAnchorSupportPlugin.createEditorNativeAnchorSupportPlugin)(config.schema));
|
|
127
|
-
}
|
|
128
|
-
if (config.onEditorStateUpdated !== undefined) {
|
|
129
|
-
return [(0, _editorStateNotificationPlugin.createEditorStateNotificationPlugin)(config.onEditorStateUpdated, config.editorConfig.onEditorViewStateUpdatedCallbacks)].concat((0, _toConsumableArray2.default)(pmPlugins));
|
|
130
|
-
}
|
|
131
|
-
return pmPlugins;
|
|
132
|
-
}
|
|
133
|
-
function createErrorReporter(errorReporterHandler) {
|
|
134
|
-
var errorReporter = new _errorReporter.ErrorReporter();
|
|
135
|
-
if (errorReporterHandler) {
|
|
136
|
-
errorReporter.handler = errorReporterHandler;
|
|
137
|
-
}
|
|
138
|
-
return errorReporter;
|
|
139
77
|
}
|
|
@@ -6,28 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = createPluginsList;
|
|
8
8
|
exports.getDefaultPresetOptionsFromEditorProps = getDefaultPresetOptionsFromEditorProps;
|
|
9
|
-
exports.getScrollGutterOptions = getScrollGutterOptions;
|
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
10
|
var _featureFlagsFromProps = require("../utils/feature-flags-from-props");
|
|
12
|
-
var
|
|
11
|
+
var _getScrollGutterOptions = require("./getScrollGutterOptions");
|
|
13
12
|
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; }
|
|
14
13
|
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; }
|
|
15
14
|
var isCodeBlockAllowed = function isCodeBlockAllowed(options) {
|
|
16
15
|
var exclude = options && options.allowBlockType && options.allowBlockType.exclude ? options.allowBlockType.exclude : [];
|
|
17
16
|
return exclude.indexOf('codeBlock') === -1;
|
|
18
17
|
};
|
|
19
|
-
function getScrollGutterOptions(props) {
|
|
20
|
-
var appearance = props.appearance;
|
|
21
|
-
if ((0, _isFullPage.isFullPage)(appearance)) {
|
|
22
|
-
// Full Page appearance uses a scrollable div wrapper.
|
|
23
|
-
return {
|
|
24
|
-
getScrollElement: function getScrollElement() {
|
|
25
|
-
return document.querySelector('.fabric-editor-popup-scroll-parent');
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
18
|
function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent
|
|
32
19
|
// Omit placeholder since it's an existing prop in `DefaultPresetPluginOptions` and will get overridden there
|
|
33
20
|
) {
|
|
@@ -47,7 +34,7 @@ function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent
|
|
|
47
34
|
},
|
|
48
35
|
base: {
|
|
49
36
|
allowInlineCursorTarget: true,
|
|
50
|
-
allowScrollGutter: getScrollGutterOptions(props)
|
|
37
|
+
allowScrollGutter: (0, _getScrollGutterOptions.getScrollGutterOptions)(props)
|
|
51
38
|
},
|
|
52
39
|
blockType: {
|
|
53
40
|
lastNodeMustBeParagraph: appearance === 'comment' || appearance === 'chromeless',
|
|
@@ -1,46 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports.addMetadataAttributes = void 0;
|
|
8
6
|
exports.createSchema = createSchema;
|
|
9
7
|
exports.wrapToDOMProxy = exports.wrapNodeSpecProxy = void 0;
|
|
10
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
8
|
var _schema = require("@atlaskit/adf-schema/schema");
|
|
12
9
|
var _legacyRankPlugins = require("@atlaskit/editor-common/legacy-rank-plugins");
|
|
13
|
-
var _prosemirrorDomMetadata = require("@atlaskit/editor-common/prosemirror-dom-metadata");
|
|
14
10
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
* 🧱 Internal Helper Function: Editor FE Platform
|
|
18
|
-
*
|
|
19
|
-
* Adds generic metadata attributes to a DOMOutputSpec array based on the provided node or mark.
|
|
20
|
-
* This function ensures that the DOMOutputSpec is annotated with ProseMirror-specific metadata.
|
|
21
|
-
*
|
|
22
|
-
* @param {object} params - Parameters object.
|
|
23
|
-
* @param {PMNode | PMMark} params.nodeOrMark - The ProseMirror node or mark to extract metadata from.
|
|
24
|
-
* @param {DOMOutputSpec} params.domSpec - The DOMOutputSpec to which attributes will be added.
|
|
25
|
-
* @returns {DOMOutputSpec} The modified DOMOutputSpec with additional metadata.
|
|
26
|
-
*/
|
|
27
|
-
var addMetadataAttributes = exports.addMetadataAttributes = function addMetadataAttributes(_ref) {
|
|
28
|
-
var nodeOrMark = _ref.nodeOrMark,
|
|
29
|
-
domSpec = _ref.domSpec;
|
|
30
|
-
if (!Array.isArray(domSpec)) {
|
|
31
|
-
return domSpec;
|
|
32
|
-
}
|
|
33
|
-
var maybeDefinedAttributes = domSpec[1];
|
|
34
|
-
var metadata = (0, _prosemirrorDomMetadata.createProseMirrorMetadata)(nodeOrMark);
|
|
35
|
-
var hasDefinedAttributes = (0, _typeof2.default)(maybeDefinedAttributes) === 'object' && !Array.isArray(maybeDefinedAttributes);
|
|
36
|
-
if (hasDefinedAttributes) {
|
|
37
|
-
domSpec[1] = Object.assign(maybeDefinedAttributes, metadata);
|
|
38
|
-
} else {
|
|
39
|
-
domSpec.splice(1, 0, metadata);
|
|
40
|
-
}
|
|
41
|
-
return domSpec;
|
|
42
|
-
};
|
|
43
|
-
|
|
11
|
+
var _addMetadataAttributes = require("./addMetadataAttributes");
|
|
12
|
+
var _fixExcludes = require("./fixExcludes");
|
|
44
13
|
/**
|
|
45
14
|
* 🧱 Internal Helper Function: Editor FE Platform
|
|
46
15
|
*
|
|
@@ -59,7 +28,7 @@ var wrapToDOMProxy = exports.wrapToDOMProxy = function wrapToDOMProxy(toDOM) {
|
|
|
59
28
|
return domSpec;
|
|
60
29
|
}
|
|
61
30
|
var nodeOrMark = argumentsList[0];
|
|
62
|
-
return addMetadataAttributes({
|
|
31
|
+
return (0, _addMetadataAttributes.addMetadataAttributes)({
|
|
63
32
|
nodeOrMark: nodeOrMark,
|
|
64
33
|
domSpec: domSpec
|
|
65
34
|
});
|
|
@@ -94,7 +63,7 @@ var wrapNodeSpecProxy = exports.wrapNodeSpecProxy = function wrapNodeSpecProxy(s
|
|
|
94
63
|
});
|
|
95
64
|
};
|
|
96
65
|
function createSchema(editorConfig) {
|
|
97
|
-
var marks = (0,
|
|
66
|
+
var marks = (0, _fixExcludes.fixExcludes)(editorConfig.marks.sort((0, _legacyRankPlugins.sortByOrder)('marks')).reduce(function (acc, mark) {
|
|
98
67
|
acc[mark.name] = wrapNodeSpecProxy(mark.mark);
|
|
99
68
|
return acc;
|
|
100
69
|
}, {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createErrorReporter = createErrorReporter;
|
|
7
|
+
var _errorReporter = require("@atlaskit/editor-common/error-reporter");
|
|
8
|
+
function createErrorReporter(errorReporterHandler) {
|
|
9
|
+
var errorReporter = new _errorReporter.ErrorReporter();
|
|
10
|
+
if (errorReporterHandler) {
|
|
11
|
+
errorReporter.handler = errorReporterHandler;
|
|
12
|
+
}
|
|
13
|
+
return errorReporter;
|
|
14
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createPMPlugins = createPMPlugins;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _legacyRankPlugins = require("@atlaskit/editor-common/legacy-rank-plugins");
|
|
10
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
11
|
+
var _editorNativeAnchorSupportPlugin = require("./editorNativeAnchorSupportPlugin");
|
|
12
|
+
var _editorStateNotificationPlugin = require("./editorStateNotificationPlugin");
|
|
13
|
+
function createPMPlugins(config) {
|
|
14
|
+
var editorConfig = config.editorConfig;
|
|
15
|
+
var pmPlugins = editorConfig.pmPlugins.sort((0, _legacyRankPlugins.sortByOrder)('plugins')).map(function (_ref) {
|
|
16
|
+
var plugin = _ref.plugin;
|
|
17
|
+
return plugin({
|
|
18
|
+
schema: config.schema,
|
|
19
|
+
dispatch: config.dispatch,
|
|
20
|
+
eventDispatcher: config.eventDispatcher,
|
|
21
|
+
providerFactory: config.providerFactory,
|
|
22
|
+
errorReporter: config.errorReporter,
|
|
23
|
+
portalProviderAPI: config.portalProviderAPI,
|
|
24
|
+
nodeViewPortalProviderAPI: config.nodeViewPortalProviderAPI,
|
|
25
|
+
dispatchAnalyticsEvent: config.dispatchAnalyticsEvent,
|
|
26
|
+
featureFlags: config.featureFlags || {},
|
|
27
|
+
getIntl: config.getIntl
|
|
28
|
+
});
|
|
29
|
+
}).filter(function (plugin) {
|
|
30
|
+
return typeof plugin !== 'undefined';
|
|
31
|
+
});
|
|
32
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_native_anchor_with_dnd', 'isEnabled', true)) {
|
|
33
|
+
pmPlugins.push((0, _editorNativeAnchorSupportPlugin.createEditorNativeAnchorSupportPlugin)(config.schema));
|
|
34
|
+
}
|
|
35
|
+
if (config.onEditorStateUpdated !== undefined) {
|
|
36
|
+
return [(0, _editorStateNotificationPlugin.createEditorStateNotificationPlugin)(config.onEditorStateUpdated, config.editorConfig.onEditorViewStateUpdatedCallbacks)].concat((0, _toConsumableArray2.default)(pmPlugins));
|
|
37
|
+
}
|
|
38
|
+
return pmPlugins;
|
|
39
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fixExcludes = fixExcludes;
|
|
7
|
+
function fixExcludes(marks) {
|
|
8
|
+
var markKeys = Object.keys(marks);
|
|
9
|
+
var markGroups = new Set(markKeys.map(function (mark) {
|
|
10
|
+
return marks[mark].group;
|
|
11
|
+
}));
|
|
12
|
+
markKeys.forEach(function (markKey) {
|
|
13
|
+
var mark = marks[markKey];
|
|
14
|
+
if (mark.excludes) {
|
|
15
|
+
// eslint-disable-next-line @atlassian/perf-linting/no-expensive-split-replace -- Ignored via go/ees017 (to be fixed)
|
|
16
|
+
mark.excludes = mark.excludes.split(' ').filter(function (group) {
|
|
17
|
+
return markGroups.has(group);
|
|
18
|
+
}).join(' ');
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return marks;
|
|
22
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getScrollGutterOptions = getScrollGutterOptions;
|
|
7
|
+
var _isFullPage = require("../utils/is-full-page");
|
|
8
|
+
function getScrollGutterOptions(props) {
|
|
9
|
+
var appearance = props.appearance;
|
|
10
|
+
if ((0, _isFullPage.isFullPage)(appearance)) {
|
|
11
|
+
// Full Page appearance uses a scrollable div wrapper.
|
|
12
|
+
return {
|
|
13
|
+
getScrollElement: function getScrollElement() {
|
|
14
|
+
return document.querySelector('.fabric-editor-popup-scroll-parent');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
@@ -12,13 +12,15 @@ Object.defineProperty(exports, "createPMSchemaAndPlugins", {
|
|
|
12
12
|
Object.defineProperty(exports, "isElementBySelectorInDocument", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function get() {
|
|
15
|
-
return
|
|
15
|
+
return _isElementBySelectorInDocument.isElementBySelectorInDocument;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "setTextSelection", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function get() {
|
|
21
|
-
return
|
|
21
|
+
return _setTextSelection.setTextSelection;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
var _isElementBySelectorInDocument = require("../isElementBySelectorInDocument");
|
|
25
|
+
var _setTextSelection = require("../setTextSelection");
|
|
24
26
|
var _testUtils = require("../test-utils");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isElementBySelectorInDocument = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Given a selector, checks if an element matching the selector exists in the
|
|
9
|
+
* document.
|
|
10
|
+
* @param selector
|
|
11
|
+
* @returns true if element matching selector exists in document, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
var isElementBySelectorInDocument = exports.isElementBySelectorInDocument = function isElementBySelectorInDocument(selector) {
|
|
14
|
+
return Boolean(document.querySelector(selector));
|
|
15
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setTextSelection = setTextSelection;
|
|
7
|
+
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
8
|
+
function setTextSelection(view, anchor, head) {
|
|
9
|
+
var state = view.state;
|
|
10
|
+
var tr = state.tr.setSelection(_state.TextSelection.create(state.doc, anchor, head));
|
|
11
|
+
view.dispatch(tr);
|
|
12
|
+
}
|
package/dist/cjs/test-utils.js
CHANGED
|
@@ -4,14 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
8
|
-
exports.setTextSelection = setTextSelection;
|
|
7
|
+
exports.createPMSchemaAndPlugins = void 0;
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
10
|
var _legacyRankPlugins = require("@atlaskit/editor-common/legacy-rank-plugins");
|
|
12
11
|
var _preset = require("@atlaskit/editor-common/preset");
|
|
13
12
|
var _base = require("@atlaskit/editor-plugins/base");
|
|
14
|
-
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
15
13
|
var _createSchema = require("./create-editor/create-schema");
|
|
16
14
|
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; }
|
|
17
15
|
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; } // Disable no-re-export rule for entry point files
|
|
@@ -102,19 +100,4 @@ var createPMSchemaAndPlugins = exports.createPMSchemaAndPlugins = function creat
|
|
|
102
100
|
editorConfig: editorConfig
|
|
103
101
|
};
|
|
104
102
|
};
|
|
105
|
-
};
|
|
106
|
-
function setTextSelection(view, anchor, head) {
|
|
107
|
-
var state = view.state;
|
|
108
|
-
var tr = state.tr.setSelection(_state.TextSelection.create(state.doc, anchor, head));
|
|
109
|
-
view.dispatch(tr);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Given a selector, checks if an element matching the selector exists in the
|
|
114
|
-
* document.
|
|
115
|
-
* @param selector
|
|
116
|
-
* @returns true if element matching selector exists in document, false otherwise
|
|
117
|
-
*/
|
|
118
|
-
var isElementBySelectorInDocument = exports.isElementBySelectorInDocument = function isElementBySelectorInDocument(selector) {
|
|
119
|
-
return Boolean(document.querySelector(selector));
|
|
120
103
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkForModal = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @see ED-14699 - check if editor is inside a modal to continue to bring cursor to input when
|
|
9
|
+
* any part of the editor container is clicked
|
|
10
|
+
*
|
|
11
|
+
* Handles two cases when a click event is fired:
|
|
12
|
+
*
|
|
13
|
+
* 1. if editor (e.g. comment inside of Jira ticket view) is inside modal then ensure focus and cursor is brought to the input
|
|
14
|
+
* 2. if another modal is open (e.g. delete confirmation modal for confluence table) then ignore clicks as they shouldn't influence editor state
|
|
15
|
+
*/
|
|
16
|
+
var checkForModal = exports.checkForModal = function checkForModal(target) {
|
|
17
|
+
var modalDialog = target === null || target === void 0 ? void 0 : target.closest('[role=dialog]');
|
|
18
|
+
if (modalDialog) {
|
|
19
|
+
// return false if not an editor inside modal, otherwise return true
|
|
20
|
+
return !!(modalDialog !== null && modalDialog !== void 0 && modalDialog.querySelector('.akEditor'));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// no modal present so we can return true
|
|
24
|
+
return true;
|
|
25
|
+
};
|
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var _collab = require("@atlaskit/editor-common/collab");
|
|
8
|
-
var _commands = require("@atlaskit/editor-common/commands");
|
|
9
|
-
var _selection = require("@atlaskit/editor-common/selection");
|
|
6
|
+
exports.clickAreaClickHandler = void 0;
|
|
10
7
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
8
|
+
var _checkForModal = require("./checkForModal");
|
|
11
9
|
var _contentComponentWrapper = require("./ClickAreaBlock/contentComponentWrapper");
|
|
10
|
+
var _outsideProsemirrorEditorClickHandler = require("./outsideProsemirrorEditorClickHandler");
|
|
12
11
|
// we ignore all of the clicks made inside <div class="ak-editor-content-area" /> (but not clicks on the node itself)
|
|
13
12
|
var insideContentArea = function insideContentArea(ref) {
|
|
14
13
|
while (ref) {
|
|
@@ -24,26 +23,6 @@ var insideContentArea = function insideContentArea(ref) {
|
|
|
24
23
|
var insideProseMirrorEditableArea = function insideProseMirrorEditableArea(ref) {
|
|
25
24
|
return Boolean(ref === null || ref === void 0 ? void 0 : ref.closest('.ProseMirror'));
|
|
26
25
|
};
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @see ED-14699 - check if editor is inside a modal to continue to bring cursor to input when
|
|
30
|
-
* any part of the editor container is clicked
|
|
31
|
-
*
|
|
32
|
-
* Handles two cases when a click event is fired:
|
|
33
|
-
*
|
|
34
|
-
* 1. if editor (e.g. comment inside of Jira ticket view) is inside modal then ensure focus and cursor is brought to the input
|
|
35
|
-
* 2. if another modal is open (e.g. delete confirmation modal for confluence table) then ignore clicks as they shouldn't influence editor state
|
|
36
|
-
*/
|
|
37
|
-
var checkForModal = exports.checkForModal = function checkForModal(target) {
|
|
38
|
-
var modalDialog = target === null || target === void 0 ? void 0 : target.closest('[role=dialog]');
|
|
39
|
-
if (modalDialog) {
|
|
40
|
-
// return false if not an editor inside modal, otherwise return true
|
|
41
|
-
return !!(modalDialog !== null && modalDialog !== void 0 && modalDialog.querySelector('.akEditor'));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// no modal present so we can return true
|
|
45
|
-
return true;
|
|
46
|
-
};
|
|
47
26
|
var clickAreaClickHandler = exports.clickAreaClickHandler = function clickAreaClickHandler(view, event) {
|
|
48
27
|
var _view$hasFocus, _target$parentElement, _event$currentTarget, _event$currentTarget2;
|
|
49
28
|
var isEditorFocused = !!(view !== null && view !== void 0 && (_view$hasFocus = view.hasFocus) !== null && _view$hasFocus !== void 0 && _view$hasFocus.call(view));
|
|
@@ -98,36 +77,10 @@ var clickAreaClickHandler = exports.clickAreaClickHandler = function clickAreaCl
|
|
|
98
77
|
var edgeCaseScenario3 = isTargetContentArea && !isTargetInsideContentArea && !isEditorFocused;
|
|
99
78
|
var edgeCaseScenario4 = isEventComingFromContentArea && !isTargetContentArea && !isTargetInsideContentArea && !isEditorFocused;
|
|
100
79
|
var edgeCases = edgeCaseScenario1 || edgeCaseScenario2 || edgeCaseScenario3 || edgeCaseScenario4;
|
|
101
|
-
var isClickOutsideEditor = edgeCases && !isDatasourcePopupClicked && !isEventComingFromInlineCommentPopup && !isButtonClicked && !isInputClicked && !isTextAreaClicked && !isPopupClicked && !isBreadcrumbClicked && !isEditorPopupTextSelected && !isContentComponent && checkForModal(target);
|
|
80
|
+
var isClickOutsideEditor = edgeCases && !isDatasourcePopupClicked && !isEventComingFromInlineCommentPopup && !isButtonClicked && !isInputClicked && !isTextAreaClicked && !isPopupClicked && !isBreadcrumbClicked && !isEditorPopupTextSelected && !isContentComponent && (0, _checkForModal.checkForModal)(target);
|
|
102
81
|
|
|
103
82
|
// click was within editor container and focus should be brought to input
|
|
104
83
|
if (isClickOutsideEditor && view) {
|
|
105
|
-
outsideProsemirrorEditorClickHandler(view, event);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
var outsideProsemirrorEditorClickHandler = exports.outsideProsemirrorEditorClickHandler = function outsideProsemirrorEditorClickHandler(view, event) {
|
|
109
|
-
var _view$hasFocus2;
|
|
110
|
-
var dispatch = view.dispatch,
|
|
111
|
-
dom = view.dom,
|
|
112
|
-
state = view.state;
|
|
113
|
-
var tr = state.tr;
|
|
114
|
-
var isEditorFocused = !!(view !== null && view !== void 0 && (_view$hasFocus2 = view.hasFocus) !== null && _view$hasFocus2 !== void 0 && _view$hasFocus2.call(view));
|
|
115
|
-
var isBottomAreaClicked = event.clientY > dom.getBoundingClientRect().bottom;
|
|
116
|
-
if (isBottomAreaClicked) {
|
|
117
|
-
tr.setMeta('outsideProsemirrorEditorClicked', true);
|
|
118
|
-
(0, _commands.addParagraphAtEnd)(tr);
|
|
119
|
-
}
|
|
120
|
-
(0, _selection.setSelectionTopLevelBlocks)(tr, event,
|
|
121
|
-
// Ignored via go/ees005
|
|
122
|
-
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
123
|
-
dom, view.posAtCoords.bind(view), isEditorFocused);
|
|
124
|
-
(0, _collab.tintDirtyTransaction)(tr);
|
|
125
|
-
if (!tr.docChanged && !tr.selectionSet) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
if (dispatch) {
|
|
129
|
-
dispatch(tr);
|
|
84
|
+
(0, _outsideProsemirrorEditorClickHandler.outsideProsemirrorEditorClickHandler)(view, event);
|
|
130
85
|
}
|
|
131
|
-
view.focus();
|
|
132
|
-
event.preventDefault();
|
|
133
86
|
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.outsideProsemirrorEditorClickHandler = void 0;
|
|
7
|
+
var _collab = require("@atlaskit/editor-common/collab");
|
|
8
|
+
var _commands = require("@atlaskit/editor-common/commands");
|
|
9
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
10
|
+
var outsideProsemirrorEditorClickHandler = exports.outsideProsemirrorEditorClickHandler = function outsideProsemirrorEditorClickHandler(view, event) {
|
|
11
|
+
var _view$hasFocus;
|
|
12
|
+
var dispatch = view.dispatch,
|
|
13
|
+
dom = view.dom,
|
|
14
|
+
state = view.state;
|
|
15
|
+
var tr = state.tr;
|
|
16
|
+
var isEditorFocused = !!(view !== null && view !== void 0 && (_view$hasFocus = view.hasFocus) !== null && _view$hasFocus !== void 0 && _view$hasFocus.call(view));
|
|
17
|
+
var isBottomAreaClicked = event.clientY > dom.getBoundingClientRect().bottom;
|
|
18
|
+
if (isBottomAreaClicked) {
|
|
19
|
+
tr.setMeta('outsideProsemirrorEditorClicked', true);
|
|
20
|
+
(0, _commands.addParagraphAtEnd)(tr);
|
|
21
|
+
}
|
|
22
|
+
(0, _selection.setSelectionTopLevelBlocks)(tr, event,
|
|
23
|
+
// Ignored via go/ees005
|
|
24
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
25
|
+
dom, view.posAtCoords.bind(view), isEditorFocused);
|
|
26
|
+
(0, _collab.tintDirtyTransaction)(tr);
|
|
27
|
+
if (!tr.docChanged && !tr.selectionSet) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (dispatch) {
|
|
31
|
+
dispatch(tr);
|
|
32
|
+
}
|
|
33
|
+
view.focus();
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
};
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default =
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
11
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -14,13 +14,11 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
17
|
-
var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
|
|
18
17
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
19
18
|
var _EditorContentContainer = _interopRequireDefault(require("../EditorContentContainer/EditorContentContainer"));
|
|
20
19
|
var _PluginSlot = _interopRequireDefault(require("../PluginSlot"));
|
|
21
20
|
var _WithFlash = _interopRequireDefault(require("../WithFlash"));
|
|
22
|
-
var
|
|
23
|
-
var _ChromelessEmotion = require("./Chromeless-emotion");
|
|
21
|
+
var _ChromelessEditorContainer = require("./ChromelessEditorContainer");
|
|
24
22
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
23
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
26
24
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
@@ -73,7 +71,7 @@ var Editor = exports.default = /*#__PURE__*/function (_React$Component) {
|
|
|
73
71
|
};
|
|
74
72
|
return /*#__PURE__*/_react.default.createElement(_WithFlash.default, {
|
|
75
73
|
animate: maxContentSizeReached
|
|
76
|
-
}, /*#__PURE__*/_react.default.createElement(ChromelessEditorContainer, {
|
|
74
|
+
}, /*#__PURE__*/_react.default.createElement(_ChromelessEditorContainer.ChromelessEditorContainer, {
|
|
77
75
|
maxHeight: maxHeight,
|
|
78
76
|
minHeight: minHeight,
|
|
79
77
|
containerRef: containerRef
|
|
@@ -131,14 +129,4 @@ function RenderWithPluginState(_ref2) {
|
|
|
131
129
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, renderChrome({
|
|
132
130
|
maxContentSize: maxContentSize
|
|
133
131
|
}));
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Container for the chromeless editor appearance. This is used to set the max and min height
|
|
138
|
-
* of the editor content area, and to provide a ref to the container element for the popups.
|
|
139
|
-
* @param param0 props for the chromeless editor container
|
|
140
|
-
* @returns JSX element representing the chromeless editor container
|
|
141
|
-
*/
|
|
142
|
-
var ChromelessEditorContainer = exports.ChromelessEditorContainer = (0, _platformFeatureFlagsReact.componentWithCondition)(function () {
|
|
143
|
-
return (0, _expValEquals.expValEquals)('platform_editor_core_non_ecc_static_css', 'isEnabled', true);
|
|
144
|
-
}, _ChromelessCompiled.ChromelessEditorContainerCompiled, _ChromelessEmotion.ChromelessEditorContainerEmotion);
|
|
132
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChromelessEditorContainer = void 0;
|
|
7
|
+
var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
|
|
8
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
9
|
+
var _ChromelessCompiled = require("./Chromeless-compiled");
|
|
10
|
+
var _ChromelessEmotion = require("./Chromeless-emotion");
|
|
11
|
+
/**
|
|
12
|
+
* Container for the chromeless editor appearance. This is used to set the max and min height
|
|
13
|
+
* of the editor content area, and to provide a ref to the container element for the popups.
|
|
14
|
+
* @param param0 props for the chromeless editor container
|
|
15
|
+
* @returns JSX element representing the chromeless editor container
|
|
16
|
+
*/
|
|
17
|
+
var ChromelessEditorContainer = exports.ChromelessEditorContainer = (0, _platformFeatureFlagsReact.componentWithCondition)(function () {
|
|
18
|
+
return (0, _expValEquals.expValEquals)('platform_editor_core_non_ecc_static_css', 'isEnabled', true);
|
|
19
|
+
}, _ChromelessCompiled.ChromelessEditorContainerCompiled, _ChromelessEmotion.ChromelessEditorContainerEmotion);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CustomToolbarWrapperMigration = void 0;
|
|
7
|
+
var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
|
|
8
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
9
|
+
var _MainToolbarCompiled = require("./MainToolbar-compiled");
|
|
10
|
+
var _MainToolbarEmotion = require("./MainToolbar-emotion");
|
|
11
|
+
var CustomToolbarWrapperMigration = exports.CustomToolbarWrapperMigration = (0, _platformFeatureFlagsReact.componentWithCondition)(function () {
|
|
12
|
+
return (0, _expValEquals.expValEquals)('platform_editor_core_non_ecc_static_css', 'isEnabled', true);
|
|
13
|
+
}, _MainToolbarCompiled.CustomToolbarWrapperCompiled, _MainToolbarEmotion.CustomToolbarWrapperEmotion);
|