@atlaskit/adf-utils 14.3.0 → 16.0.0

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 (122) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/cjs/builders/marks/fragment.js +19 -0
  3. package/dist/cjs/builders/nodes/mention.js +2 -2
  4. package/dist/cjs/builders/utils/create-text-nodes.js +1 -1
  5. package/dist/cjs/builders/utils/is-duplicate-mark.js +1 -1
  6. package/dist/cjs/builders.js +128 -120
  7. package/dist/cjs/index.js +53 -37
  8. package/dist/cjs/media-link-transform.js +60 -0
  9. package/dist/cjs/scrub/default-node-replacements.js +2 -2
  10. package/dist/cjs/scrub/scrub-adf.js +2 -2
  11. package/dist/cjs/scrub/scrub-content.js +3 -3
  12. package/dist/cjs/transforms/text-link-code-transform.js +58 -0
  13. package/dist/cjs/traverse/traverse.js +3 -3
  14. package/dist/cjs/traverse.js +4 -4
  15. package/dist/cjs/validator/rules.js +13 -0
  16. package/dist/cjs/validator/specs/atomic_inline.js +1 -1
  17. package/dist/cjs/validator/specs/blockCard.js +2 -1
  18. package/dist/cjs/validator/specs/block_content.js +1 -1
  19. package/dist/cjs/validator/specs/bodiedExtension_with_marks.js +1 -1
  20. package/dist/cjs/validator/specs/doc.js +1 -1
  21. package/dist/cjs/validator/specs/embedCard.js +2 -1
  22. package/dist/cjs/validator/specs/extension_with_marks.js +1 -1
  23. package/dist/cjs/validator/specs/fragment.js +27 -0
  24. package/dist/cjs/validator/specs/index.js +164 -180
  25. package/dist/cjs/validator/specs/inline.js +1 -1
  26. package/dist/cjs/validator/specs/inlineCard.js +2 -1
  27. package/dist/cjs/validator/specs/inlineExtension_with_marks.js +1 -1
  28. package/dist/cjs/validator/specs/link.js +2 -1
  29. package/dist/cjs/validator/specs/non_nestable_block_content.js +1 -1
  30. package/dist/cjs/validator/specs/panel.js +8 -0
  31. package/dist/cjs/validator/specs/table.js +5 -0
  32. package/dist/cjs/validator/specs/tableCell_content.js +1 -1
  33. package/dist/cjs/validator/utils.js +1 -1
  34. package/dist/cjs/validator/validator.js +15 -5
  35. package/dist/cjs/version.json +1 -1
  36. package/dist/es2019/builders/marks/fragment.js +7 -0
  37. package/dist/es2019/builders.js +2 -1
  38. package/dist/es2019/index.js +3 -1
  39. package/dist/es2019/media-link-transform.js +48 -0
  40. package/dist/es2019/transforms/text-link-code-transform.js +37 -0
  41. package/dist/es2019/validator/rules.js +4 -0
  42. package/dist/es2019/validator/specs/atomic_inline.js +1 -1
  43. package/dist/es2019/validator/specs/blockCard.js +2 -1
  44. package/dist/es2019/validator/specs/block_content.js +1 -1
  45. package/dist/es2019/validator/specs/bodiedExtension_with_marks.js +1 -1
  46. package/dist/es2019/validator/specs/doc.js +1 -1
  47. package/dist/es2019/validator/specs/embedCard.js +2 -1
  48. package/dist/es2019/validator/specs/extension_with_marks.js +1 -1
  49. package/dist/es2019/validator/specs/fragment.js +20 -0
  50. package/dist/es2019/validator/specs/index.js +1 -3
  51. package/dist/es2019/validator/specs/inline.js +1 -1
  52. package/dist/es2019/validator/specs/inlineCard.js +2 -1
  53. package/dist/es2019/validator/specs/inlineExtension_with_marks.js +1 -1
  54. package/dist/es2019/validator/specs/link.js +2 -1
  55. package/dist/es2019/validator/specs/non_nestable_block_content.js +1 -1
  56. package/dist/es2019/validator/specs/panel.js +8 -0
  57. package/dist/es2019/validator/specs/table.js +5 -0
  58. package/dist/es2019/validator/specs/tableCell_content.js +1 -1
  59. package/dist/es2019/validator/validator.js +7 -2
  60. package/dist/es2019/version.json +1 -1
  61. package/dist/esm/builders/marks/fragment.js +9 -0
  62. package/dist/esm/builders/nodes/mention.js +2 -2
  63. package/dist/esm/builders.js +2 -1
  64. package/dist/esm/index.js +3 -1
  65. package/dist/esm/media-link-transform.js +50 -0
  66. package/dist/esm/scrub/default-node-replacements.js +2 -2
  67. package/dist/esm/scrub/scrub-adf.js +2 -2
  68. package/dist/esm/scrub/scrub-content.js +2 -2
  69. package/dist/esm/transforms/text-link-code-transform.js +47 -0
  70. package/dist/esm/traverse/traverse.js +2 -2
  71. package/dist/esm/validator/rules.js +4 -0
  72. package/dist/esm/validator/specs/atomic_inline.js +1 -1
  73. package/dist/esm/validator/specs/blockCard.js +2 -1
  74. package/dist/esm/validator/specs/block_content.js +1 -1
  75. package/dist/esm/validator/specs/bodiedExtension_with_marks.js +1 -1
  76. package/dist/esm/validator/specs/doc.js +1 -1
  77. package/dist/esm/validator/specs/embedCard.js +2 -1
  78. package/dist/esm/validator/specs/extension_with_marks.js +1 -1
  79. package/dist/esm/validator/specs/fragment.js +20 -0
  80. package/dist/esm/validator/specs/index.js +1 -3
  81. package/dist/esm/validator/specs/inline.js +1 -1
  82. package/dist/esm/validator/specs/inlineCard.js +2 -1
  83. package/dist/esm/validator/specs/inlineExtension_with_marks.js +1 -1
  84. package/dist/esm/validator/specs/link.js +2 -1
  85. package/dist/esm/validator/specs/non_nestable_block_content.js +1 -1
  86. package/dist/esm/validator/specs/panel.js +8 -0
  87. package/dist/esm/validator/specs/table.js +5 -0
  88. package/dist/esm/validator/specs/tableCell_content.js +1 -1
  89. package/dist/esm/validator/validator.js +13 -5
  90. package/dist/esm/version.json +1 -1
  91. package/dist/types/builders/marks/fragment.d.ts +3 -0
  92. package/dist/types/builders.d.ts +1 -0
  93. package/dist/types/index.d.ts +2 -0
  94. package/dist/types/media-link-transform.d.ts +5 -0
  95. package/dist/types/transforms/text-link-code-transform.d.ts +5 -0
  96. package/dist/types/types/validatorTypes.d.ts +1 -0
  97. package/dist/types/validator/rules.d.ts +3 -0
  98. package/dist/types/validator/specs/blockCard.d.ts +1 -0
  99. package/dist/types/validator/specs/bodiedExtension_with_marks.d.ts +1 -1
  100. package/dist/types/validator/specs/embedCard.d.ts +1 -0
  101. package/dist/types/validator/specs/extension_with_marks.d.ts +1 -1
  102. package/dist/types/validator/specs/fragment.d.ts +21 -0
  103. package/dist/types/validator/specs/index.d.ts +1 -3
  104. package/dist/types/validator/specs/inlineCard.d.ts +1 -0
  105. package/dist/types/validator/specs/inlineExtension_with_marks.d.ts +1 -1
  106. package/dist/types/validator/specs/link.d.ts +1 -0
  107. package/dist/types/validator/specs/panel.d.ts +8 -0
  108. package/dist/types/validator/specs/table.d.ts +5 -0
  109. package/media-link-transform/package.json +7 -0
  110. package/package.json +6 -3
  111. package/dist/cjs/validator/specs/bodiedExtension_with_no_marks.js +0 -17
  112. package/dist/cjs/validator/specs/extension_with_no_marks.js +0 -17
  113. package/dist/cjs/validator/specs/inlineExtension_with_no_marks.js +0 -17
  114. package/dist/es2019/validator/specs/bodiedExtension_with_no_marks.js +0 -10
  115. package/dist/es2019/validator/specs/extension_with_no_marks.js +0 -10
  116. package/dist/es2019/validator/specs/inlineExtension_with_no_marks.js +0 -10
  117. package/dist/esm/validator/specs/bodiedExtension_with_no_marks.js +0 -10
  118. package/dist/esm/validator/specs/extension_with_no_marks.js +0 -10
  119. package/dist/esm/validator/specs/inlineExtension_with_no_marks.js +0 -10
  120. package/dist/types/validator/specs/bodiedExtension_with_no_marks.d.ts +0 -11
  121. package/dist/types/validator/specs/extension_with_no_marks.d.ts +0 -11
  122. package/dist/types/validator/specs/inlineExtension_with_no_marks.d.ts +0 -11
