@atlaskit/adf-schema 36.1.0 → 36.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/adf-schema
2
2
 
3
+ ## 36.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 6ee2066: Add optional localId attribute to paragraph nodes in stage-0
8
+
9
+ ## 36.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 7f5f636: Add optional localId attribute to heading nodes in stage-0
14
+
3
15
  ## 36.1.0
4
16
 
5
17
  ### Minor Changes
package/dist/cjs/index.js CHANGED
@@ -621,6 +621,18 @@ Object.defineProperty(exports, "heading", {
621
621
  return _schema.heading;
622
622
  }
623
623
  });
624
+ Object.defineProperty(exports, "headingNodeSpec", {
625
+ enumerable: true,
626
+ get: function get() {
627
+ return _schema.headingNodeSpec;
628
+ }
629
+ });
630
+ Object.defineProperty(exports, "headingStage0", {
631
+ enumerable: true,
632
+ get: function get() {
633
+ return _schema.headingStage0;
634
+ }
635
+ });
624
636
  Object.defineProperty(exports, "hexToRgb", {
625
637
  enumerable: true,
626
638
  get: function get() {
@@ -855,6 +867,18 @@ Object.defineProperty(exports, "paragraph", {
855
867
  return _schema.paragraph;
856
868
  }
857
869
  });
870
+ Object.defineProperty(exports, "paragraphNodeSpec", {
871
+ enumerable: true,
872
+ get: function get() {
873
+ return _schema.paragraphNodeSpec;
874
+ }
875
+ });
876
+ Object.defineProperty(exports, "paragraphStage0", {
877
+ enumerable: true,
878
+ get: function get() {
879
+ return _schema.paragraphStage0;
880
+ }
881
+ });
858
882
  Object.defineProperty(exports, "placeholder", {
859
883
  enumerable: true,
860
884
  get: function get() {
@@ -69,7 +69,7 @@ var nodesInOrder = [{
69
69
  spec: _nodes.doc
70
70
  }, {
71
71
  name: 'paragraph',
72
- spec: _nodes.paragraph
72
+ spec: (0, _nodes.paragraphNodeSpec)()
73
73
  }, {
74
74
  name: 'text',
75
75
  spec: _nodes.text
@@ -84,7 +84,7 @@ var nodesInOrder = [{
84
84
  spec: _nodes.listItemWithTask
85
85
  }, {
86
86
  name: 'heading',
87
- spec: _nodes.heading
87
+ spec: (0, _nodes.headingNodeSpec)()
88
88
  }, {
89
89
  name: 'blockquote',
90
90
  spec: _nodes.blockquoteWithList
@@ -26,7 +26,9 @@ var getSchemaBasedOnStage = exports.getSchemaBasedOnStage = (0, _memoizeOne.defa
26
26
  layoutSection: _nodes.layoutSectionWithSingleColumn,
27
27
  multiBodiedExtension: _nodes.multiBodiedExtension,
28
28
  extensionFrame: _nodes.extensionFrame,
29
- table: _nodes.tableStage0
29
+ table: _nodes.tableStage0,
30
+ heading: (0, _nodes.headingNodeSpec)('stage0'),
31
+ paragraph: (0, _nodes.paragraphNodeSpec)('stage0')
30
32
  };
31
33
  }
32
34
  return (0, _createSchema.createSchema)(defaultSchemaConfig);
@@ -309,6 +309,18 @@ Object.defineProperty(exports, "heading", {
309
309
  return _nodes.heading;
310
310
  }
311
311
  });
312
+ Object.defineProperty(exports, "headingNodeSpec", {
313
+ enumerable: true,
314
+ get: function get() {
315
+ return _nodes.headingNodeSpec;
316
+ }
317
+ });
318
+ Object.defineProperty(exports, "headingStage0", {
319
+ enumerable: true,
320
+ get: function get() {
321
+ return _nodes.headingStage0;
322
+ }
323
+ });
312
324
  Object.defineProperty(exports, "image", {
313
325
  enumerable: true,
314
326
  get: function get() {
@@ -495,6 +507,18 @@ Object.defineProperty(exports, "paragraph", {
495
507
  return _nodes.paragraph;
496
508
  }
497
509
  });
510
+ Object.defineProperty(exports, "paragraphNodeSpec", {
511
+ enumerable: true,
512
+ get: function get() {
513
+ return _nodes.paragraphNodeSpec;
514
+ }
515
+ });
516
+ Object.defineProperty(exports, "paragraphStage0", {
517
+ enumerable: true,
518
+ get: function get() {
519
+ return _nodes.paragraphStage0;
520
+ }
521
+ });
498
522
  Object.defineProperty(exports, "placeholder", {
499
523
  enumerable: true,
500
524
  get: function get() {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.heading = void 0;
6
+ exports.headingStage0 = exports.headingNodeSpec = exports.heading = void 0;
7
7
  /**
8
8
  * @name heading_node
9
9
  */
@@ -21,6 +21,58 @@ exports.heading = void 0;
21
21
  * @name heading_with_indentation_node
22
22
  */
23
23
 
24
+ var getAttrs = function getAttrs(level) {
25
+ return function (domNode) {
26
+ var _heading$attrs, _heading$attrs$localI;
27
+ return {
28
+ level: level,
29
+ localId: domNode.getAttribute('data-local-id') || ((_heading$attrs = heading.attrs) === null || _heading$attrs === void 0 ? void 0 : (_heading$attrs$localI = _heading$attrs.localId) === null || _heading$attrs$localI === void 0 ? void 0 : _heading$attrs$localI.default)
30
+ };
31
+ };
32
+ };
33
+ var headingStage0 = exports.headingStage0 = {
34
+ attrs: {
35
+ level: {
36
+ default: 1
37
+ },
38
+ localId: {
39
+ default: null
40
+ }
41
+ },
42
+ content: "inline*",
43
+ group: 'block',
44
+ defining: true,
45
+ selectable: false,
46
+ parseDOM: [{
47
+ tag: 'h1',
48
+ getAttrs: getAttrs(1)
49
+ }, {
50
+ tag: 'h2',
51
+ getAttrs: getAttrs(2)
52
+ }, {
53
+ tag: 'h3',
54
+ getAttrs: getAttrs(3)
55
+ }, {
56
+ tag: 'h4',
57
+ getAttrs: getAttrs(4)
58
+ }, {
59
+ tag: 'h5',
60
+ getAttrs: getAttrs(5)
61
+ }, {
62
+ tag: 'h6',
63
+ getAttrs: getAttrs(6)
64
+ }],
65
+ toDOM: function toDOM(node) {
66
+ var _node$attrs = node.attrs,
67
+ level = _node$attrs.level,
68
+ localId = _node$attrs.localId;
69
+ var name = 'h' + level;
70
+ var attrs = localId !== undefined && localId !== null ? [{
71
+ 'data-local-id': localId
72
+ }] : [];
73
+ return [name].concat(attrs, [0]);
74
+ }
75
+ };
24
76
  var heading = exports.heading = {
25
77
  attrs: {
26
78
  level: {
@@ -65,4 +117,8 @@ var heading = exports.heading = {
65
117
  toDOM: function toDOM(node) {
66
118
  return ['h' + node.attrs['level'], 0];
67
119
  }
120
+ };
121
+ var headingNodeSpec = exports.headingNodeSpec = function headingNodeSpec() {
122
+ var adfStage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'full';
123
+ return adfStage === 'stage0' ? headingStage0 : heading;
68
124
  };
@@ -184,6 +184,18 @@ Object.defineProperty(exports, "heading", {
184
184
  return _heading.heading;
185
185
  }
186
186
  });
187
+ Object.defineProperty(exports, "headingNodeSpec", {
188
+ enumerable: true,
189
+ get: function get() {
190
+ return _heading.headingNodeSpec;
191
+ }
192
+ });
193
+ Object.defineProperty(exports, "headingStage0", {
194
+ enumerable: true,
195
+ get: function get() {
196
+ return _heading.headingStage0;
197
+ }
198
+ });
187
199
  Object.defineProperty(exports, "image", {
188
200
  enumerable: true,
189
201
  get: function get() {
@@ -346,6 +358,18 @@ Object.defineProperty(exports, "paragraph", {
346
358
  return _paragraph.paragraph;
347
359
  }
348
360
  });
361
+ Object.defineProperty(exports, "paragraphNodeSpec", {
362
+ enumerable: true,
363
+ get: function get() {
364
+ return _paragraph.paragraphNodeSpec;
365
+ }
366
+ });
367
+ Object.defineProperty(exports, "paragraphStage0", {
368
+ enumerable: true,
369
+ get: function get() {
370
+ return _paragraph.paragraphStage0;
371
+ }
372
+ });
349
373
  Object.defineProperty(exports, "placeholder", {
350
374
  enumerable: true,
351
375
  get: function get() {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.paragraph = void 0;
6
+ exports.paragraphStage0 = exports.paragraphNodeSpec = exports.paragraph = void 0;
7
7
  /**
8
8
  * @name paragraph_node
9
9
  */
@@ -29,7 +29,36 @@ exports.paragraph = void 0;
29
29
  * @name paragraph_with_indentation_node
30
30
  */
31
31
 
32
- var pDOM = ['p', 0];
32
+ var paragraphStage0 = exports.paragraphStage0 = {
33
+ selectable: false,
34
+ content: 'inline*',
35
+ group: 'block',
36
+ attrs: {
37
+ localId: {
38
+ default: null
39
+ }
40
+ },
41
+ marks: 'strong code em link border strike subsup textColor backgroundColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
42
+ parseDOM: [{
43
+ tag: 'p',
44
+ getAttrs: function getAttrs(domNode) {
45
+ var _paragraph$attrs, _paragraph$attrs$loca;
46
+ var dom = domNode;
47
+ var attrs = {
48
+ localId: dom.getAttribute('data-local-id') || ((_paragraph$attrs = paragraph.attrs) === null || _paragraph$attrs === void 0 ? void 0 : (_paragraph$attrs$loca = _paragraph$attrs.localId) === null || _paragraph$attrs$loca === void 0 ? void 0 : _paragraph$attrs$loca.default)
49
+ };
50
+ return attrs;
51
+ }
52
+ }],
53
+ toDOM: function toDOM(node) {
54
+ var localId = node.attrs.localId;
55
+ var name = 'p';
56
+ var attrs = localId !== undefined && localId !== null ? [{
57
+ 'data-local-id': localId
58
+ }] : [];
59
+ return [name].concat(attrs, [0]);
60
+ }
61
+ };
33
62
  var paragraph = exports.paragraph = {
34
63
  selectable: false,
35
64
  content: 'inline*',
@@ -39,6 +68,10 @@ var paragraph = exports.paragraph = {
39
68
  tag: 'p'
40
69
  }],
41
70
  toDOM: function toDOM() {
42
- return pDOM;
71
+ return ['p', 0];
43
72
  }
73
+ };
74
+ var paragraphNodeSpec = exports.paragraphNodeSpec = function paragraphNodeSpec() {
75
+ var adfStage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'full';
76
+ return adfStage === 'stage0' ? paragraphStage0 : paragraph;
44
77
  };
@@ -1,3 +1,3 @@
1
1
  export { PanelType, AnnotationTypes, alignment, alignmentPositionMap, annotation, blockCard, blockquote, blockquoteWithList, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
2
- colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette } from './schema';
2
+ colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, headingNodeSpec, headingStage0, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette } from './schema';
3
3
  export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid, getDarkModeLCHColor } from './utils';
@@ -1,7 +1,7 @@
1
1
  import { Schema } from '@atlaskit/editor-prosemirror/model';
2
2
  import { COLOR, FONT_STYLE, SEARCH_QUERY, LINK } from './groups';
3
3
  import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer, fragment, border, backgroundColor } from './marks';
4
- import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedListWithOrder, listItemWithTask, heading, blockquoteWithList, codeBlock, extendedPanel, rule, image, mention, media, mediaInline, mediaSingleFull, mediaGroup, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, multiBodiedExtension, extensionFrame, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
4
+ import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraphNodeSpec, text, bulletList, orderedListWithOrder, listItemWithTask, headingNodeSpec, blockquoteWithList, codeBlock, extendedPanel, rule, image, mention, media, mediaInline, mediaSingleFull, mediaGroup, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, multiBodiedExtension, extensionFrame, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
5
5
  function addItems(builtInItems, config, customSpecs = {}) {
6
6
  if (!config) {
7
7
  return {};
@@ -54,7 +54,7 @@ const nodesInOrder = [{
54
54
  spec: doc
55
55
  }, {
56
56
  name: 'paragraph',
57
- spec: paragraph
57
+ spec: paragraphNodeSpec()
58
58
  }, {
59
59
  name: 'text',
60
60
  spec: text
@@ -69,7 +69,7 @@ const nodesInOrder = [{
69
69
  spec: listItemWithTask
70
70
  }, {
71
71
  name: 'heading',
72
- spec: heading
72
+ spec: headingNodeSpec()
73
73
  }, {
74
74
  name: 'blockquote',
75
75
  spec: blockquoteWithList
@@ -1,5 +1,5 @@
1
1
  import memoizeOne from 'memoize-one';
2
- import { extensionFrame, layoutSectionWithSingleColumn, multiBodiedExtension, tableStage0 } from './nodes';
2
+ import { extensionFrame, headingNodeSpec, layoutSectionWithSingleColumn, multiBodiedExtension, paragraphNodeSpec, tableStage0 } from './nodes';
3
3
  import { createSchema } from './create-schema';
4
4
  const getDefaultSchemaConfig = () => {
5
5
  const defaultSchemaConfig = {
@@ -18,7 +18,9 @@ export const getSchemaBasedOnStage = memoizeOne((stage = 'final') => {
18
18
  layoutSection: layoutSectionWithSingleColumn,
19
19
  multiBodiedExtension: multiBodiedExtension,
20
20
  extensionFrame: extensionFrame,
21
- table: tableStage0
21
+ table: tableStage0,
22
+ heading: headingNodeSpec('stage0'),
23
+ paragraph: paragraphNodeSpec('stage0')
22
24
  };
23
25
  }
24
26
  return createSchema(defaultSchemaConfig);
@@ -1,4 +1,4 @@
1
- export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension } from './nodes';
1
+ export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, headingNodeSpec, headingStage0, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension } from './nodes';
2
2
  export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
3
3
  colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, fragment, fragmentToJSON, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, backgroundColor, backgroundColorPalette } from './marks';
4
4
  export { unsupportedNodeTypesForMediaCards } from './unsupported';
@@ -15,6 +15,57 @@
15
15
  * @name heading_with_indentation_node
16
16
  */
17
17
 
18
+ const getAttrs = level => domNode => {
19
+ var _heading$attrs, _heading$attrs$localI;
20
+ return {
21
+ level,
22
+ localId: domNode.getAttribute('data-local-id') || ((_heading$attrs = heading.attrs) === null || _heading$attrs === void 0 ? void 0 : (_heading$attrs$localI = _heading$attrs.localId) === null || _heading$attrs$localI === void 0 ? void 0 : _heading$attrs$localI.default)
23
+ };
24
+ };
25
+ export const headingStage0 = {
26
+ attrs: {
27
+ level: {
28
+ default: 1
29
+ },
30
+ localId: {
31
+ default: null
32
+ }
33
+ },
34
+ content: `inline*`,
35
+ group: 'block',
36
+ defining: true,
37
+ selectable: false,
38
+ parseDOM: [{
39
+ tag: 'h1',
40
+ getAttrs: getAttrs(1)
41
+ }, {
42
+ tag: 'h2',
43
+ getAttrs: getAttrs(2)
44
+ }, {
45
+ tag: 'h3',
46
+ getAttrs: getAttrs(3)
47
+ }, {
48
+ tag: 'h4',
49
+ getAttrs: getAttrs(4)
50
+ }, {
51
+ tag: 'h5',
52
+ getAttrs: getAttrs(5)
53
+ }, {
54
+ tag: 'h6',
55
+ getAttrs: getAttrs(6)
56
+ }],
57
+ toDOM(node) {
58
+ const {
59
+ level,
60
+ localId
61
+ } = node.attrs;
62
+ const name = 'h' + level;
63
+ const attrs = localId !== undefined && localId !== null ? [{
64
+ 'data-local-id': localId
65
+ }] : [];
66
+ return [name, ...attrs, 0];
67
+ }
68
+ };
18
69
  export const heading = {
19
70
  attrs: {
20
71
  level: {
@@ -59,4 +110,5 @@ export const heading = {
59
110
  toDOM(node) {
60
111
  return ['h' + node.attrs['level'], 0];
61
112
  }
62
- };
113
+ };
114
+ export const headingNodeSpec = (adfStage = 'full') => adfStage === 'stage0' ? headingStage0 : heading;
@@ -8,10 +8,10 @@ export { blockquoteWithList } from './blockquote';
8
8
  export { bulletList, bulletListSelector } from './bullet-list';
9
9
  export { codeBlock, toJSON as codeBlockToJSON } from './code-block';
10
10
  export { hardBreak } from './hard-break';
11
- export { heading } from './heading';
11
+ export { headingNodeSpec, heading, headingStage0 } from './heading';
12
12
  export { rule } from './rule';
13
13
  export { orderedList, orderedListSelector, orderedListWithOrder } from './ordered-list';
14
- export { paragraph } from './paragraph';
14
+ export { paragraph, paragraphStage0, paragraphNodeSpec } from './paragraph';
15
15
  export { emoji } from './emoji';
16
16
  export { image } from './image';
17
17
  export { mention, toJSON as mentionToJSON } from './mention';
@@ -23,7 +23,38 @@
23
23
  * @name paragraph_with_indentation_node
24
24
  */
25
25
 
26
- const pDOM = ['p', 0];
26
+ export const paragraphStage0 = {
27
+ selectable: false,
28
+ content: 'inline*',
29
+ group: 'block',
30
+ attrs: {
31
+ localId: {
32
+ default: null
33
+ }
34
+ },
35
+ marks: 'strong code em link border strike subsup textColor backgroundColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
36
+ parseDOM: [{
37
+ tag: 'p',
38
+ getAttrs: domNode => {
39
+ var _paragraph$attrs, _paragraph$attrs$loca;
40
+ const dom = domNode;
41
+ const attrs = {
42
+ localId: dom.getAttribute('data-local-id') || ((_paragraph$attrs = paragraph.attrs) === null || _paragraph$attrs === void 0 ? void 0 : (_paragraph$attrs$loca = _paragraph$attrs.localId) === null || _paragraph$attrs$loca === void 0 ? void 0 : _paragraph$attrs$loca.default)
43
+ };
44
+ return attrs;
45
+ }
46
+ }],
47
+ toDOM(node) {
48
+ const {
49
+ localId
50
+ } = node.attrs;
51
+ const name = 'p';
52
+ const attrs = localId !== undefined && localId !== null ? [{
53
+ 'data-local-id': localId
54
+ }] : [];
55
+ return [name, ...attrs, 0];
56
+ }
57
+ };
27
58
  export const paragraph = {
28
59
  selectable: false,
29
60
  content: 'inline*',
@@ -33,6 +64,7 @@ export const paragraph = {
33
64
  tag: 'p'
34
65
  }],
35
66
  toDOM() {
36
- return pDOM;
67
+ return ['p', 0];
37
68
  }
38
- };
69
+ };
70
+ export const paragraphNodeSpec = (adfStage = 'full') => adfStage === 'stage0' ? paragraphStage0 : paragraph;
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { PanelType, AnnotationTypes, alignment, alignmentPositionMap, annotation, blockCard, blockquote, blockquoteWithList, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
2
- colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette } from './schema';
2
+ colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, headingNodeSpec, headingStage0, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette } from './schema';
3
3
  export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid, getDarkModeLCHColor } from './utils';
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { Schema } from '@atlaskit/editor-prosemirror/model';
5
5
  import { COLOR, FONT_STYLE, SEARCH_QUERY, LINK } from './groups';
6
6
  import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer, fragment, border, backgroundColor } from './marks';
7
- import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedListWithOrder, listItemWithTask, heading, blockquoteWithList, codeBlock, extendedPanel, rule, image, mention, media, mediaInline, mediaSingleFull, mediaGroup, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, multiBodiedExtension, extensionFrame, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
7
+ import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraphNodeSpec, text, bulletList, orderedListWithOrder, listItemWithTask, headingNodeSpec, blockquoteWithList, codeBlock, extendedPanel, rule, image, mention, media, mediaInline, mediaSingleFull, mediaGroup, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, multiBodiedExtension, extensionFrame, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
8
8
  function addItems(builtInItems, config) {
9
9
  var customSpecs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
10
10
  if (!config) {
@@ -59,7 +59,7 @@ var nodesInOrder = [{
59
59
  spec: doc
60
60
  }, {
61
61
  name: 'paragraph',
62
- spec: paragraph
62
+ spec: paragraphNodeSpec()
63
63
  }, {
64
64
  name: 'text',
65
65
  spec: text
@@ -74,7 +74,7 @@ var nodesInOrder = [{
74
74
  spec: listItemWithTask
75
75
  }, {
76
76
  name: 'heading',
77
- spec: heading
77
+ spec: headingNodeSpec()
78
78
  }, {
79
79
  name: 'blockquote',
80
80
  spec: blockquoteWithList
@@ -1,5 +1,5 @@
1
1
  import memoizeOne from 'memoize-one';
2
- import { extensionFrame, layoutSectionWithSingleColumn, multiBodiedExtension, tableStage0 } from './nodes';
2
+ import { extensionFrame, headingNodeSpec, layoutSectionWithSingleColumn, multiBodiedExtension, paragraphNodeSpec, tableStage0 } from './nodes';
3
3
  import { createSchema } from './create-schema';
4
4
  var getDefaultSchemaConfig = function getDefaultSchemaConfig() {
5
5
  var defaultSchemaConfig = {
@@ -19,7 +19,9 @@ export var getSchemaBasedOnStage = memoizeOne(function () {
19
19
  layoutSection: layoutSectionWithSingleColumn,
20
20
  multiBodiedExtension: multiBodiedExtension,
21
21
  extensionFrame: extensionFrame,
22
- table: tableStage0
22
+ table: tableStage0,
23
+ heading: headingNodeSpec('stage0'),
24
+ paragraph: paragraphNodeSpec('stage0')
23
25
  };
24
26
  }
25
27
  return createSchema(defaultSchemaConfig);
@@ -1,4 +1,4 @@
1
- export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension } from './nodes';
1
+ export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, headingNodeSpec, headingStage0, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension } from './nodes';
2
2
  export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
3
3
  colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, fragment, fragmentToJSON, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, backgroundColor, backgroundColorPalette } from './marks';
4
4
  export { unsupportedNodeTypesForMediaCards } from './unsupported';
@@ -15,6 +15,58 @@
15
15
  * @name heading_with_indentation_node
16
16
  */
17
17
 
18
+ var getAttrs = function getAttrs(level) {
19
+ return function (domNode) {
20
+ var _heading$attrs, _heading$attrs$localI;
21
+ return {
22
+ level: level,
23
+ localId: domNode.getAttribute('data-local-id') || ((_heading$attrs = heading.attrs) === null || _heading$attrs === void 0 ? void 0 : (_heading$attrs$localI = _heading$attrs.localId) === null || _heading$attrs$localI === void 0 ? void 0 : _heading$attrs$localI.default)
24
+ };
25
+ };
26
+ };
27
+ export var headingStage0 = {
28
+ attrs: {
29
+ level: {
30
+ default: 1
31
+ },
32
+ localId: {
33
+ default: null
34
+ }
35
+ },
36
+ content: "inline*",
37
+ group: 'block',
38
+ defining: true,
39
+ selectable: false,
40
+ parseDOM: [{
41
+ tag: 'h1',
42
+ getAttrs: getAttrs(1)
43
+ }, {
44
+ tag: 'h2',
45
+ getAttrs: getAttrs(2)
46
+ }, {
47
+ tag: 'h3',
48
+ getAttrs: getAttrs(3)
49
+ }, {
50
+ tag: 'h4',
51
+ getAttrs: getAttrs(4)
52
+ }, {
53
+ tag: 'h5',
54
+ getAttrs: getAttrs(5)
55
+ }, {
56
+ tag: 'h6',
57
+ getAttrs: getAttrs(6)
58
+ }],
59
+ toDOM: function toDOM(node) {
60
+ var _node$attrs = node.attrs,
61
+ level = _node$attrs.level,
62
+ localId = _node$attrs.localId;
63
+ var name = 'h' + level;
64
+ var attrs = localId !== undefined && localId !== null ? [{
65
+ 'data-local-id': localId
66
+ }] : [];
67
+ return [name].concat(attrs, [0]);
68
+ }
69
+ };
18
70
  export var heading = {
19
71
  attrs: {
20
72
  level: {
@@ -59,4 +111,8 @@ export var heading = {
59
111
  toDOM: function toDOM(node) {
60
112
  return ['h' + node.attrs['level'], 0];
61
113
  }
114
+ };
115
+ export var headingNodeSpec = function headingNodeSpec() {
116
+ var adfStage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'full';
117
+ return adfStage === 'stage0' ? headingStage0 : heading;
62
118
  };
@@ -8,10 +8,10 @@ export { blockquoteWithList } from './blockquote';
8
8
  export { bulletList, bulletListSelector } from './bullet-list';
9
9
  export { codeBlock, toJSON as codeBlockToJSON } from './code-block';
10
10
  export { hardBreak } from './hard-break';
11
- export { heading } from './heading';
11
+ export { headingNodeSpec, heading, headingStage0 } from './heading';
12
12
  export { rule } from './rule';
13
13
  export { orderedList, orderedListSelector, orderedListWithOrder } from './ordered-list';
14
- export { paragraph } from './paragraph';
14
+ export { paragraph, paragraphStage0, paragraphNodeSpec } from './paragraph';
15
15
  export { emoji } from './emoji';
16
16
  export { image } from './image';
17
17
  export { mention, toJSON as mentionToJSON } from './mention';
@@ -23,7 +23,36 @@
23
23
  * @name paragraph_with_indentation_node
24
24
  */
25
25
 
26
- var pDOM = ['p', 0];
26
+ export var paragraphStage0 = {
27
+ selectable: false,
28
+ content: 'inline*',
29
+ group: 'block',
30
+ attrs: {
31
+ localId: {
32
+ default: null
33
+ }
34
+ },
35
+ marks: 'strong code em link border strike subsup textColor backgroundColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
36
+ parseDOM: [{
37
+ tag: 'p',
38
+ getAttrs: function getAttrs(domNode) {
39
+ var _paragraph$attrs, _paragraph$attrs$loca;
40
+ var dom = domNode;
41
+ var attrs = {
42
+ localId: dom.getAttribute('data-local-id') || ((_paragraph$attrs = paragraph.attrs) === null || _paragraph$attrs === void 0 ? void 0 : (_paragraph$attrs$loca = _paragraph$attrs.localId) === null || _paragraph$attrs$loca === void 0 ? void 0 : _paragraph$attrs$loca.default)
43
+ };
44
+ return attrs;
45
+ }
46
+ }],
47
+ toDOM: function toDOM(node) {
48
+ var localId = node.attrs.localId;
49
+ var name = 'p';
50
+ var attrs = localId !== undefined && localId !== null ? [{
51
+ 'data-local-id': localId
52
+ }] : [];
53
+ return [name].concat(attrs, [0]);
54
+ }
55
+ };
27
56
  export var paragraph = {
28
57
  selectable: false,
29
58
  content: 'inline*',
@@ -33,6 +62,10 @@ export var paragraph = {
33
62
  tag: 'p'
34
63
  }],
35
64
  toDOM: function toDOM() {
36
- return pDOM;
65
+ return ['p', 0];
37
66
  }
67
+ };
68
+ export var paragraphNodeSpec = function paragraphNodeSpec() {
69
+ var adfStage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'full';
70
+ return adfStage === 'stage0' ? paragraphStage0 : paragraph;
38
71
  };
@@ -1232,6 +1232,15 @@
1232
1232
  "$ref": "#/definitions/inline_node"
1233
1233
  }
1234
1234
  },
1235
+ "attrs": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "localId": {
1239
+ "type": "string"
1240
+ }
1241
+ },
1242
+ "additionalProperties": false
1243
+ },
1235
1244
  "marks": {
1236
1245
  "type": "array"
1237
1246
  }
@@ -1711,6 +1720,9 @@
1711
1720
  "type": "number",
1712
1721
  "minimum": 1,
1713
1722
  "maximum": 6
1723
+ },
1724
+ "localId": {
1725
+ "type": "string"
1714
1726
  }
1715
1727
  },
1716
1728
  "required": [
@@ -1,6 +1,6 @@
1
1
  export { PanelType, AnnotationTypes, alignment, alignmentPositionMap, annotation, blockCard, blockquote, blockquoteWithList, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette,
2
2
  /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
3
- colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette, } from './schema';
3
+ colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, headingNodeSpec, headingStage0, image, indentation, inlineCard, inlineExtension, inlineNodes, layoutColumn, layoutSection, link, linkToJSON, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette, } from './schema';
4
4
  export type { AlignmentAttributes, AlignmentMarkDefinition, AnnotationMarkAttributes, AnnotationMarkDefinition, BlockCardDefinition, BlockContent, BlockQuoteDefinition, BodiedExtensionDefinition, BreakoutMarkAttrs, BreakoutMarkDefinition, BulletListDefinition, CaptionDefinition, CardAttributes, CellAttributes, CodeBlockAttrs, CodeBlockBaseDefinition, CodeBlockDefinition, CodeBlockWithMarksDefinition, CodeDefinition, DatasourceAttributes, DatasourceAttributeProperties, DataConsumerAttributes, DataConsumerDefinition, DataType, DateDefinition, DecisionItemDefinition, DecisionListDefinition, DocNode, EmbedCardDefinition, EmbedCardAttributes, EmDefinition, EmojiAttributes, EmojiDefinition, ExpandDefinition, ExtensionDefinition, ExtensionLayout, ExternalMediaAttributes, FragmentAttributes, FragmentDefinition, HardBreakDefinition, HeadingBaseDefinition, HeadingDefinition, HeadingWithAlignmentDefinition, HeadingWithIndentationDefinition, HeadingWithMarksDefinition, IndentationMarkAttributes, IndentationMarkDefinition, Inline, InlineAtomic, InlineCardDefinition, InlineCode, InlineExtensionDefinition, InlineFormattedText, InlineLinkText, LayoutColumnDefinition, LayoutSectionDefinition, LayoutSectionFullDefinition, LayoutSectionWithSingleColumnDefinition, LinkAttributes, LinkDefinition, ListItemArray, ListItemDefinition, MarksObject, MediaADFAttrs, MediaAttributes, MediaInlineAttributes, MediaInlineDefinition, MediaBaseAttributes, MediaDefinition, MediaDisplayType, MediaGroupDefinition, MediaSingleDefinition, MediaType, MentionAttributes, MentionDefinition, MentionUserType, NestedExpandContent, NestedExpandDefinition, NoMark, NonNestableBlockContent, OrderedListDefinition, PanelAttributes, PanelDefinition, ParagraphBaseDefinition, ParagraphDefinition, ParagraphWithAlignmentDefinition, ParagraphWithIndentationDefinition, ParagraphWithMarksDefinition, PlaceholderDefinition, RuleDefinition, StatusDefinition, StrikeDefinition, StrongDefinition, SubSupAttributes, SubSupDefinition, TableAttributes, TableCellDefinition, TableDefinition, TableDisplayMode, TableHeaderDefinition, TableLayout, TableRowDefinition, TaskItemDefinition, TaskListContent, TaskListDefinition, TextColorAttributes, TextColorDefinition, TextDefinition, UnderlineDefinition, UrlType, AnnotationId, RichMediaAttributes, ExtendedMediaAttributes, RichMediaLayout, AnnotationDataAttributes, CellDomAttrs, BorderMarkAttributes, BorderMarkDefinition, MultiBodiedExtensionDefinition, ExtensionFrameDefinition, BackgroundColorDefinition, } from './schema';
5
5
  export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid, getDarkModeLCHColor, } from './utils';
6
6
  export type { Match, NameToEmoji } from './utils';
@@ -1,4 +1,4 @@
1
- export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension, } from './nodes';
1
+ export { PanelType, blockCard, blockquote, blockquoteWithList, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, headingNodeSpec, headingStage0, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, listItemWithTask, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, extendedPanel, paragraph, paragraphStage0, paragraphNodeSpec, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline, extensionFrame, multiBodiedExtension, } from './nodes';
2
2
  export type { BlockCardDefinition, BlockContent, BlockQuoteDefinition, BodiedExtensionDefinition, BulletListDefinition, CaptionDefinition, CardAttributes, CellAttributes, CodeBlockAttrs, CodeBlockBaseDefinition, CodeBlockDefinition, CodeBlockWithMarksDefinition, DatasourceAttributes, DatasourceAttributeProperties, DataType, DateDefinition, DecisionItemDefinition, DecisionListDefinition, DocNode, EmbedCardDefinition, EmbedCardAttributes, EmojiAttributes, EmojiDefinition, ExpandDefinition, ExtensionDefinition, ExtensionLayout, ExternalMediaAttributes, HardBreakDefinition, HeadingBaseDefinition, HeadingDefinition, HeadingWithAlignmentDefinition, HeadingWithIndentationDefinition, HeadingWithMarksDefinition, Inline, InlineAtomic, InlineCardDefinition, InlineCode, InlineExtensionDefinition, InlineFormattedText, InlineLinkText, LayoutColumnDefinition, LayoutSectionDefinition, LayoutSectionBaseDefinition, LayoutSectionFullDefinition, LayoutSectionWithSingleColumnDefinition, ListItemArray, ListItemDefinition, MarksObject, MediaADFAttrs, MediaAttributes, MediaInlineAttributes, MediaInlineDefinition, MediaBaseAttributes, MediaDefinition, MediaDisplayType, MediaGroupDefinition, MediaSingleDefinition, MediaType, MentionAttributes, MentionDefinition, MentionUserType, NestedExpandContent, NestedExpandDefinition, NoMark, NonNestableBlockContent, OrderedListDefinition, PanelAttributes, PanelDefinition, ParagraphBaseDefinition, ParagraphDefinition, ParagraphWithAlignmentDefinition, ParagraphWithIndentationDefinition, ParagraphWithMarksDefinition, PlaceholderDefinition, RuleDefinition, StatusDefinition, TableAttributes, TableCellDefinition, TableDefinition, TableDisplayMode, TableHeaderDefinition, TableLayout, TableRowDefinition, TaskItemDefinition, TaskListContent, TaskListDefinition, TextDefinition, UrlType, RichMediaAttributes, ExtendedMediaAttributes, RichMediaLayout, CellDomAttrs, ExtensionFrameDefinition, MultiBodiedExtensionDefinition, } from './nodes';
3
3
  export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette,
4
4
  /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
@@ -18,6 +18,10 @@ export interface HeadingBaseDefinition {
18
18
  * @maximum 6
19
19
  */
20
20
  level: number;
21
+ /**
22
+ * @stage 0
23
+ */
24
+ localId?: string;
21
25
  };
22
26
  }
23
27
  /**
@@ -33,4 +37,6 @@ export type HeadingWithAlignmentDefinition = HeadingBaseDefinition & MarksObject
33
37
  */
34
38
  export type HeadingWithIndentationDefinition = HeadingBaseDefinition & MarksObject<IndentationMarkDefinition>;
35
39
  export type HeadingWithMarksDefinition = HeadingWithAlignmentDefinition | HeadingWithIndentationDefinition;
40
+ export declare const headingStage0: NodeSpec;
36
41
  export declare const heading: NodeSpec;
42
+ export declare const headingNodeSpec: (adfStage?: string) => NodeSpec;
@@ -14,13 +14,13 @@ export { codeBlock, toJSON as codeBlockToJSON } from './code-block';
14
14
  export type { CodeBlockDefinition, CodeBlockAttrs, CodeBlockBaseDefinition, CodeBlockWithMarksDefinition, } from './code-block';
15
15
  export { hardBreak } from './hard-break';
16
16
  export type { HardBreakDefinition } from './hard-break';
17
- export { heading } from './heading';
17
+ export { headingNodeSpec, heading, headingStage0 } from './heading';
18
18
  export type { HeadingDefinition, HeadingBaseDefinition, HeadingWithAlignmentDefinition, HeadingWithIndentationDefinition, HeadingWithMarksDefinition, } from './heading';
19
19
  export { rule } from './rule';
20
20
  export type { RuleDefinition } from './rule';
21
21
  export { orderedList, orderedListSelector, orderedListWithOrder, } from './ordered-list';
22
22
  export type { OrderedListDefinition } from './types/list';
23
- export { paragraph } from './paragraph';
23
+ export { paragraph, paragraphStage0, paragraphNodeSpec } from './paragraph';
24
24
  export type { ParagraphDefinition, ParagraphBaseDefinition, ParagraphWithAlignmentDefinition, ParagraphWithIndentationDefinition, ParagraphWithMarksDefinition, } from './paragraph';
25
25
  export { emoji } from './emoji';
26
26
  export type { EmojiAttributes, EmojiDefinition } from './emoji';
@@ -2,6 +2,12 @@ import { NodeSpec } from '@atlaskit/editor-prosemirror/model';
2
2
  import { AlignmentMarkDefinition, IndentationMarkDefinition } from '../marks';
3
3
  import { MarksObject, NoMark } from './types/mark';
4
4
  import { Inline } from './types/inline-content';
5
+ export interface ParagraphAttributes {
6
+ /**
7
+ * @stage 0
8
+ */
9
+ localId?: string;
10
+ }
5
11
  /**
6
12
  * @name paragraph_node
7
13
  */
@@ -11,6 +17,10 @@ export interface ParagraphBaseDefinition {
11
17
  * @allowUnsupportedInline true
12
18
  */
13
19
  content?: Array<Inline>;
20
+ /**
21
+ * @stage 0
22
+ */
23
+ attrs?: ParagraphAttributes;
14
24
  marks?: Array<any>;
15
25
  }
16
26
  /**
@@ -34,4 +44,6 @@ export type ParagraphWithAlignmentDefinition = ParagraphBaseDefinition & MarksOb
34
44
  */
35
45
  export type ParagraphWithIndentationDefinition = ParagraphBaseDefinition & MarksObject<IndentationMarkDefinition>;
36
46
  export type ParagraphWithMarksDefinition = ParagraphWithAlignmentDefinition | ParagraphWithIndentationDefinition;
47
+ export declare const paragraphStage0: NodeSpec;
37
48
  export declare const paragraph: NodeSpec;
49
+ export declare const paragraphNodeSpec: (adfStage?: string) => NodeSpec;
@@ -1232,6 +1232,15 @@
1232
1232
  "$ref": "#/definitions/inline_node"
1233
1233
  }
1234
1234
  },
1235
+ "attrs": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "localId": {
1239
+ "type": "string"
1240
+ }
1241
+ },
1242
+ "additionalProperties": false
1243
+ },
1235
1244
  "marks": {
1236
1245
  "type": "array"
1237
1246
  }
@@ -1711,6 +1720,9 @@
1711
1720
  "type": "number",
1712
1721
  "minimum": 1,
1713
1722
  "maximum": 6
1723
+ },
1724
+ "localId": {
1725
+ "type": "string"
1714
1726
  }
1715
1727
  },
1716
1728
  "required": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-schema",
3
- "version": "36.1.0",
3
+ "version": "36.3.0",
4
4
  "description": "Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -41,7 +41,7 @@
41
41
  "memoize-one": "^6.0.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@atlassian/adf-schema-json": "^1.12.0",
44
+ "@atlassian/adf-schema-json": "^1.14.0",
45
45
  "@babel/cli": "^7.22.9",
46
46
  "@babel/core": "^7.22.9",
47
47
  "@babel/plugin-proposal-class-properties": "^7.18.6",