@atlaskit/adf-schema 19.3.0 → 20.1.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 (106) hide show
  1. package/CHANGELOG.md +45 -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 +2 -55
  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 +168 -25
  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 -51
  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 +163 -25
  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 +3 -55
  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 +167 -25
  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
@@ -4,17 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = makeSchema;
7
- exports.isSchemaWithLists = isSchemaWithLists;
8
- exports.isSchemaWithMentions = isSchemaWithMentions;
9
- exports.isSchemaWithEmojis = isSchemaWithEmojis;
10
- exports.isSchemaWithLinks = isSchemaWithLinks;
11
7
  exports.isSchemaWithAdvancedTextFormattingMarks = isSchemaWithAdvancedTextFormattingMarks;
12
- exports.isSchemaWithSubSupMark = isSchemaWithSubSupMark;
13
- exports.isSchemaWithCodeBlock = isSchemaWithCodeBlock;
14
8
  exports.isSchemaWithBlockQuotes = isSchemaWithBlockQuotes;
9
+ exports.isSchemaWithCodeBlock = isSchemaWithCodeBlock;
10
+ exports.isSchemaWithEmojis = isSchemaWithEmojis;
11
+ exports.isSchemaWithLinks = isSchemaWithLinks;
12
+ exports.isSchemaWithLists = isSchemaWithLists;
15
13
  exports.isSchemaWithMedia = isSchemaWithMedia;
16
- exports.isSchemaWithTextColor = isSchemaWithTextColor;
14
+ exports.isSchemaWithMentions = isSchemaWithMentions;
15
+ exports.isSchemaWithSubSupMark = isSchemaWithSubSupMark;
17
16
  exports.isSchemaWithTables = isSchemaWithTables;
17
+ exports.isSchemaWithTextColor = isSchemaWithTextColor;
18
18
 
19
19
  var _createSchema = require("./create-schema");
20
20
 
@@ -56,7 +56,7 @@ function makeSchema(config) {
56
56
  }
57
57
 
58
58
  if (config.allowMedia) {
59
- nodes.push('mediaGroup', 'mediaSingle', 'media');
59
+ nodes.push('mediaGroup', 'mediaSingle', 'media', 'caption');
60
60
  }
61
61
 
62
62
  if (config.allowTextColor) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.alignment = exports.alignmentPositionMap = void 0;
6
+ exports.alignmentPositionMap = exports.alignment = void 0;
7
7
 
8
8
  var _groups = require("../groups");
9
9
 
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.annotation = exports.AnnotationTypes = exports.AnnotationMarkStates = void 0;
8
9
  exports.buildDataAttributes = buildDataAttributes;
