@atlaskit/adf-schema 49.0.5 → 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 (184) hide show
  1. package/CHANGELOG.md +12 -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/marks/background-color.js +9 -9
  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 +120 -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/validator-schema/generated/validatorSpec.js +142 -0
  50. package/dist/es2019/index.js +2 -2
  51. package/dist/es2019/next-schema/generated/nodeTypes.js +118 -1
  52. package/dist/es2019/next-schema/nodes/blockCard.js +15 -0
  53. package/dist/es2019/next-schema/nodes/blockquote.js +16 -2
  54. package/dist/es2019/next-schema/nodes/caption.js +7 -0
  55. package/dist/es2019/next-schema/nodes/codeBlock.js +5 -0
  56. package/dist/es2019/next-schema/nodes/date.js +5 -0
  57. package/dist/es2019/next-schema/nodes/embedCard.js +5 -0
  58. package/dist/es2019/next-schema/nodes/emoji.js +5 -0
  59. package/dist/es2019/next-schema/nodes/expand.js +5 -0
  60. package/dist/es2019/next-schema/nodes/hardBreak.js +5 -0
  61. package/dist/es2019/next-schema/nodes/inlineCard.js +10 -0
  62. package/dist/es2019/next-schema/nodes/layoutColumn.js +5 -0
  63. package/dist/es2019/next-schema/nodes/layoutSection.js +12 -0
  64. package/dist/es2019/next-schema/nodes/list.js +20 -1
  65. package/dist/es2019/next-schema/nodes/media.js +10 -0
  66. package/dist/es2019/next-schema/nodes/mediaInline.js +5 -0
  67. package/dist/es2019/next-schema/nodes/mediaSingle.js +10 -0
  68. package/dist/es2019/next-schema/nodes/nestedExpand.js +5 -0
  69. package/dist/es2019/next-schema/nodes/panel.js +5 -0
  70. package/dist/es2019/next-schema/nodes/placeholder.js +5 -0
  71. package/dist/es2019/next-schema/nodes/rule.js +9 -1
  72. package/dist/es2019/schema/index.js +1 -1
  73. package/dist/es2019/schema/marks/background-color.js +9 -9
  74. package/dist/es2019/schema/nodes/block-card.js +50 -0
  75. package/dist/es2019/schema/nodes/blockquote.js +19 -1
  76. package/dist/es2019/schema/nodes/bullet-list.js +19 -0
  77. package/dist/es2019/schema/nodes/caption.js +19 -0
  78. package/dist/es2019/schema/nodes/code-block.js +68 -0
  79. package/dist/es2019/schema/nodes/date.js +19 -0
  80. package/dist/es2019/schema/nodes/embed-card.js +34 -0
  81. package/dist/es2019/schema/nodes/emoji.js +71 -0
  82. package/dist/es2019/schema/nodes/expand.js +59 -0
  83. package/dist/es2019/schema/nodes/hard-break.js +15 -0
  84. package/dist/es2019/schema/nodes/index.js +19 -19
  85. package/dist/es2019/schema/nodes/inline-card.js +45 -0
  86. package/dist/es2019/schema/nodes/layout-column.js +38 -0
  87. package/dist/es2019/schema/nodes/layout-section.js +32 -0
  88. package/dist/es2019/schema/nodes/list-item.js +29 -0
  89. package/dist/es2019/schema/nodes/media-inline.js +8 -1
  90. package/dist/es2019/schema/nodes/media-single.js +20 -1
  91. package/dist/es2019/schema/nodes/media.js +17 -4
  92. package/dist/es2019/schema/nodes/nested-expand.js +21 -6
  93. package/dist/es2019/schema/nodes/ordered-list.js +51 -2
  94. package/dist/es2019/schema/nodes/panel.js +11 -5
  95. package/dist/es2019/schema/nodes/placeholder.js +23 -0
  96. package/dist/es2019/schema/nodes/rule.js +15 -0
  97. package/dist/es2019/validator-schema/generated/validatorSpec.js +142 -0
  98. package/dist/esm/index.js +2 -2
  99. package/dist/esm/next-schema/generated/nodeTypes.js +118 -1
  100. package/dist/esm/next-schema/nodes/blockCard.js +15 -0
  101. package/dist/esm/next-schema/nodes/blockquote.js +16 -2
  102. package/dist/esm/next-schema/nodes/caption.js +7 -0
  103. package/dist/esm/next-schema/nodes/codeBlock.js +5 -0
  104. package/dist/esm/next-schema/nodes/date.js +5 -0
  105. package/dist/esm/next-schema/nodes/embedCard.js +5 -0
  106. package/dist/esm/next-schema/nodes/emoji.js +5 -0
  107. package/dist/esm/next-schema/nodes/expand.js +5 -0
  108. package/dist/esm/next-schema/nodes/hardBreak.js +5 -0
  109. package/dist/esm/next-schema/nodes/inlineCard.js +10 -0
  110. package/dist/esm/next-schema/nodes/layoutColumn.js +5 -0
  111. package/dist/esm/next-schema/nodes/layoutSection.js +12 -0
  112. package/dist/esm/next-schema/nodes/list.js +20 -1
  113. package/dist/esm/next-schema/nodes/media.js +10 -0
  114. package/dist/esm/next-schema/nodes/mediaInline.js +5 -0
  115. package/dist/esm/next-schema/nodes/mediaSingle.js +10 -0
  116. package/dist/esm/next-schema/nodes/nestedExpand.js +5 -0
  117. package/dist/esm/next-schema/nodes/panel.js +5 -0
  118. package/dist/esm/next-schema/nodes/placeholder.js +5 -0
  119. package/dist/esm/next-schema/nodes/rule.js +9 -1
  120. package/dist/esm/schema/index.js +1 -1
  121. package/dist/esm/schema/marks/background-color.js +9 -9
  122. package/dist/esm/schema/nodes/block-card.js +47 -0
  123. package/dist/esm/schema/nodes/blockquote.js +19 -1
  124. package/dist/esm/schema/nodes/bullet-list.js +19 -0
  125. package/dist/esm/schema/nodes/caption.js +19 -0
  126. package/dist/esm/schema/nodes/code-block.js +71 -1
  127. package/dist/esm/schema/nodes/date.js +21 -0
  128. package/dist/esm/schema/nodes/embed-card.js +35 -0
  129. package/dist/esm/schema/nodes/emoji.js +71 -0
  130. package/dist/esm/schema/nodes/expand.js +55 -0
  131. package/dist/esm/schema/nodes/hard-break.js +17 -0
  132. package/dist/esm/schema/nodes/index.js +19 -19
  133. package/dist/esm/schema/nodes/inline-card.js +45 -0
  134. package/dist/esm/schema/nodes/layout-column.js +36 -0
  135. package/dist/esm/schema/nodes/layout-section.js +30 -0
  136. package/dist/esm/schema/nodes/list-item.js +33 -0
  137. package/dist/esm/schema/nodes/media-inline.js +10 -1
  138. package/dist/esm/schema/nodes/media-single.js +21 -1
  139. package/dist/esm/schema/nodes/media.js +19 -3
  140. package/dist/esm/schema/nodes/nested-expand.js +32 -6
  141. package/dist/esm/schema/nodes/ordered-list.js +53 -2
  142. package/dist/esm/schema/nodes/panel.js +12 -4
  143. package/dist/esm/schema/nodes/placeholder.js +23 -0
  144. package/dist/esm/schema/nodes/rule.js +17 -0
  145. package/dist/esm/validator-schema/generated/validatorSpec.js +142 -0
  146. package/dist/json-schema/v1/full.json +125 -2
  147. package/dist/json-schema/v1/stage-0.json +137 -2
  148. package/dist/types/index.d.ts +2 -2
  149. package/dist/types/next-schema/generated/nodeTypes.d.ts +62 -0
  150. package/dist/types/next-schema/groups/nonNestableBlockContentGroup.d.ts +7 -0
  151. package/dist/types/next-schema/groups/tableCellContentPseudoGroup.d.ts +7 -0
  152. package/dist/types/next-schema/nodes/blockquote.d.ts +7 -0
  153. package/dist/types/next-schema/nodes/layoutSection.d.ts +5 -0
  154. package/dist/types/schema/index.d.ts +1 -1
  155. package/dist/types/schema/nodes/block-card.d.ts +4 -0
  156. package/dist/types/schema/nodes/blockquote.d.ts +4 -0
  157. package/dist/types/schema/nodes/bullet-list.d.ts +1 -0
  158. package/dist/types/schema/nodes/caption.d.ts +4 -0
  159. package/dist/types/schema/nodes/code-block.d.ts +2 -0
  160. package/dist/types/schema/nodes/date.d.ts +2 -0
  161. package/dist/types/schema/nodes/embed-card.d.ts +2 -0
  162. package/dist/types/schema/nodes/emoji.d.ts +2 -0
  163. package/dist/types/schema/nodes/expand.d.ts +2 -0
  164. package/dist/types/schema/nodes/hard-break.d.ts +2 -0
  165. package/dist/types/schema/nodes/index.d.ts +19 -19
  166. package/dist/types/schema/nodes/inline-card.d.ts +1 -0
  167. package/dist/types/schema/nodes/layout-column.d.ts +2 -0
  168. package/dist/types/schema/nodes/layout-section.d.ts +4 -0
  169. package/dist/types/schema/nodes/list-item.d.ts +2 -0
  170. package/dist/types/schema/nodes/media-inline.d.ts +1 -0
  171. package/dist/types/schema/nodes/media-single.d.ts +3 -1
  172. package/dist/types/schema/nodes/media.d.ts +3 -1
  173. package/dist/types/schema/nodes/nested-expand.d.ts +2 -0
  174. package/dist/types/schema/nodes/ordered-list.d.ts +2 -0
  175. package/dist/types/schema/nodes/panel.d.ts +2 -0
  176. package/dist/types/schema/nodes/placeholder.d.ts +2 -0
  177. package/dist/types/schema/nodes/rule.d.ts +4 -0
  178. package/dist/types/schema/nodes/types/list.d.ts +7 -0
  179. package/dist/types/schema/nodes/types/rich-media-common.d.ts +1 -0
  180. package/dist/types/validator-schema/generated/validatorSpec.d.ts +142 -0
  181. package/json-schema/v1/full.json +125 -2
  182. package/json-schema/v1/stage-0.json +137 -2
  183. package/package.json +2 -2
  184. package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +1 -0
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.layoutColumn = void 0;
6
+ exports.layoutColumnWithLocalId = exports.layoutColumn = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name layoutColumn_node
10
11
  */
