@atlaskit/editor-common 89.3.0 → 89.3.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/lists/node.js +1 -13
  3. package/dist/cjs/monitoring/error.js +1 -1
  4. package/dist/cjs/transforms/expand.js +24 -1
  5. package/dist/cjs/transforms/index.js +6 -0
  6. package/dist/cjs/ui/DropList/index.js +1 -1
  7. package/dist/cjs/utils/index.js +0 -12
  8. package/dist/cjs/utils/list.js +1 -12
  9. package/dist/cjs/utils/processRawValue.js +16 -1
  10. package/dist/es2019/lists/node.js +2 -14
  11. package/dist/es2019/monitoring/error.js +1 -1
  12. package/dist/es2019/transforms/expand.js +24 -0
  13. package/dist/es2019/transforms/index.js +1 -1
  14. package/dist/es2019/ui/DropList/index.js +1 -1
  15. package/dist/es2019/utils/index.js +1 -1
  16. package/dist/es2019/utils/list.js +1 -10
  17. package/dist/es2019/utils/processRawValue.js +16 -1
  18. package/dist/esm/lists/node.js +2 -14
  19. package/dist/esm/monitoring/error.js +1 -1
  20. package/dist/esm/transforms/expand.js +23 -0
  21. package/dist/esm/transforms/index.js +1 -1
  22. package/dist/esm/ui/DropList/index.js +1 -1
  23. package/dist/esm/utils/index.js +1 -1
  24. package/dist/esm/utils/list.js +1 -10
  25. package/dist/esm/utils/processRawValue.js +16 -1
  26. package/dist/types/transforms/expand.d.ts +1 -0
  27. package/dist/types/transforms/index.d.ts +1 -1
  28. package/dist/types/utils/index.d.ts +1 -1
  29. package/dist/types/utils/list.d.ts +0 -2
  30. package/dist/types/utils/processRawValue.d.ts +1 -1
  31. package/dist/types-ts4.5/transforms/expand.d.ts +1 -0
  32. package/dist/types-ts4.5/transforms/index.d.ts +1 -1
  33. package/dist/types-ts4.5/utils/index.d.ts +1 -1
  34. package/dist/types-ts4.5/utils/list.d.ts +0 -2
  35. package/dist/types-ts4.5/utils/processRawValue.d.ts +1 -1
  36. package/package.json +5 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 89.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#141728](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/141728)
