@ebay/ui-core-react 3.9.3 → 3.10.1

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/README.md CHANGED
@@ -66,7 +66,7 @@ eBayUI React components
66
66
  * [x] [ebay-tooltip](src/ebay-tooltip)
67
67
  * [ ] `ebay-tourtip`
68
68
  * [ ] `ebay-tri-state-checkbox`
69
- * [ ] `ebay-video`
69
+ * [x] `ebay-video`
70
70
 
71
71
  ## Getting Started
72
72
 
@@ -38,6 +38,7 @@ Name | Type | Required | Description
38
38
  `checked` | Boolean | No | for type `radio`, `checkbox`: whether or not the item is checked
39
39
  `disabled` | Boolean | No | makes the menu item disabled
40
40
  `badgeNumber` | Number | No | used as the number to be placed in the badge
41
+ `badgeAriaLabel` | String | If `badgeNumber` provided | passed as the `aria-label` directly to the badge
41
42
 
42
43
  ## EbayMenuSeparator
43
44
  Example:
@@ -1,11 +1,14 @@
1
1
  import { ComponentProps, FC } from 'react';
2
+ import { EbayMenuType } from './types';
2
3
  export declare type MenuItemProps = Omit<ComponentProps<'div'>, 'onKeyDown'> & {
4
+ type?: EbayMenuType;
3
5
  focused?: boolean;
4
6
  tabIndex?: number;
5
7
  checked?: boolean;
6
8
  value?: string;
7
9
  disabled?: boolean;
8
10
  badgeNumber?: number;
11
+ badgeAriaLabel?: string;
9
12
  };
10
13
  declare const EbayMenuItem: FC<MenuItemProps>;
11
14
  export default EbayMenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu-item.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAA;AAKpE,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CAqCnC,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu-item.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAA;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG;IACnE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CAyCnC,CAAA;AAUD,eAAe,YAAY,CAAA"}
@@ -49,7 +49,7 @@ var classnames_1 = __importDefault(require("classnames"));
49
49
  var ebay_badge_1 = require("../ebay-badge");
50
50
  var ebay_icon_1 = require("../ebay-icon");
