@atlaskit/adf-schema 52.9.5 → 52.11.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 (53) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/index.js +30 -0
  3. package/dist/cjs/next-schema/generated/nodeTypes.js +126 -1
  4. package/dist/cjs/next-schema/nodes/layoutColumn.js +29 -14
  5. package/dist/cjs/next-schema/nodes/tableNodes.js +63 -62
  6. package/dist/cjs/schema/default-schema.js +3 -2
  7. package/dist/cjs/schema/index.js +30 -0
  8. package/dist/cjs/schema/nodes/index.js +30 -0
  9. package/dist/cjs/schema/nodes/layout-column.js +87 -54
  10. package/dist/cjs/schema/nodes/tableNodes.js +69 -1
  11. package/dist/cjs/schema/nodes/types/valign.js +20 -0
  12. package/dist/cjs/validator-schema/generated/validatorSpec.js +15 -0
  13. package/dist/es2019/index.js +1 -1
  14. package/dist/es2019/next-schema/generated/nodeTypes.js +125 -0
  15. package/dist/es2019/next-schema/nodes/layoutColumn.js +25 -13
  16. package/dist/es2019/next-schema/nodes/tableNodes.js +62 -60
  17. package/dist/es2019/schema/default-schema.js +4 -3
  18. package/dist/es2019/schema/index.js +1 -1
  19. package/dist/es2019/schema/nodes/index.js +2 -2
  20. package/dist/es2019/schema/nodes/layout-column.js +79 -58
  21. package/dist/es2019/schema/nodes/tableNodes.js +61 -1
  22. package/dist/es2019/schema/nodes/types/valign.js +14 -0
  23. package/dist/es2019/validator-schema/generated/validatorSpec.js +15 -0
  24. package/dist/esm/index.js +1 -1
  25. package/dist/esm/next-schema/generated/nodeTypes.js +125 -0
  26. package/dist/esm/next-schema/nodes/layoutColumn.js +28 -14
  27. package/dist/esm/next-schema/nodes/tableNodes.js +63 -62
  28. package/dist/esm/schema/default-schema.js +4 -3
  29. package/dist/esm/schema/index.js +1 -1
  30. package/dist/esm/schema/nodes/index.js +2 -2
  31. package/dist/esm/schema/nodes/layout-column.js +85 -54
  32. package/dist/esm/schema/nodes/tableNodes.js +69 -1
  33. package/dist/esm/schema/nodes/types/valign.js +14 -0
  34. package/dist/esm/validator-schema/generated/validatorSpec.js +15 -0
  35. package/dist/json-schema/v1/stage-0.json +9 -0
  36. package/dist/types/index.d.ts +1 -1
  37. package/dist/types/next-schema/generated/nodeTypes.d.ts +77 -5
  38. package/dist/types/schema/index.d.ts +2 -2
  39. package/dist/types/schema/nodes/index.d.ts +6 -6
  40. package/dist/types/schema/nodes/layout-column.d.ts +7 -0
  41. package/dist/types/schema/nodes/tableNodes.d.ts +10 -0
  42. package/dist/types/schema/nodes/types/valign.d.ts +6 -0
  43. package/dist/types/validator-schema/generated/validatorSpec.d.ts +15 -0
  44. package/dist/types-ts4.5/index.d.ts +1 -1
  45. package/dist/types-ts4.5/next-schema/generated/nodeTypes.d.ts +77 -5
  46. package/dist/types-ts4.5/schema/index.d.ts +2 -2
  47. package/dist/types-ts4.5/schema/nodes/index.d.ts +6 -6
  48. package/dist/types-ts4.5/schema/nodes/layout-column.d.ts +7 -0
  49. package/dist/types-ts4.5/schema/nodes/tableNodes.d.ts +10 -0
  50. package/dist/types-ts4.5/schema/nodes/types/valign.d.ts +6 -0
  51. package/dist/types-ts4.5/validator-schema/generated/validatorSpec.d.ts +15 -0
  52. package/json-schema/v1/stage-0.json +9 -0
  53. package/package.json +3 -3