@@ -33,6 +34,41 @@ var layoutColumn = exports.layoutColumn = (0, _nodeTypes.layoutColumn)({
33
34
  attrs['data-column-width'] = "".concat(width);
34
35
  }
35
36
 
37
+ // We need to apply a attribute to the inner most child to help
38
+ // ProseMirror identify its boundaries better.
39
+ var contentAttrs = {
40
+ 'data-layout-content': 'true'
41
+ };
42
+ return ['div', attrs, ['div', contentAttrs, 0]];
43
+ }
44
+ });
45
+ var layoutColumnWithLocalId = exports.layoutColumnWithLocalId = (0, _nodeTypes.layoutColumn)({
46
+ parseDOM: [{
47
+ context: 'layoutColumn//',
48
+ tag: 'div[data-layout-column]',
49
+ skip: true
50
+ }, {
51
+ tag: 'div[data-layout-column]',
52
+ getAttrs: function getAttrs(domNode) {
53
+ var dom = domNode;
54
+ return {
55
+ width: Number(dom.getAttribute('data-column-width')) || undefined,
56
+ localId: _uuid.uuid.generate()
57
+ };
58
+ }
59
+ }],
60
+ toDOM: function toDOM(node) {
61
+ var _node$attrs;
62
+ var attrs = {
63
+ 'data-layout-column': 'true',
64
+ '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
65
+ };
66
+ var width = node.attrs.width;
67
+ if (width) {
68
+ attrs['style'] = "flex-basis: ".concat(width, "%");
69
+ attrs['data-column-width'] = "".concat(width);
70
+ }
71
+
36
72
  // We need to apply a attribute to the inner most child to help
37
73
  // ProseMirror identify its boundaries better.
38
74
  var contentAttrs = {
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.layoutSectionWithSingleColumn = exports.layoutSectionFull = exports.layoutSection = void 0;
6
+ exports.layoutSectionWithSingleColumnLocalId = exports.layoutSectionWithSingleColumn = exports.layoutSectionFull = exports.layoutSection = void 0;
7
7
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
+ var _uuid = require("../../utils/uuid");
8
9
  /**
9
10
  * @name layoutSection_node
10
11
  */
@@ -76,4 +77,33 @@ var layoutSectionWithSingleColumn = exports.layoutSectionWithSingleColumn = (0,
76
77
  };
77
78
  return ['div', attrs, 0];
78
79
  }
80
+ });
81
+ var layoutSectionWithSingleColumnLocalId = exports.layoutSectionWithSingleColumnLocalId = (0, _nodeTypes.layoutSectionWithSingleColumnStage0)({
82
+ parseDOM: [{
83
+ context: 'layoutSection//|layoutColumn//',
84
+ tag: 'div[data-layout-section]',
85
+ skip: true
86
+ }, {
87
+ tag: 'div[data-layout-section]',
88
+ getAttrs: function getAttrs(dom) {
89
+ var columnRuleStyle = dom.getAttribute('data-column-rule-style');
90
+ var localId = _uuid.uuid.generate();
91
+ return columnRuleStyle ? {
92
+ columnRuleStyle: columnRuleStyle,
93
+ localId: localId
94
+ } : {
95
+ localId: localId
96
+ };
97
+ }
98
+ }],
99
+ toDOM: function toDOM(node) {
100
+ var _node$attrs;
101
+ var columnRuleStyle = node.attrs.columnRuleStyle;
102
+ var attrs = {
103
+ 'data-layout-section': 'true',
104
+ 'data-column-rule-style': columnRuleStyle || undefined,
105
+ '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
106
+ };
107
+ return ['div', attrs, 0];
108
+ }
79
109
  });
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.listItemWithDecisionStage0 = exports.listItem = void 0;
6
+ exports.listItemWithNestedDecisionAndLocalIdStage0 = exports.listItemWithLocalId = exports.listItemWithDecisionStage0 = exports.listItem = void 0;
7
+ var _utils = require("../../utils");
7
8
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
9
  /**
9
10
  * @name list_item
@@ -17,6 +18,22 @@ var listItem = exports.listItem = (0, _nodeTypes.listItem)({
17
18
  return ['li', 0];
18
19
  }
19
20
  });
21
+ var listItemWithLocalId = exports.listItemWithLocalId = (0, _nodeTypes.listItem)({
22
+ parseDOM: [{
23
+ tag: 'li',
24
+ getAttrs: function getAttrs() {
25
+ return {
26
+ localId: _utils.uuid.generate()
27
+ };
28
+ }
29
+ }],
30
+ toDOM: function toDOM(node) {
31
+ var _node$attrs;
32
+ return ['li', {
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
+ }, 0];
35
+ }
36
+ });
20
37
 
21
38
  /**
22
39
  * @name list_item_with_decision_stage0
@@ -29,4 +46,20 @@ var listItemWithDecisionStage0 = exports.listItemWithDecisionStage0 = (0, _nodeT
29
46
  toDOM: function toDOM() {
30
47
  return ['li', 0];
31
48
  }
49
+ });
50
+ var listItemWithNestedDecisionAndLocalIdStage0 = exports.listItemWithNestedDecisionAndLocalIdStage0 = (0, _nodeTypes.listItemWithNestedDecisionStage0)({
51
+ parseDOM: [{
52
+ tag: 'li',
53
+ getAttrs: function getAttrs() {
54
+ return {
55
+ localId: _utils.uuid.generate()
56
+ };
57
+ }
58
+ }],
59
+ toDOM: function toDOM(node) {
60
+ var _node$attrs2;
61
+ return ['li', {
62
+ '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
63
+ }, 0];
64
+ }
32
65
  });
@@ -1,13 +1,23 @@
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.mediaInline = void 0;
7
+ exports.mediaInlineWithLocalId = exports.mediaInline = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _media = require("./media");
10
+ var _uuid = require("../../utils/uuid");
8
11
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
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 mediaInline_node
11
16
  */
12
17
 
13
- var mediaInline = exports.mediaInline = (0, _media.createMediaSpec)((0, _nodeTypes.mediaInline)({}).attrs, true);
18
+ var mediaInline = exports.mediaInline = (0, _media.createMediaSpec)((0, _nodeTypes.mediaInline)({}).attrs, true);
19
+ var mediaInlineWithLocalId = exports.mediaInlineWithLocalId = (0, _media.createMediaSpec)(_objectSpread(_objectSpread({}, (0, _nodeTypes.mediaInline)({}).attrs), {}, {
20
+ localId: {
21
+ default: _uuid.uuid.generate()
22
+ }
23
+ }), true, true);
@@ -4,11 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.toJSON = exports.mediaSingleWithWidthType = exports.mediaSingleWithCaption = exports.mediaSingleSpec = exports.mediaSingleFull = exports.mediaSingle = exports.defaultAttrs = void 0;
7
+ exports.toJSON = exports.mediaSingleWithWidthType = exports.mediaSingleWithCaption = exports.mediaSingleSpec = exports.mediaSingleFullWithLocalId = exports.mediaSingleFull = exports.mediaSingle = exports.defaultAttrs = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _richMediaCommon = require("./types/rich-media-common");
10
10
  var _parseDOM = require("../../utils/parseDOM");
11
11
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
12
+ var _uuid = require("../../utils/uuid");
12
13
  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
14
  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; }