51
51
  var EbayMenuItem = function (_a) {
52
- var className = _a.className, checked = _a.checked, _b = _a.focused, focused = _b === void 0 ? false : _b, tabIndex = _a.tabIndex, disabled = _a.disabled, badgeNumber = _a.badgeNumber, children = _a.children, rest = __rest(_a, ["className", "checked", "focused", "tabIndex", "disabled", "badgeNumber", "children"]);
52
+ var className = _a.className, checked = _a.checked, type = _a.type, _b = _a.focused, focused = _b === void 0 ? false : _b, tabIndex = _a.tabIndex, disabled = _a.disabled, badgeNumber = _a.badgeNumber, badgeAriaLabel = _a.badgeAriaLabel, children = _a.children, rest = __rest(_a, ["className", "checked", "type", "focused", "tabIndex", "disabled", "badgeNumber", "badgeAriaLabel", "children"]);
53
53
  var ref = react_1.useRef(null);
54
54
  var hasBadge = badgeNumber !== undefined;
55
55
  react_1.useEffect(function () {
@@ -57,10 +57,18 @@ var EbayMenuItem = function (_a) {
57
57
  ref.current.focus();
58
58
  }
59
59
  }, [ref, focused]);
60
- return (react_1.default.createElement("div", __assign({}, rest, { ref: ref, className: classnames_1.default(className, 'menu__item', hasBadge && 'menu__item--badged'), role: "menuitem", "aria-checked": checked, "aria-disabled": disabled, "aria-hidden": hasBadge, tabIndex: focused ? 0 : tabIndex }),
61
- react_1.default.createElement("span", null,
60
+ var checkable = ['radio', 'checkbox'];
61
+ return (react_1.default.createElement("div", __assign({ "aria-label": badgeAriaLabel }, rest, { ref: ref, className: classnames_1.default(className, 'menu__item', hasBadge && 'menu__item--badged'), role: roleFromType(type), "aria-checked": checkable.includes(type) ? checked : undefined, "aria-disabled": disabled, tabIndex: focused ? 0 : tabIndex }),
62
+ react_1.default.createElement("span", { "aria-hidden": hasBadge },
62
63
  children,
63
64
  hasBadge && react_1.default.createElement(ebay_badge_1.EbayBadge, { type: "menu", number: badgeNumber })),
64
65
  react_1.default.createElement(ebay_icon_1.EbayIcon, { name: "tickSmall" })));
65
66
  };
67
+ function roleFromType(type) {
68
+ var roles = {
69
+ radio: 'menuitemradio',
70
+ checkbox: 'menuitemcheckbox'
71
+ };
72
+ return roles[type] || 'menuitem';
73
+ }
66
74
  exports.default = EbayMenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEV,cAAc,EAAE,EAAE,EACrB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtE,aAAK,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AACvE,aAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,aAAK,KAAK,GAAG,SAAS,GAAG;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAA;AAID,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAmGvB,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEV,cAAc,EAAE,EAAE,EACrB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtE,aAAK,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AACvE,aAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,aAAK,KAAK,GAAG,SAAS,GAAG;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAA;AAID,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAoGvB,CAAA;AAED,eAAe,QAAQ,CAAA"}
package/ebay-menu/menu.js CHANGED
@@ -109,7 +109,7 @@ var EbayMenu = function (_a) {
109
109
  return (react_1.default.createElement("span", __assign({}, rest, { className: classnames_1.default(className, 'menu') }),
110
110
  react_1.default.createElement("div", { className: "menu__items", role: "menu" }, childrenArray.map(function (child, i) {
111
111
  var _a = child.props, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b, _c = _a.onFocus, onFocus = _c === void 0 ? function () { } : _c, itemRest = __rest(_a, ["onClick", "onFocus"]);
112
- return react_1.cloneElement(child, __assign(__assign({}, itemRest), { focused: i === focusedIndex, tabIndex: focusedIndex === undefined ? 0 : -1, checked: checkedIndexes[i], onFocus: function (e) {
112
+ return react_1.cloneElement(child, __assign(__assign({}, itemRest), { type: type, focused: i === focusedIndex, tabIndex: focusedIndex === undefined ? 0 : -1, checked: checkedIndexes[i], onFocus: function (e) {
113
113
  setFocusedIndex(i);
114
114
  onFocus(e);
115
115
  }, onClick: function (e) {
@@ -0,0 +1,50 @@
1
+ # ebay-video
2
+ Video player. Supports either MPD or M3U8 playlist formats.
3
+ Natively uses `shaka` player under the hood. For resizing, `ebay-video` supports fixed width or variable width. If no width is provided the video tag will resize based on the container size.
4
+
5
+ ## Usage
6
+ ```bash
7
+ yarn add @ebay/ui-core-react shaka-player
8
+ ```
9
+ ```jsx
10
+ import { EbayVideo } from '@ebay/ui-core-react/ebay-video'
11
+ import '@ebay/skin/video'
12
+
13
+ <EbayVideo
14
+ width="600"
15
+ height="400"
16
+ onLoadError(err => {
17
+ console.log("handle error", err);
18
+ })>
19
+ <EbayVideoSource src="https://ir.ebaystatic.com/cr/v/c1/ebayui/video/v1/playlist.mpd" />
20
+ </EbayVideo>
21
+ ```
22
+
23
+ ## EbayVideo Props
24
+
25
+ | Name | Type | Required | Description |
26
+ |--------------|----------|----------|-----------------------------------------------------------------------------------------------------------------|
27
+ | width | Number | No | |
28
+ | height | Number | No | |
29
+ | thumbnail | String | No | URL path for the video thumbnail |
30
+ | action | String | No | `play` or `pause`: will programatically perform the given action |
31
+ | volume | Number | No | sets sound volume |
32
+ | volumeSlider | Boolean | No | keep or remove volume slider, default is `false` |
33
+ | muted | Boolean | No | mute or unmute video, default is `false` |
34
+ | playView | String | No | `inline` or `fullscreen`. When player starts to play, will either play `inline` (default) or switch to `fullscreen` |
35
+ | a11yLoadText | String | Yes | a11y text for the loading spinner |
36
+ | a11yPlayText | String | Yes | a11y text for the play button |
37
+ | errorText | String | Yes | content for error when an either the library or video cannot load |
38
+ | reportText | String | Yes | text for report button |
39
+ | onLoadError | Callback | No | triggered when there is a load error with video player or source, arguments: (Event) |
40
+ | onPlay | Callback | No | triggered when playback starts, arguments: (Event, { player }) |
41
+ | onVolumeChange | Callback | No | triggered when volume is changed, arguments: (Event, { volume: number, muted: boolean }) |
42
+ | onReport | Callback | No | triggered when report button is clicked, no arguments |
43
+
44
+
45
+ ## EbayVideoSource Props
46
+
47
+ | Name | Type | Required | Description |
48
+ |------|--------|----------|-----------------------------------------------------------------------------------------------------------------|
49
+ | src | String | Yes | video/playlist URL
50
+ | type | String | No | playlist type, `hls` or `dash`
@@ -0,0 +1,9 @@
1
+ export declare const ERROR_ANOTHER_LOAD = 7000;
2
+ export declare const ERROR_NO_PLAYER = 11;
3
+ export declare const defaultVideoConfig: {
4
+ addBigPlayButton: boolean;
5
+ addSeekBar: boolean;
6
+ controlPanelElements: string[];
7
+ overflowMenuButtons: string[];
8
+ };
9
+ //# sourceMappingURL=const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/ebay-video/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,eAAe,KAAK,CAAA;AACjC,eAAO,MAAM,kBAAkB;;;;;CAa9B,CAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultVideoConfig = exports.ERROR_NO_PLAYER = exports.ERROR_ANOTHER_LOAD = void 0;
4
+ // const MAX_RETRIES = 3
5
+ // const DEFAULT_SPINNER_TIMEOUT = 2000
6
+ exports.ERROR_ANOTHER_LOAD = 7000;
7
+ exports.ERROR_NO_PLAYER = 11;
8
+ exports.defaultVideoConfig = {
9
+ addBigPlayButton: false,
10
+ addSeekBar: true,
11
+ controlPanelElements: [
12
+ 'play_pause',
13
+ 'time_and_duration',
14
+ 'spacer',
15
+ 'mute',
16
+ 'report',
17
+ 'fullscreen',
18
+ 'overflow_menu'
19
+ ],
20
+ overflowMenuButtons: ['captions']
21
+ };
@@ -0,0 +1,5 @@
1
+ export declare function customControls(onReport?: () => void): {
2
+ Report: any;
3
+ TextSelection: any;
4
+ };
5
+ //# sourceMappingURL=controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/ebay-video/controls.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,QAAQ,aAAW,GAAG;IAAE,MAAM,MAAC;IAAC,aAAa,MAAA;CAAE,CAiC7E"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.customControls = void 0;
20
+ var react_1 = __importDefault(require("react"));
21
+ var react_dom_1 = __importDefault(require("react-dom"));
22
+ var shaka_player_ui_1 = require("shaka-player/dist/shaka-player.ui");
23
+ var reportButton_1 = require("./reportButton");
24
+ function customControls(onReport) {
25
+ if (onReport === void 0) { onReport = function () { }; }
26
+ // Have to contain in order to not execute until shaka is downloaded
27
+ var Report = /** @class */ (function (_super) {
28
+ __extends(class_1, _super);
29
+ function class_1(parent, controls, text) {
30
+ var _this = _super.call(this, parent, controls) || this;
31
+ appendChild(_this.parent, react_1.default.createElement(reportButton_1.ReportButton, { onReport: onReport }, text));
32
+ return _this;
33
+ }
34
+ return class_1;
35
+ }(shaka_player_ui_1.ui.Element));
36
+ Report.Factory = /** @class */ (function () {
37
+ function class_2(reportText) {
38
+ this.reportText = reportText;
39
+ }
40
+ class_2.prototype.create = function (rootElement, controls) {
41
+ return new Report(rootElement, controls, this.reportText);
42
+ };
43
+ return class_2;
44
+ }());
45
+ var TextSelection = shaka_player_ui_1.ui.TextSelection;
46
+ TextSelection.Factory = /** @class */ (function () {
47
+ function Factory() {
48
+ }
49
+ /** @override */
50
+ // eslint-disable-next-line class-methods-use-this
51
+ Factory.prototype.create = function (rootElement, controls) {
52
+ return new shaka_player_ui_1.ui.TextSelection(rootElement, controls);
53
+ };
54
+ return Factory;
55
+ }());
56
+ return { Report: Report, TextSelection: TextSelection };
57
+ }
58
+ exports.customControls = customControls;
59
+ function appendChild(container, reactElement) {
60
+ var tempEl = document.createElement('div');
61
+ react_dom_1.default.render(reactElement, tempEl);
62
+ container.appendChild(tempEl.firstChild);
63
+ }
@@ -0,0 +1,4 @@
1
+ export { default as EbayVideo, EbayVideoProps } from './video';
2
+ export { default as EbayVideoSource } from './source';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-video/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AACrD,cAAc,SAAS,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ var video_1 = require("./video");
14
+ Object.defineProperty(exports, "EbayVideo", { enumerable: true, get: function () { return video_1.default; } });
15
+ var source_1 = require("./source");
16
+ Object.defineProperty(exports, "EbayVideoSource", { enumerable: true, get: function () { return source_1.default; } });
17
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ declare type Props = {
3
+ onReport: () => void;
4
+ };
5
+ export declare const ReportButton: FC<Props>;
6
+ export {};
7
+ //# sourceMappingURL=reportButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportButton.d.ts","sourceRoot":"","sources":["../../src/ebay-video/reportButton.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAEjC,aAAK,KAAK,GAAG;IACT,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAIlC,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ReportButton = void 0;
7
+ var ebay_icon_1 = require("../ebay-icon");
8
+ var react_1 = __importDefault(require("react"));
9
+ exports.ReportButton = function (_a) {
10
+ var onReport = _a.onReport, children = _a.children;
11
+ return (react_1.default.createElement("button", { className: "video-player__report-button", onClick: onReport },
12
+ react_1.default.createElement(ebay_icon_1.EbayIcon, { name: "reportFlag" }),
13
+ children));
14
+ };
@@ -0,0 +1,5 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ export declare type EbayVideoSourceProps = ComponentProps<'source'>;
3
+ declare const EbayVideoSource: FC<EbayVideoSourceProps>;
4
+ export default EbayVideoSource;
5
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/ebay-video/source.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAEjD,oBAAY,oBAAoB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5D,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAAyC,CAAA;AAEvF,eAAe,eAAe,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var EbayVideoSource = function (_a) {
30
+ var rest = __rest(_a, []);
31
+ return react_1.default.createElement("source", __assign({}, rest));
32
+ };
33
+ exports.default = EbayVideoSource;
@@ -0,0 +1,8 @@
1
+ export declare type VideoAction = 'play' | 'pause';
2
+ export declare type VideoPlayView = 'inline' | 'fullscreen';
3
+ export declare type VideoSourceType = 'dash' | 'hls';
4
+ export declare type VideoSource = {
5
+ src: string;
6
+ type?: VideoSourceType;
7
+ };
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-video/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;AAC1C,oBAAY,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEnD,oBAAY,eAAe,GAAG,MAAM,GAAG,KAAK,CAAA;AAC5C,oBAAY,WAAW,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,CAAA;CACzB,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ import { ComponentProps, FC, SyntheticEvent } from 'react';
2
+ import 'shaka-player/dist/controls.css';
3
+ import { VideoAction, VideoPlayView } from './types';
4
+ export declare type EbayVideoProps = ComponentProps<'video'> & {
5
+ width?: number;
6
+ height?: number;
7
+ thumbnail?: string;
8
+ action?: VideoAction;
9
+ volume?: number;
10
+ muted?: boolean;
11
+ volumeSlider?: boolean;
12
+ playView?: VideoPlayView;
13
+ cdnUrl?: string;
14
+ cssUrl?: string;
15
+ cdnVersion?: string;
16
+ a11yLoadText: string;
17
+ a11yPlayText: string;
18
+ errorText: string;
19
+ reportText: string;
20
+ onLoadError?: (err: any) => void;
21
+ onPlay?: (e: SyntheticEvent, { player: any }: {
22
+ player: any;
23
+ }) => void;
24
+ onVolumeChange?: (e: SyntheticEvent, { volume: number, muted: boolean }: {
25
+ volume: any;
26
+ muted: any;
27
+ }) => void;
28
+ onReport?: () => void;
29
+ };
30
+ declare const EbayVideo: FC<EbayVideoProps>;
31
+ export default EbayVideo;
32
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/ebay-video/video.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAA+B,MAAM,OAAO,CAAA;AAG9F,OAAO,gCAAgC,CAAA;AAIvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAKpD,oBAAY,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;;KAAA,KAAK,IAAI,CAAC;IACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;;;KAAA,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA2NjC,CAAA;AAgBD,eAAe,SAAS,CAAA"}
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
44
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
45
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
46
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
47
+ r[k] = a[j];
48
+ return r;
49
+ };
50
+ var __importDefault = (this && this.__importDefault) || function (mod) {
51
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ var react_1 = __importStar(require("react"));
55
+ var classnames_1 = __importDefault(require("classnames"));
56
+ var shaka_player_ui_1 = __importDefault(require("shaka-player/dist/shaka-player.ui"));
57
+ require("shaka-player/dist/controls.css");
58
+ var component_utils_1 = require("../common/component-utils");
59
+ var index_1 = require("../index");
60
+ var source_1 = __importDefault(require("./source"));
61
+ var const_1 = require("./const");
62
+ var controls_1 = require("./controls");
63
+ var EbayVideo = function (_a) {
64
+ var width = _a.width, height = _a.height, thumbnail = _a.thumbnail, action = _a.action, muted = _a.muted, _b = _a.playView, playView = _b === void 0 ? 'inline' : _b, a11yLoadText = _a.a11yLoadText, a11yPlayText = _a.a11yPlayText, reportText = _a.reportText, volumeSlider = _a.volumeSlider, _c = _a.volume, volume = _c === void 0 ? 1 : _c, errorText = _a.errorText, _d = _a.onVolumeChange, onVolumeChange = _d === void 0 ? function () {
65
+ } : _d, _e = _a.onLoadError, onLoadError = _e === void 0 ? function () {
66
+ } : _e, _f = _a.onPlay, onPlay = _f === void 0 ? function () {
67
+ } : _f, _g = _a.onReport, onReport = _g === void 0 ? function () {
68
+ } : _g, children = _a.children, rest = __rest(_a, ["width", "height", "thumbnail", "action", "muted", "playView", "a11yLoadText", "a11yPlayText", "reportText", "volumeSlider", "volume", "errorText", "onVolumeChange", "onLoadError", "onPlay", "onReport", "children"]);
69
+ var _h = react_1.useState(), loaded = _h[0], setLoaded = _h[1];
70
+ var _j = react_1.useState(), buffering = _j[0], setBuffering = _j[1];
71
+ var _k = react_1.useState(), playing = _k[0], setPlaying = _k[1];
72
+ var _l = react_1.useState(), failed = _l[0], setFailed = _l[1];
73
+ var containerRef = react_1.useRef(null);
74
+ var videoRef = react_1.useRef(null);
75
+ var playerRef = react_1.useRef(null);
76
+ var uiRef = react_1.useRef(null);
77
+ var sources = component_utils_1.filterByType(children, source_1.default).map(function (_a) {
78
+ var props = _a.props;
79
+ return props;
80
+ });
81
+ var handleError = function (err) {
82
+ setLoaded(true);
83
+ setFailed(true);
84
+ onLoadError(err);
85
+ };
86
+ var loadSource = function (index) {
87
+ var _a;
88
+ if (index === void 0) { index = 0; }
89
+ if (!sources.length || !playerRef.current)
90
+ return;
91
+ setLoaded(false);
92
+ playerRef.current
93
+ .load((_a = sources[index]) === null || _a === void 0 ? void 0 : _a.src)
94
+ .then(function () {
95
+ setFailed(false);
96
+ })
97
+ .catch(function (err) {
98
+ console.error(err);
99
+ switch (err.code) {
100
+ case const_1.ERROR_ANOTHER_LOAD:
101
+ return;
102
+ case const_1.ERROR_NO_PLAYER:
103
+ setTimeout(function () { return loadSource(index); }, 0);
104
+ break;
105
+ default: {
106
+ var nextIndex_1 = sources.length > index + 1 && index + 1;
107
+ if (nextIndex_1) {
108
+ setTimeout(function () { return loadSource(nextIndex_1); }, 0);
109
+ }
110
+ else {
111
+ handleError(err);
112
+ }
113
+ }
114
+ }
115
+ })
116
+ .finally(function () {
117
+ setLoaded(true);
118
+ });
119
+ };
120
+ react_1.useEffect(function () {
121
+ var video = videoRef.current;
122
+ var container = containerRef.current;
123
+ if (!video || !container)
124
+ return;
125
+ video.volume = volume;
126
+ shaka_player_ui_1.default.polyfill.installAll(); // todo: check if we need that
127
+ playerRef.current = new shaka_player_ui_1.default.Player(video);
128
+ if (!playerRef.current)
129
+ return;
130
+ playerRef.current.addEventListener('error', handleError);
131
+ playerRef.current.addEventListener('buffering', function (e) {
132
+ setBuffering(e.buffering);
133
+ });
134
+ uiRef.current = new shaka_player_ui_1.default.ui.Overlay(playerRef.current, container, video, reportText);
135
+ uiRef.current.configure({
136
+ addBigPlayButton: true,
137
+ controlPanelElements: [],
138
+ addSeekBar: false
139
+ });
140
+ var _a = controls_1.customControls(onReport), Report = _a.Report, TextSelection = _a.TextSelection;
141
+ shaka_player_ui_1.default.ui.Controls.registerElement('report', new Report.Factory(reportText));
142
+ shaka_player_ui_1.default.ui.Controls.registerElement('captions', new TextSelection.Factory());
143
+ loadSource();
144
+ hideSpinner(container);
145
+ // return () => {
146
+ // playerRef.current.destroy()
147
+ // uiRef.current.destroy()
148
+ // }
149
+ }, []);
150
+ react_1.useEffect(function () {
151
+ switch (action) {
152
+ case 'play':
153
+ videoRef.current.play();
154
+ break;
155
+ case 'pause':
156
+ videoRef.current.pause();
157
+ break;
158
+ default:
159
+ }
160
+ }, [action]);
161
+ var showControls = function () {
162
+ if (!uiRef.current)
163
+ return;
164
+ var updatedControls = volumeSlider ? {
165
+ controlPanelElements: withVolumeControl(const_1.defaultVideoConfig.controlPanelElements)
166
+ } : {};
167
+ uiRef.current.configure(__assign(__assign({}, const_1.defaultVideoConfig), updatedControls));
168
+ videoRef.current.controls = false;
169
+ };
170
+ var handlePlaying = function (e) {
171
+ e.stopPropagation();
172
+ showControls();
173
+ if (playView === 'fullscreen') {
174
+ videoRef.current.requestFullscreen();
175
+ }
176
+ setPlaying(true);
177
+ onPlay(e, { player: playerRef.current });
178
+ };
179
+ var handleOnPlayClick = function () {
180
+ videoRef.current.play();
181
+ };
182
+ var handleVolumeChange = function (e) {
183
+ var eventTarget = e.currentTarget;
184
+ onVolumeChange(e, { volume: eventTarget.volume, muted: eventTarget.muted });
185
+ };
186
+ var handleOnPause = function () {
187
+ // On IOS, the controls force showing up if the video exist fullscreen while playing.
188
+ // This forces the controls to always hide
189
+ videoRef.current.controls = false;
190
+ };
191
+ return (react_1.default.createElement("div", { style: { width: width + "px", height: height + "px" }, className: classnames_1.default('video-player', { 'video-player--poster': !playing }) },
192
+ !playing && loaded && !failed && !buffering &&
193
+ react_1.default.createElement("div", { className: "shaka-play-button-container" },
194
+ react_1.default.createElement("button", { onClick: handleOnPlayClick, className: "shaka-play-button", style: { opacity: 1, zIndex: 999 }, "aria-label": a11yPlayText },
195
+ react_1.default.createElement(index_1.EbayIcon, { name: "videoPlay" }))),
196
+ react_1.default.createElement("div", { className: "video-player__container", ref: containerRef },
197
+ react_1.default.createElement("video", __assign({ ref: videoRef, style: { width: width + "px", height: height + "px" }, poster: thumbnail, muted: muted || false, onPlaying: handlePlaying, onPause: handleOnPause, onVolumeChange: handleVolumeChange }, rest), sources.map(function (source) {
198
+ react_1.default.createElement("source", __assign({}, source));
199
+ }))),
200
+ react_1.default.createElement("div", { className: classnames_1.default('video-player__overlay', { 'video-player__overlay--hidden': !failed }) },
201
+ react_1.default.createElement(index_1.EbayIcon, { name: "attention" }),
202
+ react_1.default.createElement("div", { className: "video-player__overlay-text" }, errorText)),
203
+ react_1.default.createElement("div", { className: classnames_1.default('video-player__overlay', {
204
+ 'video-player__overlay--hidden': loaded && (failed || !buffering)
205
+ }) },
206
+ react_1.default.createElement(index_1.EbayProgressSpinner, { size: "large", "aria-label": a11yLoadText }))));
207
+ };
208
+ function withVolumeControl(controls) {
209
+ var insertAt = controls.length - 2 > 0 ? controls.length - 2 : controls.length;
210
+ var controlsWithVolume = __spreadArrays(controls);
211
+ controlsWithVolume.splice(insertAt, 0, 'volume');
212
+ return controlsWithVolume;
213
+ }
214
+ function hideSpinner(container) {
215
+ var shakaSpinner = container.querySelectorAll('.shaka-spinner')[0];
216
+ if (shakaSpinner) {
217
+ shakaSpinner.setAttribute('hidden', '');
218
+ }
219
+ }
220
+ exports.default = EbayVideo;
package/index.d.ts CHANGED
@@ -39,4 +39,5 @@ export { EbaySnackbarDialog, EbaySnackbarDialogAction, EbaySnackbarDialogProps }
39
39
  export { EbayField, EbayLabel, EbayFieldDescription, FieldLayoutType, FieldDescriptionType, FieldDescriptionPosition, LabelPosition } from './ebay-field';
40
40
  export { EbayProgressStepper, EbayProgressStep, EbayProgressTitle, StepperDirection, StepState } from './ebay-progress-stepper';
41
41
  export { EbayListboxButton, EbayListboxButtonOption } from './ebay-listbox-button';
42
+ export { EbayVideo, EbayVideoProps, EbayVideoSource } from './ebay-video';
42
43
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -121,3 +121,6 @@ Object.defineProperty(exports, "EbayProgressTitle", { enumerable: true, get: fun
121
121
  var ebay_listbox_button_1 = require("./ebay-listbox-button");
122
122
  Object.defineProperty(exports, "EbayListboxButton", { enumerable: true, get: function () { return ebay_listbox_button_1.EbayListboxButton; } });
123
123
  Object.defineProperty(exports, "EbayListboxButtonOption", { enumerable: true, get: function () { return ebay_listbox_button_1.EbayListboxButtonOption; } });
124
+ var ebay_video_1 = require("./ebay-video");
125
+ Object.defineProperty(exports, "EbayVideo", { enumerable: true, get: function () { return ebay_video_1.EbayVideo; } });
126
+ Object.defineProperty(exports, "EbayVideoSource", { enumerable: true, get: function () { return ebay_video_1.EbayVideoSource; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebay/ui-core-react",
3
- "version": "3.9.3",
3
+ "version": "3.10.1",
4
4
  "description": "Skin components build off React",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -43,7 +43,8 @@
43
43
  "peerDependencies": {
44
44
  "@ebay/skin": "^15.2.0",
45
45
  "react": "^16.0.0",
46
- "react-dom": "^16.0.0"
46
+ "react-dom": "^16.0.0",
47
+ "shaka-player": "^4.3.2"
47
48
  },
48
49
  "dependencies": {
49
50
  "classnames": "^2.2.6",
@@ -92,6 +93,7 @@
92
93
  "react": "^16.0.0",
93
94
  "react-docgen-typescript-loader": "^3.7.2",
94
95
  "react-dom": "^16.0.0",
96
+ "shaka-player": "^4.3.2",
95
97
  "storybook-addon-jsx": "^7.3.14",
96
98
  "style-loader": "^2.0.0",
97
99
  "svgson": "^4.0.0",