@atlaskit/adf-schema 49.0.6 → 49.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 (181) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/index.js +114 -0
  3. package/dist/cjs/next-schema/generated/nodeTypes.js +118 -1
  4. package/dist/cjs/next-schema/nodes/blockCard.js +15 -0
  5. package/dist/cjs/next-schema/nodes/blockquote.js +16 -2
  6. package/dist/cjs/next-schema/nodes/caption.js +7 -0
  7. package/dist/cjs/next-schema/nodes/codeBlock.js +5 -0
  8. package/dist/cjs/next-schema/nodes/date.js +5 -0
  9. package/dist/cjs/next-schema/nodes/embedCard.js +5 -0
  10. package/dist/cjs/next-schema/nodes/emoji.js +5 -0
  11. package/dist/cjs/next-schema/nodes/expand.js +5 -0
  12. package/dist/cjs/next-schema/nodes/hardBreak.js +5 -0
  13. package/dist/cjs/next-schema/nodes/inlineCard.js +10 -0
  14. package/dist/cjs/next-schema/nodes/layoutColumn.js +5 -0
  15. package/dist/cjs/next-schema/nodes/layoutSection.js +12 -0
  16. package/dist/cjs/next-schema/nodes/list.js +20 -1
  17. package/dist/cjs/next-schema/nodes/media.js +10 -0
  18. package/dist/cjs/next-schema/nodes/mediaInline.js +5 -0
  19. package/dist/cjs/next-schema/nodes/mediaSingle.js +10 -0
  20. package/dist/cjs/next-schema/nodes/nestedExpand.js +5 -0
  21. package/dist/cjs/next-schema/nodes/panel.js +5 -0
  22. package/dist/cjs/next-schema/nodes/placeholder.js +5 -0
  23. package/dist/cjs/next-schema/nodes/rule.js +9 -1
  24. package/dist/cjs/schema/index.js +120 -0
  25. package/dist/cjs/schema/nodes/block-card.js +48 -1
  26. package/dist/cjs/schema/nodes/blockquote.js +20 -2
  27. package/dist/cjs/schema/nodes/bullet-list.js +20 -1
  28. package/dist/cjs/schema/nodes/caption.js +20 -1
  29. package/dist/cjs/schema/nodes/code-block.js +72 -2
  30. package/dist/cjs/schema/nodes/date.js +22 -1
  31. package/dist/cjs/schema/nodes/embed-card.js +36 -1
  32. package/dist/cjs/schema/nodes/emoji.js +73 -1
  33. package/dist/cjs/schema/nodes/expand.js +56 -1
  34. package/dist/cjs/schema/nodes/hard-break.js +18 -1
  35. package/dist/cjs/schema/nodes/index.js +120 -0
  36. package/dist/cjs/schema/nodes/inline-card.js +46 -1
  37. package/dist/cjs/schema/nodes/layout-column.js +37 -1
  38. package/dist/cjs/schema/nodes/layout-section.js +31 -1
  39. package/dist/cjs/schema/nodes/list-item.js +34 -1
  40. package/dist/cjs/schema/nodes/media-inline.js +12 -2
  41. package/dist/cjs/schema/nodes/media-single.js +22 -2
  42. package/dist/cjs/schema/nodes/media.js +21 -4
  43. package/dist/cjs/schema/nodes/nested-expand.js +34 -7
  44. package/dist/cjs/schema/nodes/ordered-list.js +54 -3
  45. package/dist/cjs/schema/nodes/panel.js +13 -5
  46. package/dist/cjs/schema/nodes/placeholder.js +24 -1
  47. package/dist/cjs/schema/nodes/rule.js +18 -1
  48. package/dist/cjs/validator-schema/generated/validatorSpec.js +142 -0
  49. package/dist/es2019/index.js +2 -2
  50. package/dist/es2019/next-schema/generated/nodeTypes.js +118 -1
  51. package/dist/es2019/next-schema/nodes/blockCard.js +15 -0
  52. package/dist/es2019/next-schema/nodes/blockquote.js +16 -2
  53. package/dist/es2019/next-schema/nodes/caption.js +7 -0
  54. package/dist/es2019/next-schema/nodes/codeBlock.js +5 -0
  55. package/dist/es2019/next-schema/nodes/date.js +5 -0
  56. package/dist/es2019/next-schema/nodes/embedCard.js +5 -0
  57. package/dist/es2019/next-schema/nodes/emoji.js +5 -0
  58. package/dist/es2019/next-schema/nodes/expand.js +5 -0
  59. package/dist/es2019/next-schema/nodes/hardBreak.js +5 -0
  60. package/dist/es2019/next-schema/nodes/inlineCard.js +10 -0
  61. package/dist/es2019/next-schema/nodes/layoutColumn.js +5 -0
  62. package/dist/es2019/next-schema/nodes/layoutSection.js +12 -0
  63. package/dist/es2019/next-schema/nodes/list.js +20 -1
  64. package/dist/es2019/next-schema/nodes/media.js +10 -0
  65. package/dist/es2019/next-schema/nodes/mediaInline.js +5 -0
  66. package/dist/es2019/next-schema/nodes/mediaSingle.js +10 -0
  67. package/dist/es2019/next-schema/nodes/nestedExpand.js +5 -0
  68. package/dist/es2019/next-schema/nodes/panel.js +5 -0
  69. package/dist/es2019/next-schema/nodes/placeholder.js +5 -0
  70. package/dist/es2019/next-schema/nodes/rule.js +9 -1
  71. package/dist/es2019/schema/index.js +1 -1
  72. package/dist/es2019/schema/nodes/block-card.js +50 -0
  73. package/dist/es2019/schema/nodes/blockquote.js +19 -1
  74. package/dist/es2019/schema/nodes/bullet-list.js +19 -0
  75. package/dist/es2019/schema/nodes/caption.js +19 -0
  76. package/dist/es2019/schema/nodes/code-block.js +68 -0
  77. package/dist/es2019/schema/nodes/date.js +19 -0
  78. package/dist/es2019/schema/nodes/embed-card.js +34 -0
  79. package/dist/es2019/schema/nodes/emoji.js +71 -0
  80. package/dist/es2019/schema/nodes/expand.js +59 -0
  81. package/dist/es2019/schema/nodes/hard-break.js +15 -0
  82. package/dist/es2019/schema/nodes/index.js +19 -19
  83. package/dist/es2019/schema/nodes/inline-card.js +45 -0
  84. package/dist/es2019/schema/nodes/layout-column.js +38 -0
  85. package/dist/es2019/schema/nodes/layout-section.js +32 -0
  86. package/dist/es2019/schema/nodes/list-item.js +29 -0
  87. package/dist/es2019/schema/nodes/media-inline.js +8 -1
  88. package/dist/es2019/schema/nodes/media-single.js +20 -1
  89. package/dist/es2019/schema/nodes/media.js +17 -4
  90. package/dist/es2019/schema/nodes/nested-expand.js +21 -6
  91. package/dist/es2019/schema/nodes/ordered-list.js +51 -2
  92. package/dist/es2019/schema/nodes/panel.js +11 -5
  93. package/dist/es2019/schema/nodes/placeholder.js +23 -0
  94. package/dist/es2019/schema/nodes/rule.js +15 -0
  95. package/dist/es2019/validator-schema/generated/validatorSpec.js +142 -0
  96. package/dist/esm/index.js +2 -2
  97. package/dist/esm/next-schema/generated/nodeTypes.js +118 -1
  98. package/dist/esm/next-schema/nodes/blockCard.js +15 -0
  99. package/dist/esm/next-schema/nodes/blockquote.js +16 -2
  100. package/dist/esm/next-schema/nodes/caption.js +7 -0
  101. package/dist/esm/next-schema/nodes/codeBlock.js +5 -0
  102. package/dist/esm/next-schema/nodes/date.js +5 -0
  103. package/dist/esm/next-schema/nodes/embedCard.js +5 -0
  104. package/dist/esm/next-schema/nodes/emoji.js +5 -0
  105. package/dist/esm/next-schema/nodes/expand.js +5 -0
  106. package/dist/esm/next-schema/nodes/hardBreak.js +5 -0
  107. package/dist/esm/next-schema/nodes/inlineCard.js +10 -0
  108. package/dist/esm/next-schema/nodes/layoutColumn.js +5 -0
  109. package/dist/esm/next-schema/nodes/layoutSection.js +12 -0
  110. package/dist/esm/next-schema/nodes/list.js +20 -1
  111. package/dist/esm/next-schema/nodes/media.js +10 -0
  112. package/dist/esm/next-schema/nodes/mediaInline.js +5 -0
  113. package/dist/esm/next-schema/nodes/mediaSingle.js +10 -0
  114. package/dist/esm/next-schema/nodes/nestedExpand.js +5 -0
  115. package/dist/esm/next-schema/nodes/panel.js +5 -0
  116. package/dist/esm/next-schema/nodes/placeholder.js +5 -0
  117. package/dist/esm/next-schema/nodes/rule.js +9 -1
  118. package/dist/esm/schema/index.js +1 -1
  119. package/dist/esm/schema/nodes/block-card.js +47 -0
  120. package/dist/esm/schema/nodes/blockquote.js +19 -1
  121. package/dist/esm/schema/nodes/bullet-list.js +19 -0
  122. package/dist/esm/schema/nodes/caption.js +19 -0
  123. package/dist/esm/schema/nodes/code-block.js +71 -1
  124. package/dist/esm/schema/nodes/date.js +21 -0
  125. package/dist/esm/schema/nodes/embed-card.js +35 -0
  126. package/dist/esm/schema/nodes/emoji.js +71 -0
  127. package/dist/esm/schema/nodes/expand.js +55 -0
  128. package/dist/esm/schema/nodes/hard-break.js +17 -0
  129. package/dist/esm/schema/nodes/index.js +19 -19
  130. package/dist/esm/schema/nodes/inline-card.js +45 -0
  131. package/dist/esm/schema/nodes/layout-column.js +36 -0
  132. package/dist/esm/schema/nodes/layout-section.js +30 -0
  133. package/dist/esm/schema/nodes/list-item.js +33 -0
  134. package/dist/esm/schema/nodes/media-inline.js +10 -1
  135. package/dist/esm/schema/nodes/media-single.js +21 -1
  136. package/dist/esm/schema/nodes/media.js +19 -3
  137. package/dist/esm/schema/nodes/nested-expand.js +32 -6
  138. package/dist/esm/schema/nodes/ordered-list.js +53 -2
  139. package/dist/esm/schema/nodes/panel.js +12 -4
  140. package/dist/esm/schema/nodes/placeholder.js +23 -0
  141. package/dist/esm/schema/nodes/rule.js +17 -0
  142. package/dist/esm/validator-schema/generated/validatorSpec.js +142 -0
  143. package/dist/json-schema/v1/full.json +125 -2
  144. package/dist/json-schema/v1/stage-0.json +137 -2
  145. package/dist/types/index.d.ts +2 -2
  146. package/dist/types/next-schema/generated/nodeTypes.d.ts +62 -0
  147. package/dist/types/next-schema/groups/nonNestableBlockContentGroup.d.ts +7 -0
  148. package/dist/types/next-schema/groups/tableCellContentPseudoGroup.d.ts +7 -0
  149. package/dist/types/next-schema/nodes/blockquote.d.ts +7 -0
  150. package/dist/types/next-schema/nodes/layoutSection.d.ts +5 -0
  151. package/dist/types/schema/index.d.ts +1 -1
  152. package/dist/types/schema/nodes/block-card.d.ts +4 -0
  153. package/dist/types/schema/nodes/blockquote.d.ts +4 -0
  154. package/dist/types/schema/nodes/bullet-list.d.ts +1 -0
  155. package/dist/types/schema/nodes/caption.d.ts +4 -0
  156. package/dist/types/schema/nodes/code-block.d.ts +2 -0
  157. package/dist/types/schema/nodes/date.d.ts +2 -0
  158. package/dist/types/schema/nodes/embed-card.d.ts +2 -0
  159. package/dist/types/schema/nodes/emoji.d.ts +2 -0
  160. package/dist/types/schema/nodes/expand.d.ts +2 -0
  161. package/dist/types/schema/nodes/hard-break.d.ts +2 -0
  162. package/dist/types/schema/nodes/index.d.ts +19 -19
  163. package/dist/types/schema/nodes/inline-card.d.ts +1 -0
  164. package/dist/types/schema/nodes/layout-column.d.ts +2 -0
  165. package/dist/types/schema/nodes/layout-section.d.ts +4 -0
  166. package/dist/types/schema/nodes/list-item.d.ts +2 -0
  167. package/dist/types/schema/nodes/media-inline.d.ts +1 -0
  168. package/dist/types/schema/nodes/media-single.d.ts +3 -1
  169. package/dist/types/schema/nodes/media.d.ts +3 -1
  170. package/dist/types/schema/nodes/nested-expand.d.ts +2 -0
  171. package/dist/types/schema/nodes/ordered-list.d.ts +2 -0
  172. package/dist/types/schema/nodes/panel.d.ts +2 -0
  173. package/dist/types/schema/nodes/placeholder.d.ts +2 -0
  174. package/dist/types/schema/nodes/rule.d.ts +4 -0
  175. package/dist/types/schema/nodes/types/list.d.ts +7 -0
  176. package/dist/types/schema/nodes/types/rich-media-common.d.ts +1 -0
  177. package/dist/types/validator-schema/generated/validatorSpec.d.ts +142 -0
  178. package/json-schema/v1/full.json +125 -2
  179. package/json-schema/v1/stage-0.json +137 -2
  180. package/package.json +2 -2
  181. package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +1 -0
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.toJSON = exports.codeBlock = void 0;
6
+ exports.toJSON = exports.codeBlockWithLocalId = exports.codeBlock = void 0;
7
7
  var _model = require("@atlaskit/editor-prosemirror/model");
