@popmenu/audio-player 0.126.0 → 0.126.2
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/build/{components → cjs/components}/AudioPlayer/AudioPlayer.d.ts +3 -3
- package/build/{components → cjs/components}/AudioPlayer/AudioPlayerProps.d.ts +10 -10
- package/build/{components → cjs/components}/AudioPlayer/index.d.ts +2 -2
- package/build/{components → cjs/components}/AudioPlayer/util/audioPlayerReducer.d.ts +11 -11
- package/build/{components → cjs/components}/AudioPlayer/util/formatTime.d.ts +1 -1
- package/build/{components → cjs/components}/AudioPlayer/util/index.d.ts +5 -5
- package/build/{components → cjs/components}/AudioPlayer/util/setupAudioRef.d.ts +8 -8
- package/build/{components → cjs/components}/AudioPlayer/util/types.d.ts +77 -77
- package/build/{components → cjs/components}/AudioPlayer/util/useVolumeIcon.d.ts +2 -2
- package/build/{components → cjs/components}/index.d.ts +1 -1
- package/build/{index.d.ts → cjs/index.d.ts} +1 -1
- package/build/cjs/index.js +341 -0
- package/build/cjs/index.js.map +1 -0
- package/build/esm/_virtual/index.js +4 -0
- package/build/esm/_virtual/index.js.map +1 -0
- package/build/esm/components/AudioPlayer/AudioPlayer.d.ts +3 -0
- package/build/esm/components/AudioPlayer/AudioPlayer.js +67 -0
- package/build/esm/components/AudioPlayer/AudioPlayer.js.map +1 -0
- package/build/esm/components/AudioPlayer/AudioPlayerProps.d.ts +10 -0
- package/build/esm/components/AudioPlayer/index.d.ts +2 -0
- package/build/esm/components/AudioPlayer/util/audioPlayerReducer.d.ts +11 -0
- package/build/esm/components/AudioPlayer/util/audioPlayerReducer.js +113 -0
- package/build/esm/components/AudioPlayer/util/audioPlayerReducer.js.map +1 -0
- package/build/esm/components/AudioPlayer/util/formatTime.d.ts +1 -0
- package/build/esm/components/AudioPlayer/util/formatTime.js +13 -0
- package/build/esm/components/AudioPlayer/util/formatTime.js.map +1 -0
- package/build/esm/components/AudioPlayer/util/index.d.ts +5 -0
- package/build/esm/components/AudioPlayer/util/setupAudioRef.d.ts +8 -0
- package/build/esm/components/AudioPlayer/util/setupAudioRef.js +34 -0
- package/build/esm/components/AudioPlayer/util/setupAudioRef.js.map +1 -0
- package/build/esm/components/AudioPlayer/util/types.d.ts +77 -0
- package/build/esm/components/AudioPlayer/util/types.js +33 -0
- package/build/esm/components/AudioPlayer/util/types.js.map +1 -0
- package/build/esm/components/AudioPlayer/util/useVolumeIcon.d.ts +2 -0
- package/build/esm/components/AudioPlayer/util/useVolumeIcon.js +23 -0
- package/build/esm/components/AudioPlayer/util/useVolumeIcon.js.map +1 -0
- package/build/esm/components/index.d.ts +1 -0
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/node_modules/classnames/index.js +81 -0
- package/build/esm/node_modules/classnames/index.js.map +1 -0
- package/package.json +8 -5
- package/build/index.es.js +0 -1258
- package/build/index.es.js.map +0 -1
- package/build/index.js +0 -1295
- package/build/index.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { AudioPlayerProps } from './AudioPlayerProps';
|
|
3
|
-
export declare const AudioPlayer: FC<AudioPlayerProps>;
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AudioPlayerProps } from './AudioPlayerProps';
|
|
3
|
+
export declare const AudioPlayer: FC<AudioPlayerProps>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
declare type AudioPlayerClasses = 'root' | 'playbackToggle' | 'volumeToggle' | 'volumeSlider' | 'playbackSlider' | 'playbackText' | 'lengthText';
|
|
2
|
-
export interface AudioPlayerProps {
|
|
3
|
-
/** The URL of the audio to embed. */
|
|
4
|
-
src?: string;
|
|
5
|
-
/** style classes */
|
|
6
|
-
classes?: {
|
|
7
|
-
[Key in AudioPlayerClasses]?: string;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
1
|
+
declare type AudioPlayerClasses = 'root' | 'playbackToggle' | 'volumeToggle' | 'volumeSlider' | 'playbackSlider' | 'playbackText' | 'lengthText';
|
|
2
|
+
export interface AudioPlayerProps {
|
|
3
|
+
/** The URL of the audio to embed. */
|
|
4
|
+
src?: string;
|
|
5
|
+
/** style classes */
|
|
6
|
+
classes?: {
|
|
7
|
+
[Key in AudioPlayerClasses]?: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AudioPlayer } from './AudioPlayer';
|
|
2
|
-
export { AudioPlayerProps } from './AudioPlayerProps';
|
|
1
|
+
export { AudioPlayer } from './AudioPlayer';
|
|
2
|
+
export { AudioPlayerProps } from './AudioPlayerProps';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { PLAYBACK_STATES, CONTROL_LABELS, AudioPlayerState, AudioPlayerEvent, VOLUME_CONTROL_STATES } from './types';
|
|
2
|
-
export declare const initialAudioPlayerState: {
|
|
3
|
-
playback: PLAYBACK_STATES;
|
|
4
|
-
volumeControls: VOLUME_CONTROL_STATES;
|
|
5
|
-
context: {
|
|
6
|
-
volume: number;
|
|
7
|
-
playbackButtonLabel: CONTROL_LABELS;
|
|
8
|
-
volumeButtonLabel: CONTROL_LABELS;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export declare const audioPlayerReducer: (state: AudioPlayerState, event: AudioPlayerEvent) => AudioPlayerState;
|
|
1
|
+
import { PLAYBACK_STATES, CONTROL_LABELS, AudioPlayerState, AudioPlayerEvent, VOLUME_CONTROL_STATES } from './types';
|
|
2
|
+
export declare const initialAudioPlayerState: {
|
|
3
|
+
playback: PLAYBACK_STATES;
|
|
4
|
+
volumeControls: VOLUME_CONTROL_STATES;
|
|
5
|
+
context: {
|
|
6
|
+
volume: number;
|
|
7
|
+
playbackButtonLabel: CONTROL_LABELS;
|
|
8
|
+
volumeButtonLabel: CONTROL_LABELS;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare const audioPlayerReducer: (state: AudioPlayerState, event: AudioPlayerEvent) => AudioPlayerState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const formatTime: (time: number, remaning?: boolean) => string;
|
|
1
|
+
export declare const formatTime: (time: number, remaning?: boolean) => string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { audioPlayerReducer, initialAudioPlayerState } from './audioPlayerReducer';
|
|
2
|
-
export { useVolumeIcon } from './useVolumeIcon';
|
|
3
|
-
export { formatTime } from './formatTime';
|
|
4
|
-
export { setupAudioRef } from './setupAudioRef';
|
|
5
|
-
export * from './types';
|
|
1
|
+
export { audioPlayerReducer, initialAudioPlayerState } from './audioPlayerReducer';
|
|
2
|
+
export { useVolumeIcon } from './useVolumeIcon';
|
|
3
|
+
export { formatTime } from './formatTime';
|
|
4
|
+
export { setupAudioRef } from './setupAudioRef';
|
|
5
|
+
export * from './types';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
import { AudioPlayerEvent } from './types';
|
|
3
|
-
interface Config {
|
|
4
|
-
audioRef: RefObject<HTMLAudioElement>;
|
|
5
|
-
send: (event: AudioPlayerEvent) => void;
|
|
6
|
-
}
|
|
7
|
-
export declare const setupAudioRef: (config: Config) => () => (() => void);
|
|
8
|
-
export {};
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { AudioPlayerEvent } from './types';
|
|
3
|
+
interface Config {
|
|
4
|
+
audioRef: RefObject<HTMLAudioElement>;
|
|
5
|
+
send: (event: AudioPlayerEvent) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const setupAudioRef: (config: Config) => () => (() => void);
|
|
8
|
+
export {};
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
export declare enum AUDIO_PLAYER_EVENT_TYPES {
|
|
3
|
-
TOGGLE_PLAYBACK = "TOGGLE_PLAYBACK",
|
|
4
|
-
TOGGLE_VOLUME_CONTROL = "TOGGLE_VOLUME_CONTROL",
|
|
5
|
-
TOGGLE_MUTE = "TOGGLE_MUTE",
|
|
6
|
-
VOLUME_CHANGE = "VOLUME_CHANGE",
|
|
7
|
-
TIME_CHANGE = "TIME_CHANGE",
|
|
8
|
-
DURATION_CHANGE = "DURATION_CHANGE",
|
|
9
|
-
SET_TIME = "SET_TIME",
|
|
10
|
-
CAN_PLAY = "CAN_PLAY",
|
|
11
|
-
RESET = "RESET"
|
|
12
|
-
}
|
|
13
|
-
interface SetVolumeEvent {
|
|
14
|
-
type: AUDIO_PLAYER_EVENT_TYPES.VOLUME_CHANGE;
|
|
15
|
-
context: Pick<AudioPlayerExtendState, 'volume'>;
|
|
16
|
-
}
|
|
17
|
-
interface TogglePlaybackEvent {
|
|
18
|
-
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK;
|
|
19
|
-
}
|
|
20
|
-
interface ToggleVolumeControlEvent {
|
|
21
|
-
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_VOLUME_CONTROL;
|
|
22
|
-
}
|
|
23
|
-
interface TimeChangeEvent {
|
|
24
|
-
type: AUDIO_PLAYER_EVENT_TYPES.TIME_CHANGE;
|
|
25
|
-
context: {
|
|
26
|
-
currentTime: number;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
interface DurationChangeEvent {
|
|
30
|
-
type: AUDIO_PLAYER_EVENT_TYPES.DURATION_CHANGE;
|
|
31
|
-
context: {
|
|
32
|
-
duration: number;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
interface ToggleMuteEvent {
|
|
36
|
-
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_MUTE;
|
|
37
|
-
}
|
|
38
|
-
interface SetTimeEvent {
|
|
39
|
-
type: AUDIO_PLAYER_EVENT_TYPES.SET_TIME;
|
|
40
|
-
context: {
|
|
41
|
-
time: number;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
interface CanPlayEvent {
|
|
45
|
-
type: AUDIO_PLAYER_EVENT_TYPES.CAN_PLAY;
|
|
46
|
-
}
|
|
47
|
-
interface ResetEvent {
|
|
48
|
-
type: AUDIO_PLAYER_EVENT_TYPES.RESET;
|
|
49
|
-
}
|
|
50
|
-
export declare type AudioPlayerEvent = TogglePlaybackEvent | ToggleVolumeControlEvent | SetVolumeEvent | TimeChangeEvent | DurationChangeEvent | ToggleMuteEvent | SetTimeEvent | CanPlayEvent | ResetEvent;
|
|
51
|
-
export declare enum PLAYBACK_STATES {
|
|
52
|
-
NONE = "NONE",
|
|
53
|
-
PAUSED = "PAUSED",
|
|
54
|
-
PLAYING = "PLAYING"
|
|
55
|
-
}
|
|
56
|
-
export declare enum CONTROL_LABELS {
|
|
57
|
-
PAUSE = "PAUSE",
|
|
58
|
-
PLAY = "PLAY",
|
|
59
|
-
MUTE = "MUTE",
|
|
60
|
-
UNMUTE = "UNMUTE"
|
|
61
|
-
}
|
|
62
|
-
export declare enum VOLUME_CONTROL_STATES {
|
|
63
|
-
SHOW = "SHOW",
|
|
64
|
-
HIDE = "HIDE"
|
|
65
|
-
}
|
|
66
|
-
export interface AudioPlayerExtendState {
|
|
67
|
-
volume: number;
|
|
68
|
-
audioRef: RefObject<HTMLAudioElement>;
|
|
69
|
-
playbackButtonLabel: CONTROL_LABELS;
|
|
70
|
-
volumeButtonLabel: CONTROL_LABELS;
|
|
71
|
-
}
|
|
72
|
-
export interface AudioPlayerState {
|
|
73
|
-
playback: PLAYBACK_STATES;
|
|
74
|
-
volumeControls: VOLUME_CONTROL_STATES;
|
|
75
|
-
context: AudioPlayerExtendState;
|
|
76
|
-
}
|
|
77
|
-
export {};
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export declare enum AUDIO_PLAYER_EVENT_TYPES {
|
|
3
|
+
TOGGLE_PLAYBACK = "TOGGLE_PLAYBACK",
|
|
4
|
+
TOGGLE_VOLUME_CONTROL = "TOGGLE_VOLUME_CONTROL",
|
|
5
|
+
TOGGLE_MUTE = "TOGGLE_MUTE",
|
|
6
|
+
VOLUME_CHANGE = "VOLUME_CHANGE",
|
|
7
|
+
TIME_CHANGE = "TIME_CHANGE",
|
|
8
|
+
DURATION_CHANGE = "DURATION_CHANGE",
|
|
9
|
+
SET_TIME = "SET_TIME",
|
|
10
|
+
CAN_PLAY = "CAN_PLAY",
|
|
11
|
+
RESET = "RESET"
|
|
12
|
+
}
|
|
13
|
+
interface SetVolumeEvent {
|
|
14
|
+
type: AUDIO_PLAYER_EVENT_TYPES.VOLUME_CHANGE;
|
|
15
|
+
context: Pick<AudioPlayerExtendState, 'volume'>;
|
|
16
|
+
}
|
|
17
|
+
interface TogglePlaybackEvent {
|
|
18
|
+
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK;
|
|
19
|
+
}
|
|
20
|
+
interface ToggleVolumeControlEvent {
|
|
21
|
+
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_VOLUME_CONTROL;
|
|
22
|
+
}
|
|
23
|
+
interface TimeChangeEvent {
|
|
24
|
+
type: AUDIO_PLAYER_EVENT_TYPES.TIME_CHANGE;
|
|
25
|
+
context: {
|
|
26
|
+
currentTime: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
interface DurationChangeEvent {
|
|
30
|
+
type: AUDIO_PLAYER_EVENT_TYPES.DURATION_CHANGE;
|
|
31
|
+
context: {
|
|
32
|
+
duration: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
interface ToggleMuteEvent {
|
|
36
|
+
type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_MUTE;
|
|
37
|
+
}
|
|
38
|
+
interface SetTimeEvent {
|
|
39
|
+
type: AUDIO_PLAYER_EVENT_TYPES.SET_TIME;
|
|
40
|
+
context: {
|
|
41
|
+
time: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
interface CanPlayEvent {
|
|
45
|
+
type: AUDIO_PLAYER_EVENT_TYPES.CAN_PLAY;
|
|
46
|
+
}
|
|
47
|
+
interface ResetEvent {
|
|
48
|
+
type: AUDIO_PLAYER_EVENT_TYPES.RESET;
|
|
49
|
+
}
|
|
50
|
+
export declare type AudioPlayerEvent = TogglePlaybackEvent | ToggleVolumeControlEvent | SetVolumeEvent | TimeChangeEvent | DurationChangeEvent | ToggleMuteEvent | SetTimeEvent | CanPlayEvent | ResetEvent;
|
|
51
|
+
export declare enum PLAYBACK_STATES {
|
|
52
|
+
NONE = "NONE",
|
|
53
|
+
PAUSED = "PAUSED",
|
|
54
|
+
PLAYING = "PLAYING"
|
|
55
|
+
}
|
|
56
|
+
export declare enum CONTROL_LABELS {
|
|
57
|
+
PAUSE = "PAUSE",
|
|
58
|
+
PLAY = "PLAY",
|
|
59
|
+
MUTE = "MUTE",
|
|
60
|
+
UNMUTE = "UNMUTE"
|
|
61
|
+
}
|
|
62
|
+
export declare enum VOLUME_CONTROL_STATES {
|
|
63
|
+
SHOW = "SHOW",
|
|
64
|
+
HIDE = "HIDE"
|
|
65
|
+
}
|
|
66
|
+
export interface AudioPlayerExtendState {
|
|
67
|
+
volume: number;
|
|
68
|
+
audioRef: RefObject<HTMLAudioElement>;
|
|
69
|
+
playbackButtonLabel: CONTROL_LABELS;
|
|
70
|
+
volumeButtonLabel: CONTROL_LABELS;
|
|
71
|
+
}
|
|
72
|
+
export interface AudioPlayerState {
|
|
73
|
+
playback: PLAYBACK_STATES;
|
|
74
|
+
volumeControls: VOLUME_CONTROL_STATES;
|
|
75
|
+
context: AudioPlayerExtendState;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AudioPlayerState } from './types';
|
|
2
|
-
export declare const useVolumeIcon: (state: AudioPlayerState) => string;
|
|
1
|
+
import { AudioPlayerState } from './types';
|
|
2
|
+
export declare const useVolumeIcon: (state: AudioPlayerState) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { AudioPlayer, AudioPlayerProps } from './AudioPlayer';
|
|
1
|
+
export { AudioPlayer, AudioPlayerProps } from './AudioPlayer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './components';
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var webIcons = require('@popmenu/web-icons');
|
|
6
|
+
var core = require('@material-ui/core');
|
|
7
|
+
var commonUi = require('@popmenu/common-ui');
|
|
8
|
+
|
|
9
|
+
var classnames = {exports: {}};
|
|
10
|
+
|
|
11
|
+
/*!
|
|
12
|
+
Copyright (c) 2018 Jed Watson.
|
|
13
|
+
Licensed under the MIT License (MIT), see
|
|
14
|
+
http://jedwatson.github.io/classnames
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
(function (module) {
|
|
18
|
+
/* global define */
|
|
19
|
+
|
|
20
|
+
(function () {
|
|
21
|
+
|
|
22
|
+
var hasOwn = {}.hasOwnProperty;
|
|
23
|
+
|
|
24
|
+
function classNames () {
|
|
25
|
+
var classes = '';
|
|
26
|
+
|
|
27
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
28
|
+
var arg = arguments[i];
|
|
29
|
+
if (arg) {
|
|
30
|
+
classes = appendClass(classes, parseValue(arg));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return classes;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function parseValue (arg) {
|
|
38
|
+
if (typeof arg === 'string' || typeof arg === 'number') {
|
|
39
|
+
return arg;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (typeof arg !== 'object') {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (Array.isArray(arg)) {
|
|
47
|
+
return classNames.apply(null, arg);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
51
|
+
return arg.toString();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var classes = '';
|
|
55
|
+
|
|
56
|
+
for (var key in arg) {
|
|
57
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
58
|
+
classes = appendClass(classes, key);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return classes;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function appendClass (value, newClass) {
|
|
66
|
+
if (!newClass) {
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (value) {
|
|
71
|
+
return value + ' ' + newClass;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return value + newClass;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (module.exports) {
|
|
78
|
+
classNames.default = classNames;
|
|
79
|
+
module.exports = classNames;
|
|
80
|
+
} else {
|
|
81
|
+
window.classNames = classNames;
|
|
82
|
+
}
|
|
83
|
+
}());
|
|
84
|
+
}(classnames));
|
|
85
|
+
|
|
86
|
+
var classNames = classnames.exports;
|
|
87
|
+
|
|
88
|
+
var AUDIO_PLAYER_EVENT_TYPES;
|
|
89
|
+
(function (AUDIO_PLAYER_EVENT_TYPES) {
|
|
90
|
+
AUDIO_PLAYER_EVENT_TYPES["TOGGLE_PLAYBACK"] = "TOGGLE_PLAYBACK";
|
|
91
|
+
AUDIO_PLAYER_EVENT_TYPES["TOGGLE_VOLUME_CONTROL"] = "TOGGLE_VOLUME_CONTROL";
|
|
92
|
+
AUDIO_PLAYER_EVENT_TYPES["TOGGLE_MUTE"] = "TOGGLE_MUTE";
|
|
93
|
+
AUDIO_PLAYER_EVENT_TYPES["VOLUME_CHANGE"] = "VOLUME_CHANGE";
|
|
94
|
+
AUDIO_PLAYER_EVENT_TYPES["TIME_CHANGE"] = "TIME_CHANGE";
|
|
95
|
+
AUDIO_PLAYER_EVENT_TYPES["DURATION_CHANGE"] = "DURATION_CHANGE";
|
|
96
|
+
AUDIO_PLAYER_EVENT_TYPES["SET_TIME"] = "SET_TIME";
|
|
97
|
+
AUDIO_PLAYER_EVENT_TYPES["CAN_PLAY"] = "CAN_PLAY";
|
|
98
|
+
AUDIO_PLAYER_EVENT_TYPES["RESET"] = "RESET";
|
|
99
|
+
})(AUDIO_PLAYER_EVENT_TYPES || (AUDIO_PLAYER_EVENT_TYPES = {}));
|
|
100
|
+
var PLAYBACK_STATES;
|
|
101
|
+
(function (PLAYBACK_STATES) {
|
|
102
|
+
PLAYBACK_STATES["NONE"] = "NONE";
|
|
103
|
+
PLAYBACK_STATES["PAUSED"] = "PAUSED";
|
|
104
|
+
PLAYBACK_STATES["PLAYING"] = "PLAYING";
|
|
105
|
+
})(PLAYBACK_STATES || (PLAYBACK_STATES = {}));
|
|
106
|
+
var CONTROL_LABELS;
|
|
107
|
+
(function (CONTROL_LABELS) {
|
|
108
|
+
CONTROL_LABELS["PAUSE"] = "PAUSE";
|
|
109
|
+
CONTROL_LABELS["PLAY"] = "PLAY";
|
|
110
|
+
CONTROL_LABELS["MUTE"] = "MUTE";
|
|
111
|
+
CONTROL_LABELS["UNMUTE"] = "UNMUTE";
|
|
112
|
+
})(CONTROL_LABELS || (CONTROL_LABELS = {}));
|
|
113
|
+
var VOLUME_CONTROL_STATES;
|
|
114
|
+
(function (VOLUME_CONTROL_STATES) {
|
|
115
|
+
VOLUME_CONTROL_STATES["SHOW"] = "SHOW";
|
|
116
|
+
VOLUME_CONTROL_STATES["HIDE"] = "HIDE";
|
|
117
|
+
})(VOLUME_CONTROL_STATES || (VOLUME_CONTROL_STATES = {}));
|
|
118
|
+
|
|
119
|
+
var initialAudioPlayerState = {
|
|
120
|
+
playback: PLAYBACK_STATES.NONE,
|
|
121
|
+
volumeControls: VOLUME_CONTROL_STATES.HIDE,
|
|
122
|
+
context: {
|
|
123
|
+
volume: 100,
|
|
124
|
+
playbackButtonLabel: CONTROL_LABELS.PLAY,
|
|
125
|
+
volumeButtonLabel: CONTROL_LABELS.MUTE,
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
var getPlayback = function (_a) {
|
|
129
|
+
var audio = _a.current;
|
|
130
|
+
var playback = PLAYBACK_STATES.NONE;
|
|
131
|
+
if (audio) {
|
|
132
|
+
var paused = audio.paused, readyState = audio.readyState;
|
|
133
|
+
if (readyState === 0) {
|
|
134
|
+
playback = PLAYBACK_STATES.NONE;
|
|
135
|
+
}
|
|
136
|
+
else if (paused) {
|
|
137
|
+
playback = PLAYBACK_STATES.PAUSED;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
playback = PLAYBACK_STATES.PLAYING;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return playback;
|
|
144
|
+
};
|
|
145
|
+
var audioPlayerReducer = function (state, event) {
|
|
146
|
+
var _a, _b, _c;
|
|
147
|
+
var audioRef = state.context.audioRef;
|
|
148
|
+
var nextState = tslib.__assign({}, state);
|
|
149
|
+
switch (state.playback) {
|
|
150
|
+
case PLAYBACK_STATES.NONE:
|
|
151
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.CAN_PLAY) {
|
|
152
|
+
nextState.playback = getPlayback(audioRef);
|
|
153
|
+
return nextState;
|
|
154
|
+
}
|
|
155
|
+
// Required for iOS users. iOS prevents media from being loaded before user interaction.
|
|
156
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK) {
|
|
157
|
+
(_a = audioRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
|
158
|
+
}
|
|
159
|
+
break;
|
|
160
|
+
case PLAYBACK_STATES.PAUSED:
|
|
161
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK) {
|
|
162
|
+
(_b = audioRef.current) === null || _b === void 0 ? void 0 : _b.play();
|
|
163
|
+
nextState.playback = getPlayback(audioRef);
|
|
164
|
+
nextState.context.playbackButtonLabel = CONTROL_LABELS.PAUSE;
|
|
165
|
+
return nextState;
|
|
166
|
+
}
|
|
167
|
+
break;
|
|
168
|
+
case PLAYBACK_STATES.PLAYING:
|
|
169
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK) {
|
|
170
|
+
(_c = audioRef.current) === null || _c === void 0 ? void 0 : _c.pause();
|
|
171
|
+
nextState.playback = getPlayback(audioRef);
|
|
172
|
+
nextState.context.playbackButtonLabel = CONTROL_LABELS.PLAY;
|
|
173
|
+
return nextState;
|
|
174
|
+
}
|
|
175
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TIME_CHANGE) {
|
|
176
|
+
return nextState;
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
switch (state.volumeControls) {
|
|
181
|
+
case VOLUME_CONTROL_STATES.SHOW:
|
|
182
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TOGGLE_VOLUME_CONTROL) {
|
|
183
|
+
nextState.volumeControls = VOLUME_CONTROL_STATES.HIDE;
|
|
184
|
+
return nextState;
|
|
185
|
+
}
|
|
186
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.VOLUME_CHANGE) {
|
|
187
|
+
if (nextState.context.volume !== event.context.volume) {
|
|
188
|
+
nextState.context.volume = event.context.volume;
|
|
189
|
+
if (audioRef.current) {
|
|
190
|
+
audioRef.current.volume = event.context.volume;
|
|
191
|
+
}
|
|
192
|
+
return nextState;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
case VOLUME_CONTROL_STATES.HIDE:
|
|
197
|
+
if (event.type === AUDIO_PLAYER_EVENT_TYPES.TOGGLE_VOLUME_CONTROL) {
|
|
198
|
+
nextState.volumeControls = VOLUME_CONTROL_STATES.SHOW;
|
|
199
|
+
return nextState;
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
switch (event.type) {
|
|
204
|
+
case AUDIO_PLAYER_EVENT_TYPES.TOGGLE_MUTE:
|
|
205
|
+
if (audioRef.current) {
|
|
206
|
+
audioRef.current.muted = !audioRef.current.muted;
|
|
207
|
+
return nextState;
|
|
208
|
+
}
|
|
209
|
+
break;
|
|
210
|
+
case AUDIO_PLAYER_EVENT_TYPES.SET_TIME:
|
|
211
|
+
if (audioRef.current) {
|
|
212
|
+
audioRef.current.currentTime = event.context.time;
|
|
213
|
+
return nextState;
|
|
214
|
+
}
|
|
215
|
+
break;
|
|
216
|
+
case AUDIO_PLAYER_EVENT_TYPES.RESET:
|
|
217
|
+
if (audioRef.current) {
|
|
218
|
+
audioRef.current.currentTime = 0;
|
|
219
|
+
nextState.playback = getPlayback(audioRef);
|
|
220
|
+
return nextState;
|
|
221
|
+
}
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
return state;
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
var useVolumeIcon = function (state) {
|
|
228
|
+
var volumeIcon = webIcons.VolumeUp;
|
|
229
|
+
if (state.context.volume >= 0.5) {
|
|
230
|
+
volumeIcon = webIcons.VolumeUp;
|
|
231
|
+
}
|
|
232
|
+
else if (state.context.volume < 0.5 && state.context.volume > 0) {
|
|
233
|
+
volumeIcon = webIcons.VolumeDown;
|
|
234
|
+
}
|
|
235
|
+
else if (state.context.volume === 0) {
|
|
236
|
+
volumeIcon = webIcons.VolumeMute;
|
|
237
|
+
}
|
|
238
|
+
if (state.context.audioRef.current) {
|
|
239
|
+
if (state.context.audioRef.current.muted) {
|
|
240
|
+
volumeIcon = webIcons.VolumeOff;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return volumeIcon;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
var appendZero = function (num) { return (num < 10 ? "0" + num : num); };
|
|
247
|
+
var formatTime = function (time, remaning) {
|
|
248
|
+
if (remaning === void 0) { remaning = false; }
|
|
249
|
+
var dateTime = new Date(0, 0, 0, 0, 0, time, 0);
|
|
250
|
+
var dateTimeH = appendZero(dateTime.getHours());
|
|
251
|
+
var dateTimeM = appendZero(dateTime.getMinutes());
|
|
252
|
+
var dateTimeS = appendZero(dateTime.getSeconds());
|
|
253
|
+
var minus = remaning ? '-' : '';
|
|
254
|
+
return dateTimeH > 0 ? "" + minus + dateTimeH + ":" + dateTimeM + ":" + dateTimeS : "" + minus + dateTimeM + ":" + dateTimeS;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var setupAudioRef = function (config) { return function () {
|
|
258
|
+
var _a, _b, _c, _d;
|
|
259
|
+
var audioRef = config.audioRef, send = config.send;
|
|
260
|
+
var handleDurationChange = function (event) {
|
|
261
|
+
var duration = event.target.duration;
|
|
262
|
+
send({ type: AUDIO_PLAYER_EVENT_TYPES.DURATION_CHANGE, context: { duration: duration } });
|
|
263
|
+
};
|
|
264
|
+
var handleTimeUpdate = function (event) {
|
|
265
|
+
var currentTime = event.target.currentTime;
|
|
266
|
+
send({ type: AUDIO_PLAYER_EVENT_TYPES.TIME_CHANGE, context: { currentTime: currentTime } });
|
|
267
|
+
};
|
|
268
|
+
var handleCanPlay = function () {
|
|
269
|
+
send({ type: AUDIO_PLAYER_EVENT_TYPES.CAN_PLAY });
|
|
270
|
+
};
|
|
271
|
+
var handleEnded = function () {
|
|
272
|
+
send({ type: AUDIO_PLAYER_EVENT_TYPES.RESET });
|
|
273
|
+
};
|
|
274
|
+
(_a = audioRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('durationchange', handleDurationChange);
|
|
275
|
+
(_b = audioRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('timeupdate', handleTimeUpdate);
|
|
276
|
+
(_c = audioRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener('canplay', handleCanPlay);
|
|
277
|
+
(_d = audioRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('ended', handleEnded);
|
|
278
|
+
return function () {
|
|
279
|
+
var _a, _b, _c, _d;
|
|
280
|
+
(_a = audioRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('durationchange', handleDurationChange);
|
|
281
|
+
(_b = audioRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('timeupdate', handleTimeUpdate);
|
|
282
|
+
(_c = audioRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('canplay', handleCanPlay);
|
|
283
|
+
(_d = audioRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('ended', handleEnded);
|
|
284
|
+
};
|
|
285
|
+
}; };
|
|
286
|
+
|
|
287
|
+
var getPlaybackIcon = function (status) {
|
|
288
|
+
var icon;
|
|
289
|
+
switch (status) {
|
|
290
|
+
case PLAYBACK_STATES.PAUSED:
|
|
291
|
+
icon = webIcons.Play;
|
|
292
|
+
break;
|
|
293
|
+
case PLAYBACK_STATES.PLAYING:
|
|
294
|
+
icon = webIcons.Pause;
|
|
295
|
+
break;
|
|
296
|
+
case PLAYBACK_STATES.NONE:
|
|
297
|
+
icon = webIcons.Play;
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
return icon;
|
|
301
|
+
};
|
|
302
|
+
var AudioPlayer = function (props) {
|
|
303
|
+
var _a, _b, _c, _d, _f, _g;
|
|
304
|
+
var src = props.src, _h = props.classes, classes = _h === void 0 ? {} : _h;
|
|
305
|
+
var volumeRef = React.useRef(null);
|
|
306
|
+
var audioRef = React.useRef(null);
|
|
307
|
+
var spacing = core.useTheme().spacing;
|
|
308
|
+
var _j = React.useState(false), disableRipple = _j[0], setDisableRipple = _j[1];
|
|
309
|
+
var _k = React.useReducer(audioPlayerReducer, tslib.__assign(tslib.__assign({}, initialAudioPlayerState), { context: tslib.__assign(tslib.__assign({}, initialAudioPlayerState.context), { audioRef: audioRef }) })), state = _k[0], send = _k[1];
|
|
310
|
+
React.useEffect(setupAudioRef({ audioRef: audioRef, send: send }), [audioRef]);
|
|
311
|
+
var PlaybackIcon = getPlaybackIcon(state.playback);
|
|
312
|
+
var VolumeIcon = React.useMemo(function () { return useVolumeIcon(state); }, [state.context.volume, (_a = state.context.audioRef.current) === null || _a === void 0 ? void 0 : _a.muted]);
|
|
313
|
+
var togglePlayback = function () { return send({ type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_PLAYBACK }); };
|
|
314
|
+
var toggleVolumeControl = function () { return send({ type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_VOLUME_CONTROL }); };
|
|
315
|
+
var toggleMute = function () { return send({ type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_MUTE }); };
|
|
316
|
+
var setTime = function (_e, time) { return send({ type: AUDIO_PLAYER_EVENT_TYPES.SET_TIME, context: { time: time } }); };
|
|
317
|
+
var setVolume = function (_e, volume) { return send({ type: AUDIO_PLAYER_EVENT_TYPES.VOLUME_CHANGE, context: { volume: volume } }); };
|
|
318
|
+
return (React.createElement(commonUi.Box, { display: "flex", alignItems: "center", gridGap: spacing(1), className: classNames([classes.root]) },
|
|
319
|
+
React.createElement("audio", { ref: audioRef, src: src }),
|
|
320
|
+
React.createElement(commonUi.Box, null,
|
|
321
|
+
React.createElement(commonUi.IconButton, tslib.__assign({}, (classes.playbackToggle && { classes: { root: classes.playbackToggle } }), { "aria-label": state.context.playbackButtonLabel, disabled: ((_b = audioRef.current) === null || _b === void 0 ? void 0 : _b.networkState) === 2, onClick: togglePlayback }),
|
|
322
|
+
React.createElement(commonUi.Icon, { icon: PlaybackIcon })),
|
|
323
|
+
React.createElement(commonUi.IconButton, tslib.__assign({}, (classes.volumeToggle && { classes: { root: classes.volumeToggle } }), { "aria-label": state.context.volumeButtonLabel, ref: volumeRef, onClick: toggleMute, onMouseEnter: toggleVolumeControl, onMouseLeave: toggleVolumeControl, disableRipple: disableRipple }),
|
|
324
|
+
React.createElement(commonUi.Icon, { icon: VolumeIcon }),
|
|
325
|
+
React.createElement(commonUi.Popper, { onClick: function (e) { return e.stopPropagation(); }, onMouseEnter: function () { return setDisableRipple(true); }, onMouseLeave: function () { return setDisableRipple(false); }, open: state.volumeControls === VOLUME_CONTROL_STATES.SHOW, anchorEl: function () { return volumeRef.current; }, transition: true, placement: "top", className: classNames([classes.volumeSlider]) }, function (_a) {
|
|
326
|
+
var TransitionProps = _a.TransitionProps;
|
|
327
|
+
return (React.createElement(core.Grow, tslib.__assign({}, TransitionProps),
|
|
328
|
+
React.createElement(commonUi.Paper, { elevation: 1 },
|
|
329
|
+
React.createElement(commonUi.Box, { py: 1, height: 80 },
|
|
330
|
+
React.createElement(core.Slider, { color: "secondary", orientation: "vertical", value: state.context.volume, onChange: setVolume, max: 1, step: 0.01 })))));
|
|
331
|
+
}))),
|
|
332
|
+
React.createElement(commonUi.Box, { display: "flex", flexGrow: 1, alignItems: "center", gridGap: spacing(1) },
|
|
333
|
+
React.createElement(commonUi.Box, { flexBasis: 60, flexShrink: 0 },
|
|
334
|
+
React.createElement(commonUi.Typography, tslib.__assign({}, (classes.playbackText && { classes: { root: classes.playbackText } })), formatTime(((_c = state.context.audioRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) || 0))),
|
|
335
|
+
React.createElement(core.Slider, tslib.__assign({}, (classes.playbackSlider && { classes: { root: classes.playbackSlider } }), { color: "secondary", value: ((_d = state.context.audioRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) || 0, max: ((_f = state.context.audioRef.current) === null || _f === void 0 ? void 0 : _f.duration) || 1, onChange: setTime, disabled: state.playback === PLAYBACK_STATES.NONE })),
|
|
336
|
+
React.createElement(commonUi.Box, { flexBasis: 60, flexShrink: 0, textAlign: "end" },
|
|
337
|
+
React.createElement(commonUi.Typography, tslib.__assign({}, (classes.lengthText && { classes: { root: classes.lengthText } })), formatTime(((_g = state.context.audioRef.current) === null || _g === void 0 ? void 0 : _g.duration) || 0))))));
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
exports.AudioPlayer = AudioPlayer;
|
|
341
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/classnames/index.js","../../src/components/AudioPlayer/util/types.ts","../../src/components/AudioPlayer/util/audioPlayerReducer.ts","../../src/components/AudioPlayer/util/useVolumeIcon.ts","../../src/components/AudioPlayer/util/formatTime.ts","../../src/components/AudioPlayer/util/setupAudioRef.ts","../../src/components/AudioPlayer/AudioPlayer.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null,null,null,null],"names":["__assign","EVENT_TYPES","VolumeUp","VolumeDown","VolumeMute","VolumeOff","Play","Pause","useRef","useTheme","useState","useReducer","useEffect","useMemo","EVENTS","Box","IconButton","Icon","Popper","Grow","Paper","Slider","Typography"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|