@atlaskit/media-picker 66.2.0 → 66.2.2
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 +17 -0
- package/dist/cjs/components/browser/index.js +1 -1
- package/dist/cjs/components/clipboard/index.js +1 -1
- package/dist/cjs/components/dropzone/index.js +1 -1
- package/dist/cjs/components/uploadRejectionFlagGroup/UploadRejectionFlagGroup.js +2 -2
- package/dist/cjs/util/analytics.js +1 -1
- package/dist/cjs/util/ufoExperiences.js +3 -3
- package/dist/es2019/components/browser/index.js +1 -1
- package/dist/es2019/components/clipboard/index.js +1 -1
- package/dist/es2019/components/dropzone/index.js +1 -1
- package/dist/es2019/util/analytics.js +1 -1
- package/dist/es2019/util/ufoExperiences.js +1 -1
- package/dist/esm/components/browser/index.js +1 -1
- package/dist/esm/components/clipboard/index.js +1 -1
- package/dist/esm/components/dropzone/index.js +1 -1
- package/dist/esm/components/uploadRejectionFlagGroup/UploadRejectionFlagGroup.js +2 -2
- package/dist/esm/util/analytics.js +1 -1
- package/dist/esm/util/ufoExperiences.js +3 -3
- package/example-helpers/NativeMediaViewer.tsx +107 -0
- package/example-helpers/upload-preview.tsx +6 -8
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/media-picker
|
|
2
2
|
|
|
3
|
+
## 66.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`7b6a2c6671b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7b6a2c6671b) - Introducing 'media-state' for handling media internal file state.
|
|
8
|
+
Introducing 'media-client-react' to provide hooks for seamless media-client integration with React.
|
|
9
|
+
Introducing 'MediaCardV2' with a feature flag to replace rxjs based fileState subscription with 'useFileState' hook.
|
|
10
|
+
Removed unused feature flags APIs from 'media-client' and its helper functions from 'media-common'.
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
13
|
+
## 66.2.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`ede6ee7aaab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ede6ee7aaab) - Updated tests, examples and moving towards /test-helper export in packages to prevent circular dependancies
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
|
|
3
20
|
## 66.2.0
|
|
4
21
|
|
|
5
22
|
### Minor Changes
|
|
@@ -70,7 +70,7 @@ var BrowserLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
70
70
|
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
71
71
|
mediaClient = _yield$Promise$all2[0];
|
|
72
72
|
browserModule = _yield$Promise$all2[1];
|
|
73
|
-
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser
|
|
73
|
+
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser);
|
|
74
74
|
if (this.mounted) {
|
|
75
75
|
this.setState({
|
|
76
76
|
Browser: BrowserLoader.Browser
|
|
@@ -59,7 +59,7 @@ var ClipboardLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
59
59
|
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
60
60
|
mediaClient = _yield$Promise$all2[0];
|
|
61
61
|
clipboardModule = _yield$Promise$all2[1];
|
|
62
|
-
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard
|
|
62
|
+
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard);
|
|
63
63
|
this.setState({
|
|
64
64
|
Clipboard: ClipboardLoader.Clipboard
|
|
65
65
|
});
|
|
@@ -64,7 +64,7 @@ var DropzoneLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
64
64
|
mediaClient = _yield$Promise$all2[0];
|
|
65
65
|
dropzoneModule = _yield$Promise$all2[1];
|
|
66
66
|
mediaPickerErrorBoundaryModule = _yield$Promise$all2[2];
|
|
67
|
-
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone
|
|
67
|
+
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone);
|
|
68
68
|
DropzoneLoader.MediaPickerErrorBoundary = mediaPickerErrorBoundaryModule.default;
|
|
69
69
|
this.setState({
|
|
70
70
|
Dropzone: DropzoneLoader.Dropzone,
|
|
@@ -12,8 +12,8 @@ var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-ci
|
|
|
12
12
|
var _colors = require("@atlaskit/theme/colors");
|
|
13
13
|
var _messages = require("./messages");
|
|
14
14
|
var _reactIntlNext = require("react-intl-next");
|
|
15
|
-
function ownKeys(
|
|
16
|
-
function _objectSpread(
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
17
|
var defaultOptions = {
|
|
18
18
|
style: 'unit',
|
|
19
19
|
unitDisplay: 'short',
|
|
@@ -9,7 +9,7 @@ var _mediaClient = require("@atlaskit/media-client");
|
|
|
9
9
|
// Component name will be prefixed with "media-picker-" in logs. Check ufoExperiences in utils files
|
|
10
10
|
|
|
11
11
|
var packageName = "@atlaskit/media-picker";
|
|
12
|
-
var packageVersion = "66.2.
|
|
12
|
+
var packageVersion = "66.2.2";
|
|
13
13
|
function getPackageAttributes(componentName) {
|
|
14
14
|
return {
|
|
15
15
|
packageName: packageName,
|
|
@@ -9,10 +9,10 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _ufo = require("@atlaskit/ufo");
|
|
10
10
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
11
11
|
var _mediaClient = require("@atlaskit/media-client");
|
|
12
|
-
function ownKeys(
|
|
13
|
-
function _objectSpread(
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
14
|
var packageName = "@atlaskit/media-picker";
|
|
15
|
-
var packageVersion = "66.2.
|
|
15
|
+
var packageVersion = "66.2.2";
|
|
16
16
|
var ufoExperience;
|
|
17
17
|
var initExperience = function initExperience(id, componentName) {
|
|
18
18
|
if (!ufoExperience) {
|
|
@@ -17,7 +17,7 @@ export class BrowserLoader extends React.PureComponent {
|
|
|
17
17
|
async UNSAFE_componentWillMount() {
|
|
18
18
|
if (!this.state.Browser) {
|
|
19
19
|
const [mediaClient, browserModule] = await Promise.all([import( /* webpackChunkName: "@atlaskit-internal_media-client" */'@atlaskit/media-client'), import( /* webpackChunkName: "@atlaskit-internal_media-browser" */'./browser')]);
|
|
20
|
-
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser
|
|
20
|
+
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser);
|
|
21
21
|
if (this.mounted) {
|
|
22
22
|
this.setState({
|
|
23
23
|
Browser: BrowserLoader.Browser
|
|
@@ -10,7 +10,7 @@ export class ClipboardLoader extends React.PureComponent {
|
|
|
10
10
|
async UNSAFE_componentWillMount() {
|
|
11
11
|
if (!this.state.Clipboard) {
|
|
12
12
|
const [mediaClient, clipboardModule] = await Promise.all([import( /* webpackChunkName: "@atlaskit-internal_media-client" */'@atlaskit/media-client'), import( /* webpackChunkName: "@atlaskit-internal_media-clipboard" */'./clipboard')]);
|
|
13
|
-
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard
|
|
13
|
+
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard);
|
|
14
14
|
this.setState({
|
|
15
15
|
Clipboard: ClipboardLoader.Clipboard
|
|
16
16
|
});
|
|
@@ -12,7 +12,7 @@ export class DropzoneLoader extends React.PureComponent {
|
|
|
12
12
|
if (!this.state.Dropzone || !this.state.MediaPickerErrorBoundary) {
|
|
13
13
|
try {
|
|
14
14
|
const [mediaClient, dropzoneModule, mediaPickerErrorBoundaryModule] = await Promise.all([import( /* webpackChunkName: "@atlaskit-internal_media-client" */'@atlaskit/media-client'), import( /* webpackChunkName: "@atlaskit-internal_media-dropzone" */'./dropzone'), import( /* webpackChunkName: "@atlaskit-internal_media-picker-error-boundary" */'../media-picker-analytics-error-boundary')]);
|
|
15
|
-
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone
|
|
15
|
+
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone);
|
|
16
16
|
DropzoneLoader.MediaPickerErrorBoundary = mediaPickerErrorBoundaryModule.default;
|
|
17
17
|
this.setState({
|
|
18
18
|
Dropzone: DropzoneLoader.Dropzone,
|
|
@@ -3,7 +3,7 @@ import { isRequestError } from '@atlaskit/media-client';
|
|
|
3
3
|
// Component name will be prefixed with "media-picker-" in logs. Check ufoExperiences in utils files
|
|
4
4
|
|
|
5
5
|
const packageName = "@atlaskit/media-picker";
|
|
6
|
-
const packageVersion = "66.2.
|
|
6
|
+
const packageVersion = "66.2.2";
|
|
7
7
|
export function getPackageAttributes(componentName) {
|
|
8
8
|
return {
|
|
9
9
|
packageName,
|
|
@@ -2,7 +2,7 @@ import { ConcurrentExperience, ExperiencePerformanceTypes, ExperienceTypes } fro
|
|
|
2
2
|
import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
|
|
3
3
|
import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
|
|
4
4
|
const packageName = "@atlaskit/media-picker";
|
|
5
|
-
const packageVersion = "66.2.
|
|
5
|
+
const packageVersion = "66.2.2";
|
|
6
6
|
let ufoExperience;
|
|
7
7
|
const initExperience = (id, componentName) => {
|
|
8
8
|
if (!ufoExperience) {
|
|
@@ -56,7 +56,7 @@ export var BrowserLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
56
56
|
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
57
57
|
mediaClient = _yield$Promise$all2[0];
|
|
58
58
|
browserModule = _yield$Promise$all2[1];
|
|
59
|
-
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser
|
|
59
|
+
BrowserLoader.Browser = mediaClient.withMediaClient(browserModule.Browser);
|
|
60
60
|
if (this.mounted) {
|
|
61
61
|
this.setState({
|
|
62
62
|
Browser: BrowserLoader.Browser
|
|
@@ -45,7 +45,7 @@ export var ClipboardLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
45
45
|
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
46
46
|
mediaClient = _yield$Promise$all2[0];
|
|
47
47
|
clipboardModule = _yield$Promise$all2[1];
|
|
48
|
-
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard
|
|
48
|
+
ClipboardLoader.Clipboard = mediaClient.withMediaClient(clipboardModule.Clipboard);
|
|
49
49
|
this.setState({
|
|
50
50
|
Clipboard: ClipboardLoader.Clipboard
|
|
51
51
|
});
|
|
@@ -48,7 +48,7 @@ export var DropzoneLoader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
48
48
|
mediaClient = _yield$Promise$all2[0];
|
|
49
49
|
dropzoneModule = _yield$Promise$all2[1];
|
|
50
50
|
mediaPickerErrorBoundaryModule = _yield$Promise$all2[2];
|
|
51
|
-
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone
|
|
51
|
+
DropzoneLoader.Dropzone = mediaClient.withMediaClient(dropzoneModule.Dropzone);
|
|
52
52
|
DropzoneLoader.MediaPickerErrorBoundary = mediaPickerErrorBoundaryModule.default;
|
|
53
53
|
this.setState({
|
|
54
54
|
Dropzone: DropzoneLoader.Dropzone,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { AutoDismissFlag, FlagGroup } from '@atlaskit/flag';
|
|
6
6
|
import FailIcon from '@atlaskit/icon/glyph/cross-circle';
|
|
@@ -3,7 +3,7 @@ import { isRequestError } from '@atlaskit/media-client';
|
|
|
3
3
|
// Component name will be prefixed with "media-picker-" in logs. Check ufoExperiences in utils files
|
|
4
4
|
|
|
5
5
|
var packageName = "@atlaskit/media-picker";
|
|
6
|
-
var packageVersion = "66.2.
|
|
6
|
+
var packageVersion = "66.2.2";
|
|
7
7
|
export function getPackageAttributes(componentName) {
|
|
8
8
|
return {
|
|
9
9
|
packageName: packageName,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import { ConcurrentExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
|
|
5
5
|
import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
|
|
6
6
|
import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
|
|
7
7
|
var packageName = "@atlaskit/media-picker";
|
|
8
|
-
var packageVersion = "66.2.
|
|
8
|
+
var packageVersion = "66.2.2";
|
|
9
9
|
var ufoExperience;
|
|
10
10
|
var initExperience = function initExperience(id, componentName) {
|
|
11
11
|
if (!ufoExperience) {
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/media-has-caption */
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import {
|
|
4
|
+
MediaClient,
|
|
5
|
+
MediaFileArtifacts,
|
|
6
|
+
MediaType,
|
|
7
|
+
} from '@atlaskit/media-client';
|
|
8
|
+
|
|
9
|
+
type NativeMediaViewerProps = {
|
|
10
|
+
id: string;
|
|
11
|
+
mediaClient: MediaClient;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const getMimeTypeFromArtifact = (artifact: keyof MediaFileArtifacts) => {
|
|
15
|
+
switch (artifact) {
|
|
16
|
+
case 'image.png':
|
|
17
|
+
return 'image/png';
|
|
18
|
+
case 'document.pdf':
|
|
19
|
+
return 'application/pdf';
|
|
20
|
+
case 'video_640.mp4':
|
|
21
|
+
case 'video_1280.mp4':
|
|
22
|
+
return 'video/mp4';
|
|
23
|
+
case 'audio.mp3':
|
|
24
|
+
return 'audio/mpeg';
|
|
25
|
+
default:
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const getArtifactUrl = (
|
|
31
|
+
client: MediaClient,
|
|
32
|
+
artifacts: MediaFileArtifacts,
|
|
33
|
+
artifact: keyof MediaFileArtifacts,
|
|
34
|
+
) =>
|
|
35
|
+
client.mediaStore
|
|
36
|
+
.getArtifactURL(artifacts, artifact)
|
|
37
|
+
.then((url) => fetch(url))
|
|
38
|
+
.then((res) => res.blob())
|
|
39
|
+
.then((blob) => blob.slice(0, blob.size, getMimeTypeFromArtifact(artifact)))
|
|
40
|
+
.then((blob) => URL.createObjectURL(blob));
|
|
41
|
+
|
|
42
|
+
export const NativeMediaViewer = ({
|
|
43
|
+
id,
|
|
44
|
+
mediaClient,
|
|
45
|
+
}: NativeMediaViewerProps) => {
|
|
46
|
+
const [url, setUrl] = useState('');
|
|
47
|
+
const [mediaType, setMediaType] = useState<MediaType | null>(null);
|
|
48
|
+
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
const setArtifactUrl = (
|
|
51
|
+
artifacts: MediaFileArtifacts,
|
|
52
|
+
artifact: keyof MediaFileArtifacts,
|
|
53
|
+
) => {
|
|
54
|
+
getArtifactUrl(mediaClient, artifacts, artifact).then((url) =>
|
|
55
|
+
setUrl(url),
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
if (id) {
|
|
59
|
+
const subscribable = mediaClient.file.getFileState(id);
|
|
60
|
+
const { unsubscribe } = subscribable.subscribe((state) => {
|
|
61
|
+
if (state.status === 'processed') {
|
|
62
|
+
if (state.artifacts['document.pdf']) {
|
|
63
|
+
setArtifactUrl(state.artifacts, 'document.pdf');
|
|
64
|
+
setMediaType('doc');
|
|
65
|
+
} else if (state.artifacts['video_640.mp4']) {
|
|
66
|
+
setArtifactUrl(state.artifacts, 'video_640.mp4');
|
|
67
|
+
setMediaType('video');
|
|
68
|
+
} else if (state.artifacts['audio.mp3']) {
|
|
69
|
+
setArtifactUrl(state.artifacts, 'audio.mp3');
|
|
70
|
+
setMediaType('audio');
|
|
71
|
+
} else if (state.artifacts['image.png']) {
|
|
72
|
+
setArtifactUrl(state.artifacts, 'image.png');
|
|
73
|
+
setMediaType('image');
|
|
74
|
+
} else {
|
|
75
|
+
setMediaType('unknown');
|
|
76
|
+
}
|
|
77
|
+
} else if (state.status === 'failed-processing') {
|
|
78
|
+
setMediaType('unknown');
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
return unsubscribe;
|
|
83
|
+
}
|
|
84
|
+
return () => {};
|
|
85
|
+
}, [id, mediaClient]);
|
|
86
|
+
|
|
87
|
+
switch (mediaType) {
|
|
88
|
+
case 'image':
|
|
89
|
+
return <img style={{ width: '100%' }} src={url} />;
|
|
90
|
+
case 'video':
|
|
91
|
+
return <video style={{ width: '100%' }} src={url} />;
|
|
92
|
+
case 'audio':
|
|
93
|
+
return <audio style={{ width: '100%' }} src={url} />;
|
|
94
|
+
case 'doc':
|
|
95
|
+
return (
|
|
96
|
+
<object type="application/pdf" style={{ width: '100%' }} data={url}>
|
|
97
|
+
<embed type="application/pdf" src={url} />
|
|
98
|
+
</object>
|
|
99
|
+
);
|
|
100
|
+
case null:
|
|
101
|
+
return <div>Loading file ...</div>;
|
|
102
|
+
case 'unknown':
|
|
103
|
+
return <div>Unable to display file</div>;
|
|
104
|
+
default:
|
|
105
|
+
return <div>Unable to display file</div>;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { PreviewImageWrapper
|
|
2
|
+
import { PreviewImageWrapper } from './stylesWrapper';
|
|
3
3
|
import { PreviewData } from './types';
|
|
4
|
-
import {
|
|
5
|
-
import { FileIdentifier } from '@atlaskit/media-client';
|
|
4
|
+
import { FileIdentifier, MediaClient } from '@atlaskit/media-client';
|
|
6
5
|
import { createUploadMediaClientConfig } from '@atlaskit/media-test-helpers';
|
|
7
6
|
import { Preview, ImagePreview } from '../src/types';
|
|
7
|
+
import { NativeMediaViewer } from './NativeMediaViewer';
|
|
8
8
|
|
|
9
9
|
const mediaClientConfig = createUploadMediaClientConfig();
|
|
10
|
+
const mediaClient = new MediaClient(mediaClientConfig);
|
|
10
11
|
|
|
11
12
|
export class UploadPreview extends React.Component<PreviewData> {
|
|
12
13
|
getPreviewInfo(preview: Preview): string | null {
|
|
@@ -19,7 +20,7 @@ export class UploadPreview extends React.Component<PreviewData> {
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
render() {
|
|
22
|
-
const { fileId
|
|
23
|
+
const { fileId } = this.props;
|
|
23
24
|
|
|
24
25
|
const identifier: FileIdentifier = {
|
|
25
26
|
id: fileId,
|
|
@@ -28,10 +29,7 @@ export class UploadPreview extends React.Component<PreviewData> {
|
|
|
28
29
|
|
|
29
30
|
return (
|
|
30
31
|
<PreviewImageWrapper>
|
|
31
|
-
<
|
|
32
|
-
{preview ? (
|
|
33
|
-
<InfoWrapper>{this.getPreviewInfo(preview)}</InfoWrapper>
|
|
34
|
-
) : null}
|
|
32
|
+
<NativeMediaViewer id={identifier.id} mediaClient={mediaClient} />
|
|
35
33
|
</PreviewImageWrapper>
|
|
36
34
|
);
|
|
37
35
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-picker",
|
|
3
|
-
"version": "66.2.
|
|
3
|
+
"version": "66.2.2",
|
|
4
4
|
"description": "Library for handling file uploads",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"@atlaskit/analytics-next": "^9.1.0",
|
|
38
38
|
"@atlaskit/flag": "^15.1.0",
|
|
39
39
|
"@atlaskit/icon": "^21.11.0",
|
|
40
|
-
"@atlaskit/media-client": "^
|
|
41
|
-
"@atlaskit/media-common": "^
|
|
40
|
+
"@atlaskit/media-client": "^24.0.0",
|
|
41
|
+
"@atlaskit/media-common": "^9.0.0",
|
|
42
42
|
"@atlaskit/media-ui": "^24.0.0",
|
|
43
|
-
"@atlaskit/theme": "^12.
|
|
44
|
-
"@atlaskit/tokens": "^1.
|
|
43
|
+
"@atlaskit/theme": "^12.6.0",
|
|
44
|
+
"@atlaskit/tokens": "^1.20.0",
|
|
45
45
|
"@atlaskit/ufo": "^0.2.0",
|
|
46
46
|
"@babel/runtime": "^7.0.0",
|
|
47
47
|
"eventemitter2": "^4.1.0",
|
|
@@ -61,11 +61,10 @@
|
|
|
61
61
|
"@atlaskit/analytics-listeners": "^8.7.0",
|
|
62
62
|
"@atlaskit/analytics-namespaced-context": "^6.7.0",
|
|
63
63
|
"@atlaskit/button": "^16.9.0",
|
|
64
|
-
"@atlaskit/media-card": "^76.1.0",
|
|
65
64
|
"@atlaskit/media-core": "^34.1.0",
|
|
66
65
|
"@atlaskit/media-test-helpers": "^33.0.0",
|
|
67
66
|
"@atlaskit/ssr": "*",
|
|
68
|
-
"@atlaskit/tokens": "^1.
|
|
67
|
+
"@atlaskit/tokens": "^1.20.0",
|
|
69
68
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
70
69
|
"@atlassian/ufo": "^0.2.0",
|
|
71
70
|
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|