8
8
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
9
+ var _utils = require("../../utils");
9
10
  /**
10
11
  * @name codeBlock_with_no_marks_node
11
12
  */
@@ -150,4 +151,73 @@ var toJSON = exports.toJSON = function toJSON(node) {
150
151
  return memo;
151
152
  }, {})
152
153
  };
153
- };
154
+ };
155
+ var codeBlockWithLocalId = exports.codeBlockWithLocalId = (0, _nodeTypes.codeBlock)({
156
+ parseDOM: [{
157
+ tag: 'pre',
158
+ preserveWhitespace: 'full',
159
+ getAttrs: function getAttrs(domNode) {
160
+ var dom = domNode;
161
+ var language = getLanguageFromBitbucketStyle(dom.parentElement) || getLanguageFromEditorStyle(dom.parentElement) || getLanguageFromCode(dom) || dom.getAttribute('data-language');
162
+ dom = removeLastNewLine(dom);
163
+ return {
164
+ language: language,
165
+ localId: _utils.uuid.generate()
166
+ };
167
+ }
168
+ },
169
+ // Handle VSCode, Android Studio paste
170
+ // Checking `white-space: pre-wrap` is too aggressive @see ED-2627
171
+ {
172
+ tag: 'div[style]',
173
+ preserveWhitespace: 'full',
174
+ getAttrs: function getAttrs(domNode) {
175
+ var dom = domNode;
176
+ if (dom.style.whiteSpace === 'pre' || dom.style.fontFamily && dom.style.fontFamily.toLowerCase().indexOf('monospace') > -1) {
177
+ return {};
178
+ }
179
+ return false;
180
+ },
181
+ getContent: function getContent(domNode, schema) {
182
+ var code = parseCodeFromHtml(domNode);
183
+ return code ? _model.Fragment.from(schema.text(code)) : _model.Fragment.empty;
184
+ }
185
+ },
186
+ // Handle GitHub/Gist paste
187
+ {
188
+ tag: 'table[style]',
189
+ preserveWhitespace: 'full',
190
+ getAttrs: function getAttrs(dom) {
191
+ if (dom.querySelector('td[class*="blob-code"]')) {
192
+ return {};
193
+ }
194
+ return false;
195
+ }
196
+ }, {
197
+ tag: 'div.code-block',
198
+ preserveWhitespace: 'full',
199
+ getAttrs: function getAttrs(domNode) {
200
+ var dom = domNode;
201
+ // TODO: ED-5604 Fix it inside `react-syntax-highlighter`
202
+ // Remove line numbers
203
+ var lineNumber = dom.querySelectorAll('.react-syntax-highlighter-line-number');
204
+ if (lineNumber.length > 0) {
205
+ // It's possible to copy without the line numbers too hence this
206
+ // `react-syntax-highlighter-line-number` check, so that we don't remove real code
207
+ lineNumber.forEach(function (line) {
208
+ return line.remove();
209
+ });
210
+ }
211
+ return {};
212
+ }
213
+ }],
214
+ toDOM: function toDOM(node) {
215
+ var _node$attrs;
216
+ var attrs = {
217
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
218
+ };
219
+ return ['pre', attrs, ['code', {
220
+ 'data-language': node.attrs.language
221
+ }, 0]];
222
+ }
223
+ });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.date = void 0;
6
+ exports.dateWithLocalId = exports.date = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _utils = require("../../utils");
8
9
  /**
9
10
  * @name date_node
10
11
  */
