@atlaskit/mention 23.0.3 → 23.1.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 (88) hide show
  1. package/CHANGELOG.md +1402 -1393
  2. package/dist/cjs/api/MentionNameResolver.js +60 -2
  3. package/dist/cjs/components/Mention/ResourcedMention.js +1 -0
  4. package/dist/cjs/components/Mention/index.js +4 -1
  5. package/dist/cjs/components/MentionDescriptionByline/styles.js +1 -0
  6. package/dist/cjs/components/MentionItem/styles.js +14 -0
  7. package/dist/cjs/components/MentionList/styles.js +1 -0
  8. package/dist/cjs/components/MentionListError/GenericErrorIllustration.js +6 -0
  9. package/dist/cjs/components/MentionListError/styles.js +6 -0
  10. package/dist/cjs/components/MentionPicker/index.js +3 -1
  11. package/dist/cjs/components/MentionPicker/styles.js +3 -0
  12. package/dist/cjs/components/Scrollable/styles.js +1 -0
  13. package/dist/cjs/util/analytics.js +1 -1
  14. package/dist/es2019/api/MentionNameResolver.js +56 -3
  15. package/dist/es2019/components/Mention/ResourcedMention.js +1 -0
  16. package/dist/es2019/components/Mention/index.js +4 -1
  17. package/dist/es2019/components/MentionDescriptionByline/styles.js +1 -0
  18. package/dist/es2019/components/MentionItem/styles.js +14 -0
  19. package/dist/es2019/components/MentionList/styles.js +1 -0
  20. package/dist/es2019/components/MentionListError/GenericErrorIllustration.js +6 -0
  21. package/dist/es2019/components/MentionListError/styles.js +7 -0
  22. package/dist/es2019/components/MentionPicker/index.js +3 -1
  23. package/dist/es2019/components/MentionPicker/styles.js +3 -0
  24. package/dist/es2019/components/Scrollable/styles.js +2 -0
  25. package/dist/es2019/util/analytics.js +1 -1
  26. package/dist/esm/api/MentionNameResolver.js +62 -2
  27. package/dist/esm/components/Mention/ResourcedMention.js +1 -0
  28. package/dist/esm/components/Mention/index.js +4 -1
  29. package/dist/esm/components/MentionDescriptionByline/styles.js +1 -0
  30. package/dist/esm/components/MentionItem/styles.js +14 -0
  31. package/dist/esm/components/MentionList/styles.js +1 -0
  32. package/dist/esm/components/MentionListError/GenericErrorIllustration.js +6 -0
  33. package/dist/esm/components/MentionListError/styles.js +7 -0
  34. package/dist/esm/components/MentionPicker/index.js +3 -1
  35. package/dist/esm/components/MentionPicker/styles.js +3 -0
  36. package/dist/esm/components/Scrollable/styles.js +2 -0
  37. package/dist/esm/util/analytics.js +1 -1
  38. package/dist/types/api/ContextMentionResource.d.ts +2 -2
  39. package/dist/types/api/MentionNameClient.d.ts +1 -1
  40. package/dist/types/api/MentionNameResolver.d.ts +19 -4
  41. package/dist/types/api/PresenceResource.d.ts +2 -2
  42. package/dist/types/api/TeamMentionResource.d.ts +2 -2
  43. package/dist/types/api/analytics.d.ts +1 -1
  44. package/dist/types/components/Mention/PrimitiveMention.d.ts +1 -1
  45. package/dist/types/components/Mention/ResourcedMention.d.ts +3 -2
  46. package/dist/types/components/Mention/index.d.ts +3 -2
  47. package/dist/types/components/MentionDescriptionByline/TeamMentionDescriptionByline.d.ts +1 -1
  48. package/dist/types/components/MentionDescriptionByline/UserMentionDescriptionByline.d.ts +1 -1
  49. package/dist/types/components/MentionDescriptionByline/index.d.ts +1 -1
  50. package/dist/types/components/MentionDescriptionByline/types.d.ts +1 -1
  51. package/dist/types/components/MentionItem/MentionHighlightHelpers.d.ts +2 -2
  52. package/dist/types/components/MentionItem/index.d.ts +1 -1
  53. package/dist/types/components/MentionList/index.d.ts +1 -1
  54. package/dist/types/components/MentionPicker/index.d.ts +5 -5
  55. package/dist/types/components/MessagesIntlProvider/index.d.ts +1 -1
  56. package/dist/types/components/ResourcedMentionList/index.d.ts +4 -4
  57. package/dist/types/components/Scrollable/index.d.ts +1 -1
  58. package/dist/types/resource.d.ts +5 -5
  59. package/dist/types/team-resource.d.ts +3 -3
  60. package/dist/types/util/analytics.d.ts +2 -2
  61. package/dist/types/util/i18n.d.ts +1 -1
  62. package/dist/types/util/mouse.d.ts +1 -1
  63. package/dist/types-ts4.5/api/ContextMentionResource.d.ts +2 -2
  64. package/dist/types-ts4.5/api/MentionNameClient.d.ts +1 -1
  65. package/dist/types-ts4.5/api/MentionNameResolver.d.ts +19 -4
  66. package/dist/types-ts4.5/api/PresenceResource.d.ts +2 -2
  67. package/dist/types-ts4.5/api/TeamMentionResource.d.ts +2 -2
  68. package/dist/types-ts4.5/api/analytics.d.ts +1 -1
  69. package/dist/types-ts4.5/components/Mention/PrimitiveMention.d.ts +1 -1
  70. package/dist/types-ts4.5/components/Mention/ResourcedMention.d.ts +3 -2
  71. package/dist/types-ts4.5/components/Mention/index.d.ts +3 -2
  72. package/dist/types-ts4.5/components/MentionDescriptionByline/TeamMentionDescriptionByline.d.ts +1 -1
  73. package/dist/types-ts4.5/components/MentionDescriptionByline/UserMentionDescriptionByline.d.ts +1 -1
  74. package/dist/types-ts4.5/components/MentionDescriptionByline/index.d.ts +1 -1
  75. package/dist/types-ts4.5/components/MentionDescriptionByline/types.d.ts +1 -1
  76. package/dist/types-ts4.5/components/MentionItem/MentionHighlightHelpers.d.ts +2 -2
  77. package/dist/types-ts4.5/components/MentionItem/index.d.ts +1 -1
  78. package/dist/types-ts4.5/components/MentionList/index.d.ts +1 -1
  79. package/dist/types-ts4.5/components/MentionPicker/index.d.ts +5 -5
  80. package/dist/types-ts4.5/components/MessagesIntlProvider/index.d.ts +1 -1
  81. package/dist/types-ts4.5/components/ResourcedMentionList/index.d.ts +4 -4
  82. package/dist/types-ts4.5/components/Scrollable/index.d.ts +1 -1
  83. package/dist/types-ts4.5/resource.d.ts +5 -5
  84. package/dist/types-ts4.5/team-resource.d.ts +3 -3
  85. package/dist/types-ts4.5/util/analytics.d.ts +2 -2
  86. package/dist/types-ts4.5/util/i18n.d.ts +1 -1
  87. package/dist/types-ts4.5/util/mouse.d.ts +1 -1
  88. package/package.json +5 -7
