///
/** List of available embed spotify URL's */
declare enum SpotifyEmbedUrl {
TRACK = "https://open.spotify.com/embed/track/",
ALBUM = "https://open.spotify.com/embed/album/",
PLAYLIST = "https://open.spotify.com/embed/playlist/",
ARTIST = "https://open.spotify.com/embed/artist/",
SHOW = "https://open.spotify.com/embed/show/",
EPISODE = "https://open.spotify.com/embed/episode/"
}
/** List of Spotify embed types */
declare enum SpotifyEmbedTypes {
TRACK = "track",
ALBUM = "album",
PLAYLIST = "playlist",
ARTIST = "artist",
SHOW = "show",
EPISODE = "episode"
}
/** Default sizes */
declare enum Default {
WIDTH = 300,
HEIGHT = 380
}
/** Compact sizes */
declare enum Compact {
WIDTH = 300,
HEIGHT = 80
}
/** Theme types */
declare enum Themes {
LIGHT = "1",
DARK = "0"
}
/**
* @param url - The Spotify resource URL
* @param theme - The embed theme
* @returns The formated embed URL
*/
declare const urlParser: (url: string, theme?: "light" | "dark") => string;
/**
* @param uri - The Spotify resource URI
* @param theme - The embed theme
* @returns The formated embed url
*/
declare const uriParser: (uri: string, theme?: "light" | "dark") => string;
interface SpotifyEmbedProps extends Omit, "allow-transparency" | "frameBorder" | "aria-label" | "allow"> {
/**
* The size of the embed
* @defaultValue 'default'
*/
size?: "default" | "compact" | "custom";
/**
* The Spotify resource URL/URI
* ( track | playlist | album | artist | show | episode )
*/
src?: string;
/**
* The embed theme
* @defaultValue 'light'
*/
theme?: "light" | "dark";
}
/**
* ## Spotfy Embed
* @param props - Spotify embed properties
* @returns The Spotify embed
* @see https://developer.spotify.com/documentation/widgets/
*/
declare const SpotifyEmbed: React.FC;
export { Compact, Default, SpotifyEmbed, SpotifyEmbedProps, SpotifyEmbedTypes, SpotifyEmbedUrl, Themes, uriParser, urlParser };