8
+ [`4de004a0f879d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4de004a0f879d) -
9
+ [ux] EDF-1388: Cleanup platform.editor.ordered-list-auto-join-improvements_mrlv5 and paths
10
+ - [#141037](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/141037)
11
+ [`0c5cb40ae3a67`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/0c5cb40ae3a67) -
12
+ Consider string documents when not validating incoming documents in Confluence Cloud
13
+ - Updated dependencies
14
+
15
+ ## 89.3.1
16
+
17
+ ### Patch Changes
18
+
19
+ - [#142108](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/142108)
20
+ [`a1776d86877fe`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a1776d86877fe) -
21
+ ED-24864 ED-24931 Add logic to handle dragging expands inside and outside of eachother, converting
22
+ them to and from nested expands when required. Also add experiment gating for nested-dnd.
23
+
3
24
  ## 89.3.0
4
25
 
5
26
  ### Minor Changes
@@ -7,7 +7,6 @@ exports.JoinDirection = void 0;
7
7
  exports.isListNodeValidContent = isListNodeValidContent;
8
8
  exports.processNestedTaskListsInSameLevel = exports.joinSiblingLists = void 0;
9
9
  var _model = require("@atlaskit/editor-prosemirror/model");
10
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
10
  var _utils = require("../utils");
12
11
  var _replaceContent = require("./replace-content");
13
12
  function isListNodeValidContent(node) {
@@ -51,9 +50,6 @@ var joinSiblingLists = exports.joinSiblingLists = function joinSiblingLists(_ref
51
50
  if (!nodeBefore || !nodeAfter || !(0, _utils.isListNode)(nodeBefore) || !(0, _utils.isListNode)(nodeAfter)) {
52
51
  return;
53
52
  }
54
- if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.ordered-list-auto-join-improvements_mrlv5') && (0, _utils.isOrderedList)(nodeBefore) && (0, _utils.isOrderedList)(nodeAfter) && !(0, _utils.isOrderedListContinuous)(nodeBefore, nodeAfter)) {
55
- return;
56
- }
57
53
  var isNestedList = (0, _utils.isListItemNode)(parent);
58
54
  if (!isNestedList && nodeBefore.type !== nodeAfter.type && !forceListType) {
59
55
  return;
@@ -84,15 +80,7 @@ var joinSiblingLists = exports.joinSiblingLists = function joinSiblingLists(_ref
84
80
  var nodeBefore = resolvedPos.nodeBefore,
85
81
  nodeAfter = resolvedPos.nodeAfter;
86
82
  if (nodeBefore && nodeAfter && (0, _utils.isListNode)(nodeBefore) && (0, _utils.isListNode)(nodeAfter) && nodeAfter.type === nodeBefore.type) {
87
- if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.ordered-list-auto-join-improvements_mrlv5') ||
88
- /**
89
- * Both lists have the same type so one check is sufficient.
90
- * If the lists are ordered, only join if continuous.
91
- * Otherwise, if unordered, always join.
92
- */
93
- !(0, _utils.isOrderedList)(nodeBefore) || (0, _utils.isOrderedListContinuous)(nodeBefore, nodeAfter)) {
94
- joins.push(resolvedPos.pos);
95
- }
83
+ joins.push(resolvedPos.pos);
96
84
  }
97
85
  }
98
86
  for (var i = joins.length - 1; i >= 0; i--) {
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "89.3.0";
20
+ var packageVersion = "89.3.2";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.transformSliceToRemoveOpenNestedExpand = exports.transformSliceToRemoveOpenExpand = exports.transformSliceNestedExpandToExpand = exports.findExpand = void 0;
6
+ exports.transformSliceToRemoveOpenNestedExpand = exports.transformSliceToRemoveOpenExpand = exports.transformSliceNestedExpandToExpand = exports.transformSliceExpandToNestedExpand = exports.findExpand = void 0;
7
7
  var _model = require("@atlaskit/editor-prosemirror/model");
8
8
  var _utils = require("@atlaskit/editor-prosemirror/utils");
9
9
  var _slice = require("../utils/slice");
@@ -43,4 +43,27 @@ var transformSliceNestedExpandToExpand = exports.transformSliceNestedExpandToExp
43
43
  }
44
44
  });
45
45
  return new _model.Slice(_model.Fragment.fromArray(children), slice.openStart, slice.openEnd);
46
+ };
47
+ var transformSliceExpandToNestedExpand = exports.transformSliceExpandToNestedExpand = function transformSliceExpandToNestedExpand(slice) {
48
+ var children = [];
49
+ try {
50
+ (0, _slice.mapChildren)(slice.content, function (currentNode) {
51
+ var _currentNode$type$sch = currentNode.type.schema.nodes,
52
+ expand = _currentNode$type$sch.expand,
53
+ nestedExpand = _currentNode$type$sch.nestedExpand;
54
+ if (currentNode.type === expand) {
55
+ var nestedExpandNode = nestedExpand.createChecked(currentNode.attrs, currentNode.content, currentNode.marks);
56
+ if (nestedExpandNode) {
57
+ children.push(nestedExpandNode);
58
+ }
59
+ } else {
60
+ children.push(currentNode);
61
+ }
62
+ });
63
+ } catch (e) {
64
+ // Will throw error if unable to convert expand to nested expand.
65
+ // Example: expand containing a table being converted to nested expand containing table.
66
+ return null;
67
+ }
68
+ return new _model.Slice(_model.Fragment.fromArray(children), slice.openStart, slice.openEnd);
46
69
  };
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "transformSingleLineCodeBlockToCodeMark", {
33
33
  return _codeBlock.transformSingleLineCodeBlockToCodeMark;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "transformSliceExpandToNestedExpand", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _expand.transformSliceExpandToNestedExpand;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "transformSliceNestedExpandToExpand", {
37
43
  enumerable: true,
38
44
  get: function get() {
@@ -25,7 +25,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
25
25
  * @jsx jsx
26
26
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
27
27
  var packageName = "@atlaskit/editor-common";
28
- var packageVersion = "89.3.0";
28
+ var packageVersion = "89.3.2";
29
29
  var halfFocusRing = 1;
30
30
  var dropOffset = '0, 8';
31
31
  var DropList = /*#__PURE__*/function (_Component) {
@@ -719,18 +719,6 @@ Object.defineProperty(exports, "isNodeSelectedOrInRange", {
719
719
  return _nodes.isNodeSelectedOrInRange;
720
720
  }
721
721
  });
722
- Object.defineProperty(exports, "isOrderedList", {
723
- enumerable: true,
724
- get: function get() {
725
- return _list.isOrderedList;
726
- }
727
- });
728
- Object.defineProperty(exports, "isOrderedListContinuous", {
729
- enumerable: true,
730
- get: function get() {
731
- return _list.isOrderedListContinuous;
732
- }
733
- });
734
722
  Object.defineProperty(exports, "isOutdatedBrowser", {
735
723
  enumerable: true,
736
724
  get: function get() {
@@ -7,8 +7,6 @@ exports.getOrderFromOrderedListNode = exports.getItemCounterDigitsSize = exports
7
7
  exports.isBulletList = isBulletList;
8
8
  exports.isListItemNode = isListItemNode;
9
9
  exports.isListNode = isListNode;
10
- exports.isOrderedList = isOrderedList;
11
- exports.isOrderedListContinuous = void 0;
12
10
  exports.isParagraphNode = isParagraphNode;
13
11
  exports.resolveOrder = void 0;
14
12
  // File has been copied to packages/editor/editor-plugin-ai/src/provider/prosemirror-transformer/utils/list.ts
@@ -52,13 +50,4 @@ function isListItemNode(node) {
52
50
  }
53
51
  function isBulletList(node) {
54
52
  return Boolean(node && node.type && 'bulletList' === node.type.name);
55
- }
56
- function isOrderedList(node) {
57
- return Boolean(node && node.type && 'orderedList' === node.type.name);
58
- }
59
- var isOrderedListContinuous = exports.isOrderedListContinuous = function isOrderedListContinuous(firstOrderedList, secondOrderedList) {
60
- if (!(isOrderedList(firstOrderedList) && isOrderedList(secondOrderedList))) {
61
- return false;
62
- }
63
- return getOrderFromOrderedListNode(firstOrderedList) + firstOrderedList.childCount === getOrderFromOrderedListNode(secondOrderedList);
64
- };
53
+ }
@@ -12,7 +12,22 @@ var _privacyFilter = require("./filter/privacy-filter");
12
12
  var _trackUnsupportedContent = require("./track-unsupported-content");
13
13
  var _validateUsingSpec = require("./validate-using-spec");
14
14
  function processRawValueWithoutTransformation(schema, value) {
15
- var parsedDoc = _model.Node.fromJSON(schema, value);
15
+ if (!value) {
16
+ return;
17
+ }
18
+ var node;
19
+ if (typeof value === 'string') {
20
+ try {
21
+ node = JSON.parse(value);
22
+ } catch (e) {
23
+ // eslint-disable-next-line no-console
24
+ console.error("Error processing value: ".concat(value, " isn't a valid JSON"));
25
+ return;
26
+ }
27
+ } else {
28
+ node = value;
29
+ }
30
+ var parsedDoc = _model.Node.fromJSON(schema, node);
16
31
  return parsedDoc;
17
32
  }
18
33
  function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
@@ -1,6 +1,5 @@
1
1
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
- import { isListItemNode, isListNode, isOrderedList, isOrderedListContinuous } from '../utils';
2
+ import { isListItemNode, isListNode } from '../utils';
4
3
  import { wrapTaskListIntoListAbove } from './replace-content';
5
4
  export function isListNodeValidContent(node) {
6
5
  const {
@@ -51,9 +50,6 @@ export const joinSiblingLists = ({
51
50
  if (!nodeBefore || !nodeAfter || !isListNode(nodeBefore) || !isListNode(nodeAfter)) {
52
51
  return;
53
52
  }
54
- if (getBooleanFF('platform.editor.ordered-list-auto-join-improvements_mrlv5') && isOrderedList(nodeBefore) && isOrderedList(nodeAfter) && !isOrderedListContinuous(nodeBefore, nodeAfter)) {
55
- return;
56
- }
57
53
  const isNestedList = isListItemNode(parent);
58
54
  if (!isNestedList && nodeBefore.type !== nodeAfter.type && !forceListType) {
59
55
  return;
@@ -86,15 +82,7 @@ export const joinSiblingLists = ({
86
82
  nodeAfter
87
83
  } = resolvedPos;
88
84
  if (nodeBefore && nodeAfter && isListNode(nodeBefore) && isListNode(nodeAfter) && nodeAfter.type === nodeBefore.type) {
89
- if (!getBooleanFF('platform.editor.ordered-list-auto-join-improvements_mrlv5') ||
90
- /**
91
- * Both lists have the same type so one check is sufficient.
92
- * If the lists are ordered, only join if continuous.
93
- * Otherwise, if unordered, always join.
94
- */
95
- !isOrderedList(nodeBefore) || isOrderedListContinuous(nodeBefore, nodeAfter)) {
96
- joins.push(resolvedPos.pos);
97
- }
85
+ joins.push(resolvedPos.pos);
98
86
  }
99
87
  }
100
88
  for (let i = joins.length - 1; i >= 0; i--) {
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "89.3.0";
4
+ const packageVersion = "89.3.2";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -39,4 +39,28 @@ export const transformSliceNestedExpandToExpand = (slice, schema) => {
39
39
  }
40
40
  });
41
41
  return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
42
+ };
43
+ export const transformSliceExpandToNestedExpand = slice => {
44
+ const children = [];
45
+ try {
46
+ mapChildren(slice.content, currentNode => {
47
+ const {
48
+ expand,
49
+ nestedExpand
50
+ } = currentNode.type.schema.nodes;
51
+ if (currentNode.type === expand) {
52
+ const nestedExpandNode = nestedExpand.createChecked(currentNode.attrs, currentNode.content, currentNode.marks);
53
+ if (nestedExpandNode) {
54
+ children.push(nestedExpandNode);
55
+ }
56
+ } else {
57
+ children.push(currentNode);
58
+ }
59
+ });
60
+ } catch (e) {
61
+ // Will throw error if unable to convert expand to nested expand.
62
+ // Example: expand containing a table being converted to nested expand containing table.
63
+ return null;
64
+ }
65
+ return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
42
66
  };
@@ -1,5 +1,5 @@
1
1
  export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from './layout';
2
- export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand } from './expand';
2
+ export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, transformSliceExpandToNestedExpand } from './expand';
3
3
  export { transformSliceToRemoveOpenBodiedExtension, transformSliceToRemoveOpenMultiBodiedExtension } from './extension';
4
4
  export { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark, findCodeBlock } from './code-block';
5
5
  export { transformSliceToDecisionList } from './decision-list';
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "89.3.0";
17
+ const packageVersion = "89.3.2";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  class DropList extends Component {
@@ -151,7 +151,7 @@ useComponentRenderTracking } from './performance/hooks/use-component-render-trac
151
151
  export { isOutdatedBrowser } from './outdated-browsers';
152
152
  export { autoJoinTr } from './prosemirror/autojoin';
153
153
  export { isReferencedSource, removeConnectedNodes, getChildrenInfo, getNodeName } from './referentiality';
154
- export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, isOrderedList, isOrderedListContinuous } from './list';
154
+ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList } from './list';
155
155
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange } from './hyperlink';
156
156
 
157
157
  // prosemirror-history does not export its plugin key
@@ -39,13 +39,4 @@ export function isListItemNode(node) {
39
39
  }
40
40
  export function isBulletList(node) {
41
41
  return Boolean(node && node.type && 'bulletList' === node.type.name);
42
- }
43
- export function isOrderedList(node) {
44
- return Boolean(node && node.type && 'orderedList' === node.type.name);
45
- }
46
- export const isOrderedListContinuous = (firstOrderedList, secondOrderedList) => {
47
- if (!(isOrderedList(firstOrderedList) && isOrderedList(secondOrderedList))) {
48
- return false;
49
- }
50
- return getOrderFromOrderedListNode(firstOrderedList) + firstOrderedList.childCount === getOrderFromOrderedListNode(secondOrderedList);
51
- };
42
+ }
@@ -5,7 +5,22 @@ import { sanitizeNodeForPrivacy } from './filter/privacy-filter';
5
5
  import { findAndTrackUnsupportedContentNodes } from './track-unsupported-content';
6
6
  import { validateADFEntity } from './validate-using-spec';
7
7
  export function processRawValueWithoutTransformation(schema, value) {
8
- const parsedDoc = Node.fromJSON(schema, value);
8
+ if (!value) {
9
+ return;
10
+ }
11
+ let node;
12
+ if (typeof value === 'string') {
13
+ try {
14
+ node = JSON.parse(value);
15
+ } catch (e) {
16
+ // eslint-disable-next-line no-console
17
+ console.error(`Error processing value: ${value} isn't a valid JSON`);
18
+ return;
19
+ }
20
+ } else {
21
+ node = value;
22
+ }
23
+ const parsedDoc = Node.fromJSON(schema, node);
9
24
  return parsedDoc;
