1 estrella en GitHub = 1 componente nuevo.

Dar una estrella
Plantillas completas

Tienda e-commerce

Una tienda online completa y accesible: home, catálogo, ficha de producto, carrito y checkout.

Nova Store es una plantilla e-commerce lista para producción en Astro. Cinco páginas comparten un carrito que se guarda en el navegador, el catálogo filtra al instante sin backend y el checkout valida, calcula envío, impuestos y códigos promocionales y confirma el pedido. Cada bloque es un componente de la librería: puedes usar la tienda entera o solo las piezas que necesites.

4 páginas32 componentes0 deps

Vista previa en vivo

Páginas

Cada página es una vista previa real e interactiva: el carrito se comparte entre todas.

Home de la tienda

Hero con producto destacado, garantías, categorías, más vendidos, banner editorial, novedades y newsletter.

app/page.tsx

Página de categoría

Catálogo con migas de pan, chips de categoría, filtros fijos, contador de resultados y ordenación.

app/shop/page.tsx

Ficha de producto

Galería, bloque de compra con color, talla y cantidad, resumen de reseñas y productos relacionados.

app/product/[slug]/page.tsx

Checkout

Checkout en modo foco con pasos, contacto, entrega, envío, pago y resumen del pedido en vivo.

app/checkout/page.tsx

Qué incluye

  • Carrito persistente con panel lateral y contador en vivo
  • Filtros instantáneos: categoría, precio, color, valoración y stock
  • Checkout con envío, impuestos y códigos promocionales
  • Sin dependencias en runtime, WCAG AA y mobile-first
  • Ilustraciones de producto incluidas: no necesitas imágenes
  • Modo claro y oscuro con selector
  • Avisos en vivo: toasts del carrito, cuenta atrás, stock bajo y compras recientes

Instalar y usar

  1. Instala el paquete

    bash
    npm install react-component-kit-ui
  2. Crea una ruta por cada página de la plantilla

    app/page.tsx

    tsx
    import { StoreHomePage } from 'react-component-kit-ui/templates/ecommerce';
    
    export default function Page() {
      return <StoreHomePage />;
    }

    app/shop/page.tsx

    tsx
    import { StoreCategoryPage } from 'react-component-kit-ui/templates/ecommerce';
    
    export default function Page() {
      return (
        <>
          {/* Category links use /shop/?category=audio */}
          <StoreCategoryPage />
        </>
      );
    }

    app/product/[slug]/page.tsx

    tsx
    import { StoreProductPage, demoStore } from 'react-component-kit-ui/templates/ecommerce';
    
    export const generateStaticParams = () => demoStore.products.map((p) => ({ slug: p.slug }));
    
    export default async function Page({ params }: { params: Promise<{ slug: string }> }) {
      const { slug } = await params;
      return <StoreProductPage slug={slug} />;
    }

    app/checkout/page.tsx

    tsx
    import { StoreCheckoutPage } from 'react-component-kit-ui/templates/ecommerce';
    
    export default function Page() {
      return <StoreCheckoutPage />;
    }
  3. Usa tu propio catálogo, moneda y rutas

    Parte de la tienda demo y reemplaza lo que necesites. Los productos aceptan una imagen real o una de las 16 ilustraciones incluidas.

    tsx
    import { StoreHomePage, demoStore, type StoreConfig } from 'react-component-kit-ui/templates/ecommerce';
    
    const store: StoreConfig = {
      ...demoStore,
      name: 'My Shop',
      currency: 'EUR',
      locale: 'es-ES',
      cartKey: 'my-shop-cart',
      products: [
        {
          slug: 'linen-shirt',
          name: 'Linen Shirt',
          price: 59,
          category: 'apparel',
          image: '/products/linen-shirt.webp', // or icon: 'shirt'
          sizes: ['S', 'M', 'L'],
          rating: 4.7,
          reviews: 40,
        },
      ],
    };
    
    export default function Page() {
      return <StoreHomePage store={store} routes={{ home: '/', shop: '/shop/', product: '/product/', checkout: '/checkout/' }} />;
    }

Componentes e-commerce nuevos 22

Creados para esta plantilla y disponibles por separado en la librería.

Componente

Promo Bar

Barra de anuncios con mensajes rotativos, pausa al pasar el ratón y botón de cerrar recordado durante la sesión.

Componente

Cart Drawer

Carrito lateral con cantidades, eliminar, progreso hacia envío gratis y subtotal. Modal accesible con foco atrapado.

Componente

Trust Badges

Fila de garantías de la tienda (envío, devoluciones, pago seguro y soporte) en estilo tarjeta, en línea o dividido.

Componente

Store Product Card

Tarjeta de producto con ilustración o foto, insignia, valoración, colores, precio anterior, favoritos y botón de añadir al carrito.

Componente

Product Grid

Cuadrícula responsiva de tarjetas de producto con estado vacío; es el objetivo de FilterSidebar y ProductToolbar.

Componente

Filter Sidebar

Filtros de categoría, precio, color, valoración y stock que filtran y ordenan una ProductGrid al instante, sincronizados con la URL.

Componente

Product Toolbar

Cabecera de catálogo con contador de resultados en vivo y selector de orden (ModernSelect) conectado a FilterSidebar.

Componente

Product Gallery

Visor de imágenes de producto con escenario grande y miniaturas navegables con teclado; genera vistas ilustradas si no hay fotos.

Componente

Variant Picker

Muestras de color o tallas como grupo de radios nativo que mantiene sincronizado el botón de añadir al carrito.

Componente

Product Buy Box

Bloque de compra de la ficha: precio, ahorro, color y talla, cantidad, añadir al carrito, comprar ya y detalles desplegables.

Componente

Order Summary

Resumen lateral del checkout con productos, códigos promocionales, envío, impuestos y total en vivo según el método de envío.

Componente

Checkout Form

Checkout en una página (contacto, entrega, envío y pago) con autocompletado, validación y confirmación animada.

Componente

Product Media

Imagen de producto: una foto real o un fondo tintado con una de 16 ilustraciones de producto a línea.

Componente

Product Rating

Valoración con estrellas de solo lectura con relleno fraccionario, valor y número de reseñas, con una única etiqueta accesible.

Componente

Cart Toast

Notificaciones apiladas en vivo: «Añadido al carrito» con acción para ver el carrito y cualquier aviso propio enviado con el evento ack:notify.

Componente

Countdown Banner

Cuenta atrás en vivo para ofertas con días, horas, minutos y segundos, CTA y estado finalizado; fecha fija o plazo por visitante.

Componente

Stock Indicator

Aviso de stock bajo con barra de nivel y contador en vivo de personas viendo el producto.

Componente

Cart Store

Estado del carrito sin frameworks compartido por todos los componentes de tienda: persistencia en localStorage, sincronización entre pestañas, botones de añadir y formato de precios.

Componentes de la librería reutilizados

Componentes existentes con los que se monta la plantilla.