@codeplex-sac/layout 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +247 -4
- package/index.d.ts +1 -0
- package/index.js +16183 -0
- package/lib/barra-lateral/barra-lateral.d.ts +1 -0
- package/lib/caja/caja.d.ts +49 -6
- package/lib/cuadricula/cuadricula.d.ts +31 -15
- package/lib/esqueleto/esqueleto.d.ts +30 -0
- package/lib/lista-imagenes/lista-imagenes.d.ts +1 -1
- package/lib/pila/pila.d.ts +28 -8
- package/package.json +2 -1
- package/index.mjs +0 -6858
package/README.md
CHANGED
|
@@ -1,7 +1,250 @@
|
|
|
1
|
-
# layout
|
|
1
|
+
# @codeplex-sac/layout
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
El motor de estructura y maquetación definitiva para el ecosistema **Codeplex-SAC**. Este paquete proporciona una base sólida y flexible para construir interfaces modernas, desde rejillas responsivas hasta cascarones de aplicación completos, todo con una API semántica en **Español**.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🚀 Instalación
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```bash
|
|
8
|
+
bun add @codeplex-sac/layout @mui/material @emotion/react @emotion/styled
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🏗️ Estructura Base (Grid & Flex)
|
|
14
|
+
|
|
15
|
+
Componentes fundamentales para la distribución y alineación del contenido.
|
|
16
|
+
|
|
17
|
+
### CodeplexCaja (Box)
|
|
18
|
+
El bloque de construcción más básico. Soporta variantes visuales avanzadas y comportamientos de layout rápidos.
|
|
19
|
+
|
|
20
|
+
**Ejemplo de Uso:**
|
|
21
|
+
```tsx
|
|
22
|
+
import { CodeplexCaja } from '@codeplex-sac/layout';
|
|
23
|
+
|
|
24
|
+
export const MiCaja = () => (
|
|
25
|
+
<CodeplexCaja
|
|
26
|
+
variante="vidrio"
|
|
27
|
+
relleno={4}
|
|
28
|
+
centrado
|
|
29
|
+
alFlotar={{ elevar: true }}
|
|
30
|
+
>
|
|
31
|
+
Contenido con Glassmorphism
|
|
32
|
+
</CodeplexCaja>
|
|
33
|
+
);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Propiedades Destacadas (Props):**
|
|
37
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
38
|
+
| :--- | :--- | :--- | :--- |
|
|
39
|
+
| `variante` | `Variante` | `'predeterminado'`| `predeterminado`, `bordeado`, `sombreado`, `vidrio`, `gradiente`. |
|
|
40
|
+
| `centrado` | `boolean` | `false` | Centra el contenido en ambos ejes. |
|
|
41
|
+
| `relleno` | `number \| string`| - | Espaciado interno (padding). |
|
|
42
|
+
| `alFlotar` | `object` | - | Opciones de interactividad: `{ elevar, escalar }`. |
|
|
43
|
+
| `validacion`| `Validacion` | - | Feedback visual: `error`, `exito`, `advertencia`, `info`. |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### CodeplexContenedor (Container)
|
|
48
|
+
Centra tu contenido horizontalmente y establece anchos máximos consistentes.
|
|
49
|
+
|
|
50
|
+
**Propiedades (Props):**
|
|
51
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
52
|
+
| :--- | :--- | :--- | :--- |
|
|
53
|
+
| `fluido` | `boolean` | `false` | Elimina el ancho máximo para ocupar el 100%. |
|
|
54
|
+
| `anchoMaximo`| `string \| false` | `'lg'` | Puntos de ruptura de MUI (xs, sm, md, lg, xl). |
|
|
55
|
+
| `paginaCentrada`| `boolean` | `false` | Altura 100vh y contenido centrado. |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### CodeplexPila (Stack)
|
|
60
|
+
Organiza elementos en una dirección (fila o columna) con espaciado uniforme.
|
|
61
|
+
|
|
62
|
+
**Ejemplo de Uso:**
|
|
63
|
+
```tsx
|
|
64
|
+
import { CodeplexPila } from '@codeplex-sac/layout';
|
|
65
|
+
|
|
66
|
+
export const Lista = () => (
|
|
67
|
+
<CodeplexPila direccion="columna" espaciado={2} divisor>
|
|
68
|
+
<div>Item 1</div>
|
|
69
|
+
<div>Item 2</div>
|
|
70
|
+
</CodeplexPila>
|
|
71
|
+
);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Propiedades (Props):**
|
|
75
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
76
|
+
| :--- | :--- | :--- | :--- |
|
|
77
|
+
| `direccion` | `string \| obj` | `'columna'` | `fila`, `columna`, `fila-reversa`, `columna-reversa`. |
|
|
78
|
+
| `espaciado` | `number \| string`| `0` | Factor de multiplicación para el gap. |
|
|
79
|
+
| `divisor` | `boolean \| node` | `false` | Agrega una línea o componente entre cada hijo. |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### CodeplexCuadricula (Grid)
|
|
84
|
+
Sistema de rejilla basado en 12 columnas, ideal para diseños complejos y responsivos.
|
|
85
|
+
|
|
86
|
+
**Propiedades (Props):**
|
|
87
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
88
|
+
| :--- | :--- | :--- | :--- |
|
|
89
|
+
| `contenedor` | `boolean` | `false` | Define el componente como contenedor Grid. |
|
|
90
|
+
| `elemento` | `boolean` | `false` | Define el componente como item Grid. |
|
|
91
|
+
| `espaciado` | `number` | - | Espacio entre columnas (Padding). |
|
|
92
|
+
| `tamano` | `number \| object`| - | Número de columnas (1-12) o breakpoints `{ xs, md }`. |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### CodeplexFila y CodeplexColumna
|
|
97
|
+
Utilidades ligeras basadas en Tailwind CSS para maquetación rápida y flexible.
|
|
98
|
+
|
|
99
|
+
**Ejemplo de Uso:**
|
|
100
|
+
```tsx
|
|
101
|
+
<CodeplexFila justificacion="between" alineacion="center">
|
|
102
|
+
<CodeplexColumna md={6}>Contenido Izquierdo</CodeplexColumna>
|
|
103
|
+
<CodeplexColumna md={6}>Contenido Derecho</CodeplexColumna>
|
|
104
|
+
</CodeplexFila>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 🏛️ Cascarón de Aplicación (Shell)
|
|
110
|
+
|
|
111
|
+
Componentes diseñados para construir la estructura de alto nivel de aplicaciones corporativas.
|
|
112
|
+
|
|
113
|
+
### CodeplexEsqueleto (Standard Scaffold)
|
|
114
|
+
Combina Cabecera, Barra Lateral y Pie de Página en una estructura unificada y lista para usar.
|
|
115
|
+
|
|
116
|
+
**Ejemplo de Uso:**
|
|
117
|
+
```tsx
|
|
118
|
+
import { CodeplexEsqueleto } from '@codeplex-sac/layout';
|
|
119
|
+
|
|
120
|
+
const MENU = [
|
|
121
|
+
{ id: '1', etiqueta: 'Dashboard', icono: <DashboardIcon />, activo: true },
|
|
122
|
+
{ id: '2', etiqueta: 'Usuarios', icono: <PeopleIcon /> }
|
|
123
|
+
];
|
|
124
|
+
|
|
125
|
+
export const MiPantalla = () => (
|
|
126
|
+
<CodeplexEsqueleto menu={MENU} titulo="Admin Panel">
|
|
127
|
+
Contenido principal de la página
|
|
128
|
+
</CodeplexEsqueleto>
|
|
129
|
+
);
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### CodeplexCabecera (Header)
|
|
135
|
+
Barra superior fija con soporte para migas de pan (breadcrumbs), búsqueda y perfil de usuario.
|
|
136
|
+
|
|
137
|
+
**Propiedades (Props):**
|
|
138
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
139
|
+
| :--- | :--- | :--- | :--- |
|
|
140
|
+
| `titulo` | `string` | - | Título principal (si no hay migas de pan). |
|
|
141
|
+
| `migasPan` | `Array<Item>` | - | Lista de niveles con `etiqueta`, `href` y callback. |
|
|
142
|
+
| `usuario` | `object` | - | `{ nombre, rol, avatar }`. |
|
|
143
|
+
| `conteoNotificaciones`| `number`| `0` | Badge sobre el icono de campana. |
|
|
144
|
+
| `alBuscar` | `function` | - | Callback que recibe el texto de búsqueda. |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### CodeplexBarraNavegacion (Navbar)
|
|
149
|
+
Barra de navegación horizontal con soporte para logo, enlaces responsivos y perfil de usuario.
|
|
150
|
+
|
|
151
|
+
**Ejemplo de Uso:**
|
|
152
|
+
```tsx
|
|
153
|
+
<CodeplexBarraNavegacion
|
|
154
|
+
textoLogo="Codeplex"
|
|
155
|
+
enlaces={[
|
|
156
|
+
{ id: '1', etiqueta: 'Inicio', activo: true },
|
|
157
|
+
{ id: '2', etiqueta: 'Servicios', href: '/servicios' }
|
|
158
|
+
]}
|
|
159
|
+
posicion="sticky"
|
|
160
|
+
/>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### CodeplexBarraLateral (Sidebar)
|
|
166
|
+
Navegación vertical avanzada con soporte para submenús, colapsado manual y modo móvil automático.
|
|
167
|
+
|
|
168
|
+
**Propiedades (Props):**
|
|
169
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
170
|
+
| :--- | :--- | :--- | :--- |
|
|
171
|
+
| `elementos` | `Array<Item>` | - | Árbol de navegación con `etiqueta`, `icono`, `hijos`. |
|
|
172
|
+
| `colapsado` | `boolean` | `false` | Estado contraído del sidebar (solo iconos). |
|
|
173
|
+
| `ancho` | `number` | `260` | Ancho del panel expandido. |
|
|
174
|
+
| `alAlternar` | `function` | - | Callback ejecutado al expandir/colapsar. |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### CodeplexPanelLateral (Side Panel / Drawer)
|
|
179
|
+
Panel deslizante para flujos secundarios, disponible en ambos lados y múltiples tamaños.
|
|
180
|
+
|
|
181
|
+
**Propiedades (Props):**
|
|
182
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
183
|
+
| :--- | :--- | :--- | :--- |
|
|
184
|
+
| `abierto` | `boolean` | - | Controla la visibilidad. |
|
|
185
|
+
| `lado` | `string` | `'derecha'` | `'izquierda'` o `'derecha'`. |
|
|
186
|
+
| `tamano` | `string` | `'md'` | `'sm'`, `'md'`, `'lg'`, `'xl'`, `'full'`. |
|
|
187
|
+
| `pie` | `ReactNode` | - | Contenido fijo al final del panel. |
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
### CodeplexPiePagina (Footer)
|
|
192
|
+
Pie de página consistente con soporte para enlaces legales y redes sociales.
|
|
193
|
+
|
|
194
|
+
**Propiedades (Props):**
|
|
195
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
196
|
+
| :--- | :--- | :--- | :--- |
|
|
197
|
+
| `derechosAutor`| `string` | - | Texto de copyright personalizado. |
|
|
198
|
+
| `enlaces` | `Array` | - | Lista de enlaces legales `{ etiqueta, href }`. |
|
|
199
|
+
| `redesSociales`| `object` | - | `{ facebook, twitter, github, linkedin }`. |
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 📦 Contenedores de Contenido
|
|
204
|
+
|
|
205
|
+
### CodeplexAcordeon
|
|
206
|
+
Organiza información en paneles colapsables con animaciones fluidas y múltiples variantes.
|
|
207
|
+
|
|
208
|
+
**Ejemplo de Uso:**
|
|
209
|
+
```tsx
|
|
210
|
+
import { CodeplexAcordeon } from '@codeplex-sac/layout';
|
|
211
|
+
|
|
212
|
+
const DATOS = [
|
|
213
|
+
{ id: '1', titulo: 'Sección 1', contenido: 'Detalle 1', iconoIzquierda: <InfoIcon /> },
|
|
214
|
+
{ id: '2', titulo: 'Sección 2', contenido: 'Detalle 2' }
|
|
215
|
+
];
|
|
216
|
+
|
|
217
|
+
export const Faq = () => (
|
|
218
|
+
<CodeplexAcordeon elementos={DATOS} variante="separado" multiple />
|
|
219
|
+
);
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Propiedades (Props):**
|
|
223
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
224
|
+
| :--- | :--- | :--- | :--- |
|
|
225
|
+
| `elementos` | `Array<Item>` | - | Lista de paneles con `id`, `titulo`, `contenido`. |
|
|
226
|
+
| `variante` | `string` | `'simple'` | `'simple'`, `'bordeado'`, `'separado'`. |
|
|
227
|
+
| `multiple` | `boolean` | `false` | Permite abrir varios paneles a la vez. |
|
|
228
|
+
| `alCambiar` | `function` | - | Callback con los IDs de los items abiertos. |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### CodeplexListaImagenes (Image List)
|
|
233
|
+
Distribuye una colección de imágenes en rejillas optimizadas (estándar, mosaico o mampostería).
|
|
234
|
+
|
|
235
|
+
**Propiedades (Props):**
|
|
236
|
+
| Propiedad | Tipo | Por Defecto | Descripción |
|
|
237
|
+
| :--- | :--- | :--- | :--- |
|
|
238
|
+
| `variante` | `string` | `'estandar'`| `estandar`, `mosaico`, `mamposteria`, `tejido`. |
|
|
239
|
+
| `columnas` | `number` | `2` | Número de columnas en la rejilla. |
|
|
240
|
+
| `espacio` | `number` | `4` | Espacio entre imágenes (px). |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 🎨 Diseño y Consistencia
|
|
245
|
+
|
|
246
|
+
Todos los componentes de `@codeplex-sac/layout` están construidos sobre los cimientos de `@codeplex-sac/theme`. Utilizan tokens de espaciado, elevaciones y colores corporativos para garantizar que la maquetación de tus aplicaciones sea impecable y profesional por defecto.
|
|
247
|
+
|
|
248
|
+
## 📄 Licencia
|
|
249
|
+
|
|
250
|
+
Este proyecto es propiedad privada de **Codeplex SAC**. Todos los derechos reservados.
|
package/index.d.ts
CHANGED