10
25
  }
11
26
  export function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
@@ -1,6 +1,5 @@
1
1
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
- import { isListItemNode, isListNode, isOrderedList, isOrderedListContinuous } from '../utils';
2
+ import { isListItemNode, isListNode } from '../utils';
4
3
  import { wrapTaskListIntoListAbove } from './replace-content';
5
4
  export function isListNodeValidContent(node) {
6
5
  var bulletList = node.type.schema.nodes.bulletList;
@@ -43,9 +42,6 @@ export var joinSiblingLists = function joinSiblingLists(_ref) {
43
42
  if (!nodeBefore || !nodeAfter || !isListNode(nodeBefore) || !isListNode(nodeAfter)) {
44
43
  return;
45
44
  }
46
- if (getBooleanFF('platform.editor.ordered-list-auto-join-improvements_mrlv5') && isOrderedList(nodeBefore) && isOrderedList(nodeAfter) && !isOrderedListContinuous(nodeBefore, nodeAfter)) {
47
- return;
48
- }
49
45
  var isNestedList = isListItemNode(parent);
50
46
  if (!isNestedList && nodeBefore.type !== nodeAfter.type && !forceListType) {
51
47
  return;
@@ -76,15 +72,7 @@ export var joinSiblingLists = function joinSiblingLists(_ref) {
76
72
  var nodeBefore = resolvedPos.nodeBefore,
77
73
  nodeAfter = resolvedPos.nodeAfter;
78
74
  if (nodeBefore && nodeAfter && isListNode(nodeBefore) && isListNode(nodeAfter) && nodeAfter.type === nodeBefore.type) {
79
- if (!getBooleanFF('platform.editor.ordered-list-auto-join-improvements_mrlv5') ||
80
- /**
81
- * Both lists have the same type so one check is sufficient.
82
- * If the lists are ordered, only join if continuous.
83
- * Otherwise, if unordered, always join.
84
- */
85
- !isOrderedList(nodeBefore) || isOrderedListContinuous(nodeBefore, nodeAfter)) {
86
- joins.push(resolvedPos.pos);
87
- }
75
+ joins.push(resolvedPos.pos);
88
76
  }
89
77
  }
90
78
  for (var i = joins.length - 1; i >= 0; i--) {
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "89.3.0";
10
+ var packageVersion = "89.3.2";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -37,4 +37,27 @@ export var transformSliceNestedExpandToExpand = function transformSliceNestedExp
37
37
  }
38
38
  });
39
39
  return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
40
+ };
41
+ export var transformSliceExpandToNestedExpand = function transformSliceExpandToNestedExpand(slice) {
42
+ var children = [];
43
+ try {
44
+ mapChildren(slice.content, function (currentNode) {
45
+ var _currentNode$type$sch = currentNode.type.schema.nodes,
46
+ expand = _currentNode$type$sch.expand,
47
+ nestedExpand = _currentNode$type$sch.nestedExpand;
48
+ if (currentNode.type === expand) {
49
+ var nestedExpandNode = nestedExpand.createChecked(currentNode.attrs, currentNode.content, currentNode.marks);
50
+ if (nestedExpandNode) {
51
+ children.push(nestedExpandNode);
52
+ }
53
+ } else {
54
+ children.push(currentNode);
55
+ }
56
+ });
57
+ } catch (e) {
58
+ // Will throw error if unable to convert expand to nested expand.
59
+ // Example: expand containing a table being converted to nested expand containing table.
60
+ return null;
61
+ }
62
+ return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
40
63
  };