@@ -25,4 +26,24 @@ var date = exports.date = (0, _nodeTypes.date)({
25
26
  };
26
27
  return ['span', attrs];
27
28
  }
29
+ });
30
+ var dateWithLocalId = exports.dateWithLocalId = (0, _nodeTypes.date)({
31
+ parseDOM: [{
32
+ tag: 'span[data-node-type="date"]',
33
+ getAttrs: function getAttrs(dom) {
34
+ return {
35
+ timestamp: dom.getAttribute('data-timestamp'),
36
+ localId: _utils.uuid.generate()
37
+ };
38
+ }
39
+ }],
40
+ toDOM: function toDOM(node) {
41
+ var _node$attrs;
42
+ var attrs = {
43
+ 'data-node-type': 'date',
44
+ 'data-timestamp': node.attrs.timestamp,
45
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
46
+ };
47
+ return ['span', attrs];
48
+ }
28
49
  });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.embedCard = void 0;
6
+ exports.embedCardWithLocalId = exports.embedCard = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name embedCard_node
10
11
  */
@@ -39,4 +40,38 @@ var embedCard = exports.embedCard = (0, _nodeTypes.embedCard)({
39
40
  };
40
41
  return ['div', attrs];
41
42
  }
43
+ });
44
+ var embedCardWithLocalId = exports.embedCardWithLocalId = (0, _nodeTypes.embedCard)({
45
+ parseDOM: [{
46
+ tag: 'div[data-embed-card]',
47
+ getAttrs: function getAttrs(dom) {
48
+ return {
49
+ url: dom.getAttribute('data-card-url'),
50
+ layout: dom.getAttribute('data-layout') || 'center',
51
+ width: Number(dom.getAttribute('data-width')) || null,
52
+ originalWidth: Number(dom.getAttribute('data-card-original-width')) || null,
53
+ originalHeight: Number(dom.getAttribute('data-card-original-height')) || null,
54
+ localId: _uuid.uuid.generate()
55
+ };
56
+ }
57
+ }],
58
+ toDOM: function toDOM(node) {
59
+ var _node$attrs3;
60
+ var _node$attrs2 = node.attrs,
61
+ url = _node$attrs2.url,
62
+ layout = _node$attrs2.layout,
63
+ width = _node$attrs2.width,
64
+ originalWidth = _node$attrs2.originalWidth,
65
+ originalHeight = _node$attrs2.originalHeight;
66
+ var attrs = {
67
+ 'data-embed-card': '',
68
+ 'data-card-url': url,
69
+ 'data-layout': layout,
70
+ 'data-width': width,
71
+ 'data-original-width': originalWidth,
72
+ 'data-original-height': originalHeight,
73
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.localId) || undefined
74
+ };
75
+ return ['div', attrs];
76
+ }
42
77
  });
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.emoji = void 0;
7
+ exports.emojiWithLocalId = exports.emoji = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _emoji = require("../../utils/confluence/emoji");
8
10
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
11
+ var _uuid = require("../../utils/uuid");
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
14
  /**
10
15
  * @name emoji_node
11
16
  */