package/dist/cjs/index.js CHANGED
@@ -69,6 +69,12 @@ Object.defineProperty(exports, "codeBlock", {
69
69
  return _builders.codeBlock;
70
70
  }
71
71
  });
72
+ Object.defineProperty(exports, "dataConsumer", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _builders.dataConsumer;
76
+ }
77
+ });
72
78
  Object.defineProperty(exports, "date", {
73
79
  enumerable: true,
74
80
  get: function get() {
@@ -123,6 +129,18 @@ Object.defineProperty(exports, "extension", {
123
129
  return _builders.extension;
124
130
  }
125
131
  });
132
+ Object.defineProperty(exports, "filter", {
133
+ enumerable: true,
134
+ get: function get() {
135
+ return _traverse.filter;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "getEmptyADF", {
139
+ enumerable: true,
140
+ get: function get() {
141
+ return _emptyAdf.getEmptyADF;
142
+ }
143
+ });
126
144
  Object.defineProperty(exports, "hardBreak", {
127
145
  enumerable: true,
128
146
  get: function get() {
@@ -189,6 +207,12 @@ Object.defineProperty(exports, "listItem", {
189
207
  return _builders.listItem;
190
208
  }
191
209
  });
210
+ Object.defineProperty(exports, "map", {
211
+ enumerable: true,
212
+ get: function get() {
213
+ return _traverse.map;
214
+ }
215
+ });
192
216
  Object.defineProperty(exports, "media", {
193
217
  enumerable: true,
194
218
  get: function get() {
@@ -255,12 +279,24 @@ Object.defineProperty(exports, "placeholder", {
255
279
  return _builders.placeholder;
256
280
  }
257
281
  });
282
+ Object.defineProperty(exports, "reduce", {
283
+ enumerable: true,
284
+ get: function get() {
285
+ return _traverse.reduce;
286
+ }
287
+ });
258
288
  Object.defineProperty(exports, "rule", {
259
289
  enumerable: true,
260
290
  get: function get() {
261
291
  return _builders.rule;
262
292
  }
263
293
  });
294
+ Object.defineProperty(exports, "scrubAdf", {
295
+ enumerable: true,
296
+ get: function get() {
297
+ return _scrub.scrubAdf;
298
+ }
299
+ });
264
300
  Object.defineProperty(exports, "status", {
265
301
  enumerable: true,
266
302
  get: function get() {
@@ -351,58 +387,40 @@ Object.defineProperty(exports, "tr", {
351
387
  return _builders.tr;
352
388
  }
353
389
  });
354
- Object.defineProperty(exports, "u", {
355
- enumerable: true,
356
- get: function get() {
357
- return _builders.u;
358
- }
359
- });
360
- Object.defineProperty(exports, "ul", {
390
+ Object.defineProperty(exports, "transformMediaLinkMarks", {
361
391
  enumerable: true,
362
392
  get: function get() {
363
- return _builders.ul;
393
+ return _mediaLinkTransform.transformMediaLinkMarks;
364
394
  }
365
395
  });
366
- Object.defineProperty(exports, "underline", {
396
+ Object.defineProperty(exports, "transformTextLinkCodeMarks", {
367
397
  enumerable: true,
368
398
  get: function get() {
369
- return _builders.underline;
370
- }
371
- });
372
- Object.defineProperty(exports, "dataConsumer", {
373
- enumerable: true,
374
- get: function get() {
375
- return _builders.dataConsumer;
399
+ return _textLinkCodeTransform.transformTextLinkCodeMarks;
376
400
  }
377
401
  });
378
- Object.defineProperty(exports, "filter", {
379
- enumerable: true,
380
- get: function get() {
381
- return _traverse.filter;
382
- }
383
- });
384
- Object.defineProperty(exports, "map", {
402
+ Object.defineProperty(exports, "traverse", {
385
403
  enumerable: true,
386
404
  get: function get() {
387
- return _traverse.map;
405
+ return _traverse.traverse;
388
406
  }
389
407
  });
390
- Object.defineProperty(exports, "reduce", {
408
+ Object.defineProperty(exports, "u", {
391
409
  enumerable: true,
392
410
  get: function get() {
393
- return _traverse.reduce;
411
+ return _builders.u;
394
412
  }
395
413
  });
396
- Object.defineProperty(exports, "traverse", {
414
+ Object.defineProperty(exports, "ul", {
397
415
  enumerable: true,
398
416
  get: function get() {
399
- return _traverse.traverse;
417
+ return _builders.ul;
400
418
  }
401
419
  });
402
- Object.defineProperty(exports, "scrubAdf", {
420
+ Object.defineProperty(exports, "underline", {
403
421
  enumerable: true,
404
422
  get: function get() {
405
- return _scrub.scrubAdf;
423
+ return _builders.underline;
406
424
  }
407
425
  });
408
426
  Object.defineProperty(exports, "validateAttrs", {
@@ -417,12 +435,6 @@ Object.defineProperty(exports, "validator", {
417
435
  return _validator.validator;
418
436
  }
419
437
  });
420
- Object.defineProperty(exports, "getEmptyADF", {
421
- enumerable: true,
422
- get: function get() {
423
- return _emptyAdf.getEmptyADF;
424
- }
425
- });
426
438
 
427
439
  var _builders = require("./builders");
428
440
 
@@ -432,4 +444,8 @@ var _scrub = require("./scrub");
432
444
 
433
445
  var _validator = require("./validator");
434
446
 
435
- var _emptyAdf = require("./empty-adf");
447
+ var _emptyAdf = require("./empty-adf");
448
+
449
+ var _mediaLinkTransform = require("./media-link-transform");
450
+
451
+ var _textLinkCodeTransform = require("./transforms/text-link-code-transform");
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformMediaLinkMarks = void 0;
7
+
8
+ var _traverse = require("./traverse/traverse");
9
+
10
+ // link mark on mediaSingle is deprecated, need to move link mark to child media node
11
+ // https://product-fabric.atlassian.net/browse/ED-14043
12
+ var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
13
+ var isTransformed = false;
14
+ var transformedAdf = (0, _traverse.traverse)(adf, {
15
+ mediaSingle: function mediaSingle(node) {
16
+ var _node$content$;
17
+
18
+ if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
19
+ return node;
20
+ }
21
+
22
+ var linkMark = null;
23
+ node.marks.forEach(function (mark, i) {
24
+ if (mark.type === 'link') {
25
+ var _node$marks;
26
+
27
+ linkMark = mark;
28
+ (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
29
+ isTransformed = true;
30
+ }
31
+ });
32
+
33
+ if (node.marks.length === 0) {
34
+ delete node.marks;
35
+ }
36
+
37
+ if (linkMark) {
38
+ var _mediaNode$marks;
39
+
40
+ var mediaNode = node.content[0]; // only add link mark if media node doesnt already have one
41
+
42
+ if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(function (mark) {
43
+ return mark.type !== 'link';
44
+ })) {
45
+ mediaNode.marks.push(linkMark);
46
+ } else if (!mediaNode.marks) {
47
+ mediaNode.marks = [linkMark];
48
+ }
49
+ }
50
+
51
+ return node;
52
+ }
53
+ });
54
+ return {
55
+ transformedAdf: transformedAdf,
56
+ isTransformed: isTransformed
57
+ };
58
+ };
59
+
60
+ exports.transformMediaLinkMarks = transformMediaLinkMarks;
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _scrubContent = require("./scrub-content");
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
+ 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; }
15
15
 
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
+ 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) { (0, _defineProperty2.default)(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; }
17
17
 
18
18
  var card = function card(node, _ref) {
19
19
  var _node$attrs;
@@ -19,9 +19,9 @@ var _defaultNodeReplacements = require("./default-node-replacements");
19
19
 
20
20
  var _defaultValueReplacements = require("./default-value-replacements");
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ 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; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ 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) { (0, _defineProperty2.default)(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; }
25
25
 
26
26
  var _default = function _default(adf) {
27
27
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.scrubAttrs = exports.scrubLink = exports.scrubStr = void 0;
8
+ exports.scrubStr = exports.scrubLink = exports.scrubAttrs = void 0;
9
9
 
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
11
 
@@ -15,9 +15,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
 
16
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
+ 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; }
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
+ 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) { (0, _defineProperty2.default)(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; }
21
21
 
22
22
  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";
23
23
  var DUMMY_DIGITS = ['2', '7', '4', '3', '5', '9', '1', '8', '0', '5'];
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.transformTextLinkCodeMarks = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _traverse = require("../traverse/traverse");
13
+
14
+ 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; }
15
+
16
+ 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) { (0, _defineProperty2.default)(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; }
17
+
18
+ var hasLinkAndCodeMarks = function hasLinkAndCodeMarks(node) {
19
+ var _node$marks;
20
+
21
+ var marks = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.map(function (mark) {
22
+ return mark.type;
23
+ });
24
+ return (marks === null || marks === void 0 ? void 0 : marks.includes('link')) && (marks === null || marks === void 0 ? void 0 : marks.includes('code'));
25
+ };
26
+
27
+ var removeCodeMarks = function removeCodeMarks(node) {
28
+ if (node.marks) {
29
+ return _objectSpread(_objectSpread({}, node), {}, {
30
+ marks: node.marks.filter(function (mark) {
31
+ return mark.type !== 'code';
32
+ })
33
+ });
34
+ }
35
+
36
+ return node;
37
+ }; // See: HOT-97965 https://product-fabric.atlassian.net/browse/ED-14400
38
+ // We declared in code mark spec that links and marks should not co-exist on
39
+ // text nodes. This util strips code marks from bad text nodes and preserves links.
40
+
41
+
42
+ var transformTextLinkCodeMarks = function transformTextLinkCodeMarks(adf) {
43
+ var isTransformed = false;
44
+ var transformedAdf = (0, _traverse.traverse)(adf, {
45
+ text: function text(node) {
46
+ if (hasLinkAndCodeMarks(node)) {
47
+ isTransformed = true;
48
+ return removeCodeMarks(node);
49
+ }
50
+ }
51
+ });
52
+ return {
53
+ transformedAdf: transformedAdf,
54
+ isTransformed: isTransformed
55
+ };
56
+ };
57
+
58
+ exports.transformTextLinkCodeMarks = transformTextLinkCodeMarks;
@@ -5,14 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.validateVisitors = validateVisitors;
9
8
  exports.traverse = traverse;
9
+ exports.validateVisitors = validateVisitors;
10
10
 
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+ 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; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ 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) { (0, _defineProperty2.default)(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; }
16
16
 
17
17
  function validateVisitors(_visitors) {
18
18
  return true;
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "traverse", {
6
+ Object.defineProperty(exports, "filter", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _traverse.traverse;
9
+ return _filter.filter;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "map", {
@@ -21,10 +21,10 @@ Object.defineProperty(exports, "reduce", {
21
21
  return _reduce.reduce;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "filter", {
24
+ Object.defineProperty(exports, "traverse", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _filter.filter;
27
+ return _traverse.traverse;
28
28
  }
29
29
  });
30
30
 
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validatorFnMap = void 0;
7
+
8
+ var _url = require("@atlaskit/adf-schema/url");
9
+
10
+ var validatorFnMap = {
11
+ safeUrl: _url.isSafeUrl
12
+ };
13
+ exports.validatorFnMap = validatorFnMap;
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = ['hardBreak', 'mention', 'emoji', 'inlineExtension_with_no_marks', 'date', 'placeholder', 'inlineCard', 'status', 'mediaInline'];
7
+ var _default = ['hardBreak', 'mention', 'emoji', 'inlineExtension_with_marks', 'date', 'placeholder', 'inlineCard', 'status', 'mediaInline'];
8
8
  exports.default = _default;
@@ -13,7 +13,8 @@ var _default = {
13
13
  attrs: [{
14
14
  props: {
15
15
  url: {
16
- type: 'string'
16
+ type: 'string',
17
+ validatorFn: 'safeUrl'
17
18
  }
18
19
  }
19
20
  }, {
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = ['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'bulletList', 'mediaSingle_full', 'mediaSingle_caption', 'codeBlock_with_no_marks', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'panel', 'blockquote', 'rule', 'mediaGroup', 'decisionList', 'taskList', 'extension_with_no_marks', 'extension_with_marks', 'embedCard', 'table', 'expand_with_no_mark', 'bodiedExtension_with_no_marks', 'bodiedExtension_with_marks'];
7
+ var _default = ['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'bulletList', 'mediaSingle_full', 'mediaSingle_caption', 'codeBlock_with_no_marks', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'panel', 'blockquote', 'rule', 'mediaGroup', 'decisionList', 'taskList', 'extension_with_marks', 'embedCard', 'table', 'expand_with_no_mark', 'bodiedExtension_with_marks'];
8
8
  exports.default = _default;
@@ -8,7 +8,7 @@ var _default = ['bodiedExtension', {
8
8
  props: {
9
9
  marks: {
10
10
  type: 'array',
11
- items: ['dataConsumer'],
11
+ items: [['dataConsumer', 'fragment']],
12
12
  optional: true
13
13
  }
14
14
  }
@@ -16,7 +16,7 @@ var _default = {
16
16
  },
17
17
  content: {
18
18
  type: 'array',
19
- items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'bulletList', 'mediaSingle_full', 'mediaSingle_caption', 'codeBlock_with_no_marks', 'codeBlock_with_marks', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'panel', 'blockquote', 'rule', 'mediaGroup', 'decisionList', 'taskList', 'extension_with_no_marks', 'extension_with_marks', 'embedCard', 'table', 'expand_with_no_mark', 'expand_with_breakout_mark', 'bodiedExtension_with_no_marks', 'bodiedExtension_with_marks', 'layoutSection_full', 'layoutSection_with_single_column']],
19
+ items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'bulletList', 'mediaSingle_full', 'mediaSingle_caption', 'codeBlock_with_no_marks', 'codeBlock_with_marks', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'panel', 'blockquote', 'rule', 'mediaGroup', 'decisionList', 'taskList', 'extension_with_marks', 'embedCard', 'table', 'expand_with_no_mark', 'expand_with_breakout_mark', 'bodiedExtension_with_marks', 'layoutSection_full', 'layoutSection_with_single_column']],
20
20
  allowUnsupportedBlock: true
21
21
  }
22
22
  }
@@ -21,7 +21,8 @@ var _default = {
21
21
  optional: true
22
22
  },
23
23
  url: {
24
- type: 'string'
24
+ type: 'string',
25
+ validatorFn: 'safeUrl'
25
26
  },
26
27
  width: {
27
28
  type: 'number',
@@ -8,7 +8,7 @@ var _default = ['extension', {
8
8
  props: {
9
9
  marks: {
10
10
  type: 'array',
11
- items: ['dataConsumer'],
11
+ items: [['dataConsumer', 'fragment']],
12
12
  optional: true
13
13
  }
14
14
  }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = {
8
+ props: {
9
+ type: {
10
+ type: 'enum',
11
+ values: ['fragment']
12
+ },
13
+ attrs: {
14
+ props: {
15
+ localId: {
16
+ type: 'string',
17
+ minLength: 1
18
+ },
19
+ name: {
20
+ type: 'string',
21
+ optional: true
22
+ }
23
+ }
24
+ }
25
+ }
26
+ };
27
+ exports.default = _default;