@atlaskit/media-card 70.11.0 → 73.0.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 +104 -0
- package/dist/cjs/errors.js +78 -5
- package/dist/cjs/files/cardImageView/cardOverlay/styled.js +1 -1
- package/dist/cjs/files/cardImageView/index.js +53 -104
- package/dist/cjs/files/cardImageView/styled.js +1 -1
- package/dist/cjs/files/index.js +0 -6
- package/dist/cjs/index.js +12 -6
- package/dist/cjs/root/card/cardAnalytics.js +11 -17
- package/dist/cjs/root/card/cardLoader.js +66 -124
- package/dist/cjs/root/card/cardState.js +50 -0
- package/dist/cjs/root/card/getCardPreview/cache.js +6 -1
- package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +53 -0
- package/dist/cjs/root/card/getCardPreview/helpers.js +14 -22
- package/dist/cjs/root/card/getCardPreview/index.js +176 -102
- package/dist/cjs/root/card/getCardStatus.js +7 -1
- package/dist/cjs/root/card/index.js +361 -281
- package/dist/cjs/root/cardView.js +109 -86
- package/dist/cjs/root/index.js +9 -1
- package/dist/cjs/root/inline/loader.js +22 -21
- package/dist/cjs/root/inline/{inlineMediaCard.js → mediaInlineCard.js} +84 -26
- package/dist/cjs/root/inlinePlayer.js +4 -3
- package/dist/cjs/root/styled.js +7 -3
- package/dist/cjs/root/ui/actionsBar/styled.js +1 -1
- package/dist/cjs/root/ui/blanket/styled.js +1 -1
- package/dist/cjs/root/ui/common.js +11 -5
- package/dist/cjs/root/ui/iconMessage/index.js +16 -7
- package/dist/cjs/root/ui/iconWrapper/styled.js +1 -1
- package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +34 -124
- package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +6 -4
- package/dist/cjs/root/ui/loadingRateLimited/styled.js +1 -1
- package/dist/cjs/root/ui/playButton/styled.js +1 -1
- package/dist/cjs/root/ui/progressBar/progressBar.js +2 -2
- package/dist/cjs/root/ui/progressBar/styled.js +2 -4
- package/dist/cjs/root/ui/styled.js +80 -17
- package/dist/cjs/root/ui/tickBox/styled.js +1 -1
- package/dist/cjs/root/ui/titleBox/failedTitleBox.js +9 -3
- package/dist/cjs/root/ui/titleBox/styled.js +2 -4
- package/dist/cjs/root/ui/titleBox/titleBox.js +2 -2
- package/dist/cjs/styles/index.js +25 -23
- package/dist/cjs/styles/mixins.js +1 -1
- package/dist/cjs/utils/analytics.js +21 -43
- package/dist/cjs/utils/breakpoint.js +1 -1
- package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
- package/dist/cjs/utils/cardActions/index.js +10 -10
- package/dist/cjs/utils/cardActions/styled.js +1 -1
- package/dist/cjs/utils/cardDimensions.js +1 -1
- package/dist/cjs/utils/dimensionComparer.js +1 -1
- package/dist/cjs/utils/getErrorMessage.js +2 -2
- package/dist/cjs/utils/index.js +46 -46
- package/dist/cjs/utils/lightCards/styled.js +1 -1
- package/dist/cjs/utils/metadata.js +11 -3
- package/dist/cjs/utils/objectURLCache.js +7 -1
- package/dist/cjs/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/cjs/utils/viewportDetector.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/errors.js +42 -2
- package/dist/es2019/files/cardImageView/index.js +8 -61
- package/dist/es2019/files/index.js +1 -1
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/root/card/cardAnalytics.js +7 -15
- package/dist/es2019/root/card/cardLoader.js +47 -53
- package/dist/es2019/root/card/cardState.js +26 -0
- package/dist/es2019/root/card/getCardPreview/cache.js +5 -0
- package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +38 -0
- package/dist/es2019/root/card/getCardPreview/helpers.js +2 -12
- package/dist/es2019/root/card/getCardPreview/index.js +112 -79
- package/dist/es2019/root/card/getCardStatus.js +1 -0
- package/dist/es2019/root/card/index.js +285 -190
- package/dist/es2019/root/cardView.js +93 -68
- package/dist/es2019/root/index.js +2 -1
- package/dist/es2019/root/inline/loader.js +16 -15
- package/dist/es2019/root/inline/mediaInlineCard.js +143 -0
- package/dist/es2019/root/inlinePlayer.js +3 -2
- package/dist/es2019/root/styled.js +2 -1
- package/dist/es2019/root/ui/common.js +7 -1
- package/dist/es2019/root/ui/iconMessage/index.js +8 -5
- package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +25 -88
- package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/es2019/root/ui/progressBar/progressBar.js +1 -1
- package/dist/es2019/root/ui/progressBar/styled.js +1 -2
- package/dist/es2019/root/ui/styled.js +64 -3
- package/dist/es2019/root/ui/titleBox/failedTitleBox.js +6 -3
- package/dist/es2019/root/ui/titleBox/styled.js +1 -2
- package/dist/es2019/root/ui/titleBox/titleBox.js +1 -1
- package/dist/es2019/utils/analytics.js +15 -34
- package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
- package/dist/es2019/utils/dimensionComparer.js +1 -1
- package/dist/es2019/utils/getErrorMessage.js +1 -1
- package/dist/es2019/utils/metadata.js +12 -4
- package/dist/es2019/utils/objectURLCache.js +5 -0
- package/dist/es2019/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/errors.js +60 -1
- package/dist/esm/files/cardImageView/index.js +51 -102
- package/dist/esm/files/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/root/card/cardAnalytics.js +7 -16
- package/dist/esm/root/card/cardLoader.js +66 -126
- package/dist/esm/root/card/cardState.js +32 -0
- package/dist/esm/root/card/getCardPreview/cache.js +6 -0
- package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +38 -0
- package/dist/esm/root/card/getCardPreview/helpers.js +13 -21
- package/dist/esm/root/card/getCardPreview/index.js +142 -95
- package/dist/esm/root/card/getCardStatus.js +3 -0
- package/dist/esm/root/card/index.js +370 -284
- package/dist/esm/root/cardView.js +109 -84
- package/dist/esm/root/index.js +2 -1
- package/dist/esm/root/inline/loader.js +23 -22
- package/dist/esm/root/inline/mediaInlineCard.js +156 -0
- package/dist/esm/root/inlinePlayer.js +3 -2
- package/dist/esm/root/styled.js +3 -2
- package/dist/esm/root/ui/common.js +7 -1
- package/dist/esm/root/ui/iconMessage/index.js +10 -5
- package/dist/esm/root/ui/imageRenderer/imageRenderer.js +27 -118
- package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/esm/root/ui/progressBar/progressBar.js +1 -1
- package/dist/esm/root/ui/progressBar/styled.js +1 -2
- package/dist/esm/root/ui/styled.js +61 -13
- package/dist/esm/root/ui/titleBox/failedTitleBox.js +7 -3
- package/dist/esm/root/ui/titleBox/styled.js +1 -2
- package/dist/esm/root/ui/titleBox/titleBox.js +1 -1
- package/dist/esm/utils/analytics.js +16 -35
- package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
- package/dist/esm/utils/dimensionComparer.js +1 -1
- package/dist/esm/utils/getErrorMessage.js +1 -1
- package/dist/esm/utils/metadata.js +12 -4
- package/dist/esm/utils/objectURLCache.js +6 -0
- package/dist/esm/utils/shouldDisplayImageThumbnail.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/errors.d.ts +15 -1
- package/dist/types/files/cardImageView/index.d.ts +4 -13
- package/dist/types/files/cardImageView/styled.d.ts +1 -1
- package/dist/types/files/index.d.ts +1 -1
- package/dist/types/index.d.ts +7 -5
- package/dist/types/root/card/cardAnalytics.d.ts +2 -6
- package/dist/types/root/card/cardLoader.d.ts +5 -19
- package/dist/types/root/card/cardState.d.ts +5 -0
- package/dist/types/root/card/getCardPreview/cache.d.ts +3 -1
- package/dist/types/root/card/getCardPreview/filePreviewStatus.d.ts +5 -0
- package/dist/types/root/card/getCardPreview/helpers.d.ts +3 -4
- package/dist/types/root/card/getCardPreview/index.d.ts +24 -14
- package/dist/types/root/card/getCardStatus.d.ts +1 -0
- package/dist/types/root/card/index.d.ts +19 -18
- package/dist/types/root/cardView.d.ts +13 -8
- package/dist/types/root/index.d.ts +1 -0
- package/dist/types/root/inline/loader.d.ts +8 -8
- package/dist/types/root/inline/{inlineMediaCard.d.ts → mediaInlineCard.d.ts} +4 -6
- package/dist/types/root/inlinePlayer.d.ts +1 -1
- package/dist/types/root/styled.d.ts +1 -0
- package/dist/types/root/ui/common.d.ts +4 -1
- package/dist/types/root/ui/iconMessage/index.d.ts +4 -3
- package/dist/types/root/ui/iconWrapper/styled.d.ts +1 -1
- package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +5 -15
- package/dist/types/root/ui/loadingRateLimited/loadingRateLimited.d.ts +2 -1
- package/dist/types/root/ui/loadingRateLimited/styled.d.ts +1 -1
- package/dist/types/root/ui/playButton/playButton.d.ts +1 -0
- package/dist/types/root/ui/progressBar/progressBar.d.ts +2 -1
- package/dist/types/root/ui/progressBar/styled.d.ts +1 -1
- package/dist/types/root/ui/styled.d.ts +10 -3
- package/dist/types/root/ui/tickBox/tickBox.d.ts +1 -0
- package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +3 -1
- package/dist/types/root/ui/titleBox/styled.d.ts +1 -1
- package/dist/types/root/ui/titleBox/titleBox.d.ts +2 -10
- package/dist/types/styles/mixins.d.ts +1 -1
- package/dist/types/types.d.ts +7 -1
- package/dist/types/utils/analytics.d.ts +14 -15
- package/dist/types/utils/cardDimensions.d.ts +4 -4
- package/dist/types/utils/dimensionComparer.d.ts +1 -1
- package/dist/types/utils/getErrorMessage.d.ts +1 -0
- package/dist/types/utils/metadata.d.ts +2 -2
- package/dist/types/utils/objectURLCache.d.ts +2 -1
- package/example-helpers/developmentUseMessage.tsx +14 -0
- package/example-helpers/index.tsx +55 -4
- package/example-helpers/selectableCard.tsx +2 -1
- package/package.json +20 -16
- package/dist/cjs/root/card/cardSSRView.js +0 -99
- package/dist/cjs/root/card/getCardPreview/types.js +0 -5
- package/dist/cjs/root/ui/Breakpoint.js +0 -13
- package/dist/cjs/root/ui/styledSSR.js +0 -108
- package/dist/cjs/utils/fileAttributesContext.js +0 -40
- package/dist/es2019/root/card/cardSSRView.js +0 -79
- package/dist/es2019/root/card/getCardPreview/types.js +0 -1
- package/dist/es2019/root/inline/inlineMediaCard.js +0 -92
- package/dist/es2019/root/ui/Breakpoint.js +0 -6
- package/dist/es2019/root/ui/styledSSR.js +0 -93
- package/dist/es2019/utils/fileAttributesContext.js +0 -19
- package/dist/esm/root/card/cardSSRView.js +0 -78
- package/dist/esm/root/card/getCardPreview/types.js +0 -1
- package/dist/esm/root/inline/inlineMediaCard.js +0 -100
- package/dist/esm/root/ui/Breakpoint.js +0 -6
- package/dist/esm/root/ui/styledSSR.js +0 -76
- package/dist/esm/utils/fileAttributesContext.js +0 -18
- package/dist/types/root/card/cardSSRView.d.ts +0 -12
- package/dist/types/root/card/getCardPreview/types.d.ts +0 -5
- package/dist/types/root/ui/Breakpoint.d.ts +0 -4
- package/dist/types/root/ui/styledSSR.d.ts +0 -16
- package/dist/types/utils/fileAttributesContext.d.ts +0 -10
package/dist/cjs/utils/index.js
CHANGED
|
@@ -5,6 +5,24 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "CardActionIconButton", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _cardActions.CardActionIconButton;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "CardActionsDropdownMenu", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _cardActions.CardActionsDropdownMenu;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "CardActionsView", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _cardActions.CardActionsView;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
8
26
|
Object.defineProperty(exports, "ErrorIcon", {
|
|
9
27
|
enumerable: true,
|
|
10
28
|
get: function get() {
|
|
@@ -17,34 +35,34 @@ Object.defineProperty(exports, "FileIcon", {
|
|
|
17
35
|
return _fileIcon.FileIcon;
|
|
18
36
|
}
|
|
19
37
|
});
|
|
20
|
-
Object.defineProperty(exports, "
|
|
38
|
+
Object.defineProperty(exports, "breakpointSize", {
|
|
21
39
|
enumerable: true,
|
|
22
40
|
get: function get() {
|
|
23
|
-
return
|
|
41
|
+
return _breakpoint.breakpointSize;
|
|
24
42
|
}
|
|
25
43
|
});
|
|
26
|
-
Object.defineProperty(exports, "
|
|
44
|
+
Object.defineProperty(exports, "breakpointStyles", {
|
|
27
45
|
enumerable: true,
|
|
28
46
|
get: function get() {
|
|
29
|
-
return
|
|
47
|
+
return _breakpoint.breakpointStyles;
|
|
30
48
|
}
|
|
31
49
|
});
|
|
32
|
-
Object.defineProperty(exports, "
|
|
50
|
+
Object.defineProperty(exports, "cardBreakpointSizes", {
|
|
33
51
|
enumerable: true,
|
|
34
52
|
get: function get() {
|
|
35
|
-
return
|
|
53
|
+
return _breakpoint.cardBreakpointSizes;
|
|
36
54
|
}
|
|
37
55
|
});
|
|
38
|
-
Object.defineProperty(exports, "
|
|
56
|
+
Object.defineProperty(exports, "containsPixelUnit", {
|
|
39
57
|
enumerable: true,
|
|
40
58
|
get: function get() {
|
|
41
|
-
return
|
|
59
|
+
return _containsPixelUnit.containsPixelUnit;
|
|
42
60
|
}
|
|
43
61
|
});
|
|
44
|
-
Object.defineProperty(exports, "
|
|
62
|
+
Object.defineProperty(exports, "default", {
|
|
45
63
|
enumerable: true,
|
|
46
64
|
get: function get() {
|
|
47
|
-
return
|
|
65
|
+
return _cardActions.default;
|
|
48
66
|
}
|
|
49
67
|
});
|
|
50
68
|
Object.defineProperty(exports, "defaultHorizontalCardDimensions", {
|
|
@@ -95,6 +113,24 @@ Object.defineProperty(exports, "getDefaultCardDimensions", {
|
|
|
95
113
|
return _cardDimensions.getDefaultCardDimensions;
|
|
96
114
|
}
|
|
97
115
|
});
|
|
116
|
+
Object.defineProperty(exports, "getElementDimension", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function get() {
|
|
119
|
+
return _getElementDimension.getElementDimension;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(exports, "isRetina", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function get() {
|
|
125
|
+
return _isRetina.isRetina;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, "isValidPercentageUnit", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function get() {
|
|
131
|
+
return _isValidPercentageUnit.isValidPercentageUnit;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
98
134
|
Object.defineProperty(exports, "maxHorizontalCardDimensions", {
|
|
99
135
|
enumerable: true,
|
|
100
136
|
get: function get() {
|
|
@@ -137,42 +173,6 @@ Object.defineProperty(exports, "minSquareCardDimensions", {
|
|
|
137
173
|
return _cardDimensions.minSquareCardDimensions;
|
|
138
174
|
}
|
|
139
175
|
});
|
|
140
|
-
Object.defineProperty(exports, "breakpointSize", {
|
|
141
|
-
enumerable: true,
|
|
142
|
-
get: function get() {
|
|
143
|
-
return _breakpoint.breakpointSize;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
Object.defineProperty(exports, "breakpointStyles", {
|
|
147
|
-
enumerable: true,
|
|
148
|
-
get: function get() {
|
|
149
|
-
return _breakpoint.breakpointStyles;
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
Object.defineProperty(exports, "cardBreakpointSizes", {
|
|
153
|
-
enumerable: true,
|
|
154
|
-
get: function get() {
|
|
155
|
-
return _breakpoint.cardBreakpointSizes;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
Object.defineProperty(exports, "isValidPercentageUnit", {
|
|
159
|
-
enumerable: true,
|
|
160
|
-
get: function get() {
|
|
161
|
-
return _isValidPercentageUnit.isValidPercentageUnit;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
Object.defineProperty(exports, "getElementDimension", {
|
|
165
|
-
enumerable: true,
|
|
166
|
-
get: function get() {
|
|
167
|
-
return _getElementDimension.getElementDimension;
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
Object.defineProperty(exports, "containsPixelUnit", {
|
|
171
|
-
enumerable: true,
|
|
172
|
-
get: function get() {
|
|
173
|
-
return _containsPixelUnit.containsPixelUnit;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
176
|
|
|
177
177
|
var _errorIcon = require("./errorIcon");
|
|
178
178
|
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.blinkLoadingAnimation = exports.Wrapper = exports.AnimatedWrapper = void 0;
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
@@ -20,8 +20,8 @@ var getProcessingStatusFromFileState = function getProcessingStatusFromFileState
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
var
|
|
24
|
-
return
|
|
23
|
+
var getFileDetailsFromFileState = function getFileDetailsFromFileState(state) {
|
|
24
|
+
return {
|
|
25
25
|
id: state.id,
|
|
26
26
|
name: state.name,
|
|
27
27
|
size: state.size,
|
|
@@ -29,8 +29,16 @@ var getFileDetails = function getFileDetails(state) {
|
|
|
29
29
|
createdAt: state.createdAt,
|
|
30
30
|
mediaType: state.mediaType,
|
|
31
31
|
processingStatus: getProcessingStatusFromFileState(state.status)
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var getFileDetails = function getFileDetails(identifier, fileState) {
|
|
36
|
+
return (0, _mediaClient.isFileIdentifier)(identifier) ? fileState && !(0, _mediaClient.isErrorFileState)(fileState) ? getFileDetailsFromFileState(fileState) : {
|
|
37
|
+
id: identifier.id
|
|
32
38
|
} : {
|
|
33
|
-
id:
|
|
39
|
+
id: identifier.mediaItemType,
|
|
40
|
+
name: identifier.name || identifier.dataURI,
|
|
41
|
+
mediaType: 'image'
|
|
34
42
|
};
|
|
35
43
|
};
|
|
36
44
|
|
|
@@ -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.createObjectURLCache = exports.
|
|
8
|
+
exports.createObjectURLCache = exports.PREVIEW_CACHE_LRU_SIZE = exports.ObjectURLCache = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -86,6 +86,12 @@ var ObjectURLCache = /*#__PURE__*/function () {
|
|
|
86
86
|
value: function set(key, value) {
|
|
87
87
|
this.cache.set(key, value);
|
|
88
88
|
}
|
|
89
|
+
}, {
|
|
90
|
+
key: "remove",
|
|
91
|
+
value: function remove(key) {
|
|
92
|
+
var removed = this.cache.remove(key);
|
|
93
|
+
removed && URL.revokeObjectURL(removed.dataURI);
|
|
94
|
+
}
|
|
89
95
|
}]);
|
|
90
96
|
return ObjectURLCache;
|
|
91
97
|
}();
|
|
@@ -13,7 +13,7 @@ var shouldDisplayImageThumbnail = function shouldDisplayImageThumbnail(cardStatu
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
if (dataURI) {
|
|
16
|
-
return mediaItemType === 'external-image' || mimeType && (0, _mediaClient.isMimeTypeSupportedByBrowser)(mimeType) || cardStatus === 'complete';
|
|
16
|
+
return mediaItemType === 'external-image' || mimeType && (0, _mediaClient.isMimeTypeSupportedByBrowser)(mimeType) || cardStatus === 'complete' || cardStatus === 'loading-preview';
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
return false;
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.createViewportDetector = exports.ViewportDetector = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
package/dist/cjs/version.json
CHANGED
package/dist/es2019/errors.js
CHANGED
|
@@ -27,13 +27,53 @@ export class RemotePreviewError extends MediaCardError {
|
|
|
27
27
|
this.secondaryError = secondaryError;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
}
|
|
31
|
+
export class SsrPreviewError extends MediaCardError {
|
|
32
|
+
constructor(primaryReason, secondaryError) {
|
|
33
|
+
super(primaryReason, secondaryError);
|
|
34
|
+
this.primaryReason = primaryReason;
|
|
35
|
+
this.secondaryError = secondaryError;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
export const getImageLoadPrimaryReason = source => {
|
|
40
|
+
switch (source) {
|
|
41
|
+
case 'cache-remote':
|
|
42
|
+
return 'cache-remote-uri';
|
|
43
|
+
|
|
44
|
+
case 'cache-local':
|
|
45
|
+
return 'cache-local-uri';
|
|
46
|
+
|
|
47
|
+
case 'external':
|
|
48
|
+
return 'external-uri';
|
|
49
|
+
|
|
50
|
+
case 'local':
|
|
51
|
+
return 'local-uri';
|
|
52
|
+
|
|
53
|
+
case 'remote':
|
|
54
|
+
return 'remote-uri';
|
|
55
|
+
// This fail reason will come from a bug, most likely.
|
|
56
|
+
|
|
57
|
+
default:
|
|
58
|
+
return `unknown-uri`;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export class ImageLoadError extends MediaCardError {
|
|
62
|
+
constructor(source) {
|
|
63
|
+
super(getImageLoadPrimaryReason(source));
|
|
64
|
+
}
|
|
65
|
+
|
|
30
66
|
}
|
|
31
67
|
export function isMediaCardError(err) {
|
|
32
68
|
return err instanceof MediaCardError;
|
|
33
69
|
}
|
|
34
70
|
export const isLocalPreviewError = err => err instanceof LocalPreviewError;
|
|
35
71
|
export const isRemotePreviewError = err => err instanceof RemotePreviewError;
|
|
36
|
-
export const isUnsupportedLocalPreviewError = err => isMediaCardError(err) && err.primaryReason === 'local-preview-unsupported';
|
|
72
|
+
export const isUnsupportedLocalPreviewError = err => isMediaCardError(err) && err.primaryReason === 'local-preview-unsupported';
|
|
73
|
+
export function isImageLoadError(err) {
|
|
74
|
+
return err instanceof ImageLoadError;
|
|
75
|
+
} // In a try/catch statement, the error caught is the type of any.
|
|
37
76
|
// We can use this helper to ensure that the error handled is the type of MediaCardError if unsure
|
|
38
77
|
|
|
39
|
-
export const ensureMediaCardError = (primaryReason, error) => isMediaCardError(error) ? error : new MediaCardError(primaryReason, error);
|
|
78
|
+
export const ensureMediaCardError = (primaryReason, error) => isMediaCardError(error) ? error : new MediaCardError(primaryReason, error);
|
|
79
|
+
export const isUploadError = error => error && error.primaryReason === 'upload';
|
|
@@ -9,12 +9,9 @@ import { CardLoading } from '../../utils/lightCards/cardLoading';
|
|
|
9
9
|
import { shouldDisplayImageThumbnail } from '../../utils/shouldDisplayImageThumbnail';
|
|
10
10
|
import { ProgressBar } from '../../utils/progressBar';
|
|
11
11
|
import CardActions from '../../utils/cardActions';
|
|
12
|
-
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
13
|
-
import { fireMediaCardEvent, RenderEventAction, getRenderSucceededEventPayload, getRenderFailedFileUriPayload, getRenderFailedExternalUriPayload } from '../../utils/analytics';
|
|
14
|
-
import { withFileAttributes } from '../../utils/fileAttributesContext';
|
|
15
12
|
export const fileCardImageViewSelector = 'media-file-card-view';
|
|
16
13
|
export const fileCardImageViewSelectedSelector = 'media-file-card-view-selected';
|
|
17
|
-
export class
|
|
14
|
+
export class FileCardImageView extends Component {
|
|
18
15
|
constructor(...args) {
|
|
19
16
|
super(...args);
|
|
20
17
|
|
|
@@ -141,54 +138,6 @@ export class FileCardImageViewBase extends Component {
|
|
|
141
138
|
})));
|
|
142
139
|
});
|
|
143
140
|
|
|
144
|
-
_defineProperty(this, "onImageLoad", () => {
|
|
145
|
-
const {
|
|
146
|
-
createAnalyticsEvent,
|
|
147
|
-
fileAttributes,
|
|
148
|
-
timeElapsedTillCommenced
|
|
149
|
-
} = this.props;
|
|
150
|
-
|
|
151
|
-
if (fileAttributes && this.shouldFireEvent(RenderEventAction.SUCCEEDED)) {
|
|
152
|
-
const timeElapsedTillSucceeded = performance.now();
|
|
153
|
-
const durationSinceCommenced = timeElapsedTillCommenced && timeElapsedTillSucceeded - timeElapsedTillCommenced;
|
|
154
|
-
const performanceAttributes = {
|
|
155
|
-
overall: {
|
|
156
|
-
durationSincePageStart: timeElapsedTillSucceeded,
|
|
157
|
-
durationSinceCommenced
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
fireMediaCardEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
_defineProperty(this, "onImageError", () => {
|
|
165
|
-
const {
|
|
166
|
-
fileAttributes
|
|
167
|
-
} = this.props;
|
|
168
|
-
|
|
169
|
-
if (fileAttributes && this.shouldFireEvent(RenderEventAction.FAILED)) {
|
|
170
|
-
const {
|
|
171
|
-
createAnalyticsEvent,
|
|
172
|
-
mediaItemType,
|
|
173
|
-
timeElapsedTillCommenced
|
|
174
|
-
} = this.props;
|
|
175
|
-
const timeElapsedTillFailed = performance.now();
|
|
176
|
-
const durationSinceCommenced = timeElapsedTillCommenced && timeElapsedTillFailed - timeElapsedTillCommenced;
|
|
177
|
-
const performanceAttributes = {
|
|
178
|
-
overall: {
|
|
179
|
-
durationSincePageStart: timeElapsedTillFailed,
|
|
180
|
-
durationSinceCommenced
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
if (mediaItemType === 'file') {
|
|
185
|
-
fireMediaCardEvent(getRenderFailedFileUriPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
|
|
186
|
-
} else if (mediaItemType === 'external-image') {
|
|
187
|
-
fireMediaCardEvent(getRenderFailedExternalUriPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
|
|
192
141
|
_defineProperty(this, "renderMediaImage", () => {
|
|
193
142
|
const {
|
|
194
143
|
status,
|
|
@@ -198,7 +147,9 @@ export class FileCardImageViewBase extends Component {
|
|
|
198
147
|
mimeType,
|
|
199
148
|
previewOrientation,
|
|
200
149
|
onDisplayImage,
|
|
201
|
-
alt
|
|
150
|
+
alt,
|
|
151
|
+
onImageLoad,
|
|
152
|
+
onImageError
|
|
202
153
|
} = this.props;
|
|
203
154
|
|
|
204
155
|
if (!shouldDisplayImageThumbnail(status, mediaItemType, dataURI, mediaType, mimeType)) {
|
|
@@ -216,13 +167,11 @@ export class FileCardImageViewBase extends Component {
|
|
|
216
167
|
crop: this.isCropped,
|
|
217
168
|
stretch: this.isStretched,
|
|
218
169
|
previewOrientation: previewOrientation,
|
|
219
|
-
onImageLoad:
|
|
220
|
-
onImageError:
|
|
170
|
+
onImageLoad: onImageLoad,
|
|
171
|
+
onImageError: onImageError
|
|
221
172
|
});
|
|
222
173
|
});
|
|
223
174
|
|
|
224
|
-
_defineProperty(this, "shouldFireEvent", action => !this.lastAnalyticsAction || this.lastAnalyticsAction !== action);
|
|
225
|
-
|
|
226
175
|
_defineProperty(this, "renderProgressBar", () => {
|
|
227
176
|
const {
|
|
228
177
|
mediaName,
|
|
@@ -345,9 +294,7 @@ export class FileCardImageViewBase extends Component {
|
|
|
345
294
|
|
|
346
295
|
}
|
|
347
296
|
|
|
348
|
-
_defineProperty(
|
|
297
|
+
_defineProperty(FileCardImageView, "defaultProps", {
|
|
349
298
|
resizeMode: 'crop',
|
|
350
299
|
disableOverlay: false
|
|
351
|
-
});
|
|
352
|
-
|
|
353
|
-
export const FileCardImageView = withAnalyticsEvents()(withFileAttributes(FileCardImageViewBase));
|
|
300
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FileCardImageView
|
|
1
|
+
export { FileCardImageView } from './cardImageView';
|
package/dist/es2019/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Card } from './root';
|
|
1
|
+
export { Card, MediaInlineCard } from './root';
|
|
2
2
|
export { CardLoading } from './utils/lightCards/cardLoading';
|
|
3
3
|
export { CardError } from './utils/lightCards/cardError';
|
|
4
4
|
export { defaultImageCardDimensions } from './utils/cardDimensions';
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import { fireMediaCardEvent, getRenderSucceededEventPayload, getRenderErrorEventPayload, getRenderFailedFileStatusPayload, getCopiedFilePayload, getRenderCommencedEventPayload } from '../../utils/analytics';
|
|
2
|
-
export const relevantFeatureFlagNames = ['newCardExperience', '
|
|
3
|
-
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, {
|
|
4
|
-
cardPreview,
|
|
5
|
-
error
|
|
6
|
-
} = {}) => {
|
|
1
|
+
import { fireMediaCardEvent, getRenderSucceededEventPayload, getRenderErrorEventPayload, getRenderFailedFileStatusPayload, getCopiedFilePayload, getRenderCommencedEventPayload, getRenderPreviewableCardPayload } from '../../utils/analytics';
|
|
2
|
+
export const relevantFeatureFlagNames = ['newCardExperience', 'captions'];
|
|
3
|
+
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, error) => {
|
|
7
4
|
const fireEvent = payload => fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
8
5
|
|
|
9
6
|
switch (status) {
|
|
10
7
|
case 'complete':
|
|
11
|
-
|
|
12
|
-
* A Card that is considered Complete and has no preview,
|
|
13
|
-
* reflects an expected behaviour, and thus a legitimate
|
|
14
|
-
* success case to be logged.
|
|
15
|
-
*/
|
|
16
|
-
if (!(cardPreview !== null && cardPreview !== void 0 && cardPreview.dataURI)) {
|
|
17
|
-
fireEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes));
|
|
18
|
-
}
|
|
19
|
-
|
|
8
|
+
fireEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes));
|
|
20
9
|
break;
|
|
21
10
|
|
|
22
11
|
case 'failed-processing':
|
|
@@ -41,4 +30,7 @@ export const fireCopiedEvent = (createAnalyticsEvent, fileId, cardRef) => {
|
|
|
41
30
|
fireMediaCardEvent(getCopiedFilePayload(fileId), createAnalyticsEvent);
|
|
42
31
|
}
|
|
43
32
|
}
|
|
33
|
+
};
|
|
34
|
+
export const fireScreenEvent = (createAnalyticsEvent, fileAttributes) => {
|
|
35
|
+
fireMediaCardEvent(getRenderPreviewableCardPayload(fileAttributes), createAnalyticsEvent);
|
|
44
36
|
};
|
|
@@ -1,59 +1,53 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import { useMemoizeFeatureFlags } from '@atlaskit/media-common';
|
|
4
|
+
import Loadable from 'react-loadable';
|
|
3
5
|
import { CardLoading } from '../..';
|
|
4
|
-
|
|
5
|
-
constructor(...args) {
|
|
6
|
-
super(...args);
|
|
6
|
+
const MediaCardContext = /*#__PURE__*/React.createContext({});
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
8
|
+
const CardLoadingWithContext = () => {
|
|
9
|
+
const props = useContext(MediaCardContext);
|
|
10
|
+
return /*#__PURE__*/React.createElement(CardLoading, props);
|
|
11
|
+
};
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
13
|
+
const MediaCard = Loadable({
|
|
14
|
+
loader: () => import(
|
|
15
|
+
/* webpackChunkName: "@atlaskit-internal_media-card" */
|
|
16
|
+
'./index').then(mod => mod.Card),
|
|
17
|
+
loading: () => /*#__PURE__*/React.createElement(CardLoadingWithContext, null)
|
|
18
|
+
});
|
|
19
|
+
const MediaCardErrorBoundary = Loadable({
|
|
20
|
+
loader: () => import(
|
|
21
|
+
/* webpackChunkName: "@atlaskit-internal_media-card-error-boundary" */
|
|
22
|
+
'../media-card-analytics-error-boundary').then(mod => mod.default),
|
|
23
|
+
loading: () => /*#__PURE__*/React.createElement(CardLoadingWithContext, null)
|
|
24
|
+
});
|
|
25
|
+
const MediaCardWithMediaClient = Loadable({
|
|
26
|
+
loader: () => import(
|
|
27
|
+
/* webpackChunkName: "@atlaskit-internal_media-client" */
|
|
28
|
+
'@atlaskit/media-client'),
|
|
29
|
+
loading: () => /*#__PURE__*/React.createElement(CardLoadingWithContext, null),
|
|
30
|
+
render: (loaded, props) => /*#__PURE__*/React.createElement(CardWithMediaClient, _extends({}, props, {
|
|
31
|
+
withMediaClient: loaded.withMediaClient
|
|
32
|
+
}))
|
|
33
|
+
});
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
const CardWithMediaClient = props => {
|
|
36
|
+
const {
|
|
37
|
+
withMediaClient,
|
|
38
|
+
featureFlags
|
|
39
|
+
} = props;
|
|
40
|
+
const memoizedFeatureFlags = useMemoizeFeatureFlags(featureFlags);
|
|
41
|
+
const Card = React.useMemo(() => {
|
|
42
|
+
return withMediaClient(MediaCard, memoizedFeatureFlags);
|
|
43
|
+
}, [withMediaClient, memoizedFeatureFlags]);
|
|
44
|
+
return /*#__PURE__*/React.createElement(MediaCardErrorBoundary, null, /*#__PURE__*/React.createElement(Card, props));
|
|
45
|
+
};
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
52
|
-
}
|
|
47
|
+
const CardLoader = props => {
|
|
48
|
+
return /*#__PURE__*/React.createElement(MediaCardContext.Provider, {
|
|
49
|
+
value: props
|
|
50
|
+
}, /*#__PURE__*/React.createElement(MediaCardWithMediaClient, props));
|
|
51
|
+
};
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
_defineProperty(CardLoader, "displayName", 'AsyncCard');
|
|
53
|
+
export default CardLoader;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isErrorFileState } from '@atlaskit/media-client';
|
|
2
|
+
import { MediaCardError } from '../../errors';
|
|
3
|
+
import { getCardStatus, isFinalCardStatus } from './getCardStatus';
|
|
4
|
+
import { extractFilePreviewStatus } from './getCardPreview';
|
|
5
|
+
export const createStateUpdater = newState => prevState => {
|
|
6
|
+
// Only override if previous status is non-final
|
|
7
|
+
// or new status is 'complete'
|
|
8
|
+
if (isFinalCardStatus(prevState.status) && newState.status !== 'complete') {
|
|
9
|
+
return prevState;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return { ...prevState,
|
|
13
|
+
...newState
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export const getCardStateFromFileState = (fileState, isBannedLocalPreview, featureFlags) => {
|
|
17
|
+
const status = getCardStatus(fileState.status, extractFilePreviewStatus(fileState, isBannedLocalPreview, featureFlags));
|
|
18
|
+
const error = status === 'error' && isErrorFileState(fileState) ? new MediaCardError('error-file-state', new Error(fileState.message)) : undefined;
|
|
19
|
+
const progress = status === 'uploading' && fileState.status === 'uploading' ? fileState.progress : 1;
|
|
20
|
+
return {
|
|
21
|
+
fileState,
|
|
22
|
+
status,
|
|
23
|
+
progress,
|
|
24
|
+
error
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -17,6 +17,11 @@ export class CardPreviewCacheImpl {
|
|
|
17
17
|
this.previewCache.set(cacheKey, cardPreview);
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
+
_defineProperty(this, "remove", (id, dimensions) => {
|
|
21
|
+
const cacheKey = getCacheKey(id, dimensions);
|
|
22
|
+
this.previewCache.remove(cacheKey);
|
|
23
|
+
});
|
|
24
|
+
|
|
20
25
|
this.previewCache = previewCache;
|
|
21
26
|
}
|
|
22
27
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isMimeTypeSupportedByBrowser } from '@atlaskit/media-common';
|
|
2
|
+
import { isPreviewableFileState, isPreviewableType, isImageRepresentationReady } from '@atlaskit/media-client';
|
|
3
|
+
import { isSupportedLocalPreview } from './helpers'; // TODO: align these checks with helpers from Media Client
|
|
4
|
+
// https://product-fabric.atlassian.net/browse/BMPT-1300
|
|
5
|
+
|
|
6
|
+
export const extractFilePreviewStatus = (fileState, isBannedLocalPreview, featureFlags) => {
|
|
7
|
+
const hasFilesize = 'size' in fileState && !!fileState.size;
|
|
8
|
+
const {
|
|
9
|
+
mediaType
|
|
10
|
+
} = 'mediaType' in fileState && fileState || {};
|
|
11
|
+
const {
|
|
12
|
+
mimeType
|
|
13
|
+
} = 'mimeType' in fileState && fileState || {};
|
|
14
|
+
const isPreviewable = !!mediaType && isPreviewableType(mediaType, featureFlags); // Local preview is available only if it's supported by browser and supported by Media Card (isSupportedLocalPreview)
|
|
15
|
+
// For example, SVGs are mime type NOT supported by browser but media type supported by Media Card (image)
|
|
16
|
+
// Then, local Preview NOT available
|
|
17
|
+
|
|
18
|
+
const hasLocalPreview = !isBannedLocalPreview && isPreviewableFileState(fileState) && isSupportedLocalPreview(mediaType) && !!mimeType && isMimeTypeSupportedByBrowser(mimeType);
|
|
19
|
+
const hasRemotePreview = isImageRepresentationReady(fileState);
|
|
20
|
+
const hasPreview = hasLocalPreview || hasRemotePreview;
|
|
21
|
+
const isSupportedByBrowser = !!mimeType && isMimeTypeSupportedByBrowser(mimeType);
|
|
22
|
+
return {
|
|
23
|
+
hasFilesize,
|
|
24
|
+
isPreviewable,
|
|
25
|
+
hasPreview,
|
|
26
|
+
isSupportedByBrowser
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export const isPreviewableStatus = (cardStatus, {
|
|
30
|
+
isPreviewable,
|
|
31
|
+
hasPreview,
|
|
32
|
+
isSupportedByBrowser
|
|
33
|
+
}) => {
|
|
34
|
+
return hasPreview && isPreviewable && (cardStatus === 'complete' || cardStatus === 'loading-preview' || cardStatus === 'uploading' || // For Video, we can have local or remote preview while processing.
|
|
35
|
+
// Then, we only want to show the thumbnail if the file is supported by the browser,
|
|
36
|
+
// this way we prevent playing unsupported videos that are not procesed
|
|
37
|
+
cardStatus === 'processing' && isSupportedByBrowser);
|
|
38
|
+
};
|
|
@@ -69,19 +69,9 @@ export const getCardPreviewFromFilePreview = async filePreview => {
|
|
|
69
69
|
|
|
70
70
|
throw new LocalPreviewError('local-preview-unsupported');
|
|
71
71
|
};
|
|
72
|
-
export const getCardPreviewFromBackend = async (mediaClient, id, {
|
|
73
|
-
width,
|
|
74
|
-
height
|
|
75
|
-
}, collectionName, resizeMode) => {
|
|
72
|
+
export const getCardPreviewFromBackend = async (mediaClient, id, params) => {
|
|
76
73
|
try {
|
|
77
|
-
const
|
|
78
|
-
const blob = await mediaClient.getImage(id, {
|
|
79
|
-
collection: collectionName,
|
|
80
|
-
mode,
|
|
81
|
-
width,
|
|
82
|
-
height,
|
|
83
|
-
allowAnimated: true
|
|
84
|
-
});
|
|
74
|
+
const blob = await mediaClient.getImage(id, params);
|
|
85
75
|
return {
|
|
86
76
|
dataURI: URL.createObjectURL(blob),
|
|
87
77
|
orientation: 1,
|