@@ -66,4 +71,71 @@ var emoji = exports.emoji = (0, _nodeTypes.emoji)({
66
71
  };
67
72
  return ['span', attrs, text];
68
73
  }
74
+ });
75
+ var emojiWithLocalId = exports.emojiWithLocalId = (0, _nodeTypes.emoji)({
76
+ parseDOM: [
77
+ // Handle copy/paste beautiful panel from renderer />
78
+ {
79
+ tag: 'div.ak-editor-panel__icon span',
80
+ ignore: true
81
+ }, {
82
+ tag: 'span[data-emoji-short-name]',
83
+ getAttrs: function getAttrs(domNode) {
84
+ var dom = domNode;
85
+ return {
86
+ shortName: dom.getAttribute('data-emoji-short-name') || emoji.attrs.shortName.default,
87
+ id: dom.getAttribute('data-emoji-id') || emoji.attrs.id.default,
88
+ text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default,
89
+ localId: _uuid.uuid.generate()
90
+ };
91
+ }
92
+ },
93
+ // Handle copy/paste from old <ac:emoticon />
94
+ {
95
+ tag: 'img[data-emoticon-name]',
96
+ getAttrs: function getAttrs(dom) {
97
+ var attrs = (0, _emoji.acNameToEmoji)(dom.getAttribute('data-emoticon-name'));
98
+ return _objectSpread(_objectSpread({}, attrs), {}, {
99
+ localId: _uuid.uuid.generate()
100
+ });
101
+ }
102
+ },
103
+ // Handle copy/paste from old <ac:hipchat-emoticons />
104
+ {
105
+ tag: 'img[data-hipchat-emoticon]',
106
+ getAttrs: function getAttrs(dom) {
107
+ var attrs = (0, _emoji.acShortcutToEmoji)(dom.getAttribute('data-hipchat-emoticon'));
108
+ return _objectSpread(_objectSpread({}, attrs), {}, {
109
+ localId: _uuid.uuid.generate()
110
+ });
111
+ }
112
+ },
113
+ // Handle copy/paste from bitbucket's <img class="emoji" />
114
+ {
115
+ tag: 'img.emoji[data-emoji-short-name]',
116
+ getAttrs: function getAttrs(domNode) {
117
+ var dom = domNode;
118
+ return {
119
+ shortName: dom.getAttribute('data-emoji-short-name') || emoji.attrs.shortName.default,
120
+ id: dom.getAttribute('data-emoji-id') || emoji.attrs.id.default,
121
+ text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default,
122
+ localId: _uuid.uuid.generate()
123
+ };
124
+ }
125
+ }],
126
+ toDOM: function toDOM(node) {
127
+ var _node$attrs3;
128
+ var _node$attrs2 = node.attrs,
129
+ shortName = _node$attrs2.shortName,
130
+ id = _node$attrs2.id,
131
+ text = _node$attrs2.text;
132
+ var attrs = {
133
+ 'data-emoji-short-name': shortName,
134
+ 'data-emoji-id': id,
135
+ 'data-emoji-text': text,
136
+ contenteditable: 'false',
137
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.localId) || undefined
138
+ };
139
+ return ['span', attrs, text];
140
+ }
69
141
  });
