@atlaskit/adf-schema 49.0.6 → 50.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index.js +132 -0
  3. package/dist/cjs/next-schema/generated/nodeTypes.js +140 -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/next-schema/nodes/tableNodes.js +17 -0
  25. package/dist/cjs/schema/index.js +138 -0
  26. package/dist/cjs/schema/nodes/block-card.js +48 -1
  27. package/dist/cjs/schema/nodes/blockquote.js +20 -2
  28. package/dist/cjs/schema/nodes/bullet-list.js +20 -1
  29. package/dist/cjs/schema/nodes/caption.js +20 -1
  30. package/dist/cjs/schema/nodes/code-block.js +72 -2
  31. package/dist/cjs/schema/nodes/date.js +22 -1
  32. package/dist/cjs/schema/nodes/embed-card.js +36 -1
  33. package/dist/cjs/schema/nodes/emoji.js +73 -1
  34. package/dist/cjs/schema/nodes/expand.js +56 -1
  35. package/dist/cjs/schema/nodes/hard-break.js +18 -1
  36. package/dist/cjs/schema/nodes/index.js +138 -0
  37. package/dist/cjs/schema/nodes/inline-card.js +46 -1
  38. package/dist/cjs/schema/nodes/layout-column.js +37 -1
  39. package/dist/cjs/schema/nodes/layout-section.js +31 -1
  40. package/dist/cjs/schema/nodes/list-item.js +34 -1
  41. package/dist/cjs/schema/nodes/media-inline.js +12 -2
  42. package/dist/cjs/schema/nodes/media-single.js +22 -2
  43. package/dist/cjs/schema/nodes/media.js +21 -4
  44. package/dist/cjs/schema/nodes/nested-expand.js +34 -7
  45. package/dist/cjs/schema/nodes/ordered-list.js +54 -3
  46. package/dist/cjs/schema/nodes/panel.js +13 -5
  47. package/dist/cjs/schema/nodes/placeholder.js +24 -1
  48. package/dist/cjs/schema/nodes/rule.js +18 -1
  49. package/dist/cjs/schema/nodes/tableNodes.js +69 -6
  50. package/dist/cjs/validator-schema/generated/validatorSpec.js +159 -0
  51. package/dist/es2019/index.js +2 -2
  52. package/dist/es2019/next-schema/generated/nodeTypes.js +140 -1
  53. package/dist/es2019/next-schema/nodes/blockCard.js +15 -0
  54. package/dist/es2019/next-schema/nodes/blockquote.js +16 -2
  55. package/dist/es2019/next-schema/nodes/caption.js +7 -0
  56. package/dist/es2019/next-schema/nodes/codeBlock.js +5 -0
  57. package/dist/es2019/next-schema/nodes/date.js +5 -0
  58. package/dist/es2019/next-schema/nodes/embedCard.js +5 -0
  59. package/dist/es2019/next-schema/nodes/emoji.js +5 -0
  60. package/dist/es2019/next-schema/nodes/expand.js +5 -0
  61. package/dist/es2019/next-schema/nodes/hardBreak.js +5 -0
  62. package/dist/es2019/next-schema/nodes/inlineCard.js +10 -0
  63. package/dist/es2019/next-schema/nodes/layoutColumn.js +5 -0
  64. package/dist/es2019/next-schema/nodes/layoutSection.js +12 -0
  65. package/dist/es2019/next-schema/nodes/list.js +20 -1
  66. package/dist/es2019/next-schema/nodes/media.js +10 -0
  67. package/dist/es2019/next-schema/nodes/mediaInline.js +5 -0
  68. package/dist/es2019/next-schema/nodes/mediaSingle.js +10 -0
  69. package/dist/es2019/next-schema/nodes/nestedExpand.js +5 -0
  70. package/dist/es2019/next-schema/nodes/panel.js +5 -0
  71. package/dist/es2019/next-schema/nodes/placeholder.js +5 -0
  72. package/dist/es2019/next-schema/nodes/rule.js +9 -1
  73. package/dist/es2019/next-schema/nodes/tableNodes.js +17 -0
  74. package/dist/es2019/schema/default-schema.js +1 -1
  75. package/dist/es2019/schema/index.js +1 -1
  76. package/dist/es2019/schema/nodes/block-card.js +50 -0
  77. package/dist/es2019/schema/nodes/blockquote.js +19 -1
  78. package/dist/es2019/schema/nodes/bullet-list.js +19 -0
  79. package/dist/es2019/schema/nodes/caption.js +19 -0
  80. package/dist/es2019/schema/nodes/code-block.js +68 -0
  81. package/dist/es2019/schema/nodes/date.js +19 -0
  82. package/dist/es2019/schema/nodes/embed-card.js +34 -0
  83. package/dist/es2019/schema/nodes/emoji.js +71 -0
  84. package/dist/es2019/schema/nodes/expand.js +59 -0
  85. package/dist/es2019/schema/nodes/hard-break.js +15 -0
  86. package/dist/es2019/schema/nodes/index.js +20 -20
  87. package/dist/es2019/schema/nodes/inline-card.js +45 -0
  88. package/dist/es2019/schema/nodes/layout-column.js +38 -0
  89. package/dist/es2019/schema/nodes/layout-section.js +32 -0
  90. package/dist/es2019/schema/nodes/list-item.js +29 -0
  91. package/dist/es2019/schema/nodes/media-inline.js +8 -1
  92. package/dist/es2019/schema/nodes/media-single.js +20 -1
  93. package/dist/es2019/schema/nodes/media.js +17 -4
  94. package/dist/es2019/schema/nodes/nested-expand.js +21 -6
  95. package/dist/es2019/schema/nodes/ordered-list.js +51 -2
  96. package/dist/es2019/schema/nodes/panel.js +11 -5
  97. package/dist/es2019/schema/nodes/placeholder.js +23 -0
  98. package/dist/es2019/schema/nodes/rule.js +15 -0
  99. package/dist/es2019/schema/nodes/tableNodes.js +59 -3
  100. package/dist/es2019/validator-schema/generated/validatorSpec.js +159 -0
  101. package/dist/esm/index.js +2 -2
  102. package/dist/esm/next-schema/generated/nodeTypes.js +140 -1
  103. package/dist/esm/next-schema/nodes/blockCard.js +15 -0
  104. package/dist/esm/next-schema/nodes/blockquote.js +16 -2
  105. package/dist/esm/next-schema/nodes/caption.js +7 -0
  106. package/dist/esm/next-schema/nodes/codeBlock.js +5 -0
  107. package/dist/esm/next-schema/nodes/date.js +5 -0
  108. package/dist/esm/next-schema/nodes/embedCard.js +5 -0
  109. package/dist/esm/next-schema/nodes/emoji.js +5 -0
  110. package/dist/esm/next-schema/nodes/expand.js +5 -0
  111. package/dist/esm/next-schema/nodes/hardBreak.js +5 -0
  112. package/dist/esm/next-schema/nodes/inlineCard.js +10 -0
  113. package/dist/esm/next-schema/nodes/layoutColumn.js +5 -0
  114. package/dist/esm/next-schema/nodes/layoutSection.js +12 -0
  115. package/dist/esm/next-schema/nodes/list.js +20 -1
  116. package/dist/esm/next-schema/nodes/media.js +10 -0
  117. package/dist/esm/next-schema/nodes/mediaInline.js +5 -0
  118. package/dist/esm/next-schema/nodes/mediaSingle.js +10 -0
  119. package/dist/esm/next-schema/nodes/nestedExpand.js +5 -0
  120. package/dist/esm/next-schema/nodes/panel.js +5 -0
  121. package/dist/esm/next-schema/nodes/placeholder.js +5 -0
  122. package/dist/esm/next-schema/nodes/rule.js +9 -1
  123. package/dist/esm/next-schema/nodes/tableNodes.js +17 -0
  124. package/dist/esm/schema/default-schema.js +1 -1
  125. package/dist/esm/schema/index.js +1 -1
  126. package/dist/esm/schema/nodes/block-card.js +47 -0
  127. package/dist/esm/schema/nodes/blockquote.js +19 -1
  128. package/dist/esm/schema/nodes/bullet-list.js +19 -0
  129. package/dist/esm/schema/nodes/caption.js +19 -0
  130. package/dist/esm/schema/nodes/code-block.js +71 -1
  131. package/dist/esm/schema/nodes/date.js +21 -0
  132. package/dist/esm/schema/nodes/embed-card.js +35 -0
  133. package/dist/esm/schema/nodes/emoji.js +71 -0
  134. package/dist/esm/schema/nodes/expand.js +55 -0
  135. package/dist/esm/schema/nodes/hard-break.js +17 -0
  136. package/dist/esm/schema/nodes/index.js +20 -20
  137. package/dist/esm/schema/nodes/inline-card.js +45 -0
  138. package/dist/esm/schema/nodes/layout-column.js +36 -0
  139. package/dist/esm/schema/nodes/layout-section.js +30 -0
  140. package/dist/esm/schema/nodes/list-item.js +33 -0
  141. package/dist/esm/schema/nodes/media-inline.js +10 -1
  142. package/dist/esm/schema/nodes/media-single.js +21 -1
  143. package/dist/esm/schema/nodes/media.js +19 -3
  144. package/dist/esm/schema/nodes/nested-expand.js +32 -6
  145. package/dist/esm/schema/nodes/ordered-list.js +53 -2
  146. package/dist/esm/schema/nodes/panel.js +12 -4
  147. package/dist/esm/schema/nodes/placeholder.js +23 -0
  148. package/dist/esm/schema/nodes/rule.js +17 -0
  149. package/dist/esm/schema/nodes/tableNodes.js +68 -5
  150. package/dist/esm/validator-schema/generated/validatorSpec.js +159 -0
  151. package/dist/json-schema/v1/full.json +140 -2
  152. package/dist/json-schema/v1/stage-0.json +152 -2
  153. package/dist/types/index.d.ts +2 -2
  154. package/dist/types/next-schema/generated/nodeTypes.d.ts +72 -0
  155. package/dist/types/next-schema/groups/nonNestableBlockContentGroup.d.ts +7 -0
  156. package/dist/types/next-schema/groups/tableCellContentPseudoGroup.d.ts +7 -0
  157. package/dist/types/next-schema/nodes/blockquote.d.ts +7 -0
  158. package/dist/types/next-schema/nodes/layoutSection.d.ts +5 -0
  159. package/dist/types/schema/index.d.ts +1 -1
  160. package/dist/types/schema/nodes/block-card.d.ts +4 -0
  161. package/dist/types/schema/nodes/blockquote.d.ts +4 -0
  162. package/dist/types/schema/nodes/bullet-list.d.ts +1 -0
  163. package/dist/types/schema/nodes/caption.d.ts +4 -0
  164. package/dist/types/schema/nodes/code-block.d.ts +2 -0
  165. package/dist/types/schema/nodes/date.d.ts +2 -0
  166. package/dist/types/schema/nodes/embed-card.d.ts +2 -0
  167. package/dist/types/schema/nodes/emoji.d.ts +2 -0
  168. package/dist/types/schema/nodes/expand.d.ts +2 -0
  169. package/dist/types/schema/nodes/hard-break.d.ts +2 -0
  170. package/dist/types/schema/nodes/index.d.ts +20 -20
  171. package/dist/types/schema/nodes/inline-card.d.ts +1 -0
  172. package/dist/types/schema/nodes/layout-column.d.ts +2 -0
  173. package/dist/types/schema/nodes/layout-section.d.ts +4 -0
  174. package/dist/types/schema/nodes/list-item.d.ts +2 -0
  175. package/dist/types/schema/nodes/media-inline.d.ts +1 -0
  176. package/dist/types/schema/nodes/media-single.d.ts +3 -1
  177. package/dist/types/schema/nodes/media.d.ts +3 -1
  178. package/dist/types/schema/nodes/nested-expand.d.ts +2 -0
  179. package/dist/types/schema/nodes/ordered-list.d.ts +2 -0
  180. package/dist/types/schema/nodes/panel.d.ts +2 -0
  181. package/dist/types/schema/nodes/placeholder.d.ts +2 -0
  182. package/dist/types/schema/nodes/rule.d.ts +4 -0
  183. package/dist/types/schema/nodes/tableNodes.d.ts +6 -0
  184. package/dist/types/schema/nodes/types/list.d.ts +7 -0
  185. package/dist/types/schema/nodes/types/rich-media-common.d.ts +1 -0
  186. package/dist/types/validator-schema/generated/validatorSpec.d.ts +159 -0
  187. package/json-schema/v1/full.json +140 -2
  188. package/json-schema/v1/stage-0.json +152 -2
  189. package/package.json +2 -2
  190. package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +1 -0
