@atlaskit/media-ui 28.4.0 → 28.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/customMediaPlayer/dropdownControlCommon.js +102 -0
  3. package/dist/cjs/customMediaPlayer/index.js +1 -1
  4. package/dist/cjs/customMediaPlayer/mediaPlayer/captionsAdminControls.js +80 -50
  5. package/dist/cjs/customMediaPlayer/mediaPlayer/captionsSelectControls.js +64 -55
  6. package/dist/cjs/customMediaPlayer/mediaPlayer/mediaPlayer.js +1 -1
  7. package/dist/cjs/customMediaPlayer/playbackSpeedControls.js +10 -81
  8. package/dist/cjs/messages.js +9 -4
  9. package/dist/es2019/customMediaPlayer/dropdownControlCommon.js +86 -0
  10. package/dist/es2019/customMediaPlayer/index.js +1 -1
  11. package/dist/es2019/customMediaPlayer/mediaPlayer/captionsAdminControls.js +72 -37
  12. package/dist/es2019/customMediaPlayer/mediaPlayer/captionsSelectControls.js +52 -42
  13. package/dist/es2019/customMediaPlayer/mediaPlayer/mediaPlayer.js +1 -1
  14. package/dist/es2019/customMediaPlayer/playbackSpeedControls.js +5 -71
  15. package/dist/es2019/messages.js +9 -4
  16. package/dist/esm/customMediaPlayer/dropdownControlCommon.js +97 -0
  17. package/dist/esm/customMediaPlayer/index.js +1 -1
  18. package/dist/esm/customMediaPlayer/mediaPlayer/captionsAdminControls.js +81 -50
  19. package/dist/esm/customMediaPlayer/mediaPlayer/captionsSelectControls.js +64 -55
  20. package/dist/esm/customMediaPlayer/mediaPlayer/mediaPlayer.js +1 -1
  21. package/dist/esm/customMediaPlayer/playbackSpeedControls.js +9 -82
  22. package/dist/esm/messages.js +9 -4
  23. package/dist/types/customMediaPlayer/dropdownControlCommon.d.ts +9 -0
  24. package/dist/types/customMediaPlayer/mediaPlayer/captionsSelectControls.d.ts +0 -1
  25. package/dist/types/customMediaPlayer/playbackSpeedControls.d.ts +1 -7
  26. package/dist/types/messages.d.ts +1 -1
  27. package/dist/types-ts4.5/customMediaPlayer/dropdownControlCommon.d.ts +9 -0
  28. package/dist/types-ts4.5/customMediaPlayer/mediaPlayer/captionsSelectControls.d.ts +0 -1
  29. package/dist/types-ts4.5/customMediaPlayer/playbackSpeedControls.d.ts +1 -7
  30. package/dist/types-ts4.5/messages.d.ts +1 -1
  31. package/package.json +4 -4
  32. /package/dist/cjs/customMediaPlayer/{playbackSpeedControls.compiled.css → dropdownControlCommon.compiled.css} +0 -0
  33. /package/dist/es2019/customMediaPlayer/{playbackSpeedControls.compiled.css → dropdownControlCommon.compiled.css} +0 -0
  34. /package/dist/esm/customMediaPlayer/{playbackSpeedControls.compiled.css → dropdownControlCommon.compiled.css} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/media-ui
2
2
 
3
+ ## 28.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#177511](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/177511)
8
+ [`e25a6c41d6bdb`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e25a6c41d6bdb) -
9
+ Updated UI for Video Captions dropdown controls
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 28.4.1
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+
3
21
  ## 28.4.0
4
22
 
5
23
  ### Minor Changes
