@atlaskit/media-ui 25.7.0 → 25.8.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 (46) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/MediaInlineCard/Frame/styled.js +17 -4
  3. package/dist/cjs/MediaInlineCard/Icon.js +14 -4
  4. package/dist/cjs/MediaInlineCard/IconAndTitleLayout/styled.js +43 -10
  5. package/dist/cjs/MediaInlineCard/LoadingView/styled.js +4 -3
  6. package/dist/cjs/MediaInlineCard/styled.js +3 -3
  7. package/dist/cjs/customMediaPlayer/index.js +9 -2
  8. package/dist/cjs/customMediaPlayer/playPauseBlanket.js +5 -3
  9. package/dist/cjs/customMediaPlayer/styled.js +3 -2
  10. package/dist/cjs/customMediaPlayer/volumeRange.js +149 -0
  11. package/dist/cjs/ellipsify.js +4 -4
  12. package/dist/cjs/inactivityDetector/styled.js +2 -0
  13. package/dist/cjs/media-type-icon.js +3 -3
  14. package/dist/cjs/modalSpinner.js +14 -4
  15. package/dist/cjs/truncateText.js +3 -0
  16. package/dist/es2019/MediaInlineCard/Frame/styled.js +15 -17
  17. package/dist/es2019/MediaInlineCard/Icon.js +14 -14
  18. package/dist/es2019/MediaInlineCard/IconAndTitleLayout/styled.js +41 -45
  19. package/dist/es2019/MediaInlineCard/LoadingView/styled.js +4 -4
  20. package/dist/es2019/MediaInlineCard/styled.js +3 -3
  21. package/dist/es2019/customMediaPlayer/index.js +9 -2
  22. package/dist/es2019/customMediaPlayer/playPauseBlanket.js +5 -5
  23. package/dist/es2019/customMediaPlayer/styled.js +42 -1
  24. package/dist/es2019/customMediaPlayer/volumeRange.js +140 -0
  25. package/dist/es2019/ellipsify.js +4 -4
  26. package/dist/es2019/inactivityDetector/styled.js +2 -0
  27. package/dist/es2019/media-type-icon.js +4 -5
  28. package/dist/es2019/modalSpinner.js +14 -14
  29. package/dist/es2019/truncateText.js +3 -0
  30. package/dist/esm/MediaInlineCard/Frame/styled.js +17 -4
  31. package/dist/esm/MediaInlineCard/Icon.js +14 -4
  32. package/dist/esm/MediaInlineCard/IconAndTitleLayout/styled.js +43 -10
  33. package/dist/esm/MediaInlineCard/LoadingView/styled.js +4 -3
  34. package/dist/esm/MediaInlineCard/styled.js +3 -3
  35. package/dist/esm/customMediaPlayer/index.js +9 -2
  36. package/dist/esm/customMediaPlayer/playPauseBlanket.js +5 -3
  37. package/dist/esm/customMediaPlayer/styled.js +3 -2
  38. package/dist/esm/customMediaPlayer/volumeRange.js +139 -0
  39. package/dist/esm/ellipsify.js +4 -4
  40. package/dist/esm/inactivityDetector/styled.js +2 -0
  41. package/dist/esm/media-type-icon.js +3 -3
  42. package/dist/esm/modalSpinner.js +14 -4
  43. package/dist/esm/truncateText.js +3 -0
  44. package/dist/types/customMediaPlayer/volumeRange.d.ts +9 -0
  45. package/dist/types-ts4.5/customMediaPlayer/volumeRange.d.ts +9 -0
  46. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/media-ui
2
2
 
3
+ ## 25.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#80318](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/80318) [`378835ef4c22`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/378835ef4c22) - ECA11Y-201: Make video volume regulation accessible and focusable
8
+
3
9
  ## 25.7.0
4
10
 
5
11
  ### Minor Changes
@@ -5,10 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Wrapper = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
9
  var _colors = require("@atlaskit/theme/colors");
11
- var _templateObject;
12
10
  var selected = "\n cursor: pointer;\n box-shadow: 0 0 0 1px ".concat("var(--ds-border-selected, ".concat(_colors.B300, ")"), ";\n outline: none;\n user-select: none;\n border-color: transparent;\n &, :hover, :focus, :active {\n text-decoration: none;\n }\n");
