@atlaskit/editor-common 68.0.0 → 69.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 +35 -0
  2. package/codemods/69.0.0-update-validator-imports.ts +7 -0
  3. package/codemods/migrates/entry-points.ts +37 -0
  4. package/dist/cjs/extensions/manifest-helpers.js +2 -2
  5. package/dist/cjs/styles/index.js +15 -1
  6. package/dist/cjs/styles/shared/block-marks.js +1 -1
  7. package/dist/cjs/styles/shared/code-block.js +58 -0
  8. package/dist/cjs/styles/shared/emoji.js +2 -1
  9. package/dist/cjs/styles/shared/panel.js +2 -1
  10. package/dist/cjs/styles/shared/table.js +1 -1
  11. package/dist/cjs/styles/shared/task-decision.js +1 -1
  12. package/dist/cjs/ui/Expand/index.js +1 -1
  13. package/dist/cjs/ui/Popup/index.js +38 -1
  14. package/dist/cjs/ui/clear-next-sibling-margin-top.js +11 -4
  15. package/dist/cjs/ui/index.js +6 -0
  16. package/dist/cjs/utils/index.js +0 -56
  17. package/dist/cjs/validator.js +6 -0
  18. package/dist/cjs/version.json +1 -1
  19. package/dist/es2019/styles/index.js +2 -1
  20. package/dist/es2019/styles/shared/block-marks.js +2 -1
  21. package/dist/es2019/styles/shared/code-block.js +94 -0
  22. package/dist/es2019/styles/shared/emoji.js +3 -2
  23. package/dist/es2019/styles/shared/panel.js +2 -1
  24. package/dist/es2019/styles/shared/table.js +2 -1
  25. package/dist/es2019/styles/shared/task-decision.js +2 -1
  26. package/dist/es2019/ui/Expand/index.js +2 -1
  27. package/dist/es2019/ui/Popup/index.js +24 -1
  28. package/dist/es2019/ui/clear-next-sibling-margin-top.js +9 -1
  29. package/dist/es2019/ui/index.js +1 -1
  30. package/dist/es2019/utils/index.js +0 -1
  31. package/dist/es2019/validator.js +1 -1
  32. package/dist/es2019/version.json +1 -1
  33. package/dist/esm/extensions/default-extension-provider.js +1 -1
  34. package/dist/esm/extensions/extension-fields-helpers.js +1 -1
  35. package/dist/esm/extensions/extension-handlers.js +1 -1
  36. package/dist/esm/extensions/manifest-helpers.js +1 -1
  37. package/dist/esm/extensions/module-helpers.js +1 -1
  38. package/dist/esm/provider-helpers/combine-providers.js +1 -1
  39. package/dist/esm/styles/index.js +2 -1
  40. package/dist/esm/styles/shared/block-marks.js +1 -1
  41. package/dist/esm/styles/shared/code-block.js +39 -0
  42. package/dist/esm/styles/shared/emoji.js +3 -2
  43. package/dist/esm/styles/shared/panel.js +2 -1
  44. package/dist/esm/styles/shared/table.js +1 -1
  45. package/dist/esm/styles/shared/task-decision.js +1 -1
  46. package/dist/esm/ui/Expand/index.js +1 -1
  47. package/dist/esm/ui/Popup/index.js +40 -1
  48. package/dist/esm/ui/clear-next-sibling-margin-top.js +8 -2
  49. package/dist/esm/ui/index.js +1 -1
  50. package/dist/esm/utils/index.js +0 -1
  51. package/dist/esm/validator.js +1 -1
  52. package/dist/esm/version.json +1 -1
  53. package/dist/types/provider-factory/card-provider.d.ts +1 -1
  54. package/dist/types/styles/index.d.ts +1 -0
  55. package/dist/types/styles/shared/code-block.d.ts +8 -0
  56. package/dist/types/styles/shared/emoji.d.ts +1 -0
  57. package/dist/types/styles/shared/panel.d.ts +1 -0
  58. package/dist/types/ui/Popup/index.d.ts +4 -0
  59. package/dist/types/ui/clear-next-sibling-margin-top.d.ts +1 -0
  60. package/dist/types/ui/index.d.ts +1 -1
  61. package/dist/types/utils/index.d.ts +0 -2
  62. package/dist/types/validator.d.ts +1 -1
  63. package/package.json +13 -12
  64. package/report.api.md +7 -0
@@ -21,7 +21,8 @@ export const tasksAndDecisionsStyles = css`
21
21
  }
22
22
 
23
23
  // If task list is first in the document then set margin top to zero.
24
- div[data-task-list-local-id]:first-child {
24
+ div[data-task-list-local-id]:first-child,
25
+ style:first-child + div[data-task-list-local-id] {
25
26
  margin-top: 0;
26
27
  }
27
28
 
@@ -127,7 +127,8 @@ const containerStyles = styleProps => {
127
127
  background: ${EXPAND_SELECTED_BACKGROUND(themeProps)};
128
128
  }
129
129
 
130
- td > &:first-child {
130
+ td > :not(style):first-child,
131
+ td > style:first-child + * {
131
132
  margin-top: 0;
132
133
  }
133
134
  `;
