@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.
Files changed (46) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/customMediaPlayer/index-compiled.js +6 -12
  3. package/dist/cjs/customMediaPlayer/index-emotion.js +6 -12
  4. package/dist/cjs/customMediaPlayer/index.js +1 -1
  5. package/dist/cjs/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
  6. package/dist/cjs/customMediaPlayer/playbackSpeedControls.js +15 -0
  7. package/dist/cjs/customMediaPlayer/react-video-renderer/index.js +12 -0
  8. package/dist/cjs/customMediaPlayer/react-video-renderer/text.js +9 -0
  9. package/dist/cjs/customMediaPlayer/react-video-renderer/utils.js +13 -0
  10. package/dist/cjs/customMediaPlayer/react-video-renderer/video.js +344 -0
  11. package/dist/cjs/messages.js +20 -0
  12. package/dist/es2019/customMediaPlayer/index-compiled.js +6 -12
  13. package/dist/es2019/customMediaPlayer/index-emotion.js +6 -12
  14. package/dist/es2019/customMediaPlayer/index.js +1 -1
  15. package/dist/es2019/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
  16. package/dist/es2019/customMediaPlayer/playbackSpeedControls.js +14 -1
  17. package/dist/es2019/customMediaPlayer/react-video-renderer/index.js +1 -0
  18. package/dist/es2019/customMediaPlayer/react-video-renderer/text.js +1 -0
  19. package/dist/es2019/customMediaPlayer/react-video-renderer/utils.js +5 -0
  20. package/dist/es2019/customMediaPlayer/react-video-renderer/video.js +338 -0
  21. package/dist/es2019/messages.js +20 -0
  22. package/dist/esm/customMediaPlayer/index-compiled.js +6 -12
  23. package/dist/esm/customMediaPlayer/index-emotion.js +6 -12
  24. package/dist/esm/customMediaPlayer/index.js +1 -1
  25. package/dist/esm/customMediaPlayer/playbackSpeedControls.compiled.css +1 -0
  26. package/dist/esm/customMediaPlayer/playbackSpeedControls.js +16 -1
  27. package/dist/esm/customMediaPlayer/react-video-renderer/index.js +1 -0
  28. package/dist/esm/customMediaPlayer/react-video-renderer/text.js +3 -0
  29. package/dist/esm/customMediaPlayer/react-video-renderer/utils.js +7 -0
  30. package/dist/esm/customMediaPlayer/react-video-renderer/video.js +334 -0
  31. package/dist/esm/messages.js +20 -0
  32. package/dist/types/customMediaPlayer/analytics/utils/playbackAttributes.d.ts +1 -1
  33. package/dist/types/customMediaPlayer/playbackSpeedControls.d.ts +6 -1
  34. package/dist/types/customMediaPlayer/react-video-renderer/index.d.ts +3 -0
  35. package/dist/types/customMediaPlayer/react-video-renderer/text.d.ts +18 -0
  36. package/dist/types/customMediaPlayer/react-video-renderer/utils.d.ts +1 -0
  37. package/dist/types/customMediaPlayer/react-video-renderer/video.d.ts +96 -0
  38. package/dist/types/messages.d.ts +1 -1
  39. package/dist/types-ts4.5/customMediaPlayer/analytics/utils/playbackAttributes.d.ts +1 -1
  40. package/dist/types-ts4.5/customMediaPlayer/playbackSpeedControls.d.ts +6 -1
  41. package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/index.d.ts +3 -0
  42. package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/text.d.ts +18 -0
  43. package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/utils.d.ts +1 -0
  44. package/dist/types-ts4.5/customMediaPlayer/react-video-renderer/video.d.ts +96 -0
  45. package/dist/types-ts4.5/messages.d.ts +1 -1
  46. 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 _vidHdCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-hd-circle"));
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
- /*#__PURE__*/
176
- //TODO: https://product-fabric.atlassian.net/browse/DSP-20900
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 _vidHdCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/vid-hd-circle"));
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
- /*#__PURE__*/
185
- //TODO: https://product-fabric.atlassian.net/browse/DSP-20900
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.7";
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,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _video.Video;
10
+ }
11
+ });
12
+ var _video = require("./video");
@@ -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
+ });
@@ -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 HDIcon from '@atlaskit/icon/glyph/vid-hd-circle';
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
- /*#__PURE__*/
159
- //TODO: https://product-fabric.atlassian.net/browse/DSP-20900
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 HDIcon from '@atlaskit/icon/glyph/vid-hd-circle';
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
- /*#__PURE__*/
168
- //TODO: https://product-fabric.atlassian.net/browse/DSP-20900
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.7";
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}