@@ -0,0 +1,102 @@
1
+ /* dropdownControlCommon.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.popupSelectComponents = exports.popupCustomStyles = exports.popperProps = exports.createPopupSelectComponentsWithIcon = void 0;
9
+ require("./dropdownControlCommon.compiled.css");
10
+ var _runtime = require("@compiled/react/runtime");
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _select = require("@atlaskit/select");
16
+ var _colors = require("@atlaskit/theme/colors");
17
+ var _primitives = require("@atlaskit/primitives");
18
+ var _excluded = ["children"];
19
+ 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; }
20
+ 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; } /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */ // Keep PlaybackSpeedControls to use static colors from the new color palette to support the hybrid
21
+ // theming in media viewer https://product-fabric.atlassian.net/browse/DSP-6067
22
+ // with the compiled react, we are leaving the static colors in tact for now.
23
+ var popupCustomStyles = exports.popupCustomStyles = {
24
+ container: function container(styles) {
25
+ return _objectSpread(_objectSpread({}, styles), {}, {
26
+ backgroundColor: '#22272b',
27
+ boxShadow: 'inset 0px 0px 0px 1px #bcd6f00a,0px 8px 12px #0304045c,0px 0px 1px #03040480'
28
+ });
29
+ },
30
+ // added these overrides to keep the look of the current design
31
+ // however this does not benefit from the DS a11y changes
32
+ menuList: function menuList(styles) {
33
+ return _objectSpread(_objectSpread({}, styles), {}, {
34
+ padding: '4px 0px'
35
+ });
36
+ },
37
+ option: function option(styles, _ref) {
38
+ var isFocused = _ref.isFocused,
39
+ isSelected = _ref.isSelected;
40
+ return _objectSpread(_objectSpread({}, styles), {}, {
41
+ color: isSelected ? '#579dff' : _colors.DN900,
42
+ backgroundColor: isSelected ? '#082145' : isFocused ? '#a1bdd914' : '#22272b',
43
+ ':active': {
44
+ backgroundColor: '#a6c5e229'
45
+ }
46
+ });
47
+ },
48
+ groupHeading: function groupHeading(styles) {
49
+ return _objectSpread(_objectSpread({}, styles), {}, {
50
+ color: '#9fadbc'
51
+ });
52
+ }
53
+ };
54
+ var popperProps = exports.popperProps = {
55
+ strategy: 'fixed',
56
+ modifiers: [{
57
+ name: 'preventOverflow',
58
+ enabled: true
59
+ }, {
60
+ name: 'eventListeners',
61
+ options: {
62
+ scroll: true,
63
+ resize: true
64
+ }
65
+ }, {
66
+ name: 'offset',
67
+ enabled: true,
68
+ options: {
69
+ offset: [0, 10]
70
+ }
71
+ }],
72
+ placement: 'top'
73
+ };
74
+ var selectOptionStyles = {
75
+ root: "_1di6r5ow"
76
+ };
77
+ var popupSelectComponents = exports.popupSelectComponents = {
78
+ Option: function Option(props) {
79
+ return /*#__PURE__*/_react.default.createElement(_select.components.Option, (0, _extends2.default)({}, props, {
80
+ xcss: selectOptionStyles.root
81
+ }));
82
+ }
83
+ };
84
+ var createPopupSelectComponentsWithIcon = exports.createPopupSelectComponentsWithIcon = function createPopupSelectComponentsWithIcon(IconComponent) {
85
+ return {
86
+ Option: function Option(_ref2) {
87
+ var children = _ref2.children,
88
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
89
+ var childrenWithIcon = /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
90
+ justifyContent: "space-between",
91
+ alignItems: "center"
92
+ }, children, /*#__PURE__*/_react.default.createElement(IconComponent, {
93
+ label: props.label,
94
+ value: "".concat(props.data.value)
95
+ }));
96
+ return /*#__PURE__*/_react.default.createElement(_select.components.Option, (0, _extends2.default)({}, props, {
97
+ children: childrenWithIcon,
98
+ xcss: selectOptionStyles.root
99
+ }));
100
+ }
101
+ };
102
+ };
@@ -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.3.4";
19
+ var packageVersion = "28.4.1";
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)({
@@ -6,65 +6,95 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports._CaptionsAdminControls = exports.CaptionsAdminControls = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireDefault(require("react"));
12
- var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
13
11
  var _upload = _interopRequireDefault(require("@atlaskit/icon/core/upload"));
14
12
  var _delete = _interopRequireDefault(require("@atlaskit/icon/core/delete"));
15
- var _new = require("@atlaskit/button/new");
16
13
  var _settings = _interopRequireDefault(require("@atlaskit/icon/core/settings"));
17
14
  var _messages = require("../../messages");
18
15
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
19
16
  var _reactIntlNext = require("react-intl-next");
20
17
  var _captions = require("./captions");
21
- var _excluded = ["triggerRef"];
18
+ var _MediaButton = _interopRequireDefault(require("../../MediaButton"));
19
+ var _dropdownControlCommon = require("../dropdownControlCommon");
20
+ var _select = require("@atlaskit/select");
22
21
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
- var _CaptionsAdminControls = exports._CaptionsAdminControls = function _CaptionsAdminControls(_ref) {
24
- var _textTracks$captions;
25
- var intl = _ref.intl,
26
- _ref$textTracks = _ref.textTracks,
27
- textTracks = _ref$textTracks === void 0 ? {} : _ref$textTracks,
28
- onUpload = _ref.onUpload,
29
- onDelete = _ref.onDelete;
30
- var videoSettings = intl.formatMessage(_messages.messages.video_settings);
31
- return /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
32
- shouldRenderToParent: true,
33
- placement: "top-end",
34
- trigger: function trigger(_ref2) {
35
- var triggerRef = _ref2.triggerRef,
36
- triggerProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
37
- return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
38
- content: videoSettings,
39
- position: "top"
40
- }, /*#__PURE__*/_react.default.createElement(_new.IconButton, (0, _extends2.default)({
41
- ref: triggerRef
42
- }, triggerProps, {
43
- icon: _settings.default,
44
- label: videoSettings,
45
- appearance: "subtle"
46
- })));
47
- }
48
- }, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, {
49
- title: videoSettings
50
- }, (_textTracks$captions = textTracks.captions) === null || _textTracks$captions === void 0 ? void 0 : _textTracks$captions.tracks.map(function (track, index) {
51
- return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
52
- key: "".concat(track.lang, "-").concat(index),
53
- onClick: function onClick() {
54
- return onDelete(track.artifactName);
55
- },
56
- elemAfter: /*#__PURE__*/_react.default.createElement(_delete.default, {
57
- spacing: "spacious",
58
- label: "",
59
- color: "var(--ds-icon-danger, #C9372C)"
60
- })
61
- }, "".concat((0, _captions.formatLocale)(intl.locale, track.lang)));
62
- }), /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
63
- elemBefore: /*#__PURE__*/_react.default.createElement(_upload.default, {
22
+ var ADD_CAPTIONS_VALUE = 'add-captions';
23
+ var OptionIcon = function OptionIcon(_ref) {
24
+ var value = _ref.value;
25
+ if (value === ADD_CAPTIONS_VALUE) {
26
+ return /*#__PURE__*/_react.default.createElement(_upload.default, {
64
27
  spacing: "spacious",
65
28
  label: ""
66
- }),
67
- onClick: onUpload
68
- }, "Add Captions")));
29
+ });
30
+ }
31
+ return /*#__PURE__*/_react.default.createElement(_delete.default, {
32
+ spacing: "spacious",
33
+ label: "",
34
+ color: "var(--ds-icon-danger, #C9372C)"
35
+ });
36
+ };
37
+ var popupSelectComponents = (0, _dropdownControlCommon.createPopupSelectComponentsWithIcon)(OptionIcon);
38
+ var _CaptionsAdminControls = exports._CaptionsAdminControls = function _CaptionsAdminControls(_ref2) {
39
+ var intl = _ref2.intl,
40
+ _ref2$textTracks = _ref2.textTracks,
41
+ textTracks = _ref2$textTracks === void 0 ? {} : _ref2$textTracks,
42
+ onUpload = _ref2.onUpload,
43
+ onDelete = _ref2.onDelete;
44
+ var manageCaptions = intl.formatMessage(_messages.messages.manage_captions);
45
+ var addCaptions = intl.formatMessage(_messages.messages.add_captions);
46
+ var popupSelectOptions = (0, _react.useMemo)(function () {
47
+ var _textTracks$captions;
48
+ return [{
49
+ label: manageCaptions,
50
+ options: [].concat((0, _toConsumableArray2.default)(((_textTracks$captions = textTracks.captions) === null || _textTracks$captions === void 0 ? void 0 : _textTracks$captions.tracks.map(function (track) {
51
+ return {
52
+ label: (0, _captions.formatLocale)(intl.locale, track.lang),
53
+ value: track.artifactName
54
+ };
55
+ })) || []), [{
56
+ label: addCaptions,
57
+ value: ADD_CAPTIONS_VALUE
58
+ }])
59
+ }];
60
+ }, [textTracks, intl.locale, manageCaptions, addCaptions]);
61
+ var handleItemClick = function handleItemClick(option) {
62
+ if (option !== null && option !== void 0 && option.value) {
63
+ if (option.value === ADD_CAPTIONS_VALUE) {
64
+ onUpload();
65
+ } else {
66
+ onDelete("".concat(option.value));
67
+ }
68
+ }
69
+ };
70
+ return /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
71
+ searchThreshold: 100,
72
+ maxMenuHeight: 500,
73
+ minMenuWidth: 140,
74
+ options: popupSelectOptions,
75
+ onChange: handleItemClick,
76
+ components: popupSelectComponents,
77
+ target: function target(_ref3) {
78
+ var ref = _ref3.ref,
79
+ isOpen = _ref3.isOpen,
80
+ onKeyDown = _ref3.onKeyDown;
81
+ return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
82
+ content: manageCaptions,
83
+ position: "top"
84
+ }, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
85
+ testId: "custom-media-player-captions-select-button",
86
+ buttonRef: ref,
87
+ isSelected: isOpen,
88
+ onKeyDown: onKeyDown,
89
+ iconBefore: /*#__PURE__*/_react.default.createElement(_settings.default, {
90
+ size: "medium",
91
+ color: "currentColor",
92
+ label: manageCaptions
93
+ })
94
+ }));
95
+ },
96
+ styles: _dropdownControlCommon.popupCustomStyles,
97
+ popperProps: _dropdownControlCommon.popperProps
98
+ });
69
99
  };
