@atlaskit/media-card 77.4.10 → 77.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/card/card.js +1 -1
- package/dist/cjs/card/cardLoader.js +3 -47
- package/dist/cjs/card/cardWithMediaClient.js +26 -0
- package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/cjs/card/v2/cardV2.js +1 -1
- package/dist/cjs/card/v2/cardV2Loader.js +3 -54
- package/dist/cjs/card/v2/cardViewV2.js +7 -6
- package/dist/cjs/card/v2/cardWithMediaClientV2.js +34 -0
- package/dist/cjs/card/v2/useFilePreview/errors.js +132 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/cache.js +39 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/filePreviewStatus.js +45 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/getPreview.js +119 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/helpers.js +167 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/index.js +62 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/objectURLCache.js +85 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/videoSnapshot.js +58 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/getSSRData.js +14 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/globalScope.js +66 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/index.js +37 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/printScript.js +32 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/types.js +5 -0
- package/dist/cjs/card/v2/useFilePreview/helpers.js +64 -0
- package/dist/cjs/card/v2/useFilePreview/index.js +12 -0
- package/dist/cjs/card/v2/useFilePreview/types.js +5 -0
- package/dist/cjs/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +58 -194
- package/dist/cjs/inline/loader.js +1 -1
- package/dist/cjs/utils/ufoExperiences.js +1 -1
- package/dist/es2019/card/card.js +1 -1
- package/dist/es2019/card/cardLoader.js +2 -32
- package/dist/es2019/card/cardWithMediaClient.js +21 -0
- package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/es2019/card/v2/cardV2.js +1 -1
- package/dist/es2019/card/v2/cardV2Loader.js +2 -35
- package/dist/es2019/card/v2/cardViewV2.js +7 -6
- package/dist/es2019/card/v2/cardWithMediaClientV2.js +25 -0
- package/dist/es2019/card/v2/useFilePreview/errors.js +81 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/cache.js +30 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/filePreviewStatus.js +43 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/getPreview.js +75 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/helpers.js +76 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/index.js +3 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/objectURLCache.js +44 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/videoSnapshot.js +36 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/getSSRData.js +8 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/globalScope.js +48 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/index.js +2 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/printScript.js +16 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/types.js +1 -0
- package/dist/es2019/card/v2/useFilePreview/helpers.js +61 -0
- package/dist/es2019/card/v2/useFilePreview/index.js +1 -0
- package/dist/es2019/card/v2/useFilePreview/types.js +1 -0
- package/dist/es2019/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +18 -132
- package/dist/es2019/inline/loader.js +1 -1
- package/dist/es2019/utils/ufoExperiences.js +1 -1
- package/dist/esm/card/card.js +1 -1
- package/dist/esm/card/cardLoader.js +3 -43
- package/dist/esm/card/cardWithMediaClient.js +19 -0
- package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/esm/card/v2/cardV2.js +1 -1
- package/dist/esm/card/v2/cardV2Loader.js +3 -50
- package/dist/esm/card/v2/cardViewV2.js +7 -6
- package/dist/esm/card/v2/cardWithMediaClientV2.js +27 -0
- package/dist/esm/card/v2/useFilePreview/errors.js +124 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/cache.js +32 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/filePreviewStatus.js +40 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/getPreview.js +112 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/helpers.js +160 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/index.js +3 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/objectURLCache.js +78 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/videoSnapshot.js +51 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/getSSRData.js +8 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/globalScope.js +56 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/index.js +2 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/printScript.js +25 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/types.js +1 -0
- package/dist/esm/card/v2/useFilePreview/helpers.js +57 -0
- package/dist/esm/card/v2/useFilePreview/index.js +1 -0
- package/dist/esm/card/v2/useFilePreview/types.js +1 -0
- package/dist/esm/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +41 -177
- package/dist/esm/inline/loader.js +1 -1
- package/dist/esm/utils/ufoExperiences.js +1 -1
- package/dist/types/card/cardLoader.d.ts +1 -3
- package/dist/types/card/cardSwitcher.d.ts +1 -1
- package/dist/types/card/cardWithMediaClient.d.ts +3 -0
- package/dist/types/card/types.d.ts +3 -0
- package/dist/types/card/v2/cardV2Loader.d.ts +1 -1
- package/dist/types/card/v2/cardViewV2.d.ts +5 -4
- package/dist/types/card/v2/cardWithMediaClientV2.d.ts +3 -0
- package/dist/types/card/v2/useFilePreview/errors.d.ts +38 -0
- package/dist/types/card/v2/useFilePreview/getPreview/cache.d.ts +21 -0
- package/dist/types/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +4 -0
- package/dist/types/card/v2/useFilePreview/getPreview/getPreview.d.ts +9 -0
- package/dist/types/card/v2/useFilePreview/getPreview/helpers.d.ts +10 -0
- package/dist/types/card/v2/useFilePreview/getPreview/index.d.ts +3 -0
- package/dist/types/card/v2/useFilePreview/getPreview/objectURLCache.d.ts +12 -0
- package/dist/types/card/v2/useFilePreview/getPreview/videoSnapshot.d.ts +1 -0
- package/dist/types/card/v2/useFilePreview/globalScope/getSSRData.d.ts +3 -0
- package/dist/types/card/v2/useFilePreview/globalScope/globalScope.d.ts +15 -0
- package/dist/types/card/v2/useFilePreview/globalScope/index.d.ts +4 -0
- package/dist/types/card/v2/useFilePreview/globalScope/printScript.d.ts +2 -0
- package/dist/types/card/v2/useFilePreview/globalScope/types.d.ts +8 -0
- package/dist/types/card/v2/useFilePreview/helpers.d.ts +11 -0
- package/dist/types/card/v2/useFilePreview/index.d.ts +2 -0
- package/dist/types/card/v2/useFilePreview/types.d.ts +18 -0
- package/dist/{types-ts4.5/card/v2 → types/card/v2/useFilePreview}/useFilePreview.d.ts +8 -8
- package/dist/types-ts4.5/card/cardLoader.d.ts +1 -3
- package/dist/types-ts4.5/card/cardSwitcher.d.ts +1 -1
- package/dist/types-ts4.5/card/cardWithMediaClient.d.ts +3 -0
- package/dist/types-ts4.5/card/types.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/cardV2Loader.d.ts +1 -1
- package/dist/types-ts4.5/card/v2/cardViewV2.d.ts +5 -4
- package/dist/types-ts4.5/card/v2/cardWithMediaClientV2.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/errors.d.ts +38 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/cache.d.ts +21 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +4 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/getPreview.d.ts +9 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/helpers.d.ts +10 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/index.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/objectURLCache.d.ts +12 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/videoSnapshot.d.ts +1 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/getSSRData.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/globalScope.d.ts +15 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/index.d.ts +4 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/printScript.d.ts +2 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/types.d.ts +8 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/helpers.d.ts +11 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/index.d.ts +2 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/types.d.ts +18 -0
- package/dist/{types/card/v2 → types-ts4.5/card/v2/useFilePreview}/useFilePreview.d.ts +8 -8
- package/package.json +1 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.isSupportedLocalPreview = exports.getRemotePreview = exports.getLocalPreview = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _videoSnapshot = require("./videoSnapshot");
|
|
11
|
+
var _mediaCommon = require("@atlaskit/media-common");
|
|
12
|
+
var _mediaUi = require("@atlaskit/media-ui");
|
|
13
|
+
var _errors = require("../errors");
|
|
14
|
+
/**
|
|
15
|
+
* This method tells the support for the media
|
|
16
|
+
* types covered in getCardPreviewFromFilePreview
|
|
17
|
+
*/
|
|
18
|
+
var isSupportedLocalPreview = exports.isSupportedLocalPreview = function isSupportedLocalPreview(mediaType) {
|
|
19
|
+
return mediaType === 'image' || mediaType === 'video';
|
|
20
|
+
};
|
|
21
|
+
var getImageLocalPreview = /*#__PURE__*/function () {
|
|
22
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(value) {
|
|
23
|
+
var orientation, dataURI;
|
|
24
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
25
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26
|
+
case 0:
|
|
27
|
+
_context.prev = 0;
|
|
28
|
+
_context.next = 3;
|
|
29
|
+
return (0, _mediaUi.getOrientation)(value);
|
|
30
|
+
case 3:
|
|
31
|
+
orientation = _context.sent;
|
|
32
|
+
dataURI = URL.createObjectURL(value);
|
|
33
|
+
return _context.abrupt("return", {
|
|
34
|
+
dataURI: dataURI,
|
|
35
|
+
orientation: orientation,
|
|
36
|
+
source: 'local'
|
|
37
|
+
});
|
|
38
|
+
case 8:
|
|
39
|
+
_context.prev = 8;
|
|
40
|
+
_context.t0 = _context["catch"](0);
|
|
41
|
+
throw new _errors.LocalPreviewError('local-preview-image', _context.t0 instanceof Error ? _context.t0 : undefined);
|
|
42
|
+
case 11:
|
|
43
|
+
case "end":
|
|
44
|
+
return _context.stop();
|
|
45
|
+
}
|
|
46
|
+
}, _callee, null, [[0, 8]]);
|
|
47
|
+
}));
|
|
48
|
+
return function getImageLocalPreview(_x) {
|
|
49
|
+
return _ref.apply(this, arguments);
|
|
50
|
+
};
|
|
51
|
+
}();
|
|
52
|
+
var getVideoLocalPreview = /*#__PURE__*/function () {
|
|
53
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(value) {
|
|
54
|
+
var dataURI;
|
|
55
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
56
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
57
|
+
case 0:
|
|
58
|
+
_context2.prev = 0;
|
|
59
|
+
_context2.next = 3;
|
|
60
|
+
return (0, _videoSnapshot.takeSnapshot)(value);
|
|
61
|
+
case 3:
|
|
62
|
+
dataURI = _context2.sent;
|
|
63
|
+
return _context2.abrupt("return", {
|
|
64
|
+
dataURI: dataURI,
|
|
65
|
+
orientation: 1,
|
|
66
|
+
source: 'local'
|
|
67
|
+
});
|
|
68
|
+
case 7:
|
|
69
|
+
_context2.prev = 7;
|
|
70
|
+
_context2.t0 = _context2["catch"](0);
|
|
71
|
+
throw new _errors.LocalPreviewError('local-preview-video', _context2.t0 instanceof Error ? _context2.t0 : undefined);
|
|
72
|
+
case 10:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context2.stop();
|
|
75
|
+
}
|
|
76
|
+
}, _callee2, null, [[0, 7]]);
|
|
77
|
+
}));
|
|
78
|
+
return function getVideoLocalPreview(_x2) {
|
|
79
|
+
return _ref2.apply(this, arguments);
|
|
80
|
+
};
|
|
81
|
+
}();
|
|
82
|
+
var getLocalPreview = exports.getLocalPreview = /*#__PURE__*/function () {
|
|
83
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(filePreview) {
|
|
84
|
+
var value, resolvedFilePreview, _value, type, mediaType;
|
|
85
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
86
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
87
|
+
case 0:
|
|
88
|
+
_context3.prev = 0;
|
|
89
|
+
_context3.next = 3;
|
|
90
|
+
return filePreview;
|
|
91
|
+
case 3:
|
|
92
|
+
resolvedFilePreview = _context3.sent;
|
|
93
|
+
value = resolvedFilePreview.value;
|
|
94
|
+
_context3.next = 10;
|
|
95
|
+
break;
|
|
96
|
+
case 7:
|
|
97
|
+
_context3.prev = 7;
|
|
98
|
+
_context3.t0 = _context3["catch"](0);
|
|
99
|
+
throw new _errors.LocalPreviewError('local-preview-rejected', _context3.t0 instanceof Error ? _context3.t0 : undefined);
|
|
100
|
+
case 10:
|
|
101
|
+
if (!(typeof value === 'string')) {
|
|
102
|
+
_context3.next = 14;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
return _context3.abrupt("return", {
|
|
106
|
+
dataURI: value,
|
|
107
|
+
orientation: 1,
|
|
108
|
+
source: 'local'
|
|
109
|
+
});
|
|
110
|
+
case 14:
|
|
111
|
+
if (!(value instanceof Blob)) {
|
|
112
|
+
_context3.next = 23;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
_value = value, type = _value.type;
|
|
116
|
+
mediaType = (0, _mediaCommon.getMediaTypeFromMimeType)(type);
|
|
117
|
+
_context3.t1 = mediaType;
|
|
118
|
+
_context3.next = _context3.t1 === 'image' ? 20 : _context3.t1 === 'video' ? 21 : 22;
|
|
119
|
+
break;
|
|
120
|
+
case 20:
|
|
121
|
+
return _context3.abrupt("return", getImageLocalPreview(value));
|
|
122
|
+
case 21:
|
|
123
|
+
return _context3.abrupt("return", getVideoLocalPreview(value));
|
|
124
|
+
case 22:
|
|
125
|
+
throw new _errors.LocalPreviewError('local-preview-unsupported');
|
|
126
|
+
case 23:
|
|
127
|
+
throw new _errors.LocalPreviewError('local-preview-unsupported');
|
|
128
|
+
case 24:
|
|
129
|
+
case "end":
|
|
130
|
+
return _context3.stop();
|
|
131
|
+
}
|
|
132
|
+
}, _callee3, null, [[0, 7]]);
|
|
133
|
+
}));
|
|
134
|
+
return function getLocalPreview(_x3) {
|
|
135
|
+
return _ref3.apply(this, arguments);
|
|
136
|
+
};
|
|
137
|
+
}();
|
|
138
|
+
var getRemotePreview = exports.getRemotePreview = /*#__PURE__*/function () {
|
|
139
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(mediaClient, id, params, traceContext) {
|
|
140
|
+
var blob;
|
|
141
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
142
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
143
|
+
case 0:
|
|
144
|
+
_context4.prev = 0;
|
|
145
|
+
_context4.next = 3;
|
|
146
|
+
return mediaClient.getImage(id, params, undefined, undefined, traceContext);
|
|
147
|
+
case 3:
|
|
148
|
+
blob = _context4.sent;
|
|
149
|
+
return _context4.abrupt("return", {
|
|
150
|
+
dataURI: URL.createObjectURL(blob),
|
|
151
|
+
orientation: 1,
|
|
152
|
+
source: 'remote'
|
|
153
|
+
});
|
|
154
|
+
case 7:
|
|
155
|
+
_context4.prev = 7;
|
|
156
|
+
_context4.t0 = _context4["catch"](0);
|
|
157
|
+
throw new _errors.RemotePreviewError('remote-preview-fetch', _context4.t0 instanceof Error ? _context4.t0 : undefined);
|
|
158
|
+
case 10:
|
|
159
|
+
case "end":
|
|
160
|
+
return _context4.stop();
|
|
161
|
+
}
|
|
162
|
+
}, _callee4, null, [[0, 7]]);
|
|
163
|
+
}));
|
|
164
|
+
return function getRemotePreview(_x4, _x5, _x6, _x7) {
|
|
165
|
+
return _ref4.apply(this, arguments);
|
|
166
|
+
};
|
|
167
|
+
}();
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "extractFilePreviewStatus", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _filePreviewStatus.extractFilePreviewStatus;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "getAndCacheLocalPreview", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _getPreview.getAndCacheLocalPreview;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "getAndCacheRemotePreview", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _getPreview.getAndCacheRemotePreview;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "getSSRCardPreview", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _getPreview.getSSRCardPreview;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "isLocalPreview", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _getPreview.isLocalPreview;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "isPreviewableStatus", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _filePreviewStatus.isPreviewableStatus;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "isSSRClientPreview", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _getPreview.isSSRClientPreview;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "isSSRDataPreview", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _getPreview.isSSRDataPreview;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "mediaFilePreviewCache", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _cache.mediaFilePreviewCache;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var _cache = require("./cache");
|
|
61
|
+
var _filePreviewStatus = require("./filePreviewStatus");
|
|
62
|
+
var _getPreview = require("./getPreview");
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createObjectURLCache = exports.PREVIEW_CACHE_LRU_SIZE = exports.ObjectURLCache = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _lru_map = require("lru_map");
|
|
15
|
+
var _eventemitter = require("eventemitter2");
|
|
16
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
17
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
+
var PREVIEW_CACHE_LRU_SIZE = exports.PREVIEW_CACHE_LRU_SIZE = 50;
|
|
19
|
+
var ExtendedLRUCache = /*#__PURE__*/function (_LRUMap) {
|
|
20
|
+
(0, _inherits2.default)(ExtendedLRUCache, _LRUMap);
|
|
21
|
+
var _super = _createSuper(ExtendedLRUCache);
|
|
22
|
+
function ExtendedLRUCache(limit) {
|
|
23
|
+
var _this;
|
|
24
|
+
(0, _classCallCheck2.default)(this, ExtendedLRUCache);
|
|
25
|
+
_this = _super.call(this, limit);
|
|
26
|
+
_this.eventEmitter = new _eventemitter.EventEmitter2();
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
(0, _createClass2.default)(ExtendedLRUCache, [{
|
|
30
|
+
key: "shift",
|
|
31
|
+
value: function shift() {
|
|
32
|
+
var entry = (0, _get2.default)((0, _getPrototypeOf2.default)(ExtendedLRUCache.prototype), "shift", this).call(this);
|
|
33
|
+
this.eventEmitter.emit('shift', entry);
|
|
34
|
+
return entry;
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "on",
|
|
38
|
+
value: function on(event, callback) {
|
|
39
|
+
this.eventEmitter.on(event, callback);
|
|
40
|
+
}
|
|
41
|
+
}]);
|
|
42
|
+
return ExtendedLRUCache;
|
|
43
|
+
}(_lru_map.LRUMap);
|
|
44
|
+
var ObjectURLCache = exports.ObjectURLCache = /*#__PURE__*/function () {
|
|
45
|
+
function ObjectURLCache(size) {
|
|
46
|
+
(0, _classCallCheck2.default)(this, ObjectURLCache);
|
|
47
|
+
this.cache = new ExtendedLRUCache(size);
|
|
48
|
+
this.cache.on('shift', function (entry) {
|
|
49
|
+
if (entry && entry[1].dataURI) {
|
|
50
|
+
URL.revokeObjectURL(entry[1].dataURI);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
(0, _createClass2.default)(ObjectURLCache, [{
|
|
55
|
+
key: "has",
|
|
56
|
+
value: function has(key) {
|
|
57
|
+
return !!this.cache.find(key);
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "get",
|
|
61
|
+
value: function get(key) {
|
|
62
|
+
return this.cache.get(key);
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "set",
|
|
66
|
+
value: function set(key, value) {
|
|
67
|
+
this.cache.set(key, value);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "remove",
|
|
71
|
+
value: function remove(key) {
|
|
72
|
+
var removed = this.cache.delete(key);
|
|
73
|
+
removed && URL.revokeObjectURL(removed.dataURI);
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "clear",
|
|
77
|
+
value: function clear() {
|
|
78
|
+
this.cache.clear();
|
|
79
|
+
}
|
|
80
|
+
}]);
|
|
81
|
+
return ObjectURLCache;
|
|
82
|
+
}();
|
|
83
|
+
var createObjectURLCache = exports.createObjectURLCache = function createObjectURLCache() {
|
|
84
|
+
return new ObjectURLCache(PREVIEW_CACHE_LRU_SIZE);
|
|
85
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.takeSnapshot = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var takeSnapshot = exports.takeSnapshot = /*#__PURE__*/function () {
|
|
11
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(blob) {
|
|
12
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
return _context.abrupt("return", new Promise(function (resolve, reject) {
|
|
16
|
+
var url = URL.createObjectURL(blob);
|
|
17
|
+
var video = document.createElement('video');
|
|
18
|
+
video.preload = 'metadata';
|
|
19
|
+
video.src = url;
|
|
20
|
+
video.muted = true;
|
|
21
|
+
video.play().catch(function () {
|
|
22
|
+
return reject(new Error('failed to play video'));
|
|
23
|
+
});
|
|
24
|
+
video.addEventListener('timeupdate', function timeUpdateHandler() {
|
|
25
|
+
video.removeEventListener('timeupdate', timeUpdateHandler);
|
|
26
|
+
video.pause();
|
|
27
|
+
URL.revokeObjectURL(url);
|
|
28
|
+
//create canvas to draw our first frame on.
|
|
29
|
+
|
|
30
|
+
if (!video.videoWidth && !video.videoHeight) {
|
|
31
|
+
return reject(new Error('error retrieving video dimensions'));
|
|
32
|
+
}
|
|
33
|
+
var canvas = document.createElement('canvas');
|
|
34
|
+
canvas.width = video.videoWidth;
|
|
35
|
+
canvas.height = video.videoHeight;
|
|
36
|
+
var context = canvas.getContext('2d');
|
|
37
|
+
if (!context) {
|
|
38
|
+
return reject(new Error('error creating canvas context'));
|
|
39
|
+
}
|
|
40
|
+
context.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
41
|
+
var dataURL = canvas.toDataURL('image/jpeg', 0.85);
|
|
42
|
+
resolve(dataURL);
|
|
43
|
+
});
|
|
44
|
+
video.addEventListener('error', function () {
|
|
45
|
+
reject(new Error('failed to load video'));
|
|
46
|
+
URL.revokeObjectURL(url);
|
|
47
|
+
});
|
|
48
|
+
}));
|
|
49
|
+
case 1:
|
|
50
|
+
case "end":
|
|
51
|
+
return _context.stop();
|
|
52
|
+
}
|
|
53
|
+
}, _callee);
|
|
54
|
+
}));
|
|
55
|
+
return function takeSnapshot(_x) {
|
|
56
|
+
return _ref.apply(this, arguments);
|
|
57
|
+
};
|
|
58
|
+
}();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSSRData = void 0;
|
|
7
|
+
var _globalScope = require("./globalScope");
|
|
8
|
+
var getSSRData = exports.getSSRData = function getSSRData(identifier) {
|
|
9
|
+
var mediaCardSsr = (0, _globalScope.getMediaCardSSR)();
|
|
10
|
+
if (!mediaCardSsr) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return mediaCardSsr[(0, _globalScope.getKey)(identifier)];
|
|
14
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getKey = exports.generateScriptProps = exports.GLOBAL_MEDIA_NAMESPACE = exports.GLOBAL_MEDIA_CARD_SSR = void 0;
|
|
7
|
+
exports.getMediaCardSSR = getMediaCardSSR;
|
|
8
|
+
exports.getMediaGlobalScope = getMediaGlobalScope;
|
|
9
|
+
exports.storeDataURI = void 0;
|
|
10
|
+
var _printScript = require("./printScript");
|
|
11
|
+
// ----- WARNING -----
|
|
12
|
+
// This is a very sensitive fraction of code.
|
|
13
|
+
// Any changes to this file must be tested directly in product before merging.
|
|
14
|
+
// The scripts printed here might differ from what we observe in our internal tests
|
|
15
|
+
// due to minimification, for example.
|
|
16
|
+
|
|
17
|
+
var GLOBAL_MEDIA_CARD_SSR = exports.GLOBAL_MEDIA_CARD_SSR = 'mediaCardSsr';
|
|
18
|
+
var GLOBAL_MEDIA_NAMESPACE = exports.GLOBAL_MEDIA_NAMESPACE = '__MEDIA_INTERNAL';
|
|
19
|
+
function getMediaGlobalScope() {
|
|
20
|
+
var globalScope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
|
|
21
|
+
// Must match GLOBAL_MEDIA_NAMESPACE. Can't reference the constant from here.
|
|
22
|
+
var namespace = '__MEDIA_INTERNAL';
|
|
23
|
+
if (!globalScope[namespace]) {
|
|
24
|
+
globalScope[namespace] = {};
|
|
25
|
+
}
|
|
26
|
+
return globalScope[namespace];
|
|
27
|
+
}
|
|
28
|
+
function getMediaCardSSR() {
|
|
29
|
+
var globalScope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
|
|
30
|
+
var globalMedia = getMediaGlobalScope(globalScope);
|
|
31
|
+
// Must match GLOBAL_MEDIA_CARD_SSR. Can't reference the constant from here.
|
|
32
|
+
var key = 'mediaCardSsr';
|
|
33
|
+
if (!globalMedia[key]) {
|
|
34
|
+
globalMedia[key] = {};
|
|
35
|
+
}
|
|
36
|
+
return globalMedia[key];
|
|
37
|
+
}
|
|
38
|
+
var dashed = function dashed(param) {
|
|
39
|
+
return param ? "-".concat(param) : '';
|
|
40
|
+
};
|
|
41
|
+
var getKey = exports.getKey = function getKey(_ref) {
|
|
42
|
+
var id = _ref.id,
|
|
43
|
+
collectionName = _ref.collectionName,
|
|
44
|
+
occurrenceKey = _ref.occurrenceKey;
|
|
45
|
+
return "".concat(id).concat(dashed(collectionName)).concat(dashed(occurrenceKey));
|
|
46
|
+
};
|
|
47
|
+
var storeDataURI = exports.storeDataURI = function storeDataURI(key, dataURI, dimensions, error) {
|
|
48
|
+
var globalScope = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : window;
|
|
49
|
+
var mediaCardSsr = getMediaCardSSR(globalScope);
|
|
50
|
+
mediaCardSsr[key] = {
|
|
51
|
+
dataURI: dataURI,
|
|
52
|
+
dimensions: dimensions,
|
|
53
|
+
error: error
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
var generateScript = function generateScript(identifier, dataURI, dimensions, error) {
|
|
57
|
+
var functionCall = (0, _printScript.printFunctionCall)(storeDataURI, getKey(identifier), dataURI, dimensions, error);
|
|
58
|
+
return (0, _printScript.printScript)([getMediaCardSSR.toString(), getMediaGlobalScope.toString(), functionCall]);
|
|
59
|
+
};
|
|
60
|
+
var generateScriptProps = exports.generateScriptProps = function generateScriptProps(identifier, dataURI, dimensions, error) {
|
|
61
|
+
return {
|
|
62
|
+
dangerouslySetInnerHTML: {
|
|
63
|
+
__html: generateScript(identifier, dataURI, dimensions, error)
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "GLOBAL_MEDIA_CARD_SSR", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _globalScope.GLOBAL_MEDIA_CARD_SSR;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "GLOBAL_MEDIA_NAMESPACE", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _globalScope.GLOBAL_MEDIA_NAMESPACE;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "generateScriptProps", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _globalScope.generateScriptProps;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "getKey", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _globalScope.getKey;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "getSSRData", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _getSSRData.getSSRData;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var _globalScope = require("./globalScope");
|
|
37
|
+
var _getSSRData = require("./getSSRData");
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.printScript = exports.printFunctionCall = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var printParam = function printParam(param) {
|
|
10
|
+
if (typeof param === 'string') {
|
|
11
|
+
return "'".concat(param, "'");
|
|
12
|
+
} else if ((0, _typeof2.default)(param) === 'object') {
|
|
13
|
+
return JSON.stringify(param);
|
|
14
|
+
} else if (param === undefined) {
|
|
15
|
+
return 'undefined';
|
|
16
|
+
}
|
|
17
|
+
return param;
|
|
18
|
+
};
|
|
19
|
+
var printParams = function printParams(args) {
|
|
20
|
+
return args.map(function (arg) {
|
|
21
|
+
return printParam(arg);
|
|
22
|
+
}).join(',');
|
|
23
|
+
};
|
|
24
|
+
var printFunctionCall = exports.printFunctionCall = function printFunctionCall(fn) {
|
|
25
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
26
|
+
args[_key - 1] = arguments[_key];
|
|
27
|
+
}
|
|
28
|
+
return "(".concat(fn.toString(), ")(").concat(printParams(args), ");");
|
|
29
|
+
};
|
|
30
|
+
var printScript = exports.printScript = function printScript(statements) {
|
|
31
|
+
return "(function(){\n ".concat(statements.join(';'), "\n})();\n");
|
|
32
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isBigger = exports.createRequestDimensions = void 0;
|
|
7
|
+
exports.useCurrentValueRef = useCurrentValueRef;
|
|
8
|
+
exports.usePrevious = usePrevious;
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
/**
|
|
11
|
+
* Checks if at least one of next dimensions is bigger than current
|
|
12
|
+
* If a single dimension is undefined, returns false
|
|
13
|
+
*/
|
|
14
|
+
var isBigger = exports.isBigger = function isBigger(current, next) {
|
|
15
|
+
var _ref = current || {},
|
|
16
|
+
currentWidth = _ref.width,
|
|
17
|
+
currentHeight = _ref.height;
|
|
18
|
+
var _ref2 = next || {},
|
|
19
|
+
nextWidth = _ref2.width,
|
|
20
|
+
nextHeight = _ref2.height;
|
|
21
|
+
if (!!currentWidth && !!currentHeight && !!nextWidth && !!nextHeight) {
|
|
22
|
+
var nextIsWider = currentWidth < nextWidth;
|
|
23
|
+
var nextIsHigher = currentHeight < nextHeight;
|
|
24
|
+
return nextIsHigher || nextIsWider;
|
|
25
|
+
} else {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/** Verifies if the current screen is retina display */
|
|
31
|
+
function isRetina() {
|
|
32
|
+
var mediaQuery = '(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)';
|
|
33
|
+
return window.devicePixelRatio > 1 || window.matchMedia && window.matchMedia(mediaQuery).matches;
|
|
34
|
+
}
|
|
35
|
+
var createRequestDimensions = exports.createRequestDimensions = function createRequestDimensions(dimensions) {
|
|
36
|
+
if (!dimensions) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var retinaFactor = isRetina() ? 2 : 1;
|
|
40
|
+
var width = dimensions.width,
|
|
41
|
+
height = dimensions.height;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (width) {
|
|
44
|
+
result.width = width * retinaFactor;
|
|
45
|
+
}
|
|
46
|
+
if (height) {
|
|
47
|
+
result.height = height * retinaFactor;
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** Stores the provided value in a */
|
|
53
|
+
function useCurrentValueRef(value) {
|
|
54
|
+
var ref = (0, _react.useRef)(value);
|
|
55
|
+
ref.current = value;
|
|
56
|
+
return ref;
|
|
57
|
+
}
|
|
58
|
+
function usePrevious(value) {
|
|
59
|
+
var ref = (0, _react.useRef)();
|
|
60
|
+
(0, _react.useEffect)(function () {
|
|
61
|
+
ref.current = value;
|
|
62
|
+
}, [value]);
|
|
63
|
+
return ref.current;
|
|
64
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useFilePreview", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useFilePreview.useFilePreview;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useFilePreview = require("./useFilePreview");
|