1.0.5 • Published 4 months ago

react-radio-player v1.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

A Simple component library for radio player in react

Table of Contents

Overview

This is a simple and light-weight component library to handle radio player in React.js projects.

Installation

# npm 
npm install react-radio-player

# yarn
yarn install react-radio-player

Basic example

Usage of this component is so easy you just need to import your desired component, pass title and streamURL, then you're good to go:

import RadioBottomBarPlayer from "../radio-bottom-bar-player";

// ... 

<RadioBottomBarPlayer
  titleChild="Testing Station title"
  streamUrl={stationUrl}
/>

APIs

Base Props

ProptypeDescriptions
streamUrlstringURL of radio stream to be played
titleChildReactNodeTile to show in component
description?ReactNodeFirst description for component
secondDescription?ReactNodeSecond description for the radio
customClassName?Objectsome class names for the parts of components, separately
image?ReactNode or stringImage related to the radio
styles?CSSPropertiesInline styles related to the component
theme?IBaseThemeObject related to the theme to change the ui of the component
isPrevButtonHidden?booleanWill hide prev button
isNextButtonHidden?booleanWill hide next button
isPrevButtonDisabledbooleanWill disable prev button
isNextButtonDisabledbooleanWill disable next button
onErrorCatched(mediaError: MediaError or null, event: ErrorEvent): void;Callback on catch any error of component
onNextButtonClicked(event: React.MouseEvent): void;Callback after clicked on next button
onPrevButtonClicked(event: React.MouseEvent): void;Callback after cliked on prev button
onPlayButtonClicked(event: React.MouseEvent): void;Callback after clicked on play button
onVolumeSliderChanged(percentage: number): void;Callback after changed volume
onLoadedStreamHandler(): void;Callback after load of stream data
type customClassName = {
    container?: string;
    infoContainer?: string;
    imageContainer?: string;
    image?: string;
    textsContainer?: string;
    title?: string;
    description?: string;
    secondDescription?: string;
    player?: string;
    playButton?: string;
    prevButton?: string;
    nextButton?: string;
    volumeContainer?: string;
    volume?: string;
    volumeIcon?: string;
    playerButtonsContainer?: string;
  }

interface IBaseTheme {
  backgroundColor: string;
  fontFamily: string;
  TitleFontSize: string;
  descriptionFontSize: string;
  secondDescriptionFontSize: string;
  primaryColor: string;
  disabledColor: string;
  hoverColor: string;
  titleFontWeight: string;
  descriptionFontWeight: string;
  secondDescriptionFontWeight: string;
  buttonsColor: string;
  firstTextColor: string;
  secondTextColor: string;
  padding: string;
  volumeTrackColor: string;
  voluemHandleColor: string;
  volumeRailColor: string;
  volumeIconColor: string;
}

Try Out

You can watch our staging components in a storybook and work around with it from this link

Bottom Bar

Bottom bar component will use all of basic props just for theme it will be like following:

export type RadioBottomBarTheme = IBaseTheme & {
  height: number;
};

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

1.0.2

4 months ago

1.0.5

4 months ago

1.0.4

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago

0.3.0

4 months ago

0.2.0

5 months ago

0.1.9

5 months ago

0.1.8

5 months ago

0.1.7

5 months ago

0.1.6

5 months ago

0.1.5

5 months ago

0.1.4

5 months ago

0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago

0.0.12

5 months ago

0.0.11

5 months ago

0.0.10

5 months ago

0.0.9

5 months ago

0.0.8

5 months ago

0.0.7

5 months ago

0.0.6

5 months ago

0.0.5

5 months ago

0.0.4

5 months ago

0.0.3

5 months ago

0.0.2

5 months ago

0.0.1

5 months ago

0.0.0

5 months ago