@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
@@ -1,10 +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.nestedExpand = void 0;
7
+ exports.nestedExpandWithLocalId = exports.nestedExpand = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
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; }
8
14
  /**
9
15
  * @name nestedExpand_content
10
16
  * @minItems 1
@@ -19,18 +25,21 @@ var _nodeTypes = require("../../next-schema/generated/nodeTypes");
19
25
  * @name nestedExpand_with_no_marks_node
20
26
  */
21
27
 
22
- function getExpandAttrs(domNode) {
28
+ function getExpandAttrs(domNode, generateLocalId) {
23
29
  var dom = domNode;
24
30
  return {
25
31
  title: dom.getAttribute('data-title'),
26
- __expanded: true
32
+ __expanded: true,
33
+ localId: generateLocalId ? _uuid.uuid.generate() : undefined
27
34
  };
28
35
  }
29
36
  var nestedExpandFactoryOptions = {
30
37
  parseDOM: [{
31
38
  context: 'nestedExpand//',
32
39
  tag: '[data-node-type="nestedExpand"]',
33
- getAttrs: getExpandAttrs
40
+ getAttrs: function getAttrs(domNode) {
41
+ return getExpandAttrs(domNode, false);
42
+ }
34
43
  }, {
35
44
  tag: '[data-node-type="nestedExpand"] button',
36
45
  ignore: true
@@ -39,13 +48,17 @@ var nestedExpandFactoryOptions = {
39
48
  ignore: true
40
49
  }, {
41
50
  tag: 'div[data-node-type="nestedExpand"]',
42
- getAttrs: getExpandAttrs
51
+ getAttrs: function getAttrs(domNode) {
52
+ return getExpandAttrs(domNode, false);
53
+ }
43
54
  }],
44
55
  toDOM: function toDOM(node) {
56
+ var _node$attrs;
45
57
  var attrs = {
46
58
  'data-node-type': 'nestedExpand',
47
59
  'data-title': node.attrs.title,
48
- 'data-expanded': node.attrs.__expanded
60
+ 'data-expanded': node.attrs.__expanded,
61
+ '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
49
62
  };
50
63
  return ['div', attrs, 0];
51
64
  }
@@ -55,4 +68,18 @@ var nestedExpandFactoryOptions = {
55
68
  * @name nestedExpand
56
69
  * @description an expand that can be nested (eg. inside table, layout).
57
70
  */
58
- var nestedExpand = exports.nestedExpand = (0, _nodeTypes.nestedExpand)(nestedExpandFactoryOptions);
71
+ var nestedExpand = exports.nestedExpand = (0, _nodeTypes.nestedExpand)(nestedExpandFactoryOptions);
72
+ var nestedExpandWithLocalId = exports.nestedExpandWithLocalId = (0, _nodeTypes.nestedExpand)(_objectSpread(_objectSpread({}, nestedExpandFactoryOptions), {}, {
73
+ parseDOM: [].concat((0, _toConsumableArray2.default)(nestedExpandFactoryOptions.parseDOM), [{
74
+ context: 'nestedExpand//',
75
+ tag: '[data-node-type="nestedExpand"]',
76
+ getAttrs: function getAttrs(domNode) {
77
+ return getExpandAttrs(domNode, true);
78
+ }
79
+ }, {
80
+ tag: '[data-node-type="nestedExpand"]',
81
+ getAttrs: function getAttrs(domNode) {
82
+ return getExpandAttrs(domNode, true);
83
+ }
84
+ }])
85
+ }));
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.orderedListWithOrder = exports.orderedListSelector = exports.orderedList = void 0;
6
+ exports.orderedListWithOrderAndLocalId = exports.orderedListWithOrder = exports.orderedListWithLocalId = exports.orderedListSelector = exports.orderedList = void 0;
7
+ var _utils = require("../../utils");
7
8
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
9
  var orderedListSelector = exports.orderedListSelector = '.ak-ol';
9
10
  var orderedList = exports.orderedList = (0, _nodeTypes.orderedList)({
@@ -17,6 +18,24 @@ var orderedList = exports.orderedList = (0, _nodeTypes.orderedList)({
17
18
  return ['ol', attrs, 0];
18
19
  }
19
20
  });
21
+ var orderedListWithLocalId = exports.orderedListWithLocalId = (0, _nodeTypes.orderedList)({
22
+ parseDOM: [{
23
+ tag: 'ol',
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: orderedListSelector.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 ['ol', attrs, 0];
37
+ }
38
+ });
20
39
 
21
40
  // resolve "start" to a safe, 0+ integer, otherwise return undefined
22
41
  // Note: Any changes to this function should also be made to "resolveOrder"
@@ -49,12 +68,44 @@ var orderedListWithOrder = exports.orderedListWithOrder = (0, _nodeTypes.ordered
49
68
  }
50
69
  }],
51
70
  toDOM: function toDOM(node) {
52
- var _node$attrs;
53
- var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.order);
71
+ var _node$attrs2;
72
+ var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.order);
54
73
  var attrs = {
55
74
  start: typeof start === 'number' ? String(start) : undefined,
56
75
  class: orderedListSelector.substr(1)
57
76
  };
58
77
  return ['ol', attrs, 0];
59
78
  }
79
+ });
80
+ var orderedListWithOrderAndLocalId = exports.orderedListWithOrderAndLocalId = (0, _nodeTypes.orderedList)({
81
+ parseDOM: [{
82
+ tag: 'ol',
83
+ getAttrs: function getAttrs(domNode) {
84
+ var dom = domNode;
85
+ var startDOMAttr = dom.getAttribute('start');
86
+ var localId = _utils.uuid.generate();
87
+ if (startDOMAttr) {
88
+ var start = resolveStart(startDOMAttr);
89
+ if (typeof start === 'number') {
90
+ return {
91
+ order: start,
92
+ localId: localId
93
+ };
94
+ }
95
+ }
96
+ return {
97
+ localId: localId
98
+ };
99
+ }
100
+ }],
101
+ toDOM: function toDOM(node) {
102
+ var _node$attrs3, _node$attrs4;
103
+ var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.order);
104
+ var attrs = {
105
+ start: typeof start === 'number' ? String(start) : undefined,
106
+ class: orderedListSelector.substr(1),
107
+ 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs4 = node.attrs) === null || _node$attrs4 === void 0 ? void 0 : _node$attrs4.localId) || undefined
108
+ };
109
+ return ['ol', attrs, 0];
110
+ }
60
111
  });