13
11
  var isSelected = function isSelected(_ref) {
14
12
  var isSelected = _ref.isSelected;
@@ -31,6 +29,21 @@ var isSelected = function isSelected(_ref) {
31
29
  // NB: `padding` consistent with @mentions.
32
30
  // NB: `display: inline` required for `box-decoration-break` to work.
33
31
  // NB: `box-decoration-break` required for retaining properties (border-radius) on wrap.
34
- var Wrapper = exports.Wrapper = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n line-height: 16px;\n padding: ", " ", "\n ", " ", ";\n box-decoration-break: clone;\n display: inline;\n border-radius: ", ";\n color: ", ";\n background-color: ", ";\n ", ";\n transition: 0.1s all ease-in-out;\n -moz-user-select: none;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n"])), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-border-radius, 3px)", "var(--ds-text, ".concat(_colors.N900, ")"), "var(--ds-background-neutral, ".concat(_colors.N30A, ")"), function (props) {
32
+ var Wrapper = exports.Wrapper = _styled.default.span({
33
+ lineHeight: '16px',
34
+ padding: "var(--ds-space-025, 2px)".concat(" ", "var(--ds-space-050, 4px)", " ", "var(--ds-space-025, 2px)", " ", "var(--ds-space-050, 4px)"),
35
+ boxDecorationBreak: 'clone',
36
+ display: 'inline',
37
+ borderRadius: "var(--ds-border-radius, 3px)",
38
+ color: "var(--ds-text, ".concat(_colors.N900, ")"),
39
+ backgroundColor: "var(--ds-background-neutral, ".concat(_colors.N30A, ")")
40
+ }, function (props) {
35
41
  return isSelected(props);
36
- }, "var(--ds-background-neutral-hovered, ".concat(_colors.N40A, ")"));
42
+ }, {
43
+ transition: '0.1s all ease-in-out',
44
+ MozUserSelect: 'none',
45
+ cursor: 'pointer',
46
+ '&:hover': {
47
+ backgroundColor: "var(--ds-background-neutral-hovered, ".concat(_colors.N40A, ")")
48
+ }
49
+ });
@@ -5,17 +5,27 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Icon = exports.AKIconWrapper = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
- var _templateObject, _templateObject2;
11
9
  // TODO: Figure out a more scalable/responsive solution
12
10
  // for vertical alignment.
13
11
  // Current rationale: vertically positioned at the top of
14
12
  // the smart card container (when set to 0). Offset this
15
13
  // to position it with appropriate whitespace from the top.
16
- var Icon = exports.Icon = _styled.default.img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: 14px;\n width: 14px;\n margin-right: ", ";\n border-radius: 2px;\n user-select: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])), "var(--ds-space-050, 4px)");
14
+ var Icon = exports.Icon = _styled.default.img({
15
+ height: '14px',
16
+ width: '14px',
17
+ marginRight: "var(--ds-space-050, 4px)",
18
+ borderRadius: '2px',
19
+ userSelect: 'none',
20
+ position: 'absolute',
21
+ top: '50%',
22
+ left: '50%',
23
+ transform: 'translate(-50%, -50%)'
24
+ });
17
25
 
18
26
  // Used for 'untrue' icons which claim to be 16x16 but
19
27
  // are less than that in height/width.
20
28
  // TODO: Replace this override with proper AtlasKit solution.
21
- var AKIconWrapper = exports.AKIconWrapper = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-right: ", ";\n"])), "var(--ds-space-negative-025, -2px)");
29
+ var AKIconWrapper = exports.AKIconWrapper = _styled.default.span({
30
+ marginRight: "var(--ds-space-negative-025, -2px)"
31
+ });
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.RightIconPositionWrapper = exports.LozengeWrapper = exports.LozengeBlockWrapper = exports.IconWrapper = exports.IconTitleWrapper = exports.IconPositionWrapper = exports.IconOverrides = exports.IconObjectOverrides = exports.IconEmptyWrapper = exports.EmojiWrapper = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
11
9
  // TODO: remove this override behaviour for @atlaskit/icon-object
12
10
  var IconObjectOverrides = exports.IconObjectOverrides = "\n & > span {\n height: 16px;\n width: 14px;\n position: absolute;\n top: 0;\n left: 0;\n line-height: 14px;\n & > svg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n";
13
11
  // TODO: remove this override behaviour for @atlaskit/icon
@@ -19,24 +17,59 @@ var IconOverrides = exports.IconOverrides = "\n & > * > span {\n height: 16p
19
17
  // - @atlaskit/icon-object: for object icons, e.g. repository, branch, etc.
20
18
  // NB: the first set of overrides style icons imported from @atlaskit/icon-object correctly.
21
19
  // NB: the second set of overrides style icons imported from @atlaskit/icon correctly.
22
- var IconWrapper = exports.IconWrapper = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n user-select: none;\n ", "\n ", "\n"])), IconOverrides, IconObjectOverrides);
20
+ var IconWrapper = exports.IconWrapper = _styled.default.span({
21
+ userSelect: 'none'
22
+ }, IconOverrides, IconObjectOverrides);
23
23
 
