@atlaskit/media-ui 28.1.7 → 28.1.8
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 +8 -0
- package/dist/cjs/customMediaPlayer/index-compiled.js +6 -12
- package/dist/cjs/customMediaPlayer/index-emotion.js +6 -12
- package/dist/cjs/customMediaPlayer/index.js +1 -1
- package/dist/cjs/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
- package/dist/cjs/customMediaPlayer/playbackSpeedControls.js +15 -0
- package/dist/cjs/customMediaPlayer/react-video-renderer/index.js +12 -0
- package/dist/cjs/customMediaPlayer/react-video-renderer/text.js +9 -0
- package/dist/cjs/customMediaPlayer/react-video-renderer/utils.js +13 -0
- package/dist/cjs/customMediaPlayer/react-video-renderer/video.js +344 -0
- package/dist/cjs/messages.js +20 -0
- package/dist/es2019/customMediaPlayer/index-compiled.js +6 -12
- package/dist/es2019/customMediaPlayer/index-emotion.js +6 -12
- package/dist/es2019/customMediaPlayer/index.js +1 -1
- package/dist/es2019/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
- package/dist/es2019/customMediaPlayer/playbackSpeedControls.js +14 -1
- package/dist/es2019/customMediaPlayer/react-video-renderer/index.js +1 -0
- package/dist/es2019/customMediaPlayer/react-video-renderer/text.js +1 -0
- package/dist/es2019/customMediaPlayer/react-video-renderer/utils.js +5 -0
- package/dist/es2019/customMediaPlayer/react-video-renderer/video.js +338 -0
- package/dist/es2019/messages.js +20 -0
- package/dist/esm/customMediaPlayer/index-compiled.js +6 -12
- package/dist/esm/customMediaPlayer/index-emotion.js +6 -12
- package/dist/esm/customMediaPlayer/index.js +1 -1
- package/dist/esm/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
- package/dist/esm/customMediaPlayer/playbackSpeedControls.js +16 -1
- package/dist/esm/customMediaPlayer/react-video-renderer/index.js +1 -0
- package/dist/esm/customMediaPlayer/react-video-renderer/text.js +3 -0
- package/dist/esm/customMediaPlayer/react-video-renderer/utils.js +7 -0
- package/dist/esm/customMediaPlayer/react-video-renderer/video.js +334 -0
- package/dist/esm/messages.js +20 -0
- package/dist/types/customMediaPlayer/analytics/utils/playbackAttributes.d.ts +1 -1
- package/dist/types/customMediaPlayer/playbackSpeedControls.d.ts +6 -1
- package/dist/types/customMediaPlayer/react-video-renderer/index.d.ts +3 -0
- package/dist/types/customMediaPlayer/react-video-renderer/text.d.ts +18 -0
- package/dist/types/customMediaPlayer/react-video-renderer/utils.d.ts +1 -0
- package/dist/types/customMediaPlayer/react-video-renderer/video.d.ts +96 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/types-ts4.5/customMediaPlayer/analytics/utils/playbackAttributes.d.ts +1 -1
- package/dist/types-ts4.5/customMediaPlayer/playbackSpeedControls.d.ts +6 -1
- package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/index.d.ts +3 -0
- package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/text.d.ts +18 -0
- package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/utils.d.ts +1 -0
- package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/video.d.ts +96 -0
- package/dist/types-ts4.5/messages.d.ts +1 -1
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/media-ui
|
|
2
2
|
|
|
3
|
+
## 28.1.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#138829](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/138829)
|
|
8
|
+
[`4838615c1e10f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4838615c1e10f) -
|
|
9
|
+
Replaced HD icon for Images and Video
|
|
10
|
+
|
|
3
11
|
## 28.1.7
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -21,14 +21,14 @@ var _videoPauseVidPause = _interopRequireDefault(require("@atlaskit/icon/core/mi
|
|
|
21
21
|
var _fullscreenEnterVidFullScreenOn = _interopRequireDefault(require("@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on"));
|
|
22
22
|
var _shrinkDiagonalVidFullScreenOff = _interopRequireDefault(require("@atlaskit/icon/core/migration/shrink-diagonal--vid-full-screen-off"));
|
|
23
23
|
var _volumeHighHipchatOutgoingSound = _interopRequireDefault(require("@atlaskit/icon/core/migration/volume-high--hipchat-outgoing-sound"));
|
|
24
|
-
var
|
|
24
|
+
var _videoHd = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd"));
|
|
25
|
+
var _videoHdFilled = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd-filled"));
|
|
25
26
|
var _download = _interopRequireDefault(require("@atlaskit/icon/core/migration/download"));
|
|
26
27
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
27
28
|
var _MediaButton = _interopRequireDefault(require("../MediaButton"));
|
|
28
29
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
29
30
|
var _widthDetector = require("@atlaskit/width-detector");
|
|
30
|
-
var _reactVideoRenderer = _interopRequireDefault(require("react-video-renderer"));
|
|
31
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
31
|
+
var _reactVideoRenderer = _interopRequireDefault(require("./react-video-renderer"));
|
|
32
32
|
var _timeRange = require("./timeRange");
|
|
33
33
|
var _volumeRange = _interopRequireDefault(require("./volumeRange"));
|
|
34
34
|
var _styled = require("./styled");
|
|
@@ -166,18 +166,12 @@ var CustomMediaPlayerBase = exports.CustomMediaPlayerBase = /*#__PURE__*/functio
|
|
|
166
166
|
if (type === 'audio' || !isHDAvailable) {
|
|
167
167
|
return;
|
|
168
168
|
}
|
|
169
|
-
var primaryColor = isHDActive ? '#579DFF' : '#c7d1db';
|
|
170
|
-
var secondaryColor = isHDActive ? _colors.N0 : _colors.DN60;
|
|
171
169
|
return /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
172
170
|
testId: "custom-media-player-hd-button",
|
|
173
171
|
onClick: !!onHDToggleClick ? _this.getMediaButtonClickHandler(onHDToggleClick, 'HDButton') : undefined,
|
|
174
|
-
iconBefore:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// eslint-disable-next-line @atlaskit/design-system/no-legacy-icons
|
|
178
|
-
_react.default.createElement(_vidHdCircle.default, {
|
|
179
|
-
primaryColor: primaryColor,
|
|
180
|
-
secondaryColor: secondaryColor,
|
|
172
|
+
iconBefore: isHDActive ? /*#__PURE__*/_react.default.createElement(_videoHdFilled.default, {
|
|
173
|
+
label: "hd active"
|
|
174
|
+
}) : /*#__PURE__*/_react.default.createElement(_videoHd.default, {
|
|
181
175
|
label: "hd"
|
|
182
176
|
})
|
|
183
177
|
});
|
|
@@ -18,14 +18,14 @@ var _videoPauseVidPause = _interopRequireDefault(require("@atlaskit/icon/core/mi
|
|
|
18
18
|
var _fullscreenEnterVidFullScreenOn = _interopRequireDefault(require("@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on"));
|
|
19
19
|
var _shrinkDiagonalVidFullScreenOff = _interopRequireDefault(require("@atlaskit/icon/core/migration/shrink-diagonal--vid-full-screen-off"));
|
|
20
20
|
var _volumeHighHipchatOutgoingSound = _interopRequireDefault(require("@atlaskit/icon/core/migration/volume-high--hipchat-outgoing-sound"));
|
|
21
|
-
var
|
|
21
|
+
var _videoHd = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd"));
|
|
22
|
+
var _videoHdFilled = _interopRequireDefault(require("@atlaskit/icon-lab/core/video-hd-filled"));
|
|
22
23
|
var _download = _interopRequireDefault(require("@atlaskit/icon/core/migration/download"));
|
|
23
24
|
var _primitives = require("@atlaskit/primitives");
|
|
24
25
|
var _MediaButton = _interopRequireDefault(require("../MediaButton"));
|
|
25
26
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
26
27
|
var _widthDetector = require("@atlaskit/width-detector");
|
|
27
|
-
var _reactVideoRenderer = _interopRequireDefault(require("react-video-renderer"));
|
|
28
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
28
|
+
var _reactVideoRenderer = _interopRequireDefault(require("./react-video-renderer"));
|
|
29
29
|
var _timeRange = require("./timeRange");
|
|
30
30
|
var _volumeRange = _interopRequireDefault(require("./volumeRange"));
|
|
31
31
|
var _styled = require("./styled");
|
|
@@ -175,18 +175,12 @@ var CustomMediaPlayerBase = exports.CustomMediaPlayerBase = /*#__PURE__*/functio
|
|
|
175
175
|
if (type === 'audio' || !isHDAvailable) {
|
|
176
176
|
return;
|
|
177
177
|
}
|
|
178
|
-
var primaryColor = isHDActive ? '#579DFF' : '#c7d1db';
|
|
179
|
-
var secondaryColor = isHDActive ? _colors.N0 : _colors.DN60;
|
|
180
178
|
return /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
|
|
181
179
|
testId: "custom-media-player-hd-button",
|
|
182
180
|
onClick: !!onHDToggleClick ? _this.getMediaButtonClickHandler(onHDToggleClick, 'HDButton') : undefined,
|
|
183
|
-
iconBefore:
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
// eslint-disable-next-line @atlaskit/design-system/no-legacy-icons
|
|
187
|
-
_react.default.createElement(_vidHdCircle.default, {
|
|
188
|
-
primaryColor: primaryColor,
|
|
189
|
-
secondaryColor: secondaryColor,
|
|
181
|
+
iconBefore: isHDActive ? /*#__PURE__*/_react.default.createElement(_videoHdFilled.default, {
|
|
182
|
+
label: "hd active"
|
|
183
|
+
}) : /*#__PURE__*/_react.default.createElement(_videoHd.default, {
|
|
190
184
|
label: "hd"
|
|
191
185
|
})
|
|
192
186
|
});
|
|
@@ -16,7 +16,7 @@ var CustomMediaPlayerBase = exports.CustomMediaPlayerBase = function CustomMedia
|
|
|
16
16
|
return (0, _platformFeatureFlags.fg)('platform_media_compiled') ? /*#__PURE__*/_react.default.createElement(_indexCompiled.CustomMediaPlayerBase, props) : /*#__PURE__*/_react.default.createElement(_indexEmotion.CustomMediaPlayerBase, props);
|
|
17
17
|
};
|
|
18
18
|
var packageName = "@atlaskit/media-ui";
|
|
19
|
-
var packageVersion = "28.1.
|
|
19
|
+
var packageVersion = "28.1.8";
|
|
20
20
|
|
|
21
21
|
// @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
|
|
22
22
|
var CustomMediaPlayer = exports.CustomMediaPlayer = (0, _mediaCommon.withMediaAnalyticsContext)({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._1di6r5ow:active{background-color:#a6c5e229}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* playbackSpeedControls.tsx generated by @compiled/babel-plugin v0.36.1 */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -6,6 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
8
9
|
exports.default = exports.PlaybackSpeedControls = void 0;
|
|
10
|
+
require("./playbackSpeedControls.compiled.css");
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -27,6 +31,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
27
31
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
28
32
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */ // Keep PlaybackSpeedControls to use static colors from the new color palette to support the hybrid
|
|
29
33
|
// theming in media viewer https://product-fabric.atlassian.net/browse/DSP-6067
|
|
34
|
+
// with the compiled react, we are leaving the static colors in tact for now.
|
|
35
|
+
var selectOptionStyles = {
|
|
36
|
+
root: "_1di6r5ow"
|
|
37
|
+
};
|
|
30
38
|
var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/function (_Component) {
|
|
31
39
|
function PlaybackSpeedControls() {
|
|
32
40
|
var _this;
|
|
@@ -153,6 +161,13 @@ var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/functio
|
|
|
153
161
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_widthDetector.WidthObserver, {
|
|
154
162
|
setWidth: this.onResize
|
|
155
163
|
}), /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
|
|
164
|
+
components: {
|
|
165
|
+
Option: function Option(props) {
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement(_select.components.Option, (0, _extends2.default)({}, props, {
|
|
167
|
+
xcss: selectOptionStyles.root
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
},
|
|
156
171
|
minMenuWidth: 140,
|
|
157
172
|
maxMenuHeight: popupHeight,
|
|
158
173
|
options: this.speedOptions(),
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getVideoTextTrackId = void 0;
|
|
7
|
+
var getVideoTextTrackId = exports.getVideoTextTrackId = function getVideoTextTrackId(kind, lang) {
|
|
8
|
+
return "".concat(kind, "-").concat(lang);
|
|
9
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.requestFullScreen = void 0;
|
|
7
|
+
var requestFullScreen = exports.requestFullScreen = function requestFullScreen(element) {
|
|
8
|
+
var methods = ['requestFullscreen', 'webkitRequestFullscreen', 'mozRequestFullScreen', 'msRequestFullscreen'];
|
|
9
|
+
var methodName = methods.find(function (name) {
|
|
10
|
+
return element[name];
|
|
11
|
+
});
|
|
12
|
+
element[methodName]();
|
|
13
|
+
};
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Video = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
var React = _react;
|
|
18
|
+
var _text = require("./text");
|
|
19
|
+
var _utils = require("./utils");
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
23
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
|
+
var getVolumeFromVideo = function getVolumeFromVideo(video) {
|
|
25
|
+
var volume = video.volume;
|
|
26
|
+
var isMuted = volume === 0;
|
|
27
|
+
return {
|
|
28
|
+
volume: volume,
|
|
29
|
+
isMuted: isMuted
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
var isSafari = typeof navigator !== 'undefined' ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;
|
|
33
|
+
var Video = exports.Video = /*#__PURE__*/function (_Component) {
|
|
34
|
+
function Video() {
|
|
35
|
+
var _this;
|
|
36
|
+
(0, _classCallCheck2.default)(this, Video);
|
|
37
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
38
|
+
args[_key] = arguments[_key];
|
|
39
|
+
}
|
|
40
|
+
_this = _callSuper(this, Video, [].concat(args));
|
|
41
|
+
(0, _defineProperty2.default)(_this, "previousVolume", 1);
|
|
42
|
+
(0, _defineProperty2.default)(_this, "previousTime", -1);
|
|
43
|
+
(0, _defineProperty2.default)(_this, "videoRef", /*#__PURE__*/React.createRef());
|
|
44
|
+
(0, _defineProperty2.default)(_this, "audioRef", /*#__PURE__*/React.createRef());
|
|
45
|
+
(0, _defineProperty2.default)(_this, "hasCanPlayTriggered", false);
|
|
46
|
+
(0, _defineProperty2.default)(_this, "state", {
|
|
47
|
+
isLoading: true,
|
|
48
|
+
buffered: 0,
|
|
49
|
+
currentTime: 0,
|
|
50
|
+
volume: 1,
|
|
51
|
+
status: 'paused',
|
|
52
|
+
duration: 0,
|
|
53
|
+
isMuted: false
|
|
54
|
+
});
|
|
55
|
+
(0, _defineProperty2.default)(_this, "onLoadedData", function () {
|
|
56
|
+
var defaultTime = _this.props.defaultTime;
|
|
57
|
+
if (_this.currentElement) {
|
|
58
|
+
_this.currentElement.currentTime = defaultTime;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
(0, _defineProperty2.default)(_this, "onVolumeChange", function (event) {
|
|
62
|
+
var video = event.target;
|
|
63
|
+
var _getVolumeFromVideo = getVolumeFromVideo(video),
|
|
64
|
+
volume = _getVolumeFromVideo.volume,
|
|
65
|
+
isMuted = _getVolumeFromVideo.isMuted;
|
|
66
|
+
_this.setState({
|
|
67
|
+
volume: volume,
|
|
68
|
+
isMuted: isMuted
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
(0, _defineProperty2.default)(_this, "onTimeUpdate", function (event) {
|
|
72
|
+
var video = event.target;
|
|
73
|
+
var onTimeChange = _this.props.onTimeChange;
|
|
74
|
+
var duration = _this.state.duration;
|
|
75
|
+
var flooredTime = Math.floor(video.currentTime);
|
|
76
|
+
if (onTimeChange && flooredTime !== _this.previousTime) {
|
|
77
|
+
onTimeChange(flooredTime, duration);
|
|
78
|
+
_this.previousTime = flooredTime;
|
|
79
|
+
}
|
|
80
|
+
_this.setState({
|
|
81
|
+
currentTime: video.currentTime
|
|
82
|
+
});
|
|
83
|
+
if (video.buffered.length) {
|
|
84
|
+
var buffered = video.buffered.end(video.buffered.length - 1);
|
|
85
|
+
_this.setState({
|
|
86
|
+
buffered: buffered
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
(0, _defineProperty2.default)(_this, "onCanPlay", function (event) {
|
|
91
|
+
var onCanPlay = _this.props.onCanPlay;
|
|
92
|
+
var video = event.target;
|
|
93
|
+
var _getVolumeFromVideo2 = getVolumeFromVideo(video),
|
|
94
|
+
volume = _getVolumeFromVideo2.volume,
|
|
95
|
+
isMuted = _getVolumeFromVideo2.isMuted;
|
|
96
|
+
_this.setState({
|
|
97
|
+
volume: volume,
|
|
98
|
+
isMuted: isMuted,
|
|
99
|
+
isLoading: false,
|
|
100
|
+
currentTime: video.currentTime,
|
|
101
|
+
duration: video.duration
|
|
102
|
+
});
|
|
103
|
+
if (!_this.hasCanPlayTriggered) {
|
|
104
|
+
// protect against browser firing this event multiple times
|
|
105
|
+
_this.hasCanPlayTriggered = true;
|
|
106
|
+
onCanPlay && onCanPlay(event);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
(0, _defineProperty2.default)(_this, "onPlay", function () {
|
|
110
|
+
_this.setState({
|
|
111
|
+
status: 'playing'
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
(0, _defineProperty2.default)(_this, "onPause", function () {
|
|
115
|
+
_this.setState({
|
|
116
|
+
status: 'paused'
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
(0, _defineProperty2.default)(_this, "play", function () {
|
|
120
|
+
_this.currentElement && _this.currentElement.play();
|
|
121
|
+
});
|
|
122
|
+
(0, _defineProperty2.default)(_this, "pause", function () {
|
|
123
|
+
_this.currentElement && _this.currentElement.pause();
|
|
124
|
+
});
|
|
125
|
+
(0, _defineProperty2.default)(_this, "navigate", function (time) {
|
|
126
|
+
_this.setState({
|
|
127
|
+
currentTime: time
|
|
128
|
+
});
|
|
129
|
+
_this.currentElement && (_this.currentElement.currentTime = time);
|
|
130
|
+
});
|
|
131
|
+
(0, _defineProperty2.default)(_this, "setVolume", function (volume) {
|
|
132
|
+
_this.setState({
|
|
133
|
+
volume: volume
|
|
134
|
+
});
|
|
135
|
+
_this.currentElement && (_this.currentElement.volume = volume);
|
|
136
|
+
});
|
|
137
|
+
(0, _defineProperty2.default)(_this, "setPlaybackSpeed", function (playbackSpeed) {
|
|
138
|
+
_this.currentElement && (_this.currentElement.playbackRate = playbackSpeed);
|
|
139
|
+
});
|
|
140
|
+
(0, _defineProperty2.default)(_this, "requestFullscreen", function () {
|
|
141
|
+
var sourceType = _this.props.sourceType;
|
|
142
|
+
if (sourceType === 'video') {
|
|
143
|
+
(0, _utils.requestFullScreen)(_this.currentElement);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
(0, _defineProperty2.default)(_this, "mute", function () {
|
|
147
|
+
var volume = _this.state.volume;
|
|
148
|
+
_this.previousVolume = volume;
|
|
149
|
+
_this.setVolume(0);
|
|
150
|
+
});
|
|
151
|
+
(0, _defineProperty2.default)(_this, "unmute", function () {
|
|
152
|
+
_this.setVolume(_this.previousVolume);
|
|
153
|
+
});
|
|
154
|
+
(0, _defineProperty2.default)(_this, "toggleMute", function () {
|
|
155
|
+
var volume = _this.videoState.volume;
|
|
156
|
+
if (volume > 0) {
|
|
157
|
+
_this.mute();
|
|
158
|
+
} else {
|
|
159
|
+
_this.unmute();
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
(0, _defineProperty2.default)(_this, "onDurationChange", function (event) {
|
|
163
|
+
var video = event.target;
|
|
164
|
+
_this.setState({
|
|
165
|
+
duration: video.duration
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
(0, _defineProperty2.default)(_this, "onError", function (event) {
|
|
169
|
+
var onError = _this.props.onError;
|
|
170
|
+
var video = event.target;
|
|
171
|
+
_this.setState({
|
|
172
|
+
isLoading: false,
|
|
173
|
+
status: 'errored',
|
|
174
|
+
error: video.error
|
|
175
|
+
});
|
|
176
|
+
onError && onError(event);
|
|
177
|
+
});
|
|
178
|
+
(0, _defineProperty2.default)(_this, "onWaiting", function () {
|
|
179
|
+
_this.setState({
|
|
180
|
+
isLoading: true
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
(0, _defineProperty2.default)(_this, "renderTracks", function (kind) {
|
|
184
|
+
var _textTracks$kind;
|
|
185
|
+
var textTracks = _this.props.textTracks;
|
|
186
|
+
if (textTracks && Array.isArray((_textTracks$kind = textTracks[kind]) === null || _textTracks$kind === void 0 ? void 0 : _textTracks$kind.tracks)) {
|
|
187
|
+
var _textTracks$kind2, _textTracks$kind3;
|
|
188
|
+
var tracks = (_textTracks$kind2 = textTracks[kind]) === null || _textTracks$kind2 === void 0 ? void 0 : _textTracks$kind2.tracks;
|
|
189
|
+
var selectedIndex = (_textTracks$kind3 = textTracks[kind]) === null || _textTracks$kind3 === void 0 ? void 0 : _textTracks$kind3.selectedTrackIndex;
|
|
190
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, tracks === null || tracks === void 0 ? void 0 : tracks.map(function (_ref, index) {
|
|
191
|
+
var src = _ref.src,
|
|
192
|
+
lang = _ref.lang,
|
|
193
|
+
label = _ref.label;
|
|
194
|
+
return /*#__PURE__*/React.createElement("track", {
|
|
195
|
+
key: index,
|
|
196
|
+
id: (0, _text.getVideoTextTrackId)(kind, lang),
|
|
197
|
+
kind: kind,
|
|
198
|
+
src: src,
|
|
199
|
+
srcLang: lang,
|
|
200
|
+
label: label,
|
|
201
|
+
default: index === selectedIndex
|
|
202
|
+
});
|
|
203
|
+
}));
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
});
|
|
207
|
+
return _this;
|
|
208
|
+
}
|
|
209
|
+
(0, _inherits2.default)(Video, _Component);
|
|
210
|
+
return (0, _createClass2.default)(Video, [{
|
|
211
|
+
key: "componentDidUpdate",
|
|
212
|
+
value: function componentDidUpdate(prevProps) {
|
|
213
|
+
var src = this.props.src;
|
|
214
|
+
var _this$state = this.state,
|
|
215
|
+
currentTime = _this$state.currentTime,
|
|
216
|
+
status = _this$state.status;
|
|
217
|
+
var hasSrcChanged = prevProps.src !== src;
|
|
218
|
+
if (hasSrcChanged) {
|
|
219
|
+
this.hasCanPlayTriggered = false;
|
|
220
|
+
// TODO: add test to cover this case
|
|
221
|
+
if (status === 'playing') {
|
|
222
|
+
this.play();
|
|
223
|
+
}
|
|
224
|
+
this.navigate(currentTime);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
key: "videoState",
|
|
229
|
+
get: function get() {
|
|
230
|
+
var _this2 = this;
|
|
231
|
+
var _this$state2 = this.state,
|
|
232
|
+
currentTime = _this$state2.currentTime,
|
|
233
|
+
volume = _this$state2.volume,
|
|
234
|
+
status = _this$state2.status,
|
|
235
|
+
duration = _this$state2.duration,
|
|
236
|
+
buffered = _this$state2.buffered,
|
|
237
|
+
isMuted = _this$state2.isMuted,
|
|
238
|
+
isLoading = _this$state2.isLoading,
|
|
239
|
+
error = _this$state2.error;
|
|
240
|
+
return {
|
|
241
|
+
currentTime: currentTime,
|
|
242
|
+
currentActiveCues: function currentActiveCues(kind, lang) {
|
|
243
|
+
var _this2$videoRef$curre;
|
|
244
|
+
return (_this2$videoRef$curre = _this2.videoRef.current) === null || _this2$videoRef$curre === void 0 || (_this2$videoRef$curre = _this2$videoRef$curre.textTracks.getTrackById((0, _text.getVideoTextTrackId)(kind, lang))) === null || _this2$videoRef$curre === void 0 ? void 0 : _this2$videoRef$curre.activeCues;
|
|
245
|
+
},
|
|
246
|
+
volume: volume,
|
|
247
|
+
status: status,
|
|
248
|
+
duration: duration,
|
|
249
|
+
buffered: buffered,
|
|
250
|
+
isMuted: isMuted,
|
|
251
|
+
isLoading: isLoading,
|
|
252
|
+
error: error
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
}, {
|
|
256
|
+
key: "currentElement",
|
|
257
|
+
get: function get() {
|
|
258
|
+
var sourceType = this.props.sourceType;
|
|
259
|
+
if (sourceType === 'video' && this.videoRef.current) {
|
|
260
|
+
return this.videoRef.current;
|
|
261
|
+
} else if (sourceType === 'audio' && this.audioRef.current) {
|
|
262
|
+
return this.audioRef.current;
|
|
263
|
+
} else {
|
|
264
|
+
return undefined;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}, {
|
|
268
|
+
key: "actions",
|
|
269
|
+
get: function get() {
|
|
270
|
+
var play = this.play,
|
|
271
|
+
pause = this.pause,
|
|
272
|
+
navigate = this.navigate,
|
|
273
|
+
setVolume = this.setVolume,
|
|
274
|
+
setPlaybackSpeed = this.setPlaybackSpeed,
|
|
275
|
+
requestFullscreen = this.requestFullscreen,
|
|
276
|
+
mute = this.mute,
|
|
277
|
+
unmute = this.unmute,
|
|
278
|
+
toggleMute = this.toggleMute;
|
|
279
|
+
return {
|
|
280
|
+
play: play,
|
|
281
|
+
pause: pause,
|
|
282
|
+
navigate: navigate,
|
|
283
|
+
setVolume: setVolume,
|
|
284
|
+
setPlaybackSpeed: setPlaybackSpeed,
|
|
285
|
+
requestFullscreen: requestFullscreen,
|
|
286
|
+
mute: mute,
|
|
287
|
+
unmute: unmute,
|
|
288
|
+
toggleMute: toggleMute
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
}, {
|
|
292
|
+
key: "render",
|
|
293
|
+
value: function render() {
|
|
294
|
+
var videoState = this.videoState,
|
|
295
|
+
actions = this.actions;
|
|
296
|
+
var _this$props = this.props,
|
|
297
|
+
sourceType = _this$props.sourceType,
|
|
298
|
+
poster = _this$props.poster,
|
|
299
|
+
src = _this$props.src,
|
|
300
|
+
children = _this$props.children,
|
|
301
|
+
autoPlay = _this$props.autoPlay,
|
|
302
|
+
controls = _this$props.controls,
|
|
303
|
+
preload = _this$props.preload,
|
|
304
|
+
crossOrigin = _this$props.crossOrigin;
|
|
305
|
+
var props = {
|
|
306
|
+
src: src,
|
|
307
|
+
preload: preload,
|
|
308
|
+
controls: controls,
|
|
309
|
+
autoPlay: autoPlay,
|
|
310
|
+
onLoadedData: this.onLoadedData,
|
|
311
|
+
onPlay: this.onPlay,
|
|
312
|
+
onPause: this.onPause,
|
|
313
|
+
onVolumeChange: this.onVolumeChange,
|
|
314
|
+
onTimeUpdate: this.onTimeUpdate,
|
|
315
|
+
onCanPlay: this.onCanPlay,
|
|
316
|
+
onDurationChange: this.onDurationChange,
|
|
317
|
+
onError: this.onError,
|
|
318
|
+
onWaiting: this.onWaiting,
|
|
319
|
+
crossOrigin: crossOrigin
|
|
320
|
+
};
|
|
321
|
+
if (sourceType === 'video') {
|
|
322
|
+
return children(
|
|
323
|
+
/*#__PURE__*/
|
|
324
|
+
// eslint-disable-next-line jsx-a11y/media-has-caption
|
|
325
|
+
React.createElement("video", (0, _extends2.default)({
|
|
326
|
+
ref: this.videoRef,
|
|
327
|
+
poster: poster
|
|
328
|
+
}, props), this.renderTracks('subtitles'), this.renderTracks('captions'), this.renderTracks('descriptions'), this.renderTracks('chapters'), this.renderTracks('metadata')), videoState, actions, this.videoRef);
|
|
329
|
+
} else {
|
|
330
|
+
// eslint-disable-next-line jsx-a11y/media-has-caption
|
|
331
|
+
return children( /*#__PURE__*/React.createElement("audio", (0, _extends2.default)({
|
|
332
|
+
ref: this.audioRef
|
|
333
|
+
}, props)), videoState, actions, this.audioRef);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}]);
|
|
337
|
+
}(_react.Component);
|
|
338
|
+
(0, _defineProperty2.default)(Video, "defaultProps", {
|
|
339
|
+
defaultTime: 0,
|
|
340
|
+
sourceType: 'video',
|
|
341
|
+
autoPlay: false,
|
|
342
|
+
controls: false,
|
|
343
|
+
preload: isSafari ? 'auto' : 'metadata'
|
|
344
|
+
});
|
package/dist/cjs/messages.js
CHANGED
|
@@ -755,5 +755,25 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
|
|
|
755
755
|
id: 'fabric.media.abuse_modal_submit',
|
|
756
756
|
defaultMessage: 'Proceed with download',
|
|
757
757
|
description: 'Abuse Modal Submit button caption'
|
|
758
|
+
},
|
|
759
|
+
image_cropper_arrow_keys_label: {
|
|
760
|
+
id: 'media.media-avatar-picker.image-cropper.arrow-keys.label',
|
|
761
|
+
defaultMessage: 'Draggable Image, Ensure your screen reader is not in browse mode. use arrow keys to move & crop the image',
|
|
762
|
+
description: 'Inform about the image crop functionality using arrow keys'
|
|
763
|
+
},
|
|
764
|
+
image_cropper_image_moved: {
|
|
765
|
+
id: 'media.media-avatar-picker.image-cropper.arrow-keys.action',
|
|
766
|
+
defaultMessage: 'You have moved the image from {key, select, left {left to right} right {right to left} top {top to bottom} other {bottom to top} }, use arrow keys to move & crop the image',
|
|
767
|
+
description: 'Inform about the image movement when the arrow keys are pressed'
|
|
768
|
+
},
|
|
769
|
+
image_cropper_zoom_out: {
|
|
770
|
+
id: 'media.media-avatar-picker.image-cropper.zoom_out',
|
|
771
|
+
defaultMessage: 'to 0% zoom',
|
|
772
|
+
description: 'Label for the zoom out button in image cropper slider'
|
|
773
|
+
},
|
|
774
|
+
image_cropper_zoom_in: {
|
|
775
|
+
id: 'media.media-avatar-picker.image-cropper.zoom_in',
|
|
776
|
+
defaultMessage: 'to 100% zoom',
|
|
777
|
+
description: 'Label for the zoom in button in image cropper slider'
|
|
758
778
|
}
|
|
759
779
|
});
|
|
@@ -12,14 +12,14 @@ import PauseIcon from '@atlaskit/icon/core/migration/video-pause--vid-pause';
|
|
|
12
12
|
import FullScreenIconOn from '@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on';
|
|
13
13
|
import FullScreenIconOff from '@atlaskit/icon/core/migration/shrink-diagonal--vid-full-screen-off';
|
|
14
14
|
import SoundIcon from '@atlaskit/icon/core/migration/volume-high--hipchat-outgoing-sound';
|
|
15
|
-
import
|
|
15
|
+
import VideoHdIcon from '@atlaskit/icon-lab/core/video-hd';
|
|
16
|
+
import VideoHdFilledIcon from '@atlaskit/icon-lab/core/video-hd-filled';
|
|
16
17
|
import DownloadIcon from '@atlaskit/icon/core/migration/download';
|
|
17
18
|
import { Box, Flex } from '@atlaskit/primitives/compiled';
|
|
18
19
|
import MediaButton from '../MediaButton';
|
|
19
20
|
import Spinner from '@atlaskit/spinner';
|
|
20
21
|
import { WidthObserver } from '@atlaskit/width-detector';
|
|
21
|
-
import MediaPlayer from 'react-video-renderer';
|
|
22
|
-
import { N0, DN60 } from '@atlaskit/theme/colors';
|
|
22
|
+
import MediaPlayer from './react-video-renderer';
|
|
23
23
|
import { TimeRange } from './timeRange';
|
|
24
24
|
import VolumeRange from './volumeRange';
|
|
25
25
|
import { CurrentTime, VolumeWrapper, LeftControls, RightControls, VolumeToggleWrapper, MutedIndicator, VolumeTimeRangeWrapper } from './styled';
|
|
@@ -149,18 +149,12 @@ export class CustomMediaPlayerBase extends Component {
|
|
|
149
149
|
if (type === 'audio' || !isHDAvailable) {
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
|
-
const primaryColor = isHDActive ? '#579DFF' : '#c7d1db';
|
|
153
|
-
const secondaryColor = isHDActive ? N0 : DN60;
|
|
154
152
|
return /*#__PURE__*/React.createElement(MediaButton, {
|
|
155
153
|
testId: "custom-media-player-hd-button",
|
|
156
154
|
onClick: !!onHDToggleClick ? this.getMediaButtonClickHandler(onHDToggleClick, 'HDButton') : undefined,
|
|
157
|
-
iconBefore:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
// eslint-disable-next-line @atlaskit/design-system/no-legacy-icons
|
|
161
|
-
React.createElement(HDIcon, {
|
|
162
|
-
primaryColor: primaryColor,
|
|
163
|
-
secondaryColor: secondaryColor,
|
|
155
|
+
iconBefore: isHDActive ? /*#__PURE__*/React.createElement(VideoHdFilledIcon, {
|
|
156
|
+
label: "hd active"
|
|
157
|
+
}) : /*#__PURE__*/React.createElement(VideoHdIcon, {
|
|
164
158
|
label: "hd"
|
|
165
159
|
})
|
|
166
160
|
});
|
|
@@ -9,14 +9,14 @@ import PauseIcon from '@atlaskit/icon/core/migration/video-pause--vid-pause';
|
|
|
9
9
|
import FullScreenIconOn from '@atlaskit/icon/core/migration/fullscreen-enter--vid-full-screen-on';
|
|
10
10
|
import FullScreenIconOff from '@atlaskit/icon/core/migration/shrink-diagonal--vid-full-screen-off';
|
|
11
11
|
import SoundIcon from '@atlaskit/icon/core/migration/volume-high--hipchat-outgoing-sound';
|
|
12
|
-
import
|
|
12
|
+
import VideoHdIcon from '@atlaskit/icon-lab/core/video-hd';
|
|
13
|
+
import VideoHdFilledIcon from '@atlaskit/icon-lab/core/video-hd-filled';
|
|
13
14
|
import DownloadIcon from '@atlaskit/icon/core/migration/download';
|
|
14
15
|
import { xcss, Box, Flex } from '@atlaskit/primitives';
|
|
15
16
|
import MediaButton from '../MediaButton';
|
|
16
17
|
import Spinner from '@atlaskit/spinner';
|
|
17
18
|
import { WidthObserver } from '@atlaskit/width-detector';
|
|
18
|
-
import MediaPlayer from 'react-video-renderer';
|
|
19
|
-
import { N0, DN60 } from '@atlaskit/theme/colors';
|
|
19
|
+
import MediaPlayer from './react-video-renderer';
|
|
20
20
|
import { TimeRange } from './timeRange';
|
|
21
21
|
import VolumeRange from './volumeRange';
|
|
22
22
|
import { CurrentTime, VolumeWrapper, LeftControls, RightControls, VolumeToggleWrapper, MutedIndicator, VolumeTimeRangeWrapper } from './styled';
|
|
@@ -158,18 +158,12 @@ export class CustomMediaPlayerBase extends Component {
|
|
|
158
158
|
if (type === 'audio' || !isHDAvailable) {
|
|
159
159
|
return;
|
|
160
160
|
}
|
|
161
|
-
const primaryColor = isHDActive ? '#579DFF' : '#c7d1db';
|
|
162
|
-
const secondaryColor = isHDActive ? N0 : DN60;
|
|
163
161
|
return /*#__PURE__*/React.createElement(MediaButton, {
|
|
164
162
|
testId: "custom-media-player-hd-button",
|
|
165
163
|
onClick: !!onHDToggleClick ? this.getMediaButtonClickHandler(onHDToggleClick, 'HDButton') : undefined,
|
|
166
|
-
iconBefore:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// eslint-disable-next-line @atlaskit/design-system/no-legacy-icons
|
|
170
|
-
React.createElement(HDIcon, {
|
|
171
|
-
primaryColor: primaryColor,
|
|
172
|
-
secondaryColor: secondaryColor,
|
|
164
|
+
iconBefore: isHDActive ? /*#__PURE__*/React.createElement(VideoHdFilledIcon, {
|
|
165
|
+
label: "hd active"
|
|
166
|
+
}) : /*#__PURE__*/React.createElement(VideoHdIcon, {
|
|
173
167
|
label: "hd"
|
|
174
168
|
})
|
|
175
169
|
});
|
|
@@ -7,7 +7,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
7
7
|
import { withMediaAnalyticsContext } from '@atlaskit/media-common';
|
|
8
8
|
export const CustomMediaPlayerBase = props => fg('platform_media_compiled') ? /*#__PURE__*/React.createElement(CompiledCustomMediaPlayerBase, props) : /*#__PURE__*/React.createElement(EmotionCustomMediaPlayerBase, props);
|
|
9
9
|
const packageName = "@atlaskit/media-ui";
|
|
10
|
-
const packageVersion = "28.1.
|
|
10
|
+
const packageVersion = "28.1.8";
|
|
11
11
|
|
|
12
12
|
// @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
|
|
13
13
|
export const CustomMediaPlayer = withMediaAnalyticsContext({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._1di6r5ow:active{background-color:#a6c5e229}
|