@atlaskit/editor-common 89.1.2 → 89.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 89.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#140949](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/140949)
8
+ [`f0496e4dd21b2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f0496e4dd21b2) -
9
+ Make Panel Plugin use Emoji component from editor-plugin-emoji
10
+
11
+ ## 89.1.3
12
+
13
+ ### Patch Changes
14
+
15
+ - [#140717](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/140717)
16
+ [`142a506a3f170`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/142a506a3f170) -
17
+ ED-24958 prevent confluence full page editor crashing when loading from draft doc
18
+
3
19
  ## 89.1.2
4
20
 
5
21
  ### Patch Changes
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "89.1.2";
20
+ var packageVersion = "89.2.0";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -25,7 +25,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
25
25
  * @jsx jsx
26
26
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
27
27
  var packageName = "@atlaskit/editor-common";
28
- var packageVersion = "89.1.2";
28
+ var packageVersion = "89.2.0";
29
29
  var halfFocusRing = 1;
30
30
  var dropOffset = '0, 8';
31
31
  var DropList = /*#__PURE__*/function (_Component) {
@@ -15,18 +15,18 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
  var _element = require("@atlaskit/emoji/element");
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  var _providerFactory = require("../../provider-factory");
19
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
22
  function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
22
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
- // @deprecated - use Emoji from editor-plugin-emoji
24
- var EmojiNode = exports.default = /*#__PURE__*/function (_PureComponent) {
25
- (0, _inherits2.default)(EmojiNode, _PureComponent);
26
- var _super = _createSuper(EmojiNode);
27
- function EmojiNode(props) {
24
+ var EmojiNodeClass = /*#__PURE__*/function (_PureComponent) {
25
+ (0, _inherits2.default)(EmojiNodeClass, _PureComponent);
26
+ var _super = _createSuper(EmojiNodeClass);
27
+ function EmojiNodeClass(props) {
28
28
  var _this;
29
- (0, _classCallCheck2.default)(this, EmojiNode);
29
+ (0, _classCallCheck2.default)(this, EmojiNodeClass);
30
30
  _this = _super.call(this, props);
31
31
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderWithProvider", function (providers) {
32
32
  var _resourceConfig$optim;
@@ -69,7 +69,7 @@ var EmojiNode = exports.default = /*#__PURE__*/function (_PureComponent) {
69
69
  _this.providerFactory = props.providers || new _providerFactory.ProviderFactory();
70
70
  return _this;
71
71
  }
72
- (0, _createClass2.default)(EmojiNode, [{
72
+ (0, _createClass2.default)(EmojiNodeClass, [{
73
73
  key: "componentWillUnmount",
74
74
  value: function componentWillUnmount() {
75
75
  if (!this.props.providers) {
@@ -88,9 +88,56 @@ var EmojiNode = exports.default = /*#__PURE__*/function (_PureComponent) {
88
88
  });
89
89
  }
90
90
  }]);
91
- return EmojiNode;
91
+ return EmojiNodeClass;
92
92
  }(_react.PureComponent);
93
- (0, _defineProperty2.default)(EmojiNode, "displayName", 'EmojiNode');
94
- (0, _defineProperty2.default)(EmojiNode, "defaultProps", {
93
+ (0, _defineProperty2.default)(EmojiNodeClass, "displayName", 'EmojiNode');
94
+ (0, _defineProperty2.default)(EmojiNodeClass, "defaultProps", {
95
95
  showTooltip: true
96
- });
96
+ });
97
+ var EmojiNodeFunctional = function EmojiNodeFunctional(props) {
98
+ var _resourceConfig$optim2;
99
+ var allowTextFallback = props.allowTextFallback,
100
+ shortName = props.shortName,
101
+ id = props.id,
102
+ fallback = props.fallback,
103
+ fitToHeight = props.fitToHeight,
104
+ showTooltip = props.showTooltip,
105
+ resourceConfig = props.resourceConfig,
106
+ emojiProvider = props.emojiProvider;
107
+ if (allowTextFallback && !emojiProvider) {
108
+ return /*#__PURE__*/_react.default.createElement("span", {
109
+ "data-emoji-id": id,
110
+ "data-emoji-short-name": shortName,
111
+ "data-emoji-text": fallback || shortName
112
+ }, fallback || shortName);
113
+ }
114
+ if (!emojiProvider) {
115
+ return null;
116
+ }
117
+ return /*#__PURE__*/_react.default.createElement(_element.ResourcedEmoji, {
118
+ emojiId: {
119
+ id: id,
120
+ fallback: fallback,
121
+ shortName: shortName
122
+ },
123
+ emojiProvider: Promise.resolve(emojiProvider),
124
+ showTooltip: showTooltip,
125
+ fitToHeight: fitToHeight,
126
+ optimistic: true,
127
+ optimisticImageURL: resourceConfig === null || resourceConfig === void 0 || (_resourceConfig$optim2 = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim2 === void 0 ? void 0 : _resourceConfig$optim2.getUrl({
128
+ id: id,
129
+ fallback: fallback,
130
+ shortName: shortName
131
+ }),
132
+ editorEmoji: true
133
+ });
134
+ };
135
+ var EmojiNode = function EmojiNode(props) {
136
+ if ((0, _platformFeatureFlags.fg)('platform_editor_get_emoji_provider_from_config')) {
137
+ if (props.emojiProvider) {
138
+ return /*#__PURE__*/_react.default.createElement(EmojiNodeFunctional, props);
139
+ }
140
+ }
141
+ return /*#__PURE__*/_react.default.createElement(EmojiNodeClass, props);
142
+ };
143
+ var _default = exports.default = EmojiNode;
@@ -211,7 +211,7 @@ var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
211
211
 
212
212
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
213
213
  var mediaWrapperStyle = exports.mediaWrapperStyle = function mediaWrapperStyle(props) {
214
- return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t// remove [data-comment-badge='true'] when ff platform_editor_insert_media_plugin_phase_one is cleaned up\n\t& > div:not([data-comment-badge='true'], [data-media-badges='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
214
+ return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t// remove [data-comment-badge='true'] when ff platform_editor_add_media_from_url is cleaned up\n\t& > div:not([data-comment-badge='true'], [data-media-badges='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
215
215
  };
216
216
  var MediaWrapper = exports.MediaWrapper = function MediaWrapper(_ref3) {
217
217
  var children = _ref3.children,
@@ -4,12 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.processRawValue = processRawValue;
7
+ exports.processRawValueWithoutTransformation = processRawValueWithoutTransformation;
7
8
  var _transforms = require("@atlaskit/adf-utils/transforms");
8
9
  var _model = require("@atlaskit/editor-prosemirror/model");
9
10
  var _analytics = require("../analytics");
10
11
  var _privacyFilter = require("./filter/privacy-filter");
11
12
  var _trackUnsupportedContent = require("./track-unsupported-content");
12
13
  var _validateUsingSpec = require("./validate-using-spec");
14
+ function processRawValueWithoutTransformation(schema, value) {
15
+ var parsedDoc = _model.Node.fromJSON(schema, value);
16
+ return parsedDoc;
17
+ }
13
18
  function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
14
19
  if (!value) {
15
20
  return;
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "89.1.2";
4
+ const packageVersion = "89.2.0";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "89.1.2";
17
+ const packageVersion = "89.2.0";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  class DropList extends Component {
@@ -1,9 +1,9 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import React, { PureComponent } from 'react';
3
3
  import { ResourcedEmoji } from '@atlaskit/emoji/element';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
4
5
  import { ProviderFactory, WithProviders } from '../../provider-factory';
5
- // @deprecated - use Emoji from editor-plugin-emoji
6
- export default class EmojiNode extends PureComponent {
6
+ class EmojiNodeClass extends PureComponent {
7
7
  constructor(props) {
8
8
  super(props);
9
9
  _defineProperty(this, "renderWithProvider", providers => {
@@ -62,7 +62,56 @@ export default class EmojiNode extends PureComponent {
62
62
  });
63
63
  }
64
64
  }
65
- _defineProperty(EmojiNode, "displayName", 'EmojiNode');
66
- _defineProperty(EmojiNode, "defaultProps", {
65
+ _defineProperty(EmojiNodeClass, "displayName", 'EmojiNode');
66
+ _defineProperty(EmojiNodeClass, "defaultProps", {
67
67
  showTooltip: true
68
- });
68
+ });
69
+ const EmojiNodeFunctional = props => {
70
+ var _resourceConfig$optim2;
71
+ const {
72
+ allowTextFallback,
73
+ shortName,
74
+ id,
75
+ fallback,
76
+ fitToHeight,
77
+ showTooltip,
78
+ resourceConfig,
79
+ emojiProvider
80
+ } = props;
81
+ if (allowTextFallback && !emojiProvider) {
82
+ return /*#__PURE__*/React.createElement("span", {
83
+ "data-emoji-id": id,
84
+ "data-emoji-short-name": shortName,
85
+ "data-emoji-text": fallback || shortName
86
+ }, fallback || shortName);
87
+ }
88
+ if (!emojiProvider) {
89
+ return null;
90
+ }
91
+ return /*#__PURE__*/React.createElement(ResourcedEmoji, {
92
+ emojiId: {
93
+ id,
94
+ fallback,
95
+ shortName
96
+ },
97
+ emojiProvider: Promise.resolve(emojiProvider),
98
+ showTooltip: showTooltip,
99
+ fitToHeight: fitToHeight,
100
+ optimistic: true,
101
+ optimisticImageURL: resourceConfig === null || resourceConfig === void 0 ? void 0 : (_resourceConfig$optim2 = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim2 === void 0 ? void 0 : _resourceConfig$optim2.getUrl({
102
+ id,
103
+ fallback,
104
+ shortName
105
+ }),
106
+ editorEmoji: true
107
+ });
108
+ };
109
+ const EmojiNode = props => {
110
+ if (fg('platform_editor_get_emoji_provider_from_config')) {
111
+ if (props.emojiProvider) {
112
+ return /*#__PURE__*/React.createElement(EmojiNodeFunctional, props);
113
+ }
114
+ }
115
+ return /*#__PURE__*/React.createElement(EmojiNodeClass, props);
116
+ };
117
+ export default EmojiNode;
@@ -249,7 +249,7 @@ export const mediaWrapperStyle = props => css`
249
249
 
250
250
  // Comments on media project adds comment badge as child of the media wrapper,
251
251
  // thus we need to exclude it so that style is applied to intended div
252
- // remove [data-comment-badge='true'] when ff platform_editor_insert_media_plugin_phase_one is cleaned up
252
+ // remove [data-comment-badge='true'] when ff platform_editor_add_media_from_url is cleaned up
253
253
  & > div:not([data-comment-badge='true'], [data-media-badges='true']) {
254
254
  position: ${props.hasFallbackContainer ? 'absolute' : 'relative'};
255
255
  height: 100%;
@@ -4,6 +4,10 @@ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../analytics';
4
4
  import { sanitizeNodeForPrivacy } from './filter/privacy-filter';
5
5
  import { findAndTrackUnsupportedContentNodes } from './track-unsupported-content';
6
6
  import { validateADFEntity } from './validate-using-spec';
7
+ export function processRawValueWithoutTransformation(schema, value) {
8
+ const parsedDoc = Node.fromJSON(schema, value);
9
+ return parsedDoc;
10
+ }
7
11
  export function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
8
12
  if (!value) {
9
13
  return;
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "89.1.2";
10
+ var packageVersion = "89.2.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -22,7 +22,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
22
22
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
23
23
  import Layer from '../Layer';
24
24
  var packageName = "@atlaskit/editor-common";
25
- var packageVersion = "89.1.2";
25
+ var packageVersion = "89.2.0";
26
26
  var halfFocusRing = 1;
27
27
  var dropOffset = '0, 8';
28
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -9,14 +9,14 @@ function _createSuper(t) { var r = _isNativeReflectConstruct(); return function
9
9
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
10
10
  import React, { PureComponent } from 'react';
11
11
  import { ResourcedEmoji } from '@atlaskit/emoji/element';
12
+ import { fg } from '@atlaskit/platform-feature-flags';
12
13
  import { ProviderFactory, WithProviders } from '../../provider-factory';
13
- // @deprecated - use Emoji from editor-plugin-emoji
14
- var EmojiNode = /*#__PURE__*/function (_PureComponent) {
15
- _inherits(EmojiNode, _PureComponent);
16
- var _super = _createSuper(EmojiNode);
17
- function EmojiNode(props) {
14
+ var EmojiNodeClass = /*#__PURE__*/function (_PureComponent) {
15
+ _inherits(EmojiNodeClass, _PureComponent);
16
+ var _super = _createSuper(EmojiNodeClass);
17
+ function EmojiNodeClass(props) {
18
18
  var _this;
19
- _classCallCheck(this, EmojiNode);
19
+ _classCallCheck(this, EmojiNodeClass);
20
20
  _this = _super.call(this, props);
21
21
  _defineProperty(_assertThisInitialized(_this), "renderWithProvider", function (providers) {
22
22
  var _resourceConfig$optim;
@@ -59,7 +59,7 @@ var EmojiNode = /*#__PURE__*/function (_PureComponent) {
59
59
  _this.providerFactory = props.providers || new ProviderFactory();
60
60
  return _this;
61
61
  }
62
- _createClass(EmojiNode, [{
62
+ _createClass(EmojiNodeClass, [{
63
63
  key: "componentWillUnmount",
64
64
  value: function componentWillUnmount() {
65
65
  if (!this.props.providers) {
@@ -78,10 +78,56 @@ var EmojiNode = /*#__PURE__*/function (_PureComponent) {
78
78
  });
79
79
  }
80
80
  }]);
81
- return EmojiNode;
81
+ return EmojiNodeClass;
82
82
  }(PureComponent);
83
- _defineProperty(EmojiNode, "displayName", 'EmojiNode');
84
- _defineProperty(EmojiNode, "defaultProps", {
83
+ _defineProperty(EmojiNodeClass, "displayName", 'EmojiNode');
84
+ _defineProperty(EmojiNodeClass, "defaultProps", {
85
85
  showTooltip: true
86
86
  });
87
- export { EmojiNode as default };
87
+ var EmojiNodeFunctional = function EmojiNodeFunctional(props) {
88
+ var _resourceConfig$optim2;
89
+ var allowTextFallback = props.allowTextFallback,
90
+ shortName = props.shortName,
91
+ id = props.id,
92
+ fallback = props.fallback,
93
+ fitToHeight = props.fitToHeight,
94
+ showTooltip = props.showTooltip,
95
+ resourceConfig = props.resourceConfig,
96
+ emojiProvider = props.emojiProvider;
97
+ if (allowTextFallback && !emojiProvider) {
98
+ return /*#__PURE__*/React.createElement("span", {
99
+ "data-emoji-id": id,
100
+ "data-emoji-short-name": shortName,
101
+ "data-emoji-text": fallback || shortName
102
+ }, fallback || shortName);
103
+ }
104
+ if (!emojiProvider) {
105
+ return null;
106
+ }
107
+ return /*#__PURE__*/React.createElement(ResourcedEmoji, {
108
+ emojiId: {
109
+ id: id,
110
+ fallback: fallback,
111
+ shortName: shortName
112
+ },
113
+ emojiProvider: Promise.resolve(emojiProvider),
114
+ showTooltip: showTooltip,
115
+ fitToHeight: fitToHeight,
116
+ optimistic: true,
117
+ optimisticImageURL: resourceConfig === null || resourceConfig === void 0 || (_resourceConfig$optim2 = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim2 === void 0 ? void 0 : _resourceConfig$optim2.getUrl({
118
+ id: id,
119
+ fallback: fallback,
120
+ shortName: shortName
121
+ }),
122
+ editorEmoji: true
123
+ });
124
+ };
125
+ var EmojiNode = function EmojiNode(props) {
126
+ if (fg('platform_editor_get_emoji_provider_from_config')) {
127
+ if (props.emojiProvider) {
128
+ return /*#__PURE__*/React.createElement(EmojiNodeFunctional, props);
129
+ }
130
+ }
131
+ return /*#__PURE__*/React.createElement(EmojiNodeClass, props);
132
+ };
133
+ export default EmojiNode;
@@ -201,7 +201,7 @@ var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
201
201
 
202
202
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
203
203
  export var mediaWrapperStyle = function mediaWrapperStyle(props) {
204
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t// remove [data-comment-badge='true'] when ff platform_editor_insert_media_plugin_phase_one is cleaned up\n\t& > div:not([data-comment-badge='true'], [data-media-badges='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
204
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t// remove [data-comment-badge='true'] when ff platform_editor_add_media_from_url is cleaned up\n\t& > div:not([data-comment-badge='true'], [data-media-badges='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
205
205
  };
206
206
  export var MediaWrapper = function MediaWrapper(_ref3) {
207
207
  var children = _ref3.children,
@@ -4,6 +4,10 @@ import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../analytics';
4
4
  import { sanitizeNodeForPrivacy } from './filter/privacy-filter';
5
5
  import { findAndTrackUnsupportedContentNodes } from './track-unsupported-content';
6
6
  import { validateADFEntity } from './validate-using-spec';
7
+ export function processRawValueWithoutTransformation(schema, value) {
8
+ var parsedDoc = Node.fromJSON(schema, value);
9
+ return parsedDoc;
10
+ }
7
11
  export function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
8
12
  if (!value) {
9
13
  return;
@@ -1,5 +1,5 @@
1
- import { PureComponent } from 'react';
2
- import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
1
+ /// <reference types="react" />
2
+ import type { EmojiProvider, EmojiResourceConfig } from '@atlaskit/emoji/resource';
3
3
  import type { EmojiId } from '@atlaskit/emoji/types';
4
4
  import { ProviderFactory } from '../../provider-factory';
5
5
  export interface EmojiProps extends EmojiId {
@@ -8,15 +8,7 @@ export interface EmojiProps extends EmojiId {
8
8
  fitToHeight?: number;
9
9
  showTooltip?: boolean;
10
10
  resourceConfig?: EmojiResourceConfig;
11
+ emojiProvider?: EmojiProvider;
11
12
  }
12
- export default class EmojiNode extends PureComponent<EmojiProps, {}> {
13
- static displayName: string;
14
- static defaultProps: {
15
- showTooltip: boolean;
16
- };
17
- private providerFactory;
18
- constructor(props: EmojiProps);
19
- componentWillUnmount(): void;
20
- private renderWithProvider;
21
- render(): JSX.Element;
22
- }
13
+ declare const EmojiNode: (props: EmojiProps) => JSX.Element;
14
+ export default EmojiNode;
@@ -3,4 +3,5 @@ import { Node } from '@atlaskit/editor-prosemirror/model';
3
3
  import type { DispatchAnalyticsEvent } from '../analytics';
4
4
  import type { ProviderFactory } from '../provider-factory';
5
5
  import type { ReplaceRawValue, Transformer } from '../types';
6
+ export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node;
6
7
  export declare function processRawValue(schema: Schema, value?: ReplaceRawValue, providerFactory?: ProviderFactory, sanitizePrivateContent?: boolean, contentTransformer?: Transformer<string>, dispatchAnalyticsEvent?: DispatchAnalyticsEvent): Node | undefined;
@@ -1,5 +1,5 @@
1
- import { PureComponent } from 'react';
2
- import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
1
+ /// <reference types="react" />
2
+ import type { EmojiProvider, EmojiResourceConfig } from '@atlaskit/emoji/resource';
3
3
  import type { EmojiId } from '@atlaskit/emoji/types';
4
4
  import { ProviderFactory } from '../../provider-factory';
5
5
  export interface EmojiProps extends EmojiId {
@@ -8,15 +8,7 @@ export interface EmojiProps extends EmojiId {
8
8
  fitToHeight?: number;
9
9
  showTooltip?: boolean;
10
10
  resourceConfig?: EmojiResourceConfig;
11
+ emojiProvider?: EmojiProvider;
11
12
  }
12
- export default class EmojiNode extends PureComponent<EmojiProps, {}> {
13
- static displayName: string;
14
- static defaultProps: {
15
- showTooltip: boolean;
16
- };
17
- private providerFactory;
18
- constructor(props: EmojiProps);
19
- componentWillUnmount(): void;
20
- private renderWithProvider;
21
- render(): JSX.Element;
22
- }
13
+ declare const EmojiNode: (props: EmojiProps) => JSX.Element;
14
+ export default EmojiNode;
@@ -3,4 +3,5 @@ import { Node } from '@atlaskit/editor-prosemirror/model';
3
3
  import type { DispatchAnalyticsEvent } from '../analytics';
4
4
  import type { ProviderFactory } from '../provider-factory';
5
5
  import type { ReplaceRawValue, Transformer } from '../types';
6
+ export declare function processRawValueWithoutTransformation(schema: Schema, value?: ReplaceRawValue): Node;
6
7
  export declare function processRawValue(schema: Schema, value?: ReplaceRawValue, providerFactory?: ProviderFactory, sanitizePrivateContent?: boolean, contentTransformer?: Transformer<string>, dispatchAnalyticsEvent?: DispatchAnalyticsEvent): Node | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "89.1.2",
3
+ "version": "89.2.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/"
@@ -150,7 +150,7 @@
150
150
  "@atlaskit/textfield": "^6.5.0",
151
151
  "@atlaskit/theme": "^13.0.0",
152
152
  "@atlaskit/tmp-editor-statsig": "*",
153
- "@atlaskit/tokens": "^1.59.0",
153
+ "@atlaskit/tokens": "^1.60.0",
154
154
  "@atlaskit/tooltip": "^18.7.0",
155
155
  "@atlaskit/ufo": "^0.3.0",
156
156
  "@atlaskit/width-detector": "^4.3.0",
@@ -287,6 +287,9 @@
287
287
  },
288
288
  "platform_editor_allow_annotation_triple_click": {
289
289
  "type": "boolean"
290
+ },
291
+ "platform_editor_get_emoji_provider_from_config": {
292
+ "type": "boolean"
290
293
  }
291
294
  }
292
295
  }