@atlaskit/adf-utils 18.0.1 → 18.0.3

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 (143) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/builders/marks/alignment.js +0 -3
  3. package/dist/cjs/builders/marks/annotation.js +0 -3
  4. package/dist/cjs/builders/marks/breakout.js +0 -3
  5. package/dist/cjs/builders/marks/code.js +0 -3
  6. package/dist/cjs/builders/marks/data-consumer.js +0 -3
  7. package/dist/cjs/builders/marks/em.js +0 -3
  8. package/dist/cjs/builders/marks/fragment.js +0 -3
  9. package/dist/cjs/builders/marks/indentation.js +0 -3
  10. package/dist/cjs/builders/marks/link.js +0 -3
  11. package/dist/cjs/builders/marks/strike.js +0 -3
  12. package/dist/cjs/builders/marks/strong.js +0 -3
  13. package/dist/cjs/builders/marks/subsup.js +0 -3
  14. package/dist/cjs/builders/marks/text-color.js +0 -3
  15. package/dist/cjs/builders/marks/underline.js +0 -3
  16. package/dist/cjs/builders/nodes/block-card.js +0 -2
  17. package/dist/cjs/builders/nodes/blockquote.js +0 -3
  18. package/dist/cjs/builders/nodes/bodied-extension.js +0 -3
  19. package/dist/cjs/builders/nodes/bullet-list.js +0 -3
  20. package/dist/cjs/builders/nodes/caption.js +0 -3
  21. package/dist/cjs/builders/nodes/code-block.js +0 -3
  22. package/dist/cjs/builders/nodes/date.js +0 -2
  23. package/dist/cjs/builders/nodes/decision-item.js +0 -3
  24. package/dist/cjs/builders/nodes/decision-list.js +0 -3
  25. package/dist/cjs/builders/nodes/doc.js +0 -3
  26. package/dist/cjs/builders/nodes/embed-card.js +0 -2
  27. package/dist/cjs/builders/nodes/emoji.js +0 -2
  28. package/dist/cjs/builders/nodes/expand.js +0 -3
  29. package/dist/cjs/builders/nodes/extension.js +0 -2
  30. package/dist/cjs/builders/nodes/hard-break.js +0 -2
  31. package/dist/cjs/builders/nodes/heading.js +0 -3
  32. package/dist/cjs/builders/nodes/inline-card.js +0 -2
  33. package/dist/cjs/builders/nodes/inline-extension.js +0 -2
  34. package/dist/cjs/builders/nodes/layout-column.js +0 -2
  35. package/dist/cjs/builders/nodes/layout-section.js +0 -2
  36. package/dist/cjs/builders/nodes/list-item.js +0 -2
  37. package/dist/cjs/builders/nodes/media-group.js +0 -3
  38. package/dist/cjs/builders/nodes/media-inline.js +0 -2
  39. package/dist/cjs/builders/nodes/media-single.js +0 -2
  40. package/dist/cjs/builders/nodes/media.js +0 -2
  41. package/dist/cjs/builders/nodes/mention.js +0 -6
  42. package/dist/cjs/builders/nodes/nested-expand.js +0 -3
  43. package/dist/cjs/builders/nodes/ordered-list.js +0 -3
  44. package/dist/cjs/builders/nodes/panel.js +0 -3
  45. package/dist/cjs/builders/nodes/paragraph.js +0 -4
  46. package/dist/cjs/builders/nodes/placeholder.js +0 -2
  47. package/dist/cjs/builders/nodes/rule.js +0 -2
  48. package/dist/cjs/builders/nodes/status.js +0 -2
  49. package/dist/cjs/builders/nodes/table-cell.js +0 -3
  50. package/dist/cjs/builders/nodes/table-header.js +0 -3
  51. package/dist/cjs/builders/nodes/table-row.js +0 -2
  52. package/dist/cjs/builders/nodes/table.js +0 -3
  53. package/dist/cjs/builders/nodes/task-item.js +0 -3
  54. package/dist/cjs/builders/nodes/task-list.js +0 -3
  55. package/dist/cjs/builders/nodes/text.js +0 -2
  56. package/dist/cjs/builders/utils/apply-mark.js +0 -5
  57. package/dist/cjs/builders/utils/create-text-nodes.js +0 -3
  58. package/dist/cjs/builders/utils/is-duplicate-mark.js +0 -3
  59. package/dist/cjs/builders.js +0 -51
  60. package/dist/cjs/empty-adf.js +0 -2
  61. package/dist/cjs/scrub/default-node-replacements.js +0 -11
  62. package/dist/cjs/scrub/default-value-replacements.js +0 -2
  63. package/dist/cjs/scrub/hash.js +0 -4
  64. package/dist/cjs/scrub/scrub-adf.js +2 -25
  65. package/dist/cjs/scrub/scrub-content.js +7 -37
  66. package/dist/cjs/scrub.js +0 -2
  67. package/dist/cjs/transforms/dedupe-marks-transform.js +6 -24
  68. package/dist/cjs/transforms/helpers.js +0 -3
  69. package/dist/cjs/transforms/indentation-marks-transform.js +6 -14
  70. package/dist/cjs/transforms/invalid-media-content-transform.js +3 -22
  71. package/dist/cjs/transforms/media-link-transform.js +2 -12
  72. package/dist/cjs/transforms/nodes-missing-content-transform.js +0 -44
  73. package/dist/cjs/transforms/text-link-code-transform.js +3 -13
  74. package/dist/cjs/transforms.js +0 -6
  75. package/dist/cjs/traverse/filter.js +0 -2
  76. package/dist/cjs/traverse/map.js +0 -2
  77. package/dist/cjs/traverse/reduce.js +0 -2
  78. package/dist/cjs/traverse/traverse.js +1 -18
  79. package/dist/cjs/traverse.js +0 -4
  80. package/dist/cjs/validator/rules.js +0 -2
  81. package/dist/cjs/validator/specs/index.js +0 -83
  82. package/dist/cjs/validator/utils.js +4 -20
  83. package/dist/cjs/validator/validator.js +67 -218
  84. package/dist/cjs/validator.js +0 -1
  85. package/dist/cjs/version.json +1 -1
  86. package/dist/es2019/builders/utils/apply-mark.js +0 -2
  87. package/dist/es2019/builders/utils/is-duplicate-mark.js +0 -1
  88. package/dist/es2019/builders.js +4 -1
  89. package/dist/es2019/scrub/default-node-replacements.js +2 -7
  90. package/dist/es2019/scrub/hash.js +0 -2
  91. package/dist/es2019/scrub/scrub-adf.js +4 -10
  92. package/dist/es2019/scrub/scrub-content.js +7 -20
  93. package/dist/es2019/transforms/dedupe-marks-transform.js +7 -18
  94. package/dist/es2019/transforms/helpers.js +0 -1
  95. package/dist/es2019/transforms/indentation-marks-transform.js +10 -10
  96. package/dist/es2019/transforms/invalid-media-content-transform.js +5 -15
  97. package/dist/es2019/transforms/media-link-transform.js +2 -9
  98. package/dist/es2019/transforms/nodes-missing-content-transform.js +6 -38
  99. package/dist/es2019/transforms/text-link-code-transform.js +5 -8
  100. package/dist/es2019/traverse/traverse.js +5 -13
  101. package/dist/es2019/validator/utils.js +4 -2
  102. package/dist/es2019/validator/validator.js +60 -174
  103. package/dist/es2019/version.json +1 -1
  104. package/dist/esm/builders/nodes/blockquote.js +0 -1
  105. package/dist/esm/builders/nodes/bodied-extension.js +0 -1
  106. package/dist/esm/builders/nodes/bullet-list.js +0 -1
  107. package/dist/esm/builders/nodes/caption.js +0 -1
  108. package/dist/esm/builders/nodes/code-block.js +0 -1
  109. package/dist/esm/builders/nodes/decision-item.js +0 -1
  110. package/dist/esm/builders/nodes/decision-list.js +0 -1
  111. package/dist/esm/builders/nodes/doc.js +0 -1
  112. package/dist/esm/builders/nodes/expand.js +0 -1
  113. package/dist/esm/builders/nodes/heading.js +0 -1
  114. package/dist/esm/builders/nodes/media-group.js +0 -1
  115. package/dist/esm/builders/nodes/mention.js +0 -3
  116. package/dist/esm/builders/nodes/nested-expand.js +0 -1
  117. package/dist/esm/builders/nodes/ordered-list.js +0 -1
  118. package/dist/esm/builders/nodes/panel.js +0 -1
  119. package/dist/esm/builders/nodes/paragraph.js +0 -1
  120. package/dist/esm/builders/nodes/table-cell.js +0 -1
  121. package/dist/esm/builders/nodes/table-header.js +0 -1
  122. package/dist/esm/builders/nodes/table.js +0 -1
  123. package/dist/esm/builders/nodes/task-item.js +0 -1
  124. package/dist/esm/builders/nodes/task-list.js +0 -1
  125. package/dist/esm/builders/utils/apply-mark.js +0 -2
  126. package/dist/esm/builders/utils/is-duplicate-mark.js +0 -1
  127. package/dist/esm/builders.js +4 -1
  128. package/dist/esm/scrub/default-node-replacements.js +0 -9
  129. package/dist/esm/scrub/hash.js +0 -2
  130. package/dist/esm/scrub/scrub-adf.js +2 -17
  131. package/dist/esm/scrub/scrub-content.js +7 -28
  132. package/dist/esm/transforms/dedupe-marks-transform.js +6 -20
  133. package/dist/esm/transforms/helpers.js +0 -1
  134. package/dist/esm/transforms/indentation-marks-transform.js +6 -11
  135. package/dist/esm/transforms/invalid-media-content-transform.js +3 -18
  136. package/dist/esm/transforms/media-link-transform.js +2 -9
  137. package/dist/esm/transforms/nodes-missing-content-transform.js +0 -38
  138. package/dist/esm/transforms/text-link-code-transform.js +3 -10
  139. package/dist/esm/traverse/traverse.js +1 -15
  140. package/dist/esm/validator/utils.js +4 -2
  141. package/dist/esm/validator/validator.js +67 -209
  142. package/dist/esm/version.json +1 -1
  143. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-utils",