@@ -5,22 +5,28 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.DefaultMentionNameResolver = void 0;
8
+ exports.mergeNameResolverQueues = mergeNameResolverQueues;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
14
  var _types = require("../types");
13
15
  var _analytics = require("../util/analytics");
16
+ /** A queue for user ids */
14
17
  var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE__*/function () {
15
18
  function DefaultMentionNameResolver(client) {
16
19
  var _this = this;
17
20
  var analyticsProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
21
+ var onResolvedAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
18
22
  (0, _classCallCheck2.default)(this, DefaultMentionNameResolver);
19
23
  (0, _defineProperty2.default)(this, "nameCache", new Map());
20
24
  (0, _defineProperty2.default)(this, "nameQueue", new Map());
21
25
  (0, _defineProperty2.default)(this, "nameStartTime", new Map());
22
26
  (0, _defineProperty2.default)(this, "processingQueue", new Map());
23
27
  (0, _defineProperty2.default)(this, "debounce", 0);
28
+ (0, _defineProperty2.default)(this, "debounceOnResolve", null);
29
+ (0, _defineProperty2.default)(this, "isOnResolvedAllCalled", false);
24
30
  (0, _defineProperty2.default)(this, "processQueue", function () {
25
31
  clearTimeout(_this.debounce);
26
32
  _this.debounce = 0;
@@ -28,7 +34,7 @@ var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE_
28
34
  queue = _this$splitQueueAtLim.queue,
29
35
  extraQueue = _this$splitQueueAtLim.extraQueue;
30
36
  _this.nameQueue = extraQueue;
31
- _this.processingQueue = new Map([].concat((0, _toConsumableArray2.default)(_this.processingQueue), (0, _toConsumableArray2.default)(queue)));
37
+ _this.processingQueue = mergeNameResolverQueues(_this.processingQueue, queue);
32
38
  _this.client.lookupMentionNames(Array.from(queue.keys())).then(function (response) {
33
39
  response.forEach(function (mentionDetail) {
34
40
  var id = mentionDetail.id;
@@ -55,10 +61,15 @@ var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE_
55
61
  // Make sure anything left in the queue gets processed.
56
62
  if (_this.nameQueue.size > 0) {
57
63
  _this.scheduleProcessQueue();
64
+ } else {
65
+ _this.scheduleOnAllResolved();
58
66
  }
59
67
  });
60
68
  this.client = client;
61
69
  this.fireHydrationEvent = (0, _analytics.fireAnalyticsMentionHydrationEvent)(analyticsProps);
70
+ // If provided, this will be called once all pending mentions in the queue are resolved.
71
+ // A sample usage is scrolling to a mention on page load, after the mentions have loadad.
72
+ this.onResolvedAll = onResolvedAll;
62
73
  }
63
74
  (0, _createClass2.default)(DefaultMentionNameResolver, [{
64
75
  key: "lookupName",
@@ -67,6 +78,9 @@ var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE_
67
78
  var name = this.nameCache.get(id);
68
79
  if (name) {
69
80
  this.fireAnalytics(true, name);
81
+ if (this.nameQueue.size === 0) {
82
+ this.scheduleOnAllResolved();
83
+ }
70
84
  return name;
71
85
  }
72
86
  return new Promise(function (resolve) {
@@ -101,6 +115,21 @@ var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE_
101
115
  this.debounce = window.setTimeout(this.processQueue, DefaultMentionNameResolver.waitForBatch);
102
116
  }
103
117
  }
118
+ }, {
119
+ key: "scheduleOnAllResolved",
120
+ value: function scheduleOnAllResolved() {
121
+ var _this3 = this;
122
+ if (this.debounceOnResolve) {
123
+ clearTimeout(this.debounceOnResolve);
124
+ }
125
+ this.debounceOnResolve = window.setTimeout(function () {
126
+ if (_this3.isOnResolvedAllCalled) {
127
+ return;
128
+ }
129
+ _this3.onResolvedAll();
130
+ _this3.isOnResolvedAllCalled = true;
131
+ }, DefaultMentionNameResolver.waitForResolveAll);
132
+ }
104
133
  }, {
105
134
  key: "isQueueAtLimit",
106
135
  value: function isQueueAtLimit() {
@@ -147,4 +176,33 @@ var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE_
147
176
  }]);
148
177
  return DefaultMentionNameResolver;
149
178
  }();
150
- (0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForBatch", 100);
179
+ /**
180
+ * Merge the two queues making sure to merge callback arrays for items in queueB already in queueA.
181
+ * This addresses [this ticket](https://product-fabric.atlassian.net/browse/QS-3789).
182
+ */
183
+ (0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForBatch", 100);
184
+ // ms
185
+ (0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForResolveAll", 800);
186
+ function mergeNameResolverQueues(queueA, queueB) {
187
+ var queueBeingMerged = new Map((0, _toConsumableArray2.default)(queueA));
188
+
189
+ // now add the items from the second queue that are not already in the
190
+ // merged queue being built
191
+ (0, _toConsumableArray2.default)(queueB).forEach(function (item) {
192
+ var _item = (0, _slicedToArray2.default)(item, 2),
193
+ key = _item[0],
194
+ queueBCallbacks = _item[1];
195
+ var itemAlreadyInMergedQueue = queueBeingMerged.has(key);
196
+ if (!itemAlreadyInMergedQueue) {
197
+ queueBeingMerged.set(key, queueBCallbacks);
198
+ } else {
199
+ var _queueBeingMerged$get;
200
+ // item already in merged queue, merge the callback arrays
201
+ var queueACallbacks = (_queueBeingMerged$get = queueBeingMerged.get(key)) !== null && _queueBeingMerged$get !== void 0 ? _queueBeingMerged$get : [];
202
+ var mergedCallbacks = new Set([].concat((0, _toConsumableArray2.default)(queueBCallbacks), (0, _toConsumableArray2.default)(queueACallbacks)));
203
+ var deduplicatedCallbacks = Array.from(mergedCallbacks.values()); // prevents calling them twice
204
+ queueBeingMerged.set(key, deduplicatedCallbacks);
205
+ }
206
+ });
207
+ return queueBeingMerged;
208
+ }
@@ -124,6 +124,7 @@ var ResourcedMention = exports.default = /*#__PURE__*/function (_React$PureCompo
124
124
  text: props.text || state.resolvedMentionName || '',
125
125
  isHighlighted: state.isHighlighted,
126
126
  accessLevel: props.accessLevel,
127
+ localId: props.localId,
127
128
  onClick: props.onClick,
128
129
  onMouseEnter: props.onMouseEnter,
129
130
  onMouseLeave: props.onMouseLeave
@@ -122,7 +122,8 @@ var MentionInternal = exports.MentionInternal = /*#__PURE__*/function (_React$Pu
122
122
  props = this.props;
123
123
  var text = props.text,
124
124
  id = props.id,
125
- accessLevel = props.accessLevel;
125
+ accessLevel = props.accessLevel,
126
+ localId = props.localId;
126
127
  var mentionType = this.getMentionType();
127
128
  var failedMention = text === "@".concat(UNKNOWN_USER_ID);
128
129
  var mentionComponent = /*#__PURE__*/_react.default.createElement(_focusRing.default, null, /*#__PURE__*/_react.default.createElement(_PrimitiveMention.default, {
@@ -135,7 +136,9 @@ var MentionInternal = exports.MentionInternal = /*#__PURE__*/function (_React$Pu
135
136
  return /*#__PURE__*/_react.default.createElement(_ufoExperiences.UfoErrorBoundary, {
136
137
  id: id
137
138
  }, /*#__PURE__*/_react.default.createElement("span", {
139
+ id: localId,
138
140
  "data-mention-id": id,
141
+ "data-local-id": localId,
139
142
  "data-access-level": accessLevel,
140
143
  spellCheck: false
141
144
  }, /*#__PURE__*/_react.default.createElement(_MessagesIntlProvider.default, null, mentionType === _types.MentionType.RESTRICTED ? /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
@@ -9,4 +9,5 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _templateObject;
12
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
12
13
  var DescriptionBylineStyle = exports.DescriptionBylineStyle = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 12px;\n\n margin-top: ", ";\n\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])), "var(--ds-text-subtlest, ".concat(_colors.N100, ")"), "var(--ds-space-025, 2px)");
@@ -9,20 +9,34 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
12
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
12
13
  var RowStyle = exports.RowStyle = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n overflow: hidden;\n padding: ", " ", ";\n text-overflow: ellipsis;\n vertical-align: middle;\n"])), "var(--ds-space-075, 6px)", "var(--ds-space-150, 12px)");
14
+
15
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
13
16
  var AvatarStyle = exports.AvatarStyle = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n flex: initial;\n opacity: ", ";\n"])), function (props) {
14
17
  return props.restricted ? '0.5' : 'inherit';
15
18
  });
19
+
20
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
16
21
  var NameSectionStyle = exports.NameSectionStyle = _styled.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n min-width: 0;\n margin-left: ", ";\n opacity: ", ";\n"])), "var(--ds-space-150, 12px)", function (props) {
17
22
  return props.restricted ? '0.5' : 'inherit';
18
23
  });
24
+
25
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
19
26
  var FullNameStyle = exports.FullNameStyle = _styled.default.span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n"])), "var(--ds-text, ".concat(_colors.N900, ")"));
27
+
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
20
29
  var InfoSectionStyle = exports.InfoSectionStyle = _styled.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n text-align: right;\n opacity: ", ";\n\n & {\n /* Lozenge */\n & > span {\n margin-bottom: ", ";\n }\n }\n"])), function (props) {
21
30
  return props.restricted ? '0.5' : 'inherit';
22
31
  }, "var(--ds-space-025, 2px)");
32
+
33
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
23
34
  var TimeStyle = exports.TimeStyle = _styled.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n flex: none;\n color: ", ";\n font-size: 12px;\n"])), "var(--ds-space-250, 20px)", "var(--ds-text-subtlest, ".concat(_colors.N100, ")"));
24
35
  var MENTION_ITEM_HEIGHT = exports.MENTION_ITEM_HEIGHT = 48;
36
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
25
37
  var MentionItemStyle = exports.MentionItemStyle = _styled.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n display: block;\n overflow: hidden;\n list-style-type: none;\n height: ", "px;\n line-height: 1.2;\n cursor: pointer;\n"])), function (props) {
26
38
  return props.selected ? "var(--ds-background-selected, ".concat(_colors.N30, ")") : 'transparent';
27
39
  }, MENTION_ITEM_HEIGHT);
40
+
41
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
28
42
  var AccessSectionStyle = exports.AccessSectionStyle = _styled.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n padding-left: ", ";\n color: ", ";\n"])), "var(--ds-space-050, 4px)", "var(--ds-text-subtle, ".concat(_colors.N500, ")"));
@@ -9,6 +9,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _sharedStyles = require("../../shared-styles");
11
11
  var _templateObject;
12
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
12
13
  var MentionListStyle = exports.MentionListStyle = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: ", ";\n\n /* list style */\n width: ", ";\n color: ", ";\n\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n"])), function (props) {
13
14
  return props.empty ? 'none' : 'block';
14
15
  }, _sharedStyles.mentionListWidth, "var(--ds-text-subtle, #333)", _sharedStyles.noDialogContainerBorderColor, _sharedStyles.noDialogContainerBorderRadius, _sharedStyles.noDialogContainerBoxShadow);
@@ -64,29 +64,35 @@ var GenericErrorIllustration = exports.GenericErrorIllustration = /*#__PURE__*/f
64
64
  }, /*#__PURE__*/_react.default.createElement("g", {
65
65
  "data-name": "Layer 1-2"
66
66
  }, /*#__PURE__*/_react.default.createElement("path", {
67
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
67
68
  className: "cls-1",
68
69
  d: "M94.8,74.2l66.4,115.1a15.16,15.16,0,0,1-5.5,20.7,15.4,15.4,0,0,1-7.6,2H15.2A15.19,15.19,0,0,1,0,196.8a15.4,15.4,0,0,1,2-7.6l66.5-115a15.21,15.21,0,0,1,20.7-5.6A15.81,15.81,0,0,1,94.8,74.2Zm-7.6,83.5,2.9-44.3a9.26,9.26,0,0,0-8.6-9.8h-.6a9.18,9.18,0,0,0-9.2,9.2v.6l2.9,44.3a6.33,6.33,0,0,0,6.3,5.9h0A6.26,6.26,0,0,0,87.2,157.7ZM71.4,181.2a9.5,9.5,0,0,0,9.4,9.6h.9a9.79,9.79,0,0,0,8.8-10.5,9.69,9.69,0,0,0-9.7-8.8A9.58,9.58,0,0,0,71.4,181.2Z"
69
70
  }), /*#__PURE__*/_react.default.createElement("g", {
70
71
  className: "cls-2"
71
72
  }, /*#__PURE__*/_react.default.createElement("path", {
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
72
74
  className: "cls-3",
73
75
  d: "M92.7,27.2,85.3.4a.57.57,0,0,0-.7-.4c-.2.1-.4.2-.4.5L79.5,25.6l-5.8-1.1c-.3-.1-.6.2-.7.5v.3L80.3,52a.75.75,0,0,0,.7.5.82.82,0,0,0,.5-.5l4.7-25.1,5.8,1c.3.1.6-.2.7-.5Z"
74
76
  }), /*#__PURE__*/_react.default.createElement("path", {
77
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
75
78
  className: "cls-3",
76
79
  d: "M66.1,41.8,55.2,33.2a.3.3,0,0,0-.4,0,.19.19,0,0,0,0,.3L60.4,45l-2.7,1.3c-.1.1-.2.2-.1.4a.1.1,0,0,0,.1.1l10.9,8.5a.3.3,0,0,0,.4,0,.19.19,0,0,0,0-.3L63.4,43.6l2.7-1.3a.33.33,0,0,0,0-.5Z"
77
80
  })), /*#__PURE__*/_react.default.createElement("g", {
78
81
  className: "cls-2"
79
82
  }, /*#__PURE__*/_react.default.createElement("path", {
83
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
80
84
  className: "cls-4",
81
85
  d: "M102.1,56.8a1.42,1.42,0,0,1-.6-.2,1,1,0,0,1-.3-1.2c-.2-.8-2.3-2.8-3.5-4.1-3-3-4.9-5-3.8-6.5s3.6-.2,7.3,1.7a28.41,28.41,0,0,0,4.5,2,21.58,21.58,0,0,0-3.3-3.6c-3-3-4.9-5-3.8-6.5s3.6-.2,7.4,1.7a27.65,27.65,0,0,0,4.4,2,21.58,21.58,0,0,0-3.3-3.6c-3-3-4.9-5-3.8-6.5s3.6-.2,7.3,1.7c1.6.8,4.2,2.1,5,2.1a.91.91,0,0,1,1.2,0,1.08,1.08,0,0,1,.2,1.4c-1.1,1.5-3.6.2-7.3-1.7a27.65,27.65,0,0,0-4.4-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5s-3.6.2-7.3-1.7a28.41,28.41,0,0,0-4.5-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5s-3.6.2-7.3-1.7a28.41,28.41,0,0,0-4.5-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5A1.8,1.8,0,0,1,102.1,56.8Z"
82
86
  })), /*#__PURE__*/_react.default.createElement("g", {
83
87
  className: "cls-5"
84
88
  }, /*#__PURE__*/_react.default.createElement("path", {
89
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
85
90
  className: "cls-4",
86
91
  d: "M107.7,71.1a1.05,1.05,0,0,1-.9-.5c-1-1.9-2.2-4-.9-5.2s3.3.2,5.5,1.6a19.31,19.31,0,0,0,2.9,1.7,15.89,15.89,0,0,0-1.4-3.1c-1.3-2.3-2.5-4.4-1.1-5.6s3.3.2,5.5,1.6c1,.6,2.5,1.7,3.1,1.7a1,1,0,0,1,1.3.1,1,1,0,0,1-.1,1.4c-1.3,1.2-3.3-.2-5.5-1.6a19.31,19.31,0,0,0-2.9-1.7,13.64,13.64,0,0,0,1.4,3.1c1.3,2.3,2.4,4.4,1.1,5.6s-3.3-.2-5.5-1.6a19.31,19.31,0,0,0-2.9-1.7,13.07,13.07,0,0,0,1.2,2.7,1,1,0,0,1-.4,1.4A.6.6,0,0,1,107.7,71.1Zm12.5-7.6Z"
87
92
  })), /*#__PURE__*/_react.default.createElement("g", {
88
93
  className: "cls-5"
89
94
  }, /*#__PURE__*/_react.default.createElement("path", {
95
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
90
96
  className: "cls-4",
91
97
  d: "M53.4,68.1a2,2,0,0,1-.7-.1c-1.6-.7-1.2-3.1-.8-5.6a10.87,10.87,0,0,0,.3-3.4A15,15,0,0,0,50,61.6c-1.5,2.1-3,4.1-4.6,3.4a1,1,0,0,1-.5-1.3,1,1,0,0,1,1.2-.6,11.23,11.23,0,0,0,2.3-2.7c1.5-2.1,3-4.1,4.7-3.4s1.3,3.1.8,5.7a13.86,13.86,0,0,0-.3,3.3,11.82,11.82,0,0,0,2.1-2.6c1.5-2.1,3-4.1,4.7-3.4s1.2,3.1.9,5.2a1,1,0,1,1-1.9-.3,14.28,14.28,0,0,0,.3-2.9,15,15,0,0,0-2.2,2.6C56,66.4,54.7,68.1,53.4,68.1Z"
92
98
  }))))));
