storie-component
v0.2.2
Published
A component for ReactJS to display stories
Maintainers
Readme
Storie Component
Un componente flexible y personalizable para mostrar historias (stories) al estilo de redes sociales en tus aplicaciones React.
🚀 Características
- Soporte para múltiples tipos de contenido: imágenes, videos, YouTube, contenido JSX personalizado.
- Duración personalizable: define cuántos segundos dura cada historia.
- Interactividad: pausa, reanuda y avanza las historias con facilidad.
- Estilo adaptable: personaliza el aspecto visual según tus necesidades.
🛠 Instalación
Primero, instala el paquete usando npm o yarn:
npm install storie-component
# o
yarn add storie-component💻 Uso
Importa el componente y pásale un array de historias como propiedad content. Cada historia debe incluir un tipo (type) y el contenido asociado.
🔧 Propiedades
Props principales
| Propiedad | Tipo | Descripción | Obligatoria |
|------------------|---------------------|-----------------------------------------------------------------------------|-------------|
| content | TContent[] | Array de historias (puede incluir imágenes, videos, YouTube y JSX). | ✅ |
| seconds | number | Duración de cada historia en segundos. | ✅ |
| progress | boolean | Muestra u oculta la barra de progreso. | ❌ |
Tipos de contenido
Imagen (
type: 'image'):url: URL de la imagen.
YouTube (
type: 'youtube'):url: URL del video en formato embebido (https://www.youtube.com/embed/...).
Contenido JSX (
type: 'jsx'):content: Función que retorna un componente JSX. Se recibe la propisPlaypara manejar el estado de reproducción.styles: (Opcional) Objeto de estilos para personalizar el fondo o color.
Video (
type: 'video'):url: URL del video.fullscreen: (Opcional) Si el video debe mostrarse en pantalla completa (truepor defecto).muted: (Opcional) Si el video está silenciado.
📦 Instalación del paquete
Si necesitas compilar el proyecto antes de publicarlo:
npm run buildAsegúrate de que las dependencias de peerDependencies estén correctamente configuradas para React y ReactDOM.
🖌 Personalización
Puedes personalizar los estilos agregando tu propio archivo CSS o modificando el objeto styles en las historias JSX.
📚 Ejemplo más avanzado
const advancedArray = [
{
type: 'image',
url: 'https://via.placeholder.com/360x640',
},
{
type: 'video',
url: 'https://cdn.example.com/sample-video.mp4',
muted: true,
fullscreen: false,
},
{
type: 'jsx',
content: ({ isPlay }) => (
<div style={{ padding: '20px', color: '#fff', backgroundColor: 'blue' }}>
<h1>¡Hola!</h1>
<p>Esto es contenido personalizado</p>
<p>¿Está reproduciéndose? {isPlay ? 'Sí' : 'No'}</p>
</div>
),
},
];
<StoriesComponent content={advancedArray} seconds={10} />;🛡 Soporte y Licencia
- Licencia: MIT.
- Contribución: Se aceptan PRs y sugerencias en el repositorio oficial.
Para preguntas, puedes contactarme en GitHub.
