@desynova-digital/player 3.9.7 → 3.9.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 (68) hide show
  1. package/Manager.js +26 -50
  2. package/actions/player.js +58 -89
  3. package/actions/video.js +70 -69
  4. package/colors.js +13 -13
  5. package/components/AudioMeter.js +138 -182
  6. package/components/BigPlayButton.js +48 -72
  7. package/components/ImageViewer.js +120 -165
  8. package/components/MarkerBar.js +64 -75
  9. package/components/Menu.js +30 -57
  10. package/components/Player.js +267 -327
  11. package/components/PlayerHeader.js +213 -348
  12. package/components/Playlist.js +50 -89
  13. package/components/PointersBar.js +131 -203
  14. package/components/PosterImage.js +12 -22
  15. package/components/SDOutline.js +32 -54
  16. package/components/Shortcut.js +135 -140
  17. package/components/Slider.js +85 -128
  18. package/components/TagsBar.js +45 -62
  19. package/components/Video.js +479 -655
  20. package/components/control-bar/AudioTracksMenuButton.js +63 -86
  21. package/components/control-bar/CameraButton.js +65 -76
  22. package/components/control-bar/CommentsButton.js +97 -136
  23. package/components/control-bar/ControlBar.js +171 -164
  24. package/components/control-bar/EditorControlMenuButton.js +180 -280
  25. package/components/control-bar/ForwardControl.js +7 -11
  26. package/components/control-bar/ForwardReplayControl.js +41 -55
  27. package/components/control-bar/FullscreenToggle.js +48 -67
  28. package/components/control-bar/PlayToggle.js +39 -54
  29. package/components/control-bar/ReplayControl.js +7 -11
  30. package/components/control-bar/SettingsMenuButton.js +19 -29
  31. package/components/control-bar/SubtitleLanguagesMenuButton.js +90 -119
  32. package/components/control-bar/SubtitleMovementMenu.js +128 -0
  33. package/components/control-bar/VolumeMenuButton.js +71 -96
  34. package/components/control-bar/ZoomMenuButton.js +57 -81
  35. package/components/marking-controls/MarkInControl.js +49 -65
  36. package/components/marking-controls/MarkOutControl.js +53 -69
  37. package/components/marking-controls/MarkingAddButton.js +41 -54
  38. package/components/marking-controls/MarkingControl.js +58 -107
  39. package/components/marking-controls/MarkingDeleteButton.js +39 -51
  40. package/components/marking-controls/MarkingDuration.js +23 -56
  41. package/components/marking-controls/MarkingPreview.js +39 -51
  42. package/components/progress-bar/AudioWaveform.js +48 -64
  43. package/components/progress-bar/LoadProgressBar.js +14 -37
  44. package/components/progress-bar/MouseTimeDisplay.js +14 -30
  45. package/components/progress-bar/PlayProgressBar.js +23 -41
  46. package/components/progress-bar/ProgressControl.js +82 -141
  47. package/components/progress-bar/SeekBar.js +101 -169
  48. package/components/progress-bar/Timeline.js +57 -81
  49. package/components/settings-menu-control/PlaybackRateControl.js +70 -115
  50. package/components/settings-menu-control/SafeAreaControl.js +49 -65
  51. package/components/settings-menu-control/SettingsMenu.js +26 -50
  52. package/components/time-controls/CurrentTimeDisplay.js +15 -34
  53. package/components/time-controls/DurationDisplay.js +14 -33
  54. package/components/time-controls/TimeDivider.js +12 -28
  55. package/components/volume-control/VolumeBar.js +84 -118
  56. package/components/volume-control/VolumeControl.js +7 -23
  57. package/components/volume-control/VolumeLevel.js +19 -36
  58. package/components/zoom-control/ZoomBar.js +79 -111
  59. package/components/zoom-control/ZoomLevel.js +24 -36
  60. package/index.js +204 -149
  61. package/package.json +5 -1
  62. package/reducers/index.js +12 -14
  63. package/reducers/operation.js +14 -14
  64. package/reducers/player.js +40 -42
  65. package/utils/browser.js +10 -5
  66. package/utils/dom.js +4 -15
  67. package/utils/fullscreen.js +24 -24
  68. package/utils/index.js +35 -46