@@ -11,9 +11,15 @@ var _constants = require("@atlaskit/theme/constants");
11
11
  var _colors = require("@atlaskit/theme/colors");
12
12
  var _typography = require("@atlaskit/theme/typography");
13
13
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
14
15
  var MentionListErrorStyle = exports.MentionListErrorStyle = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n display: flex;\n justify-content: center;\n flex-direction: column;\n background-color: ", ";\n color: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n"])), "var(--ds-surface-overlay, white)", "var(--ds-text-subtle, ".concat(_colors.N500, ")"), "var(--ds-surface-overlay, #fff)", (0, _constants.borderRadius)());
16
+
17
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
15
18
  var GenericErrorVisualStyle = exports.GenericErrorVisualStyle = _styled.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", ";\n margin-top: ", ";\n width: ", ";\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-400, 32px)", "var(--ds-space-1000, 80px)");
16
19
 
17
20
  // TODO: Figure out why the themed css function is causing type errors when passed prop children
21
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
18
22
  var MentionListErrorHeadlineStyle = exports.MentionListErrorHeadlineStyle = _styled.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n margin-bottom: ", ";\n"])), (0, _typography.h400)(), "var(--ds-space-100, 8px)");
23
+
24
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
19
25
  var MentionListAdviceStyle = exports.MentionListAdviceStyle = _styled.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", ";\n"])), "var(--ds-space-600, 48px)");
