@atlaskit/editor-common 99.6.1 → 99.7.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 +24 -0
- package/dist/cjs/i18n/cs.js +5 -0
- package/dist/cjs/i18n/da.js +5 -0
- package/dist/cjs/i18n/de.js +6 -0
- package/dist/cjs/i18n/en.js +80 -0
- package/dist/cjs/i18n/en_GB.js +80 -0
- package/dist/cjs/i18n/en_ZZ.js +80 -0
- package/dist/cjs/i18n/es.js +10 -0
- package/dist/cjs/i18n/fi.js +5 -0
- package/dist/cjs/i18n/fr.js +6 -0
- package/dist/cjs/i18n/hu.js +6 -0
- package/dist/cjs/i18n/it.js +5 -0
- package/dist/cjs/i18n/ja.js +5 -0
- package/dist/cjs/i18n/ko.js +5 -0
- package/dist/cjs/i18n/nb.js +5 -0
- package/dist/cjs/i18n/nl.js +5 -0
- package/dist/cjs/i18n/pl.js +6 -0
- package/dist/cjs/i18n/pt_BR.js +5 -0
- package/dist/cjs/i18n/ru.js +9 -0
- package/dist/cjs/i18n/sv.js +5 -0
- package/dist/cjs/i18n/th.js +5 -0
- package/dist/cjs/i18n/tr.js +5 -0
- package/dist/cjs/i18n/uk.js +9 -0
- package/dist/cjs/i18n/vi.js +6 -0
- package/dist/cjs/i18n/zh.js +5 -0
- package/dist/cjs/i18n/zh_TW.js +5 -0
- package/dist/cjs/link/LinkSearch/index.js +1 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/node-width/index.js +41 -4
- package/dist/cjs/react-node-view/getInlineNodeViewProducer.js +75 -19
- package/dist/cjs/react-node-view/onVisibleObserverFactory.js +48 -0
- package/dist/cjs/safe-plugin/index.js +1 -2
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/WithCreateAnalyticsEvent/index.js +1 -0
- package/dist/cjs/utils/compare-props.js +2 -2
- package/dist/cjs/utils/compareNodes.js +2 -2
- package/dist/cjs/utils/filter/privacy-filter.js +3 -3
- package/dist/cjs/utils/index.js +6 -6
- package/dist/cjs/utils/performance/measure-tti.js +3 -3
- package/dist/cjs/utils/track-unsupported-content.js +2 -2
- package/dist/cjs/utils/validator.js +3 -3
- package/dist/cjs/with-plugin-state/index.js +1 -0
- package/dist/es2019/i18n/cs.js +5 -0
- package/dist/es2019/i18n/da.js +5 -0
- package/dist/es2019/i18n/de.js +6 -0
- package/dist/es2019/i18n/en.js +80 -0
- package/dist/es2019/i18n/en_GB.js +80 -0
- package/dist/es2019/i18n/en_ZZ.js +80 -0
- package/dist/es2019/i18n/es.js +10 -0
- package/dist/es2019/i18n/fi.js +5 -0
- package/dist/es2019/i18n/fr.js +6 -0
- package/dist/es2019/i18n/hu.js +6 -0
- package/dist/es2019/i18n/it.js +5 -0
- package/dist/es2019/i18n/ja.js +5 -0
- package/dist/es2019/i18n/ko.js +5 -0
- package/dist/es2019/i18n/nb.js +5 -0
- package/dist/es2019/i18n/nl.js +5 -0
- package/dist/es2019/i18n/pl.js +6 -0
- package/dist/es2019/i18n/pt_BR.js +5 -0
- package/dist/es2019/i18n/ru.js +9 -0
- package/dist/es2019/i18n/sv.js +5 -0
- package/dist/es2019/i18n/th.js +5 -0
- package/dist/es2019/i18n/tr.js +5 -0
- package/dist/es2019/i18n/uk.js +9 -0
- package/dist/es2019/i18n/vi.js +6 -0
- package/dist/es2019/i18n/zh.js +5 -0
- package/dist/es2019/i18n/zh_TW.js +5 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/node-width/index.js +39 -4
- package/dist/es2019/react-node-view/getInlineNodeViewProducer.js +79 -20
- package/dist/es2019/react-node-view/onVisibleObserverFactory.js +31 -0
- package/dist/es2019/safe-plugin/index.js +1 -2
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/esm/i18n/cs.js +5 -0
- package/dist/esm/i18n/da.js +5 -0
- package/dist/esm/i18n/de.js +6 -0
- package/dist/esm/i18n/en.js +80 -0
- package/dist/esm/i18n/en_GB.js +80 -0
- package/dist/esm/i18n/en_ZZ.js +80 -0
- package/dist/esm/i18n/es.js +10 -0
- package/dist/esm/i18n/fi.js +5 -0
- package/dist/esm/i18n/fr.js +6 -0
- package/dist/esm/i18n/hu.js +6 -0
- package/dist/esm/i18n/it.js +5 -0
- package/dist/esm/i18n/ja.js +5 -0
- package/dist/esm/i18n/ko.js +5 -0
- package/dist/esm/i18n/nb.js +5 -0
- package/dist/esm/i18n/nl.js +5 -0
- package/dist/esm/i18n/pl.js +6 -0
- package/dist/esm/i18n/pt_BR.js +5 -0
- package/dist/esm/i18n/ru.js +9 -0
- package/dist/esm/i18n/sv.js +5 -0
- package/dist/esm/i18n/th.js +5 -0
- package/dist/esm/i18n/tr.js +5 -0
- package/dist/esm/i18n/uk.js +9 -0
- package/dist/esm/i18n/vi.js +6 -0
- package/dist/esm/i18n/zh.js +5 -0
- package/dist/esm/i18n/zh_TW.js +5 -0
- package/dist/esm/link/LinkSearch/index.js +1 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/node-width/index.js +41 -4
- package/dist/esm/react-node-view/getInlineNodeViewProducer.js +75 -19
- package/dist/esm/react-node-view/onVisibleObserverFactory.js +41 -0
- package/dist/esm/safe-plugin/index.js +1 -2
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/WithCreateAnalyticsEvent/index.js +1 -0
- package/dist/esm/utils/compare-props.js +3 -2
- package/dist/esm/utils/compareNodes.js +2 -2
- package/dist/esm/utils/filter/privacy-filter.js +3 -3
- package/dist/esm/utils/index.js +6 -6
- package/dist/esm/utils/performance/measure-tti.js +3 -3
- package/dist/esm/utils/track-unsupported-content.js +3 -2
- package/dist/esm/utils/validator.js +3 -3
- package/dist/esm/with-plugin-state/index.js +1 -0
- package/dist/types/i18n/cs.d.ts +5 -0
- package/dist/types/i18n/da.d.ts +5 -0
- package/dist/types/i18n/de.d.ts +6 -0
- package/dist/types/i18n/en.d.ts +80 -0
- package/dist/types/i18n/en_GB.d.ts +80 -0
- package/dist/types/i18n/en_ZZ.d.ts +80 -0
- package/dist/types/i18n/es.d.ts +10 -0
- package/dist/types/i18n/fi.d.ts +5 -0
- package/dist/types/i18n/fr.d.ts +6 -0
- package/dist/types/i18n/hu.d.ts +6 -0
- package/dist/types/i18n/it.d.ts +5 -0
- package/dist/types/i18n/ja.d.ts +5 -0
- package/dist/types/i18n/ko.d.ts +5 -0
- package/dist/types/i18n/nb.d.ts +5 -0
- package/dist/types/i18n/nl.d.ts +5 -0
- package/dist/types/i18n/pl.d.ts +6 -0
- package/dist/types/i18n/pt_BR.d.ts +5 -0
- package/dist/types/i18n/ru.d.ts +9 -0
- package/dist/types/i18n/sv.d.ts +5 -0
- package/dist/types/i18n/th.d.ts +5 -0
- package/dist/types/i18n/tr.d.ts +5 -0
- package/dist/types/i18n/uk.d.ts +9 -0
- package/dist/types/i18n/vi.d.ts +6 -0
- package/dist/types/i18n/zh.d.ts +5 -0
- package/dist/types/i18n/zh_TW.d.ts +5 -0
- package/dist/types/react-node-view/onVisibleObserverFactory.d.ts +8 -0
- package/dist/types-ts4.5/i18n/cs.d.ts +5 -0
- package/dist/types-ts4.5/i18n/da.d.ts +5 -0
- package/dist/types-ts4.5/i18n/de.d.ts +6 -0
- package/dist/types-ts4.5/i18n/en.d.ts +80 -0
- package/dist/types-ts4.5/i18n/en_GB.d.ts +80 -0
- package/dist/types-ts4.5/i18n/en_ZZ.d.ts +80 -0
- package/dist/types-ts4.5/i18n/es.d.ts +10 -0
- package/dist/types-ts4.5/i18n/fi.d.ts +5 -0
- package/dist/types-ts4.5/i18n/fr.d.ts +6 -0
- package/dist/types-ts4.5/i18n/hu.d.ts +6 -0
- package/dist/types-ts4.5/i18n/it.d.ts +5 -0
- package/dist/types-ts4.5/i18n/ja.d.ts +5 -0
- package/dist/types-ts4.5/i18n/ko.d.ts +5 -0
- package/dist/types-ts4.5/i18n/nb.d.ts +5 -0
- package/dist/types-ts4.5/i18n/nl.d.ts +5 -0
- package/dist/types-ts4.5/i18n/pl.d.ts +6 -0
- package/dist/types-ts4.5/i18n/pt_BR.d.ts +5 -0
- package/dist/types-ts4.5/i18n/ru.d.ts +9 -0
- package/dist/types-ts4.5/i18n/sv.d.ts +5 -0
- package/dist/types-ts4.5/i18n/th.d.ts +5 -0
- package/dist/types-ts4.5/i18n/tr.d.ts +5 -0
- package/dist/types-ts4.5/i18n/uk.d.ts +9 -0
- package/dist/types-ts4.5/i18n/vi.d.ts +6 -0
- package/dist/types-ts4.5/i18n/zh.d.ts +5 -0
- package/dist/types-ts4.5/i18n/zh_TW.d.ts +5 -0
- package/dist/types-ts4.5/react-node-view/onVisibleObserverFactory.d.ts +8 -0
- package/package.json +13 -10
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { findParentNodeOfTypeClosestToPos } from '@atlaskit/editor-prosemirror/utils';
|
|
2
2
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorWideLayoutWidth, akLayoutGutterOffset, gridMediumMaxWidth } from '@atlaskit/editor-shared-styles';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
4
|
import { BODIED_EXT_PADDING } from '../styles/shared/extension';
|
|
4
5
|
import { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '../styles/shared/layout';
|
|
6
|
+
import { tableCellPadding } from '../styles/shared/table';
|
|
5
7
|
import { absoluteBreakoutWidth } from '../utils/breakout';
|
|
6
8
|
const GRID_SIZE = 8;
|
|
7
9
|
export const layoutToWidth = {
|
|
@@ -46,7 +48,7 @@ export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEn
|
|
|
46
48
|
return state['contextPanelPluginKey$'];
|
|
47
49
|
}
|
|
48
50
|
};
|
|
49
|
-
if (node.type === schema.nodes.layoutSection) {
|
|
51
|
+
if (node.type === schema.nodes.layoutSection && !fg('platform_editor_nested_tables_resizing')) {
|
|
50
52
|
var _contextPanelPluginKe, _contextPanelPluginKe2;
|
|
51
53
|
parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
|
|
52
54
|
|
|
@@ -63,10 +65,27 @@ export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEn
|
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
// account for the padding of the parent node
|
|
68
68
|
switch (node.type) {
|
|
69
69
|
case schema.nodes.layoutSection:
|
|
70
|
+
if (fg('platform_editor_nested_tables_resizing')) {
|
|
71
|
+
var _contextPanelPluginKe3, _contextPanelPluginKe4;
|
|
72
|
+
parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
|
|
73
|
+
|
|
74
|
+
// Calculate width of parent layout column when
|
|
75
|
+
// Parallel layout with viewport greater than 1024px
|
|
76
|
+
// OR side panel of an extension is open and change the node width to smaller than containerWidth
|
|
77
|
+
if (containerWidth.width > gridMediumMaxWidth || ((_contextPanelPluginKe3 = contextPanelPluginKey.getState(state)) === null || _contextPanelPluginKe3 === void 0 ? void 0 : _contextPanelPluginKe3.contents.length) > 0 && ((_contextPanelPluginKe4 = contextPanelPluginKey.getState(state)) === null || _contextPanelPluginKe4 === void 0 ? void 0 : _contextPanelPluginKe4.contents[0]) !== undefined) {
|
|
78
|
+
parentWidth -= (LAYOUT_SECTION_MARGIN + 2) * (node.childCount - 1); // margin between sections
|
|
79
|
+
const $pos = state.doc.resolve(pos);
|
|
80
|
+
const column = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.layoutColumn]);
|
|
81
|
+
if (column && column.node && !isNaN(column.node.attrs.width)) {
|
|
82
|
+
// get exact width of parent layout column using node attrs
|
|
83
|
+
parentWidth = Math.round(parentWidth * column.node.attrs.width * 0.01);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// account for the padding of the parent node
|
|
70
89
|
parentWidth -= LAYOUT_COLUMN_PADDING * 2;
|
|
71
90
|
break;
|
|
72
91
|
case schema.nodes.bodiedExtension:
|
|
@@ -85,6 +104,17 @@ export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEn
|
|
|
85
104
|
// padding left
|
|
86
105
|
parentWidth -= GRID_SIZE * 4 - GRID_SIZE / 2;
|
|
87
106
|
break;
|
|
107
|
+
case schema.nodes.tableCell:
|
|
108
|
+
case schema.nodes.tableHeader:
|
|
109
|
+
if (fg('platform_editor_nested_tables_resizing')) {
|
|
110
|
+
// Calculate the available column width
|
|
111
|
+
if (Array.isArray(node.attrs.colwidth)) {
|
|
112
|
+
parentWidth = node.attrs.colwidth.slice(0, node.attrs.colspan).reduce((sum, width) => sum + width, 0);
|
|
113
|
+
}
|
|
114
|
+
// Compensate for padding
|
|
115
|
+
parentWidth -= tableCellPadding * 2;
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
88
118
|
}
|
|
89
119
|
parentWidth -= 2; // border
|
|
90
120
|
|
|
@@ -95,7 +125,12 @@ const getNestedParentNode = (tablePos, state) => {
|
|
|
95
125
|
return null;
|
|
96
126
|
}
|
|
97
127
|
const $pos = state.doc.resolve(tablePos);
|
|
98
|
-
|
|
128
|
+
let parent;
|
|
129
|
+
if (fg('platform_editor_nested_tables_resizing')) {
|
|
130
|
+
parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.extensionFrame, state.schema.nodes.layoutSection, state.schema.nodes.expand, state.schema.nodes.tableCell, state.schema.nodes.tableHeader]);
|
|
131
|
+
} else {
|
|
132
|
+
parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.extensionFrame, state.schema.nodes.layoutSection, state.schema.nodes.expand]);
|
|
133
|
+
}
|
|
99
134
|
return parent ? parent.node : null;
|
|
100
135
|
};
|
|
101
136
|
const calcBreakoutNodeWidth = (layout, containerWidth, isFullWidthModeEnabled) => {
|
|
@@ -7,12 +7,18 @@ import React from 'react';
|
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
9
9
|
import { jsx } from '@emotion/react';
|
|
10
|
+
import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
|
|
11
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
12
|
import { ACTION_SUBJECT, ACTION_SUBJECT_ID } from '../analytics';
|
|
11
13
|
import { ErrorBoundary } from '../ui/ErrorBoundary';
|
|
12
14
|
import { analyticsEventKey, browser, getPerformanceOptions, startMeasureReactNodeViewRendered, stopMeasureReactNodeViewRendered } from '../utils';
|
|
13
15
|
import { ZERO_WIDTH_SPACE } from '../whitespace';
|
|
14
16
|
import { generateUniqueNodeKey } from './generateUniqueNodeKey';
|
|
17
|
+
import { getOrCreateOnVisibleObserver } from './onVisibleObserverFactory';
|
|
15
18
|
export const inlineNodeViewClassname = 'inlineNodeView';
|
|
19
|
+
const canRenderFallback = node => {
|
|
20
|
+
return node.type.isInline && node.type.isAtom && node.type.isLeaf;
|
|
21
|
+
};
|
|
16
22
|
function createNodeView({
|
|
17
23
|
nodeViewParams,
|
|
18
24
|
pmPluginFactoryParams,
|
|
@@ -20,6 +26,7 @@ function createNodeView({
|
|
|
20
26
|
extraComponentProps,
|
|
21
27
|
extraNodeViewProps
|
|
22
28
|
}) {
|
|
29
|
+
const shouldVirtualize = fg('platform_editor_lego__inline_node_virtualization');
|
|
23
30
|
// We set a variable for the current node which is
|
|
24
31
|
// used for comparisions when doing updates, before being
|
|
25
32
|
// overwritten to the updated node.
|
|
@@ -63,23 +70,62 @@ function createNodeView({
|
|
|
63
70
|
extraComponentProps
|
|
64
71
|
}), domRef, key);
|
|
65
72
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
let didRenderComponentWithIntersectionObserver = false;
|
|
74
|
+
let destroyed = false;
|
|
75
|
+
let removeIntersectionObserver = () => {};
|
|
76
|
+
function renderFallback() {
|
|
77
|
+
var _currentNode$type, _currentNode$type$spe;
|
|
78
|
+
if (canRenderFallback(currentNode) && typeof ((_currentNode$type = currentNode.type) === null || _currentNode$type === void 0 ? void 0 : (_currentNode$type$spe = _currentNode$type.spec) === null || _currentNode$type$spe === void 0 ? void 0 : _currentNode$type$spe.toDOM) === 'function') {
|
|
79
|
+
const fallback = DOMSerializer.renderSpec(document, currentNode.type.spec.toDOM(currentNode));
|
|
80
|
+
domRef.replaceChildren(fallback.dom);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function attachNodeViewObserver() {
|
|
84
|
+
const observer = getOrCreateOnVisibleObserver(nodeViewParams.view);
|
|
85
|
+
removeIntersectionObserver = observer.observe(domRef, () => {
|
|
86
|
+
if (!didRenderComponentWithIntersectionObserver && !destroyed) {
|
|
87
|
+
domRef.replaceChildren();
|
|
88
|
+
renderComponent();
|
|
89
|
+
didRenderComponentWithIntersectionObserver = true;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (shouldVirtualize) {
|
|
94
|
+
renderFallback();
|
|
95
|
+
attachNodeViewObserver();
|
|
96
|
+
} else {
|
|
97
|
+
const {
|
|
98
|
+
samplingRate,
|
|
99
|
+
slowThreshold,
|
|
100
|
+
trackingEnabled
|
|
101
|
+
} = getPerformanceOptions(nodeViewParams.view);
|
|
102
|
+
trackingEnabled && startMeasureReactNodeViewRendered({
|
|
103
|
+
nodeTypeName: currentNode.type.name
|
|
104
|
+
});
|
|
74
105
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
106
|
+
// We render the component while creating the node view
|
|
107
|
+
renderComponent();
|
|
108
|
+
trackingEnabled && stopMeasureReactNodeViewRendered({
|
|
109
|
+
nodeTypeName: currentNode.type.name,
|
|
110
|
+
dispatchAnalyticsEvent,
|
|
111
|
+
samplingRate,
|
|
112
|
+
slowThreshold
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const extraNodeViewPropsWithStopEvent = {
|
|
116
|
+
...extraNodeViewProps,
|
|
117
|
+
...(fg('platform_editor_lego__inline_node_virtualization') ? {
|
|
118
|
+
// This is not related to virtualization, but it's something we should fix/handle
|
|
119
|
+
// Remove this comment when `platform_editor_lego__inline_node_virtualization` FF is cleaned up
|
|
120
|
+
stopEvent(event) {
|
|
121
|
+
const maybeStopEvent = extraNodeViewProps === null || extraNodeViewProps === void 0 ? void 0 : extraNodeViewProps.stopEvent;
|
|
122
|
+
if (typeof maybeStopEvent === 'function') {
|
|
123
|
+
return maybeStopEvent(event);
|
|
124
|
+
}
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
} : {})
|
|
128
|
+
};
|
|
83
129
|
|
|
84
130
|
// https://prosemirror.net/docs/ref/#view.NodeView
|
|
85
131
|
const nodeView = {
|
|
@@ -111,10 +157,20 @@ function createNodeView({
|
|
|
111
157
|
setDomAttrs(nextNode, domRef);
|
|
112
158
|
}
|
|
113
159
|
currentNode = nextNode;
|
|
114
|
-
|
|
160
|
+
if (shouldVirtualize) {
|
|
161
|
+
if (didRenderComponentWithIntersectionObserver) {
|
|
162
|
+
renderComponent();
|
|
163
|
+
}
|
|
164
|
+
} else {
|
|
165
|
+
renderComponent();
|
|
166
|
+
}
|
|
115
167
|
return true;
|
|
116
168
|
},
|
|
117
169
|
destroy() {
|
|
170
|
+
if (shouldVirtualize) {
|
|
171
|
+
removeIntersectionObserver();
|
|
172
|
+
}
|
|
173
|
+
|
|
118
174
|
// When prosemirror destroys the node view, we need to clean up
|
|
119
175
|
// what we have previously rendered using the editor portal
|
|
120
176
|
// provider api.
|
|
@@ -123,8 +179,11 @@ function createNodeView({
|
|
|
123
179
|
// of HTMLSpanElement type however once the node view has
|
|
124
180
|
// been destroyed no other consumers should still be using it.
|
|
125
181
|
domRef = undefined;
|
|
182
|
+
if (shouldVirtualize) {
|
|
183
|
+
destroyed = true;
|
|
184
|
+
}
|
|
126
185
|
},
|
|
127
|
-
...
|
|
186
|
+
...extraNodeViewPropsWithStopEvent
|
|
128
187
|
};
|
|
129
188
|
return nodeView;
|
|
130
189
|
}
|
|
@@ -146,7 +205,7 @@ function getPortalChildren({
|
|
|
146
205
|
extraComponentProps
|
|
147
206
|
}) {
|
|
148
207
|
return function portalChildren() {
|
|
149
|
-
var _currentNode$type$nam, _currentNode$
|
|
208
|
+
var _currentNode$type$nam, _currentNode$type2;
|
|
150
209
|
// All inline nodes use `display: inline` to allow for multi-line
|
|
151
210
|
// wrapping. This does produce an issue in Chrome where it is not
|
|
152
211
|
// possible to click select the position after the node,
|
|
@@ -170,7 +229,7 @@ function getPortalChildren({
|
|
|
170
229
|
|
|
171
230
|
return jsx(ErrorBoundary, {
|
|
172
231
|
component: ACTION_SUBJECT.REACT_NODE_VIEW,
|
|
173
|
-
componentId: (_currentNode$type$nam = currentNode === null || currentNode === void 0 ? void 0 : (_currentNode$
|
|
232
|
+
componentId: (_currentNode$type$nam = currentNode === null || currentNode === void 0 ? void 0 : (_currentNode$type2 = currentNode.type) === null || _currentNode$type2 === void 0 ? void 0 : _currentNode$type2.name) !== null && _currentNode$type$nam !== void 0 ? _currentNode$type$nam : ACTION_SUBJECT_ID.UNKNOWN_NODE,
|
|
174
233
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
175
234
|
}, jsx("span", {
|
|
176
235
|
className: `zeroWidthSpaceContainer`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import memoize from 'lodash/memoize';
|
|
2
|
+
// Use this selector to set the intersection observer boundary for editor's inline node views
|
|
3
|
+
// If this does not exist, it will use the IntersectionObserver's default root
|
|
4
|
+
const INTERSECTION_OBSERVER_ROOT_SELECTOR = '[data-editor-scroll-container="true"]';
|
|
5
|
+
const INTERSECTION_OBSERVER_OPTIONS = {
|
|
6
|
+
rootMargin: '0px 0px 100px 0px',
|
|
7
|
+
threshold: 0
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Parameterized singleton
|
|
11
|
+
export const getOrCreateOnVisibleObserver = memoize(view => {
|
|
12
|
+
const intersectionObserverOptions = {
|
|
13
|
+
root: view.dom.closest(INTERSECTION_OBSERVER_ROOT_SELECTOR),
|
|
14
|
+
...INTERSECTION_OBSERVER_OPTIONS
|
|
15
|
+
};
|
|
16
|
+
const callbackMap = new WeakMap();
|
|
17
|
+
const observer = new IntersectionObserver(entries => {
|
|
18
|
+
entries.filter(entry => entry.isIntersecting) // Only process visible entries
|
|
19
|
+
.map(entry => callbackMap.get(entry.target))
|
|
20
|
+
// Invoke callbacks together to group browser rendering
|
|
21
|
+
// Avoiding requestAnimationFrame to reduce visual flickering
|
|
22
|
+
.forEach(cb => cb === null || cb === void 0 ? void 0 : cb());
|
|
23
|
+
}, intersectionObserverOptions);
|
|
24
|
+
return {
|
|
25
|
+
observe: (el, callback) => {
|
|
26
|
+
callbackMap.set(el, callback);
|
|
27
|
+
observer.observe(el);
|
|
28
|
+
return () => observer.unobserve(el);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Plugin } from '@atlaskit/editor-prosemirror/state';
|
|
2
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
2
|
import { createProseMirrorMetadata } from '../prosemirror-dom-metadata';
|
|
4
3
|
/**
|
|
5
4
|
* 🧱 Internal Helper Function: Editor FE Platform
|
|
@@ -46,7 +45,7 @@ const wrapGetPosExceptions = spec => {
|
|
|
46
45
|
// eslint-disable-next-line no-extra-bind
|
|
47
46
|
}).bind(thisArg);
|
|
48
47
|
const result = Reflect.apply(target, thisArg, [node, view, safeGetPos, ...more]);
|
|
49
|
-
if ((result === null || result === void 0 ? void 0 : result.dom) instanceof HTMLElement
|
|
48
|
+
if ((result === null || result === void 0 ? void 0 : result.dom) instanceof HTMLElement) {
|
|
50
49
|
attachGenericProseMirrorMetadata({
|
|
51
50
|
nodeOrMark: node,
|
|
52
51
|
dom: result.dom
|
|
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
|
|
|
13
13
|
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
14
14
|
import Layer from '../Layer';
|
|
15
15
|
const packageName = "@atlaskit/editor-common";
|
|
16
|
-
const packageVersion = "99.
|
|
16
|
+
const packageVersion = "99.7.1";
|
|
17
17
|
const halfFocusRing = 1;
|
|
18
18
|
const dropOffset = '0, 8';
|
|
19
19
|
// Ignored via go/ees005
|
package/dist/esm/i18n/cs.js
CHANGED
|
@@ -86,6 +86,7 @@ export default {
|
|
|
86
86
|
'fabric.editor.columnMovedRight': 'Sloupec byl přesunut doprava na pozici {index} z {total}',
|
|
87
87
|
'fabric.editor.columnSelected': 'Je vybrán sloupec {index} z {total}',
|
|
88
88
|
'fabric.editor.columns': 'Rozvržení',
|
|
89
|
+
'fabric.editor.columns.advanced.layout.description': '{numberOfColumns, plural, one {Vložit {numberOfColumns} stejný sloupec} few {Vložit {numberOfColumns} stejné sloupce} many {Vložit {numberOfColumns} stejného sloupce} other {Vložit {numberOfColumns} stejných sloupců}}',
|
|
89
90
|
'fabric.editor.columns.description': 'Uspořádejte svou stránku pomocí oddílů',
|
|
90
91
|
'fabric.editor.columnsAreInserted': '{count, plural, one {Byl vložen sloupec.} few {Byly vloženy {count} sloupce.} many {Bylo vloženo {count} sloupce.} other {Bylo vloženo {count} sloupců.}}',
|
|
91
92
|
'fabric.editor.columnsAreRemoved': '{count, plural, one {Sloupec byl odebrán.} few {Byly odebrány {count} sloupce.} many {Bylo odebráno {count} sloupce.} other {Bylo odebráno {count} sloupců.}}',
|
|
@@ -296,6 +297,7 @@ export default {
|
|
|
296
297
|
'fabric.editor.keyboardShortcuts': 'Klávesové zkratky',
|
|
297
298
|
'fabric.editor.layout.columnOption': '{count, plural, one {Sloupec} few {{count} sloupce} many {{count} sloupce} other {{count} sloupců}}',
|
|
298
299
|
'fabric.editor.layout.placeholder': 'Přidat obsah',
|
|
300
|
+
'fabric.editor.layout.resizeLayout': 'Změnit velikost rozvržení',
|
|
299
301
|
'fabric.editor.layoutFixedWidth': 'Zpět na zobrazení standardní šířky',
|
|
300
302
|
'fabric.editor.layoutFullWidth': 'Přepnout do zobrazení na celou šířku',
|
|
301
303
|
'fabric.editor.layoutWide': 'Přepnout do zobrazení na šířku',
|
|
@@ -363,6 +365,8 @@ export default {
|
|
|
363
365
|
'fabric.editor.notePanel.description': 'Přidat poznámku do barevného panelu',
|
|
364
366
|
'fabric.editor.numberedColumn': 'Číslovaný sloupec',
|
|
365
367
|
'fabric.editor.off': 'Formátování {formattingType} vypnuto',
|
|
368
|
+
'fabric.editor.offlineErrorFallbackDescription': 'Zkuste stránku načíst znovu.',
|
|
369
|
+
'fabric.editor.offlineErrorFallbackHeading': 'Něco se pokazilo',
|
|
366
370
|
'fabric.editor.on': '{formattingType} zapnuto',
|
|
367
371
|
'fabric.editor.openCellOptions': 'Otevřít možnosti buňky',
|
|
368
372
|
'fabric.editor.openLink': 'Otevřít odkaz na nové kartě',
|
|
@@ -501,6 +505,7 @@ export default {
|
|
|
501
505
|
'fabric.editor.unableToOpenLink': 'Tento odkaz nelze otevřít',
|
|
502
506
|
'fabric.editor.underline': 'Podtržení',
|
|
503
507
|
'fabric.editor.undo': 'Vrátit',
|
|
508
|
+
'fabric.editor.unknown.label': 'Neznámý',
|
|
504
509
|
'fabric.editor.unlink': 'Zrušit propojení',
|
|
505
510
|
'fabric.editor.unorderedList': 'Seznam s odrážkami',
|
|
506
511
|
'fabric.editor.unorderedList.description': 'Vytvořit neseřazený seznam',
|
package/dist/esm/i18n/da.js
CHANGED
|
@@ -86,6 +86,7 @@ export default {
|
|
|
86
86
|
'fabric.editor.columnMovedRight': 'Kolonne flyttet til højre til {index} af {total}',
|
|
87
87
|
'fabric.editor.columnSelected': 'Kolonne {index} af {total} er valgt',
|
|
88
88
|
'fabric.editor.columns': 'Layout',
|
|
89
|
+
'fabric.editor.columns.advanced.layout.description': '{numberOfColumns, plural, one {Indsæt {numberOfColumns} lige kolonne} other {Indsæt {numberOfColumns} lige kolonner}}',
|
|
89
90
|
'fabric.editor.columns.description': 'Opdel din side i afsnit',
|
|
90
91
|
'fabric.editor.columnsAreInserted': '{count, plural, one {En kolonne er blevet indsat} other {{count} kolonner er blevet indsat}}',
|
|
91
92
|
'fabric.editor.columnsAreRemoved': '{count, plural, one {Kolonnen er blevet fjernet} other {{count} kolonner er blevet fjernet}}',
|
|
@@ -296,6 +297,7 @@ export default {
|
|
|
296
297
|
'fabric.editor.keyboardShortcuts': 'Tastaturgenveje',
|
|
297
298
|
'fabric.editor.layout.columnOption': '{count, plural, one {Kolonne} other {{count} kolonner}}',
|
|
298
299
|
'fabric.editor.layout.placeholder': 'Tilføj indhold',
|
|
300
|
+
'fabric.editor.layout.resizeLayout': 'Ændr størrelse på layout',
|
|
299
301
|
'fabric.editor.layoutFixedWidth': 'Tilbage til centrering',
|
|
300
302
|
'fabric.editor.layoutFullWidth': 'Vis i fuld bredde',
|
|
301
303
|
'fabric.editor.layoutWide': 'Vis bred',
|
|
@@ -363,6 +365,8 @@ export default {
|
|
|
363
365
|
'fabric.editor.notePanel.description': 'Tilføj en note i et farvet panel',
|
|
364
366
|
'fabric.editor.numberedColumn': 'Kolonne med nummerering',
|
|
365
367
|
'fabric.editor.off': '{formattingType} fra',
|
|
368
|
+
'fabric.editor.offlineErrorFallbackDescription': 'Prøv at genindlæse siden.',
|
|
369
|
+
'fabric.editor.offlineErrorFallbackHeading': 'Noget gik galt!',
|
|
366
370
|
'fabric.editor.on': '{formattingType} til',
|
|
367
371
|
'fabric.editor.openCellOptions': 'Åbn celleegenskaber',
|
|
368
372
|
'fabric.editor.openLink': 'Åbn link i en nye fane',
|
|
@@ -501,6 +505,7 @@ export default {
|
|
|
501
505
|
'fabric.editor.unableToOpenLink': 'Kan ikke åbne dette link',
|
|
502
506
|
'fabric.editor.underline': 'Understreget',
|
|
503
507
|
'fabric.editor.undo': 'Fortryd',
|
|
508
|
+
'fabric.editor.unknown.label': 'Ukendt',
|
|
504
509
|
'fabric.editor.unlink': 'Fjern link',
|
|
505
510
|
'fabric.editor.unorderedList': 'Punktopstilling',
|
|
506
511
|
'fabric.editor.unorderedList.description': 'Opret en ikke-sorteret liste',
|
package/dist/esm/i18n/de.js
CHANGED
|
@@ -86,6 +86,7 @@ export default {
|
|
|
86
86
|
'fabric.editor.columnMovedRight': 'Spalte nach rechts verschoben auf {index} von {total}',
|
|
87
87
|
'fabric.editor.columnSelected': 'Spalte {index} von {total} ausgewählt',
|
|
88
88
|
'fabric.editor.columns': 'Layouts',
|
|
89
|
+
'fabric.editor.columns.advanced.layout.description': '{numberOfColumns, plural, one {{numberOfColumns} gleich große Spalte einfügen} other {{numberOfColumns} gleich große Spalten einfügen}}',
|
|
89
90
|
'fabric.editor.columns.description': 'Seite mithilfe von Abschnitten strukturieren',
|
|
90
91
|
'fabric.editor.columnsAreInserted': '{count, plural, one {Eine Spalte wurde hinzugefügt.} other {{count} Spalten wurden hinzugefügt.}}',
|
|
91
92
|
'fabric.editor.columnsAreRemoved': '{count, plural, one {Die Spalte wurde entfernt.} other {{count} Spalten wurden entfernt.}}',
|
|
@@ -296,6 +297,7 @@ export default {
|
|
|
296
297
|
'fabric.editor.keyboardShortcuts': 'Tastenkombinationen',
|
|
297
298
|
'fabric.editor.layout.columnOption': '{count, plural, one {Spalte} other {{count} Spalten}}',
|
|
298
299
|
'fabric.editor.layout.placeholder': 'Inhalt hinzufügen',
|
|
300
|
+
'fabric.editor.layout.resizeLayout': 'Größe des Layouts ändern',
|
|
299
301
|
'fabric.editor.layoutFixedWidth': 'Zurück zur Mitte',
|
|
300
302
|
'fabric.editor.layoutFullWidth': 'Volle Breite wählen',
|
|
301
303
|
'fabric.editor.layoutWide': 'Verbreitern',
|
|
@@ -363,6 +365,8 @@ export default {
|
|
|
363
365
|
'fabric.editor.notePanel.description': 'Hinweis in einem farbigen Panel einfügen',
|
|
364
366
|
'fabric.editor.numberedColumn': 'Nummerierte Spalte',
|
|
365
367
|
'fabric.editor.off': '{formattingType} aus',
|
|
368
|
+
'fabric.editor.offlineErrorFallbackDescription': 'Versuchen Sie, die Seite neu zu laden.',
|
|
369
|
+
'fabric.editor.offlineErrorFallbackHeading': 'Etwas ist schiefgelaufen!',
|
|
366
370
|
'fabric.editor.on': '{formattingType} ein',
|
|
367
371
|
'fabric.editor.openCellOptions': 'Zellenoptionen öffnen',
|
|
368
372
|
'fabric.editor.openLink': 'Link in neuer Registerkarte öffnen',
|
|
@@ -467,6 +471,7 @@ export default {
|
|
|
467
471
|
'fabric.editor.text.formatting.off': 'Textformatierung aus',
|
|
468
472
|
'fabric.editor.textColor': 'Textfarbe: {selectedColorName}',
|
|
469
473
|
'fabric.editor.textColorTooltip': 'Textfarbe',
|
|
474
|
+
'fabric.editor.textFormat': 'Text formatieren',
|
|
470
475
|
'fabric.editor.textFormatting': 'Textformatierung',
|
|
471
476
|
'fabric.editor.textStyles': 'Textstile: {blockTypeName}',
|
|
472
477
|
'fabric.editor.textStylesTooltip': 'Textstile',
|
|
@@ -500,6 +505,7 @@ export default {
|
|
|
500
505
|
'fabric.editor.unableToOpenLink': 'Dieser Link konnte nicht geöffnet werden.',
|
|
501
506
|
'fabric.editor.underline': 'Unterstrichen',
|
|
502
507
|
'fabric.editor.undo': 'Rückgängig machen',
|
|
508
|
+
'fabric.editor.unknown.label': 'Unbekannt',
|
|
503
509
|
'fabric.editor.unlink': 'Verknüpfung löschen',
|
|
504
510
|
'fabric.editor.unorderedList': 'Aufzählung',
|
|
505
511
|
'fabric.editor.unorderedList.description': 'Unsortierte Liste erstellen',
|
package/dist/esm/i18n/en.js
CHANGED
|
@@ -22,6 +22,82 @@ export default {
|
|
|
22
22
|
'fabric.editor.addMediaFiles': 'Add image, video, or file',
|
|
23
23
|
'fabric.editor.addRowAbove': 'Add row above',
|
|
24
24
|
'fabric.editor.addRowBelow': 'Add row below',
|
|
25
|
+
'fabric.editor.ai.proactive.askAIButtonLabel.non-final': 'Ask AI',
|
|
26
|
+
'fabric.editor.ai.proactive.beta.label.non-final': 'BETA',
|
|
27
|
+
'fabric.editor.ai.proactive.close.label.non-final': 'Close',
|
|
28
|
+
'fabric.editor.ai.proactive.enableSuggestionsButtonLabel.non-final': 'Turn on',
|
|
29
|
+
'fabric.editor.ai.proactive.enableSuggestionsState.description.non-final': 'Turn on suggested edits to quickly preview content improvements.',
|
|
30
|
+
'fabric.editor.ai.proactive.enableSuggestionsState.title.non-final': 'You create. We polish.',
|
|
31
|
+
'fabric.editor.ai.proactive.error.markdownErrorMessage': "We're having trouble generating the preview. Close the dialog and try again.",
|
|
32
|
+
'fabric.editor.ai.proactive.error.unhandledErrorMessage': "We're having trouble. Close the dialog and try again.",
|
|
33
|
+
'fabric.editor.ai.proactive.findingMoreSuggestionsLoadingLabel.non-final': 'Finding more suggestions',
|
|
34
|
+
'fabric.editor.ai.proactive.findingSuggestionsLabel.non-final': 'Finding suggestions',
|
|
35
|
+
'fabric.editor.ai.proactive.findingSuggestionsLoadingLabel.non-final': 'Finding suggestions',
|
|
36
|
+
'fabric.editor.ai.proactive.loading.iconAltText.non-final': 'Loading icon',
|
|
37
|
+
'fabric.editor.ai.proactive.moreActions.label.non-final': 'More actions',
|
|
38
|
+
'fabric.editor.ai.proactive.moreMenu.giveFeedback.non-final': 'Give feedback',
|
|
39
|
+
'fabric.editor.ai.proactive.moreMenu.label.non-final': 'more',
|
|
40
|
+
'fabric.editor.ai.proactive.moreMenu.manageSuggestions.non-final': 'Manage Suggestions',
|
|
41
|
+
'fabric.editor.ai.proactive.moreMenu.manageSuggestionsTitle.non-final': 'Manage suggestions',
|
|
42
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllPanelSuggestionsDescription.non-final': 'Use panels to make your message stand out.',
|
|
43
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllPanelSuggestionsTitle.non-final': 'Panels',
|
|
44
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllSuggestionsDescription.non-final': 'Toggle to turn suggested edits on or off.',
|
|
45
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllSuggestionsTitle.non-final': 'All suggestions',
|
|
46
|
+
'fabric.editor.ai.proactive.moreMenu.toggleErrorPanelDescription.non-final': 'Transform text into a red error panel.',
|
|
47
|
+
'fabric.editor.ai.proactive.moreMenu.toggleErrorPanelTitle.non-final': 'Error panel',
|
|
48
|
+
'fabric.editor.ai.proactive.moreMenu.toggleFormatParagraphDescription.non-final': 'Suggestions for writing, lists, content structure, and spelling.',
|
|
49
|
+
'fabric.editor.ai.proactive.moreMenu.toggleFormatParagraphTitle.non-final': 'Enhance content',
|
|
50
|
+
'fabric.editor.ai.proactive.moreMenu.toggleInfoPanelDescription.non-final': 'Transform text into a blue information panel.',
|
|
51
|
+
'fabric.editor.ai.proactive.moreMenu.toggleInfoPanelTitle.non-final': 'Info panel',
|
|
52
|
+
'fabric.editor.ai.proactive.moreMenu.toggleNotePanelDescription.non-final': 'Transform text into a purple note panel.',
|
|
53
|
+
'fabric.editor.ai.proactive.moreMenu.toggleNotePanelTitle.non-final': 'Note panel',
|
|
54
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSplitParagraphDescription.non-final': 'Add paragraph breaks to separate key ideas.',
|
|
55
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSplitParagraphTitle.non-final': 'Paragraph break',
|
|
56
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSuccessPanelDescription.non-final': 'Transform text into a green success panel.',
|
|
57
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSuccessPanelTitle.non-final': 'Success panel',
|
|
58
|
+
'fabric.editor.ai.proactive.moreMenu.toggleTableDescription.non-final': 'Format content in a table to improve readability.',
|
|
59
|
+
'fabric.editor.ai.proactive.moreMenu.toggleTableTitle.non-final': 'Table',
|
|
60
|
+
'fabric.editor.ai.proactive.moreMenu.toggleWarningPanelDescription.non-final': 'Transform text into a yellow warning panel.',
|
|
61
|
+
'fabric.editor.ai.proactive.moreMenu.toggleWarningPanelTitle.non-final': 'Warning panel',
|
|
62
|
+
'fabric.editor.ai.proactive.noSuggestionsState.description.non-final': 'You can also ask AI to improve your page with requests such as <i>Add a table of contents</i> or <i>Create headings</i>.',
|
|
63
|
+
'fabric.editor.ai.proactive.noSuggestionsState.title.non-final': 'Suggestions will appear here',
|
|
64
|
+
'fabric.editor.ai.proactive.preview.dismissProactiveRecommendation.non-final': 'Dismiss',
|
|
65
|
+
'fabric.editor.ai.proactive.preview.insertBelowProactiveRecommendation': 'Insert below',
|
|
66
|
+
'fabric.editor.ai.proactive.preview.replaceProactiveRecommendation': 'Replace',
|
|
67
|
+
'fabric.editor.ai.proactive.recommendation.convertToErrorPanel.description.non-final': 'Use a red error panel to make your message stand out.',
|
|
68
|
+
'fabric.editor.ai.proactive.recommendation.convertToErrorPanel.title.non-final': 'Frame with error panel',
|
|
69
|
+
'fabric.editor.ai.proactive.recommendation.convertToInfoPanel.description.non-final': 'Use a blue info panel to make your message stand out.',
|
|
70
|
+
'fabric.editor.ai.proactive.recommendation.convertToInfoPanel.title.non-final': 'Frame with info panel',
|
|
71
|
+
'fabric.editor.ai.proactive.recommendation.convertToNotePanel.description.non-final': 'Use a purple note panel to make your message stand out.',
|
|
72
|
+
'fabric.editor.ai.proactive.recommendation.convertToNotePanel.title.non-final': 'Frame with note panel',
|
|
73
|
+
'fabric.editor.ai.proactive.recommendation.convertToSuccessPanel.description.non-final': 'Use a green success panel to make your message stand out.',
|
|
74
|
+
'fabric.editor.ai.proactive.recommendation.convertToSuccessPanel.title.non-final': 'Frame with success panel',
|
|
75
|
+
'fabric.editor.ai.proactive.recommendation.convertToTable.description.non-final': 'Format content in a table to improve readability.',
|
|
76
|
+
'fabric.editor.ai.proactive.recommendation.convertToTable.title.non-final': 'Format in table',
|
|
77
|
+
'fabric.editor.ai.proactive.recommendation.convertToWarnPanel.description.non-final': 'Use a yellow warning panel to make your message stand out.',
|
|
78
|
+
'fabric.editor.ai.proactive.recommendation.convertToWarnPanel.title.non-final': 'Frame with warning panel',
|
|
79
|
+
'fabric.editor.ai.proactive.recommendation.default.description.non-final': 'A suggestion to improve the content.',
|
|
80
|
+
'fabric.editor.ai.proactive.recommendation.default.title.non-final': 'Suggestion',
|
|
81
|
+
'fabric.editor.ai.proactive.recommendation.dismiss.button.non-final': 'Dismiss',
|
|
82
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraph.description.non-final': 'Clarify content writing and structure.',
|
|
83
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraph.title.non-final': 'Enhance content',
|
|
84
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphClarity.description.non-final': 'Simplify phrasing and grammar.',
|
|
85
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphClarity.title.non-final': 'Clarify writing',
|
|
86
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphList.description.non-final': 'Turn content into a scannable list.',
|
|
87
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphList.title.non-final': 'Create list',
|
|
88
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphSpellcheck.description.non-final': 'Spot and correct spelling errors.',
|
|
89
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphSpellcheck.title.non-final': 'Fix spelling',
|
|
90
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphStructure.description.non-final': 'Add paragraph breaks and headings.',
|
|
91
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphStructure.title.non-final': 'Improve structure',
|
|
92
|
+
'fabric.editor.ai.proactive.recommendation.preview.button.non-final': 'Preview',
|
|
93
|
+
'fabric.editor.ai.proactive.recommendation.replace.button.non-final': 'Replace',
|
|
94
|
+
'fabric.editor.ai.proactive.recommendation.splitParagraph.description.non-final': 'Add paragraph breaks to separate key ideas.',
|
|
95
|
+
'fabric.editor.ai.proactive.recommendation.splitParagraph.title.non-final': 'Divide paragraph',
|
|
96
|
+
'fabric.editor.ai.proactive.reloadSuggestionsButtonLabel.non-final': 'View past suggestions',
|
|
97
|
+
'fabric.editor.ai.proactive.reloadSuggestionsState.description.non-final': 'Any new suggestions will appear here.',
|
|
98
|
+
'fabric.editor.ai.proactive.reloadSuggestionsState.title.non-final': 'Your content’s looking good',
|
|
99
|
+
'fabric.editor.ai.proactive.spellingAndGrammar.label.non-final': 'Spelling and grammar',
|
|
100
|
+
'fabric.editor.ai.proactive.suggestions.title.non-final': 'Suggestions',
|
|
25
101
|
'fabric.editor.ai.selectionToolbar.define.disabled.tooltip': 'Highlight a term, acronym, or abbreviation',
|
|
26
102
|
'fabric.editor.ai.selectionToolbar.define.title': 'Define',
|
|
27
103
|
'fabric.editor.alignCenter': 'Align center',
|
|
@@ -297,6 +373,7 @@ export default {
|
|
|
297
373
|
'fabric.editor.keyboardShortcuts': 'Keyboard shortcuts',
|
|
298
374
|
'fabric.editor.layout.columnOption': '{count, plural, one { Column} other {{count} Columns}}',
|
|
299
375
|
'fabric.editor.layout.placeholder': 'Add content',
|
|
376
|
+
'fabric.editor.layout.resizeLayout': 'Resize layout',
|
|
300
377
|
'fabric.editor.layoutFixedWidth': 'Back to center',
|
|
301
378
|
'fabric.editor.layoutFullWidth': 'Go full width',
|
|
302
379
|
'fabric.editor.layoutWide': 'Go wide',
|
|
@@ -364,6 +441,8 @@ export default {
|
|
|
364
441
|
'fabric.editor.notePanel.description': 'Add a note in a colored panel',
|
|
365
442
|
'fabric.editor.numberedColumn': 'Numbered column',
|
|
366
443
|
'fabric.editor.off': '{formattingType} Off',
|
|
444
|
+
'fabric.editor.offlineErrorFallbackDescription': 'Try reloading the page.',
|
|
445
|
+
'fabric.editor.offlineErrorFallbackHeading': 'Something went wrong!',
|
|
367
446
|
'fabric.editor.on': '{formattingType} On',
|
|
368
447
|
'fabric.editor.openCellOptions': 'Open cell options',
|
|
369
448
|
'fabric.editor.openLink': 'Open link in a new tab',
|
|
@@ -503,6 +582,7 @@ export default {
|
|
|
503
582
|
'fabric.editor.unableToOpenLink': 'Unable to open this link',
|
|
504
583
|
'fabric.editor.underline': 'Underline',
|
|
505
584
|
'fabric.editor.undo': 'Undo',
|
|
585
|
+
'fabric.editor.unknown.label': 'Unknown',
|
|
506
586
|
'fabric.editor.unlink': 'Unlink',
|
|
507
587
|
'fabric.editor.unorderedList': 'Bullet list',
|
|
508
588
|
'fabric.editor.unorderedList.description': 'Create an unordered list',
|
package/dist/esm/i18n/en_GB.js
CHANGED
|
@@ -22,6 +22,82 @@ export default {
|
|
|
22
22
|
'fabric.editor.addMediaFiles': 'Add image, video, or file',
|
|
23
23
|
'fabric.editor.addRowAbove': 'Add row above',
|
|
24
24
|
'fabric.editor.addRowBelow': 'Add row below',
|
|
25
|
+
'fabric.editor.ai.proactive.askAIButtonLabel.non-final': 'Ask AI',
|
|
26
|
+
'fabric.editor.ai.proactive.beta.label.non-final': 'BETA',
|
|
27
|
+
'fabric.editor.ai.proactive.close.label.non-final': 'Close',
|
|
28
|
+
'fabric.editor.ai.proactive.enableSuggestionsButtonLabel.non-final': 'Turn on',
|
|
29
|
+
'fabric.editor.ai.proactive.enableSuggestionsState.description.non-final': 'Turn on suggested edits to quickly preview content improvements.',
|
|
30
|
+
'fabric.editor.ai.proactive.enableSuggestionsState.title.non-final': 'You create. We polish.',
|
|
31
|
+
'fabric.editor.ai.proactive.error.markdownErrorMessage': "We're having trouble generating the preview. Close the dialog and try again.",
|
|
32
|
+
'fabric.editor.ai.proactive.error.unhandledErrorMessage': "We're having trouble. Close the dialog and try again.",
|
|
33
|
+
'fabric.editor.ai.proactive.findingMoreSuggestionsLoadingLabel.non-final': 'Finding more suggestions',
|
|
34
|
+
'fabric.editor.ai.proactive.findingSuggestionsLabel.non-final': 'Finding suggestions',
|
|
35
|
+
'fabric.editor.ai.proactive.findingSuggestionsLoadingLabel.non-final': 'Finding suggestions',
|
|
36
|
+
'fabric.editor.ai.proactive.loading.iconAltText.non-final': 'Loading icon',
|
|
37
|
+
'fabric.editor.ai.proactive.moreActions.label.non-final': 'More actions',
|
|
38
|
+
'fabric.editor.ai.proactive.moreMenu.giveFeedback.non-final': 'Give feedback',
|
|
39
|
+
'fabric.editor.ai.proactive.moreMenu.label.non-final': 'more',
|
|
40
|
+
'fabric.editor.ai.proactive.moreMenu.manageSuggestions.non-final': 'Manage Suggestions',
|
|
41
|
+
'fabric.editor.ai.proactive.moreMenu.manageSuggestionsTitle.non-final': 'Manage suggestions',
|
|
42
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllPanelSuggestionsDescription.non-final': 'Use panels to make your message stand out.',
|
|
43
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllPanelSuggestionsTitle.non-final': 'Panels',
|
|
44
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllSuggestionsDescription.non-final': 'Toggle to turn suggested edits on or off.',
|
|
45
|
+
'fabric.editor.ai.proactive.moreMenu.toggleAllSuggestionsTitle.non-final': 'All suggestions',
|
|
46
|
+
'fabric.editor.ai.proactive.moreMenu.toggleErrorPanelDescription.non-final': 'Transform text into a red error panel.',
|
|
47
|
+
'fabric.editor.ai.proactive.moreMenu.toggleErrorPanelTitle.non-final': 'Error panel',
|
|
48
|
+
'fabric.editor.ai.proactive.moreMenu.toggleFormatParagraphDescription.non-final': 'Suggestions for writing, lists, content structure, and spelling.',
|
|
49
|
+
'fabric.editor.ai.proactive.moreMenu.toggleFormatParagraphTitle.non-final': 'Enhance content',
|
|
50
|
+
'fabric.editor.ai.proactive.moreMenu.toggleInfoPanelDescription.non-final': 'Transform text into a blue information panel.',
|
|
51
|
+
'fabric.editor.ai.proactive.moreMenu.toggleInfoPanelTitle.non-final': 'Info panel',
|
|
52
|
+
'fabric.editor.ai.proactive.moreMenu.toggleNotePanelDescription.non-final': 'Transform text into a purple note panel.',
|
|
53
|
+
'fabric.editor.ai.proactive.moreMenu.toggleNotePanelTitle.non-final': 'Note panel',
|
|
54
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSplitParagraphDescription.non-final': 'Add paragraph breaks to separate key ideas.',
|
|
55
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSplitParagraphTitle.non-final': 'Paragraph break',
|
|
56
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSuccessPanelDescription.non-final': 'Transform text into a green success panel.',
|
|
57
|
+
'fabric.editor.ai.proactive.moreMenu.toggleSuccessPanelTitle.non-final': 'Success panel',
|
|
58
|
+
'fabric.editor.ai.proactive.moreMenu.toggleTableDescription.non-final': 'Format content in a table to improve readability.',
|
|
59
|
+
'fabric.editor.ai.proactive.moreMenu.toggleTableTitle.non-final': 'Table',
|
|
60
|
+
'fabric.editor.ai.proactive.moreMenu.toggleWarningPanelDescription.non-final': 'Transform text into a yellow warning panel.',
|
|
61
|
+
'fabric.editor.ai.proactive.moreMenu.toggleWarningPanelTitle.non-final': 'Warning panel',
|
|
62
|
+
'fabric.editor.ai.proactive.noSuggestionsState.description.non-final': 'You can also ask AI to improve your page with requests such as <i>Add a table of contents</i> or <i>Create headings</i>.',
|
|
63
|
+
'fabric.editor.ai.proactive.noSuggestionsState.title.non-final': 'Suggestions will appear here',
|
|
64
|
+
'fabric.editor.ai.proactive.preview.dismissProactiveRecommendation.non-final': 'Dismiss',
|
|
65
|
+
'fabric.editor.ai.proactive.preview.insertBelowProactiveRecommendation': 'Insert below',
|
|
66
|
+
'fabric.editor.ai.proactive.preview.replaceProactiveRecommendation': 'Replace',
|
|
67
|
+
'fabric.editor.ai.proactive.recommendation.convertToErrorPanel.description.non-final': 'Use a red error panel to make your message stand out.',
|
|
68
|
+
'fabric.editor.ai.proactive.recommendation.convertToErrorPanel.title.non-final': 'Frame with error panel',
|
|
69
|
+
'fabric.editor.ai.proactive.recommendation.convertToInfoPanel.description.non-final': 'Use a blue info panel to make your message stand out.',
|
|
70
|
+
'fabric.editor.ai.proactive.recommendation.convertToInfoPanel.title.non-final': 'Frame with info panel',
|
|
71
|
+
'fabric.editor.ai.proactive.recommendation.convertToNotePanel.description.non-final': 'Use a purple note panel to make your message stand out.',
|
|
72
|
+
'fabric.editor.ai.proactive.recommendation.convertToNotePanel.title.non-final': 'Frame with note panel',
|
|
73
|
+
'fabric.editor.ai.proactive.recommendation.convertToSuccessPanel.description.non-final': 'Use a green success panel to make your message stand out.',
|
|
74
|
+
'fabric.editor.ai.proactive.recommendation.convertToSuccessPanel.title.non-final': 'Frame with success panel',
|
|
75
|
+
'fabric.editor.ai.proactive.recommendation.convertToTable.description.non-final': 'Format content in a table to improve readability.',
|
|
76
|
+
'fabric.editor.ai.proactive.recommendation.convertToTable.title.non-final': 'Format in table',
|
|
77
|
+
'fabric.editor.ai.proactive.recommendation.convertToWarnPanel.description.non-final': 'Use a yellow warning panel to make your message stand out.',
|
|
78
|
+
'fabric.editor.ai.proactive.recommendation.convertToWarnPanel.title.non-final': 'Frame with warning panel',
|
|
79
|
+
'fabric.editor.ai.proactive.recommendation.default.description.non-final': 'A suggestion to improve the content.',
|
|
80
|
+
'fabric.editor.ai.proactive.recommendation.default.title.non-final': 'Suggestion',
|
|
81
|
+
'fabric.editor.ai.proactive.recommendation.dismiss.button.non-final': 'Dismiss',
|
|
82
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraph.description.non-final': 'Clarify content writing and structure.',
|
|
83
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraph.title.non-final': 'Enhance content',
|
|
84
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphClarity.description.non-final': 'Simplify phrasing and grammar.',
|
|
85
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphClarity.title.non-final': 'Clarify writing',
|
|
86
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphList.description.non-final': 'Turn content into a scannable list.',
|
|
87
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphList.title.non-final': 'Create list',
|
|
88
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphSpellcheck.description.non-final': 'Spot and correct spelling errors.',
|
|
89
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphSpellcheck.title.non-final': 'Fix spelling',
|
|
90
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphStructure.description.non-final': 'Add paragraph breaks and headings.',
|
|
91
|
+
'fabric.editor.ai.proactive.recommendation.formatParagraphStructure.title.non-final': 'Improve structure',
|
|
92
|
+
'fabric.editor.ai.proactive.recommendation.preview.button.non-final': 'Preview',
|
|
93
|
+
'fabric.editor.ai.proactive.recommendation.replace.button.non-final': 'Replace',
|
|
94
|
+
'fabric.editor.ai.proactive.recommendation.splitParagraph.description.non-final': 'Add paragraph breaks to separate key ideas.',
|
|
95
|
+
'fabric.editor.ai.proactive.recommendation.splitParagraph.title.non-final': 'Divide paragraph',
|
|
96
|
+
'fabric.editor.ai.proactive.reloadSuggestionsButtonLabel.non-final': 'View past suggestions',
|
|
97
|
+
'fabric.editor.ai.proactive.reloadSuggestionsState.description.non-final': 'Any new suggestions will appear here.',
|
|
98
|
+
'fabric.editor.ai.proactive.reloadSuggestionsState.title.non-final': 'Your content’s looking good',
|
|
99
|
+
'fabric.editor.ai.proactive.spellingAndGrammar.label.non-final': 'Spelling and grammar',
|
|
100
|
+
'fabric.editor.ai.proactive.suggestions.title.non-final': 'Suggestions',
|
|
25
101
|
'fabric.editor.ai.selectionToolbar.define.disabled.tooltip': 'Highlight a term, acronym, or abbreviation',
|
|
26
102
|
'fabric.editor.ai.selectionToolbar.define.title': 'Define',
|
|
27
103
|
'fabric.editor.alignCenter': 'Align center',
|
|
@@ -297,6 +373,7 @@ export default {
|
|
|
297
373
|
'fabric.editor.keyboardShortcuts': 'Keyboard shortcuts',
|
|
298
374
|
'fabric.editor.layout.columnOption': '{count, plural, one { Column} other {{count} Columns}}',
|
|
299
375
|
'fabric.editor.layout.placeholder': 'Add content',
|
|
376
|
+
'fabric.editor.layout.resizeLayout': 'Resize layout',
|
|
300
377
|
'fabric.editor.layoutFixedWidth': 'Back to center',
|
|
301
378
|
'fabric.editor.layoutFullWidth': 'Go full width',
|
|
302
379
|
'fabric.editor.layoutWide': 'Go wide',
|
|
@@ -364,6 +441,8 @@ export default {
|
|
|
364
441
|
'fabric.editor.notePanel.description': 'Add a note in a coloured panel',
|
|
365
442
|
'fabric.editor.numberedColumn': 'Numbered column',
|
|
366
443
|
'fabric.editor.off': '{formattingType} Off',
|
|
444
|
+
'fabric.editor.offlineErrorFallbackDescription': 'Try reloading the page.',
|
|
445
|
+
'fabric.editor.offlineErrorFallbackHeading': 'Something went wrong!',
|
|
367
446
|
'fabric.editor.on': '{formattingType} On',
|
|
368
447
|
'fabric.editor.openCellOptions': 'Open cell options',
|
|
369
448
|
'fabric.editor.openLink': 'Open link in a new tab',
|
|
@@ -503,6 +582,7 @@ export default {
|
|
|
503
582
|
'fabric.editor.unableToOpenLink': 'Unable to open this link',
|
|
504
583
|
'fabric.editor.underline': 'Underline',
|
|
505
584
|
'fabric.editor.undo': 'Undo',
|
|
585
|
+
'fabric.editor.unknown.label': 'Unknown',
|
|
506
586
|
'fabric.editor.unlink': 'Unlink',
|
|
507
587
|
'fabric.editor.unorderedList': 'Bullet list',
|
|
508
588
|
'fabric.editor.unorderedList.description': 'Create an unordered list',
|