@atlaskit/adf-schema 56.7.2 → 57.0.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 (64) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/compass.yml +3 -3
  3. package/dist/cjs/next-schema/full-schema.adf.js +1 -1
  4. package/dist/cjs/next-schema/generated/nodeTypes.js +29 -4
  5. package/dist/cjs/next-schema/nodes/layoutColumn.js +3 -1
  6. package/dist/cjs/next-schema/nodes/panel.js +9 -4
  7. package/dist/cjs/schema/marks/background-color.js +0 -2
  8. package/dist/cjs/schema/marks/strong.js +0 -2
  9. package/dist/cjs/schema/marks/text-color.js +0 -2
  10. package/dist/cjs/schema/nodes/code-block.js +0 -3
  11. package/dist/cjs/schema/nodes/media.js +3 -7
  12. package/dist/cjs/schema/nodes/panel.js +2 -2
  13. package/dist/cjs/schema/nodes/status.js +0 -1
  14. package/dist/cjs/schema/nodes/tableNodes.js +0 -4
  15. package/dist/cjs/schema/sanitizeNodes.js +0 -3
  16. package/dist/cjs/steps/batch-attrs-step.js +1 -1
  17. package/dist/cjs/utils/colors.js +0 -6
  18. package/dist/cjs/utils/lch-color-inversion.js +0 -2
  19. package/dist/cjs/utils/uuid.js +4 -7
  20. package/dist/cjs/validator-schema/generated/validatorSpec.js +29 -4
  21. package/dist/es2019/next-schema/full-schema.adf.js +1 -1
  22. package/dist/es2019/next-schema/generated/nodeTypes.js +28 -3
  23. package/dist/es2019/next-schema/index.js +1 -1
  24. package/dist/es2019/next-schema/nodes/layoutColumn.js +3 -1
  25. package/dist/es2019/next-schema/nodes/panel.js +9 -4
  26. package/dist/es2019/schema/marks/background-color.js +0 -2
  27. package/dist/es2019/schema/marks/strong.js +0 -2
  28. package/dist/es2019/schema/marks/text-color.js +0 -2
  29. package/dist/es2019/schema/nodes/code-block.js +0 -3
  30. package/dist/es2019/schema/nodes/media.js +1 -4
  31. package/dist/es2019/schema/nodes/panel.js +1 -1
  32. package/dist/es2019/schema/nodes/status.js +0 -1
  33. package/dist/es2019/schema/nodes/tableNodes.js +0 -4
  34. package/dist/es2019/schema/sanitizeNodes.js +0 -3
  35. package/dist/es2019/steps/batch-attrs-step.js +1 -0
  36. package/dist/es2019/utils/colors.js +0 -6
  37. package/dist/es2019/utils/lch-color-inversion.js +0 -2
  38. package/dist/es2019/utils/uuid.js +1 -3
  39. package/dist/es2019/validator-schema/generated/validatorSpec.js +28 -3
  40. package/dist/esm/next-schema/full-schema.adf.js +1 -1
  41. package/dist/esm/next-schema/generated/nodeTypes.js +28 -3
  42. package/dist/esm/next-schema/index.js +1 -1
  43. package/dist/esm/next-schema/nodes/layoutColumn.js +3 -1
  44. package/dist/esm/next-schema/nodes/panel.js +9 -4
  45. package/dist/esm/schema/marks/background-color.js +0 -2
  46. package/dist/esm/schema/marks/strong.js +0 -2
  47. package/dist/esm/schema/marks/text-color.js +0 -2
  48. package/dist/esm/schema/nodes/code-block.js +0 -3
  49. package/dist/esm/schema/nodes/media.js +3 -7
  50. package/dist/esm/schema/nodes/panel.js +1 -1
  51. package/dist/esm/schema/nodes/status.js +0 -1
  52. package/dist/esm/schema/nodes/tableNodes.js +0 -4
  53. package/dist/esm/schema/sanitizeNodes.js +0 -3
  54. package/dist/esm/steps/batch-attrs-step.js +1 -0
  55. package/dist/esm/utils/colors.js +0 -6
  56. package/dist/esm/utils/lch-color-inversion.js +0 -2
  57. package/dist/esm/utils/uuid.js +4 -7
  58. package/dist/esm/validator-schema/generated/validatorSpec.js +28 -3
  59. package/dist/json-schema/v1/stage-0.json +215 -1
  60. package/dist/types/next-schema/generated/nodeGroupTypes.d.ts +2 -2
  61. package/dist/types/next-schema/generated/nodeTypes.d.ts +21 -6
  62. package/dist/types/validator-schema/generated/validatorSpec.d.ts +26 -1
  63. package/json-schema/v1/stage-0.json +215 -1
  64. package/package.json +3 -3
