@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.
Files changed (47) hide show
  1. package/build/{components → cjs/components}/AudioPlayer/AudioPlayer.d.ts +3 -3
  2. package/build/{components → cjs/components}/AudioPlayer/AudioPlayerProps.d.ts +10 -10
  3. package/build/{components → cjs/components}/AudioPlayer/index.d.ts +2 -2
  4. package/build/{components → cjs/components}/AudioPlayer/util/audioPlayerReducer.d.ts +11 -11
  5. package/build/{components → cjs/components}/AudioPlayer/util/formatTime.d.ts +1 -1
  6. package/build/{components → cjs/components}/AudioPlayer/util/index.d.ts +5 -5
  7. package/build/{components → cjs/components}/AudioPlayer/util/setupAudioRef.d.ts +8 -8
  8. package/build/{components → cjs/components}/AudioPlayer/util/types.d.ts +77 -77
  9. package/build/{components → cjs/components}/AudioPlayer/util/useVolumeIcon.d.ts +2 -2
  10. package/build/{components → cjs/components}/index.d.ts +1 -1
  11. package/build/{index.d.ts → cjs/index.d.ts} +1 -1
  12. package/build/cjs/index.js +341 -0
  13. package/build/cjs/index.js.map +1 -0
  14. package/build/esm/_virtual/index.js +4 -0
  15. package/build/esm/_virtual/index.js.map +1 -0
  16. package/build/esm/components/AudioPlayer/AudioPlayer.d.ts +3 -0
  17. package/build/esm/components/AudioPlayer/AudioPlayer.js +67 -0
  18. package/build/esm/components/AudioPlayer/AudioPlayer.js.map +1 -0
  19. package/build/esm/components/AudioPlayer/AudioPlayerProps.d.ts +10 -0
  20. package/build/esm/components/AudioPlayer/index.d.ts +2 -0
  21. package/build/esm/components/AudioPlayer/util/audioPlayerReducer.d.ts +11 -0
  22. package/build/esm/components/AudioPlayer/util/audioPlayerReducer.js +113 -0
  23. package/build/esm/components/AudioPlayer/util/audioPlayerReducer.js.map +1 -0
  24. package/build/esm/components/AudioPlayer/util/formatTime.d.ts +1 -0
  25. package/build/esm/components/AudioPlayer/util/formatTime.js +13 -0
  26. package/build/esm/components/AudioPlayer/util/formatTime.js.map +1 -0
  27. package/build/esm/components/AudioPlayer/util/index.d.ts +5 -0
  28. package/build/esm/components/AudioPlayer/util/setupAudioRef.d.ts +8 -0
  29. package/build/esm/components/AudioPlayer/util/setupAudioRef.js +34 -0
  30. package/build/esm/components/AudioPlayer/util/setupAudioRef.js.map +1 -0
  31. package/build/esm/components/AudioPlayer/util/types.d.ts +77 -0
  32. package/build/esm/components/AudioPlayer/util/types.js +33 -0
  33. package/build/esm/components/AudioPlayer/util/types.js.map +1 -0
  34. package/build/esm/components/AudioPlayer/util/useVolumeIcon.d.ts +2 -0
  35. package/build/esm/components/AudioPlayer/util/useVolumeIcon.js +23 -0
  36. package/build/esm/components/AudioPlayer/util/useVolumeIcon.js.map +1 -0
  37. package/build/esm/components/index.d.ts +1 -0
  38. package/build/esm/index.d.ts +1 -0
  39. package/build/esm/index.js +2 -0
  40. package/build/esm/index.js.map +1 -0
  41. package/build/esm/node_modules/classnames/index.js +81 -0
  42. package/build/esm/node_modules/classnames/index.js.map +1 -0
  43. package/package.json +8 -5
  44. package/build/index.es.js +0 -1258
  45. package/build/index.es.js.map +0 -1
  46. package/build/index.js +0 -1295
  47. 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,4 @@
1
+ var classnames = {exports: {}};
2
+
3
+ export { classnames as c };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { AudioPlayerProps } from './AudioPlayerProps';
3
+ export declare const AudioPlayer: FC<AudioPlayerProps>;