@atlaskit/adf-schema 19.3.1 → 20.1.1

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 (106) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/cjs/index.js +366 -360
  3. package/dist/cjs/schema/create-schema.js +7 -4
  4. package/dist/cjs/schema/default-schema.js +8 -14
  5. package/dist/cjs/schema/groups.js +1 -1
  6. package/dist/cjs/schema/index.js +244 -238
  7. package/dist/cjs/schema/jira-schema.js +8 -8
  8. package/dist/cjs/schema/marks/alignment.js +1 -1
  9. package/dist/cjs/schema/marks/annotation.js +1 -1
  10. package/dist/cjs/schema/marks/fragment.js +77 -0
  11. package/dist/cjs/schema/marks/index.js +63 -49
  12. package/dist/cjs/schema/marks/link.js +4 -4
  13. package/dist/cjs/schema/marks/text-color.js +18 -3
  14. package/dist/cjs/schema/marks/unsupported-mark.js +1 -0
  15. package/dist/cjs/schema/nodes/bodied-extension.js +1 -1
  16. package/dist/cjs/schema/nodes/bullet-list.js +1 -1
  17. package/dist/cjs/schema/nodes/caption.js +0 -1
  18. package/dist/cjs/schema/nodes/decision-list.js +1 -1
  19. package/dist/cjs/schema/nodes/doc.js +1 -1
  20. package/dist/cjs/schema/nodes/expand.js +1 -1
  21. package/dist/cjs/schema/nodes/index.js +146 -152
  22. package/dist/cjs/schema/nodes/layout-column.js +1 -1
  23. package/dist/cjs/schema/nodes/media-single.js +1 -1
  24. package/dist/cjs/schema/nodes/media.js +1 -1
  25. package/dist/cjs/schema/nodes/ordered-list.js +1 -1
  26. package/dist/cjs/schema/nodes/panel.js +2 -28
  27. package/dist/cjs/schema/nodes/paragraph.js +2 -2
  28. package/dist/cjs/schema/nodes/tableNodes.js +4 -4
  29. package/dist/cjs/schema/nodes/task-list.js +1 -1
  30. package/dist/cjs/steps/analytics.js +1 -1
  31. package/dist/cjs/steps/table/sort-column.js +1 -1
  32. package/dist/cjs/steps/table/utils/cell-step.js +1 -1
  33. package/dist/cjs/steps/table/utils/table-map.js +2 -2
  34. package/dist/cjs/steps/type-ahead.js +1 -1
  35. package/dist/cjs/steps.js +10 -10
  36. package/dist/cjs/utils/colors.js +4 -4
  37. package/dist/cjs/utils/confluence/emoji.js +1 -1
  38. package/dist/cjs/utils/extensions.js +1 -1
  39. package/dist/cjs/utils/index.js +48 -48
  40. package/dist/cjs/utils/url.js +9 -2
  41. package/dist/cjs/version.json +1 -1
  42. package/dist/es2019/index.js +1 -1
  43. package/dist/es2019/schema/create-schema.js +7 -4
  44. package/dist/es2019/schema/default-schema.js +7 -11
  45. package/dist/es2019/schema/index.js +2 -2
  46. package/dist/es2019/schema/jira-schema.js +1 -1
  47. package/dist/es2019/schema/marks/fragment.js +59 -0
  48. package/dist/es2019/schema/marks/index.js +2 -1
  49. package/dist/es2019/schema/marks/link.js +3 -2
  50. package/dist/es2019/schema/marks/text-color.js +15 -1
  51. package/dist/es2019/schema/marks/unsupported-mark.js +1 -0
  52. package/dist/es2019/schema/nodes/bodied-extension.js +1 -1
  53. package/dist/es2019/schema/nodes/caption.js +0 -1
  54. package/dist/es2019/schema/nodes/doc.js +1 -1
  55. package/dist/es2019/schema/nodes/expand.js +1 -1
  56. package/dist/es2019/schema/nodes/index.js +1 -1
  57. package/dist/es2019/schema/nodes/layout-column.js +1 -1
  58. package/dist/es2019/schema/nodes/media-single.js +1 -1
  59. package/dist/es2019/schema/nodes/panel.js +1 -28
  60. package/dist/es2019/schema/nodes/paragraph.js +2 -2
  61. package/dist/es2019/schema/nodes/tableNodes.js +3 -3
  62. package/dist/es2019/utils/url.js +7 -1
  63. package/dist/es2019/version.json +1 -1
  64. package/dist/esm/index.js +1 -1
  65. package/dist/esm/schema/create-schema.js +7 -4
  66. package/dist/esm/schema/default-schema.js +7 -11
  67. package/dist/esm/schema/index.js +2 -2
  68. package/dist/esm/schema/jira-schema.js +1 -1
  69. package/dist/esm/schema/marks/fragment.js +64 -0
  70. package/dist/esm/schema/marks/index.js +2 -1
  71. package/dist/esm/schema/marks/link.js +5 -5
  72. package/dist/esm/schema/marks/text-color.js +17 -3
  73. package/dist/esm/schema/marks/unsupported-mark.js +1 -0
  74. package/dist/esm/schema/nodes/bodied-extension.js +1 -1
  75. package/dist/esm/schema/nodes/caption.js +0 -1
  76. package/dist/esm/schema/nodes/doc.js +1 -1
  77. package/dist/esm/schema/nodes/expand.js +1 -1
  78. package/dist/esm/schema/nodes/index.js +1 -1
  79. package/dist/esm/schema/nodes/layout-column.js +1 -1
  80. package/dist/esm/schema/nodes/media-single.js +1 -1
  81. package/dist/esm/schema/nodes/panel.js +1 -26
  82. package/dist/esm/schema/nodes/paragraph.js +2 -2
  83. package/dist/esm/schema/nodes/tableNodes.js +3 -3
  84. package/dist/esm/utils/url.js +7 -1
  85. package/dist/esm/version.json +1 -1
  86. package/dist/json-schema/v1/full.json +108 -73
  87. package/dist/json-schema/v1/stage-0.json +63 -26
  88. package/dist/types/index.d.ts +2 -2
  89. package/dist/types/schema/index.d.ts +3 -3
  90. package/dist/types/schema/marks/fragment.d.ts +30 -0
  91. package/dist/types/schema/marks/index.d.ts +2 -0
  92. package/dist/types/schema/marks/link.d.ts +3 -0
  93. package/dist/types/schema/nodes/block-card.d.ts +3 -0
  94. package/dist/types/schema/nodes/bodied-extension.d.ts +7 -5
  95. package/dist/types/schema/nodes/caption.d.ts +0 -1
  96. package/dist/types/schema/nodes/embed-card.d.ts +3 -0
  97. package/dist/types/schema/nodes/extension.d.ts +7 -5
  98. package/dist/types/schema/nodes/index.d.ts +1 -1
  99. package/dist/types/schema/nodes/inline-card.d.ts +0 -9
  100. package/dist/types/schema/nodes/inline-extension.d.ts +7 -5
  101. package/dist/types/schema/nodes/media-single.d.ts +0 -1
  102. package/dist/types/schema/nodes/panel.d.ts +1 -11
  103. package/json-schema/v1/full.json +108 -73
  104. package/json-schema/v1/stage-0.json +63 -26
  105. package/package.json +11 -8
  106. package/test-helpers/schema.ts +1 -0
