@atlaskit/emoji 64.2.0 → 64.2.1
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 +6 -0
- package/dist/cjs/api/EmojiResource.js +36 -1
- package/dist/cjs/components/common/CachingEmoji.js +33 -5
- package/dist/cjs/components/common/Emoji.js +9 -2
- package/dist/cjs/components/common/ResourcedEmoji.js +25 -9
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +17 -0
- package/dist/cjs/components/common/UfoErrorBoundary.js +52 -0
- package/dist/cjs/types.js +12 -2
- package/dist/cjs/util/{analytics.js → analytics/analytics.js} +34 -2
- package/dist/cjs/util/analytics/index.js +203 -0
- package/dist/cjs/util/analytics/samplingUfo.js +278 -0
- package/dist/cjs/util/analytics/useSampledUFOComponentExperience.js +49 -0
- package/dist/cjs/util/constants.js +10 -3
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/api/EmojiResource.js +28 -1
- package/dist/es2019/components/common/CachingEmoji.js +29 -5
- package/dist/es2019/components/common/Emoji.js +8 -2
- package/dist/es2019/components/common/ResourcedEmoji.js +22 -5
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -0
- package/dist/es2019/components/common/UfoErrorBoundary.js +11 -0
- package/dist/es2019/types.js +10 -1
- package/dist/es2019/util/{analytics.js → analytics/analytics.js} +28 -1
- package/dist/es2019/util/analytics/index.js +3 -0
- package/dist/es2019/util/analytics/samplingUfo.js +147 -0
- package/dist/es2019/util/analytics/useSampledUFOComponentExperience.js +39 -0
- package/dist/es2019/util/constants.js +5 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/api/EmojiResource.js +32 -1
- package/dist/esm/components/common/CachingEmoji.js +31 -5
- package/dist/esm/components/common/Emoji.js +8 -2
- package/dist/esm/components/common/ResourcedEmoji.js +22 -9
- package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -0
- package/dist/esm/components/common/UfoErrorBoundary.js +38 -0
- package/dist/esm/types.js +10 -1
- package/dist/esm/util/{analytics.js → analytics/analytics.js} +28 -1
- package/dist/esm/util/analytics/index.js +3 -0
- package/dist/esm/util/analytics/samplingUfo.js +259 -0
- package/dist/esm/util/analytics/useSampledUFOComponentExperience.js +39 -0
- package/dist/esm/util/constants.js +5 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/api/EmojiResource.d.ts +1 -0
- package/dist/types/components/common/ResourcedEmoji.d.ts +2 -0
- package/dist/types/components/common/UfoErrorBoundary.d.ts +8 -0
- package/dist/types/types.d.ts +6 -0
- package/dist/types/util/{analytics.d.ts → analytics/analytics.d.ts} +9 -5
- package/dist/types/util/analytics/index.d.ts +5 -0
- package/dist/types/util/analytics/samplingUfo.d.ts +31 -0
- package/dist/types/util/analytics/useSampledUFOComponentExperience.d.ts +8 -0
- package/dist/types/util/constants.d.ts +2 -0
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -31,6 +31,8 @@ var _typeHelpers = require("../util/type-helpers");
|
|
|
31
31
|
|
|
32
32
|
var _storageAvailable = _interopRequireDefault(require("../util/storage-available"));
|
|
33
33
|
|
|
34
|
+
var _types = require("../types");
|
|
35
|
+
|
|
34
36
|
var _logger = _interopRequireDefault(require("../util/logger"));
|
|
35
37
|
|
|
36
38
|
var _EmojiLoader = _interopRequireDefault(require("./EmojiLoader"));
|
|
@@ -39,6 +41,8 @@ var _EmojiRepository = _interopRequireDefault(require("./EmojiRepository"));
|
|
|
39
41
|
|
|
40
42
|
var _SiteEmojiResource = _interopRequireDefault(require("./media/SiteEmojiResource"));
|
|
41
43
|
|
|
44
|
+
var _analytics = require("../util/analytics");
|
|
45
|
+
|
|
42
46
|
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); }; }
|
|
43
47
|
|
|
44
48
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -80,6 +84,14 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
|
|
|
80
84
|
var emojiResponses = [];
|
|
81
85
|
_this.activeLoaders = config.providers.length;
|
|
82
86
|
config.providers.forEach(function (provider, index) {
|
|
87
|
+
var providerType = _this.getProviderType(provider);
|
|
88
|
+
|
|
89
|
+
_analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).start();
|
|
90
|
+
|
|
91
|
+
_analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).addMetadata({
|
|
92
|
+
type: providerType
|
|
93
|
+
});
|
|
94
|
+
|
|
83
95
|
var loader = new _EmojiLoader.default(provider);
|
|
84
96
|
var emojis = loader.loadEmoji();
|
|
85
97
|
emojis.then(function (emojiResponse) {
|
|
@@ -92,12 +104,22 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
|
|
|
92
104
|
|
|
93
105
|
_this.performRetries();
|
|
94
106
|
|
|
95
|
-
_this.refreshLastFilter();
|
|
107
|
+
_this.refreshLastFilter(); // if not site emoji it would still resolve
|
|
108
|
+
// TODO: improve the logic in future
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
_analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).success();
|
|
96
112
|
});
|
|
97
113
|
}).catch(function (reason) {
|
|
98
114
|
_this.activeLoaders--;
|
|
99
115
|
|
|
100
116
|
_this.notifyError(reason);
|
|
117
|
+
|
|
118
|
+
_analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).failure({
|
|
119
|
+
metadata: {
|
|
120
|
+
reason: reason
|
|
121
|
+
}
|
|
122
|
+
});
|
|
101
123
|
});
|
|
102
124
|
});
|
|
103
125
|
|
|
@@ -113,6 +135,19 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
|
|
|
113
135
|
}
|
|
114
136
|
|
|
115
137
|
(0, _createClass2.default)(EmojiResource, [{
|
|
138
|
+
key: "getProviderType",
|
|
139
|
+
value: function getProviderType(provider) {
|
|
140
|
+
if (provider.url.includes('/site')) {
|
|
141
|
+
return _types.ProviderTypes.SITE;
|
|
142
|
+
} else if (provider.url.includes('/standard')) {
|
|
143
|
+
return _types.ProviderTypes.STANDARD;
|
|
144
|
+
} else if (provider.url.includes('/atlassian')) {
|
|
145
|
+
return _types.ProviderTypes.ATLASSIAN;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return _types.ProviderTypes.UNKNOWN;
|
|
149
|
+
}
|
|
150
|
+
}, {
|
|
116
151
|
key: "initEmojiRepository",
|
|
117
152
|
value: function initEmojiRepository(emojiResponses) {
|
|
118
153
|
var emojis = [];
|
|
@@ -41,6 +41,12 @@ var _EmojiPlaceholder = _interopRequireDefault(require("./EmojiPlaceholder"));
|
|
|
41
41
|
|
|
42
42
|
var _EmojiContext = require("../../context/EmojiContext");
|
|
43
43
|
|
|
44
|
+
var _UfoErrorBoundary = require("./UfoErrorBoundary");
|
|
45
|
+
|
|
46
|
+
var _analytics = require("../../util/analytics");
|
|
47
|
+
|
|
48
|
+
var _constants = require("../../util/constants");
|
|
49
|
+
|
|
44
50
|
var _excluded = ["placeholderSize"],
|
|
45
51
|
_excluded2 = ["children", "placeholderSize"];
|
|
46
52
|
|
|
@@ -59,13 +65,23 @@ var CachingEmoji = function CachingEmoji(props) {
|
|
|
59
65
|
// Optimisation to only render the class based CachingMediaEmoji if necessary
|
|
60
66
|
// slight performance hit, which accumulates for a large number of emoji.
|
|
61
67
|
var placeholderSize = props.placeholderSize,
|
|
62
|
-
emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
68
|
+
emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded); // start emoji rendered experience, it may have already started earlier in ResourcedEmoji
|
|
63
69
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
70
|
+
(0, _analytics.useSampledUFOComponentExperience)(_analytics.ufoExperiences['emoji-rendered'].getInstance(emojiProps.emoji.id || emojiProps.emoji.shortName), _constants.SAMPLING_RATE_EMOJI_RENDERED_EXP, {
|
|
71
|
+
source: 'caching-emoji'
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
var emojiNode = function emojiNode() {
|
|
75
|
+
if ((0, _typeHelpers.isMediaEmoji)(props.emoji)) {
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(CachingMediaEmoji, props);
|
|
77
|
+
}
|
|
67
78
|
|
|
68
|
-
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement(_Emoji.default, emojiProps);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
return /*#__PURE__*/_react.default.createElement(_UfoErrorBoundary.UfoErrorBoundary, {
|
|
83
|
+
experiences: [_analytics.ufoExperiences['emoji-rendered'].getInstance(props.emoji.id || props.emoji.shortName)]
|
|
84
|
+
}, emojiNode());
|
|
69
85
|
};
|
|
70
86
|
/**
|
|
71
87
|
* Rendering a media emoji image from a cache for media emoji, with different
|
|
@@ -88,6 +104,11 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
|
|
|
88
104
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mounted", false);
|
|
89
105
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleLoadError", function (_emojiId, emoji) {
|
|
90
106
|
var invalidImage = _this.state.invalidImage;
|
|
107
|
+
(0, _analytics.sampledUfoRenderedEmoji)(_emojiId).failure({
|
|
108
|
+
metadata: {
|
|
109
|
+
reason: 'load error'
|
|
110
|
+
}
|
|
111
|
+
});
|
|
91
112
|
|
|
92
113
|
if (invalidImage || !emoji) {
|
|
93
114
|
// do nothing, bad image
|
|
@@ -108,6 +129,7 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
|
|
|
108
129
|
key: "componentDidMount",
|
|
109
130
|
value: function componentDidMount() {
|
|
110
131
|
this.mounted = true;
|
|
132
|
+
(0, _analytics.sampledUfoRenderedEmoji)(this.props.emoji).markFMP();
|
|
111
133
|
}
|
|
112
134
|
}, {
|
|
113
135
|
key: "componentWillUnmount",
|
|
@@ -170,6 +192,12 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
|
|
|
170
192
|
cachedEmoji: undefined,
|
|
171
193
|
invalidImage: true
|
|
172
194
|
});
|
|
195
|
+
|
|
196
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).failure({
|
|
197
|
+
metadata: {
|
|
198
|
+
reason: 'failed to load media emoji'
|
|
199
|
+
}
|
|
200
|
+
});
|
|
173
201
|
}
|
|
174
202
|
});
|
|
175
203
|
return undefined;
|
|
@@ -29,6 +29,8 @@ var styles = _interopRequireWildcard(require("./styles"));
|
|
|
29
29
|
|
|
30
30
|
var _DeleteButton = _interopRequireDefault(require("./DeleteButton"));
|
|
31
31
|
|
|
32
|
+
var _analytics = require("../../util/analytics");
|
|
33
|
+
|
|
32
34
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
35
|
|
|
34
36
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -215,6 +217,10 @@ var renderAsImage = function renderAsImage(props) {
|
|
|
215
217
|
|
|
216
218
|
var onError = function onError(event) {
|
|
217
219
|
handleImageError(props, event);
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
var onLoad = function onLoad() {
|
|
223
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).success();
|
|
218
224
|
}; // Pass src attribute as key to force React to rerender img node since browser does not
|
|
219
225
|
// change preview image until loaded
|
|
220
226
|
// We currently have the following error: property 'loading' does not exist on type 'DetailedHTMLProps<ImgHTMLAttributes, HTMLImageElement>'
|
|
@@ -235,7 +241,8 @@ var renderAsImage = function renderAsImage(props) {
|
|
|
235
241
|
style: {
|
|
236
242
|
visibility: 'visible'
|
|
237
243
|
},
|
|
238
|
-
onError: onError
|
|
244
|
+
onError: onError,
|
|
245
|
+
onLoad: onLoad
|
|
239
246
|
}, sizing));
|
|
240
247
|
|
|
241
248
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -257,7 +264,7 @@ var renderAsImage = function renderAsImage(props) {
|
|
|
257
264
|
};
|
|
258
265
|
|
|
259
266
|
var Emoji = function Emoji(props) {
|
|
260
|
-
var emoji = props.emoji;
|
|
267
|
+
var emoji = props.emoji; // TODO: We always prefer render as image as having accessibility issues with sprite representation
|
|
261
268
|
|
|
262
269
|
if ((0, _typeHelpers.isSpriteRepresentation)(emoji.representation)) {
|
|
263
270
|
return renderAsSprite(props);
|
|
@@ -35,6 +35,10 @@ var _EmojiPlaceholder = _interopRequireDefault(require("./EmojiPlaceholder"));
|
|
|
35
35
|
|
|
36
36
|
var _LoadingEmojiComponent = _interopRequireDefault(require("./LoadingEmojiComponent"));
|
|
37
37
|
|
|
38
|
+
var _analytics = require("../../util/analytics");
|
|
39
|
+
|
|
40
|
+
var _UfoErrorBoundary = require("./UfoErrorBoundary");
|
|
41
|
+
|
|
38
42
|
var _excluded = ["emojiProvider"];
|
|
39
43
|
|
|
40
44
|
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); }; }
|
|
@@ -62,23 +66,33 @@ var ResourcedEmoji = /*#__PURE__*/function (_LoadingEmojiComponen) {
|
|
|
62
66
|
|
|
63
67
|
var _super = _createSuper(ResourcedEmoji);
|
|
64
68
|
|
|
65
|
-
|
|
69
|
+
// state initialised with static component to prevent
|
|
70
|
+
// rerender when the module has already been loaded
|
|
71
|
+
function ResourcedEmoji(props) {
|
|
66
72
|
var _this;
|
|
67
73
|
|
|
68
74
|
(0, _classCallCheck2.default)(this, ResourcedEmoji);
|
|
69
|
-
|
|
70
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
71
|
-
args[_key] = arguments[_key];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
75
|
+
_this = _super.call(this, props, {});
|
|
75
76
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
76
77
|
asyncLoadedComponent: ResourcedEmoji.AsyncLoadedComponent
|
|
77
78
|
});
|
|
79
|
+
(0, _analytics.sampledUfoRenderedEmoji)(props.emojiId).start({
|
|
80
|
+
samplingRate: _constants.SAMPLING_RATE_EMOJI_RENDERED_EXP_RESOURCEEMOJI
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
_analytics.ufoExperiences['emoji-rendered'].getInstance(props.emojiId.id || props.emojiId.shortName).addMetadata({
|
|
84
|
+
source: 'resourced-emoji'
|
|
85
|
+
});
|
|
86
|
+
|
|
78
87
|
return _this;
|
|
79
88
|
}
|
|
80
89
|
|
|
81
90
|
(0, _createClass2.default)(ResourcedEmoji, [{
|
|
91
|
+
key: "componentWillUnmount",
|
|
92
|
+
value: function componentWillUnmount() {
|
|
93
|
+
(0, _analytics.sampledUfoRenderedEmoji)(this.props.emojiId).abort();
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
82
96
|
key: "asyncLoadComponent",
|
|
83
97
|
value: function asyncLoadComponent() {
|
|
84
98
|
var _this2 = this;
|
|
@@ -108,9 +122,11 @@ var ResourcedEmoji = /*#__PURE__*/function (_LoadingEmojiComponen) {
|
|
|
108
122
|
var _this$props2 = this.props,
|
|
109
123
|
emojiProvider = _this$props2.emojiProvider,
|
|
110
124
|
otherProps = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
125
|
+
return /*#__PURE__*/_react.default.createElement(_UfoErrorBoundary.UfoErrorBoundary, {
|
|
126
|
+
experiences: [_analytics.ufoExperiences['emoji-rendered'].getInstance(this.props.emojiId.id || this.props.emojiId.shortName)]
|
|
127
|
+
}, /*#__PURE__*/_react.default.createElement(ResourcedEmojiComponent, (0, _extends2.default)({}, otherProps, {
|
|
112
128
|
emojiProvider: loadedEmojiProvider
|
|
113
|
-
}));
|
|
129
|
+
})));
|
|
114
130
|
}
|
|
115
131
|
}]);
|
|
116
132
|
return ResourcedEmoji;
|
|
@@ -35,6 +35,8 @@ var _EmojiPlaceholder = _interopRequireDefault(require("./EmojiPlaceholder"));
|
|
|
35
35
|
|
|
36
36
|
var _EmojiContextProvider = require("../../context/EmojiContextProvider");
|
|
37
37
|
|
|
38
|
+
var _analytics = require("../../util/analytics");
|
|
39
|
+
|
|
38
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
41
|
|
|
40
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -79,7 +81,22 @@ var ResourcedEmojiComponent = /*#__PURE__*/function (_Component) {
|
|
|
79
81
|
emoji: emoji,
|
|
80
82
|
loaded: true
|
|
81
83
|
});
|
|
84
|
+
|
|
85
|
+
if (!emoji) {
|
|
86
|
+
// emoji is undefined
|
|
87
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
88
|
+
metadata: {
|
|
89
|
+
reason: 'failed to find'
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
82
93
|
}
|
|
94
|
+
}).catch(function () {
|
|
95
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
96
|
+
metadata: {
|
|
97
|
+
reason: 'failed to load'
|
|
98
|
+
}
|
|
99
|
+
});
|
|
83
100
|
});
|
|
84
101
|
} else {
|
|
85
102
|
// loaded
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.UfoErrorBoundary = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
|
+
|
|
22
|
+
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); }; }
|
|
23
|
+
|
|
24
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
25
|
+
|
|
26
|
+
var UfoErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
27
|
+
(0, _inherits2.default)(UfoErrorBoundary, _React$Component);
|
|
28
|
+
|
|
29
|
+
var _super = _createSuper(UfoErrorBoundary);
|
|
30
|
+
|
|
31
|
+
function UfoErrorBoundary() {
|
|
32
|
+
(0, _classCallCheck2.default)(this, UfoErrorBoundary);
|
|
33
|
+
return _super.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
(0, _createClass2.default)(UfoErrorBoundary, [{
|
|
37
|
+
key: "componentDidCatch",
|
|
38
|
+
value: function componentDidCatch() {
|
|
39
|
+
this.props.experiences.forEach(function (e) {
|
|
40
|
+
return e.failure();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}, {
|
|
44
|
+
key: "render",
|
|
45
|
+
value: function render() {
|
|
46
|
+
return this.props.children;
|
|
47
|
+
}
|
|
48
|
+
}]);
|
|
49
|
+
return UfoErrorBoundary;
|
|
50
|
+
}(_react.default.Component);
|
|
51
|
+
|
|
52
|
+
exports.UfoErrorBoundary = UfoErrorBoundary;
|
package/dist/cjs/types.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SearchSort = void 0;
|
|
6
|
+
exports.SearchSort = exports.ProviderTypes = void 0;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Minimum information to defined an emoji is the shortName.
|
|
@@ -41,4 +41,14 @@ exports.SearchSort = SearchSort;
|
|
|
41
41
|
SearchSort[SearchSort["None"] = 0] = "None";
|
|
42
42
|
SearchSort[SearchSort["Default"] = 1] = "Default";
|
|
43
43
|
SearchSort[SearchSort["UsageFrequency"] = 2] = "UsageFrequency";
|
|
44
|
-
})(SearchSort || (exports.SearchSort = SearchSort = {}));
|
|
44
|
+
})(SearchSort || (exports.SearchSort = SearchSort = {}));
|
|
45
|
+
|
|
46
|
+
var ProviderTypes;
|
|
47
|
+
exports.ProviderTypes = ProviderTypes;
|
|
48
|
+
|
|
49
|
+
(function (ProviderTypes) {
|
|
50
|
+
ProviderTypes["SITE"] = "SITE";
|
|
51
|
+
ProviderTypes["STANDARD"] = "STANDARD";
|
|
52
|
+
ProviderTypes["ATLASSIAN"] = "ATLASSIAN";
|
|
53
|
+
ProviderTypes["UNKNOWN"] = "UNKNOWN";
|
|
54
|
+
})(ProviderTypes || (exports.ProviderTypes = ProviderTypes = {}));
|
|
@@ -5,13 +5,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.uploadSucceededEvent = exports.uploadFailedEvent = exports.uploadConfirmButton = exports.uploadCancelButton = exports.uploadBeginButton = exports.typeaheadSelectedEvent = exports.typeaheadRenderedEvent = exports.typeaheadCancelledEvent = exports.toneSelectorOpenedEvent = exports.toneSelectorClosedEvent = exports.toneSelectedEvent = exports.selectedFileEvent = exports.recordSelectionSucceededSli = exports.recordSelectionFailedSli = exports.pickerSearchedEvent = exports.pickerClickedEvent = exports.openedPickerEvent = exports.insertionSucceeded = exports.insertionFailed = exports.deleteConfirmEvent = exports.deleteCancelEvent = exports.deleteBeginEvent = exports.createAndFireEventInElementsChannel = exports.closedPickerEvent = exports.categoryClickedEvent = void 0;
|
|
8
|
+
exports.uploadSucceededEvent = exports.uploadFailedEvent = exports.uploadConfirmButton = exports.uploadCancelButton = exports.uploadBeginButton = exports.ufoExperiences = exports.typeaheadSelectedEvent = exports.typeaheadRenderedEvent = exports.typeaheadCancelledEvent = exports.toneSelectorOpenedEvent = exports.toneSelectorClosedEvent = exports.toneSelectedEvent = exports.selectedFileEvent = exports.sampledUfoRenderedEmoji = exports.recordSelectionSucceededSli = exports.recordSelectionFailedSli = exports.pickerSearchedEvent = exports.pickerClickedEvent = exports.openedPickerEvent = exports.insertionSucceeded = exports.insertionFailed = exports.deleteConfirmEvent = exports.deleteCancelEvent = exports.deleteBeginEvent = exports.createAndFireEventInElementsChannel = exports.closedPickerEvent = exports.categoryClickedEvent = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
13
13
|
|
|
14
|
-
var _version = require("
|
|
14
|
+
var _version = require("../../version.json");
|
|
15
|
+
|
|
16
|
+
var _ufo = require("@atlaskit/ufo");
|
|
17
|
+
|
|
18
|
+
var _samplingUfo = require("./samplingUfo");
|
|
15
19
|
|
|
16
20
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
17
21
|
|
|
@@ -23,6 +27,34 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
23
27
|
|
|
24
28
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
29
|
|
|
30
|
+
var createRenderExperience = function createRenderExperience(componentName) {
|
|
31
|
+
return {
|
|
32
|
+
platform: {
|
|
33
|
+
component: componentName
|
|
34
|
+
},
|
|
35
|
+
type: _ufo.ExperienceTypes.Load,
|
|
36
|
+
performanceType: _ufo.ExperiencePerformanceTypes.PageSegmentLoad
|
|
37
|
+
};
|
|
38
|
+
}; // const createInlineExperience = (componentName: string) => {
|
|
39
|
+
// return {
|
|
40
|
+
// platform: { component: componentName },
|
|
41
|
+
// type: ExperienceTypes.Experience,
|
|
42
|
+
// performanceType: ExperiencePerformanceTypes.InlineResult,
|
|
43
|
+
// };
|
|
44
|
+
// };
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var ufoExperiences = {
|
|
48
|
+
'emoji-rendered': new _ufo.ConcurrentExperience('emoji-rendered', createRenderExperience('emoji')),
|
|
49
|
+
'emoji-resource-fetched': new _ufo.ConcurrentExperience('emoji-resource-fetched', createRenderExperience('emoji-provider'))
|
|
50
|
+
};
|
|
51
|
+
exports.ufoExperiences = ufoExperiences;
|
|
52
|
+
|
|
53
|
+
var sampledUfoRenderedEmoji = function sampledUfoRenderedEmoji(emojiId) {
|
|
54
|
+
return (0, _samplingUfo.withSampling)(ufoExperiences['emoji-rendered'].getInstance(emojiId.id || emojiId.shortName));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
exports.sampledUfoRenderedEmoji = sampledUfoRenderedEmoji;
|
|
26
58
|
var createAndFireEventInElementsChannel = (0, _analyticsNext.createAndFireEvent)('fabric-elements');
|
|
27
59
|
exports.createAndFireEventInElementsChannel = createAndFireEventInElementsChannel;
|
|
28
60
|
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "categoryClickedEvent", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _analytics.categoryClickedEvent;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "clearSampled", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _samplingUfo.clearSampled;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "closedPickerEvent", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _analytics.closedPickerEvent;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "createAndFireEventInElementsChannel", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _analytics.createAndFireEventInElementsChannel;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "deleteBeginEvent", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _analytics.deleteBeginEvent;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "deleteCancelEvent", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _analytics.deleteCancelEvent;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "deleteConfirmEvent", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _analytics.deleteConfirmEvent;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "insertionFailed", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _analytics.insertionFailed;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "insertionSucceeded", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _analytics.insertionSucceeded;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "isExperienceSampled", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _samplingUfo.isExperienceSampled;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "openedPickerEvent", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _analytics.openedPickerEvent;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "pickerClickedEvent", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function get() {
|
|
75
|
+
return _analytics.pickerClickedEvent;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "pickerSearchedEvent", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function get() {
|
|
81
|
+
return _analytics.pickerSearchedEvent;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "recordSelectionFailedSli", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function get() {
|
|
87
|
+
return _analytics.recordSelectionFailedSli;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "recordSelectionSucceededSli", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function get() {
|
|
93
|
+
return _analytics.recordSelectionSucceededSli;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "sampledUfoRenderedEmoji", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function get() {
|
|
99
|
+
return _analytics.sampledUfoRenderedEmoji;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "selectedFileEvent", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function get() {
|
|
105
|
+
return _analytics.selectedFileEvent;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "toneSelectedEvent", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function get() {
|
|
111
|
+
return _analytics.toneSelectedEvent;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "toneSelectorClosedEvent", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function get() {
|
|
117
|
+
return _analytics.toneSelectorClosedEvent;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "toneSelectorOpenedEvent", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function get() {
|
|
123
|
+
return _analytics.toneSelectorOpenedEvent;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "typeaheadCancelledEvent", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function get() {
|
|
129
|
+
return _analytics.typeaheadCancelledEvent;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "typeaheadRenderedEvent", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function get() {
|
|
135
|
+
return _analytics.typeaheadRenderedEvent;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "typeaheadSelectedEvent", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function get() {
|
|
141
|
+
return _analytics.typeaheadSelectedEvent;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "ufoExperiences", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function get() {
|
|
147
|
+
return _analytics.ufoExperiences;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "ufoExperiencesSampled", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function get() {
|
|
153
|
+
return _samplingUfo.ufoExperiencesSampled;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(exports, "uploadBeginButton", {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function get() {
|
|
159
|
+
return _analytics.uploadBeginButton;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "uploadCancelButton", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function get() {
|
|
165
|
+
return _analytics.uploadCancelButton;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
Object.defineProperty(exports, "uploadConfirmButton", {
|
|
169
|
+
enumerable: true,
|
|
170
|
+
get: function get() {
|
|
171
|
+
return _analytics.uploadConfirmButton;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
Object.defineProperty(exports, "uploadFailedEvent", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function get() {
|
|
177
|
+
return _analytics.uploadFailedEvent;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
Object.defineProperty(exports, "uploadSucceededEvent", {
|
|
181
|
+
enumerable: true,
|
|
182
|
+
get: function get() {
|
|
183
|
+
return _analytics.uploadSucceededEvent;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(exports, "useSampledUFOComponentExperience", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function get() {
|
|
189
|
+
return _useSampledUFOComponentExperience.useSampledUFOComponentExperience;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
Object.defineProperty(exports, "withSampling", {
|
|
193
|
+
enumerable: true,
|
|
194
|
+
get: function get() {
|
|
195
|
+
return _samplingUfo.withSampling;
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
var _samplingUfo = require("./samplingUfo");
|
|
200
|
+
|
|
201
|
+
var _analytics = require("./analytics");
|
|
202
|
+
|
|
203
|
+
var _useSampledUFOComponentExperience = require("./useSampledUFOComponentExperience");
|