@@ -4,9 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.toJSON = exports.expandWithNestedExpand = void 0;
7
+ exports.toJSON = exports.expandWithNestedExpandLocalId = exports.expandWithNestedExpand = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
10
+ var _uuid = require("../../utils/uuid");
10
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
13
  /**
@@ -61,6 +62,60 @@ var nodeSpecOptions = {
61
62
  }
62
63
  };
63
64
  var expandWithNestedExpand = exports.expandWithNestedExpand = (0, _nodeTypes.expand)(nodeSpecOptions);
65
+ var expandWithNestedExpandLocalId = exports.expandWithNestedExpandLocalId = (0, _nodeTypes.expand)({
66
+ parseDOM: [{
67
+ context: 'table//',
68
+ tag: 'div[data-node-type="expand"]',
69
+ getAttrs: function getAttrs(dom) {
70
+ var attrs = getExpandAttrs(dom);
71
+ return _objectSpread(_objectSpread({}, attrs), {}, {
72
+ localId: _uuid.uuid.generate()
73
+ });
74
+ }
75
+ }, {
76
+ context: 'expand//',
77
+ tag: '[data-node-type="expand"]',
78
+ getAttrs: function getAttrs(dom) {
79
+ var attrs = getExpandAttrs(dom);
80
+ return _objectSpread(_objectSpread({}, attrs), {}, {
81
+ localId: _uuid.uuid.generate()
82
+ });
83
+ }
84
+ }, {
85
+ context: 'nestedExpand//',
86
+ tag: '[data-node-type="expand"]',
87
+ getAttrs: function getAttrs(dom) {
88
+ var attrs = getExpandAttrs(dom);
89
+ return _objectSpread(_objectSpread({}, attrs), {}, {
90
+ localId: _uuid.uuid.generate()
91
+ });
92
+ }
93
+ }, {
94
+ tag: '[data-node-type="nestedExpand"] button',
95
+ ignore: true
96
+ }, {
97
+ tag: '[data-node-type="expand"] button',
98
+ ignore: true
99
+ }, {
100
+ tag: 'div[data-node-type="expand"]',
101
+ getAttrs: function getAttrs(dom) {
102
+ var attrs = getExpandAttrs(dom);
103
+ return _objectSpread(_objectSpread({}, attrs), {}, {
104
+ localId: _uuid.uuid.generate()
105
+ });
106
+ }
107
+ }],
108
+ toDOM: function toDOM(node) {
109
+ var _node$attrs;
110
+ var attrs = {
111
+ 'data-node-type': 'expand',
112
+ 'data-title': node.attrs.title,
113
+ 'data-expanded': node.attrs.__expanded,
114
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
115
+ };
116
+ return ['div', attrs, 0];
117
+ }
118
+ });
64
119
  var toJSON = exports.toJSON = function toJSON(node) {
65
120
  return {
66
121
  attrs: Object.keys(node.attrs).filter(function (key) {
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.hardBreak = void 0;
6
+ exports.hardBreakWithLocalId = exports.hardBreak = void 0;
7
+ var _uuid = require("../../utils/uuid");
7
8
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
9
  /**
9
10
  * @name hardBreak_node
@@ -16,4 +17,20 @@ var hardBreak = exports.hardBreak = (0, _nodeTypes.hardBreak)({
16
17
  toDOM: function toDOM() {
17
18
  return ['br'];
18
19
  }
20
+ });
21
+ var hardBreakWithLocalId = exports.hardBreakWithLocalId = (0, _nodeTypes.hardBreak)({
22
+ parseDOM: [{
23
+ tag: 'br',
24
+ getAttrs: function getAttrs() {
25
+ return {
26
+ localId: _uuid.uuid.generate()
27
+ };
28
+ }
29
+ }],
30
+ toDOM: function toDOM(node) {
31
+ var _node$attrs;
32
+ return ['br', {
33
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
34
+ }];
35
+ }
19
36
  });
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "blockCard", {
16
16
  return _blockCard.blockCard;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "blockCardWithLocalId", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _blockCard.blockCardWithLocalId;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "blockquote", {
20
26
  enumerable: true,
21
27
  get: function get() {
@@ -40,12 +46,24 @@ Object.defineProperty(exports, "bulletListSelector", {
40
46
  return _bulletList.bulletListSelector;
41
47
  }
42
48
  });
49
+ Object.defineProperty(exports, "bulletListWithLocalId", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _bulletList.bulletListWithLocalId;
53
+ }
54
+ });
43
55
  Object.defineProperty(exports, "caption", {
44
56
  enumerable: true,
45
57
  get: function get() {
46
58
  return _caption.caption;
47
59
  }
48
60
  });
61
+ Object.defineProperty(exports, "captionWithLocalId", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _caption.captionWithLocalId;
65
+ }
66
+ });
49
67
  Object.defineProperty(exports, "codeBlock", {
50
68
  enumerable: true,
51
69
  get: function get() {
@@ -58,6 +76,12 @@ Object.defineProperty(exports, "codeBlockToJSON", {
58
76
  return _codeBlock.toJSON;
59
77
  }
60
78
  });
79
+ Object.defineProperty(exports, "codeBlockWithLocalId", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _codeBlock.codeBlockWithLocalId;
83
+ }
84
+ });
61
85
  Object.defineProperty(exports, "confluenceJiraIssue", {
62
86
  enumerable: true,
63
87
  get: function get() {
@@ -88,6 +112,12 @@ Object.defineProperty(exports, "date", {
88
112
  return _date.date;
89
113
  }
90
114
  });
115
+ Object.defineProperty(exports, "dateWithLocalId", {
116
+ enumerable: true,
117
+ get: function get() {
118
+ return _date.dateWithLocalId;
119
+ }
120
+ });
91
121
  Object.defineProperty(exports, "decisionItem", {
92
122
  enumerable: true,
93
123
  get: function get() {
@@ -118,12 +148,24 @@ Object.defineProperty(exports, "embedCard", {
118
148
  return _embedCard.embedCard;
119
149
  }
120
150
  });
151
+ Object.defineProperty(exports, "embedCardWithLocalId", {
152
+ enumerable: true,
153
+ get: function get() {
154
+ return _embedCard.embedCardWithLocalId;
155
+ }
156
+ });
121
157
  Object.defineProperty(exports, "emoji", {
122
158
  enumerable: true,
123
159
  get: function get() {
124
160
  return _emoji.emoji;
125
161
  }
126
162
  });
163
+ Object.defineProperty(exports, "emojiWithLocalId", {
164
+ enumerable: true,
165
+ get: function get() {
166
+ return _emoji.emojiWithLocalId;
167
+ }
168
+ });
127
169
  Object.defineProperty(exports, "expandToJSON", {
128
170
  enumerable: true,
129
171
  get: function get() {
@@ -136,18 +178,36 @@ Object.defineProperty(exports, "expandWithNestedExpand", {
136
178
  return _expand.expandWithNestedExpand;
137
179
  }
138
180
  });
181
+ Object.defineProperty(exports, "expandWithNestedExpandLocalId", {
182
+ enumerable: true,
183
+ get: function get() {
184
+ return _expand.expandWithNestedExpandLocalId;
185
+ }
186
+ });
139
187
  Object.defineProperty(exports, "extendedBlockquote", {
140
188
  enumerable: true,
141
189
  get: function get() {
142
190
  return _blockquote.extendedBlockquote;
143
191
  }
144
192
  });
193
+ Object.defineProperty(exports, "extendedBlockquoteWithLocalId", {
194
+ enumerable: true,
195
+ get: function get() {
196
+ return _blockquote.extendedBlockquoteWithLocalId;
197
+ }
198
+ });
145
199
  Object.defineProperty(exports, "extendedPanel", {
146
200
  enumerable: true,
147
201
  get: function get() {
148
202
  return _panel.extendedPanel;
149
203
  }
150
204
  });
205
+ Object.defineProperty(exports, "extendedPanelWithLocalId", {
206
+ enumerable: true,
207
+ get: function get() {
208
+ return _panel.extendedPanelWithLocalId;
209
+ }
210
+ });
151
211
  Object.defineProperty(exports, "extension", {
152
212
  enumerable: true,
153
213
  get: function get() {
@@ -178,6 +238,12 @@ Object.defineProperty(exports, "hardBreak", {
178
238
  return _hardBreak.hardBreak;
179
239
  }
180
240
  });
241
+ Object.defineProperty(exports, "hardBreakWithLocalId", {
242
+ enumerable: true,
243
+ get: function get() {
244
+ return _hardBreak.hardBreakWithLocalId;
245
+ }
246
+ });
181
247
  Object.defineProperty(exports, "heading", {
182
248
  enumerable: true,
183
249
  get: function get() {
@@ -196,6 +262,12 @@ Object.defineProperty(exports, "inlineCard", {
196
262
  return _inlineCard.inlineCard;
197
263
  }
198
264
  });
265
+ Object.defineProperty(exports, "inlineCardWithLocalId", {
266
+ enumerable: true,
267
+ get: function get() {
268
+ return _inlineCard.inlineCardWithLocalId;
269
+ }
270
+ });
199
271
  Object.defineProperty(exports, "inlineExtension", {
200
272
  enumerable: true,
201
273
  get: function get() {
@@ -208,6 +280,12 @@ Object.defineProperty(exports, "layoutColumn", {
208
280
  return _layoutColumn.layoutColumn;
209
281
  }
210
282
  });
283
+ Object.defineProperty(exports, "layoutColumnWithLocalId", {
284
+ enumerable: true,
285
+ get: function get() {
286
+ return _layoutColumn.layoutColumnWithLocalId;
287
+ }
288
+ });
211
289
  Object.defineProperty(exports, "layoutSection", {
212
290
  enumerable: true,
213
291
  get: function get() {
@@ -220,6 +298,12 @@ Object.defineProperty(exports, "layoutSectionWithSingleColumn", {
220
298
  return _layoutSection.layoutSectionWithSingleColumn;
221
299
  }
222
300
  });
301
+ Object.defineProperty(exports, "layoutSectionWithSingleColumnLocalId", {
302
+ enumerable: true,
303
+ get: function get() {
304
+ return _layoutSection.layoutSectionWithSingleColumnLocalId;
305
+ }
306
+ });
223
307
  Object.defineProperty(exports, "listItem", {
224
308
  enumerable: true,
225
309
  get: function get() {
@@ -262,6 +346,12 @@ Object.defineProperty(exports, "mediaSingleFull", {
262
346
  return _mediaSingle.mediaSingleFull;
263
347
  }
264
348
  });
349
+ Object.defineProperty(exports, "mediaSingleFullWithLocalId", {
350
+ enumerable: true,
351
+ get: function get() {
352
+ return _mediaSingle.mediaSingleFullWithLocalId;
353
+ }
354
+ });
265
355
  Object.defineProperty(exports, "mediaSingleSpec", {
266
356
  enumerable: true,
267
357
  get: function get() {
@@ -316,6 +406,12 @@ Object.defineProperty(exports, "nestedExpand", {
316
406
  return _nestedExpand.nestedExpand;
317
407
  }
318
408
  });
409
+ Object.defineProperty(exports, "nestedExpandWithLocalId", {
410
+ enumerable: true,
411
+ get: function get() {
412
+ return _nestedExpand.nestedExpandWithLocalId;
413
+ }
414
+ });
319
415
  Object.defineProperty(exports, "orderedList", {
320
416
  enumerable: true,
321
417
  get: function get() {
@@ -328,12 +424,24 @@ Object.defineProperty(exports, "orderedListSelector", {
328
424
  return _orderedList.orderedListSelector;
329
425
  }
330
426
  });
427
+ Object.defineProperty(exports, "orderedListWithLocalId", {
428
+ enumerable: true,
429
+ get: function get() {
430
+ return _orderedList.orderedListWithLocalId;
431
+ }
432
+ });
331
433
  Object.defineProperty(exports, "orderedListWithOrder", {
332
434
  enumerable: true,
333
435
  get: function get() {
334
436
  return _orderedList.orderedListWithOrder;
335
437
  }
336
438
  });
439
+ Object.defineProperty(exports, "orderedListWithOrderAndLocalId", {
440
+ enumerable: true,
441
+ get: function get() {
442
+ return _orderedList.orderedListWithOrderAndLocalId;
443
+ }
444
+ });
337
445
  Object.defineProperty(exports, "paragraph", {
338
446
  enumerable: true,
339
447
  get: function get() {
@@ -346,12 +454,24 @@ Object.defineProperty(exports, "placeholder", {
346
454
  return _placeholder.placeholder;
347
455
  }
348
456
  });
457
+ Object.defineProperty(exports, "placeholderWithLocalId", {
458
+ enumerable: true,
459
+ get: function get() {
460
+ return _placeholder.placeholderWithLocalId;
461
+ }
462
+ });
349
463
  Object.defineProperty(exports, "rule", {
350
464
  enumerable: true,
351
465
  get: function get() {
352
466
  return _rule.rule;
353
467
  }
354
468
  });
469
+ Object.defineProperty(exports, "ruleWithLocalId", {
470
+ enumerable: true,
471
+ get: function get() {
472
+ return _rule.ruleWithLocalId;
473
+ }
474
+ });
355
475
  Object.defineProperty(exports, "status", {
356
476
  enumerable: true,
357
477
  get: function get() {
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.inlineCard = void 0;
6
+ exports.inlineCardWithLocalId = exports.inlineCard = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name inlineCard_node
10
11
  */