@@ -1,12 +1,71 @@
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.layoutColumnWithLocalId = exports.layoutColumn = void 0;
7
+ exports.layoutColumnWithLocalId = exports.layoutColumnStage0 = exports.layoutColumn = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
8
10
  var _uuid = require("../../utils/uuid");
9
11
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
12
+ var _valign = require("./types/valign");
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; }
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; }
15
+ var setColumnAttributes = function setColumnAttributes(node) {
16
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
17
+ _ref$withLocalId = _ref.withLocalId,
18
+ withLocalId = _ref$withLocalId === void 0 ? false : _ref$withLocalId,
19
+ _ref$withValign = _ref.withValign,
20
+ withValign = _ref$withValign === void 0 ? false : _ref$withValign;
21
+ var attrs = {
22
+ 'data-layout-column': 'true'
23
+ };
24
+ var _node$attrs = node.attrs,
25
+ width = _node$attrs.width,
26
+ valign = _node$attrs.valign,
27
+ localId = _node$attrs.localId;
28
+ if (width) {
29
+ var baseStyle = "flex-basis: ".concat(width, "%");
30
+ var columnWidthVar = (0, _experiments.editorExperiment)('platform_editor_layout_column_resize_handle', true) ? "; --column-width: ".concat(width, "%") : '';
31
+ attrs['style'] = baseStyle + columnWidthVar;
32
+ attrs['data-column-width'] = "".concat(width);
33
+ }
34
+ if (withValign && valign) {
35
+ attrs['data-valign'] = valign;
36
+ }
37
+ if (withLocalId && localId) {
38
+ attrs['data-local-id'] = localId;
39
+ }
40
+ return attrs;
41
+ };
42
+ var getColumnAttrs = function getColumnAttrs() {
43
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
44
+ _ref2$withLocalId = _ref2.withLocalId,
45
+ withLocalId = _ref2$withLocalId === void 0 ? false : _ref2$withLocalId,
46
+ _ref2$withValign = _ref2.withValign,
47
+ withValign = _ref2$withValign === void 0 ? false : _ref2$withValign;
48
+ return function (domNode) {
49
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
50
+ var dom = domNode;
51
+ var base = _objectSpread({
52
+ width: Number(dom.getAttribute('data-column-width')) || undefined
53
+ }, withLocalId && {
54
+ localId: _uuid.uuid.generate()
55
+ });
56
+ var valign = (0, _valign.parseValign)(dom.getAttribute('data-valign'));
57
+ return withValign && valign ? _objectSpread(_objectSpread({}, base), {}, {
58
+ valign: valign
59
+ }) : base;
60
+ };
61
+ };
62
+
63
+ // We need to apply an attribute to the innermost child to help ProseMirror
64
+ // identify its boundaries better.
65
+ var LAYOUT_CONTENT_ATTRS = {
66
+ 'data-layout-content': 'true'
67
+ };
68
+
10
69
  /**
11
70
  * @name layoutColumn_node
12
71
  */
@@ -18,32 +77,29 @@ var layoutColumn = exports.layoutColumn = (0, _nodeTypes.layoutColumn)({
18
77
  skip: true
19
78
  }, {
20
79
  tag: 'div[data-layout-column]',
21
- getAttrs: function getAttrs(domNode) {
22
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
23
- var dom = domNode;
24
- return {
25
- width: Number(dom.getAttribute('data-column-width')) || undefined
26
- };
27
- }
80
+ getAttrs: getColumnAttrs()
28
81
  }],
