@atlaskit/editor-core 216.10.0 → 216.11.2
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 +33 -0
- package/afm-cc/tsconfig.json +0 -1
- package/afm-jira/tsconfig.json +0 -1
- package/afm-products/tsconfig.json +0 -1
- package/dist/cjs/composable-editor/editor-internal.js +1 -0
- package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +2 -1
- package/dist/cjs/create-editor/ReactEditorView.js +92 -21
- package/dist/cjs/ui/Appearance/FullPage/FullPage.js +10 -2
- package/dist/cjs/utils/getNodesCount.js +1 -0
- package/dist/cjs/utils/getNodesCountWithExtensionKeys.js +32 -0
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/composable-editor/editor-internal.js +1 -0
- package/dist/es2019/composable-editor/hooks/useMemoEditorProps.js +2 -1
- package/dist/es2019/create-editor/ReactEditorView.js +82 -17
- package/dist/es2019/ui/Appearance/FullPage/FullPage.js +10 -2
- package/dist/es2019/utils/getNodesCount.js +1 -0
- package/dist/es2019/utils/getNodesCountWithExtensionKeys.js +26 -0
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/composable-editor/editor-internal.js +1 -0
- package/dist/esm/composable-editor/hooks/useMemoEditorProps.js +2 -1
- package/dist/esm/create-editor/ReactEditorView.js +93 -22
- package/dist/esm/ui/Appearance/FullPage/FullPage.js +10 -2
- package/dist/esm/utils/getNodesCount.js +1 -0
- package/dist/esm/utils/getNodesCountWithExtensionKeys.js +26 -0
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/create-editor/ReactEditorView.d.ts +5 -0
- package/dist/types/types/editor-appearance-component.d.ts +5 -0
- package/dist/types/types/editor-props.d.ts +26 -0
- package/dist/types/utils/getNodesCountWithExtensionKeys.d.ts +12 -0
- package/dist/types-ts4.5/create-editor/ReactEditorView.d.ts +5 -0
- package/dist/types-ts4.5/types/editor-appearance-component.d.ts +5 -0
- package/dist/types-ts4.5/types/editor-props.d.ts +26 -0
- package/dist/types-ts4.5/utils/getNodesCountWithExtensionKeys.d.ts +12 -0
- package/package.json +7 -4
|
@@ -119,6 +119,32 @@ interface EditorBaseProps {
|
|
|
119
119
|
onChange?: EditorOnChangeHandler;
|
|
120
120
|
onDestroy?: () => void;
|
|
121
121
|
onEditorReady?: (editorActions: EditorActions) => void;
|
|
122
|
+
/**
|
|
123
|
+
* Callback for measuring Server-Side Rendering (SSR) performance metrics.
|
|
124
|
+
* Invoked during SSR to track timing information for different segments of the rendering process.
|
|
125
|
+
*
|
|
126
|
+
* @param measure - Performance measurement data
|
|
127
|
+
* @param measure.startTimestamp - Absolute timestamp when the segment started (from `performance.now()`)
|
|
128
|
+
* @param measure.endTimestamp - Absolute timestamp when the segment completed (from `performance.now()`)
|
|
129
|
+
* @param measure.segmentName - Name identifier of the SSR segment being measured
|
|
130
|
+
*
|
|
131
|
+
* @remarks
|
|
132
|
+
* Both timestamps are absolute values from `performance.now()`, not relative to measurement start.
|
|
133
|
+
* Calculate duration as: `measure.endTimestamp - measure.startTimestamp`
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* onSSRMeasure={(measure) => {
|
|
138
|
+
* const duration = measure.endTimestamp - measure.startTimestamp;
|
|
139
|
+
* console.log(`${measure.segmentName}: ${duration}ms`);
|
|
140
|
+
* }}
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
onSSRMeasure?: (measure: {
|
|
144
|
+
endTimestamp: number;
|
|
145
|
+
segmentName: string;
|
|
146
|
+
startTimestamp: number;
|
|
147
|
+
}) => void;
|
|
122
148
|
persistScrollGutter?: boolean;
|
|
123
149
|
popupsBoundariesElement?: HTMLElement;
|
|
124
150
|
popupsMountPoint?: HTMLElement;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Node } from '@atlaskit/editor-prosemirror/model';
|
|
2
|
+
type NodesAndExtensionKeys = {
|
|
3
|
+
extensionKeys: Record<string, number>;
|
|
4
|
+
nodes: Record<string, number>;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Counts node types and extension keys in a single traversal.
|
|
8
|
+
* We exclude the end-of-doc token by iterating to nodeSize - 2,
|
|
9
|
+
* which matches the typical ProseMirror pattern for traversing all child nodes.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getNodesCountWithExtensionKeys(node: Node): NodesAndExtensionKeys;
|
|
12
|
+
export {};
|
|
@@ -29,6 +29,11 @@ export interface EditorViewProps extends WrappedComponentProps {
|
|
|
29
29
|
transformer?: Transformer<string>;
|
|
30
30
|
view: EditorView;
|
|
31
31
|
}) => void;
|
|
32
|
+
onSSRMeasure?: (measure: {
|
|
33
|
+
endTimestamp: number;
|
|
34
|
+
segmentName: string;
|
|
35
|
+
startTimestamp: number;
|
|
36
|
+
}) => void;
|
|
32
37
|
portalProviderAPI: PortalProviderAPI;
|
|
33
38
|
preset: EditorPresetBuilder<string[], AllEditorPresetPluginTypes[]>;
|
|
34
39
|
providerFactory: ProviderFactory;
|
|
@@ -37,6 +37,11 @@ export interface EditorAppearanceComponentProps<Plugins extends NextEditorPlugin
|
|
|
37
37
|
minHeight?: number;
|
|
38
38
|
onCancel?: (editorView: EditorView) => void;
|
|
39
39
|
onSave?: (editorView: EditorView) => void;
|
|
40
|
+
onSSRMeasure?: (measure: {
|
|
41
|
+
endTimestamp: number;
|
|
42
|
+
segmentName: string;
|
|
43
|
+
startTimestamp: number;
|
|
44
|
+
}) => void;
|
|
40
45
|
persistScrollGutter?: boolean;
|
|
41
46
|
pluginHooks?: ReactHookFactory[];
|
|
42
47
|
popupsBoundariesElement?: HTMLElement;
|
|
@@ -119,6 +119,32 @@ interface EditorBaseProps {
|
|
|
119
119
|
onChange?: EditorOnChangeHandler;
|
|
120
120
|
onDestroy?: () => void;
|
|
121
121
|
onEditorReady?: (editorActions: EditorActions) => void;
|
|
122
|
+
/**
|
|
123
|
+
* Callback for measuring Server-Side Rendering (SSR) performance metrics.
|
|
124
|
+
* Invoked during SSR to track timing information for different segments of the rendering process.
|
|
125
|
+
*
|
|
126
|
+
* @param measure - Performance measurement data
|
|
127
|
+
* @param measure.startTimestamp - Absolute timestamp when the segment started (from `performance.now()`)
|
|
128
|
+
* @param measure.endTimestamp - Absolute timestamp when the segment completed (from `performance.now()`)
|
|
129
|
+
* @param measure.segmentName - Name identifier of the SSR segment being measured
|
|
130
|
+
*
|
|
131
|
+
* @remarks
|
|
132
|
+
* Both timestamps are absolute values from `performance.now()`, not relative to measurement start.
|
|
133
|
+
* Calculate duration as: `measure.endTimestamp - measure.startTimestamp`
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* onSSRMeasure={(measure) => {
|
|
138
|
+
* const duration = measure.endTimestamp - measure.startTimestamp;
|
|
139
|
+
* console.log(`${measure.segmentName}: ${duration}ms`);
|
|
140
|
+
* }}
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
onSSRMeasure?: (measure: {
|
|
144
|
+
endTimestamp: number;
|
|
145
|
+
segmentName: string;
|
|
146
|
+
startTimestamp: number;
|
|
147
|
+
}) => void;
|
|
122
148
|
persistScrollGutter?: boolean;
|
|
123
149
|
popupsBoundariesElement?: HTMLElement;
|
|
124
150
|
popupsMountPoint?: HTMLElement;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Node } from '@atlaskit/editor-prosemirror/model';
|
|
2
|
+
type NodesAndExtensionKeys = {
|
|
3
|
+
extensionKeys: Record<string, number>;
|
|
4
|
+
nodes: Record<string, number>;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Counts node types and extension keys in a single traversal.
|
|
8
|
+
* We exclude the end-of-doc token by iterating to nodeSize - 2,
|
|
9
|
+
* which matches the typical ProseMirror pattern for traversing all child nodes.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getNodesCountWithExtensionKeys(node: Node): NodesAndExtensionKeys;
|
|
12
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-core",
|
|
3
|
-
"version": "216.
|
|
3
|
+
"version": "216.11.2",
|
|
4
4
|
"description": "A package contains Atlassian editor core functionality",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@atlaskit/editor-plugins": "^12.0.0",
|
|
55
55
|
"@atlaskit/editor-prosemirror": "^7.3.0",
|
|
56
56
|
"@atlaskit/editor-shared-styles": "^3.10.0",
|
|
57
|
-
"@atlaskit/editor-ssr-renderer": "^2.
|
|
57
|
+
"@atlaskit/editor-ssr-renderer": "^2.2.0",
|
|
58
58
|
"@atlaskit/editor-toolbar": "^0.19.0",
|
|
59
59
|
"@atlaskit/editor-toolbar-model": "^0.3.0",
|
|
60
60
|
"@atlaskit/emoji": "^69.10.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@atlaskit/platform-feature-flags-react": "^0.4.0",
|
|
67
67
|
"@atlaskit/react-ufo": "^5.2.0",
|
|
68
68
|
"@atlaskit/task-decision": "^19.2.0",
|
|
69
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
69
|
+
"@atlaskit/tmp-editor-statsig": "^27.1.0",
|
|
70
70
|
"@atlaskit/tokens": "^11.0.0",
|
|
71
71
|
"@atlaskit/tooltip": "^20.14.0",
|
|
72
72
|
"@atlaskit/width-detector": "^5.0.0",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"@af/suppress-react-warnings": "workspace:^",
|
|
96
96
|
"@af/visual-regression": "workspace:^",
|
|
97
97
|
"@atlaskit/adf-utils": "^19.27.0",
|
|
98
|
-
"@atlaskit/analytics-listeners": "^
|
|
98
|
+
"@atlaskit/analytics-listeners": "^10.0.0",
|
|
99
99
|
"@atlaskit/collab-provider": "^15.3.0",
|
|
100
100
|
"@atlaskit/editor-plugin-annotation": "^7.1.0",
|
|
101
101
|
"@atlaskit/editor-plugin-card": "^12.3.0",
|
|
@@ -331,6 +331,9 @@
|
|
|
331
331
|
"platform_editor_a11y_find_replace_focus_ring": {
|
|
332
332
|
"type": "boolean"
|
|
333
333
|
},
|
|
334
|
+
"platform_editor_better_editor_ssr_spans": {
|
|
335
|
+
"type": "boolean"
|
|
336
|
+
},
|
|
334
337
|
"platform_editor_context_context_types_migration": {
|
|
335
338
|
"type": "boolean"
|
|
336
339
|
},
|