@@ -49,4 +50,48 @@ var inlineCard = exports.inlineCard = (0, _nodeTypes.inlineCard)({
49
50
  return ['a', attrs];
50
51
  }
51
52
  }
53
+ });
54
+ var inlineCardWithLocalId = exports.inlineCardWithLocalId = (0, _nodeTypes.inlineCard)({
55
+ parseDOM: [{
56
+ tag: 'a[data-inline-card], span[data-inline-card]',
57
+ // bump priority higher than hyperlink
58
+ priority: 100,
59
+ getAttrs: function getAttrs(dom) {
60
+ var anchor = dom;
61
+ var data = anchor.getAttribute('data-card-data');
62
+
63
+ /* Support attrs from Editor and Renderer */
64
+ return {
65
+ url: anchor.getAttribute('href') || anchor.getAttribute('data-card-url') || null,
66
+ data: data ? JSON.parse(data) : null
67
+ };
68
+ }
69
+ },
70
+ // for renderer
71
+ {
72
+ tag: 'div[data-inline-card]',
73
+ getAttrs: function getAttrs(dom) {
74
+ var anchor = dom;
75
+ var data = anchor.getAttribute('data-card-data');
76
+ return {
77
+ url: anchor.getAttribute('data-card-url'),
78
+ data: data ? JSON.parse(data) : null,
79
+ localId: _uuid.uuid.generate()
80
+ };
81
+ }
82
+ }],
83
+ toDOM: function toDOM(node) {
84
+ var _node$attrs;
85
+ var attrs = {
86
+ 'data-inline-card': '',
87
+ href: node.attrs.url || '',
88
+ 'data-card-data': node.attrs.data ? JSON.stringify(node.attrs.data) : '',
89
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
90
+ };
91
+ if (node.attrs.url) {
92
+ return ['a', attrs, node.attrs.url];
93
+ } else {
94
+ return ['a', attrs];
95
+ }
96
+ }
52
97
  });