24
24
  // Wraps all emoji in Inline Links similar to icon
25
- var EmojiWrapper = exports.EmojiWrapper = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: inline-block;\n margin-right: ", ";\n user-select: none;\n ", "\n ", "\n"])), "var(--ds-space-025, 2px)", IconOverrides, IconObjectOverrides);
25
+ var EmojiWrapper = exports.EmojiWrapper = _styled.default.span({
26
+ display: 'inline-block',
27
+ marginRight: "var(--ds-space-025, 2px)",
28
+ userSelect: 'none'
29
+ }, IconOverrides, IconObjectOverrides);
26
30
 
27
31
  // The main 'wrapping' element, title of the content.
28
32
  // NB: `white-space` adds little whitespace before wrapping.
29
33
  // NB: `word-break` line breaks as soon as an overflow takes place.
30
- var IconTitleWrapper = exports.IconTitleWrapper = _styled.default.span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n white-space: pre-wrap;\n word-break: break-all;\n"])));
34
+ var IconTitleWrapper = exports.IconTitleWrapper = _styled.default.span({
35
+ whiteSpace: 'pre-wrap',
36
+ wordBreak: 'break-all'
37
+ });
31
38
 
32
39
  // TODO: Replace overrides with proper AtlasKit solution.
33
- var LozengeWrapper = exports.LozengeWrapper = _styled.default.span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: inline-block;\n vertical-align: 1px;\n & > span {\n margin-left: ", ";\n padding: ", " 0 ", " 0;\n }\n"])), "var(--ds-space-050, 4px)", "var(--ds-space-025, 2px)", "var(--ds-space-025, 2px)");
40
+ var LozengeWrapper = exports.LozengeWrapper = _styled.default.span({
41
+ display: 'inline-block',
42
+ verticalAlign: '1px',
43
+ '& > span': {
44
+ marginLeft: "var(--ds-space-050, 4px)",
45
+ padding: "var(--ds-space-025, 2px)".concat(" 0 ", "var(--ds-space-025, 2px)", " 0")
46
+ }
47
+ });
34
48
  // TODO: Replace overrides with proper AtlasKit solution.
35
- var LozengeBlockWrapper = exports.LozengeBlockWrapper = _styled.default.span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n & > span {\n margin-left: ", ";\n padding: ", " 0 ", " 0;\n }\n"])), "var(--ds-space-050, 4px)", "var(--ds-space-025, 2px)", "var(--ds-space-025, 2px)");
36
- var RightIconPositionWrapper = exports.RightIconPositionWrapper = _styled.default.span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n margin-right: ", ";\n position: relative;\n display: inline-block;\n"])), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)");
49
+ var LozengeBlockWrapper = exports.LozengeBlockWrapper = _styled.default.span({
50
+ '& > span': {
51
+ marginLeft: "var(--ds-space-050, 4px)",
52
+ padding: "var(--ds-space-025, 2px)".concat(" 0 ", "var(--ds-space-025, 2px)", " 0")
53
+ }
54
+ });
55
+ var RightIconPositionWrapper = exports.RightIconPositionWrapper = _styled.default.span({
56
+ marginLeft: "var(--ds-space-025, 2px)",
57
+ marginRight: "var(--ds-space-050, 4px)",
58
+ position: 'relative',
59
+ display: 'inline-block'
60
+ });
37
61
 
38
62
  // The following components are used to absolutely position icons in the vertical center.
39
63
  // - IconPositionWrapper: the `relative` parent which has no height in itself.
40
64
  // - IconEmptyWrapper: the child which forces `IconPositionWrapper` to have a height.
41
- var IconPositionWrapper = exports.IconPositionWrapper = _styled.default.span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n margin-right: ", ";\n position: relative;\n display: inline-block;\n"])), "var(--ds-space-050, 4px)");
42
- var IconEmptyWrapper = exports.IconEmptyWrapper = _styled.default.span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n width: 14px;\n height: 100%;\n display: inline-block;\n opacity: 0;\n"])));
65
+ var IconPositionWrapper = exports.IconPositionWrapper = _styled.default.span({
66
+ marginRight: "var(--ds-space-050, 4px)",
67
+ position: 'relative',
68
+ display: 'inline-block'
69
+ });
70
+ var IconEmptyWrapper = exports.IconEmptyWrapper = _styled.default.span({
71
+ width: '14px',
72
+ height: '100%',
73
+ display: 'inline-block',
74
+ opacity: 0
75
+ });
@@ -5,8 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.SpinnerWrapper = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
9
  var _styled2 = require("../IconAndTitleLayout/styled");
