@desynova-digital/player 4.0.97 → 4.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/actions/player.js CHANGED
@@ -301,11 +301,12 @@ function toggleFullscreen(player) {
301
301
  // }
302
302
 
303
303
  function toggleRightBar(player, showRightMenu) {
304
+ var _right$offsetWidth;
304
305
  var root = document.querySelector('.player-container');
305
306
  var right = document.querySelector('.right-video-section');
306
- var sidebarWidth = right.offsetWidth; // actual width of sidebar
307
+ var sidebarWidth = (_right$offsetWidth = right === null || right === void 0 ? void 0 : right.offsetWidth) !== null && _right$offsetWidth !== void 0 ? _right$offsetWidth : 0; // actual width of sidebar
307
308
  // Already fullscreen → toggle UI only (NO EXIT)
308
- if (_fullscreen["default"].isFullscreen) {
309
+ if (_fullscreen["default"].isFullscreen && right) {
309
310
  right.style.transition = 'transform 0.4s ease, opacity 0.3s ease';
310
311
  if (showRightMenu) {
311
312
  root.classList.add('rightbar-visible');
@@ -236,7 +236,7 @@ var Player = exports["default"] = /*#__PURE__*/function (_Component) {
236
236
  var newHeight;
237
237
  var isFS = _fullscreen["default"].isFullscreen;
238
238
  _this.actions.handleFullscreenChange(isFS);
239
- if (isFS) {
239
+ if (isFS && rightSectionRef) {
240
240
  rightSectionRef.style.position = 'relative';
241
241
  newHeight = totalHeight - headerHeight;
242
242
  rightSectionRef.style.top = "".concat(headerHeight, "px");
@@ -850,7 +850,7 @@ var Player = exports["default"] = /*#__PURE__*/function (_Component) {
850
850
  video.classList.add('ratio-border');
851
851
  }
852
852
  // Fullscreen mode with right section consideration
853
- else if (player.isFullscreen) {
853
+ else if (player.isFullscreen && rightSectionRef) {
854
854
  // Calculate available width considering right section
855
855
  var availableWidth = totalWidth;
856
856
  if (isRightMenuVisible) {
@@ -871,6 +871,7 @@ var Player = exports["default"] = /*#__PURE__*/function (_Component) {
871
871
  video.style.margin = '0 auto';
872
872
  video.classList.add('ratio-border');
873
873
  } else if (window.innerHeight < 1024 && (playerContainer.offsetHeight > window.innerHeight || window.innerHeight > playerContainer.offsetHeight)) {
874
+ var _this$props6;
874
875
  var playlistMinHeight = 150;
875
876
  if (controlType === 'default') {
876
877
  if (fileType === 'image') {
@@ -888,7 +889,10 @@ var Player = exports["default"] = /*#__PURE__*/function (_Component) {
888
889
  }
889
890
  video.style.paddingTop = '0';
890
891
  video.style.width = videoWidth + 'px';
891
- video.style.height = videoHeight + 'px';
892
+ if (!((_this$props6 = this.props) !== null && _this$props6 !== void 0 && _this$props6.noRightComponent)) {
893
+ video.style.height = videoHeight + 'px';
894
+ }
895
+ ;
892
896
  video.style.margin = '0 auto';
893
897
  video.classList.add('ratio-border');
894
898
  } else if (window.innerHeight >= 900) {
@@ -956,12 +960,12 @@ var Player = exports["default"] = /*#__PURE__*/function (_Component) {
956
960
  video: this.video ? this.video.video : null
957
961
  });
958
962
  var childrensLeft = this.getChildren(props, 'left');
959
- var _this$props6 = this.props,
960
- rightSection = _this$props6.rightSection,
961
- playerType = _this$props6.playerType,
962
- isFullscreen = _this$props6.isFullscreen,
963
- tabMetadata = _this$props6.tabMetadata,
964
- isRightMenuVisible = _this$props6.isRightMenuVisible;
963
+ var _this$props7 = this.props,
964
+ rightSection = _this$props7.rightSection,
965
+ playerType = _this$props7.playerType,
966
+ isFullscreen = _this$props7.isFullscreen,
967
+ tabMetadata = _this$props7.tabMetadata,
968
+ isRightMenuVisible = _this$props7.isRightMenuVisible;
965
969
  return /*#__PURE__*/_react["default"].createElement(PlayerBlock, {
966
970
  ref: function ref(c) {
967
971
  _this5.manager.rootElement = c;
@@ -225,7 +225,8 @@ var PlayerHeader = exports["default"] = /*#__PURE__*/function (_Component) {
225
225
  openSharePopup = _this$props6.openSharePopup,
226
226
  isShareAvailable = _this$props6.isShareAvailable,
227
227
  isUserGuest = _this$props6.isUserGuest,
228
- isRightMenuVisible = _this$props6.isRightMenuVisible;
228
+ isRightMenuVisible = _this$props6.isRightMenuVisible,
229
+ noRightComponent = _this$props6.noRightComponent;
229
230
  var _this$state = this.state,
230
231
  versionIndex = _this$state.versionIndex,
231
232
  updatedVersionsList = _this$state.updatedVersionsList;
@@ -367,7 +368,7 @@ var PlayerHeader = exports["default"] = /*#__PURE__*/function (_Component) {
367
368
  style: {
368
369
  pointerEvents: 'none'
369
370
  }
370
- }, this.props)) : null, isFullscreen ? /*#__PURE__*/_react["default"].createElement(IconButton, {
371
+ }, this.props)) : null, isFullscreen && !noRightComponent ? /*#__PURE__*/_react["default"].createElement(IconButton, {
371
372
  isRightMenuVisible: isRightMenuVisible,
372
373
  display: "rounded",
373
374
  appearance: "cta",
@@ -1,23 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports["default"] = SDOutline;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
10
  var _propTypes = require("prop-types");
10
11
  var _colors = _interopRequireDefault(require("../colors"));
11
12
  var _templateObject, _templateObject2;
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ 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
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
22
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
14
23
  var propTypes = {
15
24
  player: _propTypes.PropTypes.instanceOf(Object),
16
25
  actions: _propTypes.PropTypes.instanceOf(Object)
17
26
  };
18
- var SDPlayerBorder = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n opacity: 0.3;\n border: solid 1px ", ";\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n -o-transform: translate(-50%, -50%);\n -moz-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n position: absolute;\n // padding-left: 75%;\n // height: 100%;\n height: ", ";\n padding-left: ", "\n"])), _colors["default"].common.base.white, function (props) {
19
- if (props.isFullscreen && props.isRightMenuVisible) {
20
- return props.heightRatio ? "calc(75% * ".concat(props.heightRatio, ")") : '75%';
27
+ var SDPlayerBorder = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n opacity: 0.3;\n border: solid 1px ", ";\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n -o-transform: translate(-50%, -50%);\n -moz-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n position: absolute;\n height: ", ";\n padding-left: ", ";\n"])), _colors["default"].common.base.white, function (props) {
28
+ if (props.isFullscreen && props.isRightMenuVisible && props.calculatedHeight) {
29
+ return "".concat(props.calculatedHeight, "px");
21
30
  } else {
22
31
  return props.heightRatio ? "calc(100% * ".concat(props.heightRatio, ")") : '100%';
23
32
  }
@@ -34,7 +43,106 @@ function SDOutline(_ref) {
34
43
  text = _ref.text,
35
44
  keyData = _ref.keyData,
36
45
  isRightMenuVisible = _ref.isRightMenuVisible;
46
+ var _useState = (0, _react.useState)(null),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ calculatedHeight = _useState2[0],
49
+ setCalculatedHeight = _useState2[1];
50
+ var containerRef = (0, _react.useRef)(null);
51
+ var calculateHeightBasedOnResolution = function calculateHeightBasedOnResolution() {
52
+ if (!player.isFullscreen || !isRightMenuVisible) {
53
+ setCalculatedHeight(null);
54
+ return;
55
+ }
56
+ try {
57
+ // Get video element
58
+ var videoElement = document.querySelector('video');
59
+ if (!videoElement) return;
60
+
61
+ // Get video width and height
62
+ var videoWidth = videoElement.videoWidth;
63
+ var videoHeight = videoElement.videoHeight;
64
+ if (!videoWidth || !videoHeight) return;
65
+
66
+ // Calculate aspect ratio
67
+ var aspectRatio = videoWidth / videoHeight;
68
+
69
+ // Get container width
70
+ var leftVideoSection = document.querySelector('.left-video-section');
71
+ if (!leftVideoSection) return;
72
+ var containerWidth = leftVideoSection.getBoundingClientRect().width;
73
+ var newHeight;
74
+ var is169Ratio = aspectRatio > 1.5;
75
+ var is43Ratio = aspectRatio < 1.5;
76
+ if (is43Ratio) {
77
+ // For 4:3 aspect ratio: height = width * 0.75 (3/4)
78
+ newHeight = containerWidth * (3 / 4);
79
+ } else {
80
+ // For 16:9 aspect ratio: height = width * 0.5625 (9/16)
81
+ newHeight = containerWidth * (9 / 16);
82
+ }
83
+
84
+ // Apply heightRatio if provided
85
+ var finalHeight = newHeight;
86
+ if (heightRatio !== undefined) {
87
+ // heightRatio of 0.8 means 80%, 0.9 means 90%, etc.
88
+ finalHeight = newHeight * heightRatio;
89
+ }
90
+
91
+ // Set height in pixels
92
+ setCalculatedHeight(finalHeight);
93
+ } catch (error) {
94
+ console.error('Error calculating height:', error);
95
+ setCalculatedHeight(null);
96
+ }
97
+ };
98
+ (0, _react.useEffect)(function () {
99
+ calculateHeightBasedOnResolution();
100
+ // Optional: Recalculate on window resize
101
+ var handleResize = function handleResize() {
102
+ calculateHeightBasedOnResolution();
103
+ };
104
+ window.addEventListener('resize', handleResize);
105
+ // Use ResizeObserver for container resize
106
+ var leftVideoSection = document.querySelector('.left-video-section');
107
+ var resizeObserver;
108
+ if (leftVideoSection) {
109
+ resizeObserver = new ResizeObserver(function () {
110
+ // Debounce to prevent excessive calculations
111
+ clearTimeout(resizeObserver.timeout);
112
+ resizeObserver.timeout = setTimeout(calculateHeightBasedOnResolution, 100);
113
+ });
114
+ resizeObserver.observe(leftVideoSection);
115
+ }
116
+ return function () {
117
+ window.removeEventListener('resize', handleResize);
118
+ if (resizeObserver && leftVideoSection) {
119
+ resizeObserver.unobserve(leftVideoSection);
120
+ clearTimeout(resizeObserver.timeout);
121
+ }
122
+ };
123
+ }, [player.isFullscreen, isRightMenuVisible, heightRatio]);
124
+
125
+ // Recalculate when video metadata is loaded
126
+ (0, _react.useEffect)(function () {
127
+ var videoElement = document.querySelector('video');
128
+ if (videoElement) {
129
+ videoElement.addEventListener('loadedmetadata', calculateHeightBasedOnResolution);
130
+ }
131
+ return function () {
132
+ if (videoElement) {
133
+ videoElement.removeEventListener('loadedmetadata', calculateHeightBasedOnResolution);
134
+ }
135
+ };
136
+ }, []);
137
+
138
+ // Also recalculate when heightRatio changes
139
+ (0, _react.useEffect)(function () {
140
+ if (player.isFullscreen && isRightMenuVisible) {
141
+ calculateHeightBasedOnResolution();
142
+ }
143
+ }, [heightRatio]);
37
144
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SDPlayerBorder, {
145
+ ref: containerRef,
38
146
  style: !player[keyData] ? {
39
147
  display: 'none'
40
148
  } : {
@@ -45,6 +153,7 @@ function SDOutline(_ref) {
45
153
  paddingLeftRatio: paddingLeftRatio,
46
154
  isFullscreen: player.isFullscreen,
47
155
  isRightMenuVisible: isRightMenuVisible,
156
+ calculatedHeight: calculatedHeight,
48
157
  onClick: function onClick() {
49
158
  if (player.paused) {
50
159
  actions.play();
@@ -27,7 +27,8 @@ var _SubtitleMovementMenu = _interopRequireDefault(require("./SubtitleMovementMe
27
27
  var _ZoomMenuButton = _interopRequireDefault(require("./ZoomMenuButton"));
28
28
  var _colors = _interopRequireDefault(require("../../colors"));
29
29
  var _TimecodeFormatSelector = _interopRequireDefault(require("../marking-controls/TimecodeFormatSelector"));
30
- var _templateObject, _templateObject2; // import CommentsButton from './CommentsButton';
30
+ var _components = require("@desynova-digital/components");
31
+ var _templateObject, _templateObject2, _templateObject3; // import CommentsButton from './CommentsButton';
31
32
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
32
33
  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); }
33
34
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -65,6 +66,7 @@ var PlayerControlBlock = _styledComponents["default"].div(_templateObject || (_t
65
66
  return props.player === 'panel' ? '0px' : 'initial';
66
67
  }, _colors["default"].common.base.black);
67
68
  var VideoControlBlock = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n"])));
69
+ var DownloadButton = (0, _styledComponents["default"])(_components.Button)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background: transparent;\n border: none;\n margin: 0px;\n &:hover,\n &:focus {\n background: transparent;\n }\n"])));
68
70
  var defaultProps = {
69
71
  autoHide: false,
70
72
  className: ''
@@ -82,8 +84,12 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
82
84
  return _createClass(ControlBar, [{
83
85
  key: "getDefaultChildren",
84
86
  value: function getDefaultChildren() {
85
- var playerType = this.props.playerType;
86
- return [/*#__PURE__*/_react["default"].createElement(_PlayToggle["default"], _extends({}, this.props, {
87
+ var _this$props2;
88
+ var _this$props = this.props,
89
+ playerType = _this$props.playerType,
90
+ theme = _this$props.theme,
91
+ handleShareDownload = _this$props.handleShareDownload;
92
+ var arr = [/*#__PURE__*/_react["default"].createElement(_PlayToggle["default"], _extends({}, this.props, {
87
93
  key: "play-toggle",
88
94
  order: 2
89
95
  })), /*#__PURE__*/_react["default"].createElement(_ReplayControl["default"], _extends({}, this.props, {
@@ -130,7 +136,7 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
130
136
  }
131
137
  }, this.props, {
132
138
  key: "volume-menu-button",
133
- order: 7
139
+ order: 8
134
140
  })),
135
141
  /*#__PURE__*/
136
142
  //Added to show camera button on fullscreen too
@@ -145,12 +151,12 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
145
151
  // order={7}
146
152
  // />,
147
153
  _react["default"].createElement(_CaptionControlMenuButton["default"], _extends({}, this.props, {
148
- order: 7,
154
+ order: 8,
149
155
  playerType: playerType,
150
156
  key: "caption-control-menu-button"
151
157
  })), /*#__PURE__*/_react["default"].createElement(_AudioTracksMenuButton["default"], _extends({}, this.props, {
152
158
  key: "audio-tracks-menu-button",
153
- order: 7
159
+ order: 8
154
160
  })), /*#__PURE__*/_react["default"].createElement(_SettingsMenuButton["default"], _extends({}, this.props, {
155
161
  key: "settings-menu-button",
156
162
  order: 9
@@ -161,6 +167,25 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
161
167
  marginRight: '10px'
162
168
  }
163
169
  }))];
170
+ if (this.props.noRightComponent && (_this$props2 = this.props) !== null && _this$props2 !== void 0 && (_this$props2 = _this$props2.videoData) !== null && _this$props2 !== void 0 && (_this$props2 = _this$props2.asset_actions) !== null && _this$props2 !== void 0 && _this$props2.includes('download_shared_asset')) {
171
+ arr.push(/*#__PURE__*/_react["default"].createElement(DownloadButton, {
172
+ theme: theme,
173
+ display: "rounded",
174
+ appearance: "cta",
175
+ icon: "download",
176
+ iconWidth: 18,
177
+ iconHeight: 18,
178
+ width: 20,
179
+ height: 20,
180
+ order: 9,
181
+ onClick: handleShareDownload,
182
+ key: "download-button",
183
+ style: {
184
+ marginLeft: '10px'
185
+ }
186
+ }));
187
+ }
188
+ return arr;
164
189
  }
165
190
  }, {
166
191
  key: "getAdvancedChildren",
@@ -268,11 +293,11 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
268
293
  }, {
269
294
  key: "getChildren",
270
295
  value: function getChildren() {
271
- var _this$props = this.props,
272
- controlType = _this$props.controlType,
273
- children = _this$props.children,
274
- fileType = _this$props.fileType,
275
- player = _this$props.player;
296
+ var _this$props3 = this.props,
297
+ controlType = _this$props3.controlType,
298
+ children = _this$props3.children,
299
+ fileType = _this$props3.fileType,
300
+ player = _this$props3.player;
276
301
  var childrens = _react["default"].Children.toArray(children);
277
302
  var defaultChildren = [];
278
303
  if (fileType === 'image') {
@@ -286,9 +311,9 @@ var ControlBar = exports["default"] = /*#__PURE__*/function (_Component) {
286
311
  key: "render",
287
312
  value: function render() {
288
313
  var children = this.getChildren();
289
- var _this$props2 = this.props,
290
- userActivity = _this$props2.player.userActivity,
291
- playerType = _this$props2.playerType;
314
+ var _this$props4 = this.props,
315
+ userActivity = _this$props4.player.userActivity,
316
+ playerType = _this$props4.playerType;
292
317
  return /*#__PURE__*/_react["default"].createElement(PlayerControlBlock, {
293
318
  active: userActivity,
294
319
  player: playerType
@@ -27,7 +27,7 @@ var MarkerTimeline = _styledComponents["default"].div(_templateObject || (_templ
27
27
  Marker Dot
28
28
  ---------------------------------------------------------- */
29
29
  var MarkerDot = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: -6px;\n transform: translateX(-50%);\n width: 22px;\n height: 22px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #0c141d;\n z-index: ", ";\n pointer-events: auto;\n\n font-family: SFUIText-Medium;\n font-size: 10px;\n font-weight: 500;\n line-height: 12px;\n\n &::before {\n content: '';\n position: absolute;\n width: 32px;\n height: 32px;\n top: -6px;\n left: -6px;\n }\n\n /* --- NEW top vertical line --- */\n &::after {\n content: '';\n position: absolute;\n top: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 1.5px;\n height: 5px;\n background: #bfbfbf;\n opacity: ", ";\n transition: opacity 0.15s ease-out;\n }\n\n ", "\n"])), function (p) {
30
- return p.isHovered ? 99999 : 9000;
30
+ return p.isHovered ? 2 : 1;
31
31
  }, function (p) {
32
32
  return p.showLine ? 1 : 0;
33
33
  }, function (p) {
@@ -37,7 +37,7 @@ var MarkerDot = _styledComponents["default"].div(_templateObject2 || (_templateO
37
37
  /* ----------------------------------------------------------
38
38
  END MARKER DOT
39
39
  ---------------------------------------------------------- */
40
- var EndMarkerDot = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: -6px;\n transform: translateX(-50%);\n width: 24px; /* bigger like your screenshot */\n height: 24px;\n border-radius: 50%;\n background: #47d2c7; /* teal outer circle */\n border: 2px solid #00b9b0; /* ring / boundary */\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9000;\n opacity: 0;\n transition: opacity 0.15s ease-out;\n\n &::after {\n content: '';\n width: 6px; /* inner white dot */\n height: 6px;\n background: #ffffff;\n border-radius: 50%;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 1.5px;\n height: 5px;\n background: #bfbfbf;\n opacity: 1;\n\n transition: opacity 0.15s ease-out;\n }\n"])));
40
+ var EndMarkerDot = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: -6px;\n transform: translateX(-50%);\n width: 24px; /* bigger like your screenshot */\n height: 24px;\n border-radius: 50%;\n background: #47d2c7; /* teal outer circle */\n border: 2px solid #00b9b0; /* ring / boundary */\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n opacity: 0;\n transition: opacity 0.15s ease-out;\n\n &::after {\n content: '';\n width: 6px; /* inner white dot */\n height: 6px;\n background: #ffffff;\n border-radius: 50%;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 1.5px;\n height: 5px;\n background: #bfbfbf;\n opacity: 1;\n\n transition: opacity 0.15s ease-out;\n }\n"])));
41
41
 
42
42
  /* ----------------------------------------------------------
43
43
  SEGMENT LINE
@@ -49,7 +49,7 @@ var MarkerLine = _styledComponents["default"].div(_templateObject4 || (_template
49
49
  ---------------------------------------------------------- */
50
50
 
51
51
  var HoverScroll = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n overflow-y: auto;\n max-height: 360px; /* 400 total - header height */\n\n /* Hide scrollbar everywhere */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n"])));
52
- var HoverBox = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: 40px;\n left: 0;\n right: auto !important;\n width: max-content;\n\n background: #303f51;\n border: 2px solid rgba(255, 255, 255, 0.15);\n backdrop-filter: blur(12px);\n border-radius: 12px;\n padding: 0;\n color: white;\n z-index: 999999;\n box-shadow: 0 6px 22px rgba(0, 0, 0, 0.32);\n animation: fadeInBox 0.18s ease-out;\n\n display: flex;\n flex-direction: column;\n\n min-width: 180px;\n max-width: 220px;\n max-height: 400px;\n overflow: hidden; /* prevent scroll at root */\n"])));
52
+ var HoverBox = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: 40px;\n left: 0;\n right: auto !important;\n width: max-content;\n\n background: #303f51;\n border: 2px solid rgba(255, 255, 255, 0.15);\n backdrop-filter: blur(12px);\n border-radius: 12px;\n padding: 0;\n color: white;\n z-index: 2;\n box-shadow: 0 6px 22px rgba(0, 0, 0, 0.32);\n animation: fadeInBox 0.18s ease-out;\n\n display: flex;\n flex-direction: column;\n\n min-width: 180px;\n max-width: 220px;\n max-height: 400px;\n overflow: hidden; /* prevent scroll at root */\n"])));
53
53
  var HoverHeader = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background: #3e6673;\n color: #00cec6;\n font-size: 12px;\n font-weight: 700;\n padding: 10px 12px;\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n font-family: SFUIText-Regular;\n\n position: sticky;\n top: 0;\n z-index: 2; /* must be above scroll content */\n\n width: 100%;\n box-sizing: border-box;\n"])));
54
54
  var HoverComment = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n padding: 12px 14px;\n background: transparent;\n transition: background 0.15s ease, transform 0.15s ease;\n border-radius: 6px;\n position: relative;\n\n /* FIX */\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n\n &:hover {\n background: rgba(255, 255, 255, 0.07);\n }\n\n &:not(:last-child)::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1.3px;\n background: rgba(255, 255, 255, 0.12);\n }\n"])));
55
55
  var HoverName = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n color: #afb2ba;\n font-family: SFUIText-Regular;\n font-size: 12px;\n font-weight: 700;\n margin-bottom: 6px;\n text-transform: capitalize;\n"])));
@@ -213,7 +213,6 @@ var SeekBar = exports["default"] = /*#__PURE__*/function (_Component) {
213
213
  }, {
214
214
  key: "handleMouseDown",
215
215
  value: function handleMouseDown() {
216
- console.log('handleMouse handleMouseDown');
217
216
  this.setState({
218
217
  sliderActive: true
219
218
  });
@@ -221,7 +220,6 @@ var SeekBar = exports["default"] = /*#__PURE__*/function (_Component) {
221
220
  }, {
222
221
  key: "handleMouseUp",
223
222
  value: function handleMouseUp(event) {
224
- console.log('handleMouse handleMouseUp');
225
223
  var actions = this.props.actions;
226
224
  var newTime = this.getNewTime(event);
227
225
  // Set new time (tell video to seek to new time)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desynova-digital/player",
3
- "version": "4.0.97",
3
+ "version": "4.0.99",
4
4
  "description": "Video Player Package for Contido Application",
5
5
  "main": "index.js",
6
6
  "scripts": {