@atlaskit/adf-schema 36.10.0 → 36.10.2

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 (82) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/next-schema/marks/alignmentAndIndentation.js +1 -1
  3. package/dist/cjs/next-schema/marks/backgroundColor.js +8 -1
  4. package/dist/cjs/next-schema/marks/border.js +1 -0
  5. package/dist/cjs/next-schema/marks/dataConsumer.js +1 -2
  6. package/dist/cjs/next-schema/marks/fragment.js +1 -0
  7. package/dist/cjs/next-schema/marks/link.js +1 -1
  8. package/dist/cjs/next-schema/marks/textColor.js +2 -1
  9. package/dist/cjs/next-schema/nodes/blockCard.js +47 -21
  10. package/dist/cjs/next-schema/nodes/bodiedExtension.js +4 -1
  11. package/dist/cjs/next-schema/nodes/codeBlock.js +0 -4
  12. package/dist/cjs/next-schema/nodes/date.js +1 -0
  13. package/dist/cjs/next-schema/nodes/embedCard.js +3 -1
  14. package/dist/cjs/next-schema/nodes/extension.js +4 -1
  15. package/dist/cjs/next-schema/nodes/hardBreak.js +2 -1
  16. package/dist/cjs/next-schema/nodes/inlineCard.js +13 -10
  17. package/dist/cjs/next-schema/nodes/inlineExtension.js +3 -0
  18. package/dist/cjs/next-schema/nodes/media.js +98 -73
  19. package/dist/cjs/next-schema/nodes/mediaInline.js +6 -1
  20. package/dist/cjs/next-schema/nodes/mediaSingle.js +37 -18
  21. package/dist/cjs/next-schema/nodes/mention.js +3 -0
  22. package/dist/cjs/next-schema/nodes/panel.js +1 -1
  23. package/dist/cjs/next-schema/nodes/status.js +1 -0
  24. package/dist/cjs/next-schema/nodes/table.js +6 -1
  25. package/dist/cjs/next-schema/nodes/tableCell.js +1 -1
  26. package/dist/cjs/next-schema/nodes/tableHeader.js +1 -1
  27. package/dist/cjs/schema/nodes/block-card.js +1 -1
  28. package/dist/es2019/next-schema/marks/alignmentAndIndentation.js +1 -1
  29. package/dist/es2019/next-schema/marks/backgroundColor.js +8 -1
  30. package/dist/es2019/next-schema/marks/border.js +1 -0
  31. package/dist/es2019/next-schema/marks/dataConsumer.js +1 -2
  32. package/dist/es2019/next-schema/marks/fragment.js +1 -0
  33. package/dist/es2019/next-schema/marks/link.js +1 -1
  34. package/dist/es2019/next-schema/marks/textColor.js +2 -1
  35. package/dist/es2019/next-schema/nodes/blockCard.js +47 -21
  36. package/dist/es2019/next-schema/nodes/bodiedExtension.js +4 -1
  37. package/dist/es2019/next-schema/nodes/codeBlock.js +0 -4
  38. package/dist/es2019/next-schema/nodes/date.js +1 -0
  39. package/dist/es2019/next-schema/nodes/embedCard.js +3 -1
  40. package/dist/es2019/next-schema/nodes/extension.js +4 -1
  41. package/dist/es2019/next-schema/nodes/hardBreak.js +2 -1
  42. package/dist/es2019/next-schema/nodes/inlineCard.js +13 -10
  43. package/dist/es2019/next-schema/nodes/inlineExtension.js +3 -0
  44. package/dist/es2019/next-schema/nodes/media.js +98 -73
  45. package/dist/es2019/next-schema/nodes/mediaInline.js +6 -1
  46. package/dist/es2019/next-schema/nodes/mediaSingle.js +37 -18
  47. package/dist/es2019/next-schema/nodes/mention.js +3 -0
  48. package/dist/es2019/next-schema/nodes/panel.js +1 -1
  49. package/dist/es2019/next-schema/nodes/status.js +1 -0
  50. package/dist/es2019/next-schema/nodes/table.js +6 -1
  51. package/dist/es2019/next-schema/nodes/tableCell.js +1 -1
  52. package/dist/es2019/next-schema/nodes/tableHeader.js +1 -1
  53. package/dist/es2019/schema/nodes/block-card.js +1 -1
  54. package/dist/esm/next-schema/marks/alignmentAndIndentation.js +1 -1
  55. package/dist/esm/next-schema/marks/backgroundColor.js +8 -1
  56. package/dist/esm/next-schema/marks/border.js +1 -0
  57. package/dist/esm/next-schema/marks/dataConsumer.js +1 -2
  58. package/dist/esm/next-schema/marks/fragment.js +1 -0
  59. package/dist/esm/next-schema/marks/link.js +1 -1
  60. package/dist/esm/next-schema/marks/textColor.js +2 -1
  61. package/dist/esm/next-schema/nodes/blockCard.js +47 -21
  62. package/dist/esm/next-schema/nodes/bodiedExtension.js +4 -1
  63. package/dist/esm/next-schema/nodes/codeBlock.js +0 -4
  64. package/dist/esm/next-schema/nodes/date.js +1 -0
  65. package/dist/esm/next-schema/nodes/embedCard.js +3 -1
  66. package/dist/esm/next-schema/nodes/extension.js +4 -1
  67. package/dist/esm/next-schema/nodes/hardBreak.js +2 -1
  68. package/dist/esm/next-schema/nodes/inlineCard.js +13 -10
  69. package/dist/esm/next-schema/nodes/inlineExtension.js +3 -0
  70. package/dist/esm/next-schema/nodes/media.js +98 -73
  71. package/dist/esm/next-schema/nodes/mediaInline.js +6 -1
  72. package/dist/esm/next-schema/nodes/mediaSingle.js +37 -18
  73. package/dist/esm/next-schema/nodes/mention.js +3 -0
  74. package/dist/esm/next-schema/nodes/panel.js +1 -1
  75. package/dist/esm/next-schema/nodes/status.js +1 -0
  76. package/dist/esm/next-schema/nodes/table.js +6 -1
  77. package/dist/esm/next-schema/nodes/tableCell.js +1 -1
  78. package/dist/esm/next-schema/nodes/tableHeader.js +1 -1
  79. package/dist/esm/schema/nodes/block-card.js +1 -1
  80. package/package.json +2 -2
  81. package/schema-generators/__tests__/unit/jqueries.md +22 -0
  82. package/schema-generators/__tests__/unit/json-full-schema.unit.ts +698 -0