9
- exports.annotation = exports.AnnotationMarkStates = exports.AnnotationTypes = void 0;
10
10
 
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
 
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.toJSON = exports.fragment = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _parseDOM = require("../../utils/parseDOM");
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; }
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; }
17
+
18
+ var parseFragment = function parseFragment(maybeValue) {
19
+ var _maybeValue$getAttrib;
20
+
21
+ if (!(0, _parseDOM.isDOMElement)(maybeValue)) {
22
+ return false;
23
+ }
24
+
25
+ var name = (_maybeValue$getAttrib = maybeValue.getAttribute('data-name')) !== null && _maybeValue$getAttrib !== void 0 ? _maybeValue$getAttrib : undefined;
26
+ var localId = maybeValue.getAttribute('data-localId');
27
+
28
+ if (!localId) {
29
+ return false;
30
+ }
31
+
32
+ return {
33
+ localId: localId,
34
+ name: name
35
+ };
36
+ };
37
+
38
+ var fragment = {
39
+ inclusive: false,
40
+ excludes: '',
41
+ attrs: {
42
+ localId: {
43
+ default: ''
44
+ },
45
+ name: {
46
+ default: null
47
+ }
48
+ },
49
+ parseDOM: [{
50
+ tag: '[data-mark-type="fragment"]',
51
+ getAttrs: function getAttrs(maybeValue) {
52
+ return parseFragment(maybeValue);
53
+ }
54
+ }],
55
+ toDOM: function toDOM(mark, inline) {
56
+ var wrapperStyle = inline ? 'span' : 'div';
57
+ return [wrapperStyle, {
58
+ 'data-mark-type': 'fragment',
59
+ 'data-name': mark.attrs.name,
60
+ 'data-localId': mark.attrs.localId
61
+ }];
62
+ }
63
+ };
64
+ exports.fragment = fragment;
65
+
66
+ var toJSON = function toJSON(mark) {
67
+ return {
68
+ type: mark.type.name,
69
+ attrs: _objectSpread({
70
+ localId: mark.attrs.localId
71
+ }, mark.attrs.name ? {
72
+ name: mark.attrs.name
73
+ } : {})
74
+ };
75
+ };
76
+
77
+ exports.toJSON = toJSON;
@@ -3,100 +3,100 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "em", {
6
+ Object.defineProperty(exports, "AnnotationMarkStates", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _em.em;
9
+ return _annotation.AnnotationMarkStates;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "code", {
12
+ Object.defineProperty(exports, "AnnotationTypes", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _code.code;
15
+ return _annotation.AnnotationTypes;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "strike", {
18
+ Object.defineProperty(exports, "alignment", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _strike.strike;
21
+ return _alignment.alignment;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "strong", {
24
+ Object.defineProperty(exports, "alignmentPositionMap", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _strong.strong;
27
+ return _alignment.alignmentPositionMap;
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "underline", {
30
+ Object.defineProperty(exports, "annotation", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _underline.underline;
33
+ return _annotation.annotation;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "link", {
36
+ Object.defineProperty(exports, "breakout", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _link.link;
39
+ return _breakout.breakout;
40
40
  }
41
41
  });
42
- Object.defineProperty(exports, "linkToJSON", {
42
+ Object.defineProperty(exports, "buildAnnotationMarkDataAttributes", {
43
43
  enumerable: true,
44
44
  get: function get() {
45
- return _link.toJSON;
45
+ return _annotation.buildDataAttributes;
46
46
  }
47
47
  });
48
- Object.defineProperty(exports, "typeAheadQuery", {
48
+ Object.defineProperty(exports, "code", {
49
49
  enumerable: true,
50
50
  get: function get() {
51
- return _typeAheadQuery.typeAheadQuery;
51
+ return _code.code;
52
52
  }
53
53
  });
54
- Object.defineProperty(exports, "subsup", {
54
+ Object.defineProperty(exports, "colorPalette", {
55
55
  enumerable: true,
56
56
  get: function get() {
57
- return _subsup.subsup;
57
+ return _textColor.colorPalette;
58
58
  }
59
59
  });
60
- Object.defineProperty(exports, "textColor", {
60
+ Object.defineProperty(exports, "colorPaletteExtended", {
61
61
  enumerable: true,
62
62
  get: function get() {
63
- return _textColor.textColor;
63
+ return _textColor.colorPaletteExtended;
64
64
  }
65
65
  });
66
- Object.defineProperty(exports, "colorPalette", {
66
+ Object.defineProperty(exports, "confluenceInlineComment", {
67
67
  enumerable: true,
68
68
  get: function get() {
69
- return _textColor.colorPalette;
69
+ return _confluenceInlineComment.confluenceInlineComment;
70
70
  }
71
71
  });
72
- Object.defineProperty(exports, "colorPaletteExtended", {
72
+ Object.defineProperty(exports, "dataConsumer", {
73
73
  enumerable: true,
74
74
  get: function get() {
75
- return _textColor.colorPaletteExtended;
75
+ return _dataConsumer.dataConsumer;
76
76
  }
77
77
  });
78
- Object.defineProperty(exports, "confluenceInlineComment", {
78
+ Object.defineProperty(exports, "dataConsumerToJSON", {
79
79
  enumerable: true,
80
80
  get: function get() {
81
- return _confluenceInlineComment.confluenceInlineComment;
81
+ return _dataConsumer.toJSON;
82
82
  }
83
83
  });
84
- Object.defineProperty(exports, "breakout", {
84
+ Object.defineProperty(exports, "em", {
85
85
  enumerable: true,
86
86
  get: function get() {
87
- return _breakout.breakout;
87
+ return _em.em;
88
88
  }
89
89
  });
90
- Object.defineProperty(exports, "alignment", {
90
+ Object.defineProperty(exports, "fragment", {
91
91
  enumerable: true,
92
92
  get: function get() {
93
- return _alignment.alignment;
93
+ return _fragment.fragment;
94
94
  }
95
95
  });
96
- Object.defineProperty(exports, "alignmentPositionMap", {
96
+ Object.defineProperty(exports, "fragmentToJSON", {
97
97
  enumerable: true,
98
98
  get: function get() {
99
- return _alignment.alignmentPositionMap;
99
+ return _fragment.toJSON;
100
100
  }
101
101
  });
102
102
  Object.defineProperty(exports, "indentation", {
@@ -105,52 +105,64 @@ Object.defineProperty(exports, "indentation", {
105
105
  return _indentation.indentation;
106
106
  }
107
107
  });
108
- Object.defineProperty(exports, "annotation", {
108
+ Object.defineProperty(exports, "link", {
109
109
  enumerable: true,
110
110
  get: function get() {
111
- return _annotation.annotation;
111
+ return _link.link;
112
112
  }
113
113
  });
114
- Object.defineProperty(exports, "AnnotationMarkStates", {
114
+ Object.defineProperty(exports, "linkToJSON", {
115
115
  enumerable: true,
116
116
  get: function get() {
117
- return _annotation.AnnotationMarkStates;
117
+ return _link.toJSON;
118
118
  }
119
119
  });
120
- Object.defineProperty(exports, "buildAnnotationMarkDataAttributes", {
120
+ Object.defineProperty(exports, "strike", {
121
121
  enumerable: true,
122
122
  get: function get() {
123
- return _annotation.buildDataAttributes;
123
+ return _strike.strike;
124
124
  }
125
125
  });
126
- Object.defineProperty(exports, "AnnotationTypes", {
126
+ Object.defineProperty(exports, "strong", {
127
127
  enumerable: true,
128
128
  get: function get() {
129
- return _annotation.AnnotationTypes;
129
+ return _strong.strong;
130
130
  }
131
131
  });
132
- Object.defineProperty(exports, "unsupportedMark", {
132
+ Object.defineProperty(exports, "subsup", {
133
133
  enumerable: true,
134
134
  get: function get() {
135
- return _unsupportedMark.unsupportedMark;
135
+ return _subsup.subsup;
136
136
  }
137
137
  });
138
- Object.defineProperty(exports, "unsupportedNodeAttribute", {
138
+ Object.defineProperty(exports, "textColor", {
139
139
  enumerable: true,
140
140
  get: function get() {
141
- return _unsupportedNodeAttributes.unsupportedNodeAttribute;
141
+ return _textColor.textColor;
142
142
  }
143
143
  });
144
- Object.defineProperty(exports, "dataConsumer", {
144
+ Object.defineProperty(exports, "typeAheadQuery", {
145
145
  enumerable: true,
146
146
  get: function get() {
147
- return _dataConsumer.dataConsumer;
147
+ return _typeAheadQuery.typeAheadQuery;
148
148
  }
149
149
  });
150
- Object.defineProperty(exports, "dataConsumerToJSON", {
150
+ Object.defineProperty(exports, "underline", {
151
151
  enumerable: true,
152
152
  get: function get() {
153
- return _dataConsumer.toJSON;
153
+ return _underline.underline;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, "unsupportedMark", {
157
+ enumerable: true,
158
+ get: function get() {
159
+ return _unsupportedMark.unsupportedMark;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "unsupportedNodeAttribute", {
163
+ enumerable: true,
164
+ get: function get() {
165
+ return _unsupportedNodeAttributes.unsupportedNodeAttribute;
154
166
  }
155
167
  });
156
168
 
@@ -186,4 +198,6 @@ var _unsupportedMark = require("./unsupported-mark");
186
198
 
187
199
  var _unsupportedNodeAttributes = require("./unsupported-node-attributes");
188
200
 
189
- var _dataConsumer = require("./data-consumer");
201
+ var _dataConsumer = require("./data-consumer");
202
+
203
+ var _fragment = require("./fragment");
@@ -9,8 +9,6 @@ exports.toJSON = exports.link = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _prosemirrorModel = require("prosemirror-model");
13
-
14
12
  var _groups = require("../groups");
15
13
 
16
14
  var _url = require("../../utils/url");
@@ -37,34 +35,8 @@ var getLinkAttrs = function getLinkAttrs(attribute) {
37
35
  };
38
36
  };
39
37
 
40
- var getLinkAttrsWithCheck = function getLinkAttrsWithCheck(attribute) {
41
- return function (domNode) {
42
- var dom = domNode;
43
- var hasTextOnlyChildren = Array.from(dom.childNodes).every(function (node) {
44
- return node.nodeType === Node.TEXT_NODE || node.nodeName === 'SPAN';
45
- });
46
-
47
- if (hasTextOnlyChildren) {
48
- var href = dom.getAttribute(attribute) || '';
49
- var attrs = {
50
- __confluenceMetadata: dom.hasAttribute('__confluenceMetadata') ? JSON.parse(dom.getAttribute('__confluenceMetadata') || '') : undefined
51
- };
52
-
53
- if ((0, _url.isSafeUrl)(href)) {
54
- attrs.href = (0, _url.normalizeUrl)(href);
55
- } else {
56
- return false;
57
- }
58
-
59
- return attrs;
60
- }
61
-
62
- return false;
63
- };
64
- };
65
-
66
38
  var link = {
67
- excludes: "".concat(_groups.LINK, " ").concat(_groups.COLOR),
39
+ excludes: "".concat(_groups.LINK),
68
40
  // ED-5844 No multiple links in media node
69
41
  group: _groups.LINK,
70
42
  attrs: {
@@ -80,39 +52,14 @@ var link = {
80
52
  contentElement: function contentElement(node) {
81
53
  var clone = node.cloneNode(true);
82
54
  clone.removeAttribute('data-block-link');
55
+ clone.setAttribute('data-skip-paste', 'true');
83
56
  var wrapper = document.createElement('div');
84
57
  wrapper.appendChild(clone);
85
58
  return wrapper;
86
59
  }
87
60
  }, {
88
61
  tag: 'a[href]',
89
- context: 'mediaSingle/|taskItem/|decisionItem/',
90
62
  getAttrs: getLinkAttrs('href')
91
- }, {
92
- tag: 'a[href]',
93
- getAttrs: getLinkAttrsWithCheck('href')
94
- }, {
95
- /**
96
- * When links aren't wrapped in a paragraph and due to
97
- * the odd nature of how our schema is set up, prosemirror will
98
- * add the link to the paragraph node itself where it should be on
99
- * the text node, this satisfies our schema because link is allowed
100
- * in many places (e.g. listitem)
101
- * This change comes through via prosemirror-model@1.9.1
102
- */
103
- tag: 'a[href]',
104
- getAttrs: getLinkAttrsWithCheck('href'),
105
- getContent: function getContent(node, schema) {
106
- if (node instanceof HTMLAnchorElement) {
107
- var href = node.getAttribute('href');
108
- var text = node.innerText;
109
- return _prosemirrorModel.Fragment.from(schema.nodes.paragraph.createChecked(undefined, schema.text(text, [schema.marks.link.create({
110
- href: href
111
- })])));
112
- }
113
-
114
- return _prosemirrorModel.Fragment.empty;
115
- }
116
63
  }],
117
64
  toDOM: function toDOM(node, isInline) {
118
65
  var attrs = Object.keys(node.attrs).reduce(function (attrs, key) {
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.textColor = exports.colorPaletteExtended = exports.colorPalette = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
14
  var _groups = require("../groups");
@@ -79,15 +81,28 @@ var textColor = {
79
81
  } // else handle other colour formats
80
82
 
81
83
 
84
+ return hexColor && (colorPalette.has(hexColor) || colorPaletteExtended.has(hexColor)) ? {
85
+ color: hexColor
86
+ } : false;
87
+ }
88
+ }, {
89
+ tag: '.fabric-text-color-mark',
90
+ getAttrs: function getAttrs(maybeElement) {
91
+ if (!(maybeElement instanceof HTMLElement)) {
92
+ return false;
93
+ }
94
+
95
+ var hexColor = maybeElement.dataset.textCustomColor;
82
96
  return hexColor && (colorPalette.has(hexColor) || colorPaletteExtended.has(hexColor)) ? {
83
97
  color: hexColor
84
98
  } : false;
85
99
  }
86
100
  }],
87
101
  toDOM: function toDOM(mark) {
88
- return ['span', {
89
- style: "color: ".concat(mark.attrs.color)
90
- }];
102
+ return ['span', (0, _defineProperty2.default)({
103
+ class: 'fabric-text-color-mark',
104
+ style: "--custom-text-color: ".concat(mark.attrs.color)
105
+ }, 'data-text-custom-color', mark.attrs.color)];
91
106
  }
92
107
  };
93
108
  exports.textColor = textColor;
@@ -8,6 +8,7 @@ var unsupportedMark = {
8
8
  toDOM: function toDOM() {
9
9
  return ['span'];
10
10
  },
11
+ excludes: '',
11
12
  attrs: {
12
13
  originalValue: {}
13
14
  }
@@ -11,7 +11,7 @@ var createBodiedExtensionNodeSpec = function createBodiedExtensionNodeSpec() {
11
11
  var nodeSpec = {
12
12
  inline: false,
13
13
  group: 'block',
14
- marks: 'link dataConsumer',
14
+ marks: 'link dataConsumer fragment',
15
15
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | extension | unsupportedBlock | embedCard)+',
16
16
  defining: true,
17
17
  selectable: true,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.bulletList = exports.bulletListSelector = void 0;
6
+ exports.bulletListSelector = exports.bulletList = void 0;
7
7
  // eslint-disable-next-line import/no-cycle
8
8
 
9
9
  /**
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.caption = void 0;
7
7
 
8
8
  /**
9
- * @stage 0
10
9
  * @name caption_node
11
10
  */
12
11
  var caption = {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.decisionList = exports.decisionListSelector = void 0;
6
+ exports.decisionListSelector = exports.decisionList = void 0;
7
7
 
8
8
  var _uuid = require("../../utils/uuid");
9
9
 
@@ -10,6 +10,6 @@ exports.doc = void 0;
10
10
  */
11
11
  var doc = {
12
12
  content: '(block|layoutSection)+',
13
- marks: 'alignment breakout dataConsumer indentation link unsupportedMark unsupportedNodeAttribute'
13
+ marks: 'alignment breakout dataConsumer fragment indentation link unsupportedMark unsupportedNodeAttribute'
14
14
  };
15
15
  exports.doc = doc;
@@ -27,7 +27,7 @@ function getExpandAttrs(domNode) {
27
27
  var expand = {
28
28
  inline: false,
29
29
  group: 'block',
30
- marks: 'link dataConsumer unsupportedMark unsupportedNodeAttribute',
30
+ marks: 'link dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
31
31
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | embedCard | extension | unsupportedBlock)+',
32
32
  isolating: true,
33
33
  selectable: true,