@@ -1,5 +1,5 @@
1
1
  export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from './layout';
2
- export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand } from './expand';
2
+ export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, transformSliceExpandToNestedExpand } from './expand';
3
3
  export { transformSliceToRemoveOpenBodiedExtension, transformSliceToRemoveOpenMultiBodiedExtension } from './extension';
4
4
  export { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark, findCodeBlock } from './code-block';
5
5
  export { transformSliceToDecisionList } from './decision-list';
@@ -22,7 +22,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
22
22
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
23
23
  import Layer from '../Layer';
24
24
  var packageName = "@atlaskit/editor-common";
25
- var packageVersion = "89.3.0";
25
+ var packageVersion = "89.3.2";
26
26
  var halfFocusRing = 1;
27
27
  var dropOffset = '0, 8';
28
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -151,7 +151,7 @@ useComponentRenderTracking } from './performance/hooks/use-component-render-trac
151
151
  export { isOutdatedBrowser } from './outdated-browsers';
152
152
  export { autoJoinTr } from './prosemirror/autojoin';
153
153
  export { isReferencedSource, removeConnectedNodes, getChildrenInfo, getNodeName } from './referentiality';
154
- export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, isOrderedList, isOrderedListContinuous } from './list';
154
+ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList } from './list';
155
155
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange } from './hyperlink';
156
156
 
