@atlaskit/adf-utils 19.25.2 → 19.25.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/adf-utils
2
2
 
3
+ ## 19.25.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`0fc48508d98fc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0fc48508d98fc) -
8
+ EDITOR-2807 Added syncBlock and bodiedSyncBlock fallback transform
9
+
10
+ ## 19.25.3
11
+
12
+ ### Patch Changes
13
+
14
+ - [`4660917b9e6b9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4660917b9e6b9) -
15
+ Cleaned platform_editor_nested_table_extension_comment_fix FG.
16
+
3
17
  ## 19.25.2
4
18
 
5
19
  ### Patch Changes
@@ -34,35 +34,11 @@ var transformNestedTableExtension = function transformNestedTableExtension(neste
34
34
  throw new _errors.NodeNestingTransformError('Failed to parse nested table content');
35
35
  }
36
36
  };
37
-
38
- // TODO: EDITOR-806 - Remove when cleaning feature gate platform_editor_nested_table_extension_comment_fix
39
- function isInsideBodiedExtension(parent) {
40
- var _parent$parent;
41
- if (parent.node === undefined) {
42
- return false;
43
- }
44
- if (parent.node.type === 'bodiedExtension') {
45
- return true;
46
- }
47
- if (parent !== null && parent !== void 0 && (_parent$parent = parent.parent) !== null && _parent$parent !== void 0 && _parent$parent.node) {
48
- return isInsideBodiedExtension(parent.parent);
49
- }
50
- return false;
51
- }
52
37
  var transformNestedTablesIncomingDocument = exports.transformNestedTablesIncomingDocument = function transformNestedTablesIncomingDocument(adf) {
53
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
54
38
  var isTransformed = false;
55
39
  var transformedAdf = (0, _traverse.traverse)(adf, {
56
- extension: function extension(node, parent) {
40
+ extension: function extension(node) {
57
41
  if (isNestedTableExtension(node)) {
58
- // TODO: EDITOR-806 - Remove this block when cleaning feature gate platform_editor_nested_table_extension_comment_fix
59
- // Bodied extensions in renderer use their own nested renderer to render the content.
60
- // This results in the document being validated/transformed twice, once with untransformed content and again with transformed content.
61
- // Since the untransformed content is valid ADF (table as extension in table) but the transformed content is not valid ADF, (table in table)
62
- // we need to skip transforming nested tables inside bodied extensions in renderer on the first pass or else it will fail validation and render an unsupported block.
63
- if (options.environment === 'renderer' && isInsideBodiedExtension(parent) && !options.disableNestedRendererTreatment) {
64
- return undefined;
65
- }
66
42
  isTransformed = true;
67
43
  return transformNestedTableExtension(node);
68
44
  }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.syncBlockFallbackTransform = void 0;
7
+ var _traverse = require("../traverse/traverse");
8
+ var syncBlockFallbackTransform = exports.syncBlockFallbackTransform = function syncBlockFallbackTransform(schema, adf) {
9
+ var isTransformed = false;
10
+ var _schema$nodes = schema.nodes,
11
+ _syncBlock = _schema$nodes.syncBlock,
12
+ _bodiedSyncBlock = _schema$nodes.bodiedSyncBlock,
13
+ unsupportedBlock = _schema$nodes.unsupportedBlock;
14
+ if (!unsupportedBlock) {
15
+ return {
16
+ isTransformed: isTransformed,
17
+ transformedAdf: adf
18
+ };
19
+ }
20
+ var transformedAdf = (0, _traverse.traverse)(adf, {
21
+ syncBlock: function syncBlock(node) {
22
+ if (_syncBlock) {
23
+ return node;
24
+ }
25
+ isTransformed = true;
26
+ var unsupportedBlockNode = unsupportedBlock.createChecked({
27
+ originalValue: node
28
+ });
29
+ return unsupportedBlockNode.toJSON();
30
+ },
31
+ bodiedSyncBlock: function bodiedSyncBlock(node) {
32
+ if (_bodiedSyncBlock) {
33
+ return node;
34
+ }
35
+ isTransformed = true;
36
+ var unsupportedBlockNode = unsupportedBlock.createChecked({
37
+ originalValue: node
38
+ });
39
+ return unsupportedBlockNode.toJSON();
40
+ },
41
+ unsupportedBlock: function unsupportedBlock(node) {
42
+ var _node$attrs;
43
+ if (!((_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.originalValue)) {
44
+ return node;
45
+ }
46
+ if (node.attrs.originalValue.type === 'syncBlock' && _syncBlock) {
47
+ isTransformed = true;
48
+ return node.attrs.originalValue;
49
+ } else if (node.attrs.originalValue.type === 'bodiedSyncBlock' && _bodiedSyncBlock) {
50
+ isTransformed = true;
51
+ return node.attrs.originalValue;
52
+ }
53
+ return node;
54
+ }
55
+ });
56
+ return {
57
+ transformedAdf: transformedAdf,
58
+ isTransformed: isTransformed
59
+ };
60
+ };
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "isNestedTableExtension", {
15
15
  return _nestedTableTransform.isNestedTableExtension;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "syncBlockFallbackTransform", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _syncBlockFallbackTransform.syncBlockFallbackTransform;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "transformDedupeMarks", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -70,4 +76,5 @@ var _nodesMissingContentTransform = require("./transforms/nodes-missing-content-
70
76
  var _indentationMarksTransform = require("./transforms/indentation-marks-transform");
71
77
  var _invalidMediaContentTransform = require("./transforms/invalid-media-content-transform");
72
78
  var _nestedTableTransform = require("./transforms/nested-table-transform");
73
- var _errors = require("./transforms/errors");
79
+ var _errors = require("./transforms/errors");
80
+ var _syncBlockFallbackTransform = require("./transforms/sync-block-fallback-transform");
@@ -24,36 +24,11 @@ const transformNestedTableExtension = nestedTableExtension => {
24
24
  throw new NodeNestingTransformError('Failed to parse nested table content');
25
25
  }
26
26
  };
27
-
28
- // TODO: EDITOR-806 - Remove when cleaning feature gate platform_editor_nested_table_extension_comment_fix
29
- function isInsideBodiedExtension(parent) {
30
- var _parent$parent;
31
- if (parent.node === undefined) {
32
- return false;
33
- }
34
- if (parent.node.type === 'bodiedExtension') {
35
- return true;
36
- }
37
- if (parent !== null && parent !== void 0 && (_parent$parent = parent.parent) !== null && _parent$parent !== void 0 && _parent$parent.node) {
38
- return isInsideBodiedExtension(parent.parent);
39
- }
40
- return false;
41
- }
42
- export const transformNestedTablesIncomingDocument = (adf,
43
- // TODO: EDITOR-806 - Remove options when cleaning feature gate platform_editor_nested_table_extension_comment_fix as no longer needed
44
- options = {}) => {
27
+ export const transformNestedTablesIncomingDocument = adf => {
45
28
  let isTransformed = false;
46
29
  const transformedAdf = traverse(adf, {
47
- extension: (node, parent) => {
30
+ extension: node => {
48
31
  if (isNestedTableExtension(node)) {
49
- // TODO: EDITOR-806 - Remove this block when cleaning feature gate platform_editor_nested_table_extension_comment_fix
50
- // Bodied extensions in renderer use their own nested renderer to render the content.
51
- // This results in the document being validated/transformed twice, once with untransformed content and again with transformed content.
52
- // Since the untransformed content is valid ADF (table as extension in table) but the transformed content is not valid ADF, (table in table)
53
- // we need to skip transforming nested tables inside bodied extensions in renderer on the first pass or else it will fail validation and render an unsupported block.
54
- if (options.environment === 'renderer' && isInsideBodiedExtension(parent) && !options.disableNestedRendererTreatment) {
55
- return undefined;
56
- }
57
32
  isTransformed = true;
58
33
  return transformNestedTableExtension(node);
59
34
  }
@@ -0,0 +1,55 @@
1
+ import { traverse } from '../traverse/traverse';
2
+ export const syncBlockFallbackTransform = (schema, adf) => {
3
+ let isTransformed = false;
4
+ const {
5
+ syncBlock,
6
+ bodiedSyncBlock,
7
+ unsupportedBlock
8
+ } = schema.nodes;
9
+ if (!unsupportedBlock) {
10
+ return {
11
+ isTransformed,
12
+ transformedAdf: adf
13
+ };
14
+ }
15
+ const transformedAdf = traverse(adf, {
16
+ syncBlock: node => {
17
+ if (syncBlock) {
18
+ return node;
19
+ }
20
+ isTransformed = true;
21
+ const unsupportedBlockNode = unsupportedBlock.createChecked({
22
+ originalValue: node
23
+ });
24
+ return unsupportedBlockNode.toJSON();
25
+ },
26
+ bodiedSyncBlock: node => {
27
+ if (bodiedSyncBlock) {
28
+ return node;
29
+ }
30
+ isTransformed = true;
31
+ const unsupportedBlockNode = unsupportedBlock.createChecked({
32
+ originalValue: node
33
+ });
34
+ return unsupportedBlockNode.toJSON();
35
+ },
36
+ unsupportedBlock: node => {
37
+ var _node$attrs;
38
+ if (!((_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.originalValue)) {
39
+ return node;
40
+ }
41
+ if (node.attrs.originalValue.type === 'syncBlock' && syncBlock) {
42
+ isTransformed = true;
43
+ return node.attrs.originalValue;
44
+ } else if (node.attrs.originalValue.type === 'bodiedSyncBlock' && bodiedSyncBlock) {
45
+ isTransformed = true;
46
+ return node.attrs.originalValue;
47
+ }
48
+ return node;
49
+ }
50
+ });
51
+ return {
52
+ transformedAdf,
53
+ isTransformed
54
+ };
55
+ };
@@ -9,4 +9,5 @@ export { transformIndentationMarks } from './transforms/indentation-marks-transf
9
9
  export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
10
10
  export { transformNestedTablesIncomingDocument, isNestedTableExtension } from './transforms/nested-table-transform';
11
11
  export { transformNestedTableNodeOutgoingDocument } from './transforms/nested-table-transform';
12
- export { NodeNestingTransformError } from './transforms/errors';
12
+ export { NodeNestingTransformError } from './transforms/errors';
13
+ export { syncBlockFallbackTransform } from './transforms/sync-block-fallback-transform';
@@ -27,35 +27,11 @@ var transformNestedTableExtension = function transformNestedTableExtension(neste
27
27
  throw new NodeNestingTransformError('Failed to parse nested table content');
28
28
  }
29
29
  };
30
-
31
- // TODO: EDITOR-806 - Remove when cleaning feature gate platform_editor_nested_table_extension_comment_fix
32
- function isInsideBodiedExtension(parent) {
33
- var _parent$parent;
34
- if (parent.node === undefined) {
35
- return false;
36
- }
37
- if (parent.node.type === 'bodiedExtension') {
38
- return true;
39
- }
40
- if (parent !== null && parent !== void 0 && (_parent$parent = parent.parent) !== null && _parent$parent !== void 0 && _parent$parent.node) {
41
- return isInsideBodiedExtension(parent.parent);
42
- }
43
- return false;
44
- }
45
30
  export var transformNestedTablesIncomingDocument = function transformNestedTablesIncomingDocument(adf) {
46
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
47
31
  var isTransformed = false;
48
32
  var transformedAdf = traverse(adf, {
49
- extension: function extension(node, parent) {
33
+ extension: function extension(node) {
50
34
  if (isNestedTableExtension(node)) {
51
- // TODO: EDITOR-806 - Remove this block when cleaning feature gate platform_editor_nested_table_extension_comment_fix
52
- // Bodied extensions in renderer use their own nested renderer to render the content.
53
- // This results in the document being validated/transformed twice, once with untransformed content and again with transformed content.
54
- // Since the untransformed content is valid ADF (table as extension in table) but the transformed content is not valid ADF, (table in table)
55
- // we need to skip transforming nested tables inside bodied extensions in renderer on the first pass or else it will fail validation and render an unsupported block.
56
- if (options.environment === 'renderer' && isInsideBodiedExtension(parent) && !options.disableNestedRendererTreatment) {
57
- return undefined;
58
- }
59
35
  isTransformed = true;
60
36
  return transformNestedTableExtension(node);
61
37
  }
@@ -0,0 +1,54 @@
1
+ import { traverse } from '../traverse/traverse';
2
+ export var syncBlockFallbackTransform = function syncBlockFallbackTransform(schema, adf) {
3
+ var isTransformed = false;
4
+ var _schema$nodes = schema.nodes,
5
+ _syncBlock = _schema$nodes.syncBlock,
6
+ _bodiedSyncBlock = _schema$nodes.bodiedSyncBlock,
7
+ unsupportedBlock = _schema$nodes.unsupportedBlock;
8
+ if (!unsupportedBlock) {
9
+ return {
10
+ isTransformed: isTransformed,
11
+ transformedAdf: adf
12
+ };
13
+ }
14
+ var transformedAdf = traverse(adf, {
15
+ syncBlock: function syncBlock(node) {
16
+ if (_syncBlock) {
17
+ return node;
18
+ }
19
+ isTransformed = true;
20
+ var unsupportedBlockNode = unsupportedBlock.createChecked({
21
+ originalValue: node
22
+ });
23
+ return unsupportedBlockNode.toJSON();
24
+ },
25
+ bodiedSyncBlock: function bodiedSyncBlock(node) {
26
+ if (_bodiedSyncBlock) {
27
+ return node;
28
+ }
29
+ isTransformed = true;
30
+ var unsupportedBlockNode = unsupportedBlock.createChecked({
31
+ originalValue: node
32
+ });
33
+ return unsupportedBlockNode.toJSON();
34
+ },
35
+ unsupportedBlock: function unsupportedBlock(node) {
36
+ var _node$attrs;
37
+ if (!((_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.originalValue)) {
38
+ return node;
39
+ }
40
+ if (node.attrs.originalValue.type === 'syncBlock' && _syncBlock) {
41
+ isTransformed = true;
42
+ return node.attrs.originalValue;
43
+ } else if (node.attrs.originalValue.type === 'bodiedSyncBlock' && _bodiedSyncBlock) {
44
+ isTransformed = true;
45
+ return node.attrs.originalValue;
46
+ }
47
+ return node;
48
+ }
49
+ });
50
+ return {
51
+ transformedAdf: transformedAdf,
52
+ isTransformed: isTransformed
53
+ };
54
+ };
@@ -9,4 +9,5 @@ export { transformIndentationMarks } from './transforms/indentation-marks-transf
9
9
  export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
10
10
  export { transformNestedTablesIncomingDocument, isNestedTableExtension } from './transforms/nested-table-transform';
11
11
  export { transformNestedTableNodeOutgoingDocument } from './transforms/nested-table-transform';
12
- export { NodeNestingTransformError } from './transforms/errors';
12
+ export { NodeNestingTransformError } from './transforms/errors';
13
+ export { syncBlockFallbackTransform } from './transforms/sync-block-fallback-transform';
@@ -1,9 +1,6 @@
1
1
  import type { ADFEntity } from '../types';
2
2
  export declare const isNestedTableExtension: (extensionNode: ADFEntity) => boolean;
3
- export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity, options?: {
4
- disableNestedRendererTreatment?: boolean;
5
- environment?: "renderer" | "editor";
6
- }) => {
3
+ export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity) => {
7
4
  isTransformed: boolean;
8
5
  transformedAdf: ADFEntity;
9
6
  };
@@ -0,0 +1,6 @@
1
+ import type { Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import { type ADFEntity } from '../types';
3
+ export declare const syncBlockFallbackTransform: (schema: Schema, adf: ADFEntity) => {
4
+ transformedAdf: false | ADFEntity;
5
+ isTransformed: boolean;
6
+ };
@@ -7,3 +7,4 @@ export { transformInvalidMediaContent } from './transforms/invalid-media-content
7
7
  export { transformNestedTablesIncomingDocument, isNestedTableExtension, } from './transforms/nested-table-transform';
8
8
  export { transformNestedTableNodeOutgoingDocument } from './transforms/nested-table-transform';
9
9
  export { NodeNestingTransformError } from './transforms/errors';
10
+ export { syncBlockFallbackTransform } from './transforms/sync-block-fallback-transform';
@@ -1,9 +1,6 @@
1
1
  import type { ADFEntity } from '../types';
2
2
  export declare const isNestedTableExtension: (extensionNode: ADFEntity) => boolean;
3
- export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity, options?: {
4
- disableNestedRendererTreatment?: boolean;
5
- environment?: "renderer" | "editor";
6
- }) => {
3
+ export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity) => {
7
4
  isTransformed: boolean;
8
5
  transformedAdf: ADFEntity;
9
6
  };
@@ -0,0 +1,6 @@
1
+ import type { Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import { type ADFEntity } from '../types';
3
+ export declare const syncBlockFallbackTransform: (schema: Schema, adf: ADFEntity) => {
4
+ transformedAdf: false | ADFEntity;
5
+ isTransformed: boolean;
6
+ };
@@ -7,3 +7,4 @@ export { transformInvalidMediaContent } from './transforms/invalid-media-content
7
7
  export { transformNestedTablesIncomingDocument, isNestedTableExtension, } from './transforms/nested-table-transform';
8
8
  export { transformNestedTableNodeOutgoingDocument } from './transforms/nested-table-transform';
9
9
  export { NodeNestingTransformError } from './transforms/errors';
10
+ export { syncBlockFallbackTransform } from './transforms/sync-block-fallback-transform';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-utils",
3
- "version": "19.25.2",
3
+ "version": "19.25.4",
4
4
  "description": "Set of utilities to traverse, modify and create ADF documents.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,26 +0,0 @@
1
- {
2
- "extends": "../../../../tsconfig.entry-points.products.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "target": "es5",
6
- "outDir": "../../../../../tsDist/@atlaskit__adf-utils/app",
7
- "rootDir": "../",
8
- "composite": true
9
- },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
14
- "exclude": [
15
- "../src/**/__tests__/*",
16
- "../src/**/*.test.*",
17
- "../src/**/test.*",
18
- "../src/**/examples.*",
19
- "../src/**/examples/*",
20
- "../src/**/examples/**/*",
21
- "../src/**/*.stories.*",
22
- "../src/**/stories/*",
23
- "../src/**/stories/**/*"
24
- ],
25
- "references": []
26
- }