stories-react
v1.1.2
Published
instagram style stories in react js
Maintainers
Readme
Install
npm install --save stories-reactDemo
You can find working demo here
Usage
import React from 'react';
import Stories from 'stories-react';
import 'stories-react/dist/index.css';
export default function ImagesStories() {
const stories = [
{
type: 'image',
url: 'https://images.pexels.com/photos/9470805/pexels-photo-9470805.jpeg?w=300',
duration: 5000,
},
{
type: 'image',
duration: 6000,
url: 'https://images.pexels.com/photos/9733197/pexels-photo-9733197.jpeg?w=300',
},
{
duration: 7000,
type: 'image',
url: 'https://images.pexels.com/photos/9470805/pexels-photo-9470805.jpeg?w=300',
},
];
return <Stories width="400px" height="600px" stories={stories} />;
}Props
| Property | Type | Default | Description |
| ------------------------------ | ------------------------ | ------- | ----------------------------------------------------------------------------------- |
| stories | IStoryObject[] | [] | An array of story objects. description of IStoryObject is mentioned below |
| height | string | 100% | Height of story container |
| width | string | 100% | Width of story container |
| onStoryChange | function(index:number) | - | Callback called when story changes |
| onStoriesStart | function | - | Callback called when first story is rendered. it get called only once, |
| onAllStoriesEnd | function | - | Callback called when last story gets completed. it will get called only once |
| currentIndex | number | - | Current index of the story which should be selected first |
| defaultDuration | number | 10000 | default duration in ms of stories if duration is not provided in the IStoryObject |
| classNames | IStoryClassNames | {} | classnames to overide different sections of a story renderer |
| pauseStoryWhenInActiveWindow | boolean | true | pauses story when window goes out of focus (user changes tab/minimizes browser etc |
IStoryObject
| Property | Type | Default | Description |
| ------------------ | ------------------------------------ | ------- | ------------------------------------------------ |
| type | image , video , component | - | type of story to render |
| url | string | - | url of a story (image & video only) |
| duration | duration | 10000 | duration in ms of the story |
| component | React Component | - | custom component to render as a story |
| header | React Component | - | header of a story |
| seeMore | string , boolean , React Component | true | See more action text |
| seeMoreComponent | React Component | - | see more component opens after clicking see more |
| onSeeMoreClick | function(index:number) | - | Callback called when story see more is clicked |
IStoryClassNames
| Property | Type | Default | Description |
| ---------------------- | -------- | ------- | ----------------------------------------------- |
| main | string | - | classname for main container |
| progressContainer | string | - | classname for progress line container |
| progressBarContainer | string | - | classname for single progress bar box container |
| progressBar | string | - | classname for progress bar |
| storyContainer | string | - | classname for story container |
Custom Component Story Props
| Property | Type | | Description |
| ---------- | -------------- | --- | ------------------------- |
| pause | function | | call it to pause a story |
| resume | function | | call it to resume a story |
| story | IStoryObject | | current story properties |
| isPaused | boolean | | state of a story |
