@atlaskit/editor-synced-block-renderer 5.6.7 → 5.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 +15 -0
- package/dist/cjs/ui/AKRendererWrapper.js +2 -0
- package/dist/cjs/useSyncedBlockNodeComponent.js +12 -2
- package/dist/es2019/ui/AKRendererWrapper.js +2 -0
- package/dist/es2019/useSyncedBlockNodeComponent.js +12 -2
- package/dist/esm/ui/AKRendererWrapper.js +2 -0
- package/dist/esm/useSyncedBlockNodeComponent.js +12 -2
- package/dist/types/types.d.ts +1 -1
- package/dist/types/useSyncedBlockNodeComponent.d.ts +3 -3
- package/dist/types-ts4.5/types.d.ts +1 -1
- package/dist/types-ts4.5/useSyncedBlockNodeComponent.d.ts +3 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-renderer
|
|
2
2
|
|
|
3
|
+
## 5.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`764672ccc7992`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/764672ccc7992) -
|
|
8
|
+
EDITOR-4049 Add support for prefetching of synced blocks data to synced block provider.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 5.7.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`7daf10b49fce7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7daf10b49fce7) -
|
|
16
|
+
Pass in event handlers to the sync block options
|
|
17
|
+
|
|
3
18
|
## 5.6.7
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -89,6 +89,7 @@ var AKRendererWrapper = exports.AKRendererWrapper = /*#__PURE__*/(0, _react.memo
|
|
|
89
89
|
allowUgcScrubber = _ref4.allowUgcScrubber,
|
|
90
90
|
allowWrapCodeBlock = _ref4.allowWrapCodeBlock,
|
|
91
91
|
emojiResourceConfig = _ref4.emojiResourceConfig,
|
|
92
|
+
eventHandlers = _ref4.eventHandlers,
|
|
92
93
|
media = _ref4.media,
|
|
93
94
|
smartLinks = _ref4.smartLinks,
|
|
94
95
|
stickyHeaders = _ref4.stickyHeaders;
|
|
@@ -133,6 +134,7 @@ var AKRendererWrapper = exports.AKRendererWrapper = /*#__PURE__*/(0, _react.memo
|
|
|
133
134
|
allowUgcScrubber: allowUgcScrubber,
|
|
134
135
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
135
136
|
emojiResourceConfig: emojiResourceConfig,
|
|
137
|
+
eventHandlers: (0, _platformFeatureFlags.fg)('platform_synced_block_patch_1') ? eventHandlers : undefined,
|
|
136
138
|
media: media,
|
|
137
139
|
smartLinks: smartLinks,
|
|
138
140
|
stickyHeaders: stickyHeaders
|
|
@@ -27,7 +27,8 @@ var useMemoizedSyncedBlockNodeComponent = exports.useMemoizedSyncedBlockNodeComp
|
|
|
27
27
|
syncBlockProvider = _ref.syncBlockProvider,
|
|
28
28
|
syncBlockRendererOptions = _ref.syncBlockRendererOptions,
|
|
29
29
|
fireAnalyticsEvent = _ref.fireAnalyticsEvent,
|
|
30
|
-
getSSRData = _ref.getSSRData
|
|
30
|
+
getSSRData = _ref.getSSRData,
|
|
31
|
+
getPrefetchedData = _ref.getPrefetchedData;
|
|
31
32
|
var syncBlockStoreManager = (0, _editorSyncedBlockProvider.useMemoizedSyncBlockStoreManager)(syncBlockProvider, fireAnalyticsEvent);
|
|
32
33
|
|
|
33
34
|
// Initialize SSR data if available
|
|
@@ -40,7 +41,16 @@ var useMemoizedSyncedBlockNodeComponent = exports.useMemoizedSyncedBlockNodeComp
|
|
|
40
41
|
}
|
|
41
42
|
}, [getSSRData, syncBlockProvider]);
|
|
42
43
|
|
|
43
|
-
//
|
|
44
|
+
// Process prefetched data next, if available
|
|
45
|
+
(0, _react.useEffect)(function () {
|
|
46
|
+
var prefetchedData;
|
|
47
|
+
if (getPrefetchedData) {
|
|
48
|
+
prefetchedData = getPrefetchedData();
|
|
49
|
+
syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
|
|
50
|
+
}
|
|
51
|
+
}, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
|
|
52
|
+
|
|
53
|
+
// Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
|
|
44
54
|
(0, _react.useEffect)(function () {
|
|
45
55
|
syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
|
|
46
56
|
}, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
|
|
@@ -80,6 +80,7 @@ export const AKRendererWrapper = /*#__PURE__*/memo(({
|
|
|
80
80
|
allowUgcScrubber,
|
|
81
81
|
allowWrapCodeBlock,
|
|
82
82
|
emojiResourceConfig,
|
|
83
|
+
eventHandlers,
|
|
83
84
|
media,
|
|
84
85
|
smartLinks,
|
|
85
86
|
stickyHeaders
|
|
@@ -125,6 +126,7 @@ export const AKRendererWrapper = /*#__PURE__*/memo(({
|
|
|
125
126
|
allowUgcScrubber: allowUgcScrubber,
|
|
126
127
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
127
128
|
emojiResourceConfig: emojiResourceConfig,
|
|
129
|
+
eventHandlers: fg('platform_synced_block_patch_1') ? eventHandlers : undefined,
|
|
128
130
|
media: media,
|
|
129
131
|
smartLinks: smartLinks,
|
|
130
132
|
stickyHeaders: stickyHeaders
|
|
@@ -17,7 +17,8 @@ export const useMemoizedSyncedBlockNodeComponent = ({
|
|
|
17
17
|
syncBlockProvider,
|
|
18
18
|
syncBlockRendererOptions,
|
|
19
19
|
fireAnalyticsEvent,
|
|
20
|
-
getSSRData
|
|
20
|
+
getSSRData,
|
|
21
|
+
getPrefetchedData
|
|
21
22
|
}) => {
|
|
22
23
|
const syncBlockStoreManager = useMemoizedSyncBlockStoreManager(syncBlockProvider, fireAnalyticsEvent);
|
|
23
24
|
|
|
@@ -31,7 +32,16 @@ export const useMemoizedSyncedBlockNodeComponent = ({
|
|
|
31
32
|
}
|
|
32
33
|
}, [getSSRData, syncBlockProvider]);
|
|
33
34
|
|
|
34
|
-
//
|
|
35
|
+
// Process prefetched data next, if available
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
let prefetchedData;
|
|
38
|
+
if (getPrefetchedData) {
|
|
39
|
+
prefetchedData = getPrefetchedData();
|
|
40
|
+
syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
|
|
41
|
+
}
|
|
42
|
+
}, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
|
|
43
|
+
|
|
44
|
+
// Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
|
|
35
45
|
useEffect(() => {
|
|
36
46
|
syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
|
|
37
47
|
}, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
|
|
@@ -80,6 +80,7 @@ export var AKRendererWrapper = /*#__PURE__*/memo(function (_ref3) {
|
|
|
80
80
|
allowUgcScrubber = _ref4.allowUgcScrubber,
|
|
81
81
|
allowWrapCodeBlock = _ref4.allowWrapCodeBlock,
|
|
82
82
|
emojiResourceConfig = _ref4.emojiResourceConfig,
|
|
83
|
+
eventHandlers = _ref4.eventHandlers,
|
|
83
84
|
media = _ref4.media,
|
|
84
85
|
smartLinks = _ref4.smartLinks,
|
|
85
86
|
stickyHeaders = _ref4.stickyHeaders;
|
|
@@ -124,6 +125,7 @@ export var AKRendererWrapper = /*#__PURE__*/memo(function (_ref3) {
|
|
|
124
125
|
allowUgcScrubber: allowUgcScrubber,
|
|
125
126
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
126
127
|
emojiResourceConfig: emojiResourceConfig,
|
|
128
|
+
eventHandlers: fg('platform_synced_block_patch_1') ? eventHandlers : undefined,
|
|
127
129
|
media: media,
|
|
128
130
|
smartLinks: smartLinks,
|
|
129
131
|
stickyHeaders: stickyHeaders
|
|
@@ -19,7 +19,8 @@ export var useMemoizedSyncedBlockNodeComponent = function useMemoizedSyncedBlock
|
|
|
19
19
|
syncBlockProvider = _ref.syncBlockProvider,
|
|
20
20
|
syncBlockRendererOptions = _ref.syncBlockRendererOptions,
|
|
21
21
|
fireAnalyticsEvent = _ref.fireAnalyticsEvent,
|
|
22
|
-
getSSRData = _ref.getSSRData
|
|
22
|
+
getSSRData = _ref.getSSRData,
|
|
23
|
+
getPrefetchedData = _ref.getPrefetchedData;
|
|
23
24
|
var syncBlockStoreManager = useMemoizedSyncBlockStoreManager(syncBlockProvider, fireAnalyticsEvent);
|
|
24
25
|
|
|
25
26
|
// Initialize SSR data if available
|
|
@@ -32,7 +33,16 @@ export var useMemoizedSyncedBlockNodeComponent = function useMemoizedSyncedBlock
|
|
|
32
33
|
}
|
|
33
34
|
}, [getSSRData, syncBlockProvider]);
|
|
34
35
|
|
|
35
|
-
//
|
|
36
|
+
// Process prefetched data next, if available
|
|
37
|
+
useEffect(function () {
|
|
38
|
+
var prefetchedData;
|
|
39
|
+
if (getPrefetchedData) {
|
|
40
|
+
prefetchedData = getPrefetchedData();
|
|
41
|
+
syncBlockStoreManager.referenceManager.processPrefetchedData(prefetchedData);
|
|
42
|
+
}
|
|
43
|
+
}, [getPrefetchedData, syncBlockStoreManager.referenceManager]);
|
|
44
|
+
|
|
45
|
+
// Initial fetch sync block data (will use SSR data as initial cache, or the prefetched data if available)
|
|
36
46
|
useEffect(function () {
|
|
37
47
|
syncBlockStoreManager.referenceManager.fetchSyncBlocksData(syncBlockNodes);
|
|
38
48
|
}, [syncBlockNodes, syncBlockStoreManager.referenceManager]);
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type RendererProps } from '@atlaskit/renderer';
|
|
2
|
-
export type SyncedBlockRendererOptions = Pick<RendererProps, 'appearance' | 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
2
|
+
export type SyncedBlockRendererOptions = Pick<RendererProps, 'appearance' | 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'eventHandlers' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DocNode } from '@atlaskit/adf-schema';
|
|
3
3
|
import { type AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
|
|
4
|
-
import { type SyncBlockInstance, type SyncBlockNode } from '@atlaskit/editor-synced-block-provider';
|
|
5
|
-
import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
|
|
4
|
+
import { type SyncBlockInstance, type SyncBlockNode, type SyncedBlockProvider, type SyncBlockPrefetchData } from '@atlaskit/editor-synced-block-provider';
|
|
6
5
|
import type { SyncedBlockRendererOptions } from './types';
|
|
7
6
|
import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
|
|
8
7
|
export type GetSyncedBlockNodeComponentProps = {
|
|
9
8
|
fireAnalyticsEvent?: (payload: AnalyticsEventPayload) => void;
|
|
9
|
+
getPrefetchedData?: () => SyncBlockPrefetchData | undefined;
|
|
10
10
|
getSSRData?: () => Record<string, SyncBlockInstance> | undefined;
|
|
11
11
|
syncBlockNodes: SyncBlockNode[];
|
|
12
12
|
syncBlockProvider: SyncedBlockProvider;
|
|
13
13
|
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
14
14
|
};
|
|
15
15
|
export declare const getSyncBlockNodesFromDoc: (doc: DocNode) => SyncBlockNode[];
|
|
16
|
-
export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
|
16
|
+
export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, getPrefetchedData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type RendererProps } from '@atlaskit/renderer';
|
|
2
|
-
export type SyncedBlockRendererOptions = Pick<RendererProps, 'appearance' | 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
2
|
+
export type SyncedBlockRendererOptions = Pick<RendererProps, 'appearance' | 'allowAltTextOnImages' | 'allowAnnotations' | 'allowColumnSorting' | 'allowCopyToClipboard' | 'allowCustomPanels' | 'allowHeadingAnchorLinks' | 'allowPlaceholderText' | 'allowRendererContainerStyles' | 'allowSelectAllTrap' | 'allowUgcScrubber' | 'allowWrapCodeBlock' | 'emojiResourceConfig' | 'eventHandlers' | 'media' | 'smartLinks' | 'stickyHeaders'>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DocNode } from '@atlaskit/adf-schema';
|
|
3
3
|
import { type AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
|
|
4
|
-
import { type SyncBlockInstance, type SyncBlockNode } from '@atlaskit/editor-synced-block-provider';
|
|
5
|
-
import type { SyncedBlockProvider } from '@atlaskit/editor-synced-block-provider';
|
|
4
|
+
import { type SyncBlockInstance, type SyncBlockNode, type SyncedBlockProvider, type SyncBlockPrefetchData } from '@atlaskit/editor-synced-block-provider';
|
|
6
5
|
import type { SyncedBlockRendererOptions } from './types';
|
|
7
6
|
import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
|
|
8
7
|
export type GetSyncedBlockNodeComponentProps = {
|
|
9
8
|
fireAnalyticsEvent?: (payload: AnalyticsEventPayload) => void;
|
|
9
|
+
getPrefetchedData?: () => SyncBlockPrefetchData | undefined;
|
|
10
10
|
getSSRData?: () => Record<string, SyncBlockInstance> | undefined;
|
|
11
11
|
syncBlockNodes: SyncBlockNode[];
|
|
12
12
|
syncBlockProvider: SyncedBlockProvider;
|
|
13
13
|
syncBlockRendererOptions: SyncedBlockRendererOptions | undefined;
|
|
14
14
|
};
|
|
15
15
|
export declare const getSyncBlockNodesFromDoc: (doc: DocNode) => SyncBlockNode[];
|
|
16
|
-
export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
|
16
|
+
export declare const useMemoizedSyncedBlockNodeComponent: ({ syncBlockNodes, syncBlockProvider, syncBlockRendererOptions, fireAnalyticsEvent, getSSRData, getPrefetchedData, }: GetSyncedBlockNodeComponentProps) => ((props: SyncedBlockNodeProps) => React.JSX.Element);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-synced-block-renderer",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.7.1",
|
|
4
4
|
"description": "SyncedBlockRenderer for @atlaskit/editor-plugin-synced-block",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@atlaskit/button": "^23.9.0",
|
|
32
32
|
"@atlaskit/css": "^0.19.0",
|
|
33
33
|
"@atlaskit/editor-plugin-synced-block": "^5.3.0",
|
|
34
|
-
"@atlaskit/editor-synced-block-provider": "^3.
|
|
34
|
+
"@atlaskit/editor-synced-block-provider": "^3.27.0",
|
|
35
35
|
"@atlaskit/heading": "^5.3.0",
|
|
36
36
|
"@atlaskit/icon": "^30.0.0",
|
|
37
37
|
"@atlaskit/icon-lab": "^5.15.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"relay-runtime": "npm:atl-relay-runtime@0.0.0-main-39e79f66"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"@atlaskit/editor-common": "^111.
|
|
51
|
+
"@atlaskit/editor-common": "^111.12.0",
|
|
52
52
|
"react": "^18.2.0",
|
|
53
53
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
54
54
|
},
|