157
157
  // prosemirror-history does not export its plugin key
@@ -39,13 +39,4 @@ export function isListItemNode(node) {
39
39
  }
40
40
  export function isBulletList(node) {
41
41
  return Boolean(node && node.type && 'bulletList' === node.type.name);
42
- }
43
- export function isOrderedList(node) {
44
- return Boolean(node && node.type && 'orderedList' === node.type.name);
45
- }
46
- export var isOrderedListContinuous = function isOrderedListContinuous(firstOrderedList, secondOrderedList) {
47
- if (!(isOrderedList(firstOrderedList) && isOrderedList(secondOrderedList))) {
48
- return false;
49
- }
50
- return getOrderFromOrderedListNode(firstOrderedList) + firstOrderedList.childCount === getOrderFromOrderedListNode(secondOrderedList);
51
- };
42
+ }
@@ -5,7 +5,22 @@ import { sanitizeNodeForPrivacy } from './filter/privacy-filter';
5
5
  import { findAndTrackUnsupportedContentNodes } from './track-unsupported-content';
6
6
  import { validateADFEntity } from './validate-using-spec';
7
7
  export function processRawValueWithoutTransformation(schema, value) {
8
- var parsedDoc = Node.fromJSON(schema, value);
8
+ if (!value) {
9
+ return;
10
+ }
11
+ var node;
12
+ if (typeof value === 'string') {
13
+ try {
14
+ node = JSON.parse(value);
15
+ } catch (e) {
16
+ // eslint-disable-next-line no-console
17
+ console.error("Error processing value: ".concat(value, " isn't a valid JSON"));
18
+ return;
19
+ }
20
+ } else {
21
+ node = value;
22
+ }
23
+ var parsedDoc = Node.fromJSON(schema, node);
9
24
  return parsedDoc;
10
25
  }