11
- var _templateObject;
12
- var SpinnerWrapper = exports.SpinnerWrapper = (0, _styled.default)(_styled2.IconTitleWrapper)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n vertical-align: baseline;\n margin-left: ", ";\n"])), "var(--ds-space-025, 2px)");
10
+ var SpinnerWrapper = exports.SpinnerWrapper = (0, _styled.default)(_styled2.IconTitleWrapper)({
11
+ verticalAlign: 'baseline',
12
+ marginLeft: "var(--ds-space-025, 2px)"
13
+ });
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.NoLinkAppearance = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
9
  var _colors = require("@atlaskit/theme/colors");
11
- var _templateObject;
12
- var NoLinkAppearance = exports.NoLinkAppearance = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n"])), "var(--ds-text-subtlest, ".concat(_colors.N200, ")"));
10
+ var NoLinkAppearance = exports.NoLinkAppearance = _styled.default.span({
11
+ color: "var(--ds-text-subtlest, ".concat(_colors.N200, ")")
12
+ });
@@ -30,6 +30,7 @@ var _widthDetector = require("@atlaskit/width-detector");
30
30
  var _reactVideoRenderer = _interopRequireDefault(require("react-video-renderer"));
31
31
  var _colors = require("@atlaskit/theme/colors");
32
32
  var _timeRange = require("./timeRange");
33
+ var _volumeRange = _interopRequireDefault(require("./volumeRange"));
33
34
  var _styled = require("./styled");
34
35
  var _analytics = require("./analytics");
35
36
  var _formatDuration = require("../formatDuration");
@@ -44,6 +45,7 @@ var _playPauseBlanket = require("./playPauseBlanket");
44
45
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
45
46
  var _icons = require("./icons");
46
47
  var _getControlsWrapperClassName = require("./getControlsWrapperClassName");
48
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
47
49
  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); }
48
50
  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 && Object.prototype.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; }
49
51
  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; }
@@ -52,7 +54,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
52
54
  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 media player components used in media-viewer to use static colors from the new color palette to
53
55
  // support the hybrid theming in media viewer https://product-fabric.atlassian.net/browse/DSP-6067
54
56
  var packageName = "@atlaskit/media-ui";
55
- var packageVersion = "25.7.0";
57
+ var packageVersion = "25.8.0";
56
58
  var MEDIUM_VIDEO_MAX_WIDTH = 400;
57
59
  var SMALL_VIDEO_MAX_WIDTH = 160;
58
60
  var MINIMUM_DURATION_BEFORE_SAVING_TIME = 60;
@@ -225,7 +227,12 @@ var CustomMediaPlayerBase = exports.CustomMediaPlayerBase = /*#__PURE__*/functio
225
227
  iconBefore: /*#__PURE__*/_react.default.createElement(_outgoingSound.default, {
226
228
  label: "volume"
227
229
  })