14
15
  /**
@@ -45,7 +46,9 @@ var mediaSingleSpec = exports.mediaSingleSpec = function mediaSingleSpec(_ref) {
45
46
  var _ref$withCaption = _ref.withCaption,
46
47
  withCaption = _ref$withCaption === void 0 ? false : _ref$withCaption,
47
48
  _ref$withExtendedWidt = _ref.withExtendedWidthTypes,
48
- withExtendedWidthTypes = _ref$withExtendedWidt === void 0 ? false : _ref$withExtendedWidt;
49
+ withExtendedWidthTypes = _ref$withExtendedWidt === void 0 ? false : _ref$withExtendedWidt,
50
+ _ref$generateLocalId = _ref.generateLocalId,
51
+ generateLocalId = _ref$generateLocalId === void 0 ? false : _ref$generateLocalId;
49
52
  var getAttrs = function getAttrs(dom) {
50
53
  if (!(0, _parseDOM.isDOMElement)(dom)) {
51
54
  // this should never happen
@@ -56,6 +59,14 @@ var mediaSingleSpec = exports.mediaSingleSpec = function mediaSingleSpec(_ref) {
56
59
  var layout = dom.getAttribute('data-layout') || 'center';
57
60
  var width = Number(dom.getAttribute('data-width')) || null;
58
61
  var widthType = dom.getAttribute('data-width-type');
62
+ if (generateLocalId) {
63
+ return {
64
+ layout: layout,
65
+ width: width,
66
+ widthType: widthType,
67
+ localId: _uuid.uuid.generate()
68
+ };
69
+ }
59
70
  if (withExtendedWidthTypes) {
60
71
  return {
61
72
  layout: layout,
@@ -84,6 +95,10 @@ var mediaSingleSpec = exports.mediaSingleSpec = function mediaSingleSpec(_ref) {
84
95
  'data-layout': layout,
85
96
  'data-width': ''
86
97
  };
98
+ if (generateLocalId) {
99
+ var _node$attrs2;
100
+ attrs['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;
101
+ }
87
102
  if (width) {
88
103
  attrs['data-width'] = isFinite(width) && Math.floor(width) === width ? width : width.toFixed(2);
89
104
  }
@@ -154,6 +169,11 @@ var mediaSingleFull = exports.mediaSingleFull = mediaSingleSpec({
154
169
  withCaption: true,
155
170
  withExtendedWidthTypes: true
156
171
  });
172
+ var mediaSingleFullWithLocalId = exports.mediaSingleFullWithLocalId = mediaSingleSpec({
173
+ withCaption: true,
174
+ withExtendedWidthTypes: true,
175
+ generateLocalId: true
176
+ });
157
177
  var toJSON = exports.toJSON = function toJSON(node) {
158
178
  return {
159
179
  attrs: Object.keys(node.attrs).reduce(function (obj, key) {
@@ -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.toJSON = exports.media = exports.defaultAttrs = exports.createMediaSpec = exports.copyPrivateAttributes = exports.camelCaseToKebabCase = void 0;
7
+ exports.toJSON = exports.mediaWithLocalId = exports.media = exports.defaultAttrs = exports.createMediaSpec = exports.copyPrivateAttributes = exports.camelCaseToKebabCase = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _colors = require("../../utils/colors");
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 media_node
11
16
  */