@@ -1,58 +1,43 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
-
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
-
9
- var _propTypes = require('prop-types');
10
-
11
- var _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _styledComponents = require('styled-components');
16
-
17
- var _styledComponents2 = _interopRequireDefault(_styledComponents);
18
-
19
- var _components = require('@desynova-digital/components');
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
-
7
+ exports["default"] = void 0;
8
+ var _propTypes = require("prop-types");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _components = require("@desynova-digital/components");
12
+ var _templateObject, _templateObject2, _templateObject3;
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
16
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
-
25
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
26
-
27
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
28
-
17
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
22
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
23
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
24
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
25
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
26
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
29
29
  /*
30
30
  * import { play } from '../actions/player';
31
31
  * import { colors } from '@desynova-digital/tokens';
32
- */
33
-
34
- // import colors from '../colors';
35
-
32
+ */ // import colors from '../colors';
36
33
  var propTypes = {
37
34
  playlist: _propTypes.PropTypes.instanceOf(Array),
38
35
  videoId: _propTypes.PropTypes.string,
39
36
  playlistClick: _propTypes.PropTypes.func
40
37
  };
41
-
42
- var PlaylistContainer = (0, _styledComponents2.default)('div').withConfig({
43
- displayName: 'Playlist__PlaylistContainer',
44
- componentId: 'sc-pwroms-0'
45
- })(['', '{display:none;}'], _components.Carousel.Header);
46
-
47
- var PlaylistCarousel = (0, _styledComponents2.default)(_components.Carousel).withConfig({
48
- displayName: 'Playlist__PlaylistCarousel',
49
- componentId: 'sc-pwroms-1'
50
- })(['width:100%;']);
51
-
52
- var PlaylistCard = (0, _styledComponents2.default)('div').withConfig({
53
- displayName: 'Playlist__PlaylistCard',
54
- componentId: 'sc-pwroms-2'
55
- })(['width:143px;height:80px;opacity:', ';background:url(', ') 50% 50%/100% auto no-repeat;transform:', ';transition:all 550ms cubic-bezier(0.02,0.01,0.47,1);cursor:', ';pointer-events:', ';&:hover{opacity:1;transform:translateY(0px);}.asset-filename{text-shadow:0 2px 4px rgba(0,0,0,0.7);font-family:SFUIText-Medium;font-size:12px;line-height:1;color:#ffffff;text-align:left;height:auto;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;line-height:17px;padding:5px;}'], function (props) {
38
+ var PlaylistContainer = (0, _styledComponents["default"])('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", " {\n display: none;\n }\n"])), _components.Carousel.Header);
39
+ var PlaylistCarousel = (0, _styledComponents["default"])(_components.Carousel)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n"])));
40
+ var PlaylistCard = (0, _styledComponents["default"])('div')(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 143px;\n height: 80px;\n opacity: ", ";\n background: url(", ") 50% 50%/100% auto no-repeat;\n transform: ", ";\n transition: all 550ms cubic-bezier(0.02, 0.01, 0.47, 1);\n cursor: ", ";\n pointer-events: ", ";\n &:hover {\n opacity: 1;\n transform: translateY(0px);\n }\n .asset-filename {\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);\n font-family: SFUIText-Medium;\n font-size: 12px;\n line-height: 1;\n color: #ffffff;\n text-align: left;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n word-break: break-word;\n line-height: 17px;\n padding: 5px;\n }\n"])), function (props) {
56
41
  return props.active ? '1' : '0.5';
57
42
  }, function (props) {
58
43
  return props.thumbnail;
@@ -63,71 +48,47 @@ var PlaylistCard = (0, _styledComponents2.default)('div').withConfig({
63
48
  }, function (props) {
64
49
  return props.active ? 'none' : 'all';
65
50
  });
66
-
67
- var Playlist = function (_Component) {
51
+ var Playlist = /*#__PURE__*/function (_Component) {
68
52
  _inherits(Playlist, _Component);
69
-
53
+ var _super = _createSuper(Playlist);
70
54
  function Playlist(props, context) {
71
55
  _classCallCheck(this, Playlist);
72
-
73
- return _possibleConstructorReturn(this, (Playlist.__proto__ || Object.getPrototypeOf(Playlist)).call(this, props, context));
56
+ return _super.call(this, props, context);
74
57
  }
75
-
76
58
  _createClass(Playlist, [{
77
- key: 'componentDidMount',
59
+ key: "componentDidMount",
78
60
  value: function componentDidMount() {}
79
61
  }, {
80
- key: 'handleCardClick',
62
+ key: "handleCardClick",
81
63
  value: function handleCardClick(ingest_db_id) {
82
64
  var playlistClick = this.props.playlistClick;
83
-
84
65
  if (playlistClick) {
85
66
  playlistClick(ingest_db_id);
86
67
  }
87
68
  }
88
69
  }, {
89
- key: 'render',
70
+ key: "render",
90
71
  value: function render() {
91
- var _this2 = this;
92
-
93
- var _props = this.props,
94
- playlist = _props.playlist,
95
- videoId = _props.videoId;
96
-
97
- return _react2.default.createElement(
98
- PlaylistContainer,
99
- null,
100
- playlist && playlist.length ? _react2.default.createElement(
101
- PlaylistCarousel,
102
- null,
103
- playlist.map(function (asset) {
104
- return _react2.default.createElement(
105
- PlaylistCard,
106
- {
107
- key: asset.ingest_db_id,
108
- thumbnail: asset.thumbnail,
109
- active: videoId === asset.ingest_db_id,
110
- onClick: function onClick() {
111
- _this2.handleCardClick(asset.ingest_db_id);
112
- }
113
- },
114
- _react2.default.createElement(
115
- 'p',
116
- { className: 'asset-filename' },
117
- asset.filename || asset.asset_name
118
- )
119
- );
120
- })
121
- ) : null
122
- );
72
+ var _this = this;
73
+ var _this$props = this.props,
74
+ playlist = _this$props.playlist,
75
+ videoId = _this$props.videoId;
76
+ return /*#__PURE__*/_react["default"].createElement(PlaylistContainer, null, playlist && playlist.length ? /*#__PURE__*/_react["default"].createElement(PlaylistCarousel, null, playlist.map(function (asset) {
77
+ return /*#__PURE__*/_react["default"].createElement(PlaylistCard, {
78
+ key: asset.ingest_db_id,
79
+ thumbnail: asset.thumbnail,
80
+ active: videoId === asset.ingest_db_id,
81
+ onClick: function onClick() {
82
+ _this.handleCardClick(asset.ingest_db_id);
83
+ }
84
+ }, /*#__PURE__*/_react["default"].createElement("p", {
85
+ className: "asset-filename"
86
+ }, asset.filename || asset.asset_name));
87
+ })) : null);
123
88
  }
124
89
  }]);
125
-
126
90
  return Playlist;
127
91
  }(_react.Component);
128
-
129
- exports.default = Playlist;
130
-
131
-
92
+ exports["default"] = Playlist;
132
93
  Playlist.propTypes = propTypes;
133
94
  Playlist.displayName = 'Playlist';
@@ -1,36 +1,38 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
-
7
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
-
9
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
10
-
11
- var _react = require('react');
12
-
13
- var _react2 = _interopRequireDefault(_react);
14
-
15
- var _styledComponents = require('styled-components');
16
-
17
- var _styledComponents2 = _interopRequireDefault(_styledComponents);
18
-
19
- var _propTypes = require('prop-types');
20
-
21
- var _components = require('@desynova-digital/components');
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
25
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
26
-
27
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
28
-
29
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable jsx-a11y/mouse-events-have-key-events */
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _propTypes = require("prop-types");
11
+ var _components = require("@desynova-digital/components");
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
+ /* eslint-disable jsx-a11y/mouse-events-have-key-events */
30
15
  /* eslint-disable jsx-a11y/click-events-have-key-events */
31
16
  /* eslint-disable react/no-array-index-key */
32
-
33
-
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
25
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
26
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
27
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
30
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
31
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
32
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
34
36
  /*
35
37
  * import { colors } from '@desynova-digital/tokens';
36
38
  * import colors from '../colors';
@@ -42,57 +44,47 @@ var propTypes = {
42
44
  markers: _propTypes.PropTypes.instanceOf(Array),
43
45
  onTagClick: _propTypes.PropTypes.func
44
46
  };
45
-
46
47
  var defaultProps = {
47
48
  player: {}
48
49
  };
49
-
50
- var PointersContainer = _styledComponents2.default.div.withConfig({
51
- displayName: 'PointersBar__PointersContainer',
52
- componentId: 'sc-b8687a-0'
53
- })(['display:flex;']);
54
-
55
- var PointerBlock = _styledComponents2.default.div.withConfig({
56
- displayName: 'PointersBar__PointerBlock',
57
- componentId: 'sc-b8687a-1'
58
- })(['width:100%;height:20px;position:relative;border-top:1px solid #333333;border-bottom:1px solid #333333;.empty-pointers-msg{display:flex;justify-content:center;align-items:center;height:100%;p{font-family:SFUIText-Medium;font-size:11px;color:#aaaaaa;}', '{margin:0 5px;}}'], _components.Icon.Element);
59
- var MarkerTagsBlock = _styledComponents2.default.div.withConfig({
60
- displayName: 'PointersBar__MarkerTagsBlock',
61
- componentId: 'sc-b8687a-2'
62
- })(['min-width:100px;max-width:100px;position:relative;height:100%;.tags-block{height:20px;font-family:SFUIText-Medium;font-size:10px;color:#ffffff;text-transform:uppercase;border-top:1px solid #333333;border-bottom:1px solid #333333;p{line-height:18px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}}']);
63
-
64
- var ToolTipStyles = _styledComponents2.default.div.withConfig({
65
- displayName: 'PointersBar__ToolTipStyles',
66
- componentId: 'sc-b8687a-3'
67
- })(['position:absolute;z-index:2;height:18px;transition:left .1s ease-in-out;.tooltip-container{border-radius:0.25rem;padding:5px;width:fit-content;background:#FFFFFF;;color:#666666;h4{white-space:nowrap;font-size:12px;}&:after{content:\'\';position:absolute;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white;', ' left:50%;transform:translateX(-50%);}}'], function (props) {
50
+ var PointersContainer = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n"])));
51
+ var PointerBlock = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n height: 20px;\n position: relative;\n border-top: 1px solid #333333;\n border-bottom: 1px solid #333333;\n .empty-pointers-msg {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n p {\n font-family: SFUIText-Medium;\n font-size: 11px;\n color: #aaaaaa;\n }\n ", " {\n margin: 0 5px;\n }\n }\n"])), _components.Icon.Element);
52
+ var MarkerTagsBlock = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-width: 100px;\n max-width: 100px;\n position: relative;\n height: 100%;\n .tags-block {\n height: 20px;\n font-family: SFUIText-Medium;\n font-size: 10px;\n color: #ffffff;\n text-transform: uppercase;\n border-top: 1px solid #333333;\n border-bottom: 1px solid #333333;\n p {\n line-height: 18px;\n padding: 0 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n"])));
53
+ var ToolTipStyles = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 2;\n height: 18px;\n transition: left .1s ease-in-out;\n\n .tooltip-container{\n border-radius: 0.25rem;\n padding: 5px;\n width: fit-content;\n background: #FFFFFF;;\n color: #666666;\n \n h4 {\n white-space: nowrap;\n font-size: 12px;\n }\n \n &:after {\n content: '';\n position: absolute;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid white;\n ", "\n left: 50%;\n transform: translateX(-50%);\n }\n }\n"])), function (props) {
68
54
  return props.multiline ? "bottom: -21px;" : "bottom: -9px;";
69
55
  });
70
-
71
- var PointersBar = function (_Component) {
56
+ var PointersBar = /*#__PURE__*/function (_Component) {
72
57
  _inherits(PointersBar, _Component);
73
-
58
+ var _super = _createSuper(PointersBar);
74
59
  function PointersBar(props) {
60
+ var _this;
75
61
  _classCallCheck(this, PointersBar);
76
-
77
- var _this = _possibleConstructorReturn(this, (PointersBar.__proto__ || Object.getPrototypeOf(PointersBar)).call(this, props));
78
-
79
- _this.getPointerStyle = _this.getPointerStyle.bind(_this);
62
+ _this = _super.call(this, props);
63
+ _this.getPointerStyle = _this.getPointerStyle.bind(_assertThisInitialized(_this));
80
64
  _this.state = {
81
65
  tooltip: {
82
66
  isVisible: false
83
67
  }
84
68
  };
85
- _this._tooltipRef = _react2.default.createRef();
69
+ _this._tooltipRef = /*#__PURE__*/_react["default"].createRef();
70
+ _this.renderComp = 0;
86
71
  return _this;
87
72
  }
88
-
89
73
  _createClass(PointersBar, [{
90
- key: 'onMarkerClick',
74
+ key: "shouldComponentUpdate",
75
+ value: function shouldComponentUpdate(nextProps, nextState) {
76
+ if (_lodash["default"].isEqual(nextProps.markers, this.props.markers) && !this.renderComp) {
77
+ return false;
78
+ }
79
+ this.renderComp = 0;
80
+ return true;
81
+ }
82
+ }, {
83
+ key: "onMarkerClick",
91
84
  value: function onMarkerClick(e, marker) {
92
- var _props = this.props,
93
- onTagClick = _props.onTagClick,
94
- actions = _props.actions;
95
-
85
+ var _this$props = this.props,
86
+ onTagClick = _this$props.onTagClick,
87
+ actions = _this$props.actions;
96
88
  var start_time = parseFloat(e.target.getAttribute('leftpos'));
97
89
  var end_time = parseFloat(e.target.getAttribute('rightpos'));
98
90
  actions.handleMarkerUpdate(start_time, end_time);
@@ -101,19 +93,18 @@ var PointersBar = function (_Component) {
101
93
  onTagClick(start_time, end_time, marker);
102
94
  }
103
95
  }, {
104
- key: 'getPointerStyle',
96
+ key: "getPointerStyle",
105
97
  value: function getPointerStyle(leftMarker, rightMarker, index) {
106
98
  var player = this.props.player;
107
-
108
99
  var left = leftMarker / player.duration * 100;
109
100
  var right = rightMarker / player.duration * 100;
110
101
  var width = right - left;
111
102
  var style = {
112
- left: left + '%',
103
+ left: "".concat(left, "%"),
113
104
  position: 'absolute',
114
105
  bottom: 0,
115
106
  height: '100%',
116
- width: width + '%',
107
+ width: "".concat(width, "%"),
117
108
  cursor: 'pointer',
118
109
  backgroundColor: index % 2 === 0 ? '#00cec6' : '#146778',
119
110
  opacity: 0.8,
@@ -122,28 +113,27 @@ var PointersBar = function (_Component) {
122
113
  return style;
123
114
  }
124
115
  }, {
125
- key: 'setTooltipData',
116
+ key: "setTooltipData",
126
117
  value: function setTooltipData(e, title) {
127
118
  var _this2 = this;
128
-
129
119
  var tooltip = this.state.tooltip;
130
-
131
120
  tooltip.isVisible = false;
132
121
  tooltip.text = title;
133
122
  tooltip.bottom = window.innerHeight - e.target.getBoundingClientRect().top; // e.target.getBoundingClientRect().top - e.target.getBoundingClientRect().height - 10;
134
123
  tooltip.bottom = title.line1 ? tooltip.bottom + 22 : tooltip.bottom + 10;
135
124
  tooltip.left = e.target.getBoundingClientRect().left + (e.target.getBoundingClientRect().right - e.target.getBoundingClientRect().left) / 2;
136
- this.setState(_extends({}, tooltip), function () {
125
+ this.renderComp = 1;
126
+ this.setState(_objectSpread({}, tooltip), function () {
137
127
  var tooltip = _this2.state.tooltip;
138
-
139
128
  var tooltipRefOffset = _this2._tooltipRef.current && _this2._tooltipRef.current.offsetWidth ? _this2._tooltipRef.current.offsetWidth / 2 : 0;
140
129
  tooltip.isVisible = true;
141
130
  tooltip.left = tooltip.left - tooltipRefOffset;
142
- _this2.setState(_extends({}, tooltip));
131
+ _this2.renderComp = 1;
132
+ _this2.setState(_objectSpread({}, tooltip));
143
133
  });
144
134
  }
145
135
  }, {
146
- key: 'getTitle',
136
+ key: "getTitle",
147
137
  value: function getTitle(marker) {
148
138
  var data = marker.segment_title || marker.word || '';
149
139
  if (!data.length && marker.line1) {
@@ -155,145 +145,83 @@ var PointersBar = function (_Component) {
155
145
  return data;
156
146
  }
157
147
  }, {
158
- key: 'render',
148
+ key: "render",
159
149
  value: function render() {
160
150
  var _this3 = this;
161
-
162
151
  var markers = this.props.markers;
163
- var _state$tooltip = this.state.tooltip,
164
- isVisible = _state$tooltip.isVisible,
165
- text = _state$tooltip.text,
166
- left = _state$tooltip.left,
167
- bottom = _state$tooltip.bottom;
168
-
152
+ var _this$state$tooltip = this.state.tooltip,
153
+ isVisible = _this$state$tooltip.isVisible,
154
+ text = _this$state$tooltip.text,
155
+ left = _this$state$tooltip.left,
156
+ bottom = _this$state$tooltip.bottom;
169
157
  var self = this;
170
- return _react2.default.createElement(
171
- _react2.default.Fragment,
172
- null,
173
- markers && markers.length ? markers.map(function (marker_obj) {
174
- return _react2.default.createElement(
175
- PointersContainer,
176
- { key: marker_obj.name },
177
- _react2.default.createElement(
178
- MarkerTagsBlock,
179
- null,
180
- _react2.default.createElement(
181
- 'div',
182
- { className: 'tags-block' },
183
- _react2.default.createElement(
184
- 'p',
185
- null,
186
- marker_obj.name
187
- )
188
- )
189
- ),
190
- _react2.default.createElement(
191
- PointerBlock,
192
- null,
193
- marker_obj && marker_obj.values && marker_obj.values.length ? marker_obj.values.map(function (marker, index) {
194
- var style = self.getPointerStyle(marker.start_time, marker.end_time, index);
195
- return _react2.default.createElement('div', {
196
- className: 'marker-blocks',
197
- onClick: function onClick(e) {
198
- _this3.onMarkerClick(e, marker);
199
- },
200
- onMouseOver: function onMouseOver(e) {
201
- self.setTooltipData(e, _this3.getTitle(marker));
202
- },
203
- onMouseOut: function onMouseOut() {
204
- var tooltip = _this3.state.tooltip;
205
-
206
- tooltip.isVisible = false;
207
- tooltip.text = null;
208
- // tooltip.left = null;
209
- _this3.setState(_extends({}, tooltip));
210
- },
211
- role: 'button',
212
- tabIndex: '-1',
213
- style: style,
214
- leftpos: marker.start_time,
215
- rightpos: marker.end_time,
216
- key: marker.start_time + '-' + marker.end_time + '-' + index
217
- });
218
- }) : _react2.default.createElement(
219
- 'div',
220
- { className: 'empty-pointers-msg' },
221
- _react2.default.createElement(
222
- 'p',
223
- null,
224
- 'Mark In'
225
- ),
226
- _react2.default.createElement(_components.Icon, {
227
- name: 'in-marker',
228
- stroke: '#fff',
229
- width: 7,
230
- height: 11
231
- }),
232
- _react2.default.createElement(
233
- 'p',
234
- null,
235
- 'and Mark Out'
236
- ),
237
- _react2.default.createElement(_components.Icon, {
238
- name: 'out-marker',
239
- stroke: '#fff',
240
- width: 7,
241
- height: 11
242
- }),
243
- _react2.default.createElement(
244
- 'p',
245
- null,
246
- 'to create ',
247
- marker_obj.name,
248
- ' in the selected range. '
249
- )
250
- )
251
- ),
252
- _react2.default.createElement(
253
- MarkerTagsBlock,
254
- null,
255
- _react2.default.createElement(
256
- 'div',
257
- { className: 'tags-block' },
258
- _react2.default.createElement('p', null)
259
- )
260
- )
261
- );
262
- }) : null,
263
- text && _react2.default.createElement(
264
- ToolTipStyles,
265
- { multiline: !!text.line1, ref: this._tooltipRef, style: { left: left || 0, bottom: bottom || 0, visibility: isVisible ? "visible" : "hidden" } },
266
- _react2.default.createElement(
267
- 'div',
268
- { className: 'tooltip-container' },
269
- text.line1 && _react2.default.createElement(
270
- 'h4',
271
- null,
272
- text.line1
273
- ),
274
- text.line2 && _react2.default.createElement(
275
- 'h4',
276
- null,
277
- text.line2
278
- ),
279
- !text.line1 && _react2.default.createElement(
280
- 'h4',
281
- null,
282
- text
283
- )
284
- )
285
- ),
286
- _react2.default.createElement('div', { id: 'dummy-container' })
287
- );
158
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, markers && markers.length ? markers.map(function (marker_obj) {
159
+ return /*#__PURE__*/_react["default"].createElement(PointersContainer, {
160
+ key: marker_obj.name
161
+ }, /*#__PURE__*/_react["default"].createElement(MarkerTagsBlock, {
162
+ key: "".concat(marker_obj.name, "-tags-block")
163
+ }, /*#__PURE__*/_react["default"].createElement("div", {
164
+ className: "tags-block"
165
+ }, /*#__PURE__*/_react["default"].createElement("p", null, marker_obj.name))), /*#__PURE__*/_react["default"].createElement(PointerBlock, {
166
+ key: "".concat(marker_obj.name, "-key-tags-block")
167
+ }, marker_obj && marker_obj.values && marker_obj.values.length ? marker_obj.values.map(function (marker, index) {
168
+ var style = self.getPointerStyle(marker.start_time, marker.end_time, index);
169
+ return /*#__PURE__*/_react["default"].createElement("div", {
170
+ className: "marker-blocks",
171
+ onClick: function onClick(e) {
172
+ _this3.onMarkerClick(e, marker);
173
+ },
174
+ onMouseOver: function onMouseOver(e) {
175
+ self.setTooltipData(e, _this3.getTitle(marker));
176
+ },
177
+ onMouseOut: function onMouseOut() {
178
+ var tooltip = _this3.state.tooltip;
179
+ tooltip.isVisible = false;
180
+ tooltip.text = null;
181
+ _this3.renderComp = 1;
182
+ // tooltip.left = null;
183
+ _this3.setState(_objectSpread({}, tooltip));
184
+ },
185
+ role: "button",
186
+ tabIndex: "-1",
187
+ style: style,
188
+ leftpos: marker.start_time,
189
+ rightpos: marker.end_time,
190
+ key: "".concat(marker.start_time, "-").concat(marker.end_time, "-").concat(index)
191
+ });
192
+ }) : /*#__PURE__*/_react["default"].createElement("div", {
193
+ className: "empty-pointers-msg"
194
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "Mark In"), /*#__PURE__*/_react["default"].createElement(_components.Icon, {
195
+ name: "in-marker",
196
+ stroke: "#fff",
197
+ width: 7,
198
+ height: 11
199
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "and Mark Out"), /*#__PURE__*/_react["default"].createElement(_components.Icon, {
200
+ name: "out-marker",
201
+ stroke: "#fff",
202
+ width: 7,
203
+ height: 11
204
+ }), /*#__PURE__*/_react["default"].createElement("p", null, "to create ", marker_obj.name, " in the selected range. "))), /*#__PURE__*/_react["default"].createElement(MarkerTagsBlock, null, /*#__PURE__*/_react["default"].createElement("div", {
205
+ className: "tags-block"
206
+ }, /*#__PURE__*/_react["default"].createElement("p", null))));
207
+ }) : null, text && /*#__PURE__*/_react["default"].createElement(ToolTipStyles, {
208
+ multiline: !!text.line1,
209
+ ref: this._tooltipRef,
210
+ style: {
211
+ left: left || 0,
212
+ bottom: bottom || 0,
213
+ visibility: isVisible ? "visible" : "hidden"
214
+ }
215
+ }, /*#__PURE__*/_react["default"].createElement("div", {
216
+ className: "tooltip-container"
217
+ }, text.line1 && /*#__PURE__*/_react["default"].createElement("h4", null, text.line1), text.line2 && /*#__PURE__*/_react["default"].createElement("h4", null, text.line2), !text.line1 && /*#__PURE__*/_react["default"].createElement("h4", null, text))), /*#__PURE__*/_react["default"].createElement("div", {
218
+ id: "dummy-container"
219
+ }));
288
220
  }
289
221
  }]);
290
-
291
222
  return PointersBar;
292
223
  }(_react.Component);
293
-
294
- exports.default = PointersBar;
295
-
296
-
224
+ exports["default"] = PointersBar;
297
225
  PointersBar.propTypes = propTypes;
298
226
  PointersBar.defaultProps = defaultProps;
299
227
  PointersBar.displayName = 'PointersBar';