228
- })), showSlider && /*#__PURE__*/_react.default.createElement(_styled.VolumeTimeRangeWrapper, null, /*#__PURE__*/_react.default.createElement(_timeRange.TimeRange, {
230
+ })), (0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y_video_controls_keyboard_support_yhcxh') ? showSlider && /*#__PURE__*/_react.default.createElement(_styled.VolumeTimeRangeWrapper, null, /*#__PURE__*/_react.default.createElement(_volumeRange.default, {
231
+ onChange: actions.setVolume,
232
+ currentVolume: videoState.volume,
233
+ isAlwaysActive: true,
234
+ onChanged: _this.onVolumeChanged
235
+ })) : showSlider && /*#__PURE__*/_react.default.createElement(_styled.VolumeTimeRangeWrapper, null, /*#__PURE__*/_react.default.createElement(_timeRange.TimeRange, {
229
236
  onChange: actions.setVolume,
230
237
  duration: 1,
231
238
  currentTime: videoState.volume,
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.PlayPauseBlanket = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
- var _templateObject;
11
- var PlayPauseBlanket = exports.PlayPauseBlanket = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n cursor: pointer;\n"])));
9
+ var PlayPauseBlanket = exports.PlayPauseBlanket = _styled.default.div({
10
+ width: '100%',
11
+ height: '100%',
12
+ cursor: 'pointer'
13
+ });
12
14
  PlayPauseBlanket.displayName = 'PlayPauseBlanket';
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var _colors = require("@atlaskit/theme/colors");
11
11
  var _classNames = require("../classNames");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
13
14
 
14
15
  var VolumeWrapper = exports.VolumeWrapper = _styled.default.div({
@@ -20,7 +21,7 @@ var VolumeWrapper = exports.VolumeWrapper = _styled.default.div({
20
21
  bottom: "var(--ds-space-0, 0px)",
21
22
  left: "var(--ds-space-500, 40px)"
22
23
  }, function (props) {
23
- return props.showSlider ? "\n &:hover,\n &:active {\n width: 150px;\n transition: width 0.3s ease-out;\n }\n " : '';
24
+ return props.showSlider ? "\n &:hover,\n &:active\n ".concat((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y_video_controls_keyboard_support_yhcxh') ? ', &:focus-within' : '', "\n {\n width: 150px;\n transition: width 0.3s ease-out;\n }\n ") : '';
24
25
  });
25
26
  var CurrentTime = exports.CurrentTime = _styled.default.div({
26
27
  color: '#c7d1db',
@@ -115,5 +116,5 @@ var CurrentTimeTooltip = exports.CurrentTimeTooltip = _styled.default.div(functi
115
116
  });
116
117
  var TimeRangeWrapper = exports.TimeRangeWrapper = _styled.default.div(function (_ref3) {
117
118
  var showAsActive = _ref3.showAsActive;
118
- return "\n display: flex;\n align-items: center;\n height: 22px;\n\n cursor: pointer;\n width: 100%;\n\n &:hover ".concat(TimeLine, " {\n height: 4px;\n transition: all 0.1s;\n }\n\n &:hover ").concat(Thumb, " {\n transition: all 0.1s;\n transform: translate(7px, -50%) scale(1);\n }\n\n ").concat(TimeLine, " {\n transition-delay: 1s;\n ").concat(showAsActive ? 'height: 4px;' : '', "\n }\n ").concat(Thumb, " {\n ").concat(showAsActive ? 'transform: translate(7px, -50%) scale(1);' : '', "\n }\n");
119
+ return "\n display: flex;\n align-items: center;\n height: 22px;\n\n cursor: pointer;\n width: 100%;\n\n &:hover ".concat(TimeLine, " {\n height: 4px;\n transition: all 0.1s;\n }\n\n &:hover ").concat(Thumb, " {\n transition: all 0.1s;\n transform: translate(7px, -50%) scale(1);\n }\n\n ").concat(TimeLine, " {\n transition-delay: 1s;\n ").concat(showAsActive ? 'height: 4px;' : '', "\n }\n ").concat(Thumb, " {\n ").concat(showAsActive ? 'transform: translate(7px, -50%) scale(1);' : '', "\n }\n\n ").concat((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y_video_controls_keyboard_support_yhcxh') ? "\n // a11y override default theme colors from '@atlaskit/range' to have better contrast with panel color\n input[type=\"range\"] {\n width:100%;\n cursor: pointer;\n height: 14px;\n }\n\n input[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none; /* Override default look */\n appearance: none;\n background: #9FADBC;\n width: 14px;\n height: 14px;\n margin-top: -5px; // smaller thumb requires adjustment for margin\n }\n\n input[type=\"range\"]::-webkit-slider-runnable-track {\n --webkit-appearance: none; /* Override default look */\n --track-bg: #596773;\n --track-fg: #9FADBC;\n }\n\n input[type=\"range\"]::-moz-range-progress {\n background-color: #9FADBC;\n }\n\n input[type=\"range\"]::-moz-range-track {\n background-color: #596773;\n }\n\n input[type=\"range\"]::-moz-range-thumb {\n background: #9FADBC;\n width: 14px;\n height: 14px;\n }\n " : '', "\n");
119
120
  });
@@ -0,0 +1,149 @@
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.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styled = require("./styled");
12
+ var _range = _interopRequireDefault(require("@atlaskit/range"));
13
+ 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); }
14
+ 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 && Object.prototype.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; }
15
+ var increaseVolumeKeys = new Set(['ArrowRight', 'ArrowUp']);
16
+ var decreaseVolumeKeys = new Set(['ArrowLeft', 'ArrowDown']);
17
+ var VolumeRange = function VolumeRange(props) {
18
+ var _props$isAlwaysActive = props.isAlwaysActive,
19
+ isAlwaysActive = _props$isAlwaysActive === void 0 ? false : _props$isAlwaysActive,
20
+ onChange = props.onChange,
21
+ currentVolume = props.currentVolume,
22
+ onChanged = props.onChanged;
23
+ var wrapperElement = (0, _react.useRef)(null);
24
+ var mouseEventsSharedData = (0, _react.useRef)({
25
+ dragStartClientX: 0,
26
+ isDragging: false
27
+ });
28
+ var _useState = (0, _react.useState)(0),
29
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
30
+ wrapperElementWidth = _useState2[0],
31
+ _setWrapperElementWidth = _useState2[1];
32
+ var wrapperElementWidthRef = _react.default.useRef(wrapperElementWidth);
33
+ var setWrapperElementWidth = function setWrapperElementWidth(width) {
34
+ wrapperElementWidthRef.current = width;
35
+ };
36
+ var setWrapperWidth = (0, _react.useCallback)(function () {
37
+ if (!wrapperElement.current) {
38
+ return;
39
+ }
40
+ setWrapperElementWidth(wrapperElement.current.getBoundingClientRect().width);
41
+ }, []);
42
+ (0, _react.useEffect)(function () {
43
+ window.addEventListener('resize', setWrapperWidth);
44
+ return function () {
45
+ window.removeEventListener('resize', setWrapperWidth);
46
+ };
47
+ }, [setWrapperWidth]);
48
+ var onMouseMove = function onMouseMove(e) {
49
+ if (!mouseEventsSharedData.current.isDragging) {
50
+ return;
51
+ }
52
+ e.stopPropagation();
53
+ var onChange = props.onChange,
54
+ currentVolume = props.currentVolume;
55
+ var clientX = e.clientX;
56
+ var absolutePosition = clientX - mouseEventsSharedData.current.dragStartClientX;
57
+ var isOutsideToRight = absolutePosition > wrapperElementWidthRef.current;
58
+ var isOutsideToLeft = absolutePosition < 0;
59
+
60
+ // Next to conditions take care of situation where user moves mouse very quickly out to the side
61
+ // left or right. It's very easy to leave thumb not at the end/beginning of a volume line.
62
+ // This will guarantee that in this case thumb will move to appropriate extreme.
63
+ if (isOutsideToRight) {
64
+ absolutePosition = wrapperElementWidthRef.current;
65
+ }
66
+ if (isOutsideToLeft) {
67
+ absolutePosition = 0;
68
+ }
69
+ var newVolumeWithBoundaries = absolutePosition / wrapperElementWidthRef.current;
70
+ if (currentVolume !== newVolumeWithBoundaries) {
71
+ // If value hasn't changed we don't want to call "change"
72
+ onChange(newVolumeWithBoundaries);
73
+ }
74
+ };
75
+ var onMouseUp = function onMouseUp() {
76
+ // As soon as user finished dragging, we should clean up events.
77
+ document.removeEventListener('mouseup', onMouseUp);
78
+ document.removeEventListener('mousemove', onMouseMove);
79
+ if (onChanged) {
80
+ onChanged();
81
+ }
82
+ mouseEventsSharedData.current.isDragging = false;
83
+ };
84
+ var onThumbMouseDown = function onThumbMouseDown(e) {
85
+ e.preventDefault();
86
+
87
+ // We need to recalculate every time, because width can change (thanks, editor ;-)
88
+ setWrapperWidth();
89
+
90
+ // We are implementing drag and drop here. There is no reason to start listening for mouseUp or move
91
+ // before that. Also if we start listening for mouseup before that we could pick up someone else's event
92
+ // For example editors resizing of a inline video player.
93
+ document.addEventListener('mouseup', onMouseUp);
94
+ document.addEventListener('mousemove', onMouseMove);
95
+ var event = e.nativeEvent;
96
+ var x = event.offsetX;
97
+ var currentVolume = x / wrapperElementWidthRef.current;
98
+ currentVolume = currentVolume > 0 ? currentVolume : 0;
99
+ mouseEventsSharedData.current = {
100
+ dragStartClientX: event.clientX - x,
101
+ isDragging: true
102
+ };
103
+ // As soon as user clicks timeline we want to move thumb over to that place.
104
+ onChange(currentVolume);
105
+ };
106
+ var onThumbKeyDown = function onThumbKeyDown(e) {
107
+ var eventKey = e.key;
108
+ var isShiftPressed = e.shiftKey;
109
+ if (increaseVolumeKeys.has(eventKey) || decreaseVolumeKeys.has(eventKey)) {
110
+ // preventDefault call is needed to keep the volume regulator focused(visible) in FireFox (Editor mode)
111
+ e.preventDefault();
112
+ var _newVolume = currentVolume;
113
+ if (increaseVolumeKeys.has(eventKey)) {
114
+ _newVolume += isShiftPressed ? 0.1 : 0.01;
115
+ } else if (decreaseVolumeKeys.has(eventKey)) {
116
+ _newVolume -= isShiftPressed ? 0.1 : 0.01;
117
+ }
118
+ _newVolume = _newVolume > 1 ? 1 : _newVolume;
119
+ _newVolume = _newVolume < 0 ? 0 : _newVolume;
120
+ onChange(+_newVolume.toPrecision(2));
121
+ if (onChanged) {
122
+ onChanged();
123
+ }
124
+ }
125
+ };
126
+ var onInputChange = function onInputChange(newVolume) {
127
+ if (newVolume) {
128
+ onChange(newVolume / 100);
129
+ if (onChanged) {
130
+ onChanged();
131
+ }
132
+ }
133
+ };
134
+ var currentPosition = currentVolume * 100;
135
+ return /*#__PURE__*/_react.default.createElement(_styled.TimeRangeWrapper, {
136
+ showAsActive: isAlwaysActive,
137
+ onMouseDown: onThumbMouseDown,
138
+ onKeyDown: onThumbKeyDown,
139
+ ref: wrapperElement
140
+ }, /*#__PURE__*/_react.default.createElement(_range.default, {
141
+ tabIndex: 0,
142
+ step: 1,
143
+ min: 0,
144
+ max: 100,
145
+ value: currentPosition,
146
+ onChange: onInputChange
147
+ }));
148
+ };
149
+ var _default = exports.default = VolumeRange;
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = exports.Ellipsify = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _styled = _interopRequireDefault(require("@emotion/styled"));
12
11
  var exenv = _interopRequireWildcard(require("exenv"));
13
- var _templateObject;
14
12
  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); }
15
13
  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 && Object.prototype.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; }
16
- var Wrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n"])), function (_ref) {
14
+ var Wrapper = _styled.default.div(function (_ref) {
17
15
  var inline = _ref.inline;
18
- return inline && 'display: inline;' || '';
16
+ return {
17
+ display: inline ? 'inline' : undefined
18
+ };
19
19
  });
20
20
  Wrapper.displayName = 'Ellipsify';
21
21
  var Ellipsify = exports.Ellipsify = function Ellipsify(_ref2) {
@@ -13,5 +13,7 @@ var handleControlsVisibility = function handleControlsVisibility(_ref) {
13
13
  var controlsAreVisible = _ref.controlsAreVisible;
14
14
  return "\n transition: opacity .3s;\n opacity: ".concat(controlsAreVisible ? '1' : '0', ";\n");
15
15
  };
16
+
17
+ // eslint-disable-next-line @atlaskit/design-system/no-styled-tagged-template-expression -- needs manual remediation
16
18
  var InactivityDetectorWrapper = exports.InactivityDetectorWrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n display: flex;\n flex: 1;\n overflow: visible;\n align-items: center;\n justify-content: center;\n position: relative;\n\n .", " {\n ", ";\n }\n"])), _classNames.hideControlsClassName, handleControlsVisibility);
17
19
  InactivityDetectorWrapper.displayName = 'InactivityDetectorWrapper';
@@ -11,7 +11,6 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
11
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
14
  var _react = _interopRequireDefault(require("react"));
16
15
  var _styled = _interopRequireDefault(require("@emotion/styled"));
17
16
  var _ = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/image/24"));
@@ -26,10 +25,11 @@ var _9 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/video/16
26
25
  var _10 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/document/16"));
27
26
  var _11 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/archive/16"));
28
27
  var _12 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/generic/16"));
29
- var _templateObject;
30
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
29
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
32
- var IconWrapper = exports.IconWrapper = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n ", "\n"])), function (_ref) {
30
+ var IconWrapper = exports.IconWrapper = _styled.default.span({
31
+ display: 'inline-flex'
32
+ }, function (_ref) {
33
33
  var size = _ref.size;
34
34
  return size === 'large' ? "padding: 4px;" : '';
35
35
  });
@@ -5,16 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = exports.SpinnerWrapper = exports.Blanket = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
8
  var _react = _interopRequireDefault(require("react"));
10
9
  var _constants = require("@atlaskit/theme/constants");
11
10
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
12
11
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
- var _templateObject, _templateObject2;
14
12
  var overlayZindex = _constants.layers.modal() + 10;
15
- var Blanket = exports.Blanket = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: ", ";\n"])), overlayZindex);
13
+ var Blanket = exports.Blanket = _styled.default.div({
14
+ position: 'fixed',
15
+ top: 0,
16
+ left: 0,
17
+ bottom: 0,
18
+ right: 0,
19
+ zIndex: overlayZindex
20
+ });
16
21
  Blanket.displayName = 'Blanket';
17
- var SpinnerWrapper = exports.SpinnerWrapper = _styled.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])));
22
+ var SpinnerWrapper = exports.SpinnerWrapper = _styled.default.div({
23
+ position: 'absolute',
24
+ top: '50%',
25
+ left: '50%',
26
+ transform: 'translate(-50%, -50%)'
27
+ });
18
28
  SpinnerWrapper.displayName = 'SpinnerWrapper';
19
29
  var defaultProps = {
20
30
  blankedColor: 'none',
@@ -10,6 +10,7 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _styled = _interopRequireDefault(require("@emotion/styled"));
11
11
  var _templateObject, _templateObject2;
12
12
  var truncateCommonStyles = "\n display: inline-block;\n vertical-align: bottom;\n white-space: nowrap;\n overflow: hidden;\n";
13
+ // eslint-disable-next-line @atlaskit/design-system/no-styled-tagged-template-expression -- needs manual remediation
13
14
  var TruncateLeft = exports.TruncateLeft = _styled.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n max-width: calc(100% - ", "em);\n min-width: ", ";\n text-overflow: ellipsis;\n"])), truncateCommonStyles, function (_ref) {
14
15
  var fontSizePX = _ref.fontSizePX,
15
16
  endFixedChars = _ref.endFixedChars;
@@ -19,6 +20,8 @@ var TruncateLeft = exports.TruncateLeft = _styled.default.span(_templateObject |
19
20
  startFixedChars = _ref2.startFixedChars;
20
21
  return fontFaceScaleFactor(fontSizePX) * startFixedChars;
21
22
  });
23
+
24
+ // eslint-disable-next-line @atlaskit/design-system/no-styled-tagged-template-expression -- needs manual remediation
22
25
  var TruncateRight = exports.TruncateRight = _styled.default.span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n max-width: calc(100% - ", ");\n position: relative;\n"])), truncateCommonStyles, function (_ref3) {
23
26
  var fontSizePX = _ref3.fontSizePX,
24
27
  startFixedChars = _ref3.startFixedChars;
@@ -32,21 +32,19 @@ const isSelected = ({
32
32
  // NB: `padding` consistent with @mentions.
33
33
  // NB: `display: inline` required for `box-decoration-break` to work.
34
34
  // NB: `box-decoration-break` required for retaining properties (border-radius) on wrap.
35
- export const Wrapper = styled.span`
36
- line-height: 16px;
37
- padding: ${"var(--ds-space-025, 2px)"} ${"var(--ds-space-050, 4px)"}
38
- ${"var(--ds-space-025, 2px)"} ${"var(--ds-space-050, 4px)"};
39
- box-decoration-break: clone;
40
- display: inline;
41
- border-radius: ${"var(--ds-border-radius, 3px)"};
42
- color: ${`var(--ds-text, ${N900})`};
43
- background-color: ${`var(--ds-background-neutral, ${N30A})`};
44
- ${props => isSelected(props)};
45
- transition: 0.1s all ease-in-out;
46
- -moz-user-select: none;
47
- cursor: pointer;
48
-
49
- &:hover {
50
- background-color: ${`var(--ds-background-neutral-hovered, ${N40A})`};
35
+ export const Wrapper = styled.span({
36
+ lineHeight: '16px',
37
+ padding: `${"var(--ds-space-025, 2px)"} ${"var(--ds-space-050, 4px)"} ${"var(--ds-space-025, 2px)"} ${"var(--ds-space-050, 4px)"}`,
38
+ boxDecorationBreak: 'clone',
39
+ display: 'inline',
40
+ borderRadius: "var(--ds-border-radius, 3px)",
41
+ color: `var(--ds-text, ${N900})`,
42
+ backgroundColor: `var(--ds-background-neutral, ${N30A})`
43
+ }, props => isSelected(props), {
44
+ transition: '0.1s all ease-in-out',
45
+ MozUserSelect: 'none',
46
+ cursor: 'pointer',
47
+ '&:hover': {
48
+ backgroundColor: `var(--ds-background-neutral-hovered, ${N40A})`
51
49
  }
52
- `;
50
+ });
@@ -4,21 +4,21 @@ import styled from '@emotion/styled';
4
4
  // Current rationale: vertically positioned at the top of
5
5
  // the smart card container (when set to 0). Offset this
6
6
  // to position it with appropriate whitespace from the top.
7
- export const Icon = styled.img`
8
- height: 14px;
9
- width: 14px;
10
- margin-right: ${"var(--ds-space-050, 4px)"};
11
- border-radius: 2px;
12
- user-select: none;
13
- position: absolute;
14
- top: 50%;
15
- left: 50%;
16
- transform: translate(-50%, -50%);
17
- `;
7
+ export const Icon = styled.img({
8
+ height: '14px',
9
+ width: '14px',
10
+ marginRight: "var(--ds-space-050, 4px)",
11
+ borderRadius: '2px',
12
+ userSelect: 'none',
13
+ position: 'absolute',
14
+ top: '50%',
15
+ left: '50%',
16
+ transform: 'translate(-50%, -50%)'
17
+ });
18
18
 
19
19
  // Used for 'untrue' icons which claim to be 16x16 but
20
20
  // are less than that in height/width.
21
21
  // TODO: Replace this override with proper AtlasKit solution.
22
- export const AKIconWrapper = styled.span`
23
- margin-right: ${"var(--ds-space-negative-025, -2px)"};
24
- `;
22
+ export const AKIconWrapper = styled.span({
23
+ marginRight: "var(--ds-space-negative-025, -2px)"
24
+ });