Plan Display
El componente PlanDisplay es un diseño de interfaz reutilizable y flexible, diseñado para mostrar múltiples planes u opciones uno al lado del otro. Organiza los planes de una manera visualmente atractiva, con cada plan conteniendo un encabezado (por ejemplo, título o nombre) y contenido (por ejemplo, características, beneficios o detalles). El componente admite un sistema de diseño para controlar la disposición de los planes (por ejemplo, en fila o en cuadrícula) y es ideal para mostrar niveles de precios, opciones de suscripción o cualquier dato comparativo. Su estructura modular permite una fácil personalización y escalabilidad.
import React from "react";
import { PlanDisplay } from "@nimbus-ds/patterns";
import { CheckIcon, CloseIcon } from "@nimbus-ds/icons";
import { Box, Title, Text, Button } from "@nimbus-ds/components";
const Example: React.FC = () => (
<PlanDisplay minWidth={{ xs: "150px", md: "500px" }} mx="4">
<PlanDisplay.Card>
<PlanDisplay.Header
subtitle="Punto de venta"
title={
<Box display="flex" gap="1">
<Title as="h3" color="neutral-textLow">
Plan
</Title>
<Title as="h3" color="neutral-textHigh">
Básico
</Title>
</Box>
}
>
<Title as="h5">Suscripción gratuita</Title>
<Text fontWeight="bold" fontSize="highlight">
1.5% costo por transacción
</Text>
</PlanDisplay.Header>
<PlanDisplay.Content>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Descuentos personalizados
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Registro de clientes
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Búsqueda de clientes
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Venta con envío
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Venta sin stock
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Registro de medio de pago
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Escaneo de producto
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Gestión de caja
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Asignación de vendedor
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Creación de productos durante la venta
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Guardar carritos
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CloseIcon />} disabled>
Atajos de teclado
</PlanDisplay.Bullet>
</PlanDisplay.Content>
</PlanDisplay.Card>
<PlanDisplay.Card highlighted>
<PlanDisplay.Header
subtitle="Punto de venta"
title={
<Box display="flex" gap="1">
<Title as="h3" color="neutral-textLow">
Plan
</Title>
<Title as="h3" color="neutral-textHigh">
Avanzado
</Title>
</Box>
}
>
<Title as="h5">$14.999 / mes</Title>
<Text fontWeight="bold" fontSize="highlight">
0.15% costo por transacción
</Text>
</PlanDisplay.Header>
<PlanDisplay.Content>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Descuentos personalizados
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Registro de clientes
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Búsqueda de clientes
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Venta con envío
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Venta sin stock
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Registro de medio de pago
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Escaneo de producto
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Gestión de caja
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Asignación de vendedor
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Creación de productos durante la venta
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Guardar carritos
</PlanDisplay.Bullet>
<PlanDisplay.Bullet icon={<CheckIcon />}>
Atajos de teclado
</PlanDisplay.Bullet>
</PlanDisplay.Content>
<PlanDisplay.Footer>
<Box
display="flex"
flexDirection="column"
justifyContent="center"
alignItems="center"
width="100%"
gap="2"
>
<Button appearance="primary">
<Text fontSize="base" color="currentColor">
Comenzar gratis*
</Text>
</Button>
<Text fontSize="caption">
*Al finalizar la prueba podrás elegir cancelar, continuar o cambiar
de plan
</Text>
</Box>
</PlanDisplay.Footer>
</PlanDisplay.Card>
</PlanDisplay>
);
export default Example;
Instala el componente via terminal.
npm install @nimbus-ds/plan-display
Se pueden pasar propiedades adicionales al componente <PlanDisplay>. Revisa la documentación del div para ver la lista de props aceptadas por el componente <PlanDisplay>.