@atlaskit/editor-synced-block-renderer 2.2.2 → 2.2.4

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/getSyncedBlockNodeComponent.js +24 -0
  3. package/dist/cjs/getSyncedBlockRenderer.js +14 -0
  4. package/dist/cjs/index.js +5 -4
  5. package/dist/cjs/ui/SyncedBlockNodeComponentRenderer.js +67 -0
  6. package/dist/cjs/ui/SyncedBlockRenderer.js +40 -0
  7. package/dist/es2019/getSyncedBlockNodeComponent.js +13 -0
  8. package/dist/es2019/getSyncedBlockRenderer.js +7 -0
  9. package/dist/es2019/index.js +3 -2
  10. package/dist/es2019/ui/SyncedBlockNodeComponentRenderer.js +52 -0
  11. package/dist/es2019/ui/SyncedBlockRenderer.js +34 -0
  12. package/dist/esm/getSyncedBlockNodeComponent.js +17 -0
  13. package/dist/esm/getSyncedBlockRenderer.js +7 -0
  14. package/dist/esm/index.js +3 -2
  15. package/dist/esm/ui/SyncedBlockNodeComponentRenderer.js +58 -0
  16. package/dist/esm/ui/SyncedBlockRenderer.js +33 -0
  17. package/dist/types/getSyncedBlockNodeComponent.d.ts +5 -0
  18. package/dist/types/getSyncedBlockRenderer.d.ts +3 -0
  19. package/dist/types/index.d.ts +2 -1
  20. package/dist/types/ui/SyncedBlockNodeComponentRenderer.d.ts +11 -0
  21. package/dist/types/ui/SyncedBlockRenderer.d.ts +8 -0
  22. package/dist/types-ts4.5/getSyncedBlockNodeComponent.d.ts +5 -0
  23. package/dist/types-ts4.5/getSyncedBlockRenderer.d.ts +3 -0
  24. package/dist/types-ts4.5/index.d.ts +2 -1
  25. package/dist/types-ts4.5/ui/SyncedBlockNodeComponentRenderer.d.ts +11 -0
  26. package/dist/types-ts4.5/ui/SyncedBlockRenderer.d.ts +8 -0
  27. package/package.json +1 -1
  28. package/dist/cjs/syncedBlockRenderer.js +0 -129
  29. package/dist/es2019/syncedBlockRenderer.js +0 -111
  30. package/dist/esm/syncedBlockRenderer.js +0 -120
  31. package/dist/types/syncedBlockRenderer.d.ts +0 -38
  32. package/dist/types-ts4.5/syncedBlockRenderer.d.ts +0 -38
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-synced-block-renderer
2
2
 
3
+ ## 2.2.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`021d07c1b2d61`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/021d07c1b2d61) -
8
+ Minor refactor of editor-synced-block-renderer
9
+
10
+ ## 2.2.3
11
+
12
+ ### Patch Changes
13
+
14
+ - [`79981eddfbabb`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/79981eddfbabb) -
15
+ Remove schema check in nested renderer
16
+ - Updated dependencies
17
+
3
18
  ## 2.2.2
4
19
 
5
20
  ### Patch Changes
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getSyncedBlockNodeComponent = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _SyncedBlockNodeComponentRenderer = require("./ui/SyncedBlockNodeComponentRenderer");
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ var getSyncedBlockNodeComponent = exports.getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(dataProvider, doc) {
13
+ var content = doc.content;
14
+ var isEmpty = !content || !Array.isArray(content) || content.length === 0;
15
+ var syncBlockNodes = isEmpty ? [] : content.filter(function (node) {
16
+ return node.type === 'syncBlock';
17
+ });
18
+ var dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
19
+ return function (props) {
20
+ return (0, _SyncedBlockNodeComponentRenderer.SyncedBlockNodeComponentRenderer)(_objectSpread(_objectSpread({}, props), {}, {
21
+ dataPromise: dataPromise
22
+ }));
23
+ };
24
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getSyncedBlockRenderer = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _SyncedBlockRenderer = require("./ui/SyncedBlockRenderer");
10
+ var getSyncedBlockRenderer = exports.getSyncedBlockRenderer = function getSyncedBlockRenderer(props) {
11
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockRenderer.SyncedBlockRenderer, {
12
+ useFetchSyncBlockData: props.useFetchSyncBlockData
13
+ });
14
+ };
package/dist/cjs/index.js CHANGED
@@ -3,16 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "getSyncBlockNodeComponent", {
6
+ Object.defineProperty(exports, "getSyncedBlockNodeComponent", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _syncedBlockRenderer.getSyncBlockNodeComponent;
9
+ return _getSyncedBlockNodeComponent.getSyncedBlockNodeComponent;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "getSyncedBlockRenderer", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _syncedBlockRenderer.getSyncedBlockRenderer;
15
+ return _getSyncedBlockRenderer.getSyncedBlockRenderer;
16
16
  }
17
17
  });