@@ -10,6 +10,8 @@ export default class Popup extends React.Component {
10
10
 
11
11
  super(...args);
12
12
 
13
+ _defineProperty(this, "rafIds", new Set());
14
+
13
15
  _defineProperty(this, "state", {
14
16
  validPosition: true
15
17
  });
@@ -24,7 +26,27 @@ export default class Popup extends React.Component {
24
26
  this.initPopup(popup);
25
27
  });
26
28
 
27
- _defineProperty(this, "scheduledUpdatePosition", rafSchedule(props => this.updatePosition(props)));
29
+ _defineProperty(this, "cancelRequestAnimationFrames", () => {
30
+ for (const rafId of this.rafIds) {
31
+ cancelAnimationFrame(rafId);
32
+ }
33
+ });
34
+
35
+ _defineProperty(this, "scheduledUpdatePosition", rafSchedule(props => {
36
+ if (!this.props.waitForExtraLayoutUpdates) {
37
+ this.updatePosition(this.props);
38
+ }
39
+
40
+ if (this.props.scheduleExtraLayoutUpdates) {
41
+ // We need two requestAnimationFrame calls to ensure reflow/repaints
42
+ // are flushed to DOM before our popup position recalculations happen
43
+ const rafId = requestAnimationFrame(() => {
44
+ this.updatePosition(this.props);
45
+ this.rafIds.delete(rafId);
46
+ });
47
+ this.rafIds.add(rafId);
48
+ }
49
+ }));
28
50
 
29
51
  _defineProperty(this, "onResize", () => this.scheduledUpdatePosition(this.props));
30
52
 
@@ -182,6 +204,7 @@ export default class Popup extends React.Component {
182
204
  }
183
205
 
184
206
  this.scheduledUpdatePosition.cancel();
207
+ this.cancelRequestAnimationFrames();
185
208
  }
186
209
 
187
210
  renderPopup() {
@@ -1,7 +1,15 @@
1
1
  import { css } from '@emotion/react'; // We use !important to ensure next sibling gets the margin reset no matter what
2
2
 
3
+ const marginTopReset = `margin-top: 0 !important;`;
3
4
  export const clearNextSiblingMarginTopStyle = css`
4
5
  & + * {
5
- margin-top: 0 !important;
6
+ ${marginTopReset}
7
+ }
8
+ `;
9
+ const textElements = ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
10
+ const nextSiblingBlockMarkContentSelectors = textElements.map(elem => `+ .fabric-editor-block-mark > ${elem}`).join(',');
11
+ export const clearNextSiblingBlockMarkMarginTopStyle = css`
12
+ ${nextSiblingBlockMarkContentSelectors} {
13
+ ${marginTopReset}
6
14
  }
7
15
  `;
@@ -14,5 +14,5 @@ export { shadowObserverClassNames, ShadowObserver } from './OverflowShadow/shado
14
14
  export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
15
15
  export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef } from './Expand';
16
16
  export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
17
- export { clearNextSiblingMarginTopStyle } from './clear-next-sibling-margin-top';
17
+ export { clearNextSiblingMarginTopStyle, clearNextSiblingBlockMarkMarginTopStyle } from './clear-next-sibling-margin-top';
18
18
  export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE } from './IntlErrorBoundary';
@@ -1,6 +1,5 @@
1
1
  export { canApplyAnnotationOnRange, getAnnotationIdsFromRange } from './annotation';
2
2
  export { getExtensionLozengeData } from './macro';
3
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder } from './validator';
4
3
  export { default as browser } from './browser';
5
4
  export { default as ErrorReporter } from './error-reporter';
6
5
  export { isPastDate, timestampToIsoFormat, timestampToString, timestampToTaskContext, timestampToUTCDate, todayTimestampInUTC } from './date';
@@ -1 +1 @@
1
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder } from './utils/validator';
1
+ export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder, ADFStages } from './utils/validator';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "68.0.0",
3
+ "version": "69.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,7 +1,7 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
3
  import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
5
  import { getAutoConvertPatternsFromModule } from './module-helpers';
6
6
 
