@atlaskit/media-card 71.0.0 → 73.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +104 -0
- package/dist/cjs/actions.js +2 -2
- package/dist/cjs/errors.js +83 -8
- 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 +8 -8
- package/dist/cjs/root/card/cardAnalytics.js +4 -16
- 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 +10 -5
- 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 +177 -97
- package/dist/cjs/root/card/getCardStatus.js +7 -1
- package/dist/cjs/root/card/index.js +384 -285
- package/dist/cjs/root/cardView.js +113 -88
- package/dist/cjs/root/inline/loader.js +47 -15
- package/dist/cjs/root/inline/mediaInlineCard.js +33 -12
- package/dist/cjs/root/inlinePlayer.js +77 -24
- 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 +47 -123
- package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +6 -4
- package/dist/cjs/root/ui/loadingRateLimited/styled.js +2 -2
- package/dist/cjs/root/ui/playButton/styled.js +1 -1
- package/dist/cjs/root/ui/progressBar/progressBar.js +7 -4
- package/dist/cjs/root/ui/progressBar/styled.js +8 -9
- 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 +7 -44
- package/dist/cjs/utils/breakpoint.js +1 -1
- package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +18 -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 +49 -22
- 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/root/card/cardAnalytics.js +3 -14
- 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 -73
- package/dist/es2019/root/card/getCardStatus.js +1 -0
- package/dist/es2019/root/card/index.js +308 -190
- package/dist/es2019/root/cardView.js +97 -68
- package/dist/es2019/root/inline/loader.js +17 -5
- package/dist/es2019/root/inline/mediaInlineCard.js +32 -11
- package/dist/es2019/root/inlinePlayer.js +56 -4
- 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 +35 -88
- package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/es2019/root/ui/loadingRateLimited/styled.js +1 -1
- package/dist/es2019/root/ui/progressBar/progressBar.js +5 -3
- package/dist/es2019/root/ui/progressBar/styled.js +7 -6
- package/dist/es2019/root/ui/styled.js +65 -4
- 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 +5 -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/utils/viewportDetector.js +48 -18
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions.js +2 -2
- package/dist/esm/errors.js +64 -4
- package/dist/esm/files/cardImageView/index.js +51 -102
- package/dist/esm/files/index.js +1 -1
- package/dist/esm/root/card/cardAnalytics.js +3 -15
- 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 +9 -2
- 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 +144 -91
- package/dist/esm/root/card/getCardStatus.js +3 -0
- package/dist/esm/root/card/index.js +396 -288
- package/dist/esm/root/cardView.js +113 -86
- package/dist/esm/root/inline/loader.js +48 -15
- package/dist/esm/root/inline/mediaInlineCard.js +32 -11
- package/dist/esm/root/inlinePlayer.js +74 -23
- 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 +37 -116
- package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
- package/dist/esm/root/ui/loadingRateLimited/styled.js +1 -1
- package/dist/esm/root/ui/progressBar/progressBar.js +6 -3
- package/dist/esm/root/ui/progressBar/styled.js +7 -7
- 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 +5 -36
- package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +17 -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/utils/viewportDetector.js +48 -21
- 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 -4
- package/dist/types/root/card/cardAnalytics.d.ts +1 -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 +20 -18
- package/dist/types/root/cardView.d.ts +13 -8
- package/dist/types/root/inline/loader.d.ts +2 -0
- package/dist/types/root/inline/mediaInlineCard.d.ts +3 -5
- package/dist/types/root/inlinePlayer.d.ts +8 -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 +14 -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 +4 -2
- package/dist/types/root/ui/progressBar/styled.d.ts +3 -2
- 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 +6 -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/dist/types/utils/viewportDetector.d.ts +13 -5
- package/example-helpers/developmentUseMessage.tsx +14 -0
- package/example-helpers/index.tsx +55 -4
- package/example-helpers/selectableCard.tsx +2 -1
- package/package.json +18 -16
- package/dist/cjs/root/card/cardSSRView.js +0 -112
- 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/cjs/utils/lazyContent/index.js +0 -56
- package/dist/cjs/utils/lazyContent/styled.js +0 -23
- package/dist/es2019/root/card/cardSSRView.js +0 -92
- package/dist/es2019/root/card/getCardPreview/types.js +0 -1
- 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/es2019/utils/lazyContent/index.js +0 -18
- package/dist/es2019/utils/lazyContent/styled.js +0 -12
- package/dist/esm/root/card/cardSSRView.js +0 -91
- package/dist/esm/root/card/getCardPreview/types.js +0 -1
- 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/esm/utils/lazyContent/index.js +0 -41
- package/dist/esm/utils/lazyContent/styled.js +0 -14
- package/dist/types/root/card/cardSSRView.d.ts +0 -13
- 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/types/utils/lazyContent/index.d.ts +0 -11
- package/dist/types/utils/lazyContent/styled.d.ts +0 -5
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,12 +5,10 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.ViewportDetector = exports.
|
|
8
|
+
exports.ViewportDetector = exports.ViewportAnchor = exports.ABS_VIEWPORT_ANCHOR_OFFSET_TOP = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var _lazyContent = require("./lazyContent");
|
|
13
|
-
|
|
14
12
|
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); }
|
|
15
13
|
|
|
16
14
|
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; }
|
|
@@ -21,6 +19,29 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
21
19
|
|
|
22
20
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
21
|
|
|
22
|
+
/**
|
|
23
|
+
* As IntersectionObserver::rootMargin doesn't work within IFrames, we use an empty div + dynamic offsetTop to eagerly detect cards entering viewport.
|
|
24
|
+
* Using this approach, we can lazy load cards ABS_VIEWPORT_ANCHOR_OFFSET_TOP px before they enter viewport.
|
|
25
|
+
*/
|
|
26
|
+
var ABS_VIEWPORT_ANCHOR_OFFSET_TOP = 900; //px
|
|
27
|
+
|
|
28
|
+
exports.ABS_VIEWPORT_ANCHOR_OFFSET_TOP = ABS_VIEWPORT_ANCHOR_OFFSET_TOP;
|
|
29
|
+
var ViewportAnchor = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
30
|
+
if (typeof IntersectionObserver === 'undefined') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
+
ref: ref,
|
|
36
|
+
className: "media-card-viewport-anchor",
|
|
37
|
+
style: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
top: "".concat(props.offsetTop, "px")
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
exports.ViewportAnchor = ViewportAnchor;
|
|
44
|
+
|
|
24
45
|
var createIntersectionObserverCallback = function createIntersectionObserverCallback(onVisible) {
|
|
25
46
|
return function (entries, observer) {
|
|
26
47
|
var _iterator = _createForOfIteratorHelper(entries),
|
|
@@ -44,36 +65,42 @@ var createIntersectionObserverCallback = function createIntersectionObserverCall
|
|
|
44
65
|
};
|
|
45
66
|
};
|
|
46
67
|
|
|
47
|
-
var
|
|
68
|
+
var ViewportObserver = function ViewportObserver(_ref) {
|
|
48
69
|
var onVisible = _ref.onVisible,
|
|
70
|
+
cardEl = _ref.cardEl,
|
|
49
71
|
children = _ref.children,
|
|
50
|
-
|
|
72
|
+
preAnchorRef = _ref.preAnchorRef,
|
|
73
|
+
postAnchorRef = _ref.postAnchorRef;
|
|
51
74
|
(0, _react.useEffect)(function () {
|
|
52
75
|
// IntersectionObserver uses root and target elements to detect intersections, defaulting root to the viewport
|
|
53
76
|
var intersectionObserver = new IntersectionObserver(createIntersectionObserverCallback(onVisible));
|
|
54
|
-
|
|
77
|
+
(preAnchorRef === null || preAnchorRef === void 0 ? void 0 : preAnchorRef.current) && intersectionObserver.observe(preAnchorRef.current);
|
|
78
|
+
(postAnchorRef === null || postAnchorRef === void 0 ? void 0 : postAnchorRef.current) && intersectionObserver.observe(postAnchorRef.current);
|
|
79
|
+
cardEl && intersectionObserver.observe(cardEl);
|
|
55
80
|
return function () {
|
|
56
81
|
intersectionObserver.disconnect();
|
|
57
82
|
};
|
|
58
|
-
}, [
|
|
83
|
+
}, [cardEl, preAnchorRef, postAnchorRef, onVisible]);
|
|
59
84
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
60
85
|
};
|
|
61
86
|
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
87
|
+
var ViewportDetector = function ViewportDetector(_ref2) {
|
|
88
|
+
var cardEl = _ref2.cardEl,
|
|
89
|
+
preAnchorRef = _ref2.preAnchorRef,
|
|
90
|
+
postAnchorRef = _ref2.postAnchorRef,
|
|
91
|
+
onVisible = _ref2.onVisible,
|
|
92
|
+
children = _ref2.children;
|
|
93
|
+
|
|
94
|
+
if (typeof IntersectionObserver === 'undefined') {
|
|
95
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(ViewportObserver, {
|
|
99
|
+
cardEl: cardEl,
|
|
100
|
+
preAnchorRef: preAnchorRef,
|
|
101
|
+
postAnchorRef: postAnchorRef,
|
|
102
|
+
onVisible: onVisible
|
|
103
|
+
}, children);
|
|
75
104
|
};
|
|
76
105
|
|
|
77
|
-
exports.createViewportDetector = createViewportDetector;
|
|
78
|
-
var ViewportDetector = createViewportDetector(typeof IntersectionObserver !== 'undefined');
|
|
79
106
|
exports.ViewportDetector = ViewportDetector;
|
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';
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { fireMediaCardEvent, getRenderSucceededEventPayload, getRenderErrorEventPayload, getRenderFailedFileStatusPayload, getCopiedFilePayload, getRenderCommencedEventPayload, getRenderPreviewableCardPayload } from '../../utils/analytics';
|
|
2
|
-
export const relevantFeatureFlagNames = ['newCardExperience', '
|
|
3
|
-
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, {
|
|
4
|
-
cardPreview,
|
|
5
|
-
error
|
|
6
|
-
} = {}) => {
|
|
2
|
+
export const relevantFeatureFlagNames = ['newCardExperience', 'captions', 'timestampOnVideo'];
|
|
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':
|
|
@@ -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
|
|