@@ -107,13 +107,13 @@ var isBlockLevelNode = function isBlockLevelNode(node) {
107
107
 
108
108
  var NOT_INTERNAL_LINKS = [':not([data-inline-card])', ':not([data-block-card])', ':not([data-block-link])', ':not([data-skip-paste])'].join('');
109
109
  var ANCHOR_LINK = "a[href]".concat(NOT_INTERNAL_LINKS);
110
- var NOT_INTERNAL_ELEMENTS = [':not(.code-block)', ':not([data-node-type])', ':not([data-embed-card])', ':not([data-layout-section])', ':not([data-pm-slice])', ':not([data-mark-type])'].join('');
110
+ var NOT_INTERNAL_ELEMENTS = [':not(.code-block)', ':not([data-node-type])', ':not([data-embed-card])', ':not([data-layout-section])', ':not([data-task-local-id])', ':not([data-task-state])', ':not([data-pm-slice])', ':not([data-mark-type])'].join('');
111
111
  var pDOM = ['p', 0];
112
112
  var paragraph = {
113
113
  selectable: false,
114
114
  content: 'inline*',
115
115
  group: 'block',
116
- marks: 'strong code em link strike subsup textColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer',
116
+ marks: 'strong code em link strike subsup textColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
117
117
  parseDOM: [{
118
118
  tag: 'p'
119
119
  }, {
@@ -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.toJSONTableHeader = exports.tableHeader = exports.toJSONTableCell = exports.tableCell = exports.tableRow = exports.tableToJSON = exports.table = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.tableBackgroundColorPalette = exports.getCellDomAttrs = exports.getCellAttrs = exports.tableCellContentDomSelector = exports.tableCellContentWrapperSelector = exports.tableHeaderSelector = exports.tableCellSelector = exports.tablePrefixSelector = void 0;
8
+ exports.toJSONTableHeader = exports.toJSONTableCell = exports.tableToJSON = exports.tableRow = exports.tablePrefixSelector = exports.tableHeaderSelector = exports.tableHeader = exports.tableCellSelector = exports.tableCellContentWrapperSelector = exports.tableCellContentDomSelector = exports.tableCell = exports.tableBackgroundColorPalette = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.table = exports.getCellDomAttrs = exports.getCellAttrs = void 0;
9
9
 
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
 
@@ -135,7 +135,7 @@ var createTableSpec = function createTableSpec() {
135
135
  var tableNodeSpec = {
136
136
  content: 'tableRow+',
137
137
  attrs: attrs,
138
- marks: 'unsupportedMark unsupportedNodeAttribute',
138
+ marks: 'fragment unsupportedMark unsupportedNodeAttribute',
139
139
  tableRole: 'table',
140
140
  isolating: true,
141
141
  selectable: false,
@@ -221,7 +221,7 @@ var tableCell = {
221
221
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | unsupportedBlock)+',
222
222
  attrs: cellAttrs,
223
223
  tableRole: 'cell',
224
- marks: 'link alignment dataConsumer unsupportedMark unsupportedNodeAttribute',
224
+ marks: 'link alignment dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
225
225
  isolating: true,
226
226
  parseDOM: [// Ignore number cell copied from renderer
227
227
  {
@@ -258,7 +258,7 @@ var tableHeader = {
258
258
  attrs: cellAttrs,
259
259
  tableRole: 'header_cell',
260
260
  isolating: true,
261
- marks: 'link alignment dataConsumer unsupportedMark unsupportedNodeAttribute',
261
+ marks: 'link alignment dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
262
262
  parseDOM: [{
263
263
  tag: 'th',
264
264
  getAttrs: function getAttrs(dom) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.taskList = exports.taskListSelector = void 0;
6
+ exports.taskListSelector = exports.taskList = void 0;
7
7
 
8
8
  var _uuid = require("../../utils/uuid");
9
9
 
@@ -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.AnalyticsStep = exports.analyticsInvertStepType = exports.analyticsStepType = void 0;
8
+ exports.analyticsStepType = exports.analyticsInvertStepType = exports.AnalyticsStep = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
@@ -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.TableSortStep = exports.tableSortingStepType = void 0;
8
+ exports.tableSortingStepType = exports.TableSortStep = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.applyCellStep = applyCellStep;
9
+ exports.createCellStep = createCellStep;
9
10
  exports.getMapFromCellStep = getMapFromCellStep;
10
11
  exports.invertCellStep = invertCellStep;
11
- exports.createCellStep = createCellStep;
12
12
 
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
 
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getCellIndex = void 0;
6
7
  exports.hasMergedColumns = hasMergedColumns;
7
8
  exports.hasMergedRows = hasMergedRows;
8
- exports.isRootRow = isRootRow;
9
9
  exports.isRootCol = isRootCol;
10
- exports.getCellIndex = void 0;
10
+ exports.isRootRow = isRootRow;
11
11
 
12
12
  var getCellIndex = function getCellIndex(map, row, col) {
13
13
  return row * map.width + col;
@@ -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.InsertTypeAheadStep = exports.InsertTypeAheadStages = exports.insertTypeAheadStepType = void 0;
8
+ exports.insertTypeAheadStepType = exports.InsertTypeAheadStep = exports.InsertTypeAheadStages = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
package/dist/cjs/steps.js CHANGED
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "TableSortOrder", {
6
+ Object.defineProperty(exports, "AddColumnStep", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _constants.SortOrder;
9
+ return _addColumn.AddColumnStep;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "TableSortStep", {
12
+ Object.defineProperty(exports, "AnalyticsStep", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _sortColumn.TableSortStep;
15
+ return _analytics.AnalyticsStep;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "InsertTypeAheadStages", {
@@ -27,22 +27,22 @@ Object.defineProperty(exports, "InsertTypeAheadStep", {
27
27
  return _typeAhead.InsertTypeAheadStep;
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "AddColumnStep", {
30
+ Object.defineProperty(exports, "SetAttrsStep", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _addColumn.AddColumnStep;
33
+ return _setAttrs.SetAttrsStep;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "SetAttrsStep", {
36
+ Object.defineProperty(exports, "TableSortOrder", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _setAttrs.SetAttrsStep;
39
+ return _constants.SortOrder;
40
40
  }
41
41
  });
42
- Object.defineProperty(exports, "AnalyticsStep", {
42
+ Object.defineProperty(exports, "TableSortStep", {
43
43
  enumerable: true,
44
44
  get: function get() {
45
- return _analytics.AnalyticsStep;
45
+ return _sortColumn.TableSortStep;
46
46
  }
47
47
  });
48
48
 
@@ -7,13 +7,13 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.normalizeHexColor = normalizeHexColor;
10
+ exports.Y75 = exports.Y500 = exports.Y50 = exports.Y400 = exports.Y200 = exports.T75 = exports.T500 = exports.T50 = exports.T300 = exports.T100 = exports.R75 = exports.R500 = exports.R50 = exports.R400 = exports.R300 = exports.R100 = exports.P75 = exports.P500 = exports.P50 = exports.P400 = exports.P300 = exports.P100 = exports.N90 = exports.N800 = exports.N80 = exports.N60 = exports.N500 = exports.N50 = exports.N40 = exports.N300 = exports.N30 = exports.N200 = exports.N20 = exports.N0 = exports.G75 = exports.G500 = exports.G50 = exports.G400 = exports.G300 = exports.G200 = exports.B75 = exports.B500 = exports.B50 = exports.B400 = exports.B100 = void 0;
11
11
  exports.hexToRgb = hexToRgb;
12
12
  exports.hexToRgba = hexToRgba;
13
- exports.rgbToHex = rgbToHex;
14
- exports.isRgb = isRgb;
15
13
  exports.isHex = isHex;
16
- exports.T500 = exports.T300 = exports.T100 = exports.T75 = exports.T50 = exports.P500 = exports.P400 = exports.P300 = exports.P100 = exports.P75 = exports.P50 = exports.N800 = exports.N500 = exports.N300 = exports.N200 = exports.N90 = exports.N80 = exports.N60 = exports.N50 = exports.N40 = exports.N30 = exports.N20 = exports.N0 = exports.B500 = exports.B400 = exports.B100 = exports.B75 = exports.B50 = exports.G500 = exports.G400 = exports.G300 = exports.G200 = exports.G75 = exports.G50 = exports.Y500 = exports.Y400 = exports.Y200 = exports.Y75 = exports.Y50 = exports.R500 = exports.R400 = exports.R300 = exports.R100 = exports.R75 = exports.R50 = void 0;
14
+ exports.isRgb = isRgb;
15
+ exports.normalizeHexColor = normalizeHexColor;
16
+ exports.rgbToHex = rgbToHex;
17
17
 
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.acNameToEmoji = acNameToEmoji;
7
- exports.emojiIdToAcName = emojiIdToAcName;
8
7
  exports.acShortcutToEmoji = acShortcutToEmoji;
8
+ exports.emojiIdToAcName = emojiIdToAcName;
9
9
  exports.getEmojiAcName = getEmojiAcName;
10
10
  // Default emoji id for Confluence glyphs that has no match to Fabric Emoji
11
11
  var DEFAULT_EMOJI_ID = '2b50'; // Default ac:name for emoticons as a fallback is `blue-star`
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getExtensionAttrs = exports.isValidLayout = void 0;
6
+ exports.isValidLayout = exports.getExtensionAttrs = void 0;
7
7
 
8
8
  var isValidLayout = function isValidLayout(name) {
9
9
  return !!name && ['default', 'wide', 'full-width'].includes(name);
@@ -3,42 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "acNameToEmoji", {
7
- enumerable: true,
8
- get: function get() {
9
- return _emoji.acNameToEmoji;
10
- }
11
- });
12
- Object.defineProperty(exports, "acShortcutToEmoji", {
13
- enumerable: true,
14
- get: function get() {
15
- return _emoji.acShortcutToEmoji;
16
- }
17
- });
18
- Object.defineProperty(exports, "emojiIdToAcName", {
19
- enumerable: true,
20
- get: function get() {
21
- return _emoji.emojiIdToAcName;
22
- }
23
- });
24
- Object.defineProperty(exports, "getEmojiAcName", {
25
- enumerable: true,
26
- get: function get() {
27
- return _emoji.getEmojiAcName;
28
- }
29
- });
30
- Object.defineProperty(exports, "generateUuid", {
31
- enumerable: true,
32
- get: function get() {
33
- return _uuid.generateUuid;
34
- }
35
- });
36
- Object.defineProperty(exports, "uuid", {
37
- enumerable: true,
38
- get: function get() {
39
- return _uuid.uuid;
40
- }
41
- });
42
6
  Object.defineProperty(exports, "B100", {
43
7
  enumerable: true,
44
8
  get: function get() {
@@ -309,6 +273,42 @@ Object.defineProperty(exports, "Y75", {
309
273
  return _colors.Y75;
310
274
  }
311
275
  });
276
+ Object.defineProperty(exports, "acNameToEmoji", {
277
+ enumerable: true,
278
+ get: function get() {
279
+ return _emoji.acNameToEmoji;
280
+ }
281
+ });
282
+ Object.defineProperty(exports, "acShortcutToEmoji", {
283
+ enumerable: true,
284
+ get: function get() {
285
+ return _emoji.acShortcutToEmoji;
286
+ }
287
+ });
288
+ Object.defineProperty(exports, "emojiIdToAcName", {
289
+ enumerable: true,
290
+ get: function get() {
291
+ return _emoji.emojiIdToAcName;
292
+ }
293
+ });
294
+ Object.defineProperty(exports, "generateUuid", {
295
+ enumerable: true,
296
+ get: function get() {
297
+ return _uuid.generateUuid;
298
+ }
299
+ });
300
+ Object.defineProperty(exports, "getEmojiAcName", {
301
+ enumerable: true,
302
+ get: function get() {
303
+ return _emoji.getEmojiAcName;
304
+ }
305
+ });
306
+ Object.defineProperty(exports, "getLinkMatch", {
307
+ enumerable: true,
308
+ get: function get() {
309
+ return _url.getLinkMatch;
310
+ }
311
+ });
312
312
  Object.defineProperty(exports, "hexToRgb", {
313
313
  enumerable: true,
314
314
  get: function get() {
@@ -333,28 +333,28 @@ Object.defineProperty(exports, "isRgb", {
333
333
  return _colors.isRgb;
334
334
  }
335
335
  });
336
- Object.defineProperty(exports, "normalizeHexColor", {
336
+ Object.defineProperty(exports, "isSafeUrl", {
337
337
  enumerable: true,
338
338
  get: function get() {
339
- return _colors.normalizeHexColor;
339
+ return _url.isSafeUrl;
340
340
  }
341
341
  });
342
- Object.defineProperty(exports, "rgbToHex", {
342
+ Object.defineProperty(exports, "linkify", {
343
343
  enumerable: true,
344
344
  get: function get() {
345
- return _colors.rgbToHex;
345
+ return _url.linkify;
346
346
  }
347
347
  });
348
- Object.defineProperty(exports, "getLinkMatch", {
348
+ Object.defineProperty(exports, "linkifyMatch", {
349
349
  enumerable: true,
350
350
  get: function get() {
351
- return _url.getLinkMatch;
351
+ return _url.linkifyMatch;
352
352
  }
353
353
  });
354
- Object.defineProperty(exports, "isSafeUrl", {
354
+ Object.defineProperty(exports, "normalizeHexColor", {
355
355
  enumerable: true,
356
356
  get: function get() {
357
- return _url.isSafeUrl;
357
+ return _colors.normalizeHexColor;
358
358
  }
359
359
  });
360
360
  Object.defineProperty(exports, "normalizeUrl", {
@@ -363,16 +363,16 @@ Object.defineProperty(exports, "normalizeUrl", {
363
363
  return _url.normalizeUrl;
364
364
  }
365
365
  });
366
- Object.defineProperty(exports, "linkify", {
366
+ Object.defineProperty(exports, "rgbToHex", {
367
367
  enumerable: true,
368
368
  get: function get() {
369
- return _url.linkify;
369
+ return _colors.rgbToHex;
370
370
  }
371
371
  });
372
- Object.defineProperty(exports, "linkifyMatch", {
372
+ Object.defineProperty(exports, "uuid", {
373
373
  enumerable: true,
374
374
  get: function get() {
375
- return _url.linkifyMatch;
375
+ return _uuid.uuid;
376
376
  }
377
377
  });
378
378
 
@@ -5,17 +5,24 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.LINK_REGEXP = void 0;
8
9
  exports.getLinkMatch = getLinkMatch;
10
+ exports.linkifyMatch = exports.linkify = exports.isSafeUrl = void 0;
9
11
  exports.normalizeUrl = normalizeUrl;
10
- exports.linkifyMatch = exports.LINK_REGEXP = exports.linkify = exports.isSafeUrl = void 0;
11
12
 
12
13
  var _linkifyIt = _interopRequireDefault(require("linkify-it"));
13
14
 
14
15
  var whitelistedURLPatterns = [/^https?:\/\//im, /^ftps?:\/\//im, /^\//im, /^mailto:/im, /^skype:/im, /^callto:/im, /^facetime:/im, /^git:/im, /^irc6?:/im, /^news:/im, /^nntp:/im, /^feed:/im, /^cvs:/im, /^svn:/im, /^mvn:/im, /^ssh:/im, /^scp:\/\//im, /^sftp:\/\//im, /^itms:/im, /^notes:/im, /^hipchat:\/\//im, /^sourcetree:/im, /^urn:/im, /^tel:/im, /^xmpp:/im, /^telnet:/im, /^vnc:/im, /^rdp:/im, /^whatsapp:/im, /^slack:/im, /^sips?:/im, /^magnet:/im, /^#/im];
15
16
 
16
17
  var isSafeUrl = function isSafeUrl(url) {
18
+ var urlTrimmed = url.trim();
19
+
20
+ if (urlTrimmed.length === 0) {
21
+ return true;
22
+ }
23
+
17
24
  return whitelistedURLPatterns.some(function (p) {
18
- return p.test(url.trim()) === true;
25
+ return p.test(urlTrimmed);
19
26
  });
20
27
  };
21
28
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-schema",
3
- "version": "19.3.1",
3
+ "version": "20.1.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,2 +1,2 @@
1
- export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, customPanel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './schema';
1
+ export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './schema';
2
2
  export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid } from './utils';
@@ -1,7 +1,7 @@
1
1
  import { Schema } from 'prosemirror-model';
2
2
  import { COLOR, FONT_STYLE, SEARCH_QUERY, LINK } from './groups';
3
- import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer } from './marks';
4
- import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedList, listItem, heading, blockquote, codeBlock, panel, rule, image, mention, media, mediaInline, mediaGroup, mediaSingle, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
3
+ import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer, fragment } from './marks';
4
+ import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedList, listItem, heading, blockquote, codeBlock, panel, rule, image, mention, media, mediaInline, mediaGroup, mediaSingleWithCaption, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
5
5
 
6
6
  function addItems(builtInItems, config, customSpecs = {}) {
7
7
  if (!config) {
@@ -83,7 +83,7 @@ const nodesInOrder = [{
83
83
  spec: codeBlock
84
84
  }, {
85
85
  name: 'panel',
86
- spec: panel
86
+ spec: panel(true)
87
87
  }, {
88
88
  name: 'rule',
89
89
  spec: rule
@@ -104,7 +104,7 @@ const nodesInOrder = [{
104
104
  spec: mediaGroup
105
105
  }, {
106
106
  name: 'mediaSingle',
107
- spec: mediaSingle
107
+ spec: mediaSingleWithCaption
108
108
  }, {
109
109
  name: 'mediaInline',
110
110
  spec: mediaInline
@@ -238,6 +238,9 @@ const marksInOrder = [{
238
238
  }, {
239
239
  name: 'dataConsumer',
240
240
  spec: dataConsumer
241
+ }, {
242
+ name: 'fragment',
243
+ spec: fragment
241
244
  }, {
242
245
  name: 'indentation',
243
246
  spec: indentation
@@ -1,12 +1,10 @@
1
- import { customPanel } from './nodes/panel';
2
- import { layoutSectionWithSingleColumn } from './nodes/layout-section';
3
- import { dataConsumer } from './marks/data-consumer';
4
- import { allowCustomPanel, createSchema } from './create-schema';
5
- import { mediaSingleWithCaption } from './nodes';
1
+ import { layoutSectionWithSingleColumn } from './nodes';
2
+ import { dataConsumer, fragment } from './marks';
3
+ import { createSchema } from './create-schema';
6
4
 
7
5
  const getDefaultSchemaConfig = () => {
8
6
  let defaultSchemaConfig = {
9
- nodes: ['doc', 'paragraph', 'text', 'bulletList', 'orderedList', 'listItem', 'heading', 'blockquote', 'codeBlock', 'panel', 'rule', 'image', 'mention', 'media', 'mediaGroup', 'mediaSingle', 'mediaInline', 'confluenceUnsupportedBlock', 'confluenceUnsupportedInline', 'confluenceJiraIssue', 'expand', 'nestedExpand', 'extension', 'inlineExtension', 'bodiedExtension', 'hardBreak', 'emoji', 'table', 'tableCell', 'tableHeader', 'tableRow', 'decisionList', 'decisionItem', 'taskList', 'taskItem', 'unknownBlock', 'date', 'status', 'placeholder', 'layoutSection', 'layoutColumn', 'inlineCard', 'blockCard', 'embedCard', 'unsupportedBlock', 'unsupportedInline'],
7
+ nodes: ['doc', 'paragraph', 'text', 'bulletList', 'orderedList', 'listItem', 'heading', 'blockquote', 'codeBlock', 'panel', 'rule', 'image', 'caption', 'mention', 'media', 'mediaGroup', 'mediaSingle', 'mediaInline', 'confluenceUnsupportedBlock', 'confluenceUnsupportedInline', 'confluenceJiraIssue', 'expand', 'nestedExpand', 'extension', 'inlineExtension', 'bodiedExtension', 'hardBreak', 'emoji', 'table', 'tableCell', 'tableHeader', 'tableRow', 'decisionList', 'decisionItem', 'taskList', 'taskItem', 'unknownBlock', 'date', 'status', 'placeholder', 'layoutSection', 'layoutColumn', 'inlineCard', 'blockCard', 'embedCard', 'unsupportedBlock', 'unsupportedInline'],
10
8
  marks: ['link', 'em', 'strong', 'strike', 'subsup', 'underline', 'code', 'textColor', 'confluenceInlineComment', 'breakout', 'alignment', 'indentation', 'annotation', 'unsupportedMark', 'unsupportedNodeAttribute', 'typeAheadQuery' // https://product-fabric.atlassian.net/browse/ED-10214,
11
9
  ]
12
10
  };
@@ -15,18 +13,16 @@ const getDefaultSchemaConfig = () => {
15
13
 
16
14
  export const defaultSchemaConfig = getDefaultSchemaConfig();
17
15
  export const getSchemaBasedOnStage = (stage = 'final') => {
18
- const defaultSchemaConfig = getDefaultSchemaConfig(); // TODO: ED-10445 remove stage0 check after panels with emoji are on full schema AND image captions are on full schema
16
+ const defaultSchemaConfig = getDefaultSchemaConfig();
19
17
 
20
18
  if (stage === 'stage0') {
21
19
  defaultSchemaConfig.customNodeSpecs = {
22
- panel: customPanel(allowCustomPanel),
23
- mediaSingle: mediaSingleWithCaption,
24
20
  layoutSection: layoutSectionWithSingleColumn
25
21
  };
26
22
  defaultSchemaConfig.customMarkSpecs = {
27
- dataConsumer: dataConsumer
23
+ dataConsumer: dataConsumer,
24
+ fragment
28
25
  };
29
- defaultSchemaConfig.nodes.push('caption');
30
26
  defaultSchemaConfig.nodes.push('mediaInline');
31
27
  }
32
28
 
@@ -1,5 +1,5 @@
1
- export { PanelType, blockCard, blockquote, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, media, mediaGroup, mediaSingle, mediaInline, mediaSingleWithCaption, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, customPanel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline } from './nodes';
2
- export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './marks';
1
+ export { PanelType, blockCard, blockquote, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, media, mediaGroup, mediaSingle, mediaInline, mediaSingleWithCaption, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline } from './nodes';
2
+ export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, fragment, fragmentToJSON, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './marks';
3
3
  export { unsupportedNodeTypesForMediaCards } from './unsupported';
4
4
  export { inlineNodes } from './inline-nodes';
5
5
  export { sanitizeNodes, createSchema } from './create-schema';
@@ -37,7 +37,7 @@ export default function makeSchema(config) {
37
37
  }
38
38
 
39
39
  if (config.allowMedia) {
40
- nodes.push('mediaGroup', 'mediaSingle', 'media');
40
+ nodes.push('mediaGroup', 'mediaSingle', 'media', 'caption');
41
41
  }
42
42
 
43
43
  if (config.allowTextColor) {
@@ -0,0 +1,59 @@
1
+ import { isDOMElement } from '../../utils/parseDOM';
2
+
3
+ const parseFragment = maybeValue => {
4
+ var _maybeValue$getAttrib;
5
+
6
+ if (!isDOMElement(maybeValue)) {
7
+ return false;
8
+ }
9
+
10
+ const name = (_maybeValue$getAttrib = maybeValue.getAttribute('data-name')) !== null && _maybeValue$getAttrib !== void 0 ? _maybeValue$getAttrib : undefined;
11
+ const localId = maybeValue.getAttribute('data-localId');
12
+
13
+ if (!localId) {
14
+ return false;
15
+ }
16
+
17
+ return {
18
+ localId,
19
+ name
20
+ };
21
+ };
22
+
23
+ export const fragment = {
24
+ inclusive: false,
25
+ excludes: '',
26
+ attrs: {
27
+ localId: {
28
+ default: ''
29
+ },
30
+ name: {
31
+ default: null
32
+ }
33
+ },
34
+ parseDOM: [{
35
+ tag: '[data-mark-type="fragment"]',
36
+ getAttrs: maybeValue => parseFragment(maybeValue)
37
+ }],
38
+
39
+ toDOM(mark, inline) {
40
+ const wrapperStyle = inline ? 'span' : 'div';
41
+ return [wrapperStyle, {
42
+ 'data-mark-type': 'fragment',
43
+ 'data-name': mark.attrs.name,
44
+ 'data-localId': mark.attrs.localId
45
+ }];
46
+ }
47
+
48
+ };
49
+ export const toJSON = mark => {
50
+ return {
51
+ type: mark.type.name,
52
+ attrs: {
53
+ localId: mark.attrs.localId,
54
+ ...(mark.attrs.name ? {
55
+ name: mark.attrs.name
56
+ } : {})
57
+ }
58
+ };
59
+ };
@@ -14,4 +14,5 @@ export { indentation } from './indentation';
14
14
  export { annotation, AnnotationMarkStates, buildDataAttributes as buildAnnotationMarkDataAttributes, AnnotationTypes } from './annotation';
15
15
  export { unsupportedMark } from './unsupported-mark';
16
16
  export { unsupportedNodeAttribute } from './unsupported-node-attributes';
17
- export { dataConsumer, toJSON as dataConsumerToJSON } from './data-consumer';
17
+ export { dataConsumer, toJSON as dataConsumerToJSON } from './data-consumer';
18
+ export { fragment, toJSON as fragmentToJSON } from './fragment';
@@ -1,4 +1,4 @@
1
- import { LINK, COLOR } from '../groups';
1
+ import { LINK } from '../groups';
2
2
  import { isSafeUrl, normalizeUrl } from '../../utils/url';
3
3
 
4
4
  const getLinkAttrs = attribute => domNode => {
@@ -18,7 +18,7 @@ const getLinkAttrs = attribute => domNode => {
18
18
  };
19
19
 
20
20
  export const link = {
21
- excludes: `${LINK} ${COLOR}`,
21
+ excludes: `${LINK}`,
22
22
  // ED-5844 No multiple links in media node
23
23
  group: LINK,
24
24
  attrs: {
@@ -64,6 +64,7 @@ export const link = {
64
64
  }
65
65
 
66
66
  return ['a', { ...attrs,
67
+ ['data-block-link']: 'true',
67
68
  class: 'blockLink'
68
69
  }, 0];
69
70
  }
@@ -52,6 +52,18 @@ export const textColor = {
52
52
  } // else handle other colour formats
53
53
 
54
54
 
55
+ return hexColor && (colorPalette.has(hexColor) || colorPaletteExtended.has(hexColor)) ? {
56
+ color: hexColor
57
+ } : false;
58
+ }
59
+ }, {
60
+ tag: '.fabric-text-color-mark',
61
+ getAttrs: maybeElement => {
62
+ if (!(maybeElement instanceof HTMLElement)) {
63
+ return false;
64
+ }
65
+
66
+ const hexColor = maybeElement.dataset.textCustomColor;
55
67
  return hexColor && (colorPalette.has(hexColor) || colorPaletteExtended.has(hexColor)) ? {
56
68
  color: hexColor
57
69
  } : false;
@@ -60,7 +72,9 @@ export const textColor = {
60
72
 
61
73
  toDOM(mark) {
62
74
  return ['span', {
63
- style: `color: ${mark.attrs.color}`
75
+ class: 'fabric-text-color-mark',
76
+ style: `--custom-text-color: ${mark.attrs.color}`,
77
+ ['data-text-custom-color']: mark.attrs.color
64
78
  }];
65
79
  }
66
80
 
@@ -3,6 +3,7 @@ export const unsupportedMark = {
3
3
  return ['span'];
4
4
  },
5
5
 
6
+ excludes: '',
6
7
  attrs: {
7
8
  originalValue: {}
8
9
  }
@@ -4,7 +4,7 @@ const createBodiedExtensionNodeSpec = () => {
4
4
  const nodeSpec = {
5
5
  inline: false,
6
6
  group: 'block',
7
- marks: 'link dataConsumer',
7
+ marks: 'link dataConsumer fragment',
8
8
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | extension | unsupportedBlock | embedCard)+',
9
9
  defining: true,
10
10
  selectable: true,