70
100
  var CaptionsAdminControls = exports.CaptionsAdminControls = (0, _reactIntlNext.injectIntl)(_CaptionsAdminControls);
@@ -5,84 +5,93 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports._CaptionsSelectControls = exports.CaptionsSelectControls = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ exports.CaptionsSelectControls = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
10
  var _react = _interopRequireWildcard(require("react"));
13
11
  var _reactIntlNext = require("react-intl-next");
14
12
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
15
- var _new = _interopRequireWildcard(require("@atlaskit/button/new"));
16
- var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
13
+ var _new = require("@atlaskit/button/new");
17
14
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/migration/chevron-down"));
18
15
  var _messages = require("../../messages");
19
16
  var _captions = require("./captions");
20
- var _excluded = ["triggerRef"];
17
+ var _select = require("@atlaskit/select");
18
+ var _MediaButton = _interopRequireDefault(require("../../MediaButton"));
19
+ var _dropdownControlCommon = require("../dropdownControlCommon");
21
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
22
- var _CaptionsSelectControls = exports._CaptionsSelectControls = /*#__PURE__*/(0, _react.memo)(function (_ref) {
23
- var _textTracks$captions;
21
+ var CaptionsSelectControlsWithIntl = /*#__PURE__*/(0, _react.memo)(function (_ref) {
24
22
  var textTracks = _ref.textTracks,
25
23
  onSelected = _ref.onSelected,
26
24
  intl = _ref.intl,
27
25
  areCaptionsEnabled = _ref.areCaptionsEnabled,
28
26
  onCaptionsEnabledChange = _ref.onCaptionsEnabledChange,
29
27
  selectedTracksIndex = _ref.selectedTracksIndex;
30
- var _useState = (0, _react.useState)(selectedTracksIndex),
31
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
- selectedIndex = _useState2[0],
33
- setSelectedIndex = _useState2[1];
34
- (0, _react.useEffect)(function () {
35
- setSelectedIndex(selectedTracksIndex);
36
- }, [selectedTracksIndex]);
37
- var handleItemClick = function handleItemClick(index) {
38
- onSelected(index);
39
- setSelectedIndex(index);
28
+ var closedCaptions = (0, _react.useMemo)(function () {
29
+ return intl.formatMessage(_messages.messages.video_captions_enable);
30
+ }, [intl]);
31
+ var selectCaptions = (0, _react.useMemo)(function () {
32
+ return intl.formatMessage(_messages.messages.video_captions_select_captions);
33
+ }, [intl]);
34
+ var popupSelectOptions = (0, _react.useMemo)(function () {
35
+ var _textTracks$captions;
36
+ return [{
37
+ label: selectCaptions,
38
+ options: (0, _toConsumableArray2.default)(((_textTracks$captions = textTracks.captions) === null || _textTracks$captions === void 0 ? void 0 : _textTracks$captions.tracks.map(function (track, index) {
39
+ return {
40
+ label: "".concat((0, _captions.formatLocale)(intl.locale, track.lang)),
41
+ value: index
42
+ };
43
+ })) || [])
44
+ }];
45
+ }, [textTracks, intl.locale, selectCaptions]);
46
+ var popupSelectValue = (0, _react.useMemo)(function () {
47
+ return popupSelectOptions[0].options.find(function (option) {
48
+ return option.value === selectedTracksIndex;
49
+ });
50
+ }, [popupSelectOptions, selectedTracksIndex]);
51
+ var handleItemClick = function handleItemClick(option) {
52
+ var value = option && parseInt("".concat(option.value), 10) || 0;
53
+ onSelected(value);
40
54
  onCaptionsEnabledChange(true);
41
55
  };
42
- var closedCaptions = intl.formatMessage(_messages.messages.video_captions_enable);
43
- var selectCaptions = intl.formatMessage(_messages.messages.video_captions_select_captions);
44
56
  return /*#__PURE__*/_react.default.createElement(_new.SplitButton, null, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
45
57
  content: closedCaptions,
46
58
  position: "top"
47
- }, /*#__PURE__*/_react.default.createElement(_new.default, {
48
- appearance: areCaptionsEnabled ? 'default' : 'subtle',
59
+ }, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
60
+ testId: "custom-media-player-captions-toggle-button",
61
+ appearance: areCaptionsEnabled ? 'primary' : 'default',
49
62
  onClick: function onClick() {
50
63
  return onCaptionsEnabledChange(!areCaptionsEnabled);
51
64
  },
52
65
  "aria-label": closedCaptions
53
- }, "CC")), /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
54
- placement: "top",
55
- shouldRenderToParent: true,
56
- trigger: function trigger(_ref2) {
57
- var triggerRef = _ref2.triggerRef,
58
- triggerProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
66
+ }, "CC")), /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
67
+ searchThreshold: 100,
68
+ components: _dropdownControlCommon.popupSelectComponents,
69
+ maxMenuHeight: 400,
70
+ minMenuWidth: 140,
71
+ options: popupSelectOptions,
72
+ value: popupSelectValue,
73
+ onChange: handleItemClick,
74
+ target: function target(_ref2) {
75
+ var ref = _ref2.ref,
76
+ isOpen = _ref2.isOpen,
77
+ onKeyDown = _ref2.onKeyDown;
59
78
  return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
60
79
  content: selectCaptions,
61
80
  position: "top"
62
- }, /*#__PURE__*/_react.default.createElement(_new.IconButton, (0, _extends2.default)({
63
- ref: triggerRef
64
- }, triggerProps, {
65
- icon: function icon(iconProps) {
66
- return /*#__PURE__*/_react.default.createElement(_chevronDown.default, (0, _extends2.default)({}, iconProps, {
67
- size: "small"
68
- }));
69
- },
70
- label: selectCaptions,
71
- appearance: "subtle"
72
- })));
73
- }
74
- }, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, {
75
- title: selectCaptions
76
- }, ((_textTracks$captions = textTracks.captions) === null || _textTracks$captions === void 0 ? void 0 : _textTracks$captions.tracks.map(function (track, index) {
77
- return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
78
- key: "".concat(track.lang, "-").concat(index),
79
- onClick: function onClick() {
80
- return handleItemClick(index);
81
- },
82
- isSelected: index === selectedIndex
83
- }, "".concat((0, _captions.formatLocale)(intl.locale, track.lang)));
84
- })) || /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
85
- isDisabled: true
86
- }, closedCaptions))));
81
+ }, /*#__PURE__*/_react.default.createElement(_MediaButton.default, {
82
+ testId: "custom-media-player-captions-select-button",
83
+ buttonRef: ref,
84
+ isSelected: isOpen,
85
+ onKeyDown: onKeyDown,
86
+ iconBefore: /*#__PURE__*/_react.default.createElement(_chevronDown.default, {
87
+ size: "small",
88
+ color: "currentColor",
89
+ label: selectCaptions
90
+ })
91
+ }));
92
+ },
93
+ styles: _dropdownControlCommon.popupCustomStyles,
94
+ popperProps: _dropdownControlCommon.popperProps
95
+ }));
87
96
  });