@@ -214,7 +214,9 @@ var MentionPicker = exports.MentionPicker = /*#__PURE__*/function (_React$PureCo
214
214
  return (
215
215
  /*#__PURE__*/
216
216
  /* old classnames are essential for Confluence tests */
217
- _react.default.createElement(_styles.MentionPickerStyle, {
217
+ _react.default.createElement(_styles.MentionPickerStyle
218
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
219
+ , {
218
220
  className: "ak-mention-picker",
219
221
  visible: visible || info
220
222
  }, content)
@@ -10,7 +10,10 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _sharedStyles = require("../../shared-styles");
12
12
  var _templateObject, _templateObject2;
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
13
14
  var MentionPickerStyle = exports.MentionPickerStyle = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: ", ";\n"])), function (props) {
14
15
  return props.visible ? 'block' : 'none';
15
16
  });
17
+
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
16
19
  var MentionPickerInfoStyle = exports.MentionPickerInfoStyle = _styled.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n color: ", ";\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n display: block;\n width: ", ";\n white-space: nowrap;\n\n & {\n p {\n margin: 0;\n overflow: hidden;\n padding: ", ";\n text-overflow: ellipsis;\n }\n }\n"])), "var(--ds-surface, #fff)", "var(--ds-text-subtlest, ".concat(_colors.N100, ")"), _sharedStyles.noDialogContainerBorderColor, _sharedStyles.noDialogContainerBorderRadius, _sharedStyles.noDialogContainerBoxShadow, _sharedStyles.mentionListWidth, "var(--ds-space-100, 8px)");
@@ -10,4 +10,5 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _constants = require("@atlaskit/theme/constants");
11
11
  var _sharedStyles = require("../../shared-styles");
12
12
  var _templateObject;
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
13
14
  var ScrollableStyle = exports.ScrollableStyle = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n padding: ", " 0;\n margin: 0;\n\n background: ", ";\n max-height: ", ";\n\n border-radius: ", "px;\n"])), "var(--ds-space-050, 4px)", "var(--ds-surface, white)", _sharedStyles.scrollableMaxHeight, (0, _constants.borderRadius)());
@@ -12,7 +12,7 @@ var _types = require("../types");
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  var packageName = "@atlaskit/mention";
15
- var packageVersion = "23.0.3";
15
+ var packageVersion = "23.1.0";
16
16
  var SLI_EVENT_TYPE = exports.SLI_EVENT_TYPE = 'sli';
17
17
  var SMART_EVENT_TYPE = exports.SMART_EVENT_TYPE = 'smart';
18
18
  var SliNames = exports.SliNames = /*#__PURE__*/function (SliNames) {
@@ -1,13 +1,18 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { MentionNameStatus } from '../types';
3
3
  import { fireAnalyticsMentionHydrationEvent } from '../util/analytics';
4
+
5
+ /** A queue for user ids */
6
+
4
7
  export class DefaultMentionNameResolver {
5
- constructor(client, analyticsProps = {}) {
8
+ constructor(client, analyticsProps = {}, onResolvedAll = () => {}) {
6
9
  _defineProperty(this, "nameCache", new Map());
7
10
  _defineProperty(this, "nameQueue", new Map());
8
11
  _defineProperty(this, "nameStartTime", new Map());
9
12
  _defineProperty(this, "processingQueue", new Map());
10
13
  _defineProperty(this, "debounce", 0);
14
+ _defineProperty(this, "debounceOnResolve", null);
15
+ _defineProperty(this, "isOnResolvedAllCalled", false);
11
16
  _defineProperty(this, "processQueue", () => {
12
17
  clearTimeout(this.debounce);
13
18
  this.debounce = 0;
@@ -16,7 +21,7 @@ export class DefaultMentionNameResolver {
16
21
  extraQueue
17
22
  } = this.splitQueueAtLimit();
18
23
  this.nameQueue = extraQueue;
19
- this.processingQueue = new Map([...this.processingQueue, ...queue]);
24
+ this.processingQueue = mergeNameResolverQueues(this.processingQueue, queue);
20
25
  this.client.lookupMentionNames(Array.from(queue.keys())).then(response => {
21
26
  response.forEach(mentionDetail => {
22
27
  const {
@@ -45,15 +50,23 @@ export class DefaultMentionNameResolver {
45
50
  // Make sure anything left in the queue gets processed.
46
51
  if (this.nameQueue.size > 0) {
47
52
  this.scheduleProcessQueue();
53
+ } else {
54
+ this.scheduleOnAllResolved();
48
55
  }
49
56
  });
50
57
  this.client = client;
51
58
  this.fireHydrationEvent = fireAnalyticsMentionHydrationEvent(analyticsProps);
59
+ // If provided, this will be called once all pending mentions in the queue are resolved.
60
+ // A sample usage is scrolling to a mention on page load, after the mentions have loadad.
61
+ this.onResolvedAll = onResolvedAll;
52
62
  }
53
63
  lookupName(id) {
54
64
  const name = this.nameCache.get(id);
55
65
  if (name) {
56
66
  this.fireAnalytics(true, name);
67
+ if (this.nameQueue.size === 0) {
68
+ this.scheduleOnAllResolved();
69
+ }
57
70
  return name;
58
71
  }
59
72
  return new Promise(resolve => {
@@ -84,6 +97,18 @@ export class DefaultMentionNameResolver {
84
97
  this.debounce = window.setTimeout(this.processQueue, DefaultMentionNameResolver.waitForBatch);
85
98
  }
86
99
  }
100
+ scheduleOnAllResolved() {
101
+ if (this.debounceOnResolve) {
102
+ clearTimeout(this.debounceOnResolve);
103
+ }
104
+ this.debounceOnResolve = window.setTimeout(() => {
105
+ if (this.isOnResolvedAllCalled) {
106
+ return;
107
+ }
108
+ this.onResolvedAll();
109
+ this.isOnResolvedAllCalled = true;
110
+ }, DefaultMentionNameResolver.waitForResolveAll);
111
+ }
87
112
  isQueueAtLimit() {
88
113
  return this.nameQueue.size >= this.client.getLookupLimit();
89
114
  }
@@ -124,4 +149,32 @@ export class DefaultMentionNameResolver {
124
149
  this.fireHydrationEvent(action, id, fromCache, duration);
125
150
  }
126
151
  }
127
- _defineProperty(DefaultMentionNameResolver, "waitForBatch", 100);
152
+
153
+ /**
154
+ * Merge the two queues making sure to merge callback arrays for items in queueB already in queueA.
155
+ * This addresses [this ticket](https://product-fabric.atlassian.net/browse/QS-3789).
156
+ */
157
+ _defineProperty(DefaultMentionNameResolver, "waitForBatch", 100);
158
+ // ms
159
+ _defineProperty(DefaultMentionNameResolver, "waitForResolveAll", 800);
160
+ export function mergeNameResolverQueues(queueA, queueB) {
161
+ const queueBeingMerged = new Map([...queueA]);
162
+
163
+ // now add the items from the second queue that are not already in the
164
+ // merged queue being built
165
+ [...queueB].forEach(item => {
166
+ const [key, queueBCallbacks] = item;
167
+ const itemAlreadyInMergedQueue = queueBeingMerged.has(key);
168
+ if (!itemAlreadyInMergedQueue) {
169
+ queueBeingMerged.set(key, queueBCallbacks);
170
+ } else {
171
+ var _queueBeingMerged$get;
172
+ // item already in merged queue, merge the callback arrays
173
+ const queueACallbacks = (_queueBeingMerged$get = queueBeingMerged.get(key)) !== null && _queueBeingMerged$get !== void 0 ? _queueBeingMerged$get : [];
174
+ const mergedCallbacks = new Set([...queueBCallbacks, ...queueACallbacks]);
175
+ const deduplicatedCallbacks = Array.from(mergedCallbacks.values()); // prevents calling them twice
176
+ queueBeingMerged.set(key, deduplicatedCallbacks);
177
+ }
178
+ });
179
+ return queueBeingMerged;
180
+ }
@@ -95,6 +95,7 @@ export default class ResourcedMention extends React.PureComponent {
95
95
  text: props.text || state.resolvedMentionName || '',
96
96
  isHighlighted: state.isHighlighted,
97
97
  accessLevel: props.accessLevel,
98
+ localId: props.localId,
98
99
  onClick: props.onClick,
99
100
  onMouseEnter: props.onMouseEnter,
100
101
  onMouseLeave: props.onMouseLeave
@@ -99,7 +99,8 @@ export class MentionInternal extends React.PureComponent {
99
99
  const {
100
100
  text,
101
101
  id,
102
- accessLevel
102
+ accessLevel,
103
+ localId
103
104
  } = props;
104
105
  const mentionType = this.getMentionType();
105
106
  const failedMention = text === `@${UNKNOWN_USER_ID}`;
@@ -113,7 +114,9 @@ export class MentionInternal extends React.PureComponent {
113
114
  return /*#__PURE__*/React.createElement(UfoErrorBoundary, {
114
115
  id: id
115
116
  }, /*#__PURE__*/React.createElement("span", {
117
+ id: localId,
116
118
  "data-mention-id": id,
119
+ "data-local-id": localId,
117
120
  "data-access-level": accessLevel,
118
121
  spellCheck: false
119
122
  }, /*#__PURE__*/React.createElement(MessagesIntlProvider, null, mentionType === MentionType.RESTRICTED ? /*#__PURE__*/React.createElement(React.Suspense, {
@@ -1,5 +1,6 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { N100 } from '@atlaskit/theme/colors';
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
3
4
  export const DescriptionBylineStyle = styled.span`
4
5
  color: ${`var(--ds-text-subtlest, ${N100})`};
5
6
  font-size: 12px;
@@ -1,5 +1,6 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { N900, N100, N30, N500 } from '@atlaskit/theme/colors';
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
3
4
  export const RowStyle = styled.div`
4
5
  align-items: center;
5
6
  display: flex;
@@ -10,17 +11,23 @@ export const RowStyle = styled.div`
10
11
  text-overflow: ellipsis;
11
12
  vertical-align: middle;
12
13
  `;
14
+
15
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
13
16
  export const AvatarStyle = styled.span`
14
17
  position: relative;
15
18
  flex: initial;
16
19
  opacity: ${props => props.restricted ? '0.5' : 'inherit'};
17
20
  `;
21
+
22
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
18
23
  export const NameSectionStyle = styled.div`
19
24
  flex: 1;
20
25
  min-width: 0;
21
26
  margin-left: ${"var(--ds-space-150, 12px)"};
22
27
  opacity: ${props => props.restricted ? '0.5' : 'inherit'};
23
28
  `;
29
+
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
24
31
  export const FullNameStyle = styled.span`
25
32
  display: block;
26
33
  overflow: hidden;
@@ -28,6 +35,8 @@ export const FullNameStyle = styled.span`
28
35
  white-space: nowrap;
29
36
  color: ${`var(--ds-text, ${N900})`};
30
37
  `;
38
+
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
31
40
  export const InfoSectionStyle = styled.div`
32
41
  display: flex;
33
42
  flex-direction: column;
@@ -41,6 +50,8 @@ export const InfoSectionStyle = styled.div`
41
50
  }
42
51
  }
43
52
  `;
53
+
54
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
44
55
  export const TimeStyle = styled.div`
45
56
  margin-left: ${"var(--ds-space-250, 20px)"};
46
57
  flex: none;
@@ -48,6 +59,7 @@ export const TimeStyle = styled.div`
48
59
  font-size: 12px;
49
60
  `;
50
61
  export const MENTION_ITEM_HEIGHT = 48;
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
51
63
  export const MentionItemStyle = styled.div`
52
64
  background-color: ${props => props.selected ? `var(--ds-background-selected, ${N30})` : 'transparent'};
53
65
  display: block;
@@ -57,6 +69,8 @@ export const MentionItemStyle = styled.div`
57
69
  line-height: 1.2;
58
70
  cursor: pointer;
59
71
  `;
72
+
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
60
74
  export const AccessSectionStyle = styled.div`
61
75
  padding-left: ${"var(--ds-space-050, 4px)"};
62
76
  color: ${`var(--ds-text-subtle, ${N500})`};
@@ -1,5 +1,6 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { mentionListWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow } from '../../shared-styles';
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
3
4
  export const MentionListStyle = styled.div`
4
5
  display: ${props => props.empty ? 'none' : 'block'};
5
6
 
@@ -43,29 +43,35 @@ export class GenericErrorIllustration extends React.PureComponent {
43
43
  }, /*#__PURE__*/React.createElement("g", {
44
44
  "data-name": "Layer 1-2"
45
45
  }, /*#__PURE__*/React.createElement("path", {
46
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
46
47
  className: "cls-1",
47
48
  d: "M94.8,74.2l66.4,115.1a15.16,15.16,0,0,1-5.5,20.7,15.4,15.4,0,0,1-7.6,2H15.2A15.19,15.19,0,0,1,0,196.8a15.4,15.4,0,0,1,2-7.6l66.5-115a15.21,15.21,0,0,1,20.7-5.6A15.81,15.81,0,0,1,94.8,74.2Zm-7.6,83.5,2.9-44.3a9.26,9.26,0,0,0-8.6-9.8h-.6a9.18,9.18,0,0,0-9.2,9.2v.6l2.9,44.3a6.33,6.33,0,0,0,6.3,5.9h0A6.26,6.26,0,0,0,87.2,157.7ZM71.4,181.2a9.5,9.5,0,0,0,9.4,9.6h.9a9.79,9.79,0,0,0,8.8-10.5,9.69,9.69,0,0,0-9.7-8.8A9.58,9.58,0,0,0,71.4,181.2Z"
48
49
  }), /*#__PURE__*/React.createElement("g", {
49
50
  className: "cls-2"
50
51
  }, /*#__PURE__*/React.createElement("path", {
52
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
51
53
  className: "cls-3",
52
54
  d: "M92.7,27.2,85.3.4a.57.57,0,0,0-.7-.4c-.2.1-.4.2-.4.5L79.5,25.6l-5.8-1.1c-.3-.1-.6.2-.7.5v.3L80.3,52a.75.75,0,0,0,.7.5.82.82,0,0,0,.5-.5l4.7-25.1,5.8,1c.3.1.6-.2.7-.5Z"
53
55
  }), /*#__PURE__*/React.createElement("path", {
56
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
54
57
  className: "cls-3",
55
58
  d: "M66.1,41.8,55.2,33.2a.3.3,0,0,0-.4,0,.19.19,0,0,0,0,.3L60.4,45l-2.7,1.3c-.1.1-.2.2-.1.4a.1.1,0,0,0,.1.1l10.9,8.5a.3.3,0,0,0,.4,0,.19.19,0,0,0,0-.3L63.4,43.6l2.7-1.3a.33.33,0,0,0,0-.5Z"
56
59
  })), /*#__PURE__*/React.createElement("g", {
57
60
  className: "cls-2"
58
61
  }, /*#__PURE__*/React.createElement("path", {
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
59
63
  className: "cls-4",
60
64
  d: "M102.1,56.8a1.42,1.42,0,0,1-.6-.2,1,1,0,0,1-.3-1.2c-.2-.8-2.3-2.8-3.5-4.1-3-3-4.9-5-3.8-6.5s3.6-.2,7.3,1.7a28.41,28.41,0,0,0,4.5,2,21.58,21.58,0,0,0-3.3-3.6c-3-3-4.9-5-3.8-6.5s3.6-.2,7.4,1.7a27.65,27.65,0,0,0,4.4,2,21.58,21.58,0,0,0-3.3-3.6c-3-3-4.9-5-3.8-6.5s3.6-.2,7.3,1.7c1.6.8,4.2,2.1,5,2.1a.91.91,0,0,1,1.2,0,1.08,1.08,0,0,1,.2,1.4c-1.1,1.5-3.6.2-7.3-1.7a27.65,27.65,0,0,0-4.4-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5s-3.6.2-7.3-1.7a28.41,28.41,0,0,0-4.5-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5s-3.6.2-7.3-1.7a28.41,28.41,0,0,0-4.5-2,21.58,21.58,0,0,0,3.3,3.6c3,3,4.9,5,3.8,6.5A1.8,1.8,0,0,1,102.1,56.8Z"
61
65
  })), /*#__PURE__*/React.createElement("g", {
62
66
  className: "cls-5"
63
67
  }, /*#__PURE__*/React.createElement("path", {
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
64
69
  className: "cls-4",
65
70
  d: "M107.7,71.1a1.05,1.05,0,0,1-.9-.5c-1-1.9-2.2-4-.9-5.2s3.3.2,5.5,1.6a19.31,19.31,0,0,0,2.9,1.7,15.89,15.89,0,0,0-1.4-3.1c-1.3-2.3-2.5-4.4-1.1-5.6s3.3.2,5.5,1.6c1,.6,2.5,1.7,3.1,1.7a1,1,0,0,1,1.3.1,1,1,0,0,1-.1,1.4c-1.3,1.2-3.3-.2-5.5-1.6a19.31,19.31,0,0,0-2.9-1.7,13.64,13.64,0,0,0,1.4,3.1c1.3,2.3,2.4,4.4,1.1,5.6s-3.3-.2-5.5-1.6a19.31,19.31,0,0,0-2.9-1.7,13.07,13.07,0,0,0,1.2,2.7,1,1,0,0,1-.4,1.4A.6.6,0,0,1,107.7,71.1Zm12.5-7.6Z"
66
71
  })), /*#__PURE__*/React.createElement("g", {
67
72
  className: "cls-5"
68
73
  }, /*#__PURE__*/React.createElement("path", {
74
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
69
75
  className: "cls-4",
70
76
  d: "M53.4,68.1a2,2,0,0,1-.7-.1c-1.6-.7-1.2-3.1-.8-5.6a10.87,10.87,0,0,0,.3-3.4A15,15,0,0,0,50,61.6c-1.5,2.1-3,4.1-4.6,3.4a1,1,0,0,1-.5-1.3,1,1,0,0,1,1.2-.6,11.23,11.23,0,0,0,2.3-2.7c1.5-2.1,3-4.1,4.7-3.4s1.3,3.1.8,5.7a13.86,13.86,0,0,0-.3,3.3,11.82,11.82,0,0,0,2.1-2.6c1.5-2.1,3-4.1,4.7-3.4s1.2,3.1.9,5.2a1,1,0,1,1-1.9-.3,14.28,14.28,0,0,0,.3-2.9,15,15,0,0,0-2.2,2.6C56,66.4,54.7,68.1,53.4,68.1Z"
71
77
  }))))));
@@ -2,6 +2,8 @@ import styled from '@emotion/styled';
2
2
  import { borderRadius } from '@atlaskit/theme/constants';
3
3
  import { N500 } from '@atlaskit/theme/colors';
4
4
  import { h400 } from '@atlaskit/theme/typography';
5
+
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
5
7
  export const MentionListErrorStyle = styled.div`
6
8
  align-items: center;
7
9
  display: flex;
@@ -12,6 +14,8 @@ export const MentionListErrorStyle = styled.div`
12
14
  border: 1px solid ${"var(--ds-surface-overlay, #fff)"};
13
15
  border-radius: ${borderRadius()}px;
14
16
  `;
17
+
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
15
19
  export const GenericErrorVisualStyle = styled.div`
16
20
  margin-bottom: ${"var(--ds-space-100, 8px)"};
17
21
  margin-top: ${"var(--ds-space-400, 32px)"};
@@ -19,10 +23,13 @@ export const GenericErrorVisualStyle = styled.div`
19
23
  `;
20
24
 
21
25
  // TODO: Figure out why the themed css function is causing type errors when passed prop children
26
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
22
27
  export const MentionListErrorHeadlineStyle = styled.div`
23
28
  ${h400()};
24
29
  margin-bottom: ${"var(--ds-space-100, 8px)"};
25
30
  `;
31
+
32
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
26
33
  export const MentionListAdviceStyle = styled.div`
27
34
  margin-bottom: ${"var(--ds-space-600, 48px)"};
28
35
  `;
@@ -179,7 +179,9 @@ export class MentionPicker extends React.PureComponent {
179
179
  return (
180
180
  /*#__PURE__*/
181
181
  /* old classnames are essential for Confluence tests */
182
- React.createElement(MentionPickerStyle, {
182
+ React.createElement(MentionPickerStyle
183
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
184
+ , {
183
185
  className: "ak-mention-picker",
184
186
  visible: visible || info
185
187
  }, content)
@@ -1,9 +1,12 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { N100 } from '@atlaskit/theme/colors';
3
3
  import { mentionListWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow } from '../../shared-styles';
4
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
4
5
  export const MentionPickerStyle = styled.div`
5
6
  display: ${props => props.visible ? 'block' : 'none'};
6
7
  `;
8
+
9
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
7
10
  export const MentionPickerInfoStyle = styled.div`
8
11
  background: ${"var(--ds-surface, #fff)"};
9
12
  color: ${`var(--ds-text-subtlest, ${N100})`};
@@ -1,6 +1,8 @@
1
1
  import styled from '@emotion/styled';
2
2
  import { borderRadius } from '@atlaskit/theme/constants';
3
3
  import { scrollableMaxHeight } from '../../shared-styles';
4
+
5
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
4
6
  export const ScrollableStyle = styled.div`
5
7
  display: block;
6
8
  overflow-x: hidden;