@atlaskit/adf-schema 36.13.0 → 36.14.1

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 (65) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/next-schema/full-schema.adf.js +3 -2
  3. package/dist/cjs/next-schema/generated/markTypes.js +38 -21
  4. package/dist/cjs/next-schema/generated/nodeTypes.js +210 -226
  5. package/dist/cjs/next-schema/groups/blockGroup.js +5 -1
  6. package/dist/cjs/next-schema/groups/inlineGroup.js +1 -3
  7. package/dist/cjs/next-schema/nodes/blockCard.js +7 -3
  8. package/dist/cjs/next-schema/nodes/codeBlock.js +2 -2
  9. package/dist/cjs/next-schema/nodes/inlineExtension.js +5 -1
  10. package/dist/cjs/next-schema/nodes/layoutColumn.js +2 -1
  11. package/dist/cjs/next-schema/nodes/media.js +2 -2
  12. package/dist/cjs/next-schema/nodes/mediaInline.js +29 -12
  13. package/dist/cjs/next-schema/nodes/mediaSingle.js +2 -1
  14. package/dist/cjs/next-schema/nodes/mention.js +2 -1
  15. package/dist/cjs/next-schema/nodes/placeholder.js +1 -0
  16. package/dist/cjs/next-schema/nodes/table.js +1 -0
  17. package/dist/cjs/next-schema/nodes/tableCell.js +2 -2
  18. package/dist/cjs/next-schema/nodes/tableHeader.js +2 -2
  19. package/dist/cjs/next-schema/nodes/tableRow.js +2 -1
  20. package/dist/es2019/next-schema/full-schema.adf.js +3 -2
  21. package/dist/es2019/next-schema/generated/markTypes.js +37 -20
  22. package/dist/es2019/next-schema/generated/nodeTypes.js +209 -225
  23. package/dist/es2019/next-schema/groups/blockGroup.js +5 -1
  24. package/dist/es2019/next-schema/groups/inlineGroup.js +1 -3
  25. package/dist/es2019/next-schema/nodes/blockCard.js +7 -3
  26. package/dist/es2019/next-schema/nodes/codeBlock.js +1 -1
  27. package/dist/es2019/next-schema/nodes/inlineExtension.js +5 -1
  28. package/dist/es2019/next-schema/nodes/layoutColumn.js +2 -1
  29. package/dist/es2019/next-schema/nodes/media.js +2 -2
  30. package/dist/es2019/next-schema/nodes/mediaInline.js +29 -12
  31. package/dist/es2019/next-schema/nodes/mediaSingle.js +2 -1
  32. package/dist/es2019/next-schema/nodes/mention.js +2 -1
  33. package/dist/es2019/next-schema/nodes/placeholder.js +1 -0
  34. package/dist/es2019/next-schema/nodes/table.js +1 -0
  35. package/dist/es2019/next-schema/nodes/tableCell.js +2 -2
  36. package/dist/es2019/next-schema/nodes/tableHeader.js +2 -2
  37. package/dist/es2019/next-schema/nodes/tableRow.js +2 -1
  38. package/dist/esm/next-schema/full-schema.adf.js +3 -2
  39. package/dist/esm/next-schema/generated/markTypes.js +37 -20
  40. package/dist/esm/next-schema/generated/nodeTypes.js +209 -225
  41. package/dist/esm/next-schema/groups/blockGroup.js +5 -1
  42. package/dist/esm/next-schema/groups/inlineGroup.js +1 -3
  43. package/dist/esm/next-schema/nodes/blockCard.js +7 -3
  44. package/dist/esm/next-schema/nodes/codeBlock.js +1 -1
  45. package/dist/esm/next-schema/nodes/inlineExtension.js +5 -1
  46. package/dist/esm/next-schema/nodes/layoutColumn.js +2 -1
  47. package/dist/esm/next-schema/nodes/media.js +2 -2
  48. package/dist/esm/next-schema/nodes/mediaInline.js +29 -12
  49. package/dist/esm/next-schema/nodes/mediaSingle.js +2 -1
  50. package/dist/esm/next-schema/nodes/mention.js +2 -1
  51. package/dist/esm/next-schema/nodes/placeholder.js +1 -0
  52. package/dist/esm/next-schema/nodes/table.js +1 -0
  53. package/dist/esm/next-schema/nodes/tableCell.js +2 -2
  54. package/dist/esm/next-schema/nodes/tableHeader.js +2 -2
  55. package/dist/esm/next-schema/nodes/tableRow.js +2 -1
  56. package/dist/types/next-schema/generated/markTypes.d.ts +56 -33
  57. package/dist/types/next-schema/generated/nodeGroupTypes.d.ts +4 -4
  58. package/dist/types/next-schema/generated/nodeTypes.d.ts +165 -156
  59. package/dist/types/next-schema/nodes/codeBlock.d.ts +1 -1
  60. package/dist/types/next-schema/nodes/inlineExtension.d.ts +2 -0
  61. package/package.json +2 -2
  62. package/schema-generators/__tests__/helpers/_utils.ts +123 -0
  63. package/schema-generators/__tests__/helpers/utils.unit.ts +66 -0
  64. package/schema-generators/__tests__/unit/json-full-schema.unit.ts +1142 -1231
  65. package/schema-generators/__tests__/unit/validate-pm-schema.unit.ts +162 -36