88
- var CaptionsSelectControls = exports.CaptionsSelectControls = (0, _reactIntlNext.injectIntl)(_CaptionsSelectControls);
97
+ var CaptionsSelectControls = exports.CaptionsSelectControls = (0, _reactIntlNext.injectIntl)(CaptionsSelectControlsWithIntl);
@@ -13,7 +13,7 @@ var _mediaPlayerBase = require("./mediaPlayerBase");
13
13
  var _useTextTracks = require("./useTextTracks");
14
14
  var _analyticsNext = require("@atlaskit/analytics-next");
15
15
  var packageName = "@atlaskit/media-ui";
16
- var packageVersion = "28.3.4";
16
+ var packageVersion = "28.4.1";
17
17
  var MediaPlayerWihtoutContext = exports.MediaPlayerWihtoutContext = function MediaPlayerWihtoutContext(props) {
18
18
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
19
19
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
@@ -1,4 +1,3 @@
1
- /* playbackSpeedControls.tsx generated by @compiled/babel-plugin v0.36.1 */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -7,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
8
  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"));
13
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -18,22 +14,15 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
18
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
15
  var _react = _interopRequireWildcard(require("react"));
20
16
  var _select = require("@atlaskit/select");
21
- var _colors = require("@atlaskit/theme/colors");
22
17
  var _reactIntlNext = require("react-intl-next");
23
18
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
24
19
  var _MediaButton = _interopRequireDefault(require("../MediaButton"));
25
20
  var _messages = require("../messages");
26
21
  var _widthDetector = require("@atlaskit/width-detector");
22
+ var _dropdownControlCommon = require("./dropdownControlCommon");
27
23
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
- 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; }
29
- 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; }
30
24
  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)); }