7
7
  var DefaultExtensionProvider = /*#__PURE__*/function () {
@@ -1,5 +1,5 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
 
4
4
  function getExtensionModuleField(_x, _x2, _x3) {
5
5
  return _getExtensionModuleField.apply(this, arguments);
@@ -1,6 +1,6 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import React from 'react';
5
5
  import Loadable from 'react-loadable';
6
6
  import { getExtensionKeyAndNodeKey, resolveImport } from './manifest-helpers';
@@ -1,5 +1,4 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
4
 
@@ -7,6 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
7
6
 
8
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
8
 
9
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
10
10
  export var FORGE_EXTENSION_TYPE = 'com.atlassian.ecosystem';
11
11
  export var getExtensionKeyAndNodeKey = function getExtensionKeyAndNodeKey(extensionKey, extensionType) {
12
12
  // Forge macro extensionKey has a user generated string, so splitting on
@@ -1,7 +1,7 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
3
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
5
 
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
 
@@ -1,6 +1,6 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { getOnlyFulfilled, waitForAllPromises, waitForFirstFulfilledPromise } from './promise-helpers';
5
5
 
6
6
  var flatten = function flatten(arr) {
@@ -17,4 +17,5 @@ export { shadowSharedStyle } from './shared/shadow';
17
17
  export { dateSharedStyle, DateSharedCssClassName } from './shared/date';
18
18
  export { tasksAndDecisionsStyles, TaskDecisionSharedCssClassName } from './shared/task-decision';
19
19
  export { StatusSharedCssClassName } from './shared/status';
20
- export { smartCardSharedStyles, SmartCardSharedCssClassName } from './shared/smart-card';
20
+ export { smartCardSharedStyles, SmartCardSharedCssClassName } from './shared/smart-card';
21
+ export { CodeBlockSharedCssClassName, codeBlockSharedStyles } from './shared/code-block';
@@ -3,4 +3,4 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
3
3
  var _templateObject;
4
4
 
5
5
  import { css } from '@emotion/react';
6
- export var blockMarksSharedStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n /**\n * We need to remove margin-top from first item\n * inside doc, tableCell, tableHeader, blockquote, etc.\n */\n *:not(.fabric-editor-block-mark) >,\n /* For nested block marks */\n *:not(.fabric-editor-block-mark) > div.fabric-editor-block-mark:first-of-type {\n p,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n .heading-wrapper {\n &:first-child {\n margin-top: 0;\n }\n }\n }\n"])));
6
+ export var blockMarksSharedStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n /**\n * We need to remove margin-top from first item\n * inside doc, tableCell, tableHeader, blockquote, etc.\n */\n *:not(.fabric-editor-block-mark) >,\n /* For nested block marks */\n *:not(.fabric-editor-block-mark) > div.fabric-editor-block-mark:first-of-type {\n p,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n .heading-wrapper {\n :first-child:not(style),\n style:first-child + * {\n margin-top: 0;\n }\n }\n }\n"])));
@@ -0,0 +1,39 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject;
4
+
5
+ import { css } from '@emotion/react';
6
+ import { akEditorCodeFontFamily, akEditorTableCellMinWidth, blockNodesVerticalMargin, overflowShadow, relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
7
+ import { DN20, DN400, DN50, DN800, N20, N30, N400, N800 } from '@atlaskit/theme/colors';
8
+ import { themed } from '@atlaskit/theme/components';
9
+ import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';
10
+ import { token } from '@atlaskit/tokens';
11
+ export var CodeBlockSharedCssClassName = {
12
+ CODEBLOCK_CONTAINER: 'code-block',
13
+ CODEBLOCK_LINE_NUMBER_GUTTER: 'line-number-gutter',
14
+ CODEBLOCK_CONTENT: 'code-content',
15
+ DS_CODEBLOCK: '[data-ds--code--code-block]'
16
+ };
17
+ export var codeBlockSharedStyles = function codeBlockSharedStyles(props) {
18
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n position: relative;\n background-color: ", ";\n border-radius: ", "px;\n counter-reset: line;\n display: flex;\n overflow-x: auto;\n\n background-image: ", ";\n\n --ds--code--bg-color: transparent;\n\n background-repeat: no-repeat;\n background-attachment: local, scroll, scroll;\n background-size: 8px 100%, 8px 100%, 8px 100%;\n background-position: 100% 0, 100% 0, 0 0;\n font-family: ", ";\n margin: ", " 0 0 0;\n min-width: ", "px;\n cursor: pointer;\n\n .", " {\n flex-shrink: 0;\n text-align: right;\n background-color: ", ";\n padding: ", "px;\n\n span {\n display: block;\n line-height: 0;\n font-size: 0;\n\n ::before {\n display: inline-block;\n content: counter(line);\n counter-increment: line;\n color: ", ";\n font-size: ", ";\n line-height: 1.5rem;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: 1;\n\n code {\n flex-grow: 1;\n tab-size: 4;\n cursor: text;\n color: ", ";\n border-radius: ", "px;\n margin: ", "px;\n white-space: pre;\n font-size: ", ";\n line-height: 1.5rem;\n }\n }\n }\n"])), CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, themed({
19
+ light: token('color.background.neutral', N20),
20
+ dark: token('color.background.neutral', DN50)
21
+ })(props), borderRadius(), overflowShadow({
22
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4118
23
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
24
+ background: themed({
25
+ light: N20,
26
+ dark: DN50
27
+ })(props),
28
+ width: '8px'
29
+ }), akEditorCodeFontFamily, blockNodesVerticalMargin, akEditorTableCellMinWidth, CodeBlockSharedCssClassName.CODEBLOCK_LINE_NUMBER_GUTTER, themed({
30
+ light: token('color.background.neutral', N30),
31
+ dark: token('color.background.neutral', DN20)
32
+ })(props), gridSize(), themed({
33
+ light: token('color.text.subtlest', N400),
34
+ dark: token('color.text.subtlest', DN400)
35
+ })(props), relativeFontSizeToBase16(fontSize()), CodeBlockSharedCssClassName.CODEBLOCK_CONTENT, themed({
36
+ light: token('color.text', N800),
37
+ dark: token('color.text', DN800)
38
+ })(props), borderRadius(), gridSize(), relativeFontSizeToBase16(fontSize()));
39
+ };
@@ -1,7 +1,8 @@
1
- import { emojiImage, emojiNode, emojiSprite } from '@atlaskit/emoji';
1
+ import { emojiImage, emojiNode, emojiPlaceholder, emojiSprite } from '@atlaskit/emoji';
2
2
  export var EmojiSharedCssClassName = {
3
3
  EMOJI_CONTAINER: 'emojiView-content-wrap',
4
4
  EMOJI_NODE: emojiNode,
5
5
  EMOJI_SPRITE: emojiSprite,
6
- EMOJI_IMAGE: emojiImage
6
+ EMOJI_IMAGE: emojiImage,
7
+ EMOJI_PLACEHOLDER: emojiPlaceholder
7
8
  };
@@ -146,7 +146,8 @@ export var PanelSharedSelectors = {
146
146
  emojiPopup: "[aria-label=\"Popup\"]",
147
147
  searchEmoji: "[aria-label=\"Search emoji\"]",
148
148
  orangeWarningIcon: "[aria-label=\":warning:\"]",
149
- yellowWarningIcon: "[aria-label=\":warning:\"] span:nth-child(1)"
149
+ yellowWarningIcon: "[aria-label=\":warning:\"] span:nth-child(1)",
150
+ copyButton: "button[aria-label=\"Copy\"]"
150
151
  };
151
152
 
152
153
  var iconDynamicStyles = function iconDynamicStyles(panelType) {
@@ -36,7 +36,7 @@ export var TableSharedCssClassName = {
36
36
  };
37
37
 
38
38
  var tableSharedStyle = function tableSharedStyle(props) {
39
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n position: relative;\n margin: 0 auto ", "px;\n box-sizing: border-box;\n\n /**\n * Fix block top alignment inside table cells.\n */\n .decisionItemView-content-wrap:first-of-type > div {\n margin-top: 0;\n }\n }\n .", "[data-number-column='true'] {\n padding-left: ", "px;\n clear: both;\n }\n .", " > table {\n margin: ", "px 0 0 0;\n }\n\n .", " > table,\n .", " > table {\n margin: ", "px ", "px 0 0;\n }\n\n /* avoid applying styles to nested tables (possible via extensions) */\n .", " > table,\n .", " > table,\n .", " > table {\n border-collapse: collapse;\n border: ", "px solid\n ", ";\n table-layout: fixed;\n font-size: 1em;\n width: 100%;\n\n &[data-autosize='true'] {\n table-layout: auto;\n }\n\n & {\n * {\n box-sizing: border-box;\n }\n hr {\n box-sizing: content-box;\n }\n\n tbody {\n border-bottom: none;\n }\n th td {\n background-color: ", ";\n }\n th,\n td {\n min-width: ", "px;\n font-weight: normal;\n vertical-align: top;\n border: 1px solid\n ", ";\n border-right-width: 0;\n border-bottom-width: 0;\n padding: ", "px;\n /* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */\n ", "\n\n ", ";\n\n > *:first-child {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-of-type + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-of-type + span + * {\n margin-top: 0;\n }\n\n th p:not(:first-of-type),\n td p:not(:first-of-type) {\n margin-top: 12px;\n }\n }\n th {\n background-color: ", ";\n text-align: left;\n\n /* only apply this styling to codeblocks in default background headercells */\n /* TODO this needs to be overhauled as it relies on unsafe selectors */\n &:not([style]) {\n .code-block {\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n background-color: ", ";\n\n .line-number-gutter {\n background-color: ", ";\n }\n\n /* this is only relevant to the element taken care of by renderer */\n > [data-ds--code--code-block] {\n background-image: ", "!important;\n\n background-color: ", "!important;\n\n // selector lives inside @atlaskit/code\n --ds--code--line-number-bg-color: ", ";\n }\n }\n }\n }\n }\n }\n"])), TableSharedCssClassName.TABLE_CONTAINER, tableMarginBottom, TableSharedCssClassName.TABLE_CONTAINER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_NODE_WRAPPER, tableMarginTop, TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableMarginTop, tableMarginSides, TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableCellBorderWidth, themed({
39
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n position: relative;\n margin: 0 auto ", "px;\n box-sizing: border-box;\n\n /**\n * Fix block top alignment inside table cells.\n */\n .decisionItemView-content-wrap:first-of-type > div {\n margin-top: 0;\n }\n }\n .", "[data-number-column='true'] {\n padding-left: ", "px;\n clear: both;\n }\n .", " > table {\n margin: ", "px 0 0 0;\n }\n\n .", " > table,\n .", " > table {\n margin: ", "px ", "px 0 0;\n }\n\n /* avoid applying styles to nested tables (possible via extensions) */\n .", " > table,\n .", " > table,\n .", " > table {\n border-collapse: collapse;\n border: ", "px solid\n ", ";\n table-layout: fixed;\n font-size: 1em;\n width: 100%;\n\n &[data-autosize='true'] {\n table-layout: auto;\n }\n\n & {\n * {\n box-sizing: border-box;\n }\n hr {\n box-sizing: content-box;\n }\n\n tbody {\n border-bottom: none;\n }\n th td {\n background-color: ", ";\n }\n th,\n td {\n min-width: ", "px;\n font-weight: normal;\n vertical-align: top;\n border: 1px solid\n ", ";\n border-right-width: 0;\n border-bottom-width: 0;\n padding: ", "px;\n /* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */\n ", "\n\n ", ";\n\n > :first-child:not(style),\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-of-type + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-of-type + span + * {\n margin-top: 0;\n }\n\n th p:not(:first-of-type),\n td p:not(:first-of-type) {\n margin-top: 12px;\n }\n }\n th {\n background-color: ", ";\n text-align: left;\n\n /* only apply this styling to codeblocks in default background headercells */\n /* TODO this needs to be overhauled as it relies on unsafe selectors */\n &:not([style]) {\n .code-block {\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n background-color: ", ";\n\n .line-number-gutter {\n background-color: ", ";\n }\n\n /* this is only relevant to the element taken care of by renderer */\n > [data-ds--code--code-block] {\n background-image: ", "!important;\n\n background-color: ", "!important;\n\n // selector lives inside @atlaskit/code\n --ds--code--line-number-bg-color: ", ";\n }\n }\n }\n }\n }\n }\n"])), TableSharedCssClassName.TABLE_CONTAINER, tableMarginBottom, TableSharedCssClassName.TABLE_CONTAINER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_NODE_WRAPPER, tableMarginTop, TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableMarginTop, tableMarginSides, TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableCellBorderWidth, themed({
40
40
  light: token('color.border', akEditorTableBorder),
41
41
  dark: token('color.border', akEditorTableBorderDark)
42
42
  })(props), token('color.background.neutral.subtle', 'white'), tableCellMinWidth, themed({
@@ -7,4 +7,4 @@ import { akEditorTableCellMinWidth } from '@atlaskit/editor-shared-styles';
7
7
  export var TaskDecisionSharedCssClassName = {
8
8
  DECISION_CONTAINER: 'decisionItemView-content-wrap'
9
9
  };
10
- export var tasksAndDecisionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n }\n\n div[data-task-list-local-id] {\n margin: 12px 0 0 0;\n }\n\n // If task list is first in the document then set margin top to zero.\n div[data-task-list-local-id]:first-child {\n margin-top: 0;\n }\n\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: 0px;\n margin-left: 24px;\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER);
10
+ export var tasksAndDecisionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n }\n\n div[data-task-list-local-id] {\n margin: 12px 0 0 0;\n }\n\n // If task list is first in the document then set margin top to zero.\n div[data-task-list-local-id]:first-child,\n style:first-child + div[data-task-list-local-id] {\n margin-top: 0;\n }\n\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: 0px;\n margin-left: 24px;\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER);
@@ -88,7 +88,7 @@ var containerStyles = function containerStyles(styleProps) {
88
88
  var marginHorizontal = styleProps['data-node-type'] === 'expand' ? "-".concat(akLayoutGutterOffset, "px") : 0;
89
89
  var margin = "".concat(marginTop, " ").concat(marginHorizontal, " ").concat(marginBottom);
90
90
  return function (themeProps) {
91
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n border-radius: ", "px;\n min-height: 25px;\n background: ", ";\n margin: ", ";\n\n transition: background 0.3s ", ",\n border-color 0.3s ", ";\n padding: ", "px;\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4152\n &:hover {\n border: 1px solid\n ", ";\n background: ", ";\n }\n\n td > &:first-child {\n margin-top: 0;\n }\n "])), focused ? EXPAND_FOCUSED_BORDER_COLOR : expanded ? EXPAND_EXPANDED_BORDER_COLOR(themeProps) : EXPAND_COLLAPSED_BORDER_COLOR, BORDER_RADIUS, !expanded ? EXPAND_COLLAPSED_BACKGROUND : EXPAND_SELECTED_BACKGROUND(themeProps), margin, akEditorSwoopCubicBezier, akEditorSwoopCubicBezier, gridSize(), themed({
91
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n border-radius: ", "px;\n min-height: 25px;\n background: ", ";\n margin: ", ";\n\n transition: background 0.3s ", ",\n border-color 0.3s ", ";\n padding: ", "px;\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4152\n &:hover {\n border: 1px solid\n ", ";\n background: ", ";\n }\n\n td > :not(style):first-child,\n td > style:first-child + * {\n margin-top: 0;\n }\n "])), focused ? EXPAND_FOCUSED_BORDER_COLOR : expanded ? EXPAND_EXPANDED_BORDER_COLOR(themeProps) : EXPAND_COLLAPSED_BORDER_COLOR, BORDER_RADIUS, !expanded ? EXPAND_COLLAPSED_BACKGROUND : EXPAND_SELECTED_BACKGROUND(themeProps), margin, akEditorSwoopCubicBezier, akEditorSwoopCubicBezier, gridSize(), themed({
92
92
  light: token('color.border', colors.N50A),
93
93
  dark: token('color.border', colors.DN50)
94
94
  })(themeProps), EXPAND_SELECTED_BACKGROUND(themeProps));
@@ -10,6 +10,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
10
10
 
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
 
13
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+
13
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
20
 
15
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -38,6 +44,8 @@ var Popup = /*#__PURE__*/function (_React$Component) {
38
44
 
39
45
  _this = _super.call.apply(_super, [this].concat(args));
40
46
 
47
+ _defineProperty(_assertThisInitialized(_this), "rafIds", new Set());
48
+
41
49
  _defineProperty(_assertThisInitialized(_this), "state", {
42
50
  validPosition: true
43
51
  });
@@ -52,8 +60,38 @@ var Popup = /*#__PURE__*/function (_React$Component) {
52
60
  _this.initPopup(popup);
53
61
  });
54
62
 
63
+ _defineProperty(_assertThisInitialized(_this), "cancelRequestAnimationFrames", function () {
64
+ var _iterator = _createForOfIteratorHelper(_this.rafIds),
65
+ _step;
66
+
67
+ try {
68
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
69
+ var rafId = _step.value;
70
+ cancelAnimationFrame(rafId);
71
+ }
72
+ } catch (err) {
73
+ _iterator.e(err);
74
+ } finally {
75
+ _iterator.f();
76
+ }
77
+ });
78
+
55
79
  _defineProperty(_assertThisInitialized(_this), "scheduledUpdatePosition", rafSchedule(function (props) {
56
- return _this.updatePosition(props);
80
+ if (!_this.props.waitForExtraLayoutUpdates) {
81
+ _this.updatePosition(_this.props);
82
+ }
83
+
84
+ if (_this.props.scheduleExtraLayoutUpdates) {
85
+ // We need two requestAnimationFrame calls to ensure reflow/repaints
86
+ // are flushed to DOM before our popup position recalculations happen
87
+ var rafId = requestAnimationFrame(function () {
88
+ _this.updatePosition(_this.props);
89
+
90
+ _this.rafIds.delete(rafId);
91
+ });
92
+
93
+ _this.rafIds.add(rafId);
94
+ }
57
95
  }));
58
96
 
59
97
  _defineProperty(_assertThisInitialized(_this), "onResize", function () {
@@ -220,6 +258,7 @@ var Popup = /*#__PURE__*/function (_React$Component) {
220
258
  }
221
259
 
222
260
  this.scheduledUpdatePosition.cancel();
261
+ this.cancelRequestAnimationFrames();
223
262
  }
224
263
  }, {
225
264
  key: "renderPopup",
@@ -1,7 +1,13 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
 
3
- var _templateObject;
3
+ var _templateObject, _templateObject2;
4
4
 
5
5
  import { css } from '@emotion/react'; // We use !important to ensure next sibling gets the margin reset no matter what
6
6
 
7
- export var clearNextSiblingMarginTopStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n & + * {\n margin-top: 0 !important;\n }\n"])));
7
+ var marginTopReset = "margin-top: 0 !important;";
8
+ export var clearNextSiblingMarginTopStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n & + * {\n ", "\n }\n"])), marginTopReset);
9
+ var textElements = ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
10
+ var nextSiblingBlockMarkContentSelectors = textElements.map(function (elem) {
11
+ return "+ .fabric-editor-block-mark > ".concat(elem);
12
+ }).join(',');
13
+ export var clearNextSiblingBlockMarkMarginTopStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", " {\n ", "\n }\n"])), nextSiblingBlockMarkContentSelectors, marginTopReset);
@@ -14,5 +14,5 @@ export { shadowObserverClassNames, ShadowObserver } from './OverflowShadow/shado
14
14
  export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
15
15
  export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef } from './Expand';
16
16
  export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
17
- export { clearNextSiblingMarginTopStyle } from './clear-next-sibling-margin-top';
17
+ export { clearNextSiblingMarginTopStyle, clearNextSiblingBlockMarkMarginTopStyle } from './clear-next-sibling-margin-top';
18
18
  export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE } from './IntlErrorBoundary';
@@ -1,6 +1,5 @@
1
1
  export { canApplyAnnotationOnRange, getAnnotationIdsFromRange } from './annotation';
2
2
  export { getExtensionLozengeData } from './macro';
3
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder } from './validator';
4
3
  export { default as browser } from './browser';
5
4
  export { default as ErrorReporter } from './error-reporter';
6
5
  export { isPastDate, timestampToIsoFormat, timestampToString, timestampToTaskContext, timestampToUTCDate, todayTimestampInUTC } from './date';
@@ -1 +1 @@
1
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder } from './utils/validator';
1
+ export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder, ADFStages } from './utils/validator';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "68.0.0",
3
+ "version": "69.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -2,6 +2,6 @@ import { CardAdf } from '@atlaskit/smart-card';
2
2
  export declare type CardAppearance = 'inline' | 'block' | 'embed';
3
3
  export type { CardAdf };
4
4
  export interface CardProvider {
5
- resolve(url: string, appearance: CardAppearance): Promise<CardAdf>;
5
+ resolve(url: string, appearance: CardAppearance, shouldForceAppearance?: boolean): Promise<CardAdf>;
6
6
  findPattern(url: string): Promise<boolean>;
7
7
  }
@@ -18,3 +18,4 @@ export { dateSharedStyle, DateSharedCssClassName } from './shared/date';
18
18
  export { tasksAndDecisionsStyles, TaskDecisionSharedCssClassName, } from './shared/task-decision';
19
19
  export { StatusSharedCssClassName } from './shared/status';
20
20
  export { smartCardSharedStyles, SmartCardSharedCssClassName, } from './shared/smart-card';
21
+ export { CodeBlockSharedCssClassName, codeBlockSharedStyles, } from './shared/code-block';
@@ -0,0 +1,8 @@
1
+ import { ThemeProps } from '@atlaskit/theme/types';
2
+ export declare const CodeBlockSharedCssClassName: {
3
+ CODEBLOCK_CONTAINER: string;
4
+ CODEBLOCK_LINE_NUMBER_GUTTER: string;
5
+ CODEBLOCK_CONTENT: string;
6
+ DS_CODEBLOCK: string;
7
+ };
8
+ export declare const codeBlockSharedStyles: (props: ThemeProps) => import("@emotion/react").SerializedStyles;
@@ -3,4 +3,5 @@ export declare const EmojiSharedCssClassName: {
3
3
  EMOJI_NODE: string;
4
4
  EMOJI_SPRITE: string;
5
5
  EMOJI_IMAGE: string;
6
+ EMOJI_PLACEHOLDER: string;
6
7
  };
@@ -77,6 +77,7 @@ export declare const PanelSharedSelectors: {
77
77
  searchEmoji: string;
78
78
  orangeWarningIcon: string;
79
79
  yellowWarningIcon: string;
80
+ copyButton: string;
80
81
  };
81
82
  export declare const getPanelTypeBackground: (panelType: Exclude<PanelType, PanelType.CUSTOM>, props?: ThemeProps) => string;
82
83
  export declare const panelSharedStylesWithoutPrefix: (props: ThemeProps) => import("@emotion/react").SerializedStyles;
@@ -19,6 +19,8 @@ export interface Props {
19
19
  forcePlacement?: boolean;
20
20
  allowOutOfBounds?: boolean;
21
21
  rect?: DOMRect;
22
+ scheduleExtraLayoutUpdates?: boolean;
23
+ waitForExtraLayoutUpdates?: boolean;
22
24
  }
23
25
  export interface State {
24
26
  popup?: HTMLElement;
@@ -28,6 +30,7 @@ export interface State {
28
30
  export default class Popup extends React.Component<Props, State> {
29
31
  scrollElement: undefined | false | HTMLElement;
30
32
  scrollParentElement: undefined | false | HTMLElement;
33
+ rafIds: Set<number>;
31
34
  static defaultProps: {
32
35
  offset: number[];
33
36
  allowOutOfBound: boolean;
@@ -46,6 +49,7 @@ export default class Popup extends React.Component<Props, State> {
46
49
  */
47
50
  private initPopup;
48
51
  private handleRef;
52
+ private cancelRequestAnimationFrames;
49
53
  private scheduledUpdatePosition;
50
54
  onResize: () => void;
51
55
  UNSAFE_componentWillReceiveProps(newProps: Props): void;
@@ -1 +1,2 @@
1
1
  export declare const clearNextSiblingMarginTopStyle: import("@emotion/react").SerializedStyles;
2
+ export declare const clearNextSiblingBlockMarkMarginTopStyle: import("@emotion/react").SerializedStyles;
@@ -21,5 +21,5 @@ export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
21
21
  export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef, } from './Expand';
22
22
  export type { StyleProps as ExpandStyleProps } from './Expand';
23
23
  export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
24
- export { clearNextSiblingMarginTopStyle } from './clear-next-sibling-margin-top';
24
+ export { clearNextSiblingMarginTopStyle, clearNextSiblingBlockMarkMarginTopStyle, } from './clear-next-sibling-margin-top';
25
25
  export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE, } from './IntlErrorBoundary';
@@ -1,8 +1,6 @@
1
1
  export { canApplyAnnotationOnRange, getAnnotationIdsFromRange, } from './annotation';
2
2
  export { getExtensionLozengeData } from './macro';
3
3
  export type { Params } from './macro';
4
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder, } from './validator';
5
- export type { ADDoc, ADFStage, ADFStages, ADMark, ADMarkSimple, ADNode, } from './validator';
6
4
  export { default as browser } from './browser';
7
5
  export { default as ErrorReporter } from './error-reporter';
8
6
  export type { ErrorReportingHandler } from './error-reporter';
@@ -1,2 +1,2 @@
1
- export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder, } from './utils/validator';
1
+ export { getMarksByOrder, getValidContent, getValidDocument, getValidMark, getValidNode, getValidUnknownNode, isSameMark, isSubSupType, markOrder, ADFStages, } from './utils/validator';
2
2
  export type { ADDoc, ADFStage, ADMark, ADMarkSimple, ADNode, } from './utils/validator';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "68.0.0",
3
+ "version": "69.0.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,22 +44,23 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@atlaskit/activity-provider": "^2.3.0",
47
- "@atlaskit/adf-schema": "^23.1.0",
48
- "@atlaskit/adf-utils": "^17.0.0",
49
- "@atlaskit/analytics-namespaced-context": "^6.4.0",
47
+ "@atlaskit/adf-schema": "^23.2.0",
48
+ "@atlaskit/adf-utils": "^17.1.0",
49
+ "@atlaskit/analytics-namespaced-context": "^6.5.0",
50
50
  "@atlaskit/analytics-next": "^8.2.0",
51
51
  "@atlaskit/code": "^14.3.0",
52
+ "@atlaskit/codemod-utils": "^4.1.0",
52
53
  "@atlaskit/editor-json-transformer": "^8.7.0",
53
54
  "@atlaskit/editor-shared-styles": "^2.1.0",
54
- "@atlaskit/emoji": "^64.7.0",
55
+ "@atlaskit/emoji": "^65.0.0",
55
56
  "@atlaskit/icon": "^21.10.0",
56
57
  "@atlaskit/in-product-testing": "^0.1.0",
57
- "@atlaskit/media-card": "^73.7.0",
58
- "@atlaskit/media-client": "^16.0.0",
58
+ "@atlaskit/media-card": "^74.0.0",
59
+ "@atlaskit/media-client": "^17.1.0",
59
60
  "@atlaskit/media-picker": "^63.0.0",
60
61
  "@atlaskit/mention": "^21.0.0",
61
- "@atlaskit/profilecard": "^16.4.0",
62
- "@atlaskit/smart-card": "^19.1.0",
62
+ "@atlaskit/profilecard": "^16.10.0",
63
+ "@atlaskit/smart-card": "^20.0.0",
63
64
  "@atlaskit/smart-user-picker": "^5.1.0",
64
65
  "@atlaskit/task-decision": "^17.4.0",
65
66
  "@atlaskit/theme": "^12.1.0",
@@ -85,16 +86,16 @@
85
86
  "react-loadable": "^5.1.0"
86
87
  },
87
88
  "peerDependencies": {
88
- "@atlaskit/media-core": "^33.0.0",
89
+ "@atlaskit/media-core": "^33.0.1",
89
90
  "react": "^16.8.0",
90
91
  "react-dom": "^16.8.0",
91
92
  "react-intl-next": "npm:react-intl@^5.18.1"
92
93
  },
93
94
  "devDependencies": {
94
95
  "@atlaskit/editor-json-transformer": "^8.7.0",
95
- "@atlaskit/editor-test-helpers": "^17.0.0",
96
+ "@atlaskit/editor-test-helpers": "^17.1.0",
96
97
  "@atlaskit/media-core": "^33.0.0",
97
- "@atlaskit/util-data-test": "^17.2.0",
98
+ "@atlaskit/util-data-test": "^17.4.0",
98
99
  "@atlaskit/visual-regression": "*",
99
100
  "@atlaskit/webdriver-runner": "*",
100
101
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
package/report.api.md ADDED
@@ -0,0 +1,7 @@
1
+ ## API Report File for "@atlaskit/editor-common"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+ export {};
7
+ ```