@@ -18,4 +18,8 @@ import { rule } from '../nodes/rule';
18
18
  import { table } from '../nodes/table';
19
19
  import { taskList } from '../nodes/task';
20
20
  import { unsupportedBlock } from '../nodes/unsupportedBlock';
21
- export const blockGroup = adfNodeGroup('block', [blockCard, codeBlock, codeBlock.use('with_marks'), codeBlock.use('with_no_marks'), mediaSingle, mediaSingle.use('caption'), mediaSingle.use('full'), paragraph.use('with_alignment'), paragraph.use('with_indentation'), paragraph.use('with_no_marks'), taskList, orderedList, bulletList, blockquote, decisionList, embedCard, extension, extension.use('with_marks'), heading, heading.use('with_no_marks'), mediaGroup, rule, panel, table, bodiedExtension, bodiedExtension.use('with_marks'), expand, expand.use('with_breakout_mark'), expand.use('with_no_mark'), confluenceUnsupportedBlock, unsupportedBlock]);
21
+ export const blockGroup = adfNodeGroup('block', [blockCard, codeBlock.use('with_no_marks'), mediaSingle, mediaSingle.use('caption'), mediaSingle.use('full'), paragraph, paragraph.use('with_alignment'), paragraph.use('with_indentation'), taskList, orderedList, bulletList, blockquote.use('with_list'), decisionList, embedCard,
22
+ // extension,
23
+ extension.use('with_marks'), heading, heading.use('with_no_marks'), mediaGroup, rule, panel, table,
24
+ // bodiedExtension,
25
+ bodiedExtension.use('with_marks'), expand.use('with_no_mark'), confluenceUnsupportedBlock, unsupportedBlock]);
@@ -11,6 +11,4 @@ import { inlineExtension } from '../nodes/inlineExtension';
11
11
  import { mediaInline } from '../nodes/mediaInline';
12
12
  import { unsupportedInline } from '../nodes/unsupportedInline';
13
13
  import { confluenceUnsupportedInline } from '../nodes/confluenceUnsupportedInline';