31
- 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
32
- // theming in media viewer https://product-fabric.atlassian.net/browse/DSP-6067
33
- // with the compiled react, we are leaving the static colors in tact for now.
34
- var selectOptionStyles = {
35
- root: "_1di6r5ow"
36
- };
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
37
26
  var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/function (_Component) {
38
27
  function PlaybackSpeedControls() {
39
28
  var _this;
@@ -75,37 +64,6 @@ var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/functio
75
64
  }]
76
65
  }];
77
66
  });
78
- (0, _defineProperty2.default)(_this, "popupCustomStyles", {
79
- container: function container(styles) {
80
- return _objectSpread(_objectSpread({}, styles), {}, {
81
- backgroundColor: '#22272b',
82
- boxShadow: 'inset 0px 0px 0px 1px #bcd6f00a,0px 8px 12px #0304045c,0px 0px 1px #03040480'
83
- });
84
- },
85
- // added these overrides to keep the look of the current design
86
- // however this does not benefit from the DS a11y changes
87
- menuList: function menuList(styles) {
88
- return _objectSpread(_objectSpread({}, styles), {}, {
89
- padding: '4px 0px'
90
- });
91
- },
92
- option: function option(styles, _ref) {
93
- var isFocused = _ref.isFocused,
94
- isSelected = _ref.isSelected;
95
- return _objectSpread(_objectSpread({}, styles), {}, {
96
- color: isSelected ? '#579dff' : _colors.DN900,
97
- backgroundColor: isSelected ? '#082145' : isFocused ? '#a1bdd914' : '#22272b',
98
- ':active': {
99
- backgroundColor: '#a6c5e229'
100
- }
101
- });
102
- },
103
- groupHeading: function groupHeading(styles) {
104
- return _objectSpread(_objectSpread({}, styles), {}, {
105
- color: '#9fadbc'
106
- });
107
- }
108
- });
109
67
  (0, _defineProperty2.default)(_this, "onResize", function (width) {
110
68
  var originalDimensions = _this.props.originalDimensions;
111
69
  if (originalDimensions) {
@@ -137,46 +95,19 @@ var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/functio
137
95
  var value = this.speedOptions()[0].options.find(function (option) {
138
96
  return option.value === playbackSpeed;
139
97
  });
140
- var popperProps = {
141
- strategy: 'fixed',
142
- modifiers: [{
143
- name: 'preventOverflow',
144
- enabled: true
145
- }, {
146
- name: 'eventListeners',
147
- options: {
148
- scroll: true,
149
- resize: true
150
- }
151
- }, {
152
- name: 'offset',
153
- enabled: true,
154
- options: {
155
- offset: [0, 10]
156
- }
157
- }],
158
- placement: 'top'
159
- };
160
98
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_widthDetector.WidthObserver, {
161
99
  setWidth: this.onResize
162
100
  }), /*#__PURE__*/_react.default.createElement(_select.PopupSelect, {
163
- components: {
164
- Option: function Option(props) {
165
- return /*#__PURE__*/_react.default.createElement(_select.components.Option, (0, _extends2.default)({}, props, {
166
- xcss: selectOptionStyles.root
167
- }));
168
- }
169
- },
101
+ components: _dropdownControlCommon.popupSelectComponents,
170
102
  minMenuWidth: 140,
171
103
  maxMenuHeight: popupHeight,
172
104
  options: this.speedOptions(),
173
105
  value: value,
174
- closeMenuOnScroll: true,
175
106
  onChange: this.onPlaybackSpeedChange,
176
- target: function target(_ref2) {
177
- var ref = _ref2.ref,
178
- isOpen = _ref2.isOpen,
179
- popupKeydown = _ref2.onKeyDown;
107
+ target: function target(_ref) {
108
+ var ref = _ref.ref,
109
+ isOpen = _ref.isOpen,
110
+ popupKeydown = _ref.onKeyDown;
180
111
  return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
181
112
  content: intl.formatMessage(_messages.messages.playbackSpeed),
182
113
  position: "top"
@@ -185,13 +116,11 @@ var PlaybackSpeedControls = exports.PlaybackSpeedControls = /*#__PURE__*/functio
185
116
  buttonRef: ref,
186
117
  isSelected: isOpen,
187
118
  onClick: onClick,
188
- onKeyDown: function onKeyDown(event) {
189
- popupKeydown(event);
190
- }
119
+ onKeyDown: popupKeydown
191
120
  }, playbackSpeed, "x"));
192
121
  },
193
- styles: this.popupCustomStyles,
194
- popperProps: popperProps
122
+ styles: _dropdownControlCommon.popupCustomStyles,
123
+ popperProps: _dropdownControlCommon.popperProps
195
124
  }));
196
125
  }
197
126
  }]);
@@ -686,10 +686,15 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
686
686
  defaultMessage: 'The caption failed to delete.',
687
687
  description: 'In the context of a video player, it provides feedback when a caption failed to delete'
688
688
  },
689
- video_settings: {
690
- id: 'fabric.media.video_settings',
691
- defaultMessage: 'Video Settings',
692
- description: 'In the context of a video player, it allows user to manage video settings'
689
+ manage_captions: {
690
+ id: 'fabric.media.manage_captions',
691
+ defaultMessage: 'Manage Captions',
692
+ description: 'In the context of a video player, it allows user to manage captions'
693
+ },
694
+ add_captions: {
695
+ id: 'fabric.media.add_captions',
696
+ defaultMessage: 'Add Captions',
697
+ description: 'In the context of a video player, it allows user to add captions'
693
698
  },
694
699
  skipBackward: {
695
700
  id: 'fabric.media.skip_backward',