@@ -21,7 +21,7 @@ indentation.define({
21
21
  attrs: {
22
22
  level: {
23
23
  type: 'number',
24
- minimum: 0,
24
+ minimum: 1,
25
25
  maximum: 6
26
26
  }
27
27
  }
@@ -1,2 +1,9 @@
1
1
  import { adfMark } from '@atlaskit/adf-schema-generator';
2
- export var backgroundColor = adfMark('backgroundColor').define({});
2
+ export var backgroundColor = adfMark('backgroundColor').define({
3
+ attrs: {
4
+ color: {
5
+ pattern: '^#[0-9a-fA-F]{6}$',
6
+ type: 'string'
7
+ }
8
+ }
9
+ });
@@ -8,6 +8,7 @@ export var border = adfMark('border').define({
8
8
  maximum: 3
9
9
  },
10
10
  color: {
11
+ pattern: '^#[0-9a-fA-F]{8}$|^#[0-9a-fA-F]{6}$',
11
12
  type: 'string'
12
13
  }
13
14
  }
@@ -4,8 +4,7 @@ export var dataConsumer = adfMark('dataConsumer').define({
4
4
  sources: {
5
5
  type: 'array',
6
6
  items: {
7
- type: 'string',
8
- min: 1
7
+ type: 'string'
9
8
  }
10
9
  }
11
10
  }
@@ -3,6 +3,7 @@ export var fragment = adfMark('fragment').define({
3
3
  inclusive: false,
4
4
  attrs: {
5
5
  localId: {
6
+ minLength: 1,
6
7
  type: 'string',
7
8
  default: ''
8
9
  },
@@ -23,7 +23,7 @@ link.define({
23
23
  type: 'string',
24
24
  optional: true
25
25
  },
26
- occurenceKey: {
26
+ occurrenceKey: {
27
27
  type: 'string',
28
28
  optional: true
29
29
  },
@@ -3,7 +3,8 @@ export var textColor = adfMark('textColor').define({
3
3
  inclusive: true,
4
4
  attrs: {
5
5
  color: {
6
- type: 'string'
6
+ type: 'string',
7
+ pattern: '^#[0-9a-fA-F]{6}$'
7
8
  }
8
9
  }
9
10
  });
@@ -3,26 +3,52 @@ export var blockCard = adfNode('blockCard').define({
3
3
  draggable: true,
4
4
  selectable: true,
5
5
  attrs: {
6
- url: {
7
- type: 'string',
8
- optional: true
9
- },
10
- data: {
11
- type: 'object',
12
- optional: true
13
- },
14
- datasource: {
15
- type: 'object',
16
- optional: true
17
- },
18
- width: {
19
- type: 'number',
20
- optional: true
21
- },
22
- layout: {
23
- type: 'enum',
24
- values: ['wrap-right', 'center', 'wrap-left', 'wide', 'full-width', 'align-end', 'align-start'],
25
- optional: true
26
- }
6
+ anyOf: [{
7
+ url: {
8
+ type: 'string',
9
+ optional: true
10
+ },
11
+ datasource: {
12
+ type: 'object',
13
+ optional: true,
14
+ properties: {
15
+ id: {
16
+ type: 'string'
17
+ },
18
+ parameters: {},
19
+ views: {
20
+ items: {
21
+ properties: {
22
+ properties: {},
23
+ type: {
24
+ type: 'string'
25
+ }
26
+ },
27
+ type: 'object'
28
+ },
29
+ type: 'array'
30
+ }
31
+ }
32
+ },
33
+ width: {
34
+ type: 'number',
35
+ optional: true
36
+ },
37
+ layout: {
38
+ type: 'enum',
39
+ values: ['wide', 'full-width', 'center', 'wrap-right', 'wrap-left', 'align-end', 'align-start'],
40
+ optional: true
41
+ }
42
+ }, {
43
+ url: {
44
+ type: 'string',
45
+ optional: true
46
+ }
47
+ }, {
48
+ data: {
49
+ type: 'object',
50
+ optional: true
51
+ }
52
+ }]
27
53
  }
28
54
  });
@@ -9,10 +9,12 @@ export var bodiedExtension = adfNode('bodiedExtension').define({
9
9
  isolating: true,
10
10
  attrs: {
11
11
  extensionType: {
12
+ minLength: 1,
12
13
  type: 'string',
13
14
  default: ''
14
15
  },
15
16
  extensionKey: {
17
+ minLength: 1,
16
18
  type: 'string',
17
19
  default: ''
18
20
  },
@@ -28,11 +30,12 @@ export var bodiedExtension = adfNode('bodiedExtension').define({
28
30
  },
29
31
  layout: {
30
32
  type: 'enum',
31
- values: ['default', 'wide', 'full-width'],
33
+ values: ['wide', 'full-width', 'default'],
32
34
  optional: true,
33
35
  default: 'default'
34
36
  },
35
37
  localId: {
38
+ minLength: 1,
36
39
  type: 'string',
37
40
  optional: true,
38
41
  default: null
@@ -8,10 +8,6 @@ export var codeBlock = adfNode('codeBlock').define({
8
8
  language: {
9
9
  type: 'string',
10
10
  default: null
11
- },
12
- uniqueId: {
13
- type: 'string',
14
- default: null
15
11
  }
16
12
  },
17
13
  content: [$zeroPlus($or(text))]
@@ -4,6 +4,7 @@ export var date = adfNode('date').define({
4
4
  selectable: true,
5
5
  attrs: {
6
6
  timestamp: {
7
+ minLength: 1,
7
8
  type: 'string',
8
9
  default: ''
9
10
  }
@@ -8,11 +8,13 @@ export var embedCard = adfNode('embedCard').define({
8
8
  },
9
9
  layout: {
10
10
  type: 'enum',
11
- values: ['wrap-right', 'center', 'wrap-left', 'wide', 'full-width', 'align-end', 'align-start'],
11
+ values: ['wide', 'full-width', 'center', 'wrap-right', 'wrap-left', 'align-end', 'align-start'],
12
12
  default: 'center'
13
13
  },
14
14
  width: {
15
15
  type: 'number',
16
+ maximum: 100,
17
+ minimum: 0,
16
18
  default: 100,
17
19
  optional: true
18
20
  },
@@ -6,10 +6,12 @@ export var extension = adfNode('extension').define({
6
6
  selectable: true,
7
7
  attrs: {
8
8
  extensionType: {
9
+ minLength: 1,
9
10
  type: 'string',
10
11
  default: ''
11
12
  },
12
13
  extensionKey: {
14
+ minLength: 1,
13
15
  type: 'string',
14
16
  default: ''
15
17
  },
@@ -25,11 +27,12 @@ export var extension = adfNode('extension').define({
25
27
  },
26
28
  layout: {
27
29
  type: 'enum',
28
- values: ['default', 'wide', 'full-width'],
30
+ values: ['wide', 'full-width', 'default'],
29
31
  optional: true,
30
32
  default: 'default'
31
33
  },
32
34
  localId: {
35
+ minLength: 1,
33
36
  type: 'string',
34
37
  optional: true,
35
38
  default: null
@@ -4,7 +4,8 @@ export var hardBreak = adfNode('hardBreak').define({
4
4
  selectable: false,
5
5
  attrs: {
6
6
  text: {
7
- type: 'string',
7
+ type: 'enum',
8
+ values: ['\n'],
8
9
  default: '\n',
9
10
  optional: true
10
11
  }
@@ -5,16 +5,19 @@ export var inlineCard = adfNode('inlineCard').define({
5
5
  selectable: true,
6
6
  draggable: true,
7
7
  attrs: {
8
- url: {
9
- type: 'string',
10
- optional: true,
11
- default: null
12
- },
13
- data: {
14
- type: 'object',
15
- optional: true,
16
- default: null
17
- }
8
+ anyOf: [{
9
+ url: {
10
+ type: 'string',
11
+ optional: true,
12
+ default: null
13
+ }
14
+ }, {
15
+ data: {
16
+ type: 'object',
17
+ optional: true,
18
+ default: null
19
+ }
20
+ }]
18
21
  }
19
22
  }).variant('with_annotation', {
20
23
  marks: [annotation]
@@ -4,10 +4,12 @@ export var inlineExtension = adfNode('inlineExtension').define({
4
4
  selectable: true,
5
5
  attrs: {
6
6
  extensionType: {
7
+ minLength: 1,
7
8
  type: 'string',
8
9
  default: ''
9
10
  },
10
11
  extensionKey: {
12
+ minLength: 1,
11
13
  type: 'string',
12
14
  default: ''
13
15
  },
@@ -22,6 +24,7 @@ export var inlineExtension = adfNode('inlineExtension').define({
22
24
  default: null
23
25
  },
24
26
  localId: {
27
+ minLength: 1,
25
28
  type: 'string',
26
29
  optional: true,
27
30
  default: null
@@ -6,78 +6,103 @@ export var media = adfNode('media').define({
6
6
  selectable: true,
7
7
  marks: [link, annotation, border],
8
8
  attrs: {
9
- type: {
10
- type: 'enum',
11
- values: ['file', 'link', 'external'],
12
- default: 'file'
13
- },
14
- alt: {
15
- type: 'string',
16
- default: '',
17
- optional: true
18
- },
19
- collection: {
20
- type: 'string',
21
- default: ''
22
- },
23
- id: {
24
- type: 'string',
25
- default: ''
26
- },
27
- height: {
28
- type: 'number',
29
- default: null,
30
- optional: true
31
- },
32
- occurrenceKey: {
33
- type: 'string',
34
- default: null,
35
- optional: true
36
- },
37
- url: {
38
- type: 'string',
39
- default: null,
40
- optional: true
41
- },
42
- width: {
43
- type: 'number',
44
- default: null,
45
- optional: true
46
- },
47
- __contextId: {
48
- type: 'string',
49
- default: null,
50
- optional: true
51
- },
52
- __displayType: {
53
- type: 'string',
54
- default: null,
55
- optional: true
56
- },
57
- __external: {
58
- type: 'number',
59
- default: null,
60
- optional: true
61
- },
62
- __fileMimeType: {
63
- type: 'string',
64
- default: null,
65
- optional: true
66
- },
67
- __fileName: {
68
- type: 'string',
69
- default: null,
70
- optional: true
71
- },
72
- __fileSize: {
73
- type: 'string',
74
- default: null,
75
- optional: true
76
- },
77
- __mediaTraceId: {
78
- type: 'string',
79
- default: null,
80
- optional: true
81
- }
9
+ anyOf: [{
10
+ type: {
11
+ type: 'enum',
12
+ values: ['link', 'file'],
13
+ default: 'file'
14
+ },
15
+ alt: {
16
+ type: 'string',
17
+ default: '',
18
+ optional: true
19
+ },
20
+ collection: {
21
+ type: 'string',
22
+ default: ''
23
+ },
24
+ id: {
25
+ minLength: 1,
26
+ type: 'string',
27
+ default: ''
28
+ },
29
+ height: {
30
+ type: 'number',
31
+ default: null,
32
+ optional: true
33
+ },
34
+ occurrenceKey: {
35
+ minLength: 1,
36
+ type: 'string',
37
+ default: null,
38
+ optional: true
39
+ },
40
+ width: {
41
+ type: 'number',
42
+ default: null,
43
+ optional: true
44
+ },
45
+ __contextId: {
46
+ type: 'string',
47
+ default: null,
48
+ optional: true
49
+ },
50
+ __displayType: {
51
+ type: 'string',
52
+ default: null,
53
+ optional: true
54
+ },
55
+ __external: {
56
+ type: 'number',
57
+ default: null,
58
+ optional: true
59
+ },
60
+ __fileMimeType: {
61
+ type: 'string',
62
+ default: null,
63
+ optional: true
64
+ },
65
+ __fileName: {
66
+ type: 'string',
67
+ default: null,
68
+ optional: true
69
+ },
70
+ __fileSize: {
71
+ type: 'string',
72
+ default: null,
73
+ optional: true
74
+ },
75
+ __mediaTraceId: {
76
+ type: 'string',
77
+ default: null,
78
+ optional: true
79
+ }
80
+ }, {
81
+ alt: {
82
+ type: 'string',
83
+ default: '',
84
+ optional: true
85
+ },
86
+ height: {
87
+ type: 'number',
88
+ default: null,
89
+ optional: true
90
+ },
91
+ width: {
92
+ type: 'number',
93
+ default: null,
94
+ optional: true
95
+ },
96
+ url: {
97
+ type: 'string',
98
+ default: null,
99
+ optional: true
100
+ },
101
+ type: {
102
+ type: 'enum',
103
+ values: ['external'],
104
+ default: 'file'
105
+ }
106
+ }]
82
107
  }
83
108
  });
@@ -15,16 +15,21 @@ export var mediaInline = adfNode('mediaInline').define({
15
15
  },
16
16
  type: {
17
17
  type: 'enum',
18
- values: ['file', 'link', 'image'],
18
+ values: ['link', 'file', 'image'],
19
19
  optional: true
20
20
  },
21
21
  id: {
22
+ minLength: 1,
23
+ type: 'string'
24
+ },
25
+ alt: {
22
26
  type: 'string'
23
27
  },
24
28
  collection: {
25
29
  type: 'string'
26
30
  },
27
31
  occurrenceKey: {
32
+ minLength: 1,
28
33
  type: 'string',
29
34
  optional: true
30
35
  },
@@ -7,24 +7,43 @@ export var mediaSingle = adfNode('mediaSingle').define({
7
7
  selectable: true,
8
8
  marks: [link],
9
9
  attrs: {
10
- width: {
11
- type: 'number',
12
- minimum: 0,
13
- // maximum: 100, – can't encode both? 100 is for percentage, and for pixel it's unlimited
14
- default: null,
15
- optional: true
16
- },
17
- layout: {
18
- type: 'enum',
19
- values: ['wrap-right', 'center', 'wrap-left', 'wide', 'full-width', 'align-end', 'align-start'],
20
- default: 'center'
21
- },
22
- widthType: {
23
- type: 'enum',
24
- values: ['pixel', 'percentage'],
25
- default: 'percentage',
26
- optional: true
27
- }
10
+ anyOf: [{
11
+ width: {
12
+ type: 'number',
13
+ minimum: 0,
14
+ maximum: 100,
15
+ default: null,
16
+ optional: true
17
+ },
18
+ layout: {
19
+ type: 'enum',
20
+ values: ['wide', 'full-width', 'center', 'wrap-right', 'wrap-left', 'align-end', 'align-start']
21
+ },
22
+ widthType: {
23
+ type: 'enum',
24
+ values: ['percentage'],
25
+ default: 'percentage',
26
+ optional: true
27
+ }
28
+ }, {
29
+ width: {
30
+ type: 'number',
31
+ minimum: 0,
32
+ default: null,
33
+ optional: true
34
+ },
35
+ layout: {
36
+ type: 'enum',
37
+ values: ['wide', 'full-width', 'center', 'wrap-right', 'wrap-left', 'align-end', 'align-start'],
38
+ default: 'center'
39
+ },
40
+ widthType: {
41
+ type: 'enum',
42
+ values: ['pixel'],
43
+ default: 'pixel',
44
+ optional: true
45
+ }
46
+ }]
28
47
  },
29
48
  content: [$or(media)]
30
49
  }).variant('caption', {
@@ -7,6 +7,9 @@ export var mention = adfNode('mention').define({
7
7
  type: 'string',
8
8
  default: ''
9
9
  },
10
+ localId: {
11
+ type: 'string'
12
+ },
10
13
  text: {
11
14
  type: 'string',
12
15
  default: '',
@@ -14,7 +14,7 @@ export var panel = adfNode('panel').define({
14
14
  attrs: {
15
15
  panelType: {
16
16
  type: 'enum',
17
- values: ['info', 'note', 'tip', 'warning', 'error', 'success'],
17
+ values: ['info', 'note', 'tip', 'warning', 'error', 'success', 'custom'],
18
18
  default: 'info'
19
19
  },
20
20
  panelIcon: {
@@ -3,6 +3,7 @@ export var status = adfNode('status').define({
3
3
  selectable: true,
4
4
  attrs: {
5
5
  text: {
6
+ minLength: 1,
6
7
  type: 'string',
7
8
  default: ''
8
9
  },
@@ -6,6 +6,10 @@ export var table = adfNode('table').define({
6
6
  selectable: true,
7
7
  marks: [fragment],
8
8
  attrs: {
9
+ displayMode: {
10
+ type: 'enum',
11
+ values: ['default', 'fixed']
12
+ },
9
13
  isNumberColumnEnabled: {
10
14
  type: 'boolean',
11
15
  default: false,
@@ -13,12 +17,13 @@ export var table = adfNode('table').define({
13
17
  },
14
18
  layout: {
15
19
  type: 'enum',
16
- values: ['default', 'wide', 'full-width'],
20
+ values: ['wide', 'full-width', 'center', 'align-end', 'align-start', 'default'],
17
21
  default: 'default',
18
22
  optional: true
19
23
  },
20
24
  localId: {
21
25
  type: 'string',
26
+ minLength: 1,
22
27
  default: '',
23
28
  optional: true
24
29
  },
@@ -29,7 +29,7 @@ export var tableCell = adfNode('tableCell').define({
29
29
  default: 1,
30
30
  optional: true
31
31
  },
32
- colswidth: {
32
+ colwidth: {
33
33
  type: 'numberList',
34
34
  default: [],
35
35
  optional: true
@@ -29,7 +29,7 @@ export var tableHeader = adfNode('tableHeader').define({
29
29
  default: 1,
30
30
  optional: true
31
31
  },
32
- colswidth: {
32
+ colwidth: {
33
33
  type: 'numberList',
34
34
  default: [],
35
35
  optional: true
@@ -11,7 +11,7 @@ var getCommonAttributesFromDom = function getCommonAttributesFromDom(dom) {
11
11
  var datasource = anchor.getAttribute('data-datasource');
12
12
  return {
13
13
  data: data ? JSON.parse(data) : undefined,
14
- layout: datasource ? dom.getAttribute('data-layout') || 'center' : undefined,
14
+ layout: datasource ? dom.getAttribute('data-layout') || undefined : undefined,
15
15
  width: Number(dom.getAttribute('data-width')) || undefined,
16
16
  datasource: datasource ? JSON.parse(datasource) : undefined
17
17
  };