18
- var _syncedBlockRenderer = require("./syncedBlockRenderer");
18
+ var _getSyncedBlockNodeComponent = require("./getSyncedBlockNodeComponent");
19
+ var _getSyncedBlockRenderer = require("./getSyncedBlockRenderer");
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SyncedBlockNodeComponentRenderer = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
12
+ var _renderer = require("@atlaskit/renderer");
13
+ var _actions = require("@atlaskit/renderer/actions");
14
+ var _SyncedBlockErrorComponent = require("./SyncedBlockErrorComponent");
15
+ var _SyncedBlockLoadingState = require("./SyncedBlockLoadingState");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
+ var SyncedBlockNodeComponentRenderer = exports.SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(props) {
18
+ var _useState = (0, _react.useState)(null),
19
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
20
+ data = _useState2[0],
21
+ setData = _useState2[1];
22
+ (0, _react.useEffect)(function () {
23
+ if (!props.dataPromise) {
24
+ return;
25
+ }
26
+ if (data) {
27
+ return;
28
+ }
29
+ props.dataPromise.then(function (data) {
30
+ setData(data);
31
+ });
32
+ }, [props.dataPromise, data]);
33
+ if (!data) {
34
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockLoadingState.SyncedBlockLoadingState, null);
35
+ }
36
+ var fetchResult = data.find(function (item) {
37
+ return item.resourceId === props.resourceId;
38
+ });
39
+ if (!fetchResult) {
40
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
41
+ status: _editorSyncedBlockProvider.SyncBlockStatus.Errored
42
+ });
43
+ }
44
+ if ('status' in fetchResult) {
45
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
46
+ status: fetchResult.status
47
+ });
48
+ }
49
+ var syncBlockData = fetchResult;
50
+ var syncBlockDoc = {
51
+ content: syncBlockData.content,
52
+ version: 1,
53
+ type: 'doc'
54
+ };
55
+ return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
56
+ "data-sync-block": true,
57
+ "data-testid": "sync-block-renderer-wrapper",
58
+ "data-resource-id": props.resourceId,
59
+ "data-local-id": props.localId
60
+ }, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
61
+ appearance: "full-width",
62
+ adfStage: "stage0",
63
+ document: syncBlockDoc,
64
+ disableHeadingIDs: true,
65
+ dataProviders: props.providers
66
+ })));
67
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SyncedBlockRenderer = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _renderer = require("@atlaskit/renderer");
10
+ var _actions = require("@atlaskit/renderer/actions");
11
+ var _SyncedBlockErrorComponent = require("./SyncedBlockErrorComponent");
12
+ var _SyncedBlockLoadingState = require("./SyncedBlockLoadingState");
13
+ var SyncedBlockRenderer = exports.SyncedBlockRenderer = function SyncedBlockRenderer(_ref) {
14
+ var useFetchSyncBlockData = _ref.useFetchSyncBlockData,
15
+ dataProviders = _ref.dataProviders;
16
+ var fetchResult = useFetchSyncBlockData();
17
+ if (!fetchResult) {
18
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockLoadingState.SyncedBlockLoadingState, null);
19
+ }
20
+ if ('status' in fetchResult) {
21
+ return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
22
+ status: fetchResult.status
23
+ });
24
+ }
25
+ var syncBlockData = fetchResult;
26
+ var syncBlockDoc = {
27
+ content: syncBlockData.content,
28
+ version: 1,
29
+ type: 'doc'
30
+ };
31
+ return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
32
+ "data-testid": "sync-block-renderer-wrapper"
33
+ }, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
34
+ appearance: "full-width",
35
+ adfStage: "stage0",
36
+ document: syncBlockDoc,
37
+ disableHeadingIDs: true,
38
+ dataProviders: dataProviders
39
+ })));
40
+ };
@@ -0,0 +1,13 @@
1
+ import { SyncedBlockNodeComponentRenderer } from './ui/SyncedBlockNodeComponentRenderer';
2
+ export const getSyncedBlockNodeComponent = (dataProvider, doc) => {
3
+ const {
4
+ content
5
+ } = doc;
6
+ const isEmpty = !content || !Array.isArray(content) || content.length === 0;
7
+ const syncBlockNodes = isEmpty ? [] : content.filter(node => node.type === 'syncBlock');
8
+ const dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
9
+ return props => SyncedBlockNodeComponentRenderer({
10
+ ...props,
11
+ dataPromise
12
+ });
13
+ };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SyncedBlockRenderer } from './ui/SyncedBlockRenderer';
3
+ export const getSyncedBlockRenderer = props => {
4
+ return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
5
+ useFetchSyncBlockData: props.useFetchSyncBlockData
6
+ });
7
+ };
@@ -1,2 +1,3 @@
1
- // eslint-disable-next-line @atlaskit/editor/no-re-export
2
- export { getSyncBlockNodeComponent, getSyncedBlockRenderer } from './syncedBlockRenderer';
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ export { getSyncedBlockNodeComponent } from './getSyncedBlockNodeComponent';
3
+ export { getSyncedBlockRenderer } from './getSyncedBlockRenderer';
@@ -0,0 +1,52 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { SyncBlockStatus } from '@atlaskit/editor-synced-block-provider';
3
+ import { ReactRenderer } from '@atlaskit/renderer';
4
+ import { RendererActionsContext } from '@atlaskit/renderer/actions';
5
+ import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
6
+ import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
7
+ export const SyncedBlockNodeComponentRenderer = props => {
8
+ const [data, setData] = useState(null);
9
+ useEffect(() => {
10
+ if (!props.dataPromise) {
11
+ return;
12
+ }
13
+ if (data) {
14
+ return;
15
+ }
16
+ props.dataPromise.then(data => {
17
+ setData(data);
18
+ });
19
+ }, [props.dataPromise, data]);
20
+ if (!data) {
21
+ return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
22
+ }
23
+ const fetchResult = data.find(item => item.resourceId === props.resourceId);
24
+ if (!fetchResult) {
25
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
26
+ status: SyncBlockStatus.Errored
27
+ });
28
+ }
29
+ if ('status' in fetchResult) {
30
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
31
+ status: fetchResult.status
32
+ });
33
+ }
34
+ const syncBlockData = fetchResult;
35
+ const syncBlockDoc = {
36
+ content: syncBlockData.content,
37
+ version: 1,
38
+ type: 'doc'
39
+ };
40
+ return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
41
+ "data-sync-block": true,
42
+ "data-testid": "sync-block-renderer-wrapper",
43
+ "data-resource-id": props.resourceId,
44
+ "data-local-id": props.localId
45
+ }, /*#__PURE__*/React.createElement(ReactRenderer, {
46
+ appearance: "full-width",
47
+ adfStage: "stage0",
48
+ document: syncBlockDoc,
49
+ disableHeadingIDs: true,
50
+ dataProviders: props.providers
51
+ })));
52
+ };
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { ReactRenderer } from '@atlaskit/renderer';
3
+ import { RendererActionsContext } from '@atlaskit/renderer/actions';
4
+ import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
5
+ import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
6
+ export const SyncedBlockRenderer = ({
7
+ useFetchSyncBlockData,
8
+ dataProviders
9
+ }) => {
10
+ const fetchResult = useFetchSyncBlockData();
11
+ if (!fetchResult) {
12
+ return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
13
+ }
14
+ if ('status' in fetchResult) {
15
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
16
+ status: fetchResult.status
17
+ });
18
+ }
19
+ const syncBlockData = fetchResult;
20
+ const syncBlockDoc = {
21
+ content: syncBlockData.content,
22
+ version: 1,
23
+ type: 'doc'
24
+ };
25
+ return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
26
+ "data-testid": "sync-block-renderer-wrapper"
27
+ }, /*#__PURE__*/React.createElement(ReactRenderer, {
28
+ appearance: "full-width",
29
+ adfStage: "stage0",
30
+ document: syncBlockDoc,
31
+ disableHeadingIDs: true,
32
+ dataProviders: dataProviders
33
+ })));
34
+ };
@@ -0,0 +1,17 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { SyncedBlockNodeComponentRenderer } from './ui/SyncedBlockNodeComponentRenderer';
5
+ export var getSyncedBlockNodeComponent = function getSyncedBlockNodeComponent(dataProvider, doc) {
6
+ var content = doc.content;
7
+ var isEmpty = !content || !Array.isArray(content) || content.length === 0;
8
+ var syncBlockNodes = isEmpty ? [] : content.filter(function (node) {
9
+ return node.type === 'syncBlock';
10
+ });
11
+ var dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
12
+ return function (props) {
13
+ return SyncedBlockNodeComponentRenderer(_objectSpread(_objectSpread({}, props), {}, {
14
+ dataPromise: dataPromise
15
+ }));
16
+ };
17
+ };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SyncedBlockRenderer } from './ui/SyncedBlockRenderer';
3
+ export var getSyncedBlockRenderer = function getSyncedBlockRenderer(props) {
4
+ return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
5
+ useFetchSyncBlockData: props.useFetchSyncBlockData
6
+ });
7
+ };
package/dist/esm/index.js CHANGED
@@ -1,2 +1,3 @@
1
- // eslint-disable-next-line @atlaskit/editor/no-re-export
2
- export { getSyncBlockNodeComponent, getSyncedBlockRenderer } from './syncedBlockRenderer';
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
+ export { getSyncedBlockNodeComponent } from './getSyncedBlockNodeComponent';
3
+ export { getSyncedBlockRenderer } from './getSyncedBlockRenderer';
@@ -0,0 +1,58 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useEffect, useState } from 'react';
3
+ import { SyncBlockStatus } from '@atlaskit/editor-synced-block-provider';
4
+ import { ReactRenderer } from '@atlaskit/renderer';
5
+ import { RendererActionsContext } from '@atlaskit/renderer/actions';
6
+ import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
7
+ import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
8
+ export var SyncedBlockNodeComponentRenderer = function SyncedBlockNodeComponentRenderer(props) {
9
+ var _useState = useState(null),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ data = _useState2[0],
12
+ setData = _useState2[1];
13
+ useEffect(function () {
14
+ if (!props.dataPromise) {
15
+ return;
16
+ }
17
+ if (data) {
18
+ return;
19
+ }
20
+ props.dataPromise.then(function (data) {
21
+ setData(data);
22
+ });
23
+ }, [props.dataPromise, data]);
24
+ if (!data) {
25
+ return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
26
+ }
27
+ var fetchResult = data.find(function (item) {
28
+ return item.resourceId === props.resourceId;
29
+ });
30
+ if (!fetchResult) {
31
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
32
+ status: SyncBlockStatus.Errored
33
+ });
34
+ }
35
+ if ('status' in fetchResult) {
36
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
37
+ status: fetchResult.status
38
+ });
39
+ }
40
+ var syncBlockData = fetchResult;
41
+ var syncBlockDoc = {
42
+ content: syncBlockData.content,
43
+ version: 1,
44
+ type: 'doc'
45
+ };
46
+ return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
47
+ "data-sync-block": true,
48
+ "data-testid": "sync-block-renderer-wrapper",
49
+ "data-resource-id": props.resourceId,
50
+ "data-local-id": props.localId
51
+ }, /*#__PURE__*/React.createElement(ReactRenderer, {
52
+ appearance: "full-width",
53
+ adfStage: "stage0",
54
+ document: syncBlockDoc,
55
+ disableHeadingIDs: true,
56
+ dataProviders: props.providers
57
+ })));
58
+ };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { ReactRenderer } from '@atlaskit/renderer';
3
+ import { RendererActionsContext } from '@atlaskit/renderer/actions';
4
+ import { SyncedBlockErrorComponent } from './SyncedBlockErrorComponent';
5
+ import { SyncedBlockLoadingState } from './SyncedBlockLoadingState';
6
+ export var SyncedBlockRenderer = function SyncedBlockRenderer(_ref) {
7
+ var useFetchSyncBlockData = _ref.useFetchSyncBlockData,
8
+ dataProviders = _ref.dataProviders;
9
+ var fetchResult = useFetchSyncBlockData();
10
+ if (!fetchResult) {
11
+ return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
12
+ }
13
+ if ('status' in fetchResult) {
14
+ return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
15
+ status: fetchResult.status
16
+ });
17
+ }
18
+ var syncBlockData = fetchResult;
19
+ var syncBlockDoc = {
20
+ content: syncBlockData.content,
21
+ version: 1,
22
+ type: 'doc'
23
+ };
24
+ return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
25
+ "data-testid": "sync-block-renderer-wrapper"
26
+ }, /*#__PURE__*/React.createElement(ReactRenderer, {
27
+ appearance: "full-width",
28
+ adfStage: "stage0",
29
+ document: syncBlockDoc,
30
+ disableHeadingIDs: true,
31
+ dataProviders: dataProviders
32
+ })));
33
+ };
@@ -0,0 +1,5 @@
1
+ import type { DocNode } from '@atlaskit/adf-schema';
2
+ import { type SyncBlockNode, type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
3
+ import type { NodeDataProvider } from '@atlaskit/node-data-provider';
4
+ import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
5
+ export declare const getSyncedBlockNodeComponent: (dataProvider: NodeDataProvider<SyncBlockNode, FetchSyncBlockDataResult>, doc: DocNode) => (props: SyncedBlockNodeProps) => import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type SyncedBlockRendererProps } from './ui/SyncedBlockRenderer';
3
+ export declare const getSyncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
@@ -1 +1,2 @@
1
- export { getSyncBlockNodeComponent, getSyncedBlockRenderer } from './syncedBlockRenderer';
1
+ export { getSyncedBlockNodeComponent } from './getSyncedBlockNodeComponent';
2
+ export { getSyncedBlockRenderer } from './getSyncedBlockRenderer';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
3
+ import { type NodeProps } from '@atlaskit/renderer';
4
+ export interface SyncedBlockProps {
5
+ localId?: string;
6
+ resourceId?: string;
7
+ }
8
+ export type SyncedBlockNodeProps = NodeProps<SyncedBlockProps>;
9
+ export declare const SyncedBlockNodeComponentRenderer: (props: SyncedBlockNodeProps & {
10
+ dataPromise: Promise<FetchSyncBlockDataResult[]> | null;
11
+ }) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
3
+ import { type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
4
+ export type SyncedBlockRendererProps = {
5
+ dataProviders?: ProviderFactory;
6
+ useFetchSyncBlockData: () => FetchSyncBlockDataResult | null;
7
+ };
8
+ export declare const SyncedBlockRenderer: ({ useFetchSyncBlockData, dataProviders, }: SyncedBlockRendererProps) => React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { DocNode } from '@atlaskit/adf-schema';
2
+ import { type SyncBlockNode, type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
3
+ import type { NodeDataProvider } from '@atlaskit/node-data-provider';
4
+ import { type SyncedBlockNodeProps } from './ui/SyncedBlockNodeComponentRenderer';
5
+ export declare const getSyncedBlockNodeComponent: (dataProvider: NodeDataProvider<SyncBlockNode, FetchSyncBlockDataResult>, doc: DocNode) => (props: SyncedBlockNodeProps) => import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type SyncedBlockRendererProps } from './ui/SyncedBlockRenderer';
3
+ export declare const getSyncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
@@ -1 +1,2 @@
1
- export { getSyncBlockNodeComponent, getSyncedBlockRenderer } from './syncedBlockRenderer';
1
+ export { getSyncedBlockNodeComponent } from './getSyncedBlockNodeComponent';
2
+ export { getSyncedBlockRenderer } from './getSyncedBlockRenderer';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
3
+ import { type NodeProps } from '@atlaskit/renderer';
4
+ export interface SyncedBlockProps {
5
+ localId?: string;
6
+ resourceId?: string;
7
+ }
8
+ export type SyncedBlockNodeProps = NodeProps<SyncedBlockProps>;
9
+ export declare const SyncedBlockNodeComponentRenderer: (props: SyncedBlockNodeProps & {
10
+ dataPromise: Promise<FetchSyncBlockDataResult[]> | null;
11
+ }) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
3
+ import { type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
4
+ export type SyncedBlockRendererProps = {
5
+ dataProviders?: ProviderFactory;
6
+ useFetchSyncBlockData: () => FetchSyncBlockDataResult | null;
7
+ };
8
+ export declare const SyncedBlockRenderer: ({ useFetchSyncBlockData, dataProviders, }: SyncedBlockRendererProps) => React.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-synced-block-renderer",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "SyncedBlockRenderer for @atlaskit/editor-plugin-synced-block",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -1,129 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getSyncedBlockRenderer = exports.getSyncBlockNodeComponent = void 0;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _editorSyncedBlockProvider = require("@atlaskit/editor-synced-block-provider");
13
- var _renderer = require("@atlaskit/renderer");
14
- var _actions = require("@atlaskit/renderer/actions");
15
- var _SyncedBlockErrorComponent = require("./ui/SyncedBlockErrorComponent");
16
- var _SyncedBlockLoadingState = require("./ui/SyncedBlockLoadingState");
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- var SyncedBlockRenderer = function SyncedBlockRenderer(_ref) {
21
- var useFetchSyncBlockData = _ref.useFetchSyncBlockData,
22
- dataProviders = _ref.dataProviders;
23
- var fetchResult = useFetchSyncBlockData();
24
- if (!fetchResult) {
25
- return /*#__PURE__*/_react.default.createElement(_SyncedBlockLoadingState.SyncedBlockLoadingState, null);
26
- }
27
- if ('status' in fetchResult) {
28
- return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
29
- status: fetchResult.status
30
- });
31
- }
32
- var syncBlockData = fetchResult;
33
- var syncBlockDoc = {
34
- content: syncBlockData.content,
35
- version: 1,
36
- type: 'doc'
37
- };
38
- return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
39
- "data-testid": "sync-block-renderer-wrapper"
40
- }, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
41
- appearance: "full-width",
42
- adfStage: "stage0",
43
- schema: (0, _editorSyncedBlockProvider.getDefaultSyncBlockSchema)(),
44
- document: syncBlockDoc,
45
- disableHeadingIDs: true,
46
- dataProviders: dataProviders
47
- })));
48
- };
49
- var getSyncedBlockRenderer = exports.getSyncedBlockRenderer = function getSyncedBlockRenderer(props) {
50
- return /*#__PURE__*/_react.default.createElement(SyncedBlockRenderer, {
51
- useFetchSyncBlockData: props.useFetchSyncBlockData
52
- });
53
- };
54
-
55
- /**
56
- * From packages packages/editor/renderer/src/react/types.ts
57
- * Avoid importing from renderer package directly to avoid circular dependency
58
- */
59
-
60
- /**
61
- * This is a subset of the full NodeMeta type defined in renderer package
62
- * packages/editor/renderer/src/react/types.ts
63
- */
64
-
65
- var SyncBlockNodeComponent = function SyncBlockNodeComponent(props) {
66
- var _useState = (0, _react.useState)(null),
67
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
68
- data = _useState2[0],
69
- setData = _useState2[1];
70
- (0, _react.useEffect)(function () {
71
- if (!props.dataPromise) {
72
- return;
73
- }
74
- if (data) {
75
- return;
76
- }
77
- props.dataPromise.then(function (data) {
78
- setData(data);
79
- });
80
- }, [props.dataPromise, data]);
81
- if (!data) {
82
- return /*#__PURE__*/_react.default.createElement(_SyncedBlockLoadingState.SyncedBlockLoadingState, null);
83
- }
84
- var fetchResult = data.find(function (item) {
85
- return item.resourceId === props.resourceId;
86
- });
87
- if (!fetchResult) {
88
- return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
89
- status: _editorSyncedBlockProvider.SyncBlockStatus.Errored
90
- });
91
- }
92
- if ('status' in fetchResult) {
93
- return /*#__PURE__*/_react.default.createElement(_SyncedBlockErrorComponent.SyncedBlockErrorComponent, {
94
- status: fetchResult.status
95
- });
96
- }
97
- var syncBlockData = fetchResult;
98
- var syncBlockDoc = {
99
- content: syncBlockData.content,
100
- version: 1,
101
- type: 'doc'
102
- };
103
- return /*#__PURE__*/_react.default.createElement(_actions.RendererActionsContext, null, /*#__PURE__*/_react.default.createElement("div", {
104
- "data-sync-block": true,
105
- "data-testid": "sync-block-renderer-wrapper",
106
- "data-resource-id": props.resourceId,
107
- "data-local-id": props.localId
108
- }, /*#__PURE__*/_react.default.createElement(_renderer.ReactRenderer, {
109
- appearance: "full-width",
110
- adfStage: "stage0",
111
- schema: (0, _editorSyncedBlockProvider.getDefaultSyncBlockSchema)(),
112
- document: syncBlockDoc,
113
- disableHeadingIDs: true,
114
- dataProviders: props.providers
115
- })));
116
- };
117
- var getSyncBlockNodeComponent = exports.getSyncBlockNodeComponent = function getSyncBlockNodeComponent(dataProvider, doc) {
118
- var content = doc.content;
119
- var isEmpty = !content || !Array.isArray(content) || content.length === 0;
120
- var syncBlockNodes = isEmpty ? [] : content.filter(function (node) {
121
- return node.type === 'syncBlock';
122
- });
123
- var dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
124
- return function (props) {
125
- return SyncBlockNodeComponent(_objectSpread(_objectSpread({}, props), {}, {
126
- dataPromise: dataPromise
127
- }));
128
- };
129
- };
@@ -1,111 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { getDefaultSyncBlockSchema, SyncBlockStatus } from '@atlaskit/editor-synced-block-provider';
3
- import { ReactRenderer } from '@atlaskit/renderer';
4
- import { RendererActionsContext } from '@atlaskit/renderer/actions';
5
- import { SyncedBlockErrorComponent } from './ui/SyncedBlockErrorComponent';
6
- import { SyncedBlockLoadingState } from './ui/SyncedBlockLoadingState';
7
- const SyncedBlockRenderer = ({
8
- useFetchSyncBlockData,
9
- dataProviders
10
- }) => {
11
- const fetchResult = useFetchSyncBlockData();
12
- if (!fetchResult) {
13
- return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
14
- }
15
- if ('status' in fetchResult) {
16
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
17
- status: fetchResult.status
18
- });
19
- }
20
- const syncBlockData = fetchResult;
21
- const syncBlockDoc = {
22
- content: syncBlockData.content,
23
- version: 1,
24
- type: 'doc'
25
- };
26
- return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
27
- "data-testid": "sync-block-renderer-wrapper"
28
- }, /*#__PURE__*/React.createElement(ReactRenderer, {
29
- appearance: "full-width",
30
- adfStage: "stage0",
31
- schema: getDefaultSyncBlockSchema(),
32
- document: syncBlockDoc,
33
- disableHeadingIDs: true,
34
- dataProviders: dataProviders
35
- })));
36
- };
37
- export const getSyncedBlockRenderer = props => {
38
- return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
39
- useFetchSyncBlockData: props.useFetchSyncBlockData
40
- });
41
- };
42
-
43
- /**
44
- * From packages packages/editor/renderer/src/react/types.ts
45
- * Avoid importing from renderer package directly to avoid circular dependency
46
- */
47
-
48
- /**
49
- * This is a subset of the full NodeMeta type defined in renderer package
50
- * packages/editor/renderer/src/react/types.ts
51
- */
52
-
53
- const SyncBlockNodeComponent = props => {
54
- const [data, setData] = useState(null);
55
- useEffect(() => {
56
- if (!props.dataPromise) {
57
- return;
58
- }
59
- if (data) {
60
- return;
61
- }
62
- props.dataPromise.then(data => {
63
- setData(data);
64
- });
65
- }, [props.dataPromise, data]);
66
- if (!data) {
67
- return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
68
- }
69
- const fetchResult = data.find(item => item.resourceId === props.resourceId);
70
- if (!fetchResult) {
71
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
72
- status: SyncBlockStatus.Errored
73
- });
74
- }
75
- if ('status' in fetchResult) {
76
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
77
- status: fetchResult.status
78
- });
79
- }
80
- const syncBlockData = fetchResult;
81
- const syncBlockDoc = {
82
- content: syncBlockData.content,
83
- version: 1,
84
- type: 'doc'
85
- };
86
- return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
87
- "data-sync-block": true,
88
- "data-testid": "sync-block-renderer-wrapper",
89
- "data-resource-id": props.resourceId,
90
- "data-local-id": props.localId
91
- }, /*#__PURE__*/React.createElement(ReactRenderer, {
92
- appearance: "full-width",
93
- adfStage: "stage0",
94
- schema: getDefaultSyncBlockSchema(),
95
- document: syncBlockDoc,
96
- disableHeadingIDs: true,
97
- dataProviders: props.providers
98
- })));
99
- };
100
- export const getSyncBlockNodeComponent = (dataProvider, doc) => {
101
- const {
102
- content
103
- } = doc;
104
- const isEmpty = !content || !Array.isArray(content) || content.length === 0;
105
- const syncBlockNodes = isEmpty ? [] : content.filter(node => node.type === 'syncBlock');
106
- const dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
107
- return props => SyncBlockNodeComponent({
108
- ...props,
109
- dataPromise
110
- });
111
- };
@@ -1,120 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- import React, { useEffect, useState } from 'react';
6
- import { getDefaultSyncBlockSchema, SyncBlockStatus } from '@atlaskit/editor-synced-block-provider';
7
- import { ReactRenderer } from '@atlaskit/renderer';
8
- import { RendererActionsContext } from '@atlaskit/renderer/actions';
9
- import { SyncedBlockErrorComponent } from './ui/SyncedBlockErrorComponent';
10
- import { SyncedBlockLoadingState } from './ui/SyncedBlockLoadingState';
11
- var SyncedBlockRenderer = function SyncedBlockRenderer(_ref) {
12
- var useFetchSyncBlockData = _ref.useFetchSyncBlockData,
13
- dataProviders = _ref.dataProviders;
14
- var fetchResult = useFetchSyncBlockData();
15
- if (!fetchResult) {
16
- return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
17
- }
18
- if ('status' in fetchResult) {
19
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
20
- status: fetchResult.status
21
- });
22
- }
23
- var syncBlockData = fetchResult;
24
- var syncBlockDoc = {
25
- content: syncBlockData.content,
26
- version: 1,
27
- type: 'doc'
28
- };
29
- return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
30
- "data-testid": "sync-block-renderer-wrapper"
31
- }, /*#__PURE__*/React.createElement(ReactRenderer, {
32
- appearance: "full-width",
33
- adfStage: "stage0",
34
- schema: getDefaultSyncBlockSchema(),
35
- document: syncBlockDoc,
36
- disableHeadingIDs: true,
37
- dataProviders: dataProviders
38
- })));
39
- };
40
- export var getSyncedBlockRenderer = function getSyncedBlockRenderer(props) {
41
- return /*#__PURE__*/React.createElement(SyncedBlockRenderer, {
42
- useFetchSyncBlockData: props.useFetchSyncBlockData
43
- });
44
- };
45
-
46
- /**
47
- * From packages packages/editor/renderer/src/react/types.ts
48
- * Avoid importing from renderer package directly to avoid circular dependency
49
- */
50
-
51
- /**
52
- * This is a subset of the full NodeMeta type defined in renderer package
53
- * packages/editor/renderer/src/react/types.ts
54
- */
55
-
56
- var SyncBlockNodeComponent = function SyncBlockNodeComponent(props) {
57
- var _useState = useState(null),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- data = _useState2[0],
60
- setData = _useState2[1];
61
- useEffect(function () {
62
- if (!props.dataPromise) {
63
- return;
64
- }
65
- if (data) {
66
- return;
67
- }
68
- props.dataPromise.then(function (data) {
69
- setData(data);
70
- });
71
- }, [props.dataPromise, data]);
72
- if (!data) {
73
- return /*#__PURE__*/React.createElement(SyncedBlockLoadingState, null);
74
- }
75
- var fetchResult = data.find(function (item) {
76
- return item.resourceId === props.resourceId;
77
- });
78
- if (!fetchResult) {
79
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
80
- status: SyncBlockStatus.Errored
81
- });
82
- }
83
- if ('status' in fetchResult) {
84
- return /*#__PURE__*/React.createElement(SyncedBlockErrorComponent, {
85
- status: fetchResult.status
86
- });
87
- }
88
- var syncBlockData = fetchResult;
89
- var syncBlockDoc = {
90
- content: syncBlockData.content,
91
- version: 1,
92
- type: 'doc'
93
- };
94
- return /*#__PURE__*/React.createElement(RendererActionsContext, null, /*#__PURE__*/React.createElement("div", {
95
- "data-sync-block": true,
96
- "data-testid": "sync-block-renderer-wrapper",
97
- "data-resource-id": props.resourceId,
98
- "data-local-id": props.localId
99
- }, /*#__PURE__*/React.createElement(ReactRenderer, {
100
- appearance: "full-width",
101
- adfStage: "stage0",
102
- schema: getDefaultSyncBlockSchema(),
103
- document: syncBlockDoc,
104
- disableHeadingIDs: true,
105
- dataProviders: props.providers
106
- })));
107
- };
108
- export var getSyncBlockNodeComponent = function getSyncBlockNodeComponent(dataProvider, doc) {
109
- var content = doc.content;
110
- var isEmpty = !content || !Array.isArray(content) || content.length === 0;
111
- var syncBlockNodes = isEmpty ? [] : content.filter(function (node) {
112
- return node.type === 'syncBlock';
113
- });
114
- var dataPromise = dataProvider.fetchNodesData(syncBlockNodes);
115
- return function (props) {
116
- return SyncBlockNodeComponent(_objectSpread(_objectSpread({}, props), {}, {
117
- dataPromise: dataPromise
118
- }));
119
- };
120
- };
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import type { DocNode } from '@atlaskit/adf-schema';
3
- import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
4
- import type { NodeType, Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
5
- import { type SyncBlockNode, type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
6
- import type { NodeDataProvider } from '@atlaskit/node-data-provider';
7
- export type SyncedBlockRendererProps = {
8
- dataProviders?: ProviderFactory;
9
- useFetchSyncBlockData: () => FetchSyncBlockDataResult | null;
10
- };
11
- export declare const getSyncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
12
- /**
13
- * From packages packages/editor/renderer/src/react/types.ts
14
- * Avoid importing from renderer package directly to avoid circular dependency
15
- */
16
- export interface RendererContext {
17
- adDoc?: any;
18
- containerAri?: string;
19
- objectAri?: string;
20
- schema?: Schema;
21
- }
22
- /**
23
- * This is a subset of the full NodeMeta type defined in renderer package
24
- * packages/editor/renderer/src/react/types.ts
25
- */
26
- export interface NodeMeta {
27
- dataAttributes: {
28
- 'data-renderer-start-pos': number;
29
- };
30
- localId?: string;
31
- marks: PMNode['marks'];
32
- nodeType: NodeType['name'];
33
- portal?: HTMLElement | undefined;
34
- providers?: ProviderFactory | undefined;
35
- rendererContext?: RendererContext;
36
- resourceId?: string;
37
- }
38
- export declare const getSyncBlockNodeComponent: (dataProvider: NodeDataProvider<SyncBlockNode, FetchSyncBlockDataResult>, doc: DocNode) => (props: NodeMeta) => React.JSX.Element;
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import type { DocNode } from '@atlaskit/adf-schema';
3
- import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
4
- import type { NodeType, Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
5
- import { type SyncBlockNode, type FetchSyncBlockDataResult } from '@atlaskit/editor-synced-block-provider';
6
- import type { NodeDataProvider } from '@atlaskit/node-data-provider';
7
- export type SyncedBlockRendererProps = {
8
- dataProviders?: ProviderFactory;
9
- useFetchSyncBlockData: () => FetchSyncBlockDataResult | null;
10
- };
11
- export declare const getSyncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
12
- /**
13
- * From packages packages/editor/renderer/src/react/types.ts
14
- * Avoid importing from renderer package directly to avoid circular dependency
15
- */
16
- export interface RendererContext {
17
- adDoc?: any;
18
- containerAri?: string;
19
- objectAri?: string;
20
- schema?: Schema;
21
- }
22
- /**
23
- * This is a subset of the full NodeMeta type defined in renderer package
24
- * packages/editor/renderer/src/react/types.ts
25
- */
26
- export interface NodeMeta {
27
- dataAttributes: {
28
- 'data-renderer-start-pos': number;
29
- };
30
- localId?: string;
31
- marks: PMNode['marks'];
32
- nodeType: NodeType['name'];
33
- portal?: HTMLElement | undefined;
34
- providers?: ProviderFactory | undefined;
35
- rendererContext?: RendererContext;
36
- resourceId?: string;
37
- }
38
- export declare const getSyncBlockNodeComponent: (dataProvider: NodeDataProvider<SyncBlockNode, FetchSyncBlockDataResult>, doc: DocNode) => (props: NodeMeta) => React.JSX.Element;