11
26
  export function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
@@ -6,3 +6,4 @@ export declare const findExpand: (state: EditorState, selection?: Selection | nu
6
6
  export declare const transformSliceToRemoveOpenExpand: (slice: Slice, schema: Schema) => Slice;
7
7
  export declare const transformSliceToRemoveOpenNestedExpand: (slice: Slice, schema: Schema) => Slice;
8
8
  export declare const transformSliceNestedExpandToExpand: (slice: Slice, schema: Schema) => Slice;
9
+ export declare const transformSliceExpandToNestedExpand: (slice: Slice) => Slice | null;
@@ -1,5 +1,5 @@
1
1
  export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes, } from './layout';
2
- export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, } from './expand';
2
+ export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, transformSliceExpandToNestedExpand, } from './expand';
3
3
  export { transformSliceToRemoveOpenBodiedExtension, transformSliceToRemoveOpenMultiBodiedExtension, } from './extension';
4
4
  export { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark, findCodeBlock, } from './code-block';
5
5
  export { transformSliceToDecisionList } from './decision-list';
@@ -163,7 +163,7 @@ export type { UseComponentRenderTrackingArgs } from './performance/hooks/use-com
163
163
  export { isOutdatedBrowser } from './outdated-browsers';
164
164
  export { autoJoinTr } from './prosemirror/autojoin';