@@ -13,6 +18,7 @@ var _nodeTypes = require("../../next-schema/generated/nodeTypes");
13
18
  var defaultAttrs = exports.defaultAttrs = (0, _nodeTypes.media)({}).attrs;
14
19
  var createMediaSpec = exports.createMediaSpec = function createMediaSpec(attributes) {
15
20
  var inline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
21
+ var generateLocalId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
16
22
  var domNodeType = inline ? 'span' : 'div';
17
23
  var nodeName = inline ? 'mediaInline' : 'media';
18
24
  var parseDOM = [{
@@ -50,6 +56,7 @@ var createMediaSpec = exports.createMediaSpec = function createMediaSpec(attribu
50
56
  ignore: true
51
57
  }];
52
58
  var toDOM = function toDOM(node) {
59
+ var _node$attrs;
53
60
  var attrs = {
54
61
  'data-id': node.attrs.id,
55
62
  'data-node-type': "".concat(nodeName),
@@ -66,7 +73,8 @@ var createMediaSpec = exports.createMediaSpec = function createMediaSpec(attribu
66
73
  title: 'Attachment',
67
74
  // Manually kept in sync with the style of media cards. The goal is to render a plain gray
68
75
  // rectangle that provides an affordance for media.
69
- style: "display: inline-block; border-radius: 3px; background: ".concat(_colors.N30, "; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);")
76
+ style: "display: inline-block; border-radius: 3px; background: ".concat(_colors.N30, "; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);"),
77
+ '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
70
78
  };
71
79
  copyPrivateAttributes(node.attrs, attrs, function (key) {
72
80
  return "data-".concat(camelCaseToKebabCase(key.slice(2)));
@@ -86,17 +94,26 @@ var createMediaSpec = exports.createMediaSpec = function createMediaSpec(attribu
86
94
  // https://product-fabric.atlassian.net/browse/EDM-2996
87
95
  tag: 'img:not(.smart-link-icon)',
88
96
  getAttrs: function getAttrs(dom) {
89
- return {
97
+ var attrs = {
90
98
  type: 'external',
91
99
  url: dom.getAttribute('src') || '',
92
100
  alt: dom.getAttribute('alt') || ''
93
101
  };
102
+ if (generateLocalId) {
103
+ attrs.localId = _uuid.uuid.generate();
104
+ }
105
+ return attrs;
94
106
  }
95
107
  }]),
96
108
  toDOM: toDOM
97
109
  });
98
110
  };
99
- var media = exports.media = createMediaSpec(defaultAttrs, false);
111
+ var media = exports.media = createMediaSpec(defaultAttrs, false, false);
112
+ var mediaWithLocalId = exports.mediaWithLocalId = createMediaSpec(_objectSpread(_objectSpread({}, defaultAttrs), {}, {
113
+ localId: {
114
+ default: _uuid.uuid.generate()
115
+ }
116
+ }), false, true);
100
117
  var camelCaseToKebabCase = exports.camelCaseToKebabCase = function camelCaseToKebabCase(str) {
101
118
  return str.replace(/([^A-Z]+)([A-Z])/g, function (_, x, y) {
102
119
  return "".concat(x, "-").concat(y.toLowerCase());
@@ -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
  });