@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.
- package/Manager.js +26 -50
- package/actions/player.js +58 -89
- package/actions/video.js +70 -69
- package/colors.js +13 -13
- package/components/AudioMeter.js +138 -182
- package/components/BigPlayButton.js +48 -72
- package/components/ImageViewer.js +120 -165
- package/components/MarkerBar.js +64 -75
- package/components/Menu.js +30 -57
- package/components/Player.js +267 -327
- package/components/PlayerHeader.js +213 -348
- package/components/Playlist.js +50 -89
- package/components/PointersBar.js +131 -203
- package/components/PosterImage.js +12 -22
- package/components/SDOutline.js +32 -54
- package/components/Shortcut.js +135 -140
- package/components/Slider.js +85 -128
- package/components/TagsBar.js +45 -62
- package/components/Video.js +479 -655
- package/components/control-bar/AudioTracksMenuButton.js +63 -86
- package/components/control-bar/CameraButton.js +65 -76
- package/components/control-bar/CommentsButton.js +97 -136
- package/components/control-bar/ControlBar.js +171 -164
- package/components/control-bar/EditorControlMenuButton.js +180 -280
- package/components/control-bar/ForwardControl.js +7 -11
- package/components/control-bar/ForwardReplayControl.js +41 -55
- package/components/control-bar/FullscreenToggle.js +48 -67
- package/components/control-bar/PlayToggle.js +39 -54
- package/components/control-bar/ReplayControl.js +7 -11
- package/components/control-bar/SettingsMenuButton.js +19 -29
- package/components/control-bar/SubtitleLanguagesMenuButton.js +90 -119
- package/components/control-bar/SubtitleMovementMenu.js +128 -0
- package/components/control-bar/VolumeMenuButton.js +71 -96
- package/components/control-bar/ZoomMenuButton.js +57 -81
- package/components/marking-controls/MarkInControl.js +49 -65
- package/components/marking-controls/MarkOutControl.js +53 -69
- package/components/marking-controls/MarkingAddButton.js +41 -54
- package/components/marking-controls/MarkingControl.js +58 -107
- package/components/marking-controls/MarkingDeleteButton.js +39 -51
- package/components/marking-controls/MarkingDuration.js +23 -56
- package/components/marking-controls/MarkingPreview.js +39 -51
- package/components/progress-bar/AudioWaveform.js +48 -64
- package/components/progress-bar/LoadProgressBar.js +14 -37
- package/components/progress-bar/MouseTimeDisplay.js +14 -30
- package/components/progress-bar/PlayProgressBar.js +23 -41
- package/components/progress-bar/ProgressControl.js +82 -141
- package/components/progress-bar/SeekBar.js +101 -169
- package/components/progress-bar/Timeline.js +57 -81
- package/components/settings-menu-control/PlaybackRateControl.js +70 -115
- package/components/settings-menu-control/SafeAreaControl.js +49 -65
- package/components/settings-menu-control/SettingsMenu.js +26 -50
- package/components/time-controls/CurrentTimeDisplay.js +15 -34
- package/components/time-controls/DurationDisplay.js +14 -33
- package/components/time-controls/TimeDivider.js +12 -28
- package/components/volume-control/VolumeBar.js +84 -118
- package/components/volume-control/VolumeControl.js +7 -23
- package/components/volume-control/VolumeLevel.js +19 -36
- package/components/zoom-control/ZoomBar.js +79 -111
- package/components/zoom-control/ZoomLevel.js +24 -36
- package/index.js +204 -149
- package/package.json +5 -1
- package/reducers/index.js +12 -14
- package/reducers/operation.js +14 -14
- package/reducers/player.js +40 -42
- package/utils/browser.js +10 -5
- package/utils/dom.js +4 -15
- package/utils/fullscreen.js +24 -24
- package/utils/index.js +35 -46
package/components/Playlist.js
CHANGED
|
@@ -1,58 +1,43 @@
|
|
|
1
|
-
|
|
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
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
var
|
|
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
|
|
26
|
-
|
|
27
|
-
function
|
|
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
|
|
43
|
-
|
|
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:
|
|
59
|
+
key: "componentDidMount",
|
|
78
60
|
value: function componentDidMount() {}
|
|
79
61
|
}, {
|
|
80
|
-
key:
|
|
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:
|
|
70
|
+
key: "render",
|
|
90
71
|
value: function render() {
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
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 =
|
|
69
|
+
_this._tooltipRef = /*#__PURE__*/_react["default"].createRef();
|
|
70
|
+
_this.renderComp = 0;
|
|
86
71
|
return _this;
|
|
87
72
|
}
|
|
88
|
-
|
|
89
73
|
_createClass(PointersBar, [{
|
|
90
|
-
key:
|
|
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
|
|
93
|
-
|
|
94
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
131
|
+
_this2.renderComp = 1;
|
|
132
|
+
_this2.setState(_objectSpread({}, tooltip));
|
|
143
133
|
});
|
|
144
134
|
}
|
|
145
135
|
}, {
|
|
146
|
-
key:
|
|
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:
|
|
148
|
+
key: "render",
|
|
159
149
|
value: function render() {
|
|
160
150
|
var _this3 = this;
|
|
161
|
-
|
|
162
151
|
var markers = this.props.markers;
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
)
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
null
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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';
|