@atlaskit/mention 27.17.0 → 27.18.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 +40 -0
- package/dist/cjs/api/AbstractMentionResource.js +111 -0
- package/dist/cjs/api/AbstractPresenceResource.js +41 -0
- package/dist/cjs/api/AbstractResource.js +48 -0
- package/dist/cjs/api/Callback.js +5 -0
- package/dist/cjs/api/DefaultMentionNameResolver.js +178 -0
- package/dist/cjs/api/DefaultPresenceCache.js +159 -0
- package/dist/cjs/api/DefaultPresenceParser.js +91 -0
- package/dist/cjs/api/HttpError.js +16 -0
- package/dist/cjs/api/MentionNameResolver.js +13 -201
- package/dist/cjs/api/MentionResource.js +52 -157
- package/dist/cjs/api/PresenceResource.js +39 -263
- package/dist/cjs/api/Queue.js +5 -0
- package/dist/cjs/api/isResolvingMentionProvider.js +9 -0
- package/dist/cjs/api/mergeNameResolverQueues.js +36 -0
- package/dist/cjs/components/Mention/MentionInternal.js +247 -0
- package/dist/cjs/components/Mention/ResourcedMention.js +5 -4
- package/dist/cjs/components/Mention/index.js +29 -243
- package/dist/cjs/components/MentionAvatar/index.js +5 -4
- package/dist/cjs/components/MentionItem/index.js +18 -12
- package/dist/cjs/components/MentionList/index.js +4 -3
- package/dist/cjs/components/MentionPicker/MentionPicker.js +231 -0
- package/dist/cjs/components/MentionPicker/index.js +18 -227
- package/dist/cjs/components/MessagesIntlProvider/index.js +2 -2
- package/dist/cjs/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +228 -0
- package/dist/cjs/components/ResourcedMentionList/index.js +14 -223
- package/dist/cjs/index.js +17 -15
- package/dist/cjs/is-agent-mention.js +12 -0
- package/dist/cjs/is-app-mention.js +10 -0
- package/dist/cjs/is-promise.js +9 -0
- package/dist/cjs/is-restricted.js +10 -0
- package/dist/cjs/is-special-mention-text.js +9 -0
- package/dist/cjs/is-special-mention.js +10 -0
- package/dist/cjs/is-team-mention.js +10 -0
- package/dist/cjs/resource.js +15 -12
- package/dist/cjs/team-resource.js +9 -9
- package/dist/cjs/typeahead.js +4 -0
- package/dist/cjs/types.js +71 -30
- package/dist/cjs/util/actual-mouse-move.js +14 -0
- package/dist/cjs/util/analytics.js +91 -107
- package/dist/cjs/util/build-sli-payload.js +27 -0
- package/dist/cjs/util/fire-analytics-mention-event.js +32 -0
- package/dist/cjs/util/fire-analytics-mention-hydration-event.js +33 -0
- package/dist/cjs/util/fire-analytics-mention-typeahead-event.js +34 -0
- package/dist/cjs/util/fire-analytics.js +18 -0
- package/dist/cjs/util/fire-sli-analytics-event.js +16 -0
- package/dist/cjs/util/get-messages-for-locale.js +233 -0
- package/dist/cjs/util/i18n.js +9 -254
- package/dist/cjs/util/left-click.js +9 -0
- package/dist/cjs/util/mouse-location.js +12 -0
- package/dist/cjs/util/mouse.js +1 -26
- package/dist/cjs/util/package-name.js +7 -0
- package/dist/cjs/util/package-version.js +7 -0
- package/dist/cjs/util/prop-formatter.js +25 -0
- package/dist/es2019/api/AbstractMentionResource.js +73 -0
- package/dist/es2019/api/AbstractPresenceResource.js +17 -0
- package/dist/es2019/api/AbstractResource.js +33 -0
- package/dist/es2019/api/Callback.js +1 -0
- package/dist/es2019/api/DefaultMentionNameResolver.js +152 -0
- package/dist/es2019/api/DefaultPresenceCache.js +111 -0
- package/dist/es2019/api/DefaultPresenceParser.js +58 -0
- package/dist/es2019/api/HttpError.js +8 -0
- package/dist/es2019/api/MentionNameResolver.js +13 -176
- package/dist/es2019/api/MentionResource.js +28 -122
- package/dist/es2019/api/PresenceResource.js +19 -185
- package/dist/es2019/api/Queue.js +1 -0
- package/dist/es2019/api/isResolvingMentionProvider.js +1 -0
- package/dist/es2019/api/mergeNameResolverQueues.js +25 -0
- package/dist/es2019/components/Mention/MentionInternal.js +225 -0
- package/dist/es2019/components/Mention/ResourcedMention.js +4 -3
- package/dist/es2019/components/Mention/index.js +19 -223
- package/dist/es2019/components/MentionAvatar/index.js +3 -2
- package/dist/es2019/components/MentionItem/index.js +14 -8
- package/dist/es2019/components/MentionList/index.js +2 -1
- package/dist/es2019/components/MentionPicker/MentionPicker.js +198 -0
- package/dist/es2019/components/MentionPicker/index.js +15 -200
- package/dist/es2019/components/MessagesIntlProvider/index.js +1 -1
- package/dist/es2019/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +187 -0
- package/dist/es2019/components/ResourcedMentionList/index.js +9 -187
- package/dist/es2019/element.js +5 -0
- package/dist/es2019/index.js +13 -9
- package/dist/es2019/is-agent-mention.js +6 -0
- package/dist/es2019/is-app-mention.js +4 -0
- package/dist/es2019/is-promise.js +1 -0
- package/dist/es2019/is-restricted.js +4 -0
- package/dist/es2019/is-special-mention-text.js +3 -0
- package/dist/es2019/is-special-mention.js +4 -0
- package/dist/es2019/is-team-mention.js +4 -0
- package/dist/es2019/item.js +5 -0
- package/dist/es2019/resource.js +15 -5
- package/dist/es2019/team-resource.js +10 -4
- package/dist/es2019/typeahead.js +5 -0
- package/dist/es2019/types.js +30 -21
- package/dist/es2019/util/actual-mouse-move.js +8 -0
- package/dist/es2019/util/analytics.js +35 -91
- package/dist/es2019/util/build-sli-payload.js +18 -0
- package/dist/es2019/util/fire-analytics-mention-event.js +24 -0
- package/dist/es2019/util/fire-analytics-mention-hydration-event.js +25 -0
- package/dist/es2019/util/fire-analytics-mention-typeahead-event.js +24 -0
- package/dist/es2019/util/fire-analytics.js +10 -0
- package/dist/es2019/util/fire-sli-analytics-event.js +8 -0
- package/dist/es2019/util/get-messages-for-locale.js +145 -0
- package/dist/es2019/util/i18n.js +2 -165
- package/dist/es2019/util/left-click.js +3 -0
- package/dist/es2019/util/mouse-location.js +6 -0
- package/dist/es2019/util/mouse.js +0 -18
- package/dist/es2019/util/package-name.js +1 -0
- package/dist/es2019/util/package-version.js +1 -0
- package/dist/es2019/util/prop-formatter.js +18 -0
- package/dist/esm/api/AbstractMentionResource.js +104 -0
- package/dist/esm/api/AbstractPresenceResource.js +34 -0
- package/dist/esm/api/AbstractResource.js +41 -0
- package/dist/esm/api/Callback.js +1 -0
- package/dist/esm/api/DefaultMentionNameResolver.js +171 -0
- package/dist/esm/api/DefaultPresenceCache.js +152 -0
- package/dist/esm/api/DefaultPresenceParser.js +84 -0
- package/dist/esm/api/HttpError.js +9 -0
- package/dist/esm/api/MentionNameResolver.js +13 -198
- package/dist/esm/api/MentionResource.js +30 -154
- package/dist/esm/api/PresenceResource.js +22 -256
- package/dist/esm/api/Queue.js +1 -0
- package/dist/esm/api/isResolvingMentionProvider.js +3 -0
- package/dist/esm/api/mergeNameResolverQueues.js +29 -0
- package/dist/esm/components/Mention/MentionInternal.js +242 -0
- package/dist/esm/components/Mention/ResourcedMention.js +4 -3
- package/dist/esm/components/Mention/index.js +19 -240
- package/dist/esm/components/MentionAvatar/index.js +3 -2
- package/dist/esm/components/MentionItem/index.js +14 -8
- package/dist/esm/components/MentionList/index.js +2 -1
- package/dist/esm/components/MentionPicker/MentionPicker.js +225 -0
- package/dist/esm/components/MentionPicker/index.js +15 -227
- package/dist/esm/components/MessagesIntlProvider/index.js +1 -1
- package/dist/esm/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +221 -0
- package/dist/esm/components/ResourcedMentionList/index.js +9 -221
- package/dist/esm/element.js +5 -0
- package/dist/esm/index.js +13 -9
- package/dist/esm/is-agent-mention.js +6 -0
- package/dist/esm/is-app-mention.js +4 -0
- package/dist/esm/is-promise.js +3 -0
- package/dist/esm/is-restricted.js +4 -0
- package/dist/esm/is-special-mention-text.js +3 -0
- package/dist/esm/is-special-mention.js +4 -0
- package/dist/esm/is-team-mention.js +4 -0
- package/dist/esm/item.js +5 -0
- package/dist/esm/resource.js +15 -5
- package/dist/esm/team-resource.js +10 -4
- package/dist/esm/typeahead.js +5 -0
- package/dist/esm/types.js +30 -23
- package/dist/esm/util/actual-mouse-move.js +8 -0
- package/dist/esm/util/analytics.js +35 -105
- package/dist/esm/util/build-sli-payload.js +20 -0
- package/dist/esm/util/fire-analytics-mention-event.js +26 -0
- package/dist/esm/util/fire-analytics-mention-hydration-event.js +27 -0
- package/dist/esm/util/fire-analytics-mention-typeahead-event.js +28 -0
- package/dist/esm/util/fire-analytics.js +12 -0
- package/dist/esm/util/fire-sli-analytics-event.js +10 -0
- package/dist/esm/util/get-messages-for-locale.js +163 -0
- package/dist/esm/util/i18n.js +2 -183
- package/dist/esm/util/left-click.js +3 -0
- package/dist/esm/util/mouse-location.js +6 -0
- package/dist/esm/util/mouse.js +0 -18
- package/dist/esm/util/package-name.js +1 -0
- package/dist/esm/util/package-version.js +1 -0
- package/dist/esm/util/prop-formatter.js +18 -0
- package/dist/types/api/AbstractMentionResource.d.ts +15 -0
- package/dist/types/api/AbstractPresenceResource.d.ts +6 -0
- package/dist/types/api/AbstractResource.d.ts +11 -0
- package/dist/types/api/Callback.d.ts +4 -0
- package/dist/types/api/DefaultMentionNameResolver.d.ts +27 -0
- package/dist/types/api/DefaultPresenceCache.d.ts +57 -0
- package/dist/types/api/DefaultPresenceParser.d.ts +8 -0
- package/dist/types/api/HttpError.d.ts +7 -0
- package/dist/types/api/MentionNameResolver.d.ts +14 -35
- package/dist/types/api/MentionResource.d.ts +18 -33
- package/dist/types/api/PresenceResource.d.ts +15 -69
- package/dist/types/api/Queue.d.ts +2 -0
- package/dist/types/api/isResolvingMentionProvider.d.ts +2 -0
- package/dist/types/api/mergeNameResolverQueues.d.ts +6 -0
- package/dist/types/components/Mention/MentionInternal.d.ts +27 -0
- package/dist/types/components/Mention/ResourcedMention.d.ts +1 -1
- package/dist/types/components/Mention/index.d.ts +9 -20
- package/dist/types/components/MentionAvatar/index.d.ts +1 -1
- package/dist/types/components/MentionItem/index.d.ts +4 -1
- package/dist/types/components/MentionPicker/MentionPicker.d.ts +46 -0
- package/dist/types/components/MentionPicker/index.d.ts +5 -42
- package/dist/types/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.d.ts +30 -0
- package/dist/types/components/ResourcedMentionList/index.d.ts +5 -27
- package/dist/types/element.d.ts +3 -0
- package/dist/types/index.d.ts +15 -10
- package/dist/types/is-agent-mention.d.ts +2 -0
- package/dist/types/is-app-mention.d.ts +2 -0
- package/dist/types/is-promise.d.ts +1 -0
- package/dist/types/is-restricted.d.ts +1 -0
- package/dist/types/is-special-mention-text.d.ts +1 -0
- package/dist/types/is-special-mention.d.ts +2 -0
- package/dist/types/is-team-mention.d.ts +2 -0
- package/dist/types/item.d.ts +3 -0
- package/dist/types/resource.d.ts +15 -6
- package/dist/types/team-resource.d.ts +10 -4
- package/dist/types/typeahead.d.ts +3 -0
- package/dist/types/types.d.ts +28 -8
- package/dist/types/util/actual-mouse-move.d.ts +2 -0
- package/dist/types/util/analytics.d.ts +33 -10
- package/dist/types/util/build-sli-payload.d.ts +4 -0
- package/dist/types/util/fire-analytics-mention-event.d.ts +1 -0
- package/dist/types/util/fire-analytics-mention-hydration-event.d.ts +1 -0
- package/dist/types/util/fire-analytics-mention-typeahead-event.d.ts +1 -0
- package/dist/types/util/fire-analytics.d.ts +1 -0
- package/dist/types/util/fire-sli-analytics-event.d.ts +1 -0
- package/dist/types/util/get-messages-for-locale.d.ts +11 -0
- package/dist/types/util/i18n.d.ts +0 -15
- package/dist/types/util/left-click.d.ts +2 -0
- package/dist/types/util/mouse-location.d.ts +3 -0
- package/dist/types/util/mouse.d.ts +0 -4
- package/dist/types/util/package-name.d.ts +1 -0
- package/dist/types/util/package-version.d.ts +1 -0
- package/dist/types/util/prop-formatter.d.ts +5 -0
- package/package.json +3 -3
- package/dist/cjs/i18n/index.js +0 -216
- package/dist/es2019/i18n/index.js +0 -37
- package/dist/esm/i18n/index.js +0 -37
- package/dist/types/i18n/index.d.ts +0 -37
- /package/dist/cjs/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
- /package/dist/es2019/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
- /package/dist/esm/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
|
@@ -4,236 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
Object.defineProperty(exports, "MentionPicker", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _MentionPicker.MentionPicker;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports.default = exports.MentionPickerWithAnalytics = void 0;
|
|
15
14
|
var _reactIntl = require("react-intl");
|
|
16
|
-
var _compiled = require("@atlaskit/primitives/compiled");
|
|
17
15
|
var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var _logger = _interopRequireDefault(require("../../util/logger"));
|
|
21
|
-
var _Popup = _interopRequireDefault(require("../Popup"));
|
|
22
|
-
var _ResourcedMentionList = _interopRequireDefault(require("../ResourcedMentionList"));
|
|
23
|
-
var _styles = require("./styles");
|
|
24
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
25
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
26
|
-
/**
|
|
27
|
-
* @class MentionPicker
|
|
28
|
-
*/
|
|
29
|
-
var MentionPicker = exports.MentionPicker = /*#__PURE__*/function (_React$PureComponent) {
|
|
30
|
-
function MentionPicker(props) {
|
|
31
|
-
var _this;
|
|
32
|
-
(0, _classCallCheck2.default)(this, MentionPicker);
|
|
33
|
-
_this = _callSuper(this, MentionPicker, [props]);
|
|
34
|
-
(0, _defineProperty2.default)(_this, "selectNext", function () {
|
|
35
|
-
if (_this.mentionListRef) {
|
|
36
|
-
_this.mentionListRef.selectNext();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
(0, _defineProperty2.default)(_this, "selectPrevious", function () {
|
|
40
|
-
if (_this.mentionListRef) {
|
|
41
|
-
_this.mentionListRef.selectPrevious();
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
(0, _defineProperty2.default)(_this, "selectIndex", function (index, callback) {
|
|
45
|
-
if (_this.mentionListRef) {
|
|
46
|
-
_this.mentionListRef.selectIndex(index, callback);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
(0, _defineProperty2.default)(_this, "selectId", function (id, callback) {
|
|
50
|
-
if (_this.mentionListRef) {
|
|
51
|
-
_this.mentionListRef.selectId(id, callback);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
(0, _defineProperty2.default)(_this, "chooseCurrentSelection", function () {
|
|
55
|
-
if (_this.mentionListRef) {
|
|
56
|
-
_this.mentionListRef.chooseCurrentSelection();
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
(0, _defineProperty2.default)(_this, "mentionsCount", function () {
|
|
60
|
-
if (_this.mentionListRef) {
|
|
61
|
-
return _this.mentionListRef.mentionsCount();
|
|
62
|
-
}
|
|
63
|
-
return 0;
|
|
64
|
-
});
|
|
65
|
-
/**
|
|
66
|
-
* Called after the 'visible' state is changed to decide whether the onOpen or onClose
|
|
67
|
-
* handlers should be called.
|
|
68
|
-
*
|
|
69
|
-
* It should be noted that the visible state of the component is not considered in
|
|
70
|
-
* this function. Instead the old state and new state should be passed as parameters.
|
|
71
|
-
*/
|
|
72
|
-
(0, _defineProperty2.default)(_this, "onFilterVisibilityChange", function (oldVisibility, newVisibility) {
|
|
73
|
-
if (oldVisibility !== newVisibility) {
|
|
74
|
-
if (newVisibility) {
|
|
75
|
-
if (_this.props.onOpen) {
|
|
76
|
-
_this.props.onOpen();
|
|
77
|
-
}
|
|
78
|
-
} else {
|
|
79
|
-
if (_this.props.onClose) {
|
|
80
|
-
_this.props.onClose();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
// internal, used for callbacks
|
|
86
|
-
(0, _defineProperty2.default)(_this, "filterChange", function (mentions, query, stats) {
|
|
87
|
-
(0, _logger.default)('ak-mention-picker.filterChange', mentions.length);
|
|
88
|
-
var wasVisible = _this.state.visible;
|
|
89
|
-
var visible = mentions.length > 0;
|
|
90
|
-
_this.setState({
|
|
91
|
-
visible: visible
|
|
92
|
-
});
|
|
93
|
-
_this.onFilterVisibilityChange(wasVisible, visible);
|
|
94
|
-
(0, _analytics.fireAnalyticsMentionTypeaheadEvent)(_this.props)('rendered', stats && stats.duration, mentions.map(function (mention) {
|
|
95
|
-
return mention.id;
|
|
96
|
-
}), query);
|
|
97
|
-
});
|
|
98
|
-
(0, _defineProperty2.default)(_this, "filterError", function (error) {
|
|
99
|
-
(0, _logger.default)('ak-mention-picker.filterError', error);
|
|
100
|
-
var wasVisible = _this.state.visible;
|
|
101
|
-
_this.setState({
|
|
102
|
-
visible: true,
|
|
103
|
-
info: undefined
|
|
104
|
-
});
|
|
105
|
-
_this.onFilterVisibilityChange(wasVisible, true);
|
|
106
|
-
});
|
|
107
|
-
(0, _defineProperty2.default)(_this, "filterInfo", function (info) {
|
|
108
|
-
(0, _logger.default)('ak-mention-picker.filterInfo', info);
|
|
109
|
-
_this.setState({
|
|
110
|
-
info: info
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
(0, _defineProperty2.default)(_this, "handleMentionListRef", function (ref) {
|
|
114
|
-
_this.mentionListRef = ref;
|
|
115
|
-
});
|
|
116
|
-
_this.subscriberKey = (0, _id.default)('ak-mention-picker');
|
|
117
|
-
_this.state = {
|
|
118
|
-
visible: false
|
|
119
|
-
};
|
|
120
|
-
_this.applyPropChanges({}, props);
|
|
121
|
-
return _this;
|
|
122
|
-
}
|
|
123
|
-
(0, _inherits2.default)(MentionPicker, _React$PureComponent);
|
|
124
|
-
return (0, _createClass2.default)(MentionPicker, [{
|
|
125
|
-
key: "componentDidMount",
|
|
126
|
-
value: function componentDidMount() {
|
|
127
|
-
this.subscribeResourceProvider(this.props.resourceProvider);
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
key: "UNSAFE_componentWillReceiveProps",
|
|
131
|
-
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
132
|
-
this.applyPropChanges(this.props, nextProps);
|
|
133
|
-
}
|
|
134
|
-
}, {
|
|
135
|
-
key: "componentWillUnmount",
|
|
136
|
-
value: function componentWillUnmount() {
|
|
137
|
-
this.unsubscribeResourceProvider(this.props.resourceProvider);
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
key: "applyPropChanges",
|
|
141
|
-
value:
|
|
142
|
-
// Internal
|
|
143
|
-
function applyPropChanges(prevProps, nextProps) {
|
|
144
|
-
var oldResourceProvider = prevProps.resourceProvider;
|
|
145
|
-
var newResourceProvider = nextProps.resourceProvider;
|
|
146
|
-
var resourceProviderChanged = oldResourceProvider !== newResourceProvider;
|
|
16
|
+
var _MentionPicker = require("./MentionPicker");
|
|
17
|
+
/* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
147
18
|
|
|
148
|
-
|
|
149
|
-
if (resourceProviderChanged) {
|
|
150
|
-
this.unsubscribeResourceProvider(oldResourceProvider);
|
|
151
|
-
this.subscribeResourceProvider(newResourceProvider);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}, {
|
|
155
|
-
key: "subscribeResourceProvider",
|
|
156
|
-
value: function subscribeResourceProvider(resourceProvider) {
|
|
157
|
-
if (resourceProvider) {
|
|
158
|
-
resourceProvider.subscribe(this.subscriberKey, this.filterChange, this.filterError, this.filterInfo, undefined);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}, {
|
|
162
|
-
key: "unsubscribeResourceProvider",
|
|
163
|
-
value: function unsubscribeResourceProvider(resourceProvider) {
|
|
164
|
-
if (resourceProvider) {
|
|
165
|
-
resourceProvider.unsubscribe(this.subscriberKey);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "render",
|
|
170
|
-
value: function render() {
|
|
171
|
-
var _this$props = this.props,
|
|
172
|
-
resourceProvider = _this$props.resourceProvider,
|
|
173
|
-
presenceProvider = _this$props.presenceProvider,
|
|
174
|
-
onSelection = _this$props.onSelection,
|
|
175
|
-
query = _this$props.query,
|
|
176
|
-
target = _this$props.target,
|
|
177
|
-
position = _this$props.position,
|
|
178
|
-
zIndex = _this$props.zIndex,
|
|
179
|
-
offsetX = _this$props.offsetX,
|
|
180
|
-
offsetY = _this$props.offsetY,
|
|
181
|
-
intl = _this$props.intl;
|
|
182
|
-
var _this$state = this.state,
|
|
183
|
-
visible = _this$state.visible,
|
|
184
|
-
info = _this$state.info;
|
|
185
|
-
var resourceMentionList = /*#__PURE__*/_react.default.createElement(_ResourcedMentionList.default, {
|
|
186
|
-
resourceProvider: resourceProvider,
|
|
187
|
-
presenceProvider: presenceProvider,
|
|
188
|
-
onSelection: onSelection,
|
|
189
|
-
query: query,
|
|
190
|
-
ref: this.handleMentionListRef
|
|
191
|
-
});
|
|
192
|
-
var infoContent = info && !visible ? /*#__PURE__*/_react.default.createElement(_styles.MentionPickerInfoStyle, null, /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
193
|
-
as: "p"
|
|
194
|
-
}, info)) : null;
|
|
195
|
-
var content;
|
|
196
|
-
if (position) {
|
|
197
|
-
(0, _logger.default)('target, position', target, position);
|
|
198
|
-
if (target) {
|
|
199
|
-
content = /*#__PURE__*/_react.default.createElement(_Popup.default, {
|
|
200
|
-
target: target,
|
|
201
|
-
relativePosition: position,
|
|
202
|
-
zIndex: zIndex,
|
|
203
|
-
offsetX: offsetX,
|
|
204
|
-
offsetY: offsetY
|
|
205
|
-
}, /*#__PURE__*/_react.default.createElement(_reactIntl.IntlProvider, {
|
|
206
|
-
locale: (intl === null || intl === void 0 ? void 0 : intl.locale) || 'en'
|
|
207
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, resourceMentionList, infoContent)));
|
|
208
|
-
} else {
|
|
209
|
-
// don't show if we have a position, but no target yet
|
|
210
|
-
content = null;
|
|
211
|
-
}
|
|
212
|
-
} else {
|
|
213
|
-
content = /*#__PURE__*/_react.default.createElement("div", null, resourceMentionList, infoContent);
|
|
214
|
-
}
|
|
215
|
-
return (
|
|
216
|
-
/*#__PURE__*/
|
|
217
|
-
/* old classnames are essential for Confluence tests */
|
|
218
|
-
_react.default.createElement(_styles.MentionPickerStyle
|
|
219
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
220
|
-
, {
|
|
221
|
-
className: "ak-mention-picker",
|
|
222
|
-
visible: visible || info
|
|
223
|
-
}, content)
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
}]);
|
|
227
|
-
}(_react.default.PureComponent);
|
|
228
|
-
(0, _defineProperty2.default)(MentionPicker, "defaultProps", {
|
|
229
|
-
onSelection: function onSelection() {},
|
|
230
|
-
onOpen: function onOpen() {},
|
|
231
|
-
onClose: function onClose() {}
|
|
232
|
-
});
|
|
233
|
-
var MentionPickerWithIntl = (0, _reactIntl.injectIntl)(MentionPicker, {
|
|
19
|
+
var MentionPickerWithIntl = (0, _reactIntl.injectIntl)(_MentionPicker.MentionPicker, {
|
|
234
20
|
forwardRef: true
|
|
235
21
|
});
|
|
236
|
-
|
|
237
|
-
// @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
|
|
238
22
|
var MentionPickerWithAnalytics = exports.MentionPickerWithAnalytics = (0, _withAnalyticsEvents.default)({})(MentionPickerWithIntl);
|
|
239
|
-
|
|
23
|
+
|
|
24
|
+
// Merges with the `const` above so that `MentionPickerWithAnalytics` is usable in a type
|
|
25
|
+
// position as the component instance type (e.g. for refs). Both halves of a declaration
|
|
26
|
+
// merge must live in the same module, so this alias cannot be split out.
|
|
27
|
+
var _default = exports.default = MentionPickerWithAnalytics;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use `import { MentionPicker } from '@atlaskit/mention/mention-picker'` instead.
|
|
30
|
+
*/
|
|
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
|
-
var
|
|
12
|
+
var _getMessagesForLocale = require("../../util/get-messages-for-locale");
|
|
13
13
|
var EMPTY = {};
|
|
14
14
|
var useI18n = function useI18n(locale) {
|
|
15
15
|
var _React$useState = _react.default.useState(EMPTY),
|
|
@@ -19,7 +19,7 @@ var useI18n = function useI18n(locale) {
|
|
|
19
19
|
_react.default.useEffect(function () {
|
|
20
20
|
var aborted = false;
|
|
21
21
|
setMessages(EMPTY);
|
|
22
|
-
(0,
|
|
22
|
+
(0, _getMessagesForLocale.getMessagesForLocale)(locale).then(function (messages) {
|
|
23
23
|
if (!aborted) {
|
|
24
24
|
setMessages(messages);
|
|
25
25
|
}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ResourcedMentionListWithoutAnalytics = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
var _analytics = require("../../util/analytics");
|
|
16
|
+
var _fireSliAnalyticsEvent = require("../../util/fire-sli-analytics-event");
|
|
17
|
+
var _id = _interopRequireDefault(require("../../util/id"));
|
|
18
|
+
var _logger = _interopRequireDefault(require("../../util/logger"));
|
|
19
|
+
var _MentionList = _interopRequireDefault(require("../MentionList"));
|
|
20
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
21
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
function applyPresence(mentions, presences) {
|
|
25
|
+
var updatedMentions = [];
|
|
26
|
+
for (var i = 0; i < mentions.length; i++) {
|
|
27
|
+
// Shallow copy
|
|
28
|
+
var mention = _objectSpread({}, mentions[i]);
|
|
29
|
+
var presence = presences[mention.id];
|
|
30
|
+
if (presence) {
|
|
31
|
+
mention.presence = presence;
|
|
32
|
+
}
|
|
33
|
+
updatedMentions.push(mention);
|
|
34
|
+
}
|
|
35
|
+
return updatedMentions;
|
|
36
|
+
}
|
|
37
|
+
function extractPresences(mentions) {
|
|
38
|
+
var presences = {};
|
|
39
|
+
for (var i = 0; i < mentions.length; i++) {
|
|
40
|
+
var mention = mentions[i];
|
|
41
|
+
if (mention.presence) {
|
|
42
|
+
presences[mention.id] = mention.presence;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return presences;
|
|
46
|
+
}
|
|
47
|
+
var ResourcedMentionListWithoutAnalytics = exports.ResourcedMentionListWithoutAnalytics = /*#__PURE__*/function (_React$PureComponent) {
|
|
48
|
+
function ResourcedMentionListWithoutAnalytics(props) {
|
|
49
|
+
var _this;
|
|
50
|
+
(0, _classCallCheck2.default)(this, ResourcedMentionListWithoutAnalytics);
|
|
51
|
+
_this = _callSuper(this, ResourcedMentionListWithoutAnalytics, [props]);
|
|
52
|
+
// API
|
|
53
|
+
(0, _defineProperty2.default)(_this, "selectNext", function () {
|
|
54
|
+
if (_this.mentionListRef) {
|
|
55
|
+
_this.mentionListRef.selectNext();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
(0, _defineProperty2.default)(_this, "selectPrevious", function () {
|
|
59
|
+
if (_this.mentionListRef) {
|
|
60
|
+
_this.mentionListRef.selectPrevious();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
(0, _defineProperty2.default)(_this, "selectIndex", function (index, callback) {
|
|
64
|
+
if (_this.mentionListRef) {
|
|
65
|
+
_this.mentionListRef.selectIndex(index, callback);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
(0, _defineProperty2.default)(_this, "selectId", function (id, callback) {
|
|
69
|
+
if (_this.mentionListRef) {
|
|
70
|
+
_this.mentionListRef.selectId(id, callback);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
(0, _defineProperty2.default)(_this, "chooseCurrentSelection", function () {
|
|
74
|
+
if (_this.mentionListRef) {
|
|
75
|
+
_this.mentionListRef.chooseCurrentSelection();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
(0, _defineProperty2.default)(_this, "mentionsCount", function () {
|
|
79
|
+
if (_this.mentionListRef) {
|
|
80
|
+
return _this.mentionListRef.mentionsCount();
|
|
81
|
+
}
|
|
82
|
+
return 0;
|
|
83
|
+
});
|
|
84
|
+
// internal, used for callbacks
|
|
85
|
+
(0, _defineProperty2.default)(_this, "filterChange", function (mentions) {
|
|
86
|
+
// Retain known presence
|
|
87
|
+
var currentPresences = extractPresences(_this.state.mentions);
|
|
88
|
+
_this.setState({
|
|
89
|
+
resourceError: undefined,
|
|
90
|
+
mentions: applyPresence(mentions, currentPresences)
|
|
91
|
+
});
|
|
92
|
+
_this.refreshPresences(mentions);
|
|
93
|
+
});
|
|
94
|
+
(0, _defineProperty2.default)(_this, "sendAnalytics", function (event, actionSubject, action) {
|
|
95
|
+
if (event === _analytics.SLI_EVENT_TYPE) {
|
|
96
|
+
(0, _fireSliAnalyticsEvent.fireSliAnalyticsEvent)(_this.props)(actionSubject, action);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
(0, _defineProperty2.default)(_this, "filterError", function (error) {
|
|
100
|
+
(0, _logger.default)('ak-resourced-mentions-list._filterError', error);
|
|
101
|
+
_this.setState({
|
|
102
|
+
resourceError: error
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
(0, _defineProperty2.default)(_this, "presenceUpdate", function (presences) {
|
|
106
|
+
_this.setState({
|
|
107
|
+
mentions: applyPresence(_this.state.mentions, presences)
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
(0, _defineProperty2.default)(_this, "notifySelection", function (mention) {
|
|
111
|
+
_this.props.resourceProvider.recordMentionSelection(mention);
|
|
112
|
+
if (_this.props.onSelection) {
|
|
113
|
+
_this.props.onSelection(mention);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
(0, _defineProperty2.default)(_this, "handleMentionListRef", function (ref) {
|
|
117
|
+
_this.mentionListRef = ref;
|
|
118
|
+
});
|
|
119
|
+
_this.subscriberKey = (0, _id.default)('ak-resourced-mention-list');
|
|
120
|
+
_this.state = {
|
|
121
|
+
resourceError: undefined,
|
|
122
|
+
mentions: []
|
|
123
|
+
};
|
|
124
|
+
_this.applyPropChanges({}, props);
|
|
125
|
+
return _this;
|
|
126
|
+
}
|
|
127
|
+
(0, _inherits2.default)(ResourcedMentionListWithoutAnalytics, _React$PureComponent);
|
|
128
|
+
return (0, _createClass2.default)(ResourcedMentionListWithoutAnalytics, [{
|
|
129
|
+
key: "componentDidMount",
|
|
130
|
+
value: function componentDidMount() {
|
|
131
|
+
this.subscribeMentionProvider(this.props.resourceProvider);
|
|
132
|
+
this.subscribePresenceProvider(this.props.presenceProvider);
|
|
133
|
+
}
|
|
134
|
+
}, {
|
|
135
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
136
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
137
|
+
this.applyPropChanges(this.props, nextProps);
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "componentWillUnmount",
|
|
141
|
+
value: function componentWillUnmount() {
|
|
142
|
+
this.unsubscribeMentionProvider(this.props.resourceProvider);
|
|
143
|
+
this.unsubscribePresenceProvider(this.props.presenceProvider);
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
key: "subscribeMentionProvider",
|
|
147
|
+
value:
|
|
148
|
+
// internal
|
|
149
|
+
function subscribeMentionProvider(mentionProvider) {
|
|
150
|
+
if (mentionProvider) {
|
|
151
|
+
mentionProvider.subscribe(this.subscriberKey, this.filterChange, this.filterError, undefined, undefined, this.sendAnalytics);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "subscribePresenceProvider",
|
|
156
|
+
value: function subscribePresenceProvider(presenceProvider) {
|
|
157
|
+
if (presenceProvider) {
|
|
158
|
+
presenceProvider.subscribe(this.subscriberKey, this.presenceUpdate);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}, {
|
|
162
|
+
key: "unsubscribeMentionProvider",
|
|
163
|
+
value: function unsubscribeMentionProvider(mentionProvider) {
|
|
164
|
+
if (mentionProvider) {
|
|
165
|
+
mentionProvider.unsubscribe(this.subscriberKey);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}, {
|
|
169
|
+
key: "unsubscribePresenceProvider",
|
|
170
|
+
value: function unsubscribePresenceProvider(presenceProvider) {
|
|
171
|
+
if (presenceProvider) {
|
|
172
|
+
presenceProvider.unsubscribe(this.subscriberKey);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}, {
|
|
176
|
+
key: "applyPropChanges",
|
|
177
|
+
value: function applyPropChanges(prevProps, nextProps) {
|
|
178
|
+
var oldResourceProvider = prevProps.resourceProvider;
|
|
179
|
+
var oldPresenceProvider = prevProps.presenceProvider;
|
|
180
|
+
var oldQuery = prevProps.query;
|
|
181
|
+
var newResourceProvider = nextProps.resourceProvider;
|
|
182
|
+
var newPresenceProvider = nextProps.presenceProvider;
|
|
183
|
+
var newQuery = nextProps.query;
|
|
184
|
+
var resourceProviderChanged = oldResourceProvider !== newResourceProvider;
|
|
185
|
+
var queryChanged = oldQuery !== newQuery;
|
|
186
|
+
var canFilter = !!(typeof newQuery === 'string' && newResourceProvider);
|
|
187
|
+
var shouldFilter = canFilter && (queryChanged || resourceProviderChanged);
|
|
188
|
+
|
|
189
|
+
// resource provider
|
|
190
|
+
if (resourceProviderChanged) {
|
|
191
|
+
this.unsubscribeMentionProvider(oldResourceProvider);
|
|
192
|
+
this.subscribeMentionProvider(newResourceProvider);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// presence provider
|
|
196
|
+
if (oldPresenceProvider !== newPresenceProvider) {
|
|
197
|
+
this.unsubscribePresenceProvider(oldPresenceProvider);
|
|
198
|
+
this.subscribePresenceProvider(newPresenceProvider);
|
|
199
|
+
}
|
|
200
|
+
if (shouldFilter) {
|
|
201
|
+
newResourceProvider.filter(newQuery);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
key: "refreshPresences",
|
|
206
|
+
value: function refreshPresences(mentions) {
|
|
207
|
+
if (this.props.presenceProvider) {
|
|
208
|
+
var ids = mentions.map(function (mention) {
|
|
209
|
+
return mention.id;
|
|
210
|
+
});
|
|
211
|
+
this.props.presenceProvider.refreshPresence(ids);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}, {
|
|
215
|
+
key: "render",
|
|
216
|
+
value: function render() {
|
|
217
|
+
var _this$state = this.state,
|
|
218
|
+
mentions = _this$state.mentions,
|
|
219
|
+
resourceError = _this$state.resourceError;
|
|
220
|
+
return /*#__PURE__*/_react.default.createElement(_MentionList.default, {
|
|
221
|
+
mentions: mentions,
|
|
222
|
+
resourceError: resourceError,
|
|
223
|
+
onSelection: this.notifySelection,
|
|
224
|
+
ref: this.handleMentionListRef
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}]);
|
|
228
|
+
}(_react.default.PureComponent);
|