@atlaskit/renderer 109.31.3 → 109.32.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 (53) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/react/index.js +8 -2
  3. package/dist/cjs/react/nodes/date.js +23 -39
  4. package/dist/cjs/react/nodes/emoji.js +41 -41
  5. package/dist/cjs/react/nodes/inlineCard.js +10 -25
  6. package/dist/cjs/react/nodes/mention.js +30 -36
  7. package/dist/cjs/react/nodes/status.js +30 -34
  8. package/dist/cjs/steps/index.js +26 -6
  9. package/dist/cjs/ui/Renderer/index.js +9 -3
  10. package/dist/cjs/ui/Renderer/style.js +18 -1
  11. package/dist/cjs/ui/annotations/element/mark.js +4 -2
  12. package/dist/cjs/ui/annotations/element/useInlineAnnotationProps.js +39 -0
  13. package/dist/es2019/react/index.js +8 -3
  14. package/dist/es2019/react/nodes/date.js +24 -23
  15. package/dist/es2019/react/nodes/emoji.js +35 -15
  16. package/dist/es2019/react/nodes/inlineCard.js +11 -26
  17. package/dist/es2019/react/nodes/mention.js +27 -15
  18. package/dist/es2019/react/nodes/status.js +26 -12
  19. package/dist/es2019/steps/index.js +26 -7
  20. package/dist/es2019/ui/Renderer/index.js +9 -3
  21. package/dist/es2019/ui/Renderer/style.js +21 -1
  22. package/dist/es2019/ui/annotations/element/mark.js +4 -2
  23. package/dist/es2019/ui/annotations/element/useInlineAnnotationProps.js +34 -0
  24. package/dist/esm/react/index.js +8 -2
  25. package/dist/esm/react/nodes/date.js +24 -41
  26. package/dist/esm/react/nodes/emoji.js +40 -39
  27. package/dist/esm/react/nodes/inlineCard.js +11 -26
  28. package/dist/esm/react/nodes/mention.js +31 -38
  29. package/dist/esm/react/nodes/status.js +31 -36
  30. package/dist/esm/steps/index.js +26 -6
  31. package/dist/esm/ui/Renderer/index.js +9 -3
  32. package/dist/esm/ui/Renderer/style.js +19 -1
  33. package/dist/esm/ui/annotations/element/mark.js +4 -2
  34. package/dist/esm/ui/annotations/element/useInlineAnnotationProps.js +33 -0
  35. package/dist/types/react/nodes/date.d.ts +2 -1
  36. package/dist/types/react/nodes/emoji.d.ts +10 -4
  37. package/dist/types/react/nodes/inlineCard.d.ts +4 -2
  38. package/dist/types/react/nodes/mention.d.ts +5 -5
  39. package/dist/types/react/nodes/status.d.ts +5 -5
  40. package/dist/types/steps/index.d.ts +1 -1
  41. package/dist/types/ui/Renderer/style.d.ts +1 -0
  42. package/dist/types/ui/annotations/element/mark.d.ts +4 -4
  43. package/dist/types/ui/annotations/element/useInlineAnnotationProps.d.ts +26 -0
  44. package/dist/types-ts4.5/react/nodes/date.d.ts +2 -1
  45. package/dist/types-ts4.5/react/nodes/emoji.d.ts +10 -4
  46. package/dist/types-ts4.5/react/nodes/inlineCard.d.ts +4 -2
  47. package/dist/types-ts4.5/react/nodes/mention.d.ts +5 -5
  48. package/dist/types-ts4.5/react/nodes/status.d.ts +5 -5
  49. package/dist/types-ts4.5/steps/index.d.ts +1 -1
  50. package/dist/types-ts4.5/ui/Renderer/style.d.ts +1 -0
  51. package/dist/types-ts4.5/ui/annotations/element/mark.d.ts +4 -4
  52. package/dist/types-ts4.5/ui/annotations/element/useInlineAnnotationProps.d.ts +26 -0
  53. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 109.32.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#108459](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108459)
