botech-library
v1.0.67
Published
Una biblioteca de componentes React para sistemas escolares.
Readme
Botech Library
Una biblioteca de componentes React para sistemas escolares.
Componentes
Header
El componente Header muestra información del sistema y la página actual.
Props
title: Título de la página actualdescription: Descripción de la página actualsystemName: Nombre del sistema (por defecto: "PASS")systemSubtitle: Subtítulo del sistema (por defecto: "Sistema Escolar")showPageInfo: Controla si se muestra la información de la página en el lado derecho (por defecto: true)onMenuToggle: Función que se ejecuta al hacer clic en el botón de menú
Uso
<Header
title="Dashboard"
description="Panel principal del sistema"
systemName="PASS"
systemSubtitle="Sistema Escolar"
onMenuToggle={() => setIsSidebarOpen(true)}
showPageInfo={true}
/>Notas importantes
- La descripción se muestra en dos lugares:
- Lado izquierdo:
systemSubtitleaparece debajo del nombre del sistema - Lado derecho:
descriptionaparece cuandoshowPageInfoestrue(solo visible en pantallas medianas y grandes por la clasehidden sm:block)
- Lado izquierdo:
Sidebar
El componente Sidebar proporciona navegación lateral con soporte para carpetas y elementos de menú.
Props
isOpen: Controla si el sidebar está abiertoonClose: Función que se ejecuta al cerrar el sidebarmenuItems: Array de elementos del menúoverlayClassName: Clases CSS para el overlay (por defecto: "fixed inset-0 bg-black bg-opacity-25 z-40")
Uso
<Sidebar
isOpen={isSidebarOpen}
onClose={() => setIsSidebarOpen(false)}
menuItems={menuItems}
systemName="PASS"
activePath="/"
onNavigate={(path) => console.log('Navegando a:', path)}
/>Problemas Solucionados
1. Overlay del Sidebar
Problema: El overlay estaba completamente negro en lugar de ser semi-transparente.
Solución: Cambiado de bg-opacity-50 a bg-opacity-25 para que sea menos oscuro.
// Antes
overlayClassName = "fixed inset-0 bg-black bg-opacity-50 z-40"
// Después
overlayClassName = "fixed inset-0 bg-black bg-opacity-25 z-40"2. Descripción del Header
Problema: La descripción no aparecía en el Header.
Solución: La descripción se muestra en dos lugares diferentes:
- systemSubtitle: En el lado izquierdo debajo del nombre del sistema
- description: En el lado derecho cuando
showPageInfoestrue
Importante: La descripción del lado derecho solo es visible en pantallas medianas y grandes debido a la clase hidden sm:block.
Instalación
npm install botech-libraryUso
import { Header, Sidebar } from 'botech-library';
// Tu componente aquí...Desarrollo
npm install
npm run buildEstructura del Proyecto
src/
├── components/
│ ├── Header/
│ │ ├── Header.tsx
│ │ ├── types.ts
│ │ └── index.ts
│ ├── Sidebar/
│ │ ├── Sidebar.tsx
│ │ ├── types.ts
│ │ └── index.ts
│ └── index.ts