@atlaskit/editor-core 181.0.0 → 181.0.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 +7 -0
- package/dist/cjs/create-editor/create-plugins-list.js +7 -2
- package/dist/cjs/create-editor/feature-flags-from-props.js +31 -26
- package/dist/cjs/plugins/type-ahead/index.js +4 -1
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +4 -2
- package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +4 -2
- package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +41 -4
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +2 -0
- package/dist/cjs/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
- package/dist/cjs/plugins/type-ahead/utils.js +22 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/create-editor/create-plugins-list.js +7 -2
- package/dist/es2019/create-editor/feature-flags-from-props.js +31 -26
- package/dist/es2019/plugins/type-ahead/index.js +4 -1
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +4 -2
- package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +4 -2
- package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +41 -4
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +2 -0
- package/dist/es2019/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
- package/dist/es2019/plugins/type-ahead/utils.js +22 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/create-editor/create-plugins-list.js +7 -2
- package/dist/esm/create-editor/feature-flags-from-props.js +31 -26
- package/dist/esm/plugins/type-ahead/index.js +4 -1
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +4 -2
- package/dist/esm/plugins/type-ahead/pm-plugins/main.js +4 -2
- package/dist/esm/plugins/type-ahead/ui/InputQuery.js +41 -4
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +2 -0
- package/dist/esm/plugins/type-ahead/ui/WrapperTypeAhead.js +9 -5
- package/dist/esm/plugins/type-ahead/utils.js +22 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/plugins/type-ahead/index.d.ts +1 -0
- package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +2 -1
- package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/type-ahead/ui/InputQuery.d.ts +1 -0
- package/dist/types/plugins/type-ahead/ui/WrapperTypeAhead.d.ts +1 -0
- package/dist/types/plugins/type-ahead/utils.d.ts +2 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 181.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`40c9132b8cd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/40c9132b8cd) - [ux] ED-17200 Restore typeahead initial-navigation behaviour
|
|
8
|
+
- [`b737494c727`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b737494c727) - Update typeahead changes to be behind a feature flag named `use-better-typeahead-navigation`/`useBetterTypeaheadNavigation`. This is an opt-out feature flag! To disable, please supply the feature flag as false.
|
|
9
|
+
|
|
3
10
|
## 181.0.0
|
|
4
11
|
|
|
5
12
|
### Major Changes
|
|
@@ -44,16 +44,21 @@ function getScrollGutterOptions(props) {
|
|
|
44
44
|
return undefined;
|
|
45
45
|
}
|
|
46
46
|
function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent) {
|
|
47
|
-
var _props$performanceTra, _props$linking, _props$performanceTra2, _props$textFormatting, _props$linking2;
|
|
47
|
+
var _props$performanceTra, _props$linking, _ref, _props$featureFlags$u, _props$featureFlags, _props$featureFlags2, _props$performanceTra2, _props$textFormatting, _props$linking2;
|
|
48
48
|
var appearance = props.appearance;
|
|
49
49
|
var isMobile = appearance === 'mobile';
|
|
50
50
|
var inputTracking = (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : _props$performanceTra.inputTracking;
|
|
51
51
|
var cardOptions = ((_props$linking = props.linking) === null || _props$linking === void 0 ? void 0 : _props$linking.smartLinks) || props.smartLinks || props.UNSAFE_cards;
|
|
52
|
+
|
|
53
|
+
// duplicated logic from `feature-flags-from-props.ts` due to presets not being finalised
|
|
54
|
+
var pseudoNormalisedUseBetterTypeaheadNavigation = (_ref = (_props$featureFlags$u = (_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags['use-better-typeahead-navigation']) !== null && _props$featureFlags$u !== void 0 ? _props$featureFlags$u : (_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2.useBetterTypeaheadNavigation) !== null && _ref !== void 0 ? _ref : null;
|
|
55
|
+
var useBetterTypeaheadNavigation = Boolean(typeof pseudoNormalisedUseBetterTypeaheadNavigation === 'boolean' ? !!pseudoNormalisedUseBetterTypeaheadNavigation : true);
|
|
52
56
|
return _objectSpread(_objectSpread({}, props), {}, {
|
|
53
57
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
54
58
|
typeAhead: {
|
|
55
59
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
56
|
-
isMobile: isMobile
|
|
60
|
+
isMobile: isMobile,
|
|
61
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
57
62
|
},
|
|
58
63
|
featureFlags: (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(props),
|
|
59
64
|
paste: {
|
|
@@ -32,9 +32,12 @@ function getSpellCheck(featureFlags) {
|
|
|
32
32
|
* which is used by both current and archv3 editors.
|
|
33
33
|
*/
|
|
34
34
|
function createFeatureFlagsFromProps(props) {
|
|
35
|
-
var _props$featureFlags, _props$
|
|
35
|
+
var _props$featureFlags, _ref, _props$featureFlags$u, _props$featureFlags2, _props$featureFlags3, _props$allowLayouts, _props$performanceTra, _props$performanceTra2, _props$featureFlags4, _props$featureFlags5, _props$allowTables, _props$featureFlags6, _props$featureFlags7, _props$allowTables2, _props$featureFlags8, _props$featureFlags9, _props$allowTables3, _props$featureFlags10, _props$featureFlags11, _props$allowTables4, _props$allowTables5, _props$featureFlags12, _props$featureFlags13, _props$allowTables6, _props$allowExtension, _props$featureFlags14, _props$featureFlags15, _props$featureFlags16, _props$featureFlags17, _props$featureFlags18, _props$featureFlags19, _props$featureFlags20, _props$featureFlags21, _props$featureFlags22, _props$featureFlags23, _props$featureFlags24, _props$featureFlags25, _props$featureFlags26, _props$featureFlags27, _props$featureFlags28, _props$featureFlags29, _props$featureFlags30, _props$featureFlags31, _props$collabEdit, _props$collabEdit2, _props$featureFlags32, _props$featureFlags33, _props$featureFlags34, _props$featureFlags35, _props$featureFlags36, _props$featureFlags37, _props$featureFlags38, _props$featureFlags39, _props$featureFlags40, _props$featureFlags41, _props$featureFlags42, _props$featureFlags43, _props$featureFlags44, _props$featureFlags45, _props$featureFlags46, _props$featureFlags47;
|
|
36
36
|
var normalizedFeatureFlags = (0, _normalizeFeatureFlags.normalizeFeatureFlags)(props.featureFlags);
|
|
37
37
|
var tableCellOptionsInFloatingToolbar = normalizedFeatureFlags.tableCellOptionsInFloatingToolbar || ((_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags.tableCellOptionsInFloatingToolbar) || undefined;
|
|
38
|
+
|
|
39
|
+
// duplicated logic from `feature-flags-from-props.ts` due to presets not being finalised
|
|
40
|
+
var pseudoNormalisedUseBetterTypeaheadNavigation = (_ref = (_props$featureFlags$u = (_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2['use-better-typeahead-navigation']) !== null && _props$featureFlags$u !== void 0 ? _props$featureFlags$u : (_props$featureFlags3 = props.featureFlags) === null || _props$featureFlags3 === void 0 ? void 0 : _props$featureFlags3.useBetterTypeaheadNavigation) !== null && _ref !== void 0 ? _ref : null;
|
|
38
41
|
return _objectSpread(_objectSpread({}, normalizedFeatureFlags), {}, {
|
|
39
42
|
newInsertionBehaviour: props.allowNewInsertionBehaviour,
|
|
40
43
|
interactiveExpand: typeof props.allowExpand === 'boolean' ? props.allowExpand : Boolean(props.allowExpand && props.allowExpand.allowInteractiveExpand !== false),
|
|
@@ -45,37 +48,39 @@ function createFeatureFlagsFromProps(props) {
|
|
|
45
48
|
singleLayout: (0, _typeof2.default)(props.allowLayouts) === 'object' && !!((_props$allowLayouts = props.allowLayouts) !== null && _props$allowLayouts !== void 0 && _props$allowLayouts.UNSAFE_allowSingleColumnLayout),
|
|
46
49
|
undoRedoButtons: props.allowUndoRedoButtons,
|
|
47
50
|
catchAllTracking: (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : (_props$performanceTra2 = _props$performanceTra.catchAllTracking) === null || _props$performanceTra2 === void 0 ? void 0 : _props$performanceTra2.enabled,
|
|
48
|
-
stickyHeadersOptimization: typeof ((_props$
|
|
49
|
-
initialRenderOptimization: typeof ((_props$
|
|
50
|
-
mouseMoveOptimization: typeof ((_props$
|
|
51
|
-
tableRenderOptimization: typeof ((_props$
|
|
52
|
-
tableOverflowShadowsOptimization: typeof ((_props$
|
|
51
|
+
stickyHeadersOptimization: typeof ((_props$featureFlags4 = props.featureFlags) === null || _props$featureFlags4 === void 0 ? void 0 : _props$featureFlags4.stickyHeadersOptimization) === 'boolean' ? !!((_props$featureFlags5 = props.featureFlags) !== null && _props$featureFlags5 !== void 0 && _props$featureFlags5.stickyHeadersOptimization) : (0, _typeof2.default)(props.allowTables) === 'object' && !!((_props$allowTables = props.allowTables) !== null && _props$allowTables !== void 0 && _props$allowTables.stickyHeadersOptimization),
|
|
52
|
+
initialRenderOptimization: typeof ((_props$featureFlags6 = props.featureFlags) === null || _props$featureFlags6 === void 0 ? void 0 : _props$featureFlags6.initialRenderOptimization) === 'boolean' ? !!((_props$featureFlags7 = props.featureFlags) !== null && _props$featureFlags7 !== void 0 && _props$featureFlags7.initialRenderOptimization) : (0, _typeof2.default)(props.allowTables) === 'object' && !!((_props$allowTables2 = props.allowTables) !== null && _props$allowTables2 !== void 0 && _props$allowTables2.initialRenderOptimization),
|
|
53
|
+
mouseMoveOptimization: typeof ((_props$featureFlags8 = props.featureFlags) === null || _props$featureFlags8 === void 0 ? void 0 : _props$featureFlags8.mouseMoveOptimization) === 'boolean' ? !!((_props$featureFlags9 = props.featureFlags) !== null && _props$featureFlags9 !== void 0 && _props$featureFlags9.mouseMoveOptimization) : (0, _typeof2.default)(props.allowTables) === 'object' && !!((_props$allowTables3 = props.allowTables) !== null && _props$allowTables3 !== void 0 && _props$allowTables3.mouseMoveOptimization),
|
|
54
|
+
tableRenderOptimization: typeof ((_props$featureFlags10 = props.featureFlags) === null || _props$featureFlags10 === void 0 ? void 0 : _props$featureFlags10.tableRenderOptimization) === 'boolean' ? !!((_props$featureFlags11 = props.featureFlags) !== null && _props$featureFlags11 !== void 0 && _props$featureFlags11.tableRenderOptimization) : (0, _typeof2.default)(props.allowTables) === 'object' && typeof ((_props$allowTables4 = props.allowTables) === null || _props$allowTables4 === void 0 ? void 0 : _props$allowTables4.tableRenderOptimization) === 'boolean' ? (_props$allowTables5 = props.allowTables) === null || _props$allowTables5 === void 0 ? void 0 : _props$allowTables5.tableRenderOptimization : true,
|
|
55
|
+
tableOverflowShadowsOptimization: typeof ((_props$featureFlags12 = props.featureFlags) === null || _props$featureFlags12 === void 0 ? void 0 : _props$featureFlags12.tableOverflowShadowsOptimization) === 'boolean' ? !!((_props$featureFlags13 = props.featureFlags) !== null && _props$featureFlags13 !== void 0 && _props$featureFlags13.tableOverflowShadowsOptimization) : (0, _typeof2.default)(props.allowTables) === 'object' && !!((_props$allowTables6 = props.allowTables) !== null && _props$allowTables6 !== void 0 && _props$allowTables6.tableOverflowShadowsOptimization),
|
|
53
56
|
extendFloatingToolbar: Boolean((0, _typeof2.default)(props.allowExtension) === 'object' && ((_props$allowExtension = props.allowExtension) === null || _props$allowExtension === void 0 ? void 0 : _props$allowExtension.allowExtendFloatingToolbars)),
|
|
54
|
-
showAvatarGroupAsPlugin: Boolean(typeof ((_props$
|
|
55
|
-
errorBoundaryDocStructure: Boolean(typeof ((_props$
|
|
56
|
-
synchronyErrorDocStructure: Boolean(typeof ((_props$
|
|
57
|
-
enableViewUpdateSubscription: Boolean(typeof ((_props$
|
|
58
|
-
collabAvatarScroll: Boolean(typeof ((_props$
|
|
59
|
-
ufo: Boolean(typeof ((_props$
|
|
60
|
-
twoLineEditorToolbar: Boolean(typeof ((_props$
|
|
61
|
-
saferDispatchedTransactions: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactions === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactions || (typeof ((_props$
|
|
62
|
-
saferDispatchedTransactionsAnalyticsOnly: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly || (typeof ((_props$
|
|
57
|
+
showAvatarGroupAsPlugin: Boolean(typeof ((_props$featureFlags14 = props.featureFlags) === null || _props$featureFlags14 === void 0 ? void 0 : _props$featureFlags14.showAvatarGroupAsPlugin) === 'boolean' ? !!((_props$featureFlags15 = props.featureFlags) !== null && _props$featureFlags15 !== void 0 && _props$featureFlags15.showAvatarGroupAsPlugin) : false),
|
|
58
|
+
errorBoundaryDocStructure: Boolean(typeof ((_props$featureFlags16 = props.featureFlags) === null || _props$featureFlags16 === void 0 ? void 0 : _props$featureFlags16.useErrorBoundaryDocStructure) === 'boolean' ? !!((_props$featureFlags17 = props.featureFlags) !== null && _props$featureFlags17 !== void 0 && _props$featureFlags17.useErrorBoundaryDocStructure) : false),
|
|
59
|
+
synchronyErrorDocStructure: Boolean(typeof ((_props$featureFlags18 = props.featureFlags) === null || _props$featureFlags18 === void 0 ? void 0 : _props$featureFlags18.synchronyErrorDocStructure) === 'boolean' ? !!((_props$featureFlags19 = props.featureFlags) !== null && _props$featureFlags19 !== void 0 && _props$featureFlags19.synchronyErrorDocStructure) : false),
|
|
60
|
+
enableViewUpdateSubscription: Boolean(typeof ((_props$featureFlags20 = props.featureFlags) === null || _props$featureFlags20 === void 0 ? void 0 : _props$featureFlags20.enableViewUpdateSubscription) === 'boolean' ? !!((_props$featureFlags21 = props.featureFlags) !== null && _props$featureFlags21 !== void 0 && _props$featureFlags21.enableViewUpdateSubscription) : false),
|
|
61
|
+
collabAvatarScroll: Boolean(typeof ((_props$featureFlags22 = props.featureFlags) === null || _props$featureFlags22 === void 0 ? void 0 : _props$featureFlags22.collabAvatarScroll) === 'boolean' ? !!((_props$featureFlags23 = props.featureFlags) !== null && _props$featureFlags23 !== void 0 && _props$featureFlags23.collabAvatarScroll) : false),
|
|
62
|
+
ufo: Boolean(typeof ((_props$featureFlags24 = props.featureFlags) === null || _props$featureFlags24 === void 0 ? void 0 : _props$featureFlags24.ufo) === 'boolean' ? !!((_props$featureFlags25 = props.featureFlags) !== null && _props$featureFlags25 !== void 0 && _props$featureFlags25.ufo) : false),
|
|
63
|
+
twoLineEditorToolbar: Boolean(typeof ((_props$featureFlags26 = props.featureFlags) === null || _props$featureFlags26 === void 0 ? void 0 : _props$featureFlags26.twoLineEditorToolbar) === 'boolean' ? !!((_props$featureFlags27 = props.featureFlags) !== null && _props$featureFlags27 !== void 0 && _props$featureFlags27.twoLineEditorToolbar) : false),
|
|
64
|
+
saferDispatchedTransactions: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactions === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactions || (typeof ((_props$featureFlags28 = props.featureFlags) === null || _props$featureFlags28 === void 0 ? void 0 : _props$featureFlags28.saferDispatchedTransactions) === 'boolean' ? !!((_props$featureFlags29 = props.featureFlags) !== null && _props$featureFlags29 !== void 0 && _props$featureFlags29.saferDispatchedTransactions) : false)),
|
|
65
|
+
saferDispatchedTransactionsAnalyticsOnly: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly || (typeof ((_props$featureFlags30 = props.featureFlags) === null || _props$featureFlags30 === void 0 ? void 0 : _props$featureFlags30.saferDispatchedTransactionsAnalyticsOnly) === 'boolean' ? !!((_props$featureFlags31 = props.featureFlags) !== null && _props$featureFlags31 !== void 0 && _props$featureFlags31.saferDispatchedTransactionsAnalyticsOnly) : false)),
|
|
63
66
|
useNativeCollabPlugin: Boolean(typeof ((_props$collabEdit = props.collabEdit) === null || _props$collabEdit === void 0 ? void 0 : _props$collabEdit.useNativePlugin) === 'boolean' ? !!((_props$collabEdit2 = props.collabEdit) !== null && _props$collabEdit2 !== void 0 && _props$collabEdit2.useNativePlugin) : false),
|
|
64
|
-
chromeCursorHandlerFixedVersion: typeof ((_props$
|
|
67
|
+
chromeCursorHandlerFixedVersion: typeof ((_props$featureFlags32 = props.featureFlags) === null || _props$featureFlags32 === void 0 ? void 0 : _props$featureFlags32.chromeCursorHandlerFixedVersion) === 'string' ? Number(props.featureFlags.chromeCursorHandlerFixedVersion) || undefined : undefined,
|
|
65
68
|
tableCellOptionsInFloatingToolbar: typeof tableCellOptionsInFloatingToolbar === 'boolean' ? tableCellOptionsInFloatingToolbar : false,
|
|
66
|
-
showHoverPreview: Boolean(typeof ((_props$
|
|
67
|
-
indentationButtonsInTheToolbar: Boolean(typeof normalizedFeatureFlags.indentationButtonsInTheToolbar === 'boolean' && !!normalizedFeatureFlags.indentationButtonsInTheToolbar || (typeof ((_props$
|
|
68
|
-
floatingToolbarCopyButton: Boolean(typeof normalizedFeatureFlags.floatingToolbarCopyButton === 'boolean' && !!normalizedFeatureFlags.floatingToolbarCopyButton || (typeof ((_props$
|
|
69
|
-
floatingToolbarLinkSettingsButton: typeof ((_props$
|
|
69
|
+
showHoverPreview: Boolean(typeof ((_props$featureFlags33 = props.featureFlags) === null || _props$featureFlags33 === void 0 ? void 0 : _props$featureFlags33.showHoverPreview) === 'boolean' ? !!((_props$featureFlags34 = props.featureFlags) !== null && _props$featureFlags34 !== void 0 && _props$featureFlags34.showHoverPreview) : false),
|
|
70
|
+
indentationButtonsInTheToolbar: Boolean(typeof normalizedFeatureFlags.indentationButtonsInTheToolbar === 'boolean' && !!normalizedFeatureFlags.indentationButtonsInTheToolbar || (typeof ((_props$featureFlags35 = props.featureFlags) === null || _props$featureFlags35 === void 0 ? void 0 : _props$featureFlags35.indentationButtonsInTheToolbar) === 'boolean' ? !!((_props$featureFlags36 = props.featureFlags) !== null && _props$featureFlags36 !== void 0 && _props$featureFlags36.indentationButtonsInTheToolbar) : false)),
|
|
71
|
+
floatingToolbarCopyButton: Boolean(typeof normalizedFeatureFlags.floatingToolbarCopyButton === 'boolean' && !!normalizedFeatureFlags.floatingToolbarCopyButton || (typeof ((_props$featureFlags37 = props.featureFlags) === null || _props$featureFlags37 === void 0 ? void 0 : _props$featureFlags37.floatingToolbarCopyButton) === 'boolean' ? !!((_props$featureFlags38 = props.featureFlags) !== null && _props$featureFlags38 !== void 0 && _props$featureFlags38.floatingToolbarCopyButton) : false)),
|
|
72
|
+
floatingToolbarLinkSettingsButton: typeof ((_props$featureFlags39 = props.featureFlags) === null || _props$featureFlags39 === void 0 ? void 0 : _props$featureFlags39['floating-toolbar-link-settings-button']) === 'string' ? props.featureFlags['floating-toolbar-link-settings-button'] || undefined : undefined,
|
|
70
73
|
disableSpellcheckByBrowser: getSpellCheck(props.featureFlags),
|
|
71
74
|
// Including fallback to props.featureFlags so that mobile feature flags
|
|
72
75
|
// are included (they are not kebab cased)
|
|
73
|
-
restartNumberedLists: normalizedFeatureFlags.restartNumberedLists === true || ((_props$
|
|
74
|
-
listNumberContinuity: normalizedFeatureFlags.listNumberContinuity === true || ((_props$
|
|
75
|
-
restartNumberedListsToolbar: normalizedFeatureFlags.restartNumberedListsToolbar === true || ((_props$
|
|
76
|
-
useSomewhatSemanticTextColorNames: Boolean(typeof normalizedFeatureFlags.useSomewhatSemanticTextColorNames === 'boolean' && !!normalizedFeatureFlags.useSomewhatSemanticTextColorNames || (typeof ((_props$
|
|
76
|
+
restartNumberedLists: normalizedFeatureFlags.restartNumberedLists === true || ((_props$featureFlags40 = props.featureFlags) === null || _props$featureFlags40 === void 0 ? void 0 : _props$featureFlags40.restartNumberedLists) === true,
|
|
77
|
+
listNumberContinuity: normalizedFeatureFlags.listNumberContinuity === true || ((_props$featureFlags41 = props.featureFlags) === null || _props$featureFlags41 === void 0 ? void 0 : _props$featureFlags41.listNumberContinuity) === true,
|
|
78
|
+
restartNumberedListsToolbar: normalizedFeatureFlags.restartNumberedListsToolbar === true || ((_props$featureFlags42 = props.featureFlags) === null || _props$featureFlags42 === void 0 ? void 0 : _props$featureFlags42.restartNumberedListsToolbar) === true,
|
|
79
|
+
useSomewhatSemanticTextColorNames: Boolean(typeof normalizedFeatureFlags.useSomewhatSemanticTextColorNames === 'boolean' && !!normalizedFeatureFlags.useSomewhatSemanticTextColorNames || (typeof ((_props$featureFlags43 = props.featureFlags) === null || _props$featureFlags43 === void 0 ? void 0 : _props$featureFlags43.useSomewhatSemanticTextColorNames) === 'boolean' ? !!((_props$featureFlags44 = props.featureFlags) !== null && _props$featureFlags44 !== void 0 && _props$featureFlags44.useSomewhatSemanticTextColorNames) : false)),
|
|
77
80
|
lpLinkPickerFocusTrap: Boolean(normalizedFeatureFlags.lpLinkPickerFocusTrap),
|
|
78
|
-
preventPopupOverflow: Boolean(typeof ((_props$
|
|
79
|
-
useEditorNext: normalizedFeatureFlags.useEditorNext === true || ((_props$
|
|
81
|
+
preventPopupOverflow: Boolean(typeof ((_props$featureFlags45 = props.featureFlags) === null || _props$featureFlags45 === void 0 ? void 0 : _props$featureFlags45['prevent-popup-overflow']) === 'boolean' ? !!((_props$featureFlags46 = props.featureFlags) !== null && _props$featureFlags46 !== void 0 && _props$featureFlags46['prevent-popup-overflow']) : false),
|
|
82
|
+
useEditorNext: normalizedFeatureFlags.useEditorNext === true || ((_props$featureFlags47 = props.featureFlags) === null || _props$featureFlags47 === void 0 ? void 0 : _props$featureFlags47.useEditorNext) === true,
|
|
83
|
+
// duplicated logic from `create-plugins-list.ts` due to presets not being finalised
|
|
84
|
+
useBetterTypeaheadNavigation: Boolean(typeof pseudoNormalisedUseBetterTypeaheadNavigation === 'boolean' ? !!pseudoNormalisedUseBetterTypeaheadNavigation : true)
|
|
80
85
|
});
|
|
81
86
|
}
|
|
@@ -127,6 +127,8 @@ var TypeAheadMenu = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
127
127
|
*
|
|
128
128
|
*/
|
|
129
129
|
var typeAheadPlugin = function typeAheadPlugin(options) {
|
|
130
|
+
var _options$useBetterTyp;
|
|
131
|
+
var useBetterTypeaheadNavigation = (_options$useBetterTyp = options === null || options === void 0 ? void 0 : options.useBetterTypeaheadNavigation) !== null && _options$useBetterTyp !== void 0 ? _options$useBetterTyp : true;
|
|
130
132
|
var fireAnalyticsCallback = (0, _analytics.fireAnalyticsEvent)(options === null || options === void 0 ? void 0 : options.createAnalyticsEvent);
|
|
131
133
|
var popupMountRef = {
|
|
132
134
|
current: null
|
|
@@ -153,7 +155,8 @@ var typeAheadPlugin = function typeAheadPlugin(options) {
|
|
|
153
155
|
popupMountRef: popupMountRef,
|
|
154
156
|
reactDispatch: dispatch,
|
|
155
157
|
typeAheadHandlers: typeAhead,
|
|
156
|
-
createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent
|
|
158
|
+
createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent,
|
|
159
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
157
160
|
});
|
|
158
161
|
}
|
|
159
162
|
}, {
|
|
@@ -22,7 +22,8 @@ var _closeTypeAhead = require("../transforms/close-type-ahead");
|
|
|
22
22
|
var factoryDecorations = function factoryDecorations(_ref) {
|
|
23
23
|
var intl = _ref.intl,
|
|
24
24
|
popupMountRef = _ref.popupMountRef,
|
|
25
|
-
createAnalyticsEvent = _ref.createAnalyticsEvent
|
|
25
|
+
createAnalyticsEvent = _ref.createAnalyticsEvent,
|
|
26
|
+
useBetterTypeaheadNavigation = _ref.useBetterTypeaheadNavigation;
|
|
26
27
|
var createDecorations = function createDecorations(tr, _ref2) {
|
|
27
28
|
var triggerHandler = _ref2.triggerHandler,
|
|
28
29
|
inputMethod = _ref2.inputMethod,
|
|
@@ -94,7 +95,8 @@ var factoryDecorations = function factoryDecorations(_ref) {
|
|
|
94
95
|
popupsBoundariesElement: (_popupMountRef$curren2 = popupMountRef.current) === null || _popupMountRef$curren2 === void 0 ? void 0 : _popupMountRef$curren2.popupsBoundariesElement,
|
|
95
96
|
popupsScrollableElement: (_popupMountRef$curren3 = popupMountRef.current) === null || _popupMountRef$curren3 === void 0 ? void 0 : _popupMountRef$curren3.popupsScrollableElement,
|
|
96
97
|
onUndoRedo: onUndoRedo,
|
|
97
|
-
reopenQuery: reopenQuery
|
|
98
|
+
reopenQuery: reopenQuery,
|
|
99
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
98
100
|
})), typeaheadComponent);
|
|
99
101
|
shouldFocusCursorInsideQuery = false;
|
|
100
102
|
return typeaheadComponent;
|
|
@@ -31,12 +31,14 @@ function createPlugin(_ref) {
|
|
|
31
31
|
popupMountRef = _ref.popupMountRef,
|
|
32
32
|
createAnalyticsEvent = _ref.createAnalyticsEvent,
|
|
33
33
|
typeAheadHandlers = _ref.typeAheadHandlers,
|
|
34
|
-
getIntl = _ref.getIntl
|
|
34
|
+
getIntl = _ref.getIntl,
|
|
35
|
+
useBetterTypeaheadNavigation = _ref.useBetterTypeaheadNavigation;
|
|
35
36
|
var intl = getIntl();
|
|
36
37
|
var _factoryDecorations = (0, _decorations.factoryDecorations)({
|
|
37
38
|
intl: intl,
|
|
38
39
|
popupMountRef: popupMountRef,
|
|
39
|
-
createAnalyticsEvent: createAnalyticsEvent
|
|
40
|
+
createAnalyticsEvent: createAnalyticsEvent,
|
|
41
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
40
42
|
}),
|
|
41
43
|
createDecorations = _factoryDecorations.createDecorations,
|
|
42
44
|
removeDecorations = _factoryDecorations.removeDecorations;
|
|
@@ -76,7 +76,8 @@ var InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
76
76
|
onQueryFocus = _ref.onQueryFocus,
|
|
77
77
|
onUndoRedo = _ref.onUndoRedo,
|
|
78
78
|
editorView = _ref.editorView,
|
|
79
|
-
items = _ref.items
|
|
79
|
+
items = _ref.items,
|
|
80
|
+
useBetterTypeaheadNavigation = _ref.useBetterTypeaheadNavigation;
|
|
80
81
|
var ref = (0, _react.useRef)(document.createElement('span'));
|
|
81
82
|
var inputRef = (0, _react.useRef)(null);
|
|
82
83
|
var _useState = (0, _react.useState)(null),
|
|
@@ -149,6 +150,19 @@ var InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
149
150
|
// Some suggested the other workaround maybe listen on`keypress` instead of `keydown`
|
|
150
151
|
if (!event.isComposing || event.which !== 229 && event.keyCode !== 229) {
|
|
151
152
|
if (selectedIndex === -1) {
|
|
153
|
+
if (useBetterTypeaheadNavigation) {
|
|
154
|
+
/**
|
|
155
|
+
* TODO DTR-1401: (also see ED-17200) There are two options
|
|
156
|
+
* here, either
|
|
157
|
+
* - set the index directly to 1 in WrapperTypeAhead.tsx's
|
|
158
|
+
* `insertSelectedItem` at the cost of breaking some of the a11y
|
|
159
|
+
* focus changes,
|
|
160
|
+
* - or do this jank at the cost of some small analytics noise.
|
|
161
|
+
*
|
|
162
|
+
* The focus behaviour still needs cleanup
|
|
163
|
+
*/
|
|
164
|
+
selectPreviousItem();
|
|
165
|
+
}
|
|
152
166
|
selectNextItem();
|
|
153
167
|
}
|
|
154
168
|
onItemSelect(event.shiftKey ? _typeAhead.SelectItemMode.SHIFT_ENTER : _typeAhead.SelectItemMode.ENTER);
|
|
@@ -156,18 +170,41 @@ var InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
156
170
|
break;
|
|
157
171
|
case 'Tab':
|
|
158
172
|
if (selectedIndex === -1) {
|
|
173
|
+
if (useBetterTypeaheadNavigation) {
|
|
174
|
+
/**
|
|
175
|
+
* TODO DTR-1401: (also see ED-17200) There are two options
|
|
176
|
+
* here, either
|
|
177
|
+
* - set the index directly to 1 in WrapperTypeAhead.tsx's
|
|
178
|
+
* `insertSelectedItem` at the cost of breaking some of the a11y
|
|
179
|
+
* focus changes,
|
|
180
|
+
* - or do this jank at the cost of some small analytics noise.
|
|
181
|
+
*
|
|
182
|
+
*/
|
|
183
|
+
selectPreviousItem();
|
|
184
|
+
}
|
|
159
185
|
selectNextItem();
|
|
160
186
|
}
|
|
187
|
+
// TODO DTR-1401: why is this calling select item when hitting tab? fix this in DTR-1401
|
|
161
188
|
onItemSelect(_typeAhead.SelectItemMode.TAB);
|
|
162
189
|
break;
|
|
163
190
|
case 'ArrowDown':
|
|
164
|
-
if (
|
|
191
|
+
if (useBetterTypeaheadNavigation) {
|
|
165
192
|
selectNextItem();
|
|
193
|
+
} else {
|
|
194
|
+
// TODO DTR-1401: why were we preventing selection?
|
|
195
|
+
if (selectedIndex === -1) {
|
|
196
|
+
selectNextItem();
|
|
197
|
+
}
|
|
166
198
|
}
|
|
167
199
|
break;
|
|
168
200
|
case 'ArrowUp':
|
|
169
|
-
if (
|
|
201
|
+
if (useBetterTypeaheadNavigation) {
|
|
170
202
|
selectPreviousItem();
|
|
203
|
+
} else {
|
|
204
|
+
// TODO DTR-1401: why were we preventing selection?
|
|
205
|
+
if (selectedIndex === -1) {
|
|
206
|
+
selectPreviousItem();
|
|
207
|
+
}
|
|
171
208
|
}
|
|
172
209
|
break;
|
|
173
210
|
}
|
|
@@ -180,7 +217,7 @@ var InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
180
217
|
event.preventDefault();
|
|
181
218
|
return false;
|
|
182
219
|
}
|
|
183
|
-
}, [onUndoRedo, onItemSelect, selectNextItem, selectPreviousItem, cancel, cleanedInputContent, editorView.state]);
|
|
220
|
+
}, [useBetterTypeaheadNavigation, onUndoRedo, onItemSelect, selectNextItem, selectPreviousItem, cancel, cleanedInputContent, editorView.state]);
|
|
184
221
|
var onClick = (0, _react.useCallback)(function (event) {
|
|
185
222
|
var _inputRef$current;
|
|
186
223
|
event.stopPropagation();
|
|
@@ -185,6 +185,8 @@ var TypeAheadListComponent = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
|
185
185
|
selectPreviousItem();
|
|
186
186
|
event.preventDefault();
|
|
187
187
|
break;
|
|
188
|
+
|
|
189
|
+
// TODO DTR-1401: why is this calling item click when hitting tab? fix this in DTR-1401
|
|
188
190
|
case 'Tab':
|
|
189
191
|
//Tab key quick inserts the selected item.
|
|
190
192
|
onItemClick(_typeAhead.SelectItemMode.TAB, selectedIndex);
|
|
@@ -29,7 +29,8 @@ var WrapperTypeAhead = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
29
29
|
inputMethod = _ref.inputMethod,
|
|
30
30
|
getDecorationPosition = _ref.getDecorationPosition,
|
|
31
31
|
reopenQuery = _ref.reopenQuery,
|
|
32
|
-
onUndoRedo = _ref.onUndoRedo
|
|
32
|
+
onUndoRedo = _ref.onUndoRedo,
|
|
33
|
+
useBetterTypeaheadNavigation = _ref.useBetterTypeaheadNavigation;
|
|
33
34
|
var _useState = (0, _react.useState)(false),
|
|
34
35
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
35
36
|
closed = _useState2[0],
|
|
@@ -51,15 +52,17 @@ var WrapperTypeAhead = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
51
52
|
var selectNextItem = (0, _react.useMemo)(function () {
|
|
52
53
|
return (0, _utils.moveSelectedIndex)({
|
|
53
54
|
editorView: editorView,
|
|
54
|
-
direction: 'next'
|
|
55
|
+
direction: 'next',
|
|
56
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
55
57
|
});
|
|
56
|
-
}, [editorView]);
|
|
58
|
+
}, [editorView, useBetterTypeaheadNavigation]);
|
|
57
59
|
var selectPreviousItem = (0, _react.useMemo)(function () {
|
|
58
60
|
return (0, _utils.moveSelectedIndex)({
|
|
59
61
|
editorView: editorView,
|
|
60
|
-
direction: 'previous'
|
|
62
|
+
direction: 'previous',
|
|
63
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
61
64
|
});
|
|
62
|
-
}, [editorView]);
|
|
65
|
+
}, [editorView, useBetterTypeaheadNavigation]);
|
|
63
66
|
var cancel = (0, _react.useCallback)(function (_ref2) {
|
|
64
67
|
var setSelectionAt = _ref2.setSelectionAt,
|
|
65
68
|
addPrefixTrigger = _ref2.addPrefixTrigger,
|
|
@@ -110,6 +113,7 @@ var WrapperTypeAhead = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
110
113
|
return null;
|
|
111
114
|
}
|
|
112
115
|
return /*#__PURE__*/_react.default.createElement(_InputQuery.InputQuery, {
|
|
116
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation,
|
|
113
117
|
triggerQueryPrefix: triggerHandler.trigger,
|
|
114
118
|
onQueryChange: setQuery,
|
|
115
119
|
onItemSelect: insertSelectedItem,
|
|
@@ -65,7 +65,8 @@ var findHandlerByTrigger = function findHandlerByTrigger(_ref) {
|
|
|
65
65
|
exports.findHandlerByTrigger = findHandlerByTrigger;
|
|
66
66
|
var moveSelectedIndex = function moveSelectedIndex(_ref2) {
|
|
67
67
|
var editorView = _ref2.editorView,
|
|
68
|
-
direction = _ref2.direction
|
|
68
|
+
direction = _ref2.direction,
|
|
69
|
+
useBetterTypeaheadNavigation = _ref2.useBetterTypeaheadNavigation;
|
|
69
70
|
return function () {
|
|
70
71
|
var typeAheadState = getPluginState(editorView.state);
|
|
71
72
|
if (!typeAheadState) {
|
|
@@ -77,7 +78,26 @@ var moveSelectedIndex = function moveSelectedIndex(_ref2) {
|
|
|
77
78
|
var nextIndex;
|
|
78
79
|
if (direction === 'next') {
|
|
79
80
|
stats.increaseArrowDown();
|
|
80
|
-
|
|
81
|
+
if (useBetterTypeaheadNavigation) {
|
|
82
|
+
/**
|
|
83
|
+
* See: https://product-fabric.atlassian.net/browse/ED-17200
|
|
84
|
+
* `selectedIndex` is forced to -1 now to not immediately focus the typeahead
|
|
85
|
+
* and only do so when there is explicit logic to focus into the typeahead
|
|
86
|
+
* options.
|
|
87
|
+
*
|
|
88
|
+
* This check for "set index to 1 when -1"
|
|
89
|
+
* - is a temporary workaround to get back the previous behaviour without
|
|
90
|
+
* entirely reverting the a11y improvements
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
if (selectedIndex === -1 && items.length > 1) {
|
|
94
|
+
nextIndex = 1;
|
|
95
|
+
} else {
|
|
96
|
+
nextIndex = selectedIndex >= items.length - 1 ? 0 : selectedIndex + 1;
|
|
97
|
+
}
|
|
98
|
+
} else {
|
|
99
|
+
nextIndex = selectedIndex >= items.length - 1 ? 0 : selectedIndex + 1;
|
|
100
|
+
}
|
|
81
101
|
} else {
|
|
82
102
|
stats.increaseArrowUp();
|
|
83
103
|
nextIndex = selectedIndex <= 0 ? items.length - 1 : selectedIndex - 1;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.version = exports.nextMajorVersion = exports.name = void 0;
|
|
7
7
|
var name = "@atlaskit/editor-core";
|
|
8
8
|
exports.name = name;
|
|
9
|
-
var version = "181.0.
|
|
9
|
+
var version = "181.0.1";
|
|
10
10
|
exports.version = version;
|
|
11
11
|
var nextMajorVersion = function nextMajorVersion() {
|
|
12
12
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
package/dist/cjs/version.json
CHANGED
|
@@ -29,17 +29,22 @@ export function getScrollGutterOptions(props) {
|
|
|
29
29
|
return undefined;
|
|
30
30
|
}
|
|
31
31
|
export function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent) {
|
|
32
|
-
var _props$performanceTra, _props$linking, _props$performanceTra2, _props$textFormatting, _props$linking2;
|
|
32
|
+
var _props$performanceTra, _props$linking, _ref, _props$featureFlags$u, _props$featureFlags, _props$featureFlags2, _props$performanceTra2, _props$textFormatting, _props$linking2;
|
|
33
33
|
const appearance = props.appearance;
|
|
34
34
|
const isMobile = appearance === 'mobile';
|
|
35
35
|
const inputTracking = (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : _props$performanceTra.inputTracking;
|
|
36
36
|
const cardOptions = ((_props$linking = props.linking) === null || _props$linking === void 0 ? void 0 : _props$linking.smartLinks) || props.smartLinks || props.UNSAFE_cards;
|
|
37
|
+
|
|
38
|
+
// duplicated logic from `feature-flags-from-props.ts` due to presets not being finalised
|
|
39
|
+
const pseudoNormalisedUseBetterTypeaheadNavigation = (_ref = (_props$featureFlags$u = (_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags['use-better-typeahead-navigation']) !== null && _props$featureFlags$u !== void 0 ? _props$featureFlags$u : (_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2.useBetterTypeaheadNavigation) !== null && _ref !== void 0 ? _ref : null;
|
|
40
|
+
const useBetterTypeaheadNavigation = Boolean(typeof pseudoNormalisedUseBetterTypeaheadNavigation === 'boolean' ? !!pseudoNormalisedUseBetterTypeaheadNavigation : true);
|
|
37
41
|
return {
|
|
38
42
|
...props,
|
|
39
43
|
createAnalyticsEvent,
|
|
40
44
|
typeAhead: {
|
|
41
45
|
createAnalyticsEvent,
|
|
42
|
-
isMobile
|
|
46
|
+
isMobile,
|
|
47
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
43
48
|
},
|
|
44
49
|
featureFlags: createFeatureFlagsFromProps(props),
|
|
45
50
|
paste: {
|
|
@@ -21,9 +21,12 @@ function getSpellCheck(featureFlags) {
|
|
|
21
21
|
* which is used by both current and archv3 editors.
|
|
22
22
|
*/
|
|
23
23
|
export function createFeatureFlagsFromProps(props) {
|
|
24
|
-
var _props$featureFlags, _props$
|
|
24
|
+
var _props$featureFlags, _ref, _props$featureFlags$u, _props$featureFlags2, _props$featureFlags3, _props$allowLayouts, _props$performanceTra, _props$performanceTra2, _props$featureFlags4, _props$featureFlags5, _props$allowTables, _props$featureFlags6, _props$featureFlags7, _props$allowTables2, _props$featureFlags8, _props$featureFlags9, _props$allowTables3, _props$featureFlags10, _props$featureFlags11, _props$allowTables4, _props$allowTables5, _props$featureFlags12, _props$featureFlags13, _props$allowTables6, _props$allowExtension, _props$featureFlags14, _props$featureFlags15, _props$featureFlags16, _props$featureFlags17, _props$featureFlags18, _props$featureFlags19, _props$featureFlags20, _props$featureFlags21, _props$featureFlags22, _props$featureFlags23, _props$featureFlags24, _props$featureFlags25, _props$featureFlags26, _props$featureFlags27, _props$featureFlags28, _props$featureFlags29, _props$featureFlags30, _props$featureFlags31, _props$collabEdit, _props$collabEdit2, _props$featureFlags32, _props$featureFlags33, _props$featureFlags34, _props$featureFlags35, _props$featureFlags36, _props$featureFlags37, _props$featureFlags38, _props$featureFlags39, _props$featureFlags40, _props$featureFlags41, _props$featureFlags42, _props$featureFlags43, _props$featureFlags44, _props$featureFlags45, _props$featureFlags46, _props$featureFlags47;
|
|
25
25
|
const normalizedFeatureFlags = normalizeFeatureFlags(props.featureFlags);
|
|
26
26
|
const tableCellOptionsInFloatingToolbar = normalizedFeatureFlags.tableCellOptionsInFloatingToolbar || ((_props$featureFlags = props.featureFlags) === null || _props$featureFlags === void 0 ? void 0 : _props$featureFlags.tableCellOptionsInFloatingToolbar) || undefined;
|
|
27
|
+
|
|
28
|
+
// duplicated logic from `feature-flags-from-props.ts` due to presets not being finalised
|
|
29
|
+
const pseudoNormalisedUseBetterTypeaheadNavigation = (_ref = (_props$featureFlags$u = (_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2['use-better-typeahead-navigation']) !== null && _props$featureFlags$u !== void 0 ? _props$featureFlags$u : (_props$featureFlags3 = props.featureFlags) === null || _props$featureFlags3 === void 0 ? void 0 : _props$featureFlags3.useBetterTypeaheadNavigation) !== null && _ref !== void 0 ? _ref : null;
|
|
27
30
|
return {
|
|
28
31
|
...normalizedFeatureFlags,
|
|
29
32
|
newInsertionBehaviour: props.allowNewInsertionBehaviour,
|
|
@@ -35,37 +38,39 @@ export function createFeatureFlagsFromProps(props) {
|
|
|
35
38
|
singleLayout: typeof props.allowLayouts === 'object' && !!((_props$allowLayouts = props.allowLayouts) !== null && _props$allowLayouts !== void 0 && _props$allowLayouts.UNSAFE_allowSingleColumnLayout),
|
|
36
39
|
undoRedoButtons: props.allowUndoRedoButtons,
|
|
37
40
|
catchAllTracking: (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : (_props$performanceTra2 = _props$performanceTra.catchAllTracking) === null || _props$performanceTra2 === void 0 ? void 0 : _props$performanceTra2.enabled,
|
|
38
|
-
stickyHeadersOptimization: typeof ((_props$
|
|
39
|
-
initialRenderOptimization: typeof ((_props$
|
|
40
|
-
mouseMoveOptimization: typeof ((_props$
|
|
41
|
-
tableRenderOptimization: typeof ((_props$
|
|
42
|
-
tableOverflowShadowsOptimization: typeof ((_props$
|
|
41
|
+
stickyHeadersOptimization: typeof ((_props$featureFlags4 = props.featureFlags) === null || _props$featureFlags4 === void 0 ? void 0 : _props$featureFlags4.stickyHeadersOptimization) === 'boolean' ? !!((_props$featureFlags5 = props.featureFlags) !== null && _props$featureFlags5 !== void 0 && _props$featureFlags5.stickyHeadersOptimization) : typeof props.allowTables === 'object' && !!((_props$allowTables = props.allowTables) !== null && _props$allowTables !== void 0 && _props$allowTables.stickyHeadersOptimization),
|
|
42
|
+
initialRenderOptimization: typeof ((_props$featureFlags6 = props.featureFlags) === null || _props$featureFlags6 === void 0 ? void 0 : _props$featureFlags6.initialRenderOptimization) === 'boolean' ? !!((_props$featureFlags7 = props.featureFlags) !== null && _props$featureFlags7 !== void 0 && _props$featureFlags7.initialRenderOptimization) : typeof props.allowTables === 'object' && !!((_props$allowTables2 = props.allowTables) !== null && _props$allowTables2 !== void 0 && _props$allowTables2.initialRenderOptimization),
|
|
43
|
+
mouseMoveOptimization: typeof ((_props$featureFlags8 = props.featureFlags) === null || _props$featureFlags8 === void 0 ? void 0 : _props$featureFlags8.mouseMoveOptimization) === 'boolean' ? !!((_props$featureFlags9 = props.featureFlags) !== null && _props$featureFlags9 !== void 0 && _props$featureFlags9.mouseMoveOptimization) : typeof props.allowTables === 'object' && !!((_props$allowTables3 = props.allowTables) !== null && _props$allowTables3 !== void 0 && _props$allowTables3.mouseMoveOptimization),
|
|
44
|
+
tableRenderOptimization: typeof ((_props$featureFlags10 = props.featureFlags) === null || _props$featureFlags10 === void 0 ? void 0 : _props$featureFlags10.tableRenderOptimization) === 'boolean' ? !!((_props$featureFlags11 = props.featureFlags) !== null && _props$featureFlags11 !== void 0 && _props$featureFlags11.tableRenderOptimization) : typeof props.allowTables === 'object' && typeof ((_props$allowTables4 = props.allowTables) === null || _props$allowTables4 === void 0 ? void 0 : _props$allowTables4.tableRenderOptimization) === 'boolean' ? (_props$allowTables5 = props.allowTables) === null || _props$allowTables5 === void 0 ? void 0 : _props$allowTables5.tableRenderOptimization : true,
|
|
45
|
+
tableOverflowShadowsOptimization: typeof ((_props$featureFlags12 = props.featureFlags) === null || _props$featureFlags12 === void 0 ? void 0 : _props$featureFlags12.tableOverflowShadowsOptimization) === 'boolean' ? !!((_props$featureFlags13 = props.featureFlags) !== null && _props$featureFlags13 !== void 0 && _props$featureFlags13.tableOverflowShadowsOptimization) : typeof props.allowTables === 'object' && !!((_props$allowTables6 = props.allowTables) !== null && _props$allowTables6 !== void 0 && _props$allowTables6.tableOverflowShadowsOptimization),
|
|
43
46
|
extendFloatingToolbar: Boolean(typeof props.allowExtension === 'object' && ((_props$allowExtension = props.allowExtension) === null || _props$allowExtension === void 0 ? void 0 : _props$allowExtension.allowExtendFloatingToolbars)),
|
|
44
|
-
showAvatarGroupAsPlugin: Boolean(typeof ((_props$
|
|
45
|
-
errorBoundaryDocStructure: Boolean(typeof ((_props$
|
|
46
|
-
synchronyErrorDocStructure: Boolean(typeof ((_props$
|
|
47
|
-
enableViewUpdateSubscription: Boolean(typeof ((_props$
|
|
48
|
-
collabAvatarScroll: Boolean(typeof ((_props$
|
|
49
|
-
ufo: Boolean(typeof ((_props$
|
|
50
|
-
twoLineEditorToolbar: Boolean(typeof ((_props$
|
|
51
|
-
saferDispatchedTransactions: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactions === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactions || (typeof ((_props$
|
|
52
|
-
saferDispatchedTransactionsAnalyticsOnly: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly || (typeof ((_props$
|
|
47
|
+
showAvatarGroupAsPlugin: Boolean(typeof ((_props$featureFlags14 = props.featureFlags) === null || _props$featureFlags14 === void 0 ? void 0 : _props$featureFlags14.showAvatarGroupAsPlugin) === 'boolean' ? !!((_props$featureFlags15 = props.featureFlags) !== null && _props$featureFlags15 !== void 0 && _props$featureFlags15.showAvatarGroupAsPlugin) : false),
|
|
48
|
+
errorBoundaryDocStructure: Boolean(typeof ((_props$featureFlags16 = props.featureFlags) === null || _props$featureFlags16 === void 0 ? void 0 : _props$featureFlags16.useErrorBoundaryDocStructure) === 'boolean' ? !!((_props$featureFlags17 = props.featureFlags) !== null && _props$featureFlags17 !== void 0 && _props$featureFlags17.useErrorBoundaryDocStructure) : false),
|
|
49
|
+
synchronyErrorDocStructure: Boolean(typeof ((_props$featureFlags18 = props.featureFlags) === null || _props$featureFlags18 === void 0 ? void 0 : _props$featureFlags18.synchronyErrorDocStructure) === 'boolean' ? !!((_props$featureFlags19 = props.featureFlags) !== null && _props$featureFlags19 !== void 0 && _props$featureFlags19.synchronyErrorDocStructure) : false),
|
|
50
|
+
enableViewUpdateSubscription: Boolean(typeof ((_props$featureFlags20 = props.featureFlags) === null || _props$featureFlags20 === void 0 ? void 0 : _props$featureFlags20.enableViewUpdateSubscription) === 'boolean' ? !!((_props$featureFlags21 = props.featureFlags) !== null && _props$featureFlags21 !== void 0 && _props$featureFlags21.enableViewUpdateSubscription) : false),
|
|
51
|
+
collabAvatarScroll: Boolean(typeof ((_props$featureFlags22 = props.featureFlags) === null || _props$featureFlags22 === void 0 ? void 0 : _props$featureFlags22.collabAvatarScroll) === 'boolean' ? !!((_props$featureFlags23 = props.featureFlags) !== null && _props$featureFlags23 !== void 0 && _props$featureFlags23.collabAvatarScroll) : false),
|
|
52
|
+
ufo: Boolean(typeof ((_props$featureFlags24 = props.featureFlags) === null || _props$featureFlags24 === void 0 ? void 0 : _props$featureFlags24.ufo) === 'boolean' ? !!((_props$featureFlags25 = props.featureFlags) !== null && _props$featureFlags25 !== void 0 && _props$featureFlags25.ufo) : false),
|
|
53
|
+
twoLineEditorToolbar: Boolean(typeof ((_props$featureFlags26 = props.featureFlags) === null || _props$featureFlags26 === void 0 ? void 0 : _props$featureFlags26.twoLineEditorToolbar) === 'boolean' ? !!((_props$featureFlags27 = props.featureFlags) !== null && _props$featureFlags27 !== void 0 && _props$featureFlags27.twoLineEditorToolbar) : false),
|
|
54
|
+
saferDispatchedTransactions: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactions === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactions || (typeof ((_props$featureFlags28 = props.featureFlags) === null || _props$featureFlags28 === void 0 ? void 0 : _props$featureFlags28.saferDispatchedTransactions) === 'boolean' ? !!((_props$featureFlags29 = props.featureFlags) !== null && _props$featureFlags29 !== void 0 && _props$featureFlags29.saferDispatchedTransactions) : false)),
|
|
55
|
+
saferDispatchedTransactionsAnalyticsOnly: Boolean(typeof normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly === 'boolean' && !!normalizedFeatureFlags.saferDispatchedTransactionsAnalyticsOnly || (typeof ((_props$featureFlags30 = props.featureFlags) === null || _props$featureFlags30 === void 0 ? void 0 : _props$featureFlags30.saferDispatchedTransactionsAnalyticsOnly) === 'boolean' ? !!((_props$featureFlags31 = props.featureFlags) !== null && _props$featureFlags31 !== void 0 && _props$featureFlags31.saferDispatchedTransactionsAnalyticsOnly) : false)),
|
|
53
56
|
useNativeCollabPlugin: Boolean(typeof ((_props$collabEdit = props.collabEdit) === null || _props$collabEdit === void 0 ? void 0 : _props$collabEdit.useNativePlugin) === 'boolean' ? !!((_props$collabEdit2 = props.collabEdit) !== null && _props$collabEdit2 !== void 0 && _props$collabEdit2.useNativePlugin) : false),
|
|
54
|
-
chromeCursorHandlerFixedVersion: typeof ((_props$
|
|
57
|
+
chromeCursorHandlerFixedVersion: typeof ((_props$featureFlags32 = props.featureFlags) === null || _props$featureFlags32 === void 0 ? void 0 : _props$featureFlags32.chromeCursorHandlerFixedVersion) === 'string' ? Number(props.featureFlags.chromeCursorHandlerFixedVersion) || undefined : undefined,
|
|
55
58
|
tableCellOptionsInFloatingToolbar: typeof tableCellOptionsInFloatingToolbar === 'boolean' ? tableCellOptionsInFloatingToolbar : false,
|
|
56
|
-
showHoverPreview: Boolean(typeof ((_props$
|
|
57
|
-
indentationButtonsInTheToolbar: Boolean(typeof normalizedFeatureFlags.indentationButtonsInTheToolbar === 'boolean' && !!normalizedFeatureFlags.indentationButtonsInTheToolbar || (typeof ((_props$
|
|
58
|
-
floatingToolbarCopyButton: Boolean(typeof normalizedFeatureFlags.floatingToolbarCopyButton === 'boolean' && !!normalizedFeatureFlags.floatingToolbarCopyButton || (typeof ((_props$
|
|
59
|
-
floatingToolbarLinkSettingsButton: typeof ((_props$
|
|
59
|
+
showHoverPreview: Boolean(typeof ((_props$featureFlags33 = props.featureFlags) === null || _props$featureFlags33 === void 0 ? void 0 : _props$featureFlags33.showHoverPreview) === 'boolean' ? !!((_props$featureFlags34 = props.featureFlags) !== null && _props$featureFlags34 !== void 0 && _props$featureFlags34.showHoverPreview) : false),
|
|
60
|
+
indentationButtonsInTheToolbar: Boolean(typeof normalizedFeatureFlags.indentationButtonsInTheToolbar === 'boolean' && !!normalizedFeatureFlags.indentationButtonsInTheToolbar || (typeof ((_props$featureFlags35 = props.featureFlags) === null || _props$featureFlags35 === void 0 ? void 0 : _props$featureFlags35.indentationButtonsInTheToolbar) === 'boolean' ? !!((_props$featureFlags36 = props.featureFlags) !== null && _props$featureFlags36 !== void 0 && _props$featureFlags36.indentationButtonsInTheToolbar) : false)),
|
|
61
|
+
floatingToolbarCopyButton: Boolean(typeof normalizedFeatureFlags.floatingToolbarCopyButton === 'boolean' && !!normalizedFeatureFlags.floatingToolbarCopyButton || (typeof ((_props$featureFlags37 = props.featureFlags) === null || _props$featureFlags37 === void 0 ? void 0 : _props$featureFlags37.floatingToolbarCopyButton) === 'boolean' ? !!((_props$featureFlags38 = props.featureFlags) !== null && _props$featureFlags38 !== void 0 && _props$featureFlags38.floatingToolbarCopyButton) : false)),
|
|
62
|
+
floatingToolbarLinkSettingsButton: typeof ((_props$featureFlags39 = props.featureFlags) === null || _props$featureFlags39 === void 0 ? void 0 : _props$featureFlags39['floating-toolbar-link-settings-button']) === 'string' ? props.featureFlags['floating-toolbar-link-settings-button'] || undefined : undefined,
|
|
60
63
|
disableSpellcheckByBrowser: getSpellCheck(props.featureFlags),
|
|
61
64
|
// Including fallback to props.featureFlags so that mobile feature flags
|
|
62
65
|
// are included (they are not kebab cased)
|
|
63
|
-
restartNumberedLists: normalizedFeatureFlags.restartNumberedLists === true || ((_props$
|
|
64
|
-
listNumberContinuity: normalizedFeatureFlags.listNumberContinuity === true || ((_props$
|
|
65
|
-
restartNumberedListsToolbar: normalizedFeatureFlags.restartNumberedListsToolbar === true || ((_props$
|
|
66
|
-
useSomewhatSemanticTextColorNames: Boolean(typeof normalizedFeatureFlags.useSomewhatSemanticTextColorNames === 'boolean' && !!normalizedFeatureFlags.useSomewhatSemanticTextColorNames || (typeof ((_props$
|
|
66
|
+
restartNumberedLists: normalizedFeatureFlags.restartNumberedLists === true || ((_props$featureFlags40 = props.featureFlags) === null || _props$featureFlags40 === void 0 ? void 0 : _props$featureFlags40.restartNumberedLists) === true,
|
|
67
|
+
listNumberContinuity: normalizedFeatureFlags.listNumberContinuity === true || ((_props$featureFlags41 = props.featureFlags) === null || _props$featureFlags41 === void 0 ? void 0 : _props$featureFlags41.listNumberContinuity) === true,
|
|
68
|
+
restartNumberedListsToolbar: normalizedFeatureFlags.restartNumberedListsToolbar === true || ((_props$featureFlags42 = props.featureFlags) === null || _props$featureFlags42 === void 0 ? void 0 : _props$featureFlags42.restartNumberedListsToolbar) === true,
|
|
69
|
+
useSomewhatSemanticTextColorNames: Boolean(typeof normalizedFeatureFlags.useSomewhatSemanticTextColorNames === 'boolean' && !!normalizedFeatureFlags.useSomewhatSemanticTextColorNames || (typeof ((_props$featureFlags43 = props.featureFlags) === null || _props$featureFlags43 === void 0 ? void 0 : _props$featureFlags43.useSomewhatSemanticTextColorNames) === 'boolean' ? !!((_props$featureFlags44 = props.featureFlags) !== null && _props$featureFlags44 !== void 0 && _props$featureFlags44.useSomewhatSemanticTextColorNames) : false)),
|
|
67
70
|
lpLinkPickerFocusTrap: Boolean(normalizedFeatureFlags.lpLinkPickerFocusTrap),
|
|
68
|
-
preventPopupOverflow: Boolean(typeof ((_props$
|
|
69
|
-
useEditorNext: normalizedFeatureFlags.useEditorNext === true || ((_props$
|
|
71
|
+
preventPopupOverflow: Boolean(typeof ((_props$featureFlags45 = props.featureFlags) === null || _props$featureFlags45 === void 0 ? void 0 : _props$featureFlags45['prevent-popup-overflow']) === 'boolean' ? !!((_props$featureFlags46 = props.featureFlags) !== null && _props$featureFlags46 !== void 0 && _props$featureFlags46['prevent-popup-overflow']) : false),
|
|
72
|
+
useEditorNext: normalizedFeatureFlags.useEditorNext === true || ((_props$featureFlags47 = props.featureFlags) === null || _props$featureFlags47 === void 0 ? void 0 : _props$featureFlags47.useEditorNext) === true,
|
|
73
|
+
// duplicated logic from `create-plugins-list.ts` due to presets not being finalised
|
|
74
|
+
useBetterTypeaheadNavigation: Boolean(typeof pseudoNormalisedUseBetterTypeaheadNavigation === 'boolean' ? !!pseudoNormalisedUseBetterTypeaheadNavigation : true)
|
|
70
75
|
};
|
|
71
76
|
}
|
|
@@ -111,6 +111,8 @@ const TypeAheadMenu = /*#__PURE__*/React.memo(({
|
|
|
111
111
|
*
|
|
112
112
|
*/
|
|
113
113
|
const typeAheadPlugin = options => {
|
|
114
|
+
var _options$useBetterTyp;
|
|
115
|
+
const useBetterTypeaheadNavigation = (_options$useBetterTyp = options === null || options === void 0 ? void 0 : options.useBetterTypeaheadNavigation) !== null && _options$useBetterTyp !== void 0 ? _options$useBetterTyp : true;
|
|
114
116
|
const fireAnalyticsCallback = fireAnalyticsEvent(options === null || options === void 0 ? void 0 : options.createAnalyticsEvent);
|
|
115
117
|
const popupMountRef = {
|
|
116
118
|
current: null
|
|
@@ -136,7 +138,8 @@ const typeAheadPlugin = options => {
|
|
|
136
138
|
popupMountRef,
|
|
137
139
|
reactDispatch: dispatch,
|
|
138
140
|
typeAheadHandlers: typeAhead,
|
|
139
|
-
createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent
|
|
141
|
+
createAnalyticsEvent: options === null || options === void 0 ? void 0 : options.createAnalyticsEvent,
|
|
142
|
+
useBetterTypeaheadNavigation
|
|
140
143
|
})
|
|
141
144
|
}, {
|
|
142
145
|
name: 'typeAheadInsertItem',
|
|
@@ -15,7 +15,8 @@ import { closeTypeAhead } from '../transforms/close-type-ahead';
|
|
|
15
15
|
export const factoryDecorations = ({
|
|
16
16
|
intl,
|
|
17
17
|
popupMountRef,
|
|
18
|
-
createAnalyticsEvent
|
|
18
|
+
createAnalyticsEvent,
|
|
19
|
+
useBetterTypeaheadNavigation
|
|
19
20
|
}) => {
|
|
20
21
|
const createDecorations = (tr, {
|
|
21
22
|
triggerHandler,
|
|
@@ -93,7 +94,8 @@ export const factoryDecorations = ({
|
|
|
93
94
|
popupsBoundariesElement: (_popupMountRef$curren2 = popupMountRef.current) === null || _popupMountRef$curren2 === void 0 ? void 0 : _popupMountRef$curren2.popupsBoundariesElement,
|
|
94
95
|
popupsScrollableElement: (_popupMountRef$curren3 = popupMountRef.current) === null || _popupMountRef$curren3 === void 0 ? void 0 : _popupMountRef$curren3.popupsScrollableElement,
|
|
95
96
|
onUndoRedo: onUndoRedo,
|
|
96
|
-
reopenQuery: reopenQuery
|
|
97
|
+
reopenQuery: reopenQuery,
|
|
98
|
+
useBetterTypeaheadNavigation: useBetterTypeaheadNavigation
|
|
97
99
|
})), typeaheadComponent);
|
|
98
100
|
shouldFocusCursorInsideQuery = false;
|
|
99
101
|
return typeaheadComponent;
|