@atlaskit/adf-schema 35.2.0 → 35.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,11 @@
1
1
  # @atlaskit/adf-schema
2
2
 
3
+ ## 35.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 529022b: ED-21611: Adding node-nesting rules for task inside list, and media, codeblock, rule, action and decision inside panel.
8
+
3
9
  ## 35.2.0
4
10
 
5
11
  ### Minor Changes
package/dist/cjs/index.js CHANGED
@@ -531,6 +531,12 @@ Object.defineProperty(exports, "expandToJSON", {
531
531
  return _schema.expandToJSON;
532
532
  }
533
533
  });
534
+ Object.defineProperty(exports, "extendedPanel", {
535
+ enumerable: true,
536
+ get: function get() {
537
+ return _schema.extendedPanel;
538
+ }
539
+ });
534
540
  Object.defineProperty(exports, "extension", {
535
541
  enumerable: true,
536
542
  get: function get() {
@@ -705,6 +711,12 @@ Object.defineProperty(exports, "listItem", {
705
711
  return _schema.listItem;
706
712
  }
707
713
  });
714
+ Object.defineProperty(exports, "listItemWithTask", {
715
+ enumerable: true,
716
+ get: function get() {
717
+ return _schema.listItemWithTask;
718
+ }
719
+ });
708
720
  Object.defineProperty(exports, "media", {
709
721
  enumerable: true,
710
722
  get: function get() {
@@ -81,7 +81,7 @@ var nodesInOrder = [{
81
81
  spec: _nodes.orderedListWithOrder
82
82
  }, {
83
83
  name: 'listItem',
84
- spec: _nodes.listItem
84
+ spec: _nodes.listItemWithTask
85
85
  }, {
86
86
  name: 'heading',
87
87
  spec: _nodes.heading
@@ -93,7 +93,7 @@ var nodesInOrder = [{
93
93
  spec: _nodes.codeBlock
94
94
  }, {
95
95
  name: 'panel',
96
- spec: (0, _nodes.panel)(true)
96
+ spec: (0, _nodes.extendedPanel)(true)
97
97
  }, {
98
98
  name: 'rule',
99
99
  spec: _nodes.rule
@@ -243,6 +243,12 @@ Object.defineProperty(exports, "expandToJSON", {
243
243
  return _nodes.expandToJSON;
244
244
  }
245
245
  });
246
+ Object.defineProperty(exports, "extendedPanel", {
247
+ enumerable: true,
248
+ get: function get() {
249
+ return _nodes.extendedPanel;
250
+ }
251
+ });
246
252
  Object.defineProperty(exports, "extension", {
247
253
  enumerable: true,
248
254
  get: function get() {
@@ -357,6 +363,12 @@ Object.defineProperty(exports, "listItem", {
357
363
  return _nodes.listItem;
358
364
  }
359
365
  });
366
+ Object.defineProperty(exports, "listItemWithTask", {
367
+ enumerable: true,
368
+ get: function get() {
369
+ return _nodes.listItemWithTask;
370
+ }
371
+ });
360
372
  Object.defineProperty(exports, "media", {
361
373
  enumerable: true,
362
374
  get: function get() {
@@ -142,6 +142,12 @@ Object.defineProperty(exports, "expandToJSON", {
142
142
  return _expand.toJSON;
143
143
  }
144
144
  });
145
+ Object.defineProperty(exports, "extendedPanel", {
146
+ enumerable: true,
147
+ get: function get() {
148
+ return _panel.extendedPanel;
149
+ }
150
+ });
145
151
  Object.defineProperty(exports, "extension", {
146
152
  enumerable: true,
147
153
  get: function get() {
@@ -220,6 +226,12 @@ Object.defineProperty(exports, "listItem", {
220
226
  return _listItem.listItem;
221
227
  }
222
228
  });
229
+ Object.defineProperty(exports, "listItemWithTask", {
230
+ enumerable: true,
231
+ get: function get() {
232
+ return _listItem.listItemWithTask;
233
+ }
234
+ });
223
235
  Object.defineProperty(exports, "media", {
224
236
  enumerable: true,
225
237
  get: function get() {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.listItem = void 0;
6
+ exports.listItemWithTask = exports.listItem = void 0;
7
7
  var listItem = {
8
8
  content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | mediaSingle | codeBlock | unsupportedBlock)*',
9
9
  marks: 'unsupportedMark unsupportedNodeAttribute',
@@ -16,4 +16,22 @@ var listItem = {
16
16
  return ['li', 0];
17
17
  }
18
18
  };
19
- exports.listItem = listItem;
19
+
20
+ /**
21
+ * @name list_item_with_task
22
+ * @description this node allows task-list to be nested inside list-item
23
+ */
24
+ exports.listItem = listItem;
25
+ var listItemWithTask = {
26
+ content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | taskList | mediaSingle | codeBlock | unsupportedBlock)*',
27
+ marks: 'unsupportedMark unsupportedNodeAttribute',
28
+ defining: true,
29
+ selectable: false,
30
+ parseDOM: [{
31
+ tag: 'li'
32
+ }],
33
+ toDOM: function toDOM() {
34
+ return ['li', 0];
35
+ }
36
+ };
37
+ exports.listItemWithTask = listItemWithTask;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.panel = exports.PanelType = void 0;
7
+ exports.panel = exports.extendedPanel = exports.PanelType = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  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; }
10
10
  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; }
@@ -91,4 +91,35 @@ var panel = function panel(allowCustomPanel) {
91
91
  };
92
92
  return panelNodeSpec;
93
93
  };
94
- exports.panel = panel;
94
+
95
+ /**
96
+ * @name extended_panel
97
+ * @description it allows more content to be nested as compared to panel node.
98
+ * Specifically, it allows Media, action, code-block, rule and decision nodes in
99
+ * addition to content allowed inside panel
100
+ */
101
+ exports.panel = panel;
102
+ var extendedPanel = function extendedPanel(allowCustomPanel) {
103
+ var panelNodeSpec = {
104
+ group: 'block',
105
+ content: '(paragraph | heading | bulletList | orderedList | blockCard | mediaGroup | mediaSingle | codeBlock | taskList | rule | decisionList | unsupportedBlock)+',
106
+ marks: 'unsupportedMark unsupportedNodeAttribute',
107
+ attrs: getDefaultAttrs(),
108
+ selectable: true,
109
+ parseDOM: [{
110
+ tag: 'div[data-panel-type]',
111
+ getAttrs: function getAttrs(dom) {
112
+ return getParseDOMAttrs(allowCustomPanel, dom);
113
+ }
114
+ }],
115
+ toDOM: function toDOM(node) {
116
+ var attrs = getDomAttrs(node.attrs);
117
+ var contentAttrs = {
118
+ 'data-panel-content': 'true'
119
+ };
120
+ return ['div', attrs, ['div', contentAttrs, 0]];
121
+ }
122
+ };
123
+ return panelNodeSpec;
124
+ };
125
+ exports.extendedPanel = extendedPanel;
@@ -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, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, 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 } 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, 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, 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 } 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 } from './marks';
4
- import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedListWithOrder, listItem, heading, blockquoteWithList, codeBlock, panel, 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, 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';
5
5
  function addItems(builtInItems, config, customSpecs = {}) {
6
6
  if (!config) {
7
7
  return {};
@@ -66,7 +66,7 @@ const nodesInOrder = [{
66
66
  spec: orderedListWithOrder
67
67
  }, {
68
68
  name: 'listItem',
69
- spec: listItem
69
+ spec: listItemWithTask
70
70
  }, {
71
71
  name: 'heading',
72
72
  spec: heading
@@ -78,7 +78,7 @@ const nodesInOrder = [{
78
78
  spec: codeBlock
79
79
  }, {
80
80
  name: 'panel',
81
- spec: panel(true)
81
+ spec: extendedPanel(true)
82
82
  }, {
83
83
  name: 'rule',
84
84
  spec: rule
@@ -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, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, 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, 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, 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 } from './marks';
4
4
  export { unsupportedNodeTypesForMediaCards } from './unsupported';
@@ -15,8 +15,8 @@ export { paragraph } from './paragraph';
15
15
  export { emoji } from './emoji';
16
16
  export { image } from './image';
17
17
  export { mention, toJSON as mentionToJSON } from './mention';
18
- export { listItem } from './list-item';
19
- export { panel, PanelType } from './panel';
18
+ export { listItem, listItemWithTask } from './list-item';
19
+ export { panel, extendedPanel, PanelType } from './panel';
20
20
  export { text } from './text';
21
21
  export { default as unknownBlock } from './unknown-block';
22
22
  export { caption } from './caption';
@@ -9,4 +9,21 @@ export const listItem = {
9
9
  toDOM() {
10
10
  return ['li', 0];
11
11
  }
12
+ };
13
+
14
+ /**
15
+ * @name list_item_with_task
16
+ * @description this node allows task-list to be nested inside list-item
17
+ */
18
+ export const listItemWithTask = {
19
+ content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | taskList | mediaSingle | codeBlock | unsupportedBlock)*',
20
+ marks: 'unsupportedMark unsupportedNodeAttribute',
21
+ defining: true,
22
+ selectable: false,
23
+ parseDOM: [{
24
+ tag: 'li'
25
+ }],
26
+ toDOM() {
27
+ return ['li', 0];
28
+ }
12
29
  };
@@ -80,4 +80,32 @@ export const panel = allowCustomPanel => {
80
80
  }
81
81
  };
82
82
  return panelNodeSpec;
83
+ };
84
+
85
+ /**
86
+ * @name extended_panel
87
+ * @description it allows more content to be nested as compared to panel node.
88
+ * Specifically, it allows Media, action, code-block, rule and decision nodes in
89
+ * addition to content allowed inside panel
90
+ */
91
+ export const extendedPanel = allowCustomPanel => {
92
+ const panelNodeSpec = {
93
+ group: 'block',
94
+ content: '(paragraph | heading | bulletList | orderedList | blockCard | mediaGroup | mediaSingle | codeBlock | taskList | rule | decisionList | unsupportedBlock)+',
95
+ marks: 'unsupportedMark unsupportedNodeAttribute',
96
+ attrs: getDefaultAttrs(),
97
+ selectable: true,
98
+ parseDOM: [{
99
+ tag: 'div[data-panel-type]',
100
+ getAttrs: dom => getParseDOMAttrs(allowCustomPanel, dom)
101
+ }],
102
+ toDOM(node) {
103
+ const attrs = getDomAttrs(node.attrs);
104
+ const contentAttrs = {
105
+ 'data-panel-content': 'true'
106
+ };
107
+ return ['div', attrs, ['div', contentAttrs, 0]];
108
+ }
109
+ };
110
+ return panelNodeSpec;
83
111
  };
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, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, 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 } 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, 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, 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 } 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 } from './marks';
7
- import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedListWithOrder, listItem, heading, blockquoteWithList, codeBlock, panel, 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, 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';
8
8
  function addItems(builtInItems, config) {
9
9
  var customSpecs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
10
10
  if (!config) {
@@ -71,7 +71,7 @@ var nodesInOrder = [{
71
71
  spec: orderedListWithOrder
72
72
  }, {
73
73
  name: 'listItem',
74
- spec: listItem
74
+ spec: listItemWithTask
75
75
  }, {
76
76
  name: 'heading',
77
77
  spec: heading
@@ -83,7 +83,7 @@ var nodesInOrder = [{
83
83
  spec: codeBlock
84
84
  }, {
85
85
  name: 'panel',
86
- spec: panel(true)
86
+ spec: extendedPanel(true)
87
87
  }, {
88
88
  name: 'rule',
89
89
  spec: rule
@@ -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, media, mediaGroup, mediaSingle, mediaSingleSpec, mediaInline, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, orderedListWithOrder, panel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, 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, 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, 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 } from './marks';
4
4
  export { unsupportedNodeTypesForMediaCards } from './unsupported';
@@ -15,8 +15,8 @@ export { paragraph } from './paragraph';
15
15
  export { emoji } from './emoji';
16
16
  export { image } from './image';
17
17
  export { mention, toJSON as mentionToJSON } from './mention';
18
- export { listItem } from './list-item';
19
- export { panel, PanelType } from './panel';
18
+ export { listItem, listItemWithTask } from './list-item';
19
+ export { panel, extendedPanel, PanelType } from './panel';
20
20
  export { text } from './text';
21
21
  export { default as unknownBlock } from './unknown-block';
22
22
  export { caption } from './caption';
@@ -9,4 +9,21 @@ export var listItem = {
9
9
  toDOM: function toDOM() {
10
10
  return ['li', 0];
11
11
  }
12
+ };
13
+
14
+ /**
15
+ * @name list_item_with_task
16
+ * @description this node allows task-list to be nested inside list-item
17
+ */
18
+ export var listItemWithTask = {
19
+ content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | taskList | mediaSingle | codeBlock | unsupportedBlock)*',
20
+ marks: 'unsupportedMark unsupportedNodeAttribute',
21
+ defining: true,
22
+ selectable: false,
23
+ parseDOM: [{
24
+ tag: 'li'
25
+ }],
26
+ toDOM: function toDOM() {
27
+ return ['li', 0];
28
+ }
12
29
  };
@@ -84,4 +84,34 @@ export var panel = function panel(allowCustomPanel) {
84
84
  }
85
85
  };
86
86
  return panelNodeSpec;
87
+ };
88
+
89
+ /**
90
+ * @name extended_panel
91
+ * @description it allows more content to be nested as compared to panel node.
92
+ * Specifically, it allows Media, action, code-block, rule and decision nodes in
93
+ * addition to content allowed inside panel
94
+ */
95
+ export var extendedPanel = function extendedPanel(allowCustomPanel) {
96
+ var panelNodeSpec = {
97
+ group: 'block',
98
+ content: '(paragraph | heading | bulletList | orderedList | blockCard | mediaGroup | mediaSingle | codeBlock | taskList | rule | decisionList | unsupportedBlock)+',
99
+ marks: 'unsupportedMark unsupportedNodeAttribute',
100
+ attrs: getDefaultAttrs(),
101
+ selectable: true,
102
+ parseDOM: [{
103
+ tag: 'div[data-panel-type]',
104
+ getAttrs: function getAttrs(dom) {
105
+ return getParseDOMAttrs(allowCustomPanel, dom);
106
+ }
107
+ }],
108
+ toDOM: function toDOM(node) {
109
+ var attrs = getDomAttrs(node.attrs);
110
+ var contentAttrs = {
111
+ 'data-panel-content': 'true'
112
+ };
113
+ return ['div', attrs, ['div', contentAttrs, 0]];
114
+ }
115
+ };
116
+ return panelNodeSpec;
87
117
  };