29
82
  toDOM: function toDOM(node) {
30
- var attrs = {
31
- 'data-layout-column': 'true'
32
- };
33
- var width = node.attrs.width;
34
- if (width) {
35
- var baseStyle = "flex-basis: ".concat(width, "%");
36
- var columnWidthVar = (0, _experiments.editorExperiment)('platform_editor_layout_column_resize_handle', true) ? "; --column-width: ".concat(width, "%") : '';
37
- attrs['style'] = baseStyle + columnWidthVar;
38
- attrs['data-column-width'] = "".concat(width);
39
- }
40
-
41
- // We need to apply a attribute to the inner most child to help
42
- // ProseMirror identify its boundaries better.
43
- var contentAttrs = {
44
- 'data-layout-content': 'true'
45
- };
46
- return ['div', attrs, ['div', contentAttrs, 0]];
83
+ return ['div', setColumnAttributes(node), ['div', LAYOUT_CONTENT_ATTRS, 0]];
84
+ }
85
+ });
86
+ var layoutColumnStage0 = exports.layoutColumnStage0 = (0, _nodeTypes.layoutColumnStage0)({
87
+ parseDOM: [{
88
+ context: 'layoutColumn//',
89
+ tag: 'div[data-layout-column]',
90
+ skip: true
91
+ }, {
92
+ tag: 'div[data-layout-column]',
93
+ getAttrs: getColumnAttrs({
94
+ withLocalId: true,
95
+ withValign: true
96
+ })
97
+ }],
98
+ toDOM: function toDOM(node) {
99
+ return ['div', setColumnAttributes(node, {
100
+ withLocalId: true,
101
+ withValign: true
102
+ }), ['div', LAYOUT_CONTENT_ATTRS, 0]];
47
103
  }
48
104
  });
49
105
  var layoutColumnWithLocalId = exports.layoutColumnWithLocalId = (0, _nodeTypes.layoutColumn)({
@@ -53,36 +109,13 @@ var layoutColumnWithLocalId = exports.layoutColumnWithLocalId = (0, _nodeTypes.l
53
109
  skip: true
54
110
  }, {
55
111
  tag: 'div[data-layout-column]',
56
- getAttrs: function getAttrs(domNode) {
57
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
58
- var dom = domNode;
59
- return {
60
- width: Number(dom.getAttribute('data-column-width')) || undefined,
61
- localId: _uuid.uuid.generate()
62
- };
63
- }
112
+ getAttrs: getColumnAttrs({
113
+ withLocalId: true
114
+ })
64
115
  }],
65
116
  toDOM: function toDOM(node) {
66
- var _node$attrs;
67
- var attrs = {
68
- 'data-layout-column': 'true'
69
- };
70
- if ((node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) !== undefined) {
71
- attrs['data-local-id'] = node.attrs.localId;
72
- }
73
- var width = node.attrs.width;
74
- if (width) {
75
- var baseStyle = "flex-basis: ".concat(width, "%");
76
- var columnWidthVar = (0, _experiments.editorExperiment)('platform_editor_layout_column_resize_handle', true) ? "; --column-width: ".concat(width, "%") : '';
77
- attrs['style'] = baseStyle + columnWidthVar;
78
- attrs['data-column-width'] = "".concat(width);
79
- }
80
-
81
- // We need to apply a attribute to the inner most child to help
82
- // ProseMirror identify its boundaries better.
83
- var contentAttrs = {
84
- 'data-layout-content': 'true'
85
- };
86
- return ['div', attrs, ['div', contentAttrs, 0]];
117
+ return ['div', setColumnAttributes(node, {
118
+ withLocalId: true
119
+ }), ['div', LAYOUT_CONTENT_ATTRS, 0]];
87
120
  }
88
121
  });