3
- "version": "18.0.1",
3
+ "version": "18.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -2,7 +2,6 @@ export var blockQuote = function blockQuote() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'blockquote',
8
7
  content: content
@@ -3,7 +3,6 @@ export var bodiedExtension = function bodiedExtension(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'bodiedExtension',
9
8
  attrs: attrs,
@@ -2,7 +2,6 @@ export var bulletList = function bulletList() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'bulletList',
8
7
  content: content
@@ -2,7 +2,6 @@ export var caption = function caption() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'caption',
8
7
  content: content
@@ -3,7 +3,6 @@ export var codeBlock = function codeBlock(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'codeBlock',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var decisionItem = function decisionItem(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'decisionItem',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var decisionList = function decisionList(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'decisionList',
9
8
  attrs: attrs,
@@ -2,7 +2,6 @@ export var doc = function doc() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'doc',
8
7
  version: 1,
@@ -3,7 +3,6 @@ export var expand = function expand(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'expand',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var heading = function heading(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'heading',
9
8
  attrs: attrs,
@@ -2,7 +2,6 @@ export var mediaGroup = function mediaGroup() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'mediaGroup',
8
7
  content: content
@@ -1,9 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  export var mention = function mention(attrs) {
8
5
  return {
9
6
  type: 'mention',
@@ -3,7 +3,6 @@ export var nestedExpand = function nestedExpand(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'nestedExpand',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var orderedList = function orderedList(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'orderedList',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var panel = function panel(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'panel',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var paragraph = function paragraph() {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'paragraph',
9
8
  content: createTextNodes(content)
@@ -3,7 +3,6 @@ export var tableCell = function tableCell(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'tableCell',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var tableHeader = function tableHeader(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'tableHeader',
9
8
  attrs: attrs,
@@ -2,7 +2,6 @@ export var table = function table() {
2
2
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  content[_key] = arguments[_key];
4
4
  }
5
-
6
5
  return {
7
6
  type: 'table',
8
7
  content: content
@@ -3,7 +3,6 @@ export var taskItem = function taskItem(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'taskItem',
9
8
  attrs: attrs,
@@ -3,7 +3,6 @@ export var taskList = function taskList(attrs) {
3
3
  for (var _len = arguments.length, content = new Array(_len), _key = 0; _key < _len; _key++) {
4
4
  content[_key] = arguments[_key];
5
5
  }
6
-
7
6
  return {
8
7
  type: 'taskList',
9
8
  attrs: attrs,
@@ -2,13 +2,11 @@ import { isDuplicateMark, duplicateMarkError } from './is-duplicate-mark';
2
2
  import { text } from '../nodes/text';
3
3
  export function applyMark(mark, maybeNode) {
4
4
  var node = typeof maybeNode === 'string' ? text(maybeNode) : maybeNode;
5
-
6
5
  if (isDuplicateMark(node, mark.type)) {
7
6
  // eslint-disable-next-line no-console
8
7
  console.error(duplicateMarkError(node, mark.type));
9
8
  return node;
10
9
  }
11
-
12
10
  node.marks = node.marks || [];
13
11
  node.marks.push(mark);
14
12
  return node;
@@ -4,7 +4,6 @@ export function isDuplicateMark(node, type) {
4
4
  })) {
5
5
  return true;
6
6
  }
7
-
8
7
  return false;
9
8
  }
10
9
  export function duplicateMarkError(node, type) {
@@ -1,4 +1,5 @@
1
1
  // Marks Builders
2
+
2
3
  export { breakout } from './builders/marks/breakout';
3
4
  export { code } from './builders/marks/code';
4
5
  export { em } from './builders/marks/em';
@@ -14,7 +15,9 @@ export { underline as u } from './builders/marks/underline';
14
15
  export { alignment } from './builders/marks/alignment';
15
16
  export { indentation } from './builders/marks/indentation';
16
17
  export { dataConsumer } from './builders/marks/data-consumer';
17
- export { fragment } from './builders/marks/fragment'; // Nodes Builders
18
+ export { fragment } from './builders/marks/fragment';
19
+
20
+ // Nodes Builders
18
21
 
19
22
  export { blockQuote } from './builders/nodes/blockquote';
20
23
  export { bodiedExtension } from './builders/nodes/bodied-extension';
@@ -1,14 +1,9 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import { scrubAttrs } from './scrub-content';
8
-
9
5
  var card = function card(node, _ref) {
10
6
  var _node$attrs;
11
-
12
7
  var valueReplacements = _ref.valueReplacements;
13
8
  return {
14
9
  type: node.type,
@@ -17,10 +12,8 @@ var card = function card(node, _ref) {
17
12
  }
18
13
  };
19
14
  };
20
-
21
15
  var mediaParent = function mediaParent(node) {
22
16
  var _node$content;
23
-
24
17
  return {
25
18
  type: node.type,
26
19
  attrs: node.attrs ? scrubAttrs(node.type, node.attrs) : undefined,
@@ -29,7 +22,6 @@ var mediaParent = function mediaParent(node) {
29
22
  })
30
23
  };
31
24
  };
32
-
33
25
  export var defaultNodeReplacements = {
34
26
  emoji: function emoji() {
35
27
  return {
@@ -65,7 +57,6 @@ export var defaultNodeReplacements = {
65
57
  mediaGroup: mediaParent,
66
58
  media: function media(node, _ref2) {
67
59
  var _parent$node, _node$attrs$width, _node$attrs2, _node$attrs$height, _node$attrs3;
68
-
69
60
  var parent = _ref2.parent;
70
61
  var defaults = ((_parent$node = parent.node) === null || _parent$node === void 0 ? void 0 : _parent$node.type) === 'mediaSingle' ? {
71
62
  width: 600,
@@ -2,10 +2,8 @@
2
2
  export var hash = function hash(input) {
3
3
  var result = 5381;
4
4
  var index = input.length;
5
-
6
5
  while (index > 0) {
7
6
  result = result * 33 ^ input.charCodeAt(--index);
8
7
  }
9
-
10
8
  return (result >>> 0).toString();
11
9
  };
@@ -1,63 +1,48 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
-
4
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
-
6
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
-
8
5
  import { traverse } from '../traverse/traverse';
9
6
  import { scrubAttrs, scrubStr, scrubLink } from './scrub-content';
10
7
  import { defaultNodeReplacements } from './default-node-replacements';
11
8
  import { defaultValueReplacements } from './default-value-replacements';
12
9
  export default (function (adf) {
13
10
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
14
-
15
11
  var nodeReplacements = _objectSpread(_objectSpread({}, defaultNodeReplacements), options.nodeReplacements);
16
-
17
12
  var valueReplacements = _objectSpread(_objectSpread({}, defaultValueReplacements), options.valueReplacements);
18
-
19
13
  return traverse(adf, {
20
14
  any: function any(node, parent) {
21
15
  var replacement = nodeReplacements[node.type];
22
-
23
16
  if (typeof replacement === 'function') {
24
17
  var result = replacement(node, {
25
18
  parent: parent,
26
19
  valueReplacements: valueReplacements
27
20
  });
28
-
29
21
  if (result !== false) {
30
22
  return result;
31
23
  }
32
24
  }
33
-
34
25
  var updatedNode = {};
35
26
  Object.entries(node).forEach(function (_ref) {
36
27
  var _ref2 = _slicedToArray(_ref, 2),
37
- key = _ref2[0],
38
- value = _ref2[1];
39
-
28
+ key = _ref2[0],
29
+ value = _ref2[1];
40
30
  if (['version', 'type', 'content', 'marks'].includes(key)) {
41
31
  updatedNode[key] = value;
42
32
  }
43
33
  });
44
-
45
34
  if (node.text && node.marks) {
46
35
  var _node$marks;
47
-
48
36
  updatedNode.marks = scrubLink((_node$marks = node.marks) !== null && _node$marks !== void 0 ? _node$marks : [], {
49
37
  valueReplacements: valueReplacements
50
38
  });
51
39
  }
52
-
53
40
  if (node.text) {
54
41
  updatedNode.text = scrubStr(node.text);
55
42
  }
56
-
57
43
  if (node.attrs) {
58
44
  updatedNode.attrs = scrubAttrs(node.type, node.attrs);
59
45
  }
60
-
61
46
  return updatedNode;
62
47
  }
63
48
  });
@@ -2,11 +2,8 @@ import _typeof from "@babel/runtime/helpers/typeof";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
5
-
6
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
-
8
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
-
10
7
  var DUMMY_TEXT = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non proident sunt in culpa qui officia deserunt mollit anim id est laborum";
11
8
  var DUMMY_DIGITS = ['2', '7', '4', '3', '5', '9', '1', '8', '0', '5'];
12
9
  var BYPASS_ATTR_LIST = {
@@ -29,18 +26,15 @@ var BYPASS_ATTR_LIST = {
29
26
  tableRow: ['defaultMarks'],
30
27
  taskItem: ['state']
31
28
  };
32
-
33
29
  var fromEntries = function fromEntries(iterable) {
34
30
  return _toConsumableArray(iterable).reduce(function (obj, _ref) {
35
31
  var _ref2 = _slicedToArray(_ref, 2),
36
- key = _ref2[0],
37
- val = _ref2[1];
38
-
32
+ key = _ref2[0],
33
+ val = _ref2[1];
39
34
  obj[key] = val;
40
35
  return obj;
41
36
  }, {});
42
37
  };
43
-
44
38
  var scrubNum = function scrubNum(val) {
45
39
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
46
40
  return parseInt(val.toString().split('').map(function (_, index) {
@@ -49,19 +43,18 @@ var scrubNum = function scrubNum(val) {
49
43
  return DUMMY_DIGITS[base % len];
50
44
  }).join(''), 10);
51
45
  };
52
-
53
46
  export var scrubStr = function scrubStr(val) {
54
47
  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
55
- var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length)); // using [...val] splits emoji character pairs correctly, compared to
56
- // something like "".split('')
48
+ var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length));
57
49
 
50
+ // using [...val] splits emoji character pairs correctly, compared to
51
+ // something like "".split('')
58
52
  return _toConsumableArray(val).map(function (char, index, chars) {
59
53
  if (/^(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])$/.test(char)) {
60
54
  // Decimal digits
61
55
  return scrubNum(parseInt(char, 10), index).toString();
62
56
  } else if (/^(?:[\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838\uDD4F|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA])$/.test(char)) {
63
57
  var _chars;
64
-
65
58
  // Emoji
66
59
  return ((_chars = chars[index - 1]) === null || _chars === void 0 ? void 0 : _chars.codePointAt(0)) === 8205 ? '' : '⭐️';
67
60
  } else if (/^(?:[\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20C0\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]|\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0)$/.test(char)) {
@@ -94,58 +87,44 @@ export var scrubLink = function scrubLink(marks, _ref3) {
94
87
  })
95
88
  });
96
89
  }
97
-
98
90
  return mark;
99
91
  });
100
92
  };
101
-
102
93
  var scrubObj = function scrubObj(nodeType, attrsObj) {
103
94
  var entries = Object.entries(attrsObj).map(function (_ref4) {
104
95
  var _BYPASS_ATTR_LIST$nod;
105
-
106
96
  var _ref5 = _slicedToArray(_ref4, 2),
107
- key = _ref5[0],
108
- value = _ref5[1];
109
-
97
+ key = _ref5[0],
98
+ value = _ref5[1];
110
99
  return (_BYPASS_ATTR_LIST$nod = BYPASS_ATTR_LIST[nodeType]) !== null && _BYPASS_ATTR_LIST$nod !== void 0 && _BYPASS_ATTR_LIST$nod.includes(key) ? [key, value] : [key, scrubAttrs(nodeType, value)];
111
100
  });
112
101
  return fromEntries(entries);
113
102
  };
114
-
115
103
  export var scrubAttrs = function scrubAttrs(nodeType, attrs) {
116
104
  var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
117
-
118
105
  if (typeof attrs === 'number') {
119
106
  return scrubNum(attrs, offset);
120
107
  }
121
-
122
108
  if (typeof attrs === 'string') {
123
109
  return scrubStr(attrs, offset);
124
110
  }
125
-
126
111
  if (typeof attrs === 'boolean') {
127
112
  return attrs;
128
113
  }
129
-
130
114
  if (!attrs) {
131
115
  return attrs;
132
116
  }
133
-
134
117
  var attrsObj = attrs;
135
-
136
118
  if (attrsObj && attrsObj.constructor === Object && Object.keys(attrsObj).length === 0) {
137
119
  return {};
138
120
  }
139
-
140
121
  if (_typeof(attrsObj) === 'object' && !Array.isArray(attrsObj)) {
141
122
  return scrubObj(nodeType, attrsObj);
142
123
  }
143
-
144
124
  if (Array.isArray(attrsObj)) {
145
125
  return attrsObj.map(function (el) {
146
126
  return _typeof(el) === 'object' ? scrubObj(nodeType, el) : scrubAttrs(nodeType, el);
147
127
  });
148
128
  }
149
-
150
129
  throw new TypeError("scrubAttrs: encountered unsupported attributes type \"".concat(_typeof(attrsObj), "\"\n of value ").concat(JSON.stringify(attrsObj)));
151
130
  };
@@ -1,23 +1,20 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
5
  import { traverse } from '../traverse/traverse';
8
6
  // This is the set of marks that we wont allow in duplicate to
9
7
  // exist on a given node, regardless of their attributes. We do
10
8
  // not include annotations here, because we do allow duplicate
11
9
  // annotations as long as they have unique id attributes (valid scenario)
12
10
  var markDuplicatesDisallowed = new Set(['strong', 'underline', 'textColor', 'link', 'em', 'subsup', 'strike']);
13
-
14
11
  var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks(node) {
15
12
  var _node$marks, _node$marks$map;
16
-
17
13
  var markTypes = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : (_node$marks$map = _node$marks.map(function (mark) {
18
14
  return mark.type;
19
15
  })) === null || _node$marks$map === void 0 ? void 0 : _node$marks$map.filter(function (markType) {
20
- return (// For annotations, we are performing the same cheap check
16
+ return (
17
+ // For annotations, we are performing the same cheap check
21
18
  // for duplicates by type, without considering IDs, to quickly determine
22
19
  // whether there may be potential deduping targets.
23
20
  // In the actual deduping logic in maybeRemoveDisallowedDuplicateMarks,
@@ -25,14 +22,11 @@ var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks
25
22
  markDuplicatesDisallowed.has(markType) || markType === 'annotation'
26
23
  );
27
24
  });
28
-
29
25
  if (!(markTypes !== null && markTypes !== void 0 && markTypes.length)) {
30
26
  return false;
31
27
  }
32
-
33
28
  return new Set(markTypes).size !== markTypes.length;
34
29
  };
35
-
36
30
  var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicateMarks(node) {
37
31
  var quota = new Map();
38
32
  var annotationsQuota = new Map();
@@ -40,21 +34,16 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
40
34
  markDuplicatesDisallowed.forEach(function (mark) {
41
35
  quota.set(mark, false);
42
36
  });
43
-
44
37
  if (!node.marks) {
45
38
  return {
46
39
  discardedMarks: discardedMarks
47
40
  };
48
41
  }
49
-
50
42
  var dedupedMarks = node.marks.filter(function (mark) {
51
43
  var markType = mark.type;
52
-
53
44
  if (markType === 'annotation') {
54
45
  var _mark$attrs;
55
-
56
46
  var id = (_mark$attrs = mark.attrs) === null || _mark$attrs === void 0 ? void 0 : _mark$attrs.id;
57
-
58
47
  if (annotationsQuota.has(id)) {
59
48
  discardedMarks.push(mark);
60
49
  return false;
@@ -63,7 +52,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
63
52
  return true;
64
53
  }
65
54
  }
66
-
67
55
  if (quota.has(markType)) {
68
56
  if (!quota.get(markType)) {
69
57
  quota.set(markType, true);
@@ -73,7 +61,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
73
61
  return false;
74
62
  }
75
63
  }
76
-
77
64
  return true;
78
65
  });
79
66
  return {
@@ -83,7 +70,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
83
70
  discardedMarks: discardedMarks
84
71
  };
85
72
  };
86
-
87
73
  export var transformDedupeMarks = function transformDedupeMarks(adf) {
88
74
  var isTransformed = false;
89
75
  var discardedMarks = [];
@@ -91,9 +77,9 @@ export var transformDedupeMarks = function transformDedupeMarks(adf) {
91
77
  text: function text(node) {
92
78
  if (maybeHasDisallowedDuplicateMarks(node)) {
93
79
  var result = maybeRemoveDisallowedDuplicateMarks(node);
94
- discardedMarks = result.discardedMarks;
95
-
96
- if (discardedMarks.length) {
80
+ var resultDiscardedMarks = result.discardedMarks;
81
+ if (resultDiscardedMarks.length) {
82
+ discardedMarks.push.apply(discardedMarks, _toConsumableArray(resultDiscardedMarks));
97
83
  isTransformed = true;
98
84
  return result.node;
99
85
  }
@@ -1,5 +1,4 @@
1
1
  export var isEmpty = function isEmpty(node) {
2
2
  var _node$content;
3
-
4
3
  return !(node !== null && node !== void 0 && (_node$content = node.content) !== null && _node$content !== void 0 && _node$content.length);
5
4
  };
@@ -1,43 +1,32 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import { traverse } from '../traverse/traverse';
8
-
9
5
  var hasChildHeadingWithIndentation = function hasChildHeadingWithIndentation(node) {
10
6
  var _node$content$some, _node$content;
11
-
12
7
  return (_node$content$some = (_node$content = node.content) === null || _node$content === void 0 ? void 0 : _node$content.some(function (childNode) {
13
8
  var _childNode$marks;
14
-
15
9
  return (childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'heading' && (childNode === null || childNode === void 0 ? void 0 : (_childNode$marks = childNode.marks) === null || _childNode$marks === void 0 ? void 0 : _childNode$marks.some(function (mark) {
16
10
  return mark.type === 'indentation';
17
11
  }));
18
12
  })) !== null && _node$content$some !== void 0 ? _node$content$some : false;
19
13
  };
20
-
21
14
  var removeIndentationFromHeadings = function removeIndentationFromHeadings(node) {
22
15
  var _node$content2;
23
-
24
16
  return _objectSpread(_objectSpread({}, node), {}, {
25
17
  content: (_node$content2 = node.content) === null || _node$content2 === void 0 ? void 0 : _node$content2.map(function (childNode) {
26
18
  if ((childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'heading') {
27
19
  var _childNode$marks2;
28
-
29
20
  return _objectSpread(_objectSpread({}, childNode), {}, {
30
21
  marks: (_childNode$marks2 = childNode.marks) === null || _childNode$marks2 === void 0 ? void 0 : _childNode$marks2.filter(function (mark) {
31
22
  return mark.type !== 'indentation';
32
23
  })
33
24
  });
34
25
  }
35
-
36
26
  return childNode;
37
27
  })
38
28
  });
39
29
  };
40
-
41
30
  export var transformIndentationMarks = function transformIndentationMarks(adf) {
42
31
  var isTransformed = false;
43
32
  var transformedAdf = traverse(adf, {
@@ -46,6 +35,12 @@ export var transformIndentationMarks = function transformIndentationMarks(adf) {
46
35
  isTransformed = true;
47
36
  return removeIndentationFromHeadings(node);
48
37
  }
38
+ },
39
+ tableHeader: function tableHeader(node) {
40
+ if (hasChildHeadingWithIndentation(node)) {
41
+ isTransformed = true;
42
+ return removeIndentationFromHeadings(node);
43
+ }
49
44
  }
50
45
  });
51
46
  return {