165
165
  export { isReferencedSource, removeConnectedNodes, getChildrenInfo, getNodeName, } from './referentiality';
166
- export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, isOrderedList, isOrderedListContinuous, } from './list';
166
+ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, } from './list';
167
167
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange, } from './hyperlink';
168
168
  export declare const pmHistoryPluginKey = "history$";
169
169
  export { gridTypeForLayout } from './grid';
@@ -11,6 +11,4 @@ export declare function isListNode(node: Node | null | undefined): boolean;
11
11
  export declare function isParagraphNode(node: Node | null | undefined): boolean;
12
12
  export declare function isListItemNode(node: Node | null | undefined): boolean;
13
13
  export declare function isBulletList(node: Node | null | undefined): boolean;
14
- export declare function isOrderedList(node: Node | null | undefined): boolean;
15
- export declare const isOrderedListContinuous: (firstOrderedList: Node, secondOrderedList: Node) => boolean;
16
14
  export {};
@@ -3,5 +3,5 @@ import { Node } from '@atlaskit/editor-prosemirror/model';
3
3
  import type { DispatchAnalyticsEvent } from '../analytics';
4
4
  import type { ProviderFactory } from '../provider-factory';
5
5
  import type { ReplaceRawValue, Transformer } from '../types';
6
- export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node;
6
+ export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node | undefined;
7
7
  export declare function processRawValue(schema: Schema, value?: ReplaceRawValue, providerFactory?: ProviderFactory, sanitizePrivateContent?: boolean, contentTransformer?: Transformer<string>, dispatchAnalyticsEvent?: DispatchAnalyticsEvent): Node | undefined;
@@ -6,3 +6,4 @@ export declare const findExpand: (state: EditorState, selection?: Selection | nu
6
6
  export declare const transformSliceToRemoveOpenExpand: (slice: Slice, schema: Schema) => Slice;
7
7
  export declare const transformSliceToRemoveOpenNestedExpand: (slice: Slice, schema: Schema) => Slice;
8
8
  export declare const transformSliceNestedExpandToExpand: (slice: Slice, schema: Schema) => Slice;
9
+ export declare const transformSliceExpandToNestedExpand: (slice: Slice) => Slice | null;
@@ -1,5 +1,5 @@
1
1
  export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes, } from './layout';
2
- export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, } from './expand';
2
+ export { findExpand, transformSliceToRemoveOpenExpand, transformSliceToRemoveOpenNestedExpand, transformSliceNestedExpandToExpand, transformSliceExpandToNestedExpand, } from './expand';
3
3
  export { transformSliceToRemoveOpenBodiedExtension, transformSliceToRemoveOpenMultiBodiedExtension, } from './extension';