8
+ [`dff16b735e876`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/dff16b735e876) -
9
+ [ED-23613] Avoid blending background color when inline comments overlap with highlights
10
+ - [#108623](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108623)
11
+ [`5af1dca5d4168`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5af1dca5d4168) -
12
+ [ux] ED-23616 Introduces support in renderer for commenting on status, emoji, date and mention
13
+ nodes.
14
+
15
+ ### Patch Changes
16
+
17
+ - [#108623](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108623)
18
+ [`2d2feeab0d09c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2d2feeab0d09c) -
19
+ [ux] ED-23420 Fix various issues with commenting on inline cards in renderer.
20
+ - Updated dependencies
21
+
3
22
  ## 109.31.3
4
23
 
5
24
  ### Patch Changes
@@ -205,7 +205,7 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
205
205
  var path = parentInfo ? parentInfo.path : undefined;
206
206
  switch (node.type.name) {
207
207
  case 'date':
208
- return this.getDateProps(node, parentInfo);
208
+ return this.getDateProps(node, parentInfo, path);
209
209
  case 'hardBreak':
210
210
  return this.getHardBreakProps(node, path);
211
211
  case 'heading':
@@ -369,9 +369,15 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
369
369
  }, {
370
370
  key: "getDateProps",
371
371
  value: function getDateProps(node, parentInfo) {
372
+ var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
372
373
  return {
373
374
  timestamp: node.attrs && node.attrs.timestamp,
374
- parentIsIncompleteTask: parentInfo && parentInfo.parentIsIncompleteTask
375
+ parentIsIncompleteTask: parentInfo && parentInfo.parentIsIncompleteTask,
376
+ dataAttributes: {
377
+ // We need to account for depth (path.length gives up depth) here
378
+ // but depth doesnt increment the pos, only accounted for.
379
+ 'data-renderer-start-pos': this.startPos + path.length
380
+ }
375
381
  };
376
382
  }
377
383
  }, {
@@ -6,53 +6,37 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = exports.DateComponent = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
11
  var _react = _interopRequireWildcard(require("react"));
17
12
  var _styles = require("@atlaskit/editor-common/styles");
18
13
  var _utils = require("@atlaskit/editor-common/utils");
19
14
  var _reactIntlNext = require("react-intl-next");
20
15
  var _TaskItemsFormatContext = require("../../ui/TaskItemsFormatContext");
16
+ var _useInlineAnnotationProps = require("../../ui/annotations/element/useInlineAnnotationProps");
21
17
  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); }
22
18
  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 && Object.prototype.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; }
23
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
24
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
- var Date = /*#__PURE__*/function (_PureComponent) {
26
- (0, _inherits2.default)(Date, _PureComponent);
27
- var _super = _createSuper(Date);
28
- function Date() {
29
- (0, _classCallCheck2.default)(this, Date);
30
- return _super.apply(this, arguments);
31
- }
32
- (0, _createClass2.default)(Date, [{
33
- key: "render",
34
- value: function render() {
35
- var _this$props = this.props,
36
- timestamp = _this$props.timestamp,
37
- parentIsIncompleteTask = _this$props.parentIsIncompleteTask,
38
- intl = _this$props.intl;
39
- var className = !!parentIsIncompleteTask && (0, _utils.isPastDate)(timestamp) ? 'date-node date-node-highlighted' : 'date-node';
40
- return (
41
- /*#__PURE__*/
42
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
43
- _react.default.createElement("span", {
44
- className: _styles.DateSharedCssClassName.DATE_WRAPPER
45
- }, /*#__PURE__*/_react.default.createElement("span", {
46
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
47
- className: className,
48
- "data-node-type": "date",
49
- "data-timestamp": timestamp
50
- }, parentIsIncompleteTask ? (0, _utils.timestampToTaskContext)(timestamp, intl) : (0, _utils.timestampToString)(timestamp, intl)))
51
- );
52
- }
53
- }]);
54
- return Date;
55
- }(_react.PureComponent);
19
+ var Date = /*#__PURE__*/(0, _react.memo)(function Date(props) {
20
+ var inlineAnnotationProps = (0, _useInlineAnnotationProps.useInlineAnnotationProps)(props, {
21
+ isInlineCard: false
22
+ });
23
+ var timestamp = props.timestamp,
24
+ parentIsIncompleteTask = props.parentIsIncompleteTask,
25
+ intl = props.intl;
26
+ var className = !!parentIsIncompleteTask && (0, _utils.isPastDate)(timestamp) ? 'date-node date-node-highlighted' : 'date-node';
27
+ return (
28
+ /*#__PURE__*/
29
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
30
+ _react.default.createElement("span", (0, _extends2.default)({
31
+ className: _styles.DateSharedCssClassName.DATE_WRAPPER
32
+ }, inlineAnnotationProps), /*#__PURE__*/_react.default.createElement("span", {
33
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
34
+ className: className,
35
+ "data-node-type": "date",
36
+ "data-timestamp": timestamp
37
+ }, parentIsIncompleteTask ? (0, _utils.timestampToTaskContext)(timestamp, intl) : (0, _utils.timestampToString)(timestamp, intl)))
38
+ );
39
+ });
56
40
  var DateComponent = exports.DateComponent = (0, _reactIntlNext.injectIntl)(Date);
57
41
  function DateWithFormatContext(props) {
58
42
  var _useTaskItemsFormatCo = (0, _TaskItemsFormatContext.useTaskItemsFormatContext)(),
@@ -1,49 +1,49 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("@emotion/react");
8
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
+ var _react2 = require("react");
15
10
  var _emoji = require("@atlaskit/editor-common/emoji");
16
- 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); }
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 && Object.prototype.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
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
- var EmojiItem = exports.default = /*#__PURE__*/function (_PureComponent) {
21
- (0, _inherits2.default)(EmojiItem, _PureComponent);
22
- var _super = _createSuper(EmojiItem);
23
- function EmojiItem() {
24
- (0, _classCallCheck2.default)(this, EmojiItem);
25
- return _super.apply(this, arguments);
11
+ var _useInlineAnnotationProps = require("../../ui/annotations/element/useInlineAnnotationProps");
12
+ /** @jsx jsx */
13
+
14
+ function EmojiItem(props) {
15
+ var id = props.id,
16
+ providers = props.providers,
17
+ shortName = props.shortName,
18
+ text = props.text,
19
+ fitToHeight = props.fitToHeight,
20
+ resourceConfig = props.resourceConfig;
21
+ var inlineAnnotationProps = (0, _useInlineAnnotationProps.useInlineAnnotationProps)(props, {
22
+ isInlineCard: false
23
+ });
24
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes-round-2_ctuxz')) {
25
+ return (0, _react.jsx)("span", inlineAnnotationProps, (0, _react.jsx)(_emoji.Emoji, {
26
+ allowTextFallback: true,
27
+ id: id,
28
+ shortName: shortName,
29
+ fallback: text,
30
+ providers: providers,
31
+ fitToHeight: fitToHeight,
32
+ resourceConfig: resourceConfig
33
+ }));
26
34
  }
27
- (0, _createClass2.default)(EmojiItem, [{
28
- key: "render",
29
- value: function render() {
30
- var _this$props = this.props,
31
- id = _this$props.id,
32
- providers = _this$props.providers,
33
- shortName = _this$props.shortName,
34
- text = _this$props.text,
35
- fitToHeight = _this$props.fitToHeight,
36
- resourceConfig = _this$props.resourceConfig;
37
- return /*#__PURE__*/_react.default.createElement(_emoji.Emoji, {
38
- allowTextFallback: true,
39
- id: id,
40
- shortName: shortName,
41
- fallback: text,
42
- providers: providers,
43
- fitToHeight: fitToHeight,
44
- resourceConfig: resourceConfig
45
- });
46
- }
47
- }]);
48
- return EmojiItem;
49
- }(_react.PureComponent);
35
+ return (0, _react.jsx)(_emoji.Emoji, {
36
+ allowTextFallback: true,
37
+ id: id,
38
+ shortName: shortName,
39
+ fallback: text,
40
+ providers: providers,
41
+ fitToHeight: fitToHeight,
42
+ resourceConfig: resourceConfig
43
+ });
44
+ }
45
+
46
+ // Working around an issue with pre existing tests using react-test-renderer
47
+ // https://github.com/facebook/react/issues/17301#issuecomment-557765213
48
+ EmojiItem.defaultProps = {};
49
+ var _default = exports.default = /*#__PURE__*/(0, _react2.memo)(EmojiItem);
@@ -10,25 +10,14 @@ var _react = require("@emotion/react");
10
10
  var _smartCard = require("@atlaskit/smart-card");
11
11
  var _ssr = require("@atlaskit/smart-card/ssr");
12
12
  var _ui = require("@atlaskit/editor-common/ui");
13
- var _colors = require("@atlaskit/theme/colors");
14
13
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _fallback = require("./fallback");
16
15
  var _SmartCardStorage = require("../../ui/SmartCardStorage");
17
16
  var _getCardClickHandler = require("../utils/getCardClickHandler");
18
17
  var _analyticsNext = require("@atlaskit/analytics-next");
18
+ var _useInlineAnnotationProps = require("../../ui/annotations/element/useInlineAnnotationProps");
19
19
  /** @jsx jsx */
20
20
 
21
- var annotatedCard = (0, _react.css)({
22
- // This is expected to be reworked as part of https://team.atlassian.com/project/ATLAS-61846/updates
23
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
24
- "[data-mark-type='annotation'][data-mark-annotation-state='active'] &": {
25
- background: "var(--ds-background-accent-yellow-subtler, ".concat(_colors.Y75, ")"),
26
- borderBottom: "2px solid ".concat("var(--ds-border-accent-yellow, ".concat(_colors.Y300, ")")),
27
- boxShadow: "var(--ds-shadow-overlay, ".concat("1px 2px 3px ".concat(_colors.N60A, ", -1px 2px 3px ").concat(_colors.N60A), ")"),
28
- cursor: 'pointer',
29
- padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-025, 2px)")
30
- }
31
- });
32
21
  var InlineCard = function InlineCard(props) {
33
22
  var url = props.url,
34
23
  data = props.data,
@@ -55,21 +44,18 @@ var InlineCard = function InlineCard(props) {
55
44
  // Below is added for the future implementation of Linking Platform namespaced analytic context
56
45
  location: 'renderer'
57
46
  };
47
+ var inlineAnnotationProps = (0, _useInlineAnnotationProps.useInlineAnnotationProps)(props, {
48
+ isInlineCard: true
49
+ });
58
50
  if (ssr && url) {
59
- // platform.editor.allow-inline-comments-for-inline-nodes requires this change to work -- however this feature flag is only intended to go to HELLO (and is expected to last for Q4).
60
- // platform.editor.renderer-inline-card-ssr-fix_kqcwl is the feature flag that allows this change to be safely released more widely.
61
- // Once platform.editor.renderer-inline-card-ssr-fix_kqcwl reaches 100% we can remove both checks
62
51
  if (
63
52
  // eslint-disable-next-line @atlaskit/platform/no-invalid-feature-flag-usage
64
- (0, _platformFeatureFlags.getBooleanFF)('platform.editor.renderer-inline-card-ssr-fix_kqcwl') ||
65
- // eslint-disable-next-line @atlaskit/platform/no-invalid-feature-flag-usage
66
53
  (0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes')) {
67
- return (0, _react.jsx)("span", {
54
+ return (0, _react.jsx)("span", (0, _extends2.default)({
68
55
  "data-inline-card": true,
69
56
  "data-card-data": data ? JSON.stringify(data) : undefined,
70
- "data-card-url": url,
71
- css: annotatedCard
72
- }, (0, _react.jsx)(_analyticsNext.AnalyticsContext, {
57
+ "data-card-url": url
58
+ }, inlineAnnotationProps), (0, _react.jsx)(_analyticsNext.AnalyticsContext, {
73
59
  data: analyticsData
74
60
  }, (0, _react.jsx)(_ssr.CardSSR, {
75
61
  appearance: "inline",
@@ -101,12 +87,11 @@ var InlineCard = function InlineCard(props) {
101
87
  };
102
88
  return (0, _react.jsx)(_analyticsNext.AnalyticsContext, {
103
89
  data: analyticsData
104
- }, (0, _react.jsx)("span", {
90
+ }, (0, _react.jsx)("span", (0, _extends2.default)({
105
91
  "data-inline-card": true,
106
92
  "data-card-data": data ? JSON.stringify(data) : undefined,
107
- "data-card-url": url,
108
- css: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes') ? annotatedCard : undefined
109
- }, (0, _react.jsx)(_fallback.CardErrorBoundary, (0, _extends2.default)({
93
+ "data-card-url": url
94
+ }, inlineAnnotationProps), (0, _react.jsx)(_fallback.CardErrorBoundary, (0, _extends2.default)({
110
95
  unsupportedComponent: _ui.UnsupportedInline
111
96
  }, cardProps), (0, _react.jsx)(_smartCard.Card, (0, _extends2.default)({
112
97
  appearance: "inline",
@@ -1,48 +1,42 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
8
  var _react = _interopRequireWildcard(require("react"));
15
9
  var _mention = require("@atlaskit/editor-common/mention");
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
+ var _useInlineAnnotationProps = require("../../ui/annotations/element/useInlineAnnotationProps");
16
12
  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); }
17
13
  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 && Object.prototype.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
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
- var MentionItem = exports.default = /*#__PURE__*/function (_PureComponent) {
21
- (0, _inherits2.default)(MentionItem, _PureComponent);
22
- var _super = _createSuper(MentionItem);
23
- function MentionItem() {
24
- (0, _classCallCheck2.default)(this, MentionItem);
25
- return _super.apply(this, arguments);
14
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(function MentionItem(props) {
15
+ var eventHandlers = props.eventHandlers,
16
+ id = props.id,
17
+ providers = props.providers,
18
+ text = props.text,
19
+ accessLevel = props.accessLevel,
20
+ localId = props.localId;
21
+ var inlineAnnotationProps = (0, _useInlineAnnotationProps.useInlineAnnotationProps)(props, {
22
+ isInlineCard: false
23
+ });
24
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes-round-2_ctuxz')) {
25
+ return /*#__PURE__*/_react.default.createElement("span", inlineAnnotationProps, /*#__PURE__*/_react.default.createElement(_mention.Mention, {
26
+ id: id,
27
+ text: text,
28
+ accessLevel: accessLevel,
29
+ providers: providers,
30
+ localId: localId,
31
+ eventHandlers: eventHandlers && eventHandlers.mention
32
+ }));
26
33
  }
27
- (0, _createClass2.default)(MentionItem, [{
28
- key: "render",
29
- value: function render() {
30
- var _this$props = this.props,
31
- eventHandlers = _this$props.eventHandlers,
32
- id = _this$props.id,
33
- providers = _this$props.providers,
34
- text = _this$props.text,
35
- accessLevel = _this$props.accessLevel,
36
- localId = _this$props.localId;
37
- return /*#__PURE__*/_react.default.createElement(_mention.Mention, {
38
- id: id,
39
- text: text,
40
- accessLevel: accessLevel,
41
- providers: providers,
42
- localId: localId,
43
- eventHandlers: eventHandlers && eventHandlers.mention
44
- });
45
- }
46
- }]);
47
- return MentionItem;
48
- }(_react.PureComponent);
34
+ return /*#__PURE__*/_react.default.createElement(_mention.Mention, {
35
+ id: id,
36
+ text: text,
37
+ accessLevel: accessLevel,
38
+ providers: providers,
39
+ localId: localId,
40
+ eventHandlers: eventHandlers && eventHandlers.mention
41
+ });
42
+ });
@@ -1,48 +1,44 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
8
  var _react = _interopRequireWildcard(require("react"));
15
9
  var _element = require("@atlaskit/status/element");
16
10
  var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
+ var _useInlineAnnotationProps = require("../../ui/annotations/element/useInlineAnnotationProps");
17
13
  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); }
18
14
  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 && Object.prototype.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; }
19
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
21
- var Status = exports.default = /*#__PURE__*/function (_PureComponent) {
22
- (0, _inherits2.default)(Status, _PureComponent);
23
- var _super = _createSuper(Status);
24
- function Status() {
25
- (0, _classCallCheck2.default)(this, Status);
26
- return _super.apply(this, arguments);
15
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(function Status(props) {
16
+ var text = props.text,
17
+ color = props.color,
18
+ localId = props.localId;
19
+ var inlineAnnotationProps = (0, _useInlineAnnotationProps.useInlineAnnotationProps)(props, {
20
+ isInlineCard: false
21
+ });
22
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes-round-2_ctuxz')) {
23
+ return /*#__PURE__*/_react.default.createElement("span", inlineAnnotationProps, /*#__PURE__*/_react.default.createElement(_analyticsNamespacedContext.FabricElementsAnalyticsContext, {
24
+ data: {
25
+ userContext: 'document'
26
+ }
27
+ }, /*#__PURE__*/_react.default.createElement(_element.Status, {
28
+ text: text,
29
+ color: color,
30
+ localId: localId,
31
+ role: "presentation"
32
+ })));
27
33
  }
28
- (0, _createClass2.default)(Status, [{
29
- key: "render",
30
- value: function render() {
31
- var _this$props = this.props,
32
- text = _this$props.text,
33
- color = _this$props.color,
34
- localId = _this$props.localId;
35
- return /*#__PURE__*/_react.default.createElement(_analyticsNamespacedContext.FabricElementsAnalyticsContext, {
36
- data: {
37
- userContext: 'document'
38
- }
39
- }, /*#__PURE__*/_react.default.createElement(_element.Status, {
40
- text: text,
41
- color: color,
42
- localId: localId,
43
- role: "presentation"
44
- }));
34
+ return /*#__PURE__*/_react.default.createElement(_analyticsNamespacedContext.FabricElementsAnalyticsContext, {
35
+ data: {
36
+ userContext: 'document'
45
37
  }
46
- }]);
47
- return Status;
48
- }(_react.PureComponent);
38
+ }, /*#__PURE__*/_react.default.createElement(_element.Status, {
39
+ text: text,
40
+ color: color,
41
+ localId: localId,
42
+ role: "presentation"
43
+ }));
44
+ });
@@ -78,7 +78,7 @@ function isNodeInlineTextMark(node) {
78
78
  * inline text mark.
79
79
  **/
80
80
 
81
- if (hasInlineCardDescendant(node)) {
81
+ if (hasInlineNodeDescendant(node)) {
82
82
  return false;
83
83
  }
84
84
  return true;
@@ -88,12 +88,18 @@ function isNodeInlineTextMark(node) {
88
88
  * This checks all the descendents of a node and returns true if it reaches
89
89
  * a descendant with the data-inline-card attribute set to 'true'.
90
90
  */
91
- function hasInlineCardDescendant(node) {
91
+ function hasInlineNodeDescendant(node) {
92
92
  if (isElementNode(node)) {
93
- if (node.dataset.inlineCard === 'true') {
94
- return true;
93
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes-round-2_ctuxz')) {
94
+ if (node.dataset.annotationInlineNode === 'true') {
95
+ return true;
96
+ }
97
+ } else {
98
+ if (node.dataset.inlineCard === 'true') {
99
+ return true;
100
+ }
95
101
  }
96
- return Array.from(node.childNodes).some(hasInlineCardDescendant);
102
+ return Array.from(node.childNodes).some(hasInlineNodeDescendant);
97
103
  }
98
104
  return false;
99
105
  }
@@ -126,10 +132,23 @@ function isRoot(element) {
126
132
  return !!element && element.classList.contains('ak-renderer-document');
127
133
  }
128
134
  function resolvePos(node, offset) {
135
+ var findEnd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
129
136
  // If the passed node doesn't exist, we should abort
130
137
  if (!node) {
131
138
  return false;
132
139
  }
140
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes')) {
141
+ var _node$parentElement;
142
+ var startPosAncestor = (_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.closest('[data-renderer-start-pos');
143
+ var potentialParent = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.allow-inline-comments-for-inline-nodes-round-2_ctuxz') ? 'data-annotation-mark' : 'data-inline-card';
144
+ if (startPosAncestor !== null && startPosAncestor !== void 0 && startPosAncestor.hasAttribute(potentialParent)) {
145
+ if (findEnd) {
146
+ return parseInt((startPosAncestor === null || startPosAncestor === void 0 ? void 0 : startPosAncestor.getAttribute('data-renderer-start-pos')) || '-1', 10) + 1;
147
+ } else {
148
+ return parseInt((startPosAncestor === null || startPosAncestor === void 0 ? void 0 : startPosAncestor.getAttribute('data-renderer-start-pos')) || '-1', 10);
149
+ }
150
+ }
151
+ }
133
152
  if (node instanceof HTMLElement && isPositionPointer(node)) {
134
153
  return getStartPos(node) + offset;
135
154
  }
@@ -215,7 +234,8 @@ function getPosFromRange(range, isCommentsOnMediaBugFixEnabled, isCommentsOnMedi
215
234
  }
216
235
  }
217
236
  var from = resolvePos(startContainer, startOffset);
218
- var to = resolvePos(endContainer, endOffset);
237
+ var findEnd = true;
238
+ var to = resolvePos(endContainer, endOffset, findEnd);
219
239
  if (from === false || to === false) {
220
240
  return false;
221
241
  }
@@ -56,7 +56,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
56
56
  var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
57
57
  var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
58
58
  var packageName = "@atlaskit/renderer";
59
- var packageVersion = "109.31.3";
59
+ var packageVersion = "109.32.0";
60
60
  var defaultNodeComponents = exports.defaultNodeComponents = _nodes.nodeToReact;
61
61
  var Renderer = exports.Renderer = /*#__PURE__*/function (_PureComponent) {
62
62
  (0, _inherits2.default)(Renderer, _PureComponent);
@@ -297,6 +297,7 @@ var Renderer = exports.Renderer = /*#__PURE__*/function (_PureComponent) {
297
297
  onComplete = _this$props.onComplete,
298
298
  onError = _this$props.onError,
299
299
  appearance = _this$props.appearance,
300
+ allowAnnotations = _this$props.allowAnnotations,
300
301
  adfStage = _this$props.adfStage,
301
302
  truncated = _this$props.truncated,
302
303
  maxHeight = _this$props.maxHeight,
@@ -379,6 +380,7 @@ var Renderer = exports.Renderer = /*#__PURE__*/function (_PureComponent) {
379
380
  }, (0, _react2.jsx)(_SmartCardStorage.Provider, null, (0, _react2.jsx)(_providerFactory.ProviderFactoryProvider, {
380
381
  value: this.providerFactory
381
382
  }, (0, _react2.jsx)(RendererWrapper, {
383
+ allowAnnotations: allowAnnotations,
382
384
  appearance: appearance,
383
385
  allowNestedHeaderLinks: allowNestedHeaderLinks,
384
386
  allowColumnSorting: allowColumnSorting,
@@ -417,6 +419,7 @@ var Renderer = exports.Renderer = /*#__PURE__*/function (_PureComponent) {
417
419
  onError(e);
418
420
  }
419
421
  return (0, _react2.jsx)(RendererWrapper, {
422
+ allowAnnotations: allowAnnotations,
420
423
  appearance: appearance,
421
424
  allowCopyToClipboard: allowCopyToClipboard,
422
425
  allowWrapCodeBlock: allowWrapCodeBlock,
@@ -545,12 +548,15 @@ var RendererWrapper = /*#__PURE__*/_react.default.memo(function (props) {
545
548
  }, (0, _react2.jsx)("div", {
546
549
  ref: innerRef,
547
550
  onClick: onClick,
548
- onMouseDown: onMouseDown,
551
+ onMouseDown: onMouseDown
552
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
553
+ ,
549
554
  css: (0, _style.rendererStyles)({
550
555
  appearance: appearance,
551
556
  allowNestedHeaderLinks: allowNestedHeaderLinks,
552
557
  allowColumnSorting: !!allowColumnSorting,
553
- useBlockRenderForCodeBlock: useBlockRenderForCodeBlock
558
+ useBlockRenderForCodeBlock: useBlockRenderForCodeBlock,
559
+ allowAnnotations: props.allowAnnotations
554
560
  })
555
561
  }, children))));
556
562
  });