@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 CHANGED
@@ -1,7 +1,250 @@
1
- # layout
1
+ # @codeplex-sac/layout
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
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
- ## Running unit tests
5
+ ## 🚀 Instalación
6
6
 
7
- Run `nx test layout` to execute the unit tests via [Vitest](https://vitest.dev/).
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
@@ -11,3 +11,4 @@ export * from './lib/caja/caja';
11
11
  export * from './lib/cuadricula/cuadricula';
12
12
  export * from './lib/pila/pila';
13
13
  export * from './lib/lista-imagenes/lista-imagenes';
14
+ export * from './lib/esqueleto/esqueleto';