@@ -48,8 +48,6 @@ const colorArrayPaletteNew = [[Neutral300, 'Gray'],
48
48
  // @see https://product-fabric.atlassian.net/wiki/spaces/E/pages/55979455/Colour+picker+decisions#Colourpickerdecisions-Visualdesigndecisions
49
49
  export const backgroundColorPalette = new Map();
50
50
  colorArrayPalette.forEach(([color, label]) => backgroundColorPalette.set(color.toLowerCase(), label));
51
-
52
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
53
51
  const RGB_PREFIX_BG_COLOR_REGEX = /^rgb/iu;
54
52
  export const backgroundColorPaletteNew = new Map();
55
53
  colorArrayPaletteNew.forEach(([color, label]) => backgroundColorPaletteNew.set(color.toLowerCase(), label));
@@ -5,8 +5,6 @@ import { strong as strongFactory } from '../../next-schema/generated/markTypes';
5
5
  */
6
6
 
7
7
  const strongDOM = ['strong'];
8
-
9
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
10
8
  const BOLD_FONT_WEIGHT_REGEX = /^(bold(er)?|[5-9]\d{2,})$/u;
11
9
  export const strong = strongFactory({
12
10
  parseDOM: [{
@@ -135,8 +135,6 @@ export const getGlobalTheme = () => {
135
135
  colorMode
136
136
  };
137
137
  };
138
-
139
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
140
138
  const RGB_PREFIX_TEXT_COLOR_REGEX = /^rgb/iu;
141
139
  export const textColor = textColorFactory({
142
140
  parseDOM: [{
@@ -31,10 +31,7 @@ const getLanguageFromCode = dom => {
31
31
  return firstChild.getAttribute('data-language') || undefined;
32
32
  }
33
33
  };
34
-
35
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
36
34
  const LANGUAGE_CLASS_REGEX = /(?:^|\s)language-([^\s]+)/u;
37
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
38
35
  const TRAILING_NEWLINE_REGEX = /\n$/u;
39
36
  const extractLanguageFromClass = className => {
40
37
  const result = LANGUAGE_CLASS_REGEX.exec(className);
@@ -9,11 +9,8 @@ import { uuid } from '../../utils/uuid';
9
9
  export const defaultAttrs = {
10
10
  ...mediaFactory({}).attrs
11
11
  };
12
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
13
12
  const PRIVATE_ATTR_PREFIX_REGEX = /^__/u;
14
- export const camelCaseToKebabCase = str =>
15
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
16
- str.replace(/([^A-Z]+)([A-Z])/gu, (_, x, y) => `${x}-${y.toLowerCase()}`);
13
+ export const camelCaseToKebabCase = str => str.replace(/([^A-Z]+)([A-Z])/gu, (_, x, y) => `${x}-${y.toLowerCase()}`);
17
14
  export const copyPrivateAttributes = (from, to, attributes, map) => {
18
15
  const attrs = attributes || {};
19
16
  Object.keys(attrs).forEach(key => {
@@ -1,4 +1,4 @@
1
- import { panel as panelFactory, panelC1 as panelC1Factory } from '../../next-schema/generated/nodeTypes';
1
+ import { panel as panelFactory, panelC1Stage0 as panelC1Factory } from '../../next-schema/generated/nodeTypes';
2
2
  import { uuid } from '../../utils/uuid';
3
3
  export let PanelType = /*#__PURE__*/function (PanelType) {
4
4
  PanelType["INFO"] = "info";
@@ -1,6 +1,5 @@
1
1
  import { uuid } from '../../utils/uuid';
2
2
  import { status as statusFactory } from '../../next-schema/generated/nodeTypes';
3
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
4
3
  const NEWLINE_REGEX = /\n/u;
5
4
 
6
5
  /**
@@ -5,8 +5,6 @@ import { getDarkModeLCHColor } from '../../utils/lch-color-inversion';
5
5
  import { table as tableFactory, tableWithNestedTable as tableWithNestedTableFactory, tableRow as tableRowFactory, tableRowWithNestedTable as tableRowWithNestedTableFactory, tableHeader as tableHeaderFactory, tableHeaderWithNestedTable as tableHeaderWithNestedTableFactory, tableCell as tableCellFactory, tableCellWithNestedTable as tableCellWithNestedTableFactory } from '../../next-schema/generated/nodeTypes';
6
6
  import { parseValign } from './types/valign';
7
7
  export const tablePrefixSelector = 'pm-table';
8
-
9
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
10
8
  const COL_WIDTH_ATTR_REGEX = /^\d+(,\d+)*$/u;
11
9
  export const tableCellSelector = `${tablePrefixSelector}-cell-content-wrap`;
12
10
  export const tableHeaderSelector = `${tablePrefixSelector}-header-content-wrap`;
@@ -81,8 +79,6 @@ const getGlobalTheme = () => {
81
79
  colorMode
82
80
  };
83
81
  };
84
-
85
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
86
82
  const cssVariablePattern = /^var\(--.*\)$/u;
87
83
 
88
84
  /**
@@ -16,7 +16,6 @@ export function sanitizeNodes(nodes, supportedMarks) {
16
16
  return nodes;
17
17
  }
18
18
  function sanitizeNodeSpecContent(nodes, rawContent) {
19
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
20
19
  const content = rawContent.replace(/\W/gu, ' ');
21
20
  const contentKeys = content.split(' ');
22
21
  const unsupportedContentKeys = Array.from(new Set(contentKeys.filter(contentKey => !isContentSupported(nodes, contentKey)))
@@ -24,8 +23,6 @@ function sanitizeNodeSpecContent(nodes, rawContent) {
24
23
  ).sort((a, b) => b.length - a.length);
25
24
  return unsupportedContentKeys.reduce((newContent, nodeName) => sanitizedContent(newContent, nodeName), rawContent);
26
25
  }
27
-
28
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
29
26
  const WORD_CHAR_REGEX = /\w/u;
30
27
  function sanitizedContent(content, invalidContent) {
31
28
  if (!invalidContent.length) {
@@ -1,3 +1,4 @@
1
+ // oxlint-disable-next-line import/no-duplicates
1
2
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
2
3
  import { Step, StepResult } from '@atlaskit/editor-prosemirror/transform';
3
4
  const stepType = 'batchAttrs';
@@ -1,4 +1,3 @@
1
- // @ts-ignore
2
1
  // eslint-disable-next-line import/no-namespace
3
2
  import * as namedColors from 'css-color-names';
4
3
 
@@ -159,14 +158,12 @@ export function hexToRgba(rawColor, alpha) {
159
158
  return null;
160
159
  }
161
160
  const hex2rgb = color => {
162
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
163
161
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
164
162
  return color.match(/[a-z0-9]{2}/giu).map(hex => parseInt(hex, 16));
165
163
  };
166
164
  return `rgba(${hex2rgb(color).concat(alpha).join(',')})`;
167
165
  }
168
166
  export function rgbToHex(value) {
169
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
170
167
  const matches = value.match(/(0?\.?\d{1,3})%?\b/gu);
171
168
  if (matches && matches.length >= 3) {
172
169
  const [red, green, blue] = matches.map(Number);
@@ -174,10 +171,7 @@ export function rgbToHex(value) {
174
171
  }
175
172
  return null;
176
173
  }
177
-
178
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
179
174
  const IS_RGB_REGEX = /rgba?\(/u;
180
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
181
175
  const IS_HEX_REGEX = /^#([A-Fa-f0-9]{3}){1,2}$/u;
182
176
  export function isRgb(color) {
183
177
  return IS_RGB_REGEX.test(color);
@@ -4,9 +4,7 @@
4
4
 
5
5
  // https://en.wikipedia.org/wiki/CIELAB_color_space
6
6
 
7
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
8
7
  const SHORTHAND_HEX_REGEX = /^#?([a-f\d])([a-f\d])([a-f\d])$/iu;
9
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
10
8
  const FULL_HEX_REGEX = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/iu;
11
9
  const clamp = (i, min, max) => Math.round(Math.min(Math.max(i, min), max));
12
10
  const expandShorthandHex = input => input.replace(SHORTHAND_HEX_REGEX, (_m, r, g, b) => r + r + g + g + b + b);
@@ -1,6 +1,4 @@
1
- export const generateUuid = () =>
2
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
3
- 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {
1
+ export const generateUuid = () => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, c => {
4
2
  const r = Math.random() * 16 | 0;
5
3
  return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
6
4
  });
@@ -257,7 +257,7 @@ export const bodiedSyncBlock = {
257
257
  },
258
258
  content: {
259
259
  allowUnsupportedBlock: true,
260
- items: [['paragraph', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'blockCard', 'blockquote', 'bulletList', 'codeBlock', 'decisionList', 'embedCard', 'expand', 'heading', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'layoutSection', 'layoutSection_with_single_column', 'layoutSection_full', 'mediaGroup', 'mediaSingle', 'mediaSingle_caption', 'mediaSingle_full', 'mediaSingle_width_type', 'orderedList', 'panel', 'rule', 'table', 'taskList']],
260
+ items: [['paragraph', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'blockCard', 'blockquote', 'bulletList', 'codeBlock', 'decisionList', 'embedCard', 'expand', 'heading', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'layoutSection', 'layoutSection_with_single_column', 'layoutSection_full', 'mediaGroup', 'mediaSingle', 'mediaSingle_caption', 'mediaSingle_full', 'mediaSingle_width_type', 'orderedList', 'panel', 'panel_c1', 'rule', 'table', 'taskList']],
261
261
  minItems: 1,
262
262
  type: 'array'
263
263
  },
@@ -522,7 +522,7 @@ export const doc = {
522
522
  props: {
523
523
  content: {
524
524
  allowUnsupportedBlock: true,
525
- items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'codeBlock_root_only', 'panel_root_only', 'rule_root_only', 'extension_root_only', 'bodiedExtension_root_only', 'multiBodiedExtension_root_only', 'layoutSection_with_single_column', 'layoutSection_full', 'multiBodiedExtension', 'expand_root_only', 'syncBlock', 'bodiedSyncBlock']],
525
+ items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'codeBlock_root_only', 'panel_root_only', 'panel_c1', 'panel_c1_root_only', 'rule_root_only', 'extension_root_only', 'bodiedExtension_root_only', 'multiBodiedExtension_root_only', 'layoutSection_with_single_column', 'layoutSection_full', 'multiBodiedExtension', 'expand_root_only', 'syncBlock', 'bodiedSyncBlock']],
526
526
  type: 'array'
527
527
  },
528
528
  type: {
@@ -969,7 +969,7 @@ export const layoutColumn = {
969
969
  },
970
970
  content: {
971
971
  allowUnsupportedBlock: true,
972
- items: ['block_content'],
972
+ items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'panel_c1']],
973
973
  minItems: 1,
974
974
  type: 'array'
975
975
  },
@@ -1547,6 +1547,31 @@ export const panel = {
1547
1547
  }
1548
1548
  }
1549
1549
  };
1550
+ export const panel_c1 = ['panel', {
1551
+ props: {
1552
+ content: {
1553
+ allowUnsupportedBlock: true,
1554
+ items: [['paragraph_with_no_marks', 'paragraph_with_font_size', 'heading_with_no_marks', 'bulletList', 'orderedList', 'blockCard', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'rule', 'decisionList', 'extension_with_marks', 'table']],
1555
+ minItems: 1,
1556
+ type: 'array'
1557
+ }
1558
+ }
1559
+ }];
1560
+ export const panel_c1_root_only = ['panel', {
1561
+ props: {
1562
+ content: {
1563
+ allowUnsupportedBlock: true,
1564
+ items: [['paragraph_with_no_marks', 'paragraph_with_font_size', 'heading_with_no_marks', 'bulletList', 'orderedList', 'blockCard', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'rule', 'decisionList', 'extension_with_marks', 'table']],
1565
+ minItems: 1,
1566
+ type: 'array'
1567
+ },
1568
+ marks: {
1569
+ items: ['breakout'],
1570
+ optional: true,
1571
+ type: 'array'
1572
+ }
1573
+ }
1574
+ }];
1550
1575
  export const panel_root_only = ['panel', {
1551
1576
  props: {
1552
1577
  marks: {
@@ -15,7 +15,7 @@ import { rule } from './nodes/rule';
15
15
  var doc = adfNode('doc').define({
16
16
  root: true,
17
17
  version: 1,
18
- content: [$onePlus($or(blockGroup, blockContentGroup, codeBlock.use('root_only'), panel.use('root_only'), rule.use('root_only'), extension.use('root_only'), bodiedExtension.use('root_only'), multiBodiedExtension.use('root_only'), layoutSection, layoutSection.use('with_single_column'), layoutSection.use('full'), blockRootOnlyGroup, expand.use('root_only'), syncBlock, bodiedSyncBlock))],
18
+ content: [$onePlus($or(blockGroup, blockContentGroup, codeBlock.use('root_only'), panel.use('root_only'), panel.use('c1'), panel.use('c1_root_only'), rule.use('root_only'), extension.use('root_only'), bodiedExtension.use('root_only'), multiBodiedExtension.use('root_only'), layoutSection, layoutSection.use('with_single_column'), layoutSection.use('full'), blockRootOnlyGroup, expand.use('root_only'), syncBlock, bodiedSyncBlock))],
19
19
  DANGEROUS_MANUAL_OVERRIDE: {
20
20
  'validator-spec': {
21
21
  'props.content.minItems': {
@@ -325,7 +325,7 @@ export var decisionList = createPMNodeSpecFactory({
325
325
  defining: true
326
326
  });
327
327
  export var doc = createPMNodeSpecFactory({
328
- content: '(block | codeBlock | panel | rule | extension | bodiedExtension | multiBodiedExtension | layoutSection | blockRootOnly | expand | syncBlock | bodiedSyncBlock)+',
328
+ content: '(block | codeBlock | panel | panel_c1 | panel_c1_root_only | rule | extension | bodiedExtension | multiBodiedExtension | layoutSection | blockRootOnly | expand | syncBlock | bodiedSyncBlock)+',
329
329
  marks: 'unsupportedMark unsupportedNodeAttribute fontSize alignment indentation dataConsumer fragment breakout'
330
330
  });
331
331
  export var embedCard = createPMNodeSpecFactory({
@@ -671,7 +671,7 @@ export var inlineExtensionWithMarks = createPMNodeSpecFactory({
671
671
  selectable: true
672
672
  });
673
673
  export var layoutColumn = createPMNodeSpecFactory({
674
- content: '(block | unsupportedBlock)+',
674
+ content: '(block | unsupportedBlock | panel_c1)+',
675
675
  marks: 'unsupportedMark unsupportedNodeAttribute fontSize alignment indentation dataConsumer fragment',
676
676
  attrs: {
677
677
  width: {
@@ -1087,7 +1087,32 @@ export var panel = createPMNodeSpecFactory({
1087
1087
  },
1088
1088
  selectable: true
1089
1089
  });
1090
- export var panelC1 = createPMNodeSpecFactory({
1090
+ export var panelC1RootOnlyStage0 = createPMNodeSpecFactory({
1091
+ content: '(paragraph | heading | bulletList | orderedList | blockCard | mediaGroup | mediaSingle | codeBlock | taskList | rule | decisionList | unsupportedBlock | extension | table)+',
1092
+ marks: 'fontSize unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1093
+ attrs: {
1094
+ panelType: {
1095
+ default: 'info'
1096
+ },
1097
+ panelIcon: {
1098
+ default: null
1099
+ },
1100
+ panelIconId: {
1101
+ default: null
1102
+ },
1103
+ panelIconText: {
1104
+ default: null
1105
+ },
1106
+ panelColor: {
1107
+ default: null
1108
+ },
1109
+ localId: {
1110
+ default: null
1111
+ }
1112
+ },
1113
+ selectable: true
1114
+ });
1115
+ export var panelC1Stage0 = createPMNodeSpecFactory({
1091
1116
  content: '(paragraph | heading | bulletList | orderedList | blockCard | mediaGroup | mediaSingle | codeBlock | taskList | rule | decisionList | unsupportedBlock | extension | table)+',
1092
1117
  marks: 'fontSize unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
1093
1118
  group: 'block',
@@ -1,4 +1,4 @@
1
- /* eslint-disable @atlassian/tangerine/export/no-export-all, @atlaskit/editor/no-re-export */
1
+ /* eslint-disable @atlaskit/editor/no-re-export */
2
2
  export * from './generated/markTypes';
3
3
  export * from './generated/nodeTypes';
4
4
  export * from './generated/nodeGroupTypes';
@@ -4,6 +4,7 @@ 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
+ import { panel } from './panel';
7
8
  var layoutColumnAttributes = {
8
9
  width: {
9
10
  type: 'number',
@@ -28,5 +29,6 @@ export var layoutColumn = adfNode('layoutColumn').define({
28
29
  selectable: false,
29
30
  marks: [unsupportedMark, unsupportedNodeAttribute],
30
31
  attrs: layoutColumnAttributes,
31
- content: [$onePlus($or(blockGroup, blockContentGroup, unsupportedBlock))]
32
+ // panel_c1 (table-in-panel) is also valid inside a layout column.
33
+ content: [$onePlus($or(blockGroup, blockContentGroup, unsupportedBlock, panel.use('c1')))]
32
34
  });
@@ -53,9 +53,14 @@ export var panel = adfNode('panel').define({
53
53
  },
54
54
  content: [$onePlus($or.apply(void 0, panelContent.concat([extension.use('with_marks')])))]
55
55
  }).variant('c1', {
56
- // panel_c1 allows all standard panel content plus table.
56
+ // panel_c1 allows all standard panel content plus table. `stage0: true` includes it in the
57
+ // stage-0 JSON schema (not full) and the validator spec so table-in-panel validates.
58
+ // `noExtend` emits it as a standalone JSON Schema definition because its content is a
59
+ // superset of panel_node (adds table), which an allOf extension cannot express. Runtime
60
+ // acceptance is gated in adf-utils behind the patch flag.
61
+ stage0: true,
62
+ noExtend: true,
57
63
  content: [$onePlus($or.apply(void 0, panelContent.concat([extension.use('with_marks'), table])))],
58
- ignore: ['json-schema', 'validator-spec'],
59
64
  preserveVariantNameInPm: true
60
65
  })
61
66
  // this variant is used to support breakout resizing for panel nodes at the document root
@@ -66,9 +71,9 @@ export var panel = adfNode('panel').define({
66
71
  // this variant is used to support breakout resizing for panel_c1 nodes at the document root
67
72
  .variant('c1_root_only', {
68
73
  stage0: true,
74
+ noExtend: true,
69
75
  marks: [breakout, unsupportedMark, unsupportedNodeAttribute],
70
- // panel_c1_root_only allows all standard panel content plus table.
76
+ // panel_c1_root_only allows all standard panel content plus table (see c1 above).
71
77
  content: [$onePlus($or.apply(void 0, panelContent.concat([extension.use('with_marks'), table])))],
72
- ignore: ['json-schema', 'validator-spec'],
73
78
  preserveVariantNameInPm: true
74
79
  });
@@ -55,8 +55,6 @@ colorArrayPalette.forEach(function (_ref) {
55
55
  label = _ref2[1];
56
56
  return backgroundColorPalette.set(color.toLowerCase(), label);
57
57
  });
58
-
59
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
60
58
  var RGB_PREFIX_BG_COLOR_REGEX = /^rgb/i;
61
59
  export var backgroundColorPaletteNew = new Map();
62
60
  colorArrayPaletteNew.forEach(function (_ref3) {
@@ -5,8 +5,6 @@ import { strong as strongFactory } from '../../next-schema/generated/markTypes';
5
5
  */
6
6
 
7
7
  var strongDOM = ['strong'];
8
-
9
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
10
8
  var BOLD_FONT_WEIGHT_REGEX = /^(bold(er)?|[5-9][0-9]{2,})$/;
11
9
  export var strong = strongFactory({
12
10
  parseDOM: [{
@@ -147,8 +147,6 @@ export var getGlobalTheme = function getGlobalTheme() {
147
147
  colorMode: colorMode
148
148
  };
149
149
  };
150
-
151
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
152
150
  var RGB_PREFIX_TEXT_COLOR_REGEX = /^rgb/i;
153
151
  export var textColor = textColorFactory({
154
152
  parseDOM: [{
@@ -31,10 +31,7 @@ var getLanguageFromCode = function getLanguageFromCode(dom) {
31
31
  return firstChild.getAttribute('data-language') || undefined;
32
32
  }
33
33
  };
34
-
35
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
36
34
  var LANGUAGE_CLASS_REGEX = /(?:^|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])language-((?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)/;
37
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
38
35
  var TRAILING_NEWLINE_REGEX = /\n$/;
39
36
  var extractLanguageFromClass = function extractLanguageFromClass(className) {
40
37
  var result = LANGUAGE_CLASS_REGEX.exec(className);
@@ -10,15 +10,11 @@ import { uuid } from '../../utils/uuid';
10
10
  */
11
11
 
12
12
  export var defaultAttrs = _objectSpread({}, mediaFactory({}).attrs);
13
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
14
13
  var PRIVATE_ATTR_PREFIX_REGEX = /^__/;
15
14
  export var camelCaseToKebabCase = function camelCaseToKebabCase(str) {
16
- return (
17
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
18
- str.replace(/((?:[\0-@\[-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)([A-Z])/g, function (_, x, y) {
19
- return "".concat(x, "-").concat(y.toLowerCase());
20
- })
21
- );
15
+ return str.replace(/((?:[\0-@\[-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)([A-Z])/g, function (_, x, y) {
16
+ return "".concat(x, "-").concat(y.toLowerCase());
17
+ });
22
18
  };
23
19
  export var copyPrivateAttributes = function copyPrivateAttributes(from, to, attributes, map) {
24
20
  var attrs = attributes || {};
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  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; }
3
3
  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) { _defineProperty(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; }
4
- import { panel as panelFactory, panelC1 as panelC1Factory } from '../../next-schema/generated/nodeTypes';
4
+ import { panel as panelFactory, panelC1Stage0 as panelC1Factory } from '../../next-schema/generated/nodeTypes';
5
5
  import { uuid } from '../../utils/uuid';
6
6
  export var PanelType = /*#__PURE__*/function (PanelType) {
7
7
  PanelType["INFO"] = "info";
@@ -1,6 +1,5 @@
1
1
  import { uuid } from '../../utils/uuid';
2
2
  import { status as statusFactory } from '../../next-schema/generated/nodeTypes';
3
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
4
3
  var NEWLINE_REGEX = /\n/;
5
4
 
6
5
  /**
@@ -9,8 +9,6 @@ import { getDarkModeLCHColor } from '../../utils/lch-color-inversion';
9
9
  import { table as tableFactory, tableWithNestedTable as tableWithNestedTableFactory, tableRow as tableRowFactory, tableRowWithNestedTable as tableRowWithNestedTableFactory, tableHeader as tableHeaderFactory, tableHeaderWithNestedTable as tableHeaderWithNestedTableFactory, tableCell as tableCellFactory, tableCellWithNestedTable as tableCellWithNestedTableFactory } from '../../next-schema/generated/nodeTypes';
10
10
  import { parseValign } from './types/valign';
11
11
  export var tablePrefixSelector = 'pm-table';
12
-
13
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
14
12
  var COL_WIDTH_ATTR_REGEX = /^[0-9]+(,[0-9]+)*$/;
15
13
  export var tableCellSelector = "".concat(tablePrefixSelector, "-cell-content-wrap");
16
14
  export var tableHeaderSelector = "".concat(tablePrefixSelector, "-header-content-wrap");
@@ -84,8 +82,6 @@ var getGlobalTheme = function getGlobalTheme() {
84
82
  colorMode: colorMode
85
83
  };
86
84
  };
87
-
88
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
89
85
  var cssVariablePattern = /^var\(--(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*\)$/;
90
86
 
91
87
  /**
@@ -19,7 +19,6 @@ export function sanitizeNodes(nodes, supportedMarks) {
19
19
  return nodes;
20
20
  }
21
21
  function sanitizeNodeSpecContent(nodes, rawContent) {
22
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
23
22
  var content = rawContent.replace(/(?:[\0-\/:-@\[-\^`\{-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g, ' ');
24
23
  var contentKeys = content.split(' ');
25
24
  var unsupportedContentKeys = Array.from(new Set(contentKeys.filter(function (contentKey) {
@@ -33,8 +32,6 @@ function sanitizeNodeSpecContent(nodes, rawContent) {
33
32
  return sanitizedContent(newContent, nodeName);
34
33
  }, rawContent);
35
34
  }
36
-
37
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
38
35
  var WORD_CHAR_REGEX = /[0-9A-Z_a-z]/;
39
36
  function sanitizedContent(content, invalidContent) {
40
37
  if (!invalidContent.length) {
@@ -9,6 +9,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
9
9
  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) { _defineProperty(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; }
10
10
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
11
11
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
+ // oxlint-disable-next-line import/no-duplicates
12
13
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
13
14
  import { Step, StepResult } from '@atlaskit/editor-prosemirror/transform';
14
15
  var stepType = 'batchAttrs';
@@ -1,5 +1,4 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- // @ts-ignore
3
2
  // eslint-disable-next-line import/no-namespace
4
3
  import * as namedColors from 'css-color-names';
5
4
 
@@ -162,7 +161,6 @@ export function hexToRgba(rawColor, alpha) {
162
161
  return null;
163
162
  }
164
163
  var hex2rgb = function hex2rgb(color) {
165
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
166
164
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
167
165
  return color.match(/[0-9a-z\u017F\u212A]{2}/gi).map(function (hex) {
168
166
  return parseInt(hex, 16);
@@ -171,7 +169,6 @@ export function hexToRgba(rawColor, alpha) {
171
169
  return "rgba(".concat(hex2rgb(color).concat(alpha).join(','), ")");
172
170
  }
173
171
  export function rgbToHex(value) {
174
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
175
172
  var matches = value.match(/(0?\.?[0-9]{1,3})%?\b/g);
176
173
  if (matches && matches.length >= 3) {
177
174
  var _matches$map = matches.map(Number),
@@ -183,10 +180,7 @@ export function rgbToHex(value) {
183
180
  }
184
181
  return null;
185
182
  }
186
-
187
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
188
183
  var IS_RGB_REGEX = /rgba?\(/;
189
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
190
184
  var IS_HEX_REGEX = /^#([0-9A-Fa-f]{3}){1,2}$/;
191
185
  export function isRgb(color) {
192
186
  return IS_RGB_REGEX.test(color);
@@ -4,9 +4,7 @@
4
4
 
5
5
  // https://en.wikipedia.org/wiki/CIELAB_color_space
6
6
 
7
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
8
7
  var SHORTHAND_HEX_REGEX = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i;
9
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
10
8
  var FULL_HEX_REGEX = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
11
9
  var clamp = function clamp(i, min, max) {
12
10
  return Math.round(Math.min(Math.max(i, min), max));
@@ -1,11 +1,8 @@
1
1
  export var generateUuid = function generateUuid() {
2
- return (
3
- // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later.
4
- 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
5
- var r = Math.random() * 16 | 0;
6
- return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
7
- })
8
- );
2
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
3
+ var r = Math.random() * 16 | 0;
4
+ return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
5
+ });
9
6
  };
10
7
  var staticValue = false;
11
8
  export var uuid = {
@@ -257,7 +257,7 @@ export var bodiedSyncBlock = {
257
257
  },
258
258
  content: {
259
259
  allowUnsupportedBlock: true,
260
- items: [['paragraph', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'blockCard', 'blockquote', 'bulletList', 'codeBlock', 'decisionList', 'embedCard', 'expand', 'heading', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'layoutSection', 'layoutSection_with_single_column', 'layoutSection_full', 'mediaGroup', 'mediaSingle', 'mediaSingle_caption', 'mediaSingle_full', 'mediaSingle_width_type', 'orderedList', 'panel', 'rule', 'table', 'taskList']],
260
+ items: [['paragraph', 'paragraph_with_alignment', 'paragraph_with_indentation', 'paragraph_with_no_marks', 'blockCard', 'blockquote', 'bulletList', 'codeBlock', 'decisionList', 'embedCard', 'expand', 'heading', 'heading_with_alignment', 'heading_with_indentation', 'heading_with_no_marks', 'layoutSection', 'layoutSection_with_single_column', 'layoutSection_full', 'mediaGroup', 'mediaSingle', 'mediaSingle_caption', 'mediaSingle_full', 'mediaSingle_width_type', 'orderedList', 'panel', 'panel_c1', 'rule', 'table', 'taskList']],
261
261
  minItems: 1,
262
262
  type: 'array'
263
263
  },
@@ -522,7 +522,7 @@ export var doc = {
522
522
  props: {
523
523
  content: {
524
524
  allowUnsupportedBlock: true,
525
- items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'codeBlock_root_only', 'panel_root_only', 'rule_root_only', 'extension_root_only', 'bodiedExtension_root_only', 'multiBodiedExtension_root_only', 'layoutSection_with_single_column', 'layoutSection_full', 'multiBodiedExtension', 'expand_root_only', 'syncBlock', 'bodiedSyncBlock']],
525
+ items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'codeBlock_root_only', 'panel_root_only', 'panel_c1', 'panel_c1_root_only', 'rule_root_only', 'extension_root_only', 'bodiedExtension_root_only', 'multiBodiedExtension_root_only', 'layoutSection_with_single_column', 'layoutSection_full', 'multiBodiedExtension', 'expand_root_only', 'syncBlock', 'bodiedSyncBlock']],
526
526
  type: 'array'
527
527
  },
528
528
  type: {
@@ -969,7 +969,7 @@ export var layoutColumn = {
969
969
  },
970
970
  content: {
971
971
  allowUnsupportedBlock: true,
972
- items: ['block_content'],
972
+ items: [['blockCard', 'paragraph_with_no_marks', 'paragraph_with_alignment', 'paragraph_with_indentation', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'bulletList', 'orderedList', 'heading_with_no_marks', 'heading_with_alignment', 'heading_with_indentation', 'mediaGroup', 'decisionList', 'rule', 'panel', 'blockquote', 'extension_with_marks', 'embedCard', 'table', 'expand', 'bodiedExtension_with_marks', 'panel_c1']],
973
973
  minItems: 1,
974
974
  type: 'array'
975
975
  },
@@ -1547,6 +1547,31 @@ export var panel = {
1547
1547
  }
1548
1548
  }
1549
1549
  };
1550
+ export var panel_c1 = ['panel', {
1551
+ props: {
1552
+ content: {
1553
+ allowUnsupportedBlock: true,
1554
+ items: [['paragraph_with_no_marks', 'paragraph_with_font_size', 'heading_with_no_marks', 'bulletList', 'orderedList', 'blockCard', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'rule', 'decisionList', 'extension_with_marks', 'table']],
1555
+ minItems: 1,
1556
+ type: 'array'
1557
+ }
1558
+ }
1559
+ }];
1560
+ export var panel_c1_root_only = ['panel', {
1561
+ props: {
1562
+ content: {
1563
+ allowUnsupportedBlock: true,
1564
+ items: [['paragraph_with_no_marks', 'paragraph_with_font_size', 'heading_with_no_marks', 'bulletList', 'orderedList', 'blockCard', 'mediaGroup', 'mediaSingle_caption', 'mediaSingle_full', 'codeBlock', 'taskList', 'rule', 'decisionList', 'extension_with_marks', 'table']],
1565
+ minItems: 1,
1566
+ type: 'array'
1567
+ },
1568
+ marks: {
1569
+ items: ['breakout'],
1570
+ optional: true,
1571
+ type: 'array'
1572
+ }
1573
+ }
1574
+ }];
1550
1575
  export var panel_root_only = ['panel', {
1551
1576
  props: {
1552
1577
  marks: {