14
- export const inlineGroup = adfNodeGroup('inline', [
15
- // text,
16
- text.use('formatted'), text.use('code_inline'), date, emoji, hardBreak, inlineCard, mention, placeholder, status, inlineExtension, inlineExtension.use('with_marks'), mediaInline, confluenceUnsupportedInline, unsupportedInline]);
14
+ export const inlineGroup = adfNodeGroup('inline', [text, text.use('formatted'), text.use('code_inline'), date, emoji, hardBreak, inlineCard, mention, placeholder, status, inlineExtension.use('with_marks'), mediaInline, confluenceUnsupportedInline, unsupportedInline]);
@@ -9,10 +9,12 @@ export const blockCard = adfNode('blockCard').define({
9
9
  anyOf: [{
10
10
  url: {
11
11
  type: 'string',
12
- optional: true
12
+ optional: true,
13
+ default: null
13
14
  },
14
15
  datasource: {
15
16
  type: 'object',
17
+ default: null,
16
18
  additionalProperties: false,
17
19
  properties: {
18
20
  id: {
@@ -41,12 +43,14 @@ export const blockCard = adfNode('blockCard').define({
41
43
  },
42
44
  width: {
43
45
  type: 'number',
44
- optional: true
46
+ optional: true,
47
+ default: null
45
48
  },
46
49
  layout: {
47
50
  type: 'enum',
48
51
  values: ['wide', 'full-width', 'center', 'wrap-right', 'wrap-left', 'align-end', 'align-start'],
49
- optional: true
52
+ optional: true,
53
+ default: null
50
54
  }
51
55
  }, {
52
56
  url: {
@@ -19,4 +19,4 @@ export const codeBlock = adfNode('codeBlock').define({
19
19
  }).variant('with_marks', {
20
20
  marks: [breakout, unsupportedNodeAttribute, unsupportedMark]
21
21
  }).variant('with_no_marks', {});
22
- export const codeBlockWithMarks = codeBlock;
22
+ export const codeBlockWithNoMarks = codeBlock;
@@ -1,4 +1,6 @@
1
1
  import { adfNode } from '@atlaskit/adf-schema-generator';
2
+ import { dataConsumer } from '../marks/dataConsumer';
3
+ import { fragment } from '../marks/fragment';
2
4
  import { unsupportedMark } from '../marks/unsupportedMark';
3
5
  import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute';
4
6
  export const inlineExtension = adfNode('inlineExtension').define({
@@ -32,4 +34,6 @@ export const inlineExtension = adfNode('inlineExtension').define({
32
34
  default: null
33
35
  }
34
36
  }
35
- }).variant('with_marks', {});
37
+ }).variant('with_marks', {
38
+ marks: [dataConsumer, fragment, unsupportedNodeAttribute, unsupportedMark]
39
+ });
@@ -2,6 +2,7 @@ import { $onePlus, $or, adfNode } from '@atlaskit/adf-schema-generator';
2
2
  import { blockGroup } from '../groups/blockGroup';
3
3
  import { unsupportedMark } from '../marks/unsupportedMark';
4
4
  import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute';
5
+ import { unsupportedBlock } from '../nodes/unsupportedBlock';
5
6
  export const layoutColumn = adfNode('layoutColumn').define({
6
7
  isolating: true,
7
8
  selectable: false,
@@ -14,5 +15,5 @@ export const layoutColumn = adfNode('layoutColumn').define({
14
15
  default: undefined
15
16
  }
16
17
  },
17
- content: [$onePlus($or(blockGroup))]
18
+ content: [$onePlus($or(blockGroup, unsupportedBlock))]
18
19
  });
@@ -55,8 +55,8 @@ export const media = adfNode('media').define({
55
55
  optional: true
56
56
  },
57
57
  __external: {
58
- type: 'number',
59
- default: null,
58
+ type: 'boolean',
59
+ default: false,
60
60
  optional: true
61
61
  },
62
62
  __fileMimeType: {
@@ -6,7 +6,8 @@ import { unsupportedMark } from '../marks/unsupportedMark';
6
6
  import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute';
7
7
  export const mediaInline = adfNode('mediaInline').define({
8
8
  selectable: true,
9
- atom: false,
9
+ // atom: false,
10
+ inline: true,
10
11
  marks: [link, annotation, border, unsupportedNodeAttribute, unsupportedMark],
11
12
  attrs: {
12
13
  data: {
@@ -15,23 +16,32 @@ export const mediaInline = adfNode('mediaInline').define({
15
16
  type: {
16
17
  type: 'enum',
17
18
  values: ['link', 'file', 'image'],
18
- optional: true
19
+ optional: true,
20
+ default: 'file'
21
+ },
22
+ url: {
23
+ type: 'string',
24
+ default: null
19
25
  },
20
26
  id: {
21
27
  minLength: 1,
22
- type: 'string'
28
+ type: 'string',
29
+ default: ''
23
30
  },
24
31
  alt: {
25
32
  type: 'string',
33
+ default: '',
26
34
  optional: true
27
35
  },
28
36
  collection: {
29
- type: 'string'
37
+ type: 'string',
38
+ default: ''
30
39
  },
31
40
  occurrenceKey: {
32
41
  minLength: 1,
33
42
  type: 'string',
34
- optional: true
43
+ optional: true,
44
+ default: null
35
45
  },
36
46
  width: {
37
47
  type: 'number',
@@ -45,32 +55,39 @@ export const mediaInline = adfNode('mediaInline').define({
45
55
  },
46
56
  __fileName: {
47
57
  type: 'string',
48
- optional: true
58
+ optional: true,
59
+ default: null
49
60
  },
50
61
  __fileSize: {
51
62
  type: 'number',
52
- optional: true
63
+ optional: true,
64
+ default: null
53
65
  },
54
66
  __fileMimeType: {
55
67
  type: 'string',
56
- optional: true
68
+ optional: true,
69
+ default: null
57
70
  },
58
71
  __displayType: {
59
72
  type: 'enum',
60
73
  values: ['file', 'thumbnail'],
61
- optional: true
74
+ optional: true,
75
+ default: null
62
76
  },
63
77
  __contextId: {
64
78
  type: 'string',
65
- optional: true
79
+ optional: true,
80
+ default: null
66
81
  },
67
82
  __mediaTraceId: {
68
83
  type: 'string',
69
- optional: true
84
+ optional: true,
85
+ default: null
70
86
  },
71
87
  __external: {
72
88
  type: 'boolean',
73
- optional: true
89
+ optional: true,
90
+ default: false
74
91
  }
75
92
  }
76
93
  });
@@ -46,7 +46,8 @@ export const mediaSingle = adfNode('mediaSingle').define({
46
46
  default: 'center'
47
47
  }
48
48
  }]
49
- }
49
+ },
50
+ content: [$or(media)]
50
51
  }).variant('caption', {
51
52
  atom: false,
52
53
  content: [$or(media, unsupportedBlock), $or(caption, unsupportedBlock)]
@@ -12,7 +12,8 @@ export const mention = adfNode('mention').define({
12
12
  },
13
13
  localId: {
14
14
  type: 'string',
15
- optional: true
15
+ optional: true,
16
+ default: null
16
17
  },
17
18
  text: {
18
19
  type: 'string',
@@ -3,6 +3,7 @@ import { unsupportedMark } from '../marks/unsupportedMark';
3
3
  import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute';
4
4
  export const placeholder = adfNode('placeholder').define({
5
5
  selectable: false,
6
+ inline: true,
6
7
  marks: [unsupportedNodeAttribute, unsupportedMark],
7
8
  attrs: {
8
9
  text: {
@@ -6,6 +6,7 @@ import { tableRow } from './tableRow';
6
6
  export const table = adfNode('table').define({
7
7
  isolating: true,
8
8
  selectable: true,
9
+ tableRole: 'table',
9
10
  marks: [fragment, unsupportedNodeAttribute, unsupportedMark],
10
11
  attrs: {
11
12
  displayMode: {
@@ -35,12 +35,12 @@ export const tableCell = adfNode('tableCell').define({
35
35
  },
36
36
  colwidth: {
37
37
  type: 'numberList',
38
- default: [],
38
+ default: null,
39
39
  optional: true
40
40
  },
41
41
  background: {
42
42
  type: 'string',
43
- default: '',
43
+ default: null,
44
44
  optional: true
45
45
  }
46
46
  },
@@ -34,12 +34,12 @@ export const tableHeader = adfNode('tableHeader').define({
34
34
  },
35
35
  colwidth: {
36
36
  type: 'numberList',
37
- default: [],
37
+ default: null,
38
38
  optional: true
39
39
  },
40
40
  background: {
41
41
  type: 'string',
42
- default: '',
42
+ default: null,
43
43
  optional: true
44
44
  }
45
45
  },
@@ -6,5 +6,6 @@ import { tableHeader } from './tableHeader';
6
6
  export const tableRow = adfNode('tableRow').define({
7
7
  selectable: false,
8
8
  marks: [unsupportedNodeAttribute, unsupportedMark],
9
- content: [$onePlus($or(tableCell, tableHeader))]
9
+ content: [$onePlus($or(tableCell, tableHeader))],
10
+ tableRole: 'row'
10
11
  });
@@ -2,12 +2,13 @@ import { $or, $onePlus, adfNode } from '@atlaskit/adf-schema-generator';
2
2
  import { blockGroup } from './groups/blockGroup';
3
3
  import { layoutSection } from './nodes/layoutSection';
4
4
  import { blockRootOnlyGroup } from './groups/blockRootOnlyGroup';
5
- import { nestedExpand } from './nodes/nestedExpand';
6
5
  import { paragraph } from './nodes/paragraph';
6
+ import { expand } from './nodes/expand';
7
+ import { codeBlock } from './nodes/codeBlock';
7
8
  import { unsupportedBlock } from './nodes/unsupportedBlock';
8
9
  var doc = adfNode('doc').define({
9
10
  root: true,
10
11
  version: 1,
11
- content: [$onePlus($or(blockGroup, layoutSection, layoutSection.use('full'), blockRootOnlyGroup, nestedExpand, paragraph, unsupportedBlock))]
12
+ content: [$onePlus($or(blockGroup, layoutSection, layoutSection.use('full'), blockRootOnlyGroup, expand.use('with_breakout_mark'), codeBlock.use('with_no_marks'), codeBlock.use('with_marks'), paragraph.use('with_indentation'), unsupportedBlock))]
12
13
  });
13
14
  export default doc;
@@ -1,12 +1,20 @@
1
1
  import { createPMMarkSpecFactory } from '@atlaskit/adf-schema-generator';
2
- export var breakout = createPMMarkSpecFactory({
2
+ export var unsupportedNodeAttribute = createPMMarkSpecFactory({
3
3
  attrs: {
4
- mode: {
5
- default: 'wide'
4
+ type: {
5
+ default: null
6
+ },
7
+ unsupported: {
8
+ default: {}
6
9
  }
7
- },
8
- inclusive: false,
9
- spanning: false
10
+ }
11
+ });
12
+ export var unsupportedMark = createPMMarkSpecFactory({
13
+ attrs: {
14
+ originalValue: {
15
+ default: {}
16
+ }
17
+ }
10
18
  });
11
19
  export var link = createPMMarkSpecFactory({
12
20
  attrs: {
@@ -86,20 +94,6 @@ export var code = createPMMarkSpecFactory({
86
94
  inclusive: true,
87
95
  excludes: 'fontStyle link searchQuery color'
88
96
  });
89
- export var alignment = createPMMarkSpecFactory({
90
- attrs: {
91
- align: {}
92
- },
93
- excludes: 'alignment indentation',
94
- group: 'alignment'
95
- });
96
- export var indentation = createPMMarkSpecFactory({
97
- attrs: {
98
- level: {}
99
- },
100
- excludes: 'indentation alignment',
101
- group: 'indentation'
102
- });
103
97
  export var dataConsumer = createPMMarkSpecFactory({
104
98
  attrs: {
105
99
  sources: {
@@ -117,4 +111,27 @@ export var fragment = createPMMarkSpecFactory({
117
111
  }
118
112
  },
119
113
  inclusive: false
114
+ });
115
+ export var alignment = createPMMarkSpecFactory({
116
+ attrs: {
117
+ align: {}
118
+ },
119
+ excludes: 'alignment indentation',
120
+ group: 'alignment'
121
+ });
122
+ export var indentation = createPMMarkSpecFactory({
123
+ attrs: {
124
+ level: {}
125
+ },
126
+ excludes: 'indentation alignment',
127
+ group: 'indentation'
128
+ });
129
+ export var breakout = createPMMarkSpecFactory({
130
+ attrs: {
131
+ mode: {
132
+ default: 'wide'
133
+ }
134
+ },
135
+ inclusive: false,
136
+ spanning: false
120
137
  });