@atlaskit/media-card 73.5.0 → 73.7.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 +38 -0
- package/classnames/package.json +1 -0
- package/dist/cjs/root/card/cardAnalytics.js +1 -16
- package/dist/cjs/root/card/index.js +25 -3
- package/dist/cjs/root/cardView.js +2 -5
- package/dist/cjs/root/inlinePlayer.js +3 -1
- package/dist/cjs/root/ui/styled.js +1 -1
- package/dist/cjs/root/ui/titleBox/styled.js +1 -1
- package/dist/cjs/types.js +0 -1
- package/dist/cjs/utils/analytics.js +15 -1
- package/dist/cjs/utils/getMediaCardCursor.js +5 -2
- package/dist/cjs/utils/ufoExperiences.js +17 -7
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/root/card/cardAnalytics.js +0 -9
- package/dist/es2019/root/card/index.js +29 -5
- package/dist/es2019/root/cardView.js +2 -4
- package/dist/es2019/root/inlinePlayer.js +3 -1
- package/dist/es2019/root/ui/styled.js +1 -1
- package/dist/es2019/root/ui/titleBox/styled.js +2 -0
- package/dist/es2019/types.js +0 -1
- package/dist/es2019/utils/analytics.js +12 -1
- package/dist/es2019/utils/getMediaCardCursor.js +6 -2
- package/dist/es2019/utils/ufoExperiences.js +17 -8
- package/dist/es2019/version.json +1 -1
- package/dist/esm/root/card/cardAnalytics.js +0 -11
- package/dist/esm/root/card/index.js +28 -5
- package/dist/esm/root/cardView.js +2 -4
- package/dist/esm/root/inlinePlayer.js +3 -1
- package/dist/esm/root/ui/styled.js +1 -1
- package/dist/esm/root/ui/titleBox/styled.js +1 -1
- package/dist/esm/types.js +0 -1
- package/dist/esm/utils/analytics.js +12 -1
- package/dist/esm/utils/getMediaCardCursor.js +6 -2
- package/dist/esm/utils/ufoExperiences.js +17 -8
- package/dist/esm/version.json +1 -1
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/files/cardImageView/cardOverlay/styled.d.ts +10 -10
- package/dist/types/files/cardImageView/styled.d.ts +266 -9
- package/dist/types/index.d.ts +5 -0
- package/dist/types/root/card/cardAnalytics.d.ts +0 -1
- package/dist/types/root/card/getCardPreview/helpers.d.ts +2 -2
- package/dist/types/root/card/index.d.ts +3 -1
- package/dist/types/root/cardView.d.ts +2 -2
- package/dist/types/root/inlinePlayer.d.ts +2 -1
- package/dist/types/root/styled.d.ts +1 -1
- package/dist/types/root/ui/loadingRateLimited/styled.d.ts +3 -3
- package/dist/types/root/ui/playButton/styled.d.ts +2 -2
- package/dist/types/root/ui/styled.d.ts +2 -2
- package/dist/types/root/ui/titleBox/styled.d.ts +2 -2
- package/dist/types/styles/mixins.d.ts +1 -1
- package/dist/types/types.d.ts +4 -1
- package/dist/types/utils/analytics.d.ts +3 -1
- package/dist/types/utils/cardDimensions.d.ts +5 -5
- package/dist/types/utils/dimensionComparer.d.ts +2 -2
- package/dist/types/utils/getMediaCardCursor.d.ts +5 -1
- package/dist/types/utils/metadata.d.ts +2 -2
- package/dist/types/utils/shouldDisplayImageThumbnail.d.ts +2 -2
- package/dist/types/utils/ufoExperiences.d.ts +2 -1
- package/example-helpers/index.tsx +20 -9
- package/in-product/package.json +1 -0
- package/package.json +13 -12
- package/types/package.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @atlaskit/media-card
|
|
2
2
|
|
|
3
|
+
## 73.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`bfde909c9b4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bfde909c9b4) - Add new feature flag mediaUploadApiV2
|
|
8
|
+
- [`ed6cdd2d397`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ed6cdd2d397) - added onfullscreenchange property to media to avoid triggering table resizing when media is in full screen mode
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- [`35e43fcc798`](https://bitbucket.org/atlassian/atlassian-frontend/commits/35e43fcc798) - Minor bug fix for feature flag names in experience parameters
|
|
13
|
+
- [`83036ef87f1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/83036ef87f1) - fix mouse cursor style when hovered over linked image
|
|
14
|
+
- [`c3d85388bc6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c3d85388bc6) - fix media card titlebox cursor
|
|
15
|
+
- [`c2ede50a80a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2ede50a80a) - Add media region and environment returned from media API response into failed analytic events.
|
|
16
|
+
- [`e21e5c271b7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e21e5c271b7) - Enabled UFO logger for all examples of Media-Card
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
19
|
+
## 73.6.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- [`b4fd2a59367`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b4fd2a59367) - Attach media environment and region to the media-card UFO events
|
|
24
|
+
- [`7e767393469`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7e767393469) - Add ufo feature flag logging to `media-card`
|
|
25
|
+
- [`ade1a5c3e23`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ade1a5c3e23) - Flagged events with file states processing and uploading for UFO payload
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [`bf0e7c8e46b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bf0e7c8e46b) - [MEX-1413] Hot fix for remove useMediaPickerAuthProvider flag
|
|
30
|
+
- [`79c431ca1a6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/79c431ca1a6) - Removed "Creating Preview" message for files already processed
|
|
31
|
+
- [`f87afac53b3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f87afac53b3) - Add ufo logging for media-card
|
|
32
|
+
- Updated dependencies
|
|
33
|
+
|
|
34
|
+
## 73.5.1
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- [`cb2392f6d33`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cb2392f6d33) - Upgrade to TypeScript 4.2.4
|
|
39
|
+
- Updated dependencies
|
|
40
|
+
|
|
3
41
|
## 73.5.0
|
|
4
42
|
|
|
5
43
|
### Minor Changes
|
package/classnames/package.json
CHANGED
|
@@ -3,25 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
var _mediaCommon = require("@atlaskit/media-common");
|
|
6
|
+
exports.fireScreenEvent = exports.fireOperationalEvent = exports.fireCopiedEvent = exports.fireCommencedEvent = void 0;
|
|
9
7
|
|
|
10
8
|
var _analytics = require("../../utils/analytics");
|
|
11
9
|
|
|
12
|
-
var getRelevantFeatureFlagNames = function getRelevantFeatureFlagNames() {
|
|
13
|
-
return (0, _mediaCommon.filterFeatureFlagNames)({
|
|
14
|
-
newCardExperience: true,
|
|
15
|
-
captions: true,
|
|
16
|
-
timestampOnVideo: true,
|
|
17
|
-
observedWidth: true,
|
|
18
|
-
mediaInline: false,
|
|
19
|
-
folderUploads: false
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
exports.getRelevantFeatureFlagNames = getRelevantFeatureFlagNames;
|
|
24
|
-
|
|
25
10
|
var fireOperationalEvent = function fireOperationalEvent(createAnalyticsEvent, status, fileAttributes, performanceAttributes, ssrReliability, error) {
|
|
26
11
|
var fireEvent = function fireEvent(payload) {
|
|
27
12
|
return (0, _analytics.fireMediaCardEvent)(payload, createAnalyticsEvent);
|
|
@@ -107,6 +107,10 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
107
107
|
_this = _super.call(this, props);
|
|
108
108
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "internalOccurrenceKey", (0, _generateUniqueId.generateUniqueId)());
|
|
109
109
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hasBeenMounted", false);
|
|
110
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fileStateFlags", {
|
|
111
|
+
wasStatusUploading: false,
|
|
112
|
+
wasStatusProcessing: false
|
|
113
|
+
});
|
|
110
114
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "viewportPreAnchorRef", /*#__PURE__*/(0, _react.createRef)());
|
|
111
115
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "viewportPostAnchorRef", /*#__PURE__*/(0, _react.createRef)());
|
|
112
116
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ssrReliability", {
|
|
@@ -472,7 +476,8 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
472
476
|
dimensions = _this$props7.dimensions,
|
|
473
477
|
selected = _this$props7.selected,
|
|
474
478
|
testId = _this$props7.testId,
|
|
475
|
-
originalDimensions = _this$props7.originalDimensions
|
|
479
|
+
originalDimensions = _this$props7.originalDimensions,
|
|
480
|
+
onFullscreenChange = _this$props7.onFullscreenChange;
|
|
476
481
|
var _this$state = _this.state,
|
|
477
482
|
shouldAutoplay = _this$state.shouldAutoplay,
|
|
478
483
|
cardPreview = _this$state.cardPreview;
|
|
@@ -482,6 +487,7 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
482
487
|
originalDimensions: originalDimensions,
|
|
483
488
|
identifier: identifier,
|
|
484
489
|
autoplay: !!shouldAutoplay,
|
|
490
|
+
onFullscreenChange: onFullscreenChange,
|
|
485
491
|
onError: _this.onInlinePlayerError,
|
|
486
492
|
onClick: _this.onClick,
|
|
487
493
|
selected: selected,
|
|
@@ -815,6 +821,7 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
815
821
|
var isDifferent = (0, _mediaClient2.isDifferentIdentifier)(prevIdentifier, identifier);
|
|
816
822
|
var turnedVisible = !prevIsCardVisible && isCardVisible;
|
|
817
823
|
var isNewMediaClient = prevMediaClient !== mediaClient;
|
|
824
|
+
this.updateFileStateFlag(fileState);
|
|
818
825
|
|
|
819
826
|
if ((0, _mediaClient2.isExternalImageIdentifier)(identifier) && isDifferent) {
|
|
820
827
|
this.fireCommencedEvent();
|
|
@@ -890,6 +897,21 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
890
897
|
this.fireCommencedEvent();
|
|
891
898
|
this.subscribeInternalFile(identifier);
|
|
892
899
|
}
|
|
900
|
+
}, {
|
|
901
|
+
key: "updateFileStateFlag",
|
|
902
|
+
value: function updateFileStateFlag(fileState) {
|
|
903
|
+
if (!fileState) {
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
var status = fileState.status;
|
|
908
|
+
|
|
909
|
+
if (status === 'processing') {
|
|
910
|
+
this.fileStateFlags.wasStatusProcessing = true;
|
|
911
|
+
} else if (status === 'uploading') {
|
|
912
|
+
this.fileStateFlags.wasStatusUploading = true;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
893
915
|
}, {
|
|
894
916
|
key: "subscribeInternalFile",
|
|
895
917
|
value: function subscribeInternalFile(identifier) {
|
|
@@ -957,7 +979,7 @@ var CardBase = /*#__PURE__*/function (_Component) {
|
|
|
957
979
|
error = _this$state7.error;
|
|
958
980
|
var createAnalyticsEvent = this.props.createAnalyticsEvent;
|
|
959
981
|
createAnalyticsEvent && (0, _cardAnalytics.fireOperationalEvent)(createAnalyticsEvent, status, this.fileAttributes, this.getPerformanceAttributes(), this.ssrReliability, error);
|
|
960
|
-
(0, _ufoExperiences.completeUfoExperience)(this.internalOccurrenceKey, status, this.fileAttributes, this.ssrReliability, error);
|
|
982
|
+
(0, _ufoExperiences.completeUfoExperience)(this.internalOccurrenceKey, status, this.fileAttributes, this.fileStateFlags, this.ssrReliability, error);
|
|
961
983
|
}
|
|
962
984
|
}, {
|
|
963
985
|
key: "fireCommencedEvent",
|
|
@@ -1031,7 +1053,7 @@ var Card = (0, _mediaCommon.withMediaAnalyticsContext)({
|
|
|
1031
1053
|
componentName: 'mediaCard',
|
|
1032
1054
|
component: 'mediaCard'
|
|
1033
1055
|
}, {
|
|
1034
|
-
filterFeatureFlags:
|
|
1056
|
+
filterFeatureFlags: _analytics.LOGGED_FEATURE_FLAGS
|
|
1035
1057
|
})((0, _analyticsNext.withAnalyticsEvents)()((0, _reactIntlNext.injectIntl)(CardBase, {
|
|
1036
1058
|
enforceContext: false
|
|
1037
1059
|
})));
|
|
@@ -83,8 +83,6 @@ var _cardConstants = require("./card/cardConstants");
|
|
|
83
83
|
|
|
84
84
|
var _errors = require("../errors");
|
|
85
85
|
|
|
86
|
-
var _types = require("../types");
|
|
87
|
-
|
|
88
86
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
89
87
|
|
|
90
88
|
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; }
|
|
@@ -297,7 +295,6 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
|
|
|
297
295
|
});
|
|
298
296
|
|
|
299
297
|
case 'processing':
|
|
300
|
-
case 'loading-preview':
|
|
301
298
|
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
302
299
|
iconMessage: !didImageRender && !isZeroSize ? /*#__PURE__*/_react.default.createElement(_iconMessage.CreatingPreview, {
|
|
303
300
|
disableAnimation: disableAnimation
|
|
@@ -347,6 +344,7 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
|
|
|
347
344
|
iconMessage: iconMessage
|
|
348
345
|
});
|
|
349
346
|
|
|
347
|
+
case 'loading-preview':
|
|
350
348
|
case 'loading':
|
|
351
349
|
default:
|
|
352
350
|
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
@@ -625,8 +623,7 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
|
|
|
625
623
|
|
|
626
624
|
exports.CardViewBase = CardViewBase;
|
|
627
625
|
(0, _defineProperty2.default)(CardViewBase, "defaultProps", {
|
|
628
|
-
appearance: 'auto'
|
|
629
|
-
mediaCardCursor: _types.MediaCardCursor.NoAction
|
|
626
|
+
appearance: 'auto'
|
|
630
627
|
});
|
|
631
628
|
var CardView = (0, _analyticsNext.withAnalyticsEvents)({
|
|
632
629
|
onClick: (0, _analytics.createAndFireMediaCardEvent)({
|
|
@@ -332,7 +332,8 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
|
|
|
332
332
|
identifier = _this$props4.identifier,
|
|
333
333
|
forwardRef = _this$props4.forwardRef,
|
|
334
334
|
autoplay = _this$props4.autoplay,
|
|
335
|
-
cardPreview = _this$props4.cardPreview
|
|
335
|
+
cardPreview = _this$props4.cardPreview,
|
|
336
|
+
onFullscreenChange = _this$props4.onFullscreenChange;
|
|
336
337
|
var _this$state = this.state,
|
|
337
338
|
fileSrc = _this$state.fileSrc,
|
|
338
339
|
isUploading = _this$state.isUploading,
|
|
@@ -356,6 +357,7 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
|
|
|
356
357
|
return /*#__PURE__*/_react.default.createElement(_mediaUi.CustomMediaPlayer, {
|
|
357
358
|
type: "video",
|
|
358
359
|
src: fileSrc,
|
|
360
|
+
onFullscreenChange: onFullscreenChange,
|
|
359
361
|
fileId: identifier.id,
|
|
360
362
|
isAutoPlay: autoplay,
|
|
361
363
|
isHDAvailable: false,
|
|
@@ -89,7 +89,7 @@ var getWrapperShadow = function getWrapperShadow(disableOverlay, selected) {
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
var getCursorStyle = function getCursorStyle(cursor) {
|
|
92
|
-
return "cursor: ".concat(cursor, ";");
|
|
92
|
+
return !!cursor ? "cursor: ".concat(cursor, ";") : '';
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
var getClickablePlayButtonStyles = function getClickablePlayButtonStyles(isPlayButtonClickable) {
|
|
@@ -33,7 +33,7 @@ var HEX_REGEX = /^#[0-9A-F]{6}$/i;
|
|
|
33
33
|
var TitleBoxWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), function (_ref) {
|
|
34
34
|
var breakpoint = _ref.breakpoint,
|
|
35
35
|
titleBoxBgColor = _ref.titleBoxBgColor;
|
|
36
|
-
return "\n position: absolute;\n bottom: 0;\n width: 100%;\n background-color: ".concat((0, _mixins.rgba)(titleBoxBgColor && HEX_REGEX.test(titleBoxBgColor) ? titleBoxBgColor : _colors.N0, 0.8), ";\n color: inherit;\n display: flex;\n flex-direction: column;\n justify-content: center;\n ").concat(generateResponsiveStyles(breakpoint), "\n ");
|
|
36
|
+
return "\n position: absolute;\n bottom: 0;\n width: 100%;\n background-color: ".concat((0, _mixins.rgba)(titleBoxBgColor && HEX_REGEX.test(titleBoxBgColor) ? titleBoxBgColor : _colors.N0, 0.8), ";\n color: inherit;\n cursor: inherit;\n pointer-events: none;\n display: flex;\n flex-direction: column;\n justify-content: center;\n ").concat(generateResponsiveStyles(breakpoint), "\n ");
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
exports.TitleBoxWrapper = TitleBoxWrapper;
|
package/dist/cjs/types.js
CHANGED
|
@@ -9,6 +9,5 @@ exports.MediaCardCursor = MediaCardCursor;
|
|
|
9
9
|
|
|
10
10
|
(function (MediaCardCursor) {
|
|
11
11
|
MediaCardCursor["Action"] = "pointer";
|
|
12
|
-
MediaCardCursor["NoAction"] = "default";
|
|
13
12
|
MediaCardCursor["NotReady"] = "wait";
|
|
14
13
|
})(MediaCardCursor || (exports.MediaCardCursor = MediaCardCursor = {}));
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.extractErrorInfo = exports.createAndFireMediaCardEvent = void 0;
|
|
8
|
+
exports.extractErrorInfo = exports.createAndFireMediaCardEvent = exports.LOGGED_FEATURE_FLAG_KEYS = exports.LOGGED_FEATURE_FLAGS = void 0;
|
|
9
9
|
exports.fireMediaCardEvent = fireMediaCardEvent;
|
|
10
10
|
exports.getRenderSucceededEventPayload = exports.getRenderPreviewableCardPayload = exports.getRenderFailedFileStatusPayload = exports.getRenderFailedExternalUriPayload = exports.getRenderErrorRequestMetadata = exports.getRenderErrorFailReason = exports.getRenderErrorEventPayload = exports.getRenderErrorErrorReason = exports.getRenderErrorErrorDetail = exports.getRenderCommencedEventPayload = exports.getFileAttributes = exports.getCopiedFilePayload = void 0;
|
|
11
11
|
|
|
@@ -23,6 +23,20 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
23
23
|
|
|
24
24
|
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
25
|
|
|
26
|
+
var relevantFlags = {
|
|
27
|
+
newCardExperience: true,
|
|
28
|
+
captions: true,
|
|
29
|
+
timestampOnVideo: true,
|
|
30
|
+
observedWidth: true,
|
|
31
|
+
mediaInline: false,
|
|
32
|
+
folderUploads: false,
|
|
33
|
+
mediaUploadApiV2: false
|
|
34
|
+
};
|
|
35
|
+
var LOGGED_FEATURE_FLAGS = (0, _mediaCommon.filterFeatureFlagNames)(relevantFlags);
|
|
36
|
+
exports.LOGGED_FEATURE_FLAGS = LOGGED_FEATURE_FLAGS;
|
|
37
|
+
var LOGGED_FEATURE_FLAG_KEYS = (0, _mediaCommon.filterFeatureFlagKeysAllProducts)(relevantFlags);
|
|
38
|
+
exports.LOGGED_FEATURE_FLAG_KEYS = LOGGED_FEATURE_FLAG_KEYS;
|
|
39
|
+
|
|
26
40
|
var getFileAttributes = function getFileAttributes(metadata, fileStatus) {
|
|
27
41
|
return {
|
|
28
42
|
fileMediatype: metadata.mediaType,
|
|
@@ -7,10 +7,13 @@ exports.getMediaCardCursor = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _types = require("../types");
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* When the returned value is undefined, we'd expect the media card to take the parent's cursor style.
|
|
12
|
+
*/
|
|
10
13
|
var getMediaCardCursor = function getMediaCardCursor(useInlinePlayer, useMediaViewer, isErrorStatus, hasCardPreview, mediaType) {
|
|
11
14
|
// If error status or no action is requested = NoAction
|
|
12
15
|
if (isErrorStatus || !useInlinePlayer && !useMediaViewer) {
|
|
13
|
-
return
|
|
16
|
+
return;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
if (!mediaType && (useInlinePlayer || useInlinePlayer && useMediaViewer)) {
|
|
@@ -23,7 +26,7 @@ var getMediaCardCursor = function getMediaCardCursor(useInlinePlayer, useMediaVi
|
|
|
23
26
|
return _types.MediaCardCursor.Action;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
return
|
|
29
|
+
return;
|
|
27
30
|
};
|
|
28
31
|
|
|
29
32
|
exports.getMediaCardCursor = getMediaCardCursor;
|
|
@@ -15,6 +15,8 @@ var _version = require("../version.json");
|
|
|
15
15
|
|
|
16
16
|
var _analytics = require("./analytics");
|
|
17
17
|
|
|
18
|
+
var _mediaClient = require("@atlaskit/media-client");
|
|
19
|
+
|
|
18
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
21
|
|
|
20
22
|
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; }
|
|
@@ -28,7 +30,8 @@ var getExperience = function getExperience(id) {
|
|
|
28
30
|
component: 'media-card'
|
|
29
31
|
},
|
|
30
32
|
type: _ufo.ExperienceTypes.Experience,
|
|
31
|
-
performanceType: _ufo.ExperiencePerformanceTypes.InlineResult
|
|
33
|
+
performanceType: _ufo.ExperiencePerformanceTypes.InlineResult,
|
|
34
|
+
featureFlags: _analytics.LOGGED_FEATURE_FLAG_KEYS
|
|
32
35
|
};
|
|
33
36
|
concurrentExperience = new _ufo.ConcurrentExperience('media-card-render', inlineExperience);
|
|
34
37
|
}
|
|
@@ -42,12 +45,13 @@ var startUfoExperience = function startUfoExperience(id) {
|
|
|
42
45
|
|
|
43
46
|
exports.startUfoExperience = startUfoExperience;
|
|
44
47
|
|
|
45
|
-
var completeUfoExperience = function completeUfoExperience(id, status, fileAttributes, ssrReliability, error) {
|
|
48
|
+
var completeUfoExperience = function completeUfoExperience(id, status, fileAttributes, fileStateFlags, ssrReliability, error) {
|
|
46
49
|
switch (status) {
|
|
47
50
|
case 'complete':
|
|
48
51
|
succeedUfoExperience(id, {
|
|
49
52
|
fileAttributes: fileAttributes,
|
|
50
|
-
ssrReliability: ssrReliability
|
|
53
|
+
ssrReliability: ssrReliability,
|
|
54
|
+
fileStateFlags: fileStateFlags
|
|
51
55
|
});
|
|
52
56
|
break;
|
|
53
57
|
|
|
@@ -55,7 +59,8 @@ var completeUfoExperience = function completeUfoExperience(id, status, fileAttri
|
|
|
55
59
|
failUfoExperience(id, {
|
|
56
60
|
fileAttributes: fileAttributes,
|
|
57
61
|
failReason: 'failed-processing',
|
|
58
|
-
ssrReliability: ssrReliability
|
|
62
|
+
ssrReliability: ssrReliability,
|
|
63
|
+
fileStateFlags: fileStateFlags
|
|
59
64
|
});
|
|
60
65
|
break;
|
|
61
66
|
|
|
@@ -64,7 +69,8 @@ var completeUfoExperience = function completeUfoExperience(id, status, fileAttri
|
|
|
64
69
|
fileAttributes: fileAttributes
|
|
65
70
|
}, (0, _analytics.extractErrorInfo)(error)), {}, {
|
|
66
71
|
request: (0, _analytics.getRenderErrorRequestMetadata)(error),
|
|
67
|
-
ssrReliability: ssrReliability
|
|
72
|
+
ssrReliability: ssrReliability,
|
|
73
|
+
fileStateFlags: fileStateFlags
|
|
68
74
|
}));
|
|
69
75
|
break;
|
|
70
76
|
}
|
|
@@ -76,7 +82,9 @@ var succeedUfoExperience = function succeedUfoExperience(id, properties) {
|
|
|
76
82
|
getExperience(id).success({
|
|
77
83
|
metadata: _objectSpread(_objectSpread({}, properties), {}, {
|
|
78
84
|
packageName: _version.name,
|
|
79
|
-
packageVersion: _version.version
|
|
85
|
+
packageVersion: _version.version,
|
|
86
|
+
mediaEnvironment: (0, _mediaClient.getMediaEnvironment)(),
|
|
87
|
+
mediaRegion: (0, _mediaClient.getMediaRegion)()
|
|
80
88
|
})
|
|
81
89
|
});
|
|
82
90
|
};
|
|
@@ -85,7 +93,9 @@ var failUfoExperience = function failUfoExperience(id, properties) {
|
|
|
85
93
|
getExperience(id).failure({
|
|
86
94
|
metadata: _objectSpread(_objectSpread({}, properties), {}, {
|
|
87
95
|
packageName: _version.name,
|
|
88
|
-
packageVersion: _version.version
|
|
96
|
+
packageVersion: _version.version,
|
|
97
|
+
mediaEnvironment: (0, _mediaClient.getMediaEnvironment)(),
|
|
98
|
+
mediaRegion: (0, _mediaClient.getMediaRegion)()
|
|
89
99
|
})
|
|
90
100
|
});
|
|
91
101
|
};
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import { filterFeatureFlagNames } from '@atlaskit/media-common';
|
|
2
1
|
import { fireMediaCardEvent, getRenderSucceededEventPayload, getRenderErrorEventPayload, getRenderFailedFileStatusPayload, getCopiedFilePayload, getRenderCommencedEventPayload, getRenderPreviewableCardPayload } from '../../utils/analytics';
|
|
3
|
-
export const getRelevantFeatureFlagNames = () => filterFeatureFlagNames({
|
|
4
|
-
newCardExperience: true,
|
|
5
|
-
captions: true,
|
|
6
|
-
timestampOnVideo: true,
|
|
7
|
-
observedWidth: true,
|
|
8
|
-
mediaInline: false,
|
|
9
|
-
folderUploads: false
|
|
10
|
-
});
|
|
11
2
|
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, ssrReliability, error) => {
|
|
12
3
|
const fireEvent = payload => fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
13
4
|
|
|
@@ -14,9 +14,9 @@ import { getRequestedDimensions } from '../../utils/getDataURIDimension';
|
|
|
14
14
|
import { getCardPreview, getCardPreviewFromCache, removeCardPreviewFromCache, getFilePreviewFromFileState, shouldResolvePreview, getSSRCardPreview, isLocalPreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, fetchAndCacheRemotePreview } from './getCardPreview';
|
|
15
15
|
import { getFileDetails } from '../../utils/metadata';
|
|
16
16
|
import { InlinePlayer } from '../inlinePlayer';
|
|
17
|
-
import { getFileAttributes, extractErrorInfo } from '../../utils/analytics';
|
|
17
|
+
import { getFileAttributes, extractErrorInfo, LOGGED_FEATURE_FLAGS } from '../../utils/analytics';
|
|
18
18
|
import { isLocalPreviewError, MediaCardError, ensureMediaCardError, ImageLoadError } from '../../errors';
|
|
19
|
-
import { fireOperationalEvent, fireCommencedEvent,
|
|
19
|
+
import { fireOperationalEvent, fireCommencedEvent, fireCopiedEvent, fireScreenEvent } from './cardAnalytics';
|
|
20
20
|
import getDocument from '../../utils/document';
|
|
21
21
|
import { StoreSSRDataScript, getSSRData } from '../../utils/globalScope';
|
|
22
22
|
import { getCardStateFromFileState, createStateUpdater } from './cardState';
|
|
@@ -37,6 +37,11 @@ export class CardBase extends Component {
|
|
|
37
37
|
|
|
38
38
|
_defineProperty(this, "hasBeenMounted", false);
|
|
39
39
|
|
|
40
|
+
_defineProperty(this, "fileStateFlags", {
|
|
41
|
+
wasStatusUploading: false,
|
|
42
|
+
wasStatusProcessing: false
|
|
43
|
+
});
|
|
44
|
+
|
|
40
45
|
_defineProperty(this, "viewportPreAnchorRef", /*#__PURE__*/createRef());
|
|
41
46
|
|
|
42
47
|
_defineProperty(this, "viewportPostAnchorRef", /*#__PURE__*/createRef());
|
|
@@ -386,7 +391,8 @@ export class CardBase extends Component {
|
|
|
386
391
|
dimensions,
|
|
387
392
|
selected,
|
|
388
393
|
testId,
|
|
389
|
-
originalDimensions
|
|
394
|
+
originalDimensions,
|
|
395
|
+
onFullscreenChange
|
|
390
396
|
} = this.props;
|
|
391
397
|
const {
|
|
392
398
|
shouldAutoplay,
|
|
@@ -398,6 +404,7 @@ export class CardBase extends Component {
|
|
|
398
404
|
originalDimensions: originalDimensions,
|
|
399
405
|
identifier: identifier,
|
|
400
406
|
autoplay: !!shouldAutoplay,
|
|
407
|
+
onFullscreenChange: onFullscreenChange,
|
|
401
408
|
onError: this.onInlinePlayerError,
|
|
402
409
|
onClick: this.onClick,
|
|
403
410
|
selected: selected,
|
|
@@ -763,6 +770,7 @@ export class CardBase extends Component {
|
|
|
763
770
|
const isDifferent = isDifferentIdentifier(prevIdentifier, identifier);
|
|
764
771
|
const turnedVisible = !prevIsCardVisible && isCardVisible;
|
|
765
772
|
const isNewMediaClient = prevMediaClient !== mediaClient;
|
|
773
|
+
this.updateFileStateFlag(fileState);
|
|
766
774
|
|
|
767
775
|
if (isExternalImageIdentifier(identifier) && isDifferent) {
|
|
768
776
|
this.fireCommencedEvent();
|
|
@@ -839,6 +847,22 @@ export class CardBase extends Component {
|
|
|
839
847
|
this.subscribeInternalFile(identifier);
|
|
840
848
|
}
|
|
841
849
|
|
|
850
|
+
updateFileStateFlag(fileState) {
|
|
851
|
+
if (!fileState) {
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
const {
|
|
856
|
+
status
|
|
857
|
+
} = fileState;
|
|
858
|
+
|
|
859
|
+
if (status === 'processing') {
|
|
860
|
+
this.fileStateFlags.wasStatusProcessing = true;
|
|
861
|
+
} else if (status === 'uploading') {
|
|
862
|
+
this.fileStateFlags.wasStatusUploading = true;
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
|
|
842
866
|
subscribeInternalFile(identifier) {
|
|
843
867
|
const {
|
|
844
868
|
mediaClient
|
|
@@ -908,7 +932,7 @@ export class CardBase extends Component {
|
|
|
908
932
|
createAnalyticsEvent
|
|
909
933
|
} = this.props;
|
|
910
934
|
createAnalyticsEvent && fireOperationalEvent(createAnalyticsEvent, status, this.fileAttributes, this.getPerformanceAttributes(), this.ssrReliability, error);
|
|
911
|
-
completeUfoExperience(this.internalOccurrenceKey, status, this.fileAttributes, this.ssrReliability, error);
|
|
935
|
+
completeUfoExperience(this.internalOccurrenceKey, status, this.fileAttributes, this.fileStateFlags, this.ssrReliability, error);
|
|
912
936
|
}
|
|
913
937
|
|
|
914
938
|
fireCommencedEvent() {
|
|
@@ -979,7 +1003,7 @@ export const Card = withMediaAnalyticsContext({
|
|
|
979
1003
|
componentName: 'mediaCard',
|
|
980
1004
|
component: 'mediaCard'
|
|
981
1005
|
}, {
|
|
982
|
-
filterFeatureFlags:
|
|
1006
|
+
filterFeatureFlags: LOGGED_FEATURE_FLAGS
|
|
983
1007
|
})(withAnalyticsEvents()(injectIntl(CardBase, {
|
|
984
1008
|
enforceContext: false
|
|
985
1009
|
})));
|
|
@@ -30,7 +30,6 @@ import { PreviewUnavailable, CreatingPreview, FailedToUpload, PreviewCurrentlyUn
|
|
|
30
30
|
import { isRateLimitedError, isPollingError } from '@atlaskit/media-client';
|
|
31
31
|
import { newFileExperienceClassName } from './card/cardConstants';
|
|
32
32
|
import { isUploadError } from '../errors';
|
|
33
|
-
import { MediaCardCursor } from '../types';
|
|
34
33
|
|
|
35
34
|
/**
|
|
36
35
|
* This is classic vanilla CardView class. To create an instance of class one would need to supply
|
|
@@ -237,7 +236,6 @@ export class CardViewBase extends React.Component {
|
|
|
237
236
|
};
|
|
238
237
|
|
|
239
238
|
case 'processing':
|
|
240
|
-
case 'loading-preview':
|
|
241
239
|
return { ...defaultConfig,
|
|
242
240
|
iconMessage: !didImageRender && !isZeroSize ? /*#__PURE__*/React.createElement(CreatingPreview, {
|
|
243
241
|
disableAnimation: disableAnimation
|
|
@@ -286,6 +284,7 @@ export class CardViewBase extends React.Component {
|
|
|
286
284
|
iconMessage
|
|
287
285
|
};
|
|
288
286
|
|
|
287
|
+
case 'loading-preview':
|
|
289
288
|
case 'loading':
|
|
290
289
|
default:
|
|
291
290
|
return { ...defaultConfig,
|
|
@@ -563,8 +562,7 @@ export class CardViewBase extends React.Component {
|
|
|
563
562
|
}
|
|
564
563
|
|
|
565
564
|
_defineProperty(CardViewBase, "defaultProps", {
|
|
566
|
-
appearance: 'auto'
|
|
567
|
-
mediaCardCursor: MediaCardCursor.NoAction
|
|
565
|
+
appearance: 'auto'
|
|
568
566
|
});
|
|
569
567
|
|
|
570
568
|
export const CardView = withAnalyticsEvents({
|
|
@@ -217,7 +217,8 @@ export class InlinePlayerBase extends Component {
|
|
|
217
217
|
identifier,
|
|
218
218
|
forwardRef,
|
|
219
219
|
autoplay,
|
|
220
|
-
cardPreview
|
|
220
|
+
cardPreview,
|
|
221
|
+
onFullscreenChange
|
|
221
222
|
} = this.props;
|
|
222
223
|
const {
|
|
223
224
|
fileSrc,
|
|
@@ -242,6 +243,7 @@ export class InlinePlayerBase extends Component {
|
|
|
242
243
|
}, /*#__PURE__*/React.createElement(InactivityDetector, null, checkMouseMovement => /*#__PURE__*/React.createElement(CustomMediaPlayer, {
|
|
243
244
|
type: "video",
|
|
244
245
|
src: fileSrc,
|
|
246
|
+
onFullscreenChange: onFullscreenChange,
|
|
245
247
|
fileId: identifier.id,
|
|
246
248
|
isAutoPlay: autoplay,
|
|
247
249
|
isHDAvailable: false,
|
|
@@ -52,7 +52,7 @@ const getWrapperShadow = (disableOverlay, selected) => {
|
|
|
52
52
|
return shadow ? `box-shadow: ${shadow};` : '';
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
const getCursorStyle = cursor => `cursor: ${cursor}
|
|
55
|
+
const getCursorStyle = cursor => !!cursor ? `cursor: ${cursor};` : '';
|
|
56
56
|
|
|
57
57
|
const getClickablePlayButtonStyles = isPlayButtonClickable => {
|
|
58
58
|
if (!isPlayButtonClickable) {
|
|
@@ -25,6 +25,8 @@ export const TitleBoxWrapper = styled.div`
|
|
|
25
25
|
width: 100%;
|
|
26
26
|
background-color: ${rgba(titleBoxBgColor && HEX_REGEX.test(titleBoxBgColor) ? titleBoxBgColor : N0, 0.8)};
|
|
27
27
|
color: inherit;
|
|
28
|
+
cursor: inherit;
|
|
29
|
+
pointer-events: none;
|
|
28
30
|
display: flex;
|
|
29
31
|
flex-direction: column;
|
|
30
32
|
justify-content: center;
|
package/dist/es2019/types.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { getMediaClientErrorReason, isRequestError } from '@atlaskit/media-client';
|
|
2
|
-
import { ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
|
|
2
|
+
import { ANALYTICS_MEDIA_CHANNEL, filterFeatureFlagNames, filterFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
|
|
3
3
|
import { createAndFireEvent } from '@atlaskit/analytics-next';
|
|
4
4
|
import { isMediaCardError } from '../errors';
|
|
5
|
+
const relevantFlags = {
|
|
6
|
+
newCardExperience: true,
|
|
7
|
+
captions: true,
|
|
8
|
+
timestampOnVideo: true,
|
|
9
|
+
observedWidth: true,
|
|
10
|
+
mediaInline: false,
|
|
11
|
+
folderUploads: false,
|
|
12
|
+
mediaUploadApiV2: false
|
|
13
|
+
};
|
|
14
|
+
export const LOGGED_FEATURE_FLAGS = filterFeatureFlagNames(relevantFlags);
|
|
15
|
+
export const LOGGED_FEATURE_FLAG_KEYS = filterFeatureFlagKeysAllProducts(relevantFlags);
|
|
5
16
|
export const getFileAttributes = (metadata, fileStatus) => ({
|
|
6
17
|
fileMediatype: metadata.mediaType,
|
|
7
18
|
fileMimetype: metadata.mimeType,
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { MediaCardCursor } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* When the returned value is undefined, we'd expect the media card to take the parent's cursor style.
|
|
5
|
+
*/
|
|
2
6
|
export const getMediaCardCursor = (useInlinePlayer, useMediaViewer, isErrorStatus, hasCardPreview, mediaType) => {
|
|
3
7
|
// If error status or no action is requested = NoAction
|
|
4
8
|
if (isErrorStatus || !useInlinePlayer && !useMediaViewer) {
|
|
5
|
-
return
|
|
9
|
+
return;
|
|
6
10
|
}
|
|
7
11
|
|
|
8
12
|
if (!mediaType && (useInlinePlayer || useInlinePlayer && useMediaViewer)) {
|
|
@@ -15,5 +19,5 @@ export const getMediaCardCursor = (useInlinePlayer, useMediaViewer, isErrorStatu
|
|
|
15
19
|
return MediaCardCursor.Action;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
|
-
return
|
|
22
|
+
return;
|
|
19
23
|
};
|