@@ -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.extendedPanel = exports.PanelType = void 0;
7
+ exports.extendedPanelWithLocalId = exports.extendedPanel = exports.PanelType = 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
  var PanelType = exports.PanelType = /*#__PURE__*/function (PanelType) {
@@ -28,14 +29,18 @@ var getDomAttrs = function getDomAttrs(nodeAttrs) {
28
29
  'data-panel-icon': nodeAttrs.panelIcon,
29
30
  'data-panel-icon-id': nodeAttrs.panelIconId,
30
31
  'data-panel-icon-text': nodeAttrs.panelIconText,
31
- 'data-panel-color': nodeAttrs.panelColor
32
+ 'data-panel-color': nodeAttrs.panelColor,
33
+ 'data-local-id': (nodeAttrs === null || nodeAttrs === void 0 ? void 0 : nodeAttrs.localId) || undefined
32
34
  };
33
35
  return attrs;
34
36
  };
35
- var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom) {
37
+ var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom, generateLocalId) {
36
38
  var parseDOMAttrs = {
37
39
  panelType: dom.getAttribute('data-panel-type')
38
40
  };
41
+ if (generateLocalId) {
42
+ parseDOMAttrs.localId = _uuid.uuid.generate();
43
+ }
39
44
  if (allowCustomPanel) {
40
45
  parseDOMAttrs = _objectSpread(_objectSpread({}, parseDOMAttrs), {}, {
41
46
  panelIcon: dom.getAttribute('data-panel-icon'),
@@ -48,12 +53,12 @@ var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom) {
48
53
  }
49
54
  return parseDOMAttrs;
50
55
  };
51
- var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustomPanel) {
56
+ var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustomPanel, generateLocalId) {
52
57
  return {
53
58
  parseDOM: [{
54
59
  tag: 'div[data-panel-type]',
55
60
  getAttrs: function getAttrs(dom) {
56
- return getParseDOMAttrs(allowCustomPanel, dom);
61
+ return getParseDOMAttrs(allowCustomPanel, dom, generateLocalId);
57
62
  }
58
63
  }],
59
64
  toDOM: function toDOM(node) {
@@ -74,4 +79,7 @@ var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustom
74
79
  */
75
80
  var extendedPanel = exports.extendedPanel = function extendedPanel(allowCustomPanel) {
76
81
  return (0, _nodeTypes.panel)(createPanelNodeSpecOptions(allowCustomPanel));
82
+ };
83
+ var extendedPanelWithLocalId = exports.extendedPanelWithLocalId = function extendedPanelWithLocalId(allowCustomPanel) {
84
+ return (0, _nodeTypes.panel)(createPanelNodeSpecOptions(allowCustomPanel, true));
77
85
  };
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.placeholder = void 0;
6
+ exports.placeholderWithLocalId = exports.placeholder = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name placeholder_node
10
11
  */
@@ -27,4 +28,26 @@ var placeholder = exports.placeholder = (0, _nodeTypes.placeholder)({
27
28
  };
28
29
  return ['span', attrs, text];
29
30
  }
31
+ });
32
+ var placeholderWithLocalId = exports.placeholderWithLocalId = (0, _nodeTypes.placeholder)({
33
+ parseDOM: [{
34
+ tag: 'span[data-placeholder]',
35
+ getAttrs: function getAttrs(dom) {
36
+ return {
37
+ text: dom.getAttribute('data-placeholder') || placeholder.attrs.text.default,
38
+ localId: _uuid.uuid.generate()
39
+ };
40
+ }
41
+ }],
42
+ toDOM: function toDOM(node) {
43
+ var _node$attrs;
44
+ var text = node.attrs.text;
45
+ var attrs = {
46
+ 'data-placeholder': text,
47
+ // Needs to be edtiable for mobile to not close keyboard
48
+ contenteditable: 'true',
49
+ '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
50
+ };
51
+ return ['span', attrs, text];
52
+ }
30
53
  });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.rule = void 0;
6
+ exports.ruleWithLocalId = exports.rule = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name rule_node
10
11
  */
@@ -17,4 +18,20 @@ var rule = exports.rule = (0, _nodeTypes.rule)({
17
18
  toDOM: function toDOM() {
18
19
  return hrDOM;
19
20
  }
21
+ });
22
+ var ruleWithLocalId = exports.ruleWithLocalId = (0, _nodeTypes.rule)({
23
+ parseDOM: [{
24
+ tag: 'hr',
25
+ getAttrs: function getAttrs() {
26
+ return {
27
+ localId: _uuid.uuid.generate()
28
+ };
29
+ }
30
+ }],
31
+ toDOM: function toDOM(node) {
32
+ var _node$attrs;
33
+ return ['hr', {
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
+ }
20
37
  });
@@ -4,9 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.toJSONTableHeader = exports.toJSONTableCell = exports.tableWithNestedTable = exports.tableWithCustomWidth = exports.tableToJSON = exports.tableStage0 = exports.tableRowWithNestedTable = exports.tableRow = exports.tablePrefixSelector = exports.tableHeaderWithNestedTable = exports.tableHeaderSelector = exports.tableHeader = exports.tableCellWithNestedTable = exports.tableCellSelector = exports.tableCellContentWrapperSelector = exports.tableCellContentDomSelector = exports.tableCell = exports.tableBackgroundColorPalette = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.table = exports.setGlobalTheme = exports.getCellDomAttrs = exports.getCellAttrs = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ exports.toJSONTableHeader = exports.toJSONTableCell = exports.tableWithNestedTable = exports.tableWithCustomWidth = exports.tableToJSON = exports.tableStage0 = exports.tableRowWithNestedTable = exports.tableRowWithLocalId = exports.tableRow = exports.tablePrefixSelector = exports.tableHeaderWithNestedTable = exports.tableHeaderWithLocalId = exports.tableHeaderSelector = exports.tableHeader = exports.tableCellWithNestedTable = exports.tableCellWithLocalId = exports.tableCellSelector = exports.tableCellContentWrapperSelector = exports.tableCellContentDomSelector = exports.tableCell = exports.tableBackgroundColorPalette = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.table = exports.setGlobalTheme = exports.getCellDomAttrs = exports.getCellAttrs = void 0;
9
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _editorPalette = require("../../utils/editor-palette");
11
11
  var _colors = require("../../utils/colors");
12
12
  var _uuid = require("../../utils/uuid");
@@ -51,12 +51,15 @@ var getCellAttrs = exports.getCellAttrs = function getCellAttrs(dom) {
51
51
  }
52
52
  }
53
53
  var backgroundHexCode = dataCellBackgroundHexCode || (backgroundColor && backgroundColor !== defaultValues['background'] ? backgroundColor : null);
54
- return {
54
+ var localId = dom.getAttribute('data-local-id') || defaultValues.localId;
55
+ return _objectSpread({
55
56
  colspan: colspan,
56
57
  rowspan: Number(dom.getAttribute('rowspan') || 1),
57
58
  colwidth: width && width.length === colspan ? width : null,
58
59
  background: backgroundHexCode
59
- };
60
+ }, localId && {
61
+ localId: localId
62
+ });
60
63
  };
61
64
  // these are for test only
62
65
  var testGlobalTheme;
@@ -88,6 +91,7 @@ var cssVariablePattern = /^var\(--.*\)$/;
88
91
  * @returns CellDomAttrs
89
92
  */
90
93
  var getCellDomAttrs = exports.getCellDomAttrs = function getCellDomAttrs(node) {
94
+ var _node$attrs;
91
95
  var attrs = {};
92
96
  var nodeType = node.type.name;
93
97
  if (node.attrs.colspan !== 1) {
@@ -176,6 +180,9 @@ var getCellDomAttrs = exports.getCellDomAttrs = function getCellDomAttrs(node) {
176
180
  } else {
177
181
  attrs.class = tableCellSelector;
178
182
  }
183
+ if (node !== null && node !== void 0 && (_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.localId) {
184
+ attrs['data-local-id'] = node.attrs.localId;
185
+ }
179
186
  return attrs;
180
187
  };
181
188
  var tableBackgroundColorPalette = exports.tableBackgroundColorPalette = new Map();
@@ -289,6 +296,10 @@ var cellAttrs = {
289
296
  },
290
297
  background: {
291
298
  default: null
299
+ },
300
+ localId: {
301
+ default: null,
302
+ optional: true
292
303
  }
293
304
  };
294
305
  var tableCellNodeSpecOptions = {
@@ -311,7 +322,8 @@ var tableCell = exports.tableCell = (0, _nodeTypes.tableCell)(tableCellNodeSpecO
311
322
  var toJSONTableCell = exports.toJSONTableCell = function toJSONTableCell(node) {
312
323
  return {
313
324
  attrs: Object.keys(node.attrs).reduce(function (obj, key) {
314
- if (cellAttrs[key].default !== node.attrs[key]) {
325
+ // Only process keys that are defined in cellAttrs
326
+ if (cellAttrs[key] && cellAttrs[key].default !== node.attrs[key]) {
315
327
  obj[key] = node.attrs[key];
316
328
  }
317
329
  return obj;
@@ -338,4 +350,55 @@ var toJSONTableHeader = exports.toJSONTableHeader = toJSONTableCell;
338
350
  var tableWithNestedTable = exports.tableWithNestedTable = (0, _nodeTypes.tableWithNestedTable)(tableNodeSpecOptions);
339
351
  var tableRowWithNestedTable = exports.tableRowWithNestedTable = (0, _nodeTypes.tableRowWithNestedTable)(tableRowNodeSpecOptions);
340
352
  var tableCellWithNestedTable = exports.tableCellWithNestedTable = (0, _nodeTypes.tableCellWithNestedTable)(tableCellNodeSpecOptions);
341
- var tableHeaderWithNestedTable = exports.tableHeaderWithNestedTable = (0, _nodeTypes.tableHeaderWithNestedTable)(tableHeaderNodeSpecOptions);
353
+ var tableHeaderWithNestedTable = exports.tableHeaderWithNestedTable = (0, _nodeTypes.tableHeaderWithNestedTable)(tableHeaderNodeSpecOptions);
354
+
355
+ // table nodes with localId support
356
+ var tableRowNodeSpecOptionsWithLocalId = {
357
+ parseDOM: [{
358
+ tag: 'tr',
359
+ getAttrs: function getAttrs() {
360
+ return {
361
+ localId: _uuid.uuid.generate()
362
+ };
363
+ }
364
+ }],
365
+ toDOM: function toDOM(node) {
366
+ var _node$attrs2;
367
+ return ['tr', {
368
+ '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
369
+ }, 0];
370
+ }
371
+ };
372
+ var tableRowWithLocalId = exports.tableRowWithLocalId = (0, _nodeTypes.tableRow)(tableRowNodeSpecOptionsWithLocalId);
373
+ var tableCellNodeSpecOptionsWithLocalId = {
374
+ parseDOM: [{
375
+ tag: 'td',
376
+ getAttrs: function getAttrs() {
377
+ return {
378
+ localId: _uuid.uuid.generate()
379
+ };
380
+ }
381
+ }],
382
+ toDOM: function toDOM(node) {
383
+ var _node$attrs3;
384
+ return ['td', {
385
+ '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
386
+ }, 0];
387
+ }
388
+ };
389
+ var tableCellWithLocalId = exports.tableCellWithLocalId = (0, _nodeTypes.tableCell)(tableCellNodeSpecOptionsWithLocalId);
390
+ var tableHeaderNodeSpecOptionsWithLocalId = {
391
+ parseDOM: [{
392
+ tag: 'th',
393
+ getAttrs: function getAttrs(dom) {
394
+ return getCellAttrs(dom, {
395
+ background: DEFAULT_TABLE_HEADER_CELL_BACKGROUND,
396
+ localId: _uuid.uuid.generate()
397
+ });
398
+ }
399
+ }],
400
+ toDOM: function toDOM(node) {
401
+ return ['th', getCellDomAttrs(node), 0];
402
+ }
403
+ };
404
+ var tableHeaderWithLocalId = exports.tableHeaderWithLocalId = (0, _nodeTypes.tableHeader)(tableHeaderNodeSpecOptionsWithLocalId);