@popmenu/common-ui 0.19.0 → 0.19.4
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/AudioPlayer/AudioPlayerProps.d.ts +6 -0
- package/build/index.es.js +46 -46
- package/build/index.es.js.map +1 -1
- package/build/index.js +46 -46
- package/build/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
declare type AudioPlayerClasses = 'root' | 'playbackToggle' | 'volumeToggle' | 'volumeSlider' | 'playbackSlider' | 'playbackText' | 'lengthText';
|
|
1
2
|
export interface AudioPlayerProps {
|
|
2
3
|
/** The URL of the audio to embed. */
|
|
3
4
|
src?: string;
|
|
5
|
+
/** style classes */
|
|
6
|
+
classes?: {
|
|
7
|
+
[Key in AudioPlayerClasses]?: string;
|
|
8
|
+
};
|
|
4
9
|
}
|
|
10
|
+
export {};
|
package/build/index.es.js
CHANGED
|
@@ -199,42 +199,6 @@ function SvgVolumeUp(props) {
|
|
|
199
199
|
})));
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
var useIconStyles = makeStyles(function (_a) {
|
|
203
|
-
var spacing = _a.spacing, palette = _a.palette;
|
|
204
|
-
var getFontSize = function (_a) {
|
|
205
|
-
var size = _a.size;
|
|
206
|
-
var sizes = {
|
|
207
|
-
inherit: 'inherit',
|
|
208
|
-
small: spacing(1.5),
|
|
209
|
-
medium: spacing(2),
|
|
210
|
-
large: spacing(2.5),
|
|
211
|
-
'extra-large': spacing(3),
|
|
212
|
-
};
|
|
213
|
-
return size ? sizes[size] : 'inherit';
|
|
214
|
-
};
|
|
215
|
-
var getColor = function (props) {
|
|
216
|
-
var semanticColors = ['primary', 'secondary', 'info', 'success', 'warning', 'error'];
|
|
217
|
-
var value = 'inherit';
|
|
218
|
-
if (props.color) {
|
|
219
|
-
if (semanticColors.includes(props.color.split('.')[0])) {
|
|
220
|
-
var _a = props.color.split('.'), color = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
|
|
221
|
-
value = palette[color][variant];
|
|
222
|
-
}
|
|
223
|
-
else if (props.color.search(/^(rgb|hsla|#)/) !== -1) {
|
|
224
|
-
value = props.color;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
return value;
|
|
228
|
-
};
|
|
229
|
-
return {
|
|
230
|
-
root: {
|
|
231
|
-
color: getColor,
|
|
232
|
-
fontSize: getFontSize,
|
|
233
|
-
strokeWidth: '1.3px',
|
|
234
|
-
},
|
|
235
|
-
};
|
|
236
|
-
});
|
|
237
|
-
|
|
238
202
|
var classnames = {exports: {}};
|
|
239
203
|
|
|
240
204
|
/*!
|
|
@@ -295,6 +259,42 @@ var classnames = {exports: {}};
|
|
|
295
259
|
|
|
296
260
|
var classNames = classnames.exports;
|
|
297
261
|
|
|
262
|
+
var useIconStyles = makeStyles(function (_a) {
|
|
263
|
+
var spacing = _a.spacing, palette = _a.palette;
|
|
264
|
+
var getFontSize = function (_a) {
|
|
265
|
+
var size = _a.size;
|
|
266
|
+
var sizes = {
|
|
267
|
+
inherit: 'inherit',
|
|
268
|
+
small: spacing(1.5),
|
|
269
|
+
medium: spacing(2),
|
|
270
|
+
large: spacing(2.5),
|
|
271
|
+
'extra-large': spacing(3),
|
|
272
|
+
};
|
|
273
|
+
return size ? sizes[size] : 'inherit';
|
|
274
|
+
};
|
|
275
|
+
var getColor = function (props) {
|
|
276
|
+
var semanticColors = ['primary', 'secondary', 'info', 'success', 'warning', 'error'];
|
|
277
|
+
var value = 'inherit';
|
|
278
|
+
if (props.color) {
|
|
279
|
+
if (semanticColors.includes(props.color.split('.')[0])) {
|
|
280
|
+
var _a = props.color.split('.'), color = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
|
|
281
|
+
value = palette[color][variant];
|
|
282
|
+
}
|
|
283
|
+
else if (props.color.search(/^(rgb|hsla|#)/) !== -1) {
|
|
284
|
+
value = props.color;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return value;
|
|
288
|
+
};
|
|
289
|
+
return {
|
|
290
|
+
root: {
|
|
291
|
+
color: getColor,
|
|
292
|
+
fontSize: getFontSize,
|
|
293
|
+
strokeWidth: '1.3px',
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
});
|
|
297
|
+
|
|
298
298
|
var iconStaticClassName = 'pop-icon';
|
|
299
299
|
var Icon = function (props) {
|
|
300
300
|
var icon = props.icon, className = props.className, restProps = __rest(props, ["icon", "className"]);
|
|
@@ -566,12 +566,12 @@ var setupAudioRef = function (config) { return function () {
|
|
|
566
566
|
|
|
567
567
|
var AudioPlayer = function (props) {
|
|
568
568
|
var _a, _b, _c, _d, _f;
|
|
569
|
-
var src = props.src;
|
|
569
|
+
var src = props.src, _g = props.classes, classes = _g === void 0 ? {} : _g;
|
|
570
570
|
var volumeRef = useRef(null);
|
|
571
571
|
var audioRef = useRef(null);
|
|
572
572
|
var spacing = useTheme().spacing;
|
|
573
|
-
var
|
|
574
|
-
var
|
|
573
|
+
var _h = useState(false), disableRipple = _h[0], setDisableRipple = _h[1];
|
|
574
|
+
var _j = useReducer(audioPlayerReducer, __assign(__assign({}, initialAudioPlayerState), { context: __assign(__assign({}, initialAudioPlayerState.context), { audioRef: audioRef }) })), state = _j[0], send = _j[1];
|
|
575
575
|
useEffect(setupAudioRef({ audioRef: audioRef, send: send }), [audioRef]);
|
|
576
576
|
var PlaybackIcon = state.playback !== PLAYBACK_STATES.PAUSED ? SvgPause : SvgPlay;
|
|
577
577
|
var VolumeIcon = useMemo(function () { return useVolumeIcon(state); }, [state.context.volume, (_a = state.context.audioRef.current) === null || _a === void 0 ? void 0 : _a.muted]);
|
|
@@ -580,14 +580,14 @@ var AudioPlayer = function (props) {
|
|
|
580
580
|
var toggleMute = function () { return send({ type: AUDIO_PLAYER_EVENT_TYPES.TOGGLE_MUTE }); };
|
|
581
581
|
var setTime = function (_e, time) { return send({ type: AUDIO_PLAYER_EVENT_TYPES.SET_TIME, context: { time: time } }); };
|
|
582
582
|
var setVolume = function (_e, volume) { return send({ type: AUDIO_PLAYER_EVENT_TYPES.VOLUME_CHANGE, context: { volume: volume } }); };
|
|
583
|
-
return (React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: spacing(1) },
|
|
583
|
+
return (React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: spacing(1), className: classNames([classes.root]) },
|
|
584
584
|
React__default.createElement("audio", { ref: audioRef, src: src }),
|
|
585
585
|
React__default.createElement(Box, null,
|
|
586
|
-
React__default.createElement(IconButton, { "aria-label": state.context.playbackButtonLabel, disabled: state.playback === PLAYBACK_STATES.NONE, onClick: togglePlayback },
|
|
586
|
+
React__default.createElement(IconButton, { classes: { root: classes.playbackToggle }, "aria-label": state.context.playbackButtonLabel, disabled: state.playback === PLAYBACK_STATES.NONE, onClick: togglePlayback },
|
|
587
587
|
React__default.createElement(Icon, { icon: PlaybackIcon })),
|
|
588
|
-
React__default.createElement(IconButton, { "aria-label": state.context.volumeButtonLabel, ref: volumeRef, onClick: toggleMute, onMouseEnter: toggleVolumeControl, onMouseLeave: toggleVolumeControl, disableRipple: disableRipple },
|
|
588
|
+
React__default.createElement(IconButton, { classes: { root: classes.volumeToggle }, "aria-label": state.context.volumeButtonLabel, ref: volumeRef, onClick: toggleMute, onMouseEnter: toggleVolumeControl, onMouseLeave: toggleVolumeControl, disableRipple: disableRipple },
|
|
589
589
|
React__default.createElement(Icon, { icon: VolumeIcon }),
|
|
590
|
-
React__default.createElement(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" }, function (_a) {
|
|
590
|
+
React__default.createElement(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) {
|
|
591
591
|
var TransitionProps = _a.TransitionProps;
|
|
592
592
|
return (React__default.createElement(Grow, __assign({}, TransitionProps),
|
|
593
593
|
React__default.createElement(Paper, { elevation: 1 },
|
|
@@ -596,10 +596,10 @@ var AudioPlayer = function (props) {
|
|
|
596
596
|
}))),
|
|
597
597
|
React__default.createElement(Box, { display: "flex", flexGrow: 1, alignItems: "center", gridGap: spacing(1) },
|
|
598
598
|
React__default.createElement(Box, { flexBasis: 60, flexShrink: 0 },
|
|
599
|
-
React__default.createElement(Typography,
|
|
600
|
-
React__default.createElement(Slider, { color: "secondary", value: ((_c = state.context.audioRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) || 0, max: ((_d = state.context.audioRef.current) === null || _d === void 0 ? void 0 : _d.duration) || 1, onChange: setTime, disabled: state.playback === PLAYBACK_STATES.NONE }),
|
|
599
|
+
React__default.createElement(Typography, { classes: { root: classes.playbackText } }, formatTime(((_b = state.context.audioRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0))),
|
|
600
|
+
React__default.createElement(Slider, { classes: { root: classes.playbackSlider }, color: "secondary", value: ((_c = state.context.audioRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) || 0, max: ((_d = state.context.audioRef.current) === null || _d === void 0 ? void 0 : _d.duration) || 1, onChange: setTime, disabled: state.playback === PLAYBACK_STATES.NONE }),
|
|
601
601
|
React__default.createElement(Box, { flexBasis: 60, flexShrink: 0, textAlign: "end" },
|
|
602
|
-
React__default.createElement(Typography,
|
|
602
|
+
React__default.createElement(Typography, { classes: { root: classes.lengthText } }, formatTime(((_f = state.context.audioRef.current) === null || _f === void 0 ? void 0 : _f.duration) || 0))))));
|
|
603
603
|
};
|
|
604
604
|
|
|
605
605
|
var LoadingStatus;
|