4
4
  export { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark, findCodeBlock, } from './code-block';
5
5
  export { transformSliceToDecisionList } from './decision-list';
@@ -163,7 +163,7 @@ export type { UseComponentRenderTrackingArgs } from './performance/hooks/use-com
163
163
  export { isOutdatedBrowser } from './outdated-browsers';
164
164
  export { autoJoinTr } from './prosemirror/autojoin';
165
165
  export { isReferencedSource, removeConnectedNodes, getChildrenInfo, getNodeName, } from './referentiality';
166
- export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, isOrderedList, isOrderedListContinuous, } from './list';
166
+ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, } from './list';
167
167
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange, } from './hyperlink';
168
168
  export declare const pmHistoryPluginKey = "history$";
169
169
  export { gridTypeForLayout } from './grid';
@@ -11,6 +11,4 @@ export declare function isListNode(node: Node | null | undefined): boolean;
11
11
  export declare function isParagraphNode(node: Node | null | undefined): boolean;
12
12
  export declare function isListItemNode(node: Node | null | undefined): boolean;
13
13
  export declare function isBulletList(node: Node | null | undefined): boolean;
14
- export declare function isOrderedList(node: Node | null | undefined): boolean;
15
- export declare const isOrderedListContinuous: (firstOrderedList: Node, secondOrderedList: Node) => boolean;
16
14
  export {};
@@ -3,5 +3,5 @@ import { Node } from '@atlaskit/editor-prosemirror/model';
3
3
  import type { DispatchAnalyticsEvent } from '../analytics';
4
4
  import type { ProviderFactory } from '../provider-factory';
5
5
  import type { ReplaceRawValue, Transformer } from '../types';
6
- export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node;
6
+ export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node | undefined;
7
7
  export declare function processRawValue(schema: Schema, value?: ReplaceRawValue, providerFactory?: ProviderFactory, sanitizePrivateContent?: boolean, contentTransformer?: Transformer<string>, dispatchAnalyticsEvent?: DispatchAnalyticsEvent): Node | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "89.3.0",
3
+ "version": "89.3.2",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -129,13 +129,13 @@
129
129
  "@atlaskit/icon-object": "^6.5.0",
130
130
  "@atlaskit/link-datasource": "^3.0.0",
131
131
  "@atlaskit/link-picker": "^1.45.0",
132
- "@atlaskit/media-card": "^78.4.0",
132
+ "@atlaskit/media-card": "^78.5.0",
133
133
  "@atlaskit/media-client": "^28.0.0",
134
134
  "@atlaskit/media-client-react": "^2.2.0",
135
135
  "@atlaskit/media-common": "^11.4.0",
136
136
  "@atlaskit/media-file-preview": "^0.9.0",
137
- "@atlaskit/media-picker": "^66.6.0",
138
- "@atlaskit/media-ui": "^25.13.0",
137
+ "@atlaskit/media-picker": "^66.7.0",
138
+ "@atlaskit/media-ui": "^25.14.0",
139
139
  "@atlaskit/media-viewer": "48.10.0",
140
140
  "@atlaskit/mention": "^23.2.0",
141
141
  "@atlaskit/menu": "^2.12.0",
@@ -188,7 +188,7 @@
188
188
  "devDependencies": {
189
189
  "@af/visual-regression": "*",
190
190
  "@atlaskit/media-core": "^34.3.0",
191
- "@atlaskit/media-test-helpers": "^34.3.0",
191
+ "@atlaskit/media-test-helpers": "^34.4.0",
192
192
  "@atlaskit/util-data-test": "^17.9.0",
193
193
  "@atlaskit/visual-regression": "*",
194
194
  "@testing-library/dom": "^10.1.0",
@@ -234,9 +234,6 @@
234
234
  "platform.linking-platform.datasource-assets_objects": {
235
235
  "type": "boolean"
236
236
  },
237
- "platform.editor.ordered-list-auto-join-improvements_mrlv5": {
238
- "type": "boolean"
239
- },
240
237
  "platform.editor.inline_extension.extended_lcqdn": {
241
238
  "type": "boolean"
242
239
  },