Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 7x 11x 11x 7x 11x 11x 11x 11x 11x 1x 11x | import type { ComponentGroup, Options } from "../types";
/**
* -----------------------------------------------------------------------------
* SETUP
*
* Parse our options, and set starting state.
* -----------------------------------------------------------------------------
*/
// Return a `components` object that matches the provided themename.
const setComponentsByTheme = (
themename: string = "default"
): ComponentGroup[] => {
switch (themename) {
case "itunes":
return [
"playPause",
[
["title", "artist"],
["timer", "progress", "duration"]
]
];
case "default":
default:
return [
"playPause",
["mute", "volume"],
["title", "artist"],
["timer", "progress", "duration"]
];
}
};
export const parseOptions = (rawOptions: Options = {}) => {
// Define our default options.
const defaultOptions = {
context: document,
theme: "default",
preload: false
};
const { components: userComponents, ...otherOptions } = rawOptions;
const components = setComponentsByTheme(rawOptions.theme);
const options = { ...defaultOptions, components, ...otherOptions };
if (userComponents && Array.isArray(userComponents)) {
options.components = userComponents;
}
return options;
};
|