@@ -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.blockCard = void 0;
7
+ exports.blockCardWithLocalId = exports.blockCard = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
10
+ var _utils = require("../../utils");
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
  /**
@@ -64,4 +65,50 @@ var blockCard = exports.blockCard = (0, _nodeTypes.blockCard)({
64
65
  };
65
66
  return ['a', attrs, (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.url) || ' '];
66
67
  }
68
+ });
69
+ var blockCardWithLocalId = exports.blockCardWithLocalId = (0, _nodeTypes.blockCard)({
70
+ parseDOM: [{
71
+ tag: 'a[data-block-card]',
72
+ // bump priority higher than hyperlink
73
+ priority: 100,
74
+ getAttrs: function getAttrs(dom) {
75
+ var anchor = dom;
76
+ return _objectSpread(_objectSpread({
77
+ url: anchor.getAttribute('href') || undefined
78
+ }, getCommonAttributesFromDom(dom)), {}, {
79
+ localId: _utils.uuid.generate()
80
+ });
81
+ }
82
+ }, {
83
+ tag: 'div[data-block-card]',
84
+ getAttrs: function getAttrs(dom) {
85
+ var anchor = dom;
86
+ return _objectSpread(_objectSpread({
87
+ url: anchor.getAttribute('data-card-url') || undefined
88
+ }, getCommonAttributesFromDom(dom)), {}, {
89
+ localId: _utils.uuid.generate()
90
+ });
91
+ }
92
+ }],
93
+ toDOM: function toDOM(node) {
94
+ var _node$attrs2, _node$attrs3;
95
+ var _ref4 = node.attrs,
96
+ url = _ref4.url;
97
+ var _ref5 = node.attrs,
98
+ data = _ref5.data;
99
+ var _ref6 = node.attrs,
100
+ layout = _ref6.layout,
101
+ width = _ref6.width,
102
+ datasource = _ref6.datasource;
103
+ var attrs = {
104
+ 'data-block-card': '',
105
+ href: url || '',
106
+ 'data-card-data': data ? JSON.stringify(data) : '',
107
+ 'data-datasource': datasource ? JSON.stringify(datasource) : '',
108
+ 'data-layout': layout,
109
+ 'data-width': "".concat(width),
110
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.localId) || undefined
111
+ };
112
+ return ['a', attrs, (node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.url) || ' '];
113
+ }
67
114
  });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.extendedBlockquote = exports.blockquote = void 0;
6
+ exports.extendedBlockquoteWithLocalId = exports.extendedBlockquote = exports.blockquote = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _utils = require("../../utils");
8
9
  /**
9
10
  * @name blockquote_node
10
11
  */
@@ -23,4 +24,21 @@ var blockquote = exports.blockquote = (0, _nodeTypes.blockquoteLegacy)(nodeSpecO
23
24
  * @name extentedBlockquote
24
25
  * @description the block quote node with nested code block, media, and extension
25
26
  */
26
- var extendedBlockquote = exports.extendedBlockquote = (0, _nodeTypes.blockquote)(nodeSpecOptions);
27
+ var extendedBlockquote = exports.extendedBlockquote = (0, _nodeTypes.blockquote)(nodeSpecOptions);
28
+ var nodeSpecOptionsWithLocalId = {
29
+ parseDOM: [{
30
+ tag: 'blockquote',
31
+ getAttrs: function getAttrs() {
32
+ return {
33
+ localId: _utils.uuid.generate()
34
+ };
35
+ }
36
+ }],
37
+ toDOM: function toDOM(node) {
38
+ var _node$attrs;
39
+ return ['blockquote', {
40
+ '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
41
+ }, 0];
42
+ }
43
+ };
44
+ var extendedBlockquoteWithLocalId = exports.extendedBlockquoteWithLocalId = (0, _nodeTypes.blockquote)(nodeSpecOptionsWithLocalId);
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.bulletListSelector = exports.bulletList = void 0;
6
+ exports.bulletListWithLocalId = exports.bulletListSelector = exports.bulletList = void 0;
7
+ var _utils = require("../../utils");
7
8
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
9
  var bulletListSelector = exports.bulletListSelector = '.ak-ul';
9
10
  var bulletList = exports.bulletList = (0, _nodeTypes.bulletList)({
@@ -16,4 +17,22 @@ var bulletList = exports.bulletList = (0, _nodeTypes.bulletList)({
16
17
  };
17
18
  return ['ul', attrs, 0];
18
19
  }
20
+ });
21
+ var bulletListWithLocalId = exports.bulletListWithLocalId = (0, _nodeTypes.bulletList)({
22
+ parseDOM: [{
23
+ tag: 'ul',
24
+ getAttrs: function getAttrs() {
25
+ return {
26
+ localId: _utils.uuid.generate()
27
+ };
28
+ }
29
+ }],
30
+ toDOM: function toDOM(node) {
31
+ var _node$attrs;
32
+ var attrs = {
33
+ class: bulletListSelector.substr(1),
34
+ '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
35
+ };
36
+ return ['ul', attrs, 0];
37
+ }
19
38
  });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.caption = void 0;
6
+ exports.captionWithLocalId = exports.caption = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _utils = require("../../utils");
8
9
  /**
9
10
  * @name caption_node
10
11
  */
@@ -19,4 +20,22 @@ var caption = exports.caption = (0, _nodeTypes.caption)({
19
20
  };
20
21
  return ['figcaption', attrs, 0];
21
22
  }
23
+ });
24
+ var captionWithLocalId = exports.captionWithLocalId = (0, _nodeTypes.caption)({
25
+ parseDOM: [{
26
+ tag: 'figcaption[data-caption]',
27
+ getAttrs: function getAttrs() {
28
+ return {
29
+ localId: _utils.uuid.generate()
30
+ };
31
+ }
32
+ }],
33
+ toDOM: function toDOM(node) {
34
+ var _node$attrs;
35
+ var attrs = {
36
+ 'data-caption': 'true',
37
+ '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
38
+ };
39
+ return ['figcaption', attrs, 0];
40
+ }
22
41
  });
@@ -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
  });