@@ -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.toJSONTableHeader = exports.toJSONTableCell = exports.tableWithNestedTable = exports.tableWithCustomWidth = exports.tableToJSON = exports.tableStage0 = exports.tableRowWithNestedTableWithLocalId = exports.tableRowWithNestedTable = exports.tableRowWithLocalId = exports.tableRow = exports.tablePrefixSelector = exports.tableHeaderWithNestedTableWithLocalId = exports.tableHeaderWithNestedTable = exports.tableHeaderWithLocalId = exports.tableHeaderSelector = exports.tableHeader = exports.tableCellWithNestedTableWithLocalId = exports.tableCellWithNestedTable = exports.tableCellWithLocalId = exports.tableCellSelector = exports.tableCellContentWrapperSelector = exports.tableCellContentDomSelector = exports.tableCell = exports.tableBackgroundColorPalette = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.table = exports.setGlobalTheme = exports.getCellDomAttrs = exports.getCellAttrs = void 0;
7
+ exports.toJSONTableHeader = exports.toJSONTableCell = exports.tableWithNestedTable = exports.tableWithCustomWidth = exports.tableToJSON = exports.tableStage0 = exports.tableRowWithNestedTableWithLocalId = exports.tableRowWithNestedTable = exports.tableRowWithLocalId = exports.tableRow = exports.tablePrefixSelector = exports.tableHeaderWithNestedTableWithLocalId = exports.tableHeaderWithNestedTableStage0 = exports.tableHeaderWithNestedTable = exports.tableHeaderWithLocalId = exports.tableHeaderStage0 = exports.tableHeaderSelector = exports.tableHeader = exports.tableCellWithNestedTableWithLocalId = exports.tableCellWithNestedTableStage0 = exports.tableCellWithNestedTable = exports.tableCellWithLocalId = exports.tableCellStage0 = exports.tableCellSelector = exports.tableCellContentWrapperSelector = exports.tableCellContentDomSelector = exports.tableCell = exports.tableBackgroundColorPalette = exports.tableBackgroundColorNames = exports.tableBackgroundBorderColor = exports.table = exports.setGlobalTheme = exports.getCellDomAttrs = exports.getCellAttrs = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _editorPalette = require("../../utils/editor-palette");
@@ -12,6 +12,7 @@ var _colors = require("../../utils/colors");
12
12
  var _uuid = require("../../utils/uuid");
13
13
  var _lchColorInversion = require("../../utils/lch-color-inversion");
14
14
  var _nodeTypes = require("../../next-schema/generated/nodeTypes");
15
+ var _valign = require("./types/valign");
15
16
  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; }
16
17
  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; }
17
18
  var tablePrefixSelector = exports.tablePrefixSelector = 'pm-table';
@@ -191,6 +192,25 @@ var getCellDomAttrs = exports.getCellDomAttrs = function getCellDomAttrs(node) {
191
192
  }
192
193
  return attrs;
193
194
  };
195
+ var getCellAttrsWithValign = function getCellAttrsWithValign(dom, defaultValues) {
196
+ var base = getCellAttrs(dom, defaultValues);
197
+ var valign = (0, _valign.parseValign)(dom.getAttribute('data-valign'));
198
+ return valign ? _objectSpread(_objectSpread({}, base), {}, {
199
+ valign: valign
200
+ }) : base;
201
+ };
202
+
203
+ /**
204
+ * @stage 0
205
+ * Valign-aware variant of getCellDomAttrs — emits the `valign` HTML attribute when set to a non-default value.
206
+ */
207
+ var getCellDomAttrsWithValign = function getCellDomAttrsWithValign(node) {
208
+ var attrs = getCellDomAttrs(node);
209
+ if (node.attrs.valign) {
210
+ attrs['data-valign'] = node.attrs.valign;
211
+ }
212
+ return attrs;
213
+ };
194
214
  var tableBackgroundColorPalette = exports.tableBackgroundColorPalette = new Map();
195
215
  var tableBackgroundBorderColor = exports.tableBackgroundBorderColor = (0, _colors.hexToRgba)(_colors.N800, 0.12) || _colors.N0;
196
216
  var tableBackgroundColorNames = exports.tableBackgroundColorNames = new Map();
@@ -310,6 +330,10 @@ var cellAttrs = {
310
330
  localId: {
311
331
  default: null,
312
332
  optional: true
333
+ },
334
+ valign: {
335
+ default: null,
336
+ optional: true
313
337
  }
314
338
  };
315
339
  var tableCellNodeSpecOptions = {
@@ -365,6 +389,50 @@ var tableWithNestedTable = exports.tableWithNestedTable = (0, _nodeTypes.tableWi
365
389
  var tableRowWithNestedTable = exports.tableRowWithNestedTable = (0, _nodeTypes.tableRowWithNestedTable)(tableRowNodeSpecOptions);
366
390
  var tableCellWithNestedTable = exports.tableCellWithNestedTable = (0, _nodeTypes.tableCellWithNestedTable)(tableCellNodeSpecOptions);
367
391
  var tableHeaderWithNestedTable = exports.tableHeaderWithNestedTable = (0, _nodeTypes.tableHeaderWithNestedTable)(tableHeaderNodeSpecOptions);
392
+
393
+ // stage-0 table cell nodes with vertical alignment and localId support
394
+ var tableCellNodeStage0SpecOptions = {
395
+ parseDOM: [
396
+ // Ignore number cell copied from renderer
397
+ {
398
+ tag: '.ak-renderer-table-number-column',
399
+ ignore: true
400
+ }, {
401
+ tag: 'td',
402
+ getAttrs: function getAttrs(dom) {
403
+ return getCellAttrsWithValign(
404
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
405
+ dom, {
406
+ localId: _uuid.uuid.generate()
407
+ });
408
+ }
409
+ }],
410
+ toDOM: function toDOM(node) {
411
+ return ['td', getCellDomAttrsWithValign(node), 0];
412
+ }
413
+ };
414
+ var tableHeaderNodeStage0SpecOptions = {
415
+ parseDOM: [{
416
+ tag: 'th',
417
+ getAttrs: function getAttrs(dom) {
418
+ return (
419
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
420
+ getCellAttrsWithValign(dom, {
421
+ background: DEFAULT_TABLE_HEADER_CELL_BACKGROUND,
422
+ localId: _uuid.uuid.generate()
423
+ })
424
+ );
425
+ }
426
+ }],
427
+ toDOM: function toDOM(node) {
428
+ return ['th', getCellDomAttrsWithValign(node), 0];
429
+ }
430
+ };
431
+ var tableCellStage0 = exports.tableCellStage0 = (0, _nodeTypes.tableCellStage0)(tableCellNodeStage0SpecOptions);
432
+ var tableHeaderStage0 = exports.tableHeaderStage0 = (0, _nodeTypes.tableHeaderStage0)(tableHeaderNodeStage0SpecOptions);
433
+ var tableCellWithNestedTableStage0 = exports.tableCellWithNestedTableStage0 = (0, _nodeTypes.tableCellWithNestedTableStage0)(tableCellNodeStage0SpecOptions);
434
+ var tableHeaderWithNestedTableStage0 = exports.tableHeaderWithNestedTableStage0 = (0, _nodeTypes.tableHeaderWithNestedTableStage0)(tableHeaderNodeStage0SpecOptions);
435
+
368
436
  // table nodes with localId support
369
437
  var tableRowNodeSpecOptionsWithLocalId = {
370
438
  parseDOM: [{
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseValign = void 0;
7
+ /**
8
+ * Parses a raw DOM attribute string into a valid {@link Valign}, or `undefined` if
9
+ * the value is absent or not one of the allowed values.
10
+ */
11
+ var parseValign = exports.parseValign = function parseValign(raw) {
12
+ switch (raw) {
13
+ case 'top':
14
+ case 'middle':
15
+ case 'bottom':
16
+ return raw;
17
+ default:
18
+ return undefined;
19
+ }
20
+ };
@@ -998,6 +998,11 @@ var layoutColumn = exports.layoutColumn = {
998
998
  optional: true,
999
999
  type: 'string'
1000
1000
  },
1001
+ valign: {
1002
+ optional: true,
1003
+ type: 'enum',
1004
+ values: ['top', 'middle', 'bottom']
1005
+ },
1001
1006
  width: {
1002
1007
  maximum: 100,
1003
1008
  minimum: 0,
@@ -1838,6 +1843,11 @@ var tableCell = exports.tableCell = {
1838
1843
  rowspan: {
1839
1844
  optional: true,
1840
1845
  type: 'number'
1846
+ },
1847
+ valign: {
1848
+ optional: true,
1849
+ type: 'enum',
1850
+ values: ['top', 'middle', 'bottom']
1841
1851
  }
1842
1852
  }
1843
1853
  },
@@ -1881,6 +1891,11 @@ var tableHeader = exports.tableHeader = {
1881
1891
  rowspan: {
1882
1892
  optional: true,
1883
1893
  type: 'number'
1894
+ },
1895
+ valign: {
1896
+ optional: true,
1897
+ type: 'enum',
1898
+ values: ['top', 'middle', 'bottom']
1884
1899
  }
1885
1900
  }
1886
1901
  },
@@ -2,7 +2,7 @@
2
2
  export { PanelType, AnnotationTypes, alignment, alignmentPositionMap, annotation, blockCard, blockCardWithLocalId, blockquote, extendedBlockquote, extendedBlockquoteWithLocalId, bodiedExtension, fontSize, breakout, bulletList, bulletListSelector, bulletListWithLocalId, caption, captionWithLocalId, code, codeBlock, codeBlockWithLocalId, codeBlockWithExtendedAttributes, codeBlockToJSON, colorPalette,
3
3
  // eslint-disable-next-line @repo/internal/deprecations/deprecation-ticket-required
4
4
  /** @deprecated [ED-15849] The extended palette is now rolled into the main one. Use `colorPalette` instead. */
5
- colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, dateWithLocalId, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, embedCardWithLocalId, emoji, emojiWithLocalId, expandWithNestedExpand, expandWithNestedExpandLocalId, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, image, indentation, inlineCard, inlineCardWithLocalId, inlineExtension, inlineNodes, layoutColumn, layoutColumnWithLocalId, layoutSection, layoutSectionWithLocalId, layoutSectionWithSingleColumn, layoutSectionWithSingleColumnLocalId, link, linkToJSON, listItem, listItemWithLocalId, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleFullWithLocalId, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, nestedExpandWithLocalId, orderedList, orderedListSelector, orderedListWithLocalId, orderedListWithOrder, orderedListWithOrderAndLocalId, extendedPanel, extendedPanelWithLocalId, paragraph, placeholder, placeholderWithLocalId, rule, ruleWithLocalId, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, blockTaskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette, syncBlock, bodiedSyncBlock, tableWithNestedTable, tableRowWithNestedTable, tableCellWithNestedTable, tableHeaderWithNestedTable, tableRowWithLocalId, tableCellWithLocalId, tableHeaderWithLocalId, tableRowWithNestedTableWithLocalId, tableCellWithNestedTableWithLocalId, tableHeaderWithNestedTableWithLocalId } from './schema';
5
+ colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createSchema, dataConsumer, dataConsumerToJSON, date, dateWithLocalId, decisionItem, decisionList, decisionListSelector, doc, em, embedCard, embedCardWithLocalId, emoji, emojiWithLocalId, expandWithNestedExpand, expandWithNestedExpandLocalId, expandToJSON, extension, fragment, fragmentToJSON, hardBreak, heading, image, indentation, inlineCard, inlineCardWithLocalId, inlineExtension, inlineNodes, layoutColumn, layoutColumnStage0, layoutColumnWithLocalId, layoutSection, layoutSectionWithLocalId, layoutSectionWithSingleColumn, layoutSectionWithSingleColumnLocalId, link, linkToJSON, listItem, listItemWithLocalId, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaSingleWithWidthType, mediaSingleFull, mediaSingleFullWithLocalId, mediaSingleSpec, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, nestedExpandWithLocalId, orderedList, orderedListSelector, orderedListWithLocalId, orderedListWithOrder, orderedListWithOrderAndLocalId, extendedPanel, extendedPanelWithLocalId, paragraph, placeholder, placeholderWithLocalId, rule, ruleWithLocalId, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableStage0, tableWithCustomWidth, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, blockTaskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute, border, borderColorPalette, extensionFrame, multiBodiedExtension, backgroundColor, backgroundColorPalette, syncBlock, bodiedSyncBlock, tableWithNestedTable, tableRowWithNestedTable, tableCellWithNestedTable, tableHeaderWithNestedTable, tableCellStage0, tableHeaderStage0, tableCellWithNestedTableStage0, tableHeaderWithNestedTableStage0, tableRowWithLocalId, tableCellWithLocalId, tableHeaderWithLocalId, tableRowWithNestedTableWithLocalId, tableCellWithNestedTableWithLocalId, tableHeaderWithNestedTableWithLocalId } from './schema';
6
6
  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';
7
7
 
8
8
  // ADF createPMSpecFactory
@@ -668,6 +668,23 @@ export const layoutColumn = createPMNodeSpecFactory({
668
668
  selectable: false,
669
669
  isolating: true
670
670
  });
671
+ export const layoutColumnStage0 = createPMNodeSpecFactory({
672
+ content: '(block | unsupportedBlock)+',
673
+ marks: 'unsupportedMark unsupportedNodeAttribute fontSize alignment indentation dataConsumer fragment',
674
+ attrs: {
675
+ width: {
676
+ default: undefined
677
+ },
678
+ localId: {
679
+ default: null
680
+ },
681
+ valign: {
682
+ default: null
683
+ }
684
+ },
685
+ selectable: false,
686
+ isolating: true
687
+ });
671
688
  export const layoutSection = createPMNodeSpecFactory({
672
689
  content: '(layoutColumn | unsupportedBlock){1,3} unsupportedBlock*',
673
690
  marks: 'unsupportedMark unsupportedNodeAttribute',
@@ -1239,6 +1256,33 @@ export const tableCell = createPMNodeSpecFactory({
1239
1256
  isolating: true,
1240
1257
  tableRole: 'cell'
1241
1258
  });
1259
+ export const tableCellStage0 = createPMNodeSpecFactory({
1260
+ content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | unsupportedBlock)+',
1261
+ marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1262
+ attrs: {
1263
+ colspan: {
1264
+ default: 1
1265
+ },
1266
+ rowspan: {
1267
+ default: 1
1268
+ },
1269
+ colwidth: {
1270
+ default: null
1271
+ },
1272
+ background: {
1273
+ default: null
1274
+ },
1275
+ localId: {
1276
+ default: null
1277
+ },
1278
+ valign: {
1279
+ default: null
1280
+ }
1281
+ },
1282
+ selectable: false,
1283
+ isolating: true,
1284
+ tableRole: 'cell'
1285
+ });
1242
1286
  export const tableCellWithNestedTable = createPMNodeSpecFactory({
1243
1287
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | unsupportedBlock | table)+',
1244
1288
  marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
@@ -1263,6 +1307,33 @@ export const tableCellWithNestedTable = createPMNodeSpecFactory({
1263
1307
  isolating: true,
1264
1308
  tableRole: 'cell'
1265
1309
  });
1310
+ export const tableCellWithNestedTableStage0 = createPMNodeSpecFactory({
1311
+ content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | unsupportedBlock | table)+',
1312
+ marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1313
+ attrs: {
1314
+ colspan: {
1315
+ default: 1
1316
+ },
1317
+ rowspan: {
1318
+ default: 1
1319
+ },
1320
+ colwidth: {
1321
+ default: null
1322
+ },
1323
+ background: {
1324
+ default: null
1325
+ },
1326
+ localId: {
1327
+ default: null
1328
+ },
1329
+ valign: {
1330
+ default: null
1331
+ }
1332
+ },
1333
+ selectable: false,
1334
+ isolating: true,
1335
+ tableRole: 'cell'
1336
+ });
1266
1337
  export const tableHeader = createPMNodeSpecFactory({
1267
1338
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand)+',
1268
1339
  marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
@@ -1287,6 +1358,33 @@ export const tableHeader = createPMNodeSpecFactory({
1287
1358
  isolating: true,
1288
1359
  tableRole: 'header_cell'
1289
1360
  });
1361
+ export const tableHeaderStage0 = createPMNodeSpecFactory({
1362
+ content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand)+',
1363
+ marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1364
+ attrs: {
1365
+ colspan: {
1366
+ default: 1
1367
+ },
1368
+ rowspan: {
1369
+ default: 1
1370
+ },
1371
+ colwidth: {
1372
+ default: null
1373
+ },
1374
+ background: {
1375
+ default: null
1376
+ },
1377
+ localId: {
1378
+ default: null
1379
+ },
1380
+ valign: {
1381
+ default: null
1382
+ }
1383
+ },
1384
+ selectable: false,
1385
+ isolating: true,
1386
+ tableRole: 'header_cell'
1387
+ });
1290
1388
  export const tableHeaderWithNestedTable = createPMNodeSpecFactory({
1291
1389
  content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | table)+',
1292
1390
  marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
@@ -1311,6 +1409,33 @@ export const tableHeaderWithNestedTable = createPMNodeSpecFactory({
1311
1409
  isolating: true,
1312
1410
  tableRole: 'header_cell'
1313
1411
  });
1412
+ export const tableHeaderWithNestedTableStage0 = createPMNodeSpecFactory({
1413
+ content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | table)+',
1414
+ marks: 'fontSize alignment unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1415
+ attrs: {
1416
+ colspan: {
1417
+ default: 1
1418
+ },
1419
+ rowspan: {
1420
+ default: 1
1421
+ },
1422
+ colwidth: {
1423
+ default: null
1424
+ },
1425
+ background: {
1426
+ default: null
1427
+ },
1428
+ localId: {
1429
+ default: null
1430
+ },
1431
+ valign: {
1432
+ default: null
1433
+ }
1434
+ },
1435
+ selectable: false,
1436
+ isolating: true,
1437
+ tableRole: 'header_cell'
1438
+ });
1314
1439
  export const tableRow = createPMNodeSpecFactory({
1315
1440
  content: '(tableCell | tableHeader)+',
1316
1441
  marks: 'unsupportedMark unsupportedNodeAttribute',
@@ -4,22 +4,34 @@ import { blockGroup } from '../groups/blockGroup';
4
4
  import { unsupportedMark } from '../marks/unsupportedMark';
5
5
  import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute';
6
6
  import { unsupportedBlock } from '../nodes/unsupportedBlock';
7
+ const layoutColumnAttributes = {
8
+ width: {
9
+ type: 'number',
10
+ minimum: 0,
11
+ maximum: 100,
12
+ default: undefined
13
+ },
14
+ localId: {
15
+ type: 'string',
16
+ default: null,
17
+ optional: true
18
+ }
19
+ };
7
20
  export const layoutColumn = adfNode('layoutColumn').define({
8
21
  isolating: true,
9
22
  selectable: false,
10
23
  marks: [unsupportedMark, unsupportedNodeAttribute],
11
- attrs: {
12
- width: {
13
- type: 'number',
14
- minimum: 0,
15
- maximum: 100,
16
- default: undefined
17
- },
18
- localId: {
19
- type: 'string',
20
- default: null,
21
- optional: true
24
+ attrs: layoutColumnAttributes,
25
+ content: [$onePlus($or(blockGroup, blockContentGroup, unsupportedBlock))],
26
+ stage0: {
27
+ attrs: {
28
+ ...layoutColumnAttributes,
29
+ valign: {
30
+ type: 'enum',
31
+ values: ['top', 'middle', 'bottom'],
32
+ default: null,
33
+ optional: true
34
+ }
22
35
  }
23
- },
24
- content: [$onePlus($or(blockGroup, blockContentGroup, unsupportedBlock))]
36
+ }
25
37
  });