limbo-component 1.0.2 → 1.5.1
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/CHANGELOG.md +48 -10
- package/README.md +63 -33
- package/dist/limbo.cjs.js +5 -5
- package/dist/limbo.cjs.map +1 -1
- package/dist/limbo.css +1 -1
- package/dist/limbo.es.js +2501 -788
- package/dist/limbo.es.map +1 -1
- package/dist/limbo.min.js +6 -6
- package/dist/limbo.min.js.map +1 -1
- package/dist/limbo.umd.js +8 -8
- package/dist/limbo.umd.js.map +1 -1
- package/dist/types/App.d.ts +2 -1
- package/dist/types/App.d.ts.map +1 -1
- package/dist/types/components/CropperView.d.ts +2 -3
- package/dist/types/components/CropperView.d.ts.map +1 -1
- package/dist/types/components/Gallery.d.ts +1 -0
- package/dist/types/components/Gallery.d.ts.map +1 -1
- package/dist/types/components/ImageCard.d.ts +1 -0
- package/dist/types/components/ImageCard.d.ts.map +1 -1
- package/dist/types/components/ImageVariantsModal.d.ts +17 -0
- package/dist/types/components/ImageVariantsModal.d.ts.map +1 -0
- package/dist/types/components/Pagination.d.ts +7 -0
- package/dist/types/components/Pagination.d.ts.map +1 -0
- package/dist/types/components/TabAI.d.ts +2 -2
- package/dist/types/components/TabAI.d.ts.map +1 -1
- package/dist/types/components/TabPortals.d.ts +2 -2
- package/dist/types/components/TabPortals.d.ts.map +1 -1
- package/dist/types/components/TabStock.d.ts +1 -2
- package/dist/types/components/TabStock.d.ts.map +1 -1
- package/dist/types/components/TokenExpiredModal.d.ts +9 -0
- package/dist/types/components/TokenExpiredModal.d.ts.map +1 -0
- package/dist/types/components/UploadForm.d.ts.map +1 -1
- package/dist/types/core/LimboCore.d.ts +4 -0
- package/dist/types/core/LimboCore.d.ts.map +1 -1
- package/dist/types/hooks/useAiServices.d.ts +1 -1
- package/dist/types/hooks/useAiServices.d.ts.map +1 -1
- package/dist/types/hooks/useCreateVariant.d.ts +13 -0
- package/dist/types/hooks/useCreateVariant.d.ts.map +1 -0
- package/dist/types/hooks/useExternalImages.d.ts +9 -1
- package/dist/types/hooks/useExternalImages.d.ts.map +1 -1
- package/dist/types/hooks/useImageParams.d.ts +1 -1
- package/dist/types/hooks/useImageParams.d.ts.map +1 -1
- package/dist/types/hooks/useImageVariants.d.ts +20 -0
- package/dist/types/hooks/useImageVariants.d.ts.map +1 -0
- package/dist/types/hooks/useImages.d.ts +1 -0
- package/dist/types/hooks/useImages.d.ts.map +1 -1
- package/dist/types/hooks/useIsAllowedAll.d.ts.map +1 -1
- package/dist/types/hooks/usePortalSources.d.ts +1 -1
- package/dist/types/hooks/usePortalSources.d.ts.map +1 -1
- package/dist/types/hooks/useStockServices.d.ts +1 -1
- package/dist/types/hooks/useStockServices.d.ts.map +1 -1
- package/dist/types/hooks/useTokenExpiration.d.ts +10 -0
- package/dist/types/hooks/useTokenExpiration.d.ts.map +1 -0
- package/dist/types/services/aiApi.d.ts +4 -2
- package/dist/types/services/aiApi.d.ts.map +1 -1
- package/dist/types/services/apiClient.d.ts +22 -12
- package/dist/types/services/apiClient.d.ts.map +1 -1
- package/dist/types/services/assetsApi.d.ts +13 -6
- package/dist/types/services/assetsApi.d.ts.map +1 -1
- package/dist/types/services/imageParamsApi.d.ts +1 -1
- package/dist/types/services/imageParamsApi.d.ts.map +1 -1
- package/dist/types/services/portalsApi.d.ts +2 -2
- package/dist/types/services/portalsApi.d.ts.map +1 -1
- package/dist/types/services/responseAdapters.d.ts +6 -6
- package/dist/types/services/responseAdapters.d.ts.map +1 -1
- package/dist/types/services/stockApi.d.ts +3 -3
- package/dist/types/services/stockApi.d.ts.map +1 -1
- package/package.json +11 -3
- package/dist/types/services/authService.d.ts +0 -65
- package/dist/types/services/authService.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,26 +5,64 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [1.
|
|
8
|
+
## [1.5.1] - 2025-10-20
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- ⚖️ New license **[Propietary]**
|
|
12
|
+
|
|
13
|
+
## [1.5.0] - 2025-10-20
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- 🛡️ fix external images proxy to retrieve urls
|
|
17
|
+
|
|
18
|
+
## [1.4.0] - 2025-10-19
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- 🆕 New variants menu for images (gestión avanzada de variantes desde la galería)
|
|
22
|
+
|
|
23
|
+
## [1.3.1] - 2025-10-18
|
|
9
24
|
|
|
10
25
|
### Changed
|
|
26
|
+
- ⏳ Token life time up to 3600s (mejora de experiencia de usuario y menos expiraciones)
|
|
11
27
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
28
|
+
## [1.3.0] - 2025-10-17
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- 🛠️ Various fixes and pagination (mejoras en paginación y correcciones menores)
|
|
32
|
+
|
|
33
|
+
## [1.2.0] - 2025-10-16
|
|
16
34
|
|
|
17
35
|
### Fixed
|
|
36
|
+
- 🔧 Fix services calls (mejoras en llamadas a servicios internos)
|
|
37
|
+
|
|
38
|
+
## [1.2.0] - 2025-10-15
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
- 🔧 Fix new cors for localdev and calls to API (mejoras CORS para desarrollo local y llamadas a la API)
|
|
42
|
+
|
|
43
|
+
## [1.1.0] - 2025-10-14
|
|
18
44
|
|
|
19
|
-
|
|
45
|
+
### Added
|
|
20
46
|
|
|
21
|
-
|
|
47
|
+
- 🌐 Integración completa con portales externos (proxy seguro, filtrado de duplicados)
|
|
48
|
+
- 💾 Persistencia de estado en pestaña "Portales" (sessionStorage)
|
|
49
|
+
- 🧩 Compatibilidad total con modos "solo selección" y "cropper-only"
|
|
50
|
+
- 🪄 Mejoras en AutoInputs: configuración granular por dataset, botón de selección personalizable
|
|
51
|
+
- 🛡️ Mejoras de seguridad y CORS en descargas externas
|
|
52
|
+
- 🏷️ Ejemplos de integración avanzada en README
|
|
22
53
|
|
|
23
54
|
### Changed
|
|
24
55
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
56
|
+
- 🖼️ UX mejorada en UploadForm y Tabs (más compacto, accesible, placeholders inteligentes)
|
|
57
|
+
- ♿ Accesibilidad mejorada en navegación por teclado y ARIA
|
|
58
|
+
- 🔄 Refactor de lógica de selección para soportar todos los modos y callbacks
|
|
59
|
+
|
|
60
|
+
### Fixed
|
|
61
|
+
|
|
62
|
+
- 🐞 Corrección de duplicados en resultados de portales externos
|
|
63
|
+
- 🐞 Corrección de pérdida de estado al cambiar de pestaña
|
|
64
|
+
|
|
65
|
+
---
|
|
28
66
|
|
|
29
67
|
## [1.0.0] - 2025-10-13
|
|
30
68
|
|
package/README.md
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
> Componente React altamente configurable para gestión de imágenes en portales web. Incluye galería, subida, recortador, y servicios de IA/Stock.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/limbo-component)
|
|
6
|
-
[](https://opensource.org/licenses/ISC)
|
|
7
7
|
|
|
8
8
|
## 🌟 Características
|
|
9
9
|
|
|
10
|
-
- 🖼️ **Galería completa
|
|
11
|
-
- 📤 **Subida de imágenes
|
|
12
|
-
- ✂️ **Recortador avanzado
|
|
13
|
-
- 🤖 **Integración IA/Stock
|
|
14
|
-
- 🎭 **Múltiples modos
|
|
15
|
-
- 🎯 **Altamente configurable
|
|
16
|
-
- 🔐 **Seguro
|
|
17
|
-
- 📦 **Multi-formato
|
|
18
|
-
- 🌍 **Internacionalización
|
|
19
|
-
- ♿ **Accesible
|
|
20
|
-
- 📱 **Responsive
|
|
10
|
+
- 🖼️ **Galería completa**: Navega y selecciona imágenes del portal o portales externos (con proxy y filtrado de duplicados)
|
|
11
|
+
- 📤 **Subida de imágenes**: Con preview, validación y persistencia de estado
|
|
12
|
+
- ✂️ **Recortador avanzado**: Basado en Cropper.js 2.0 con presets y modos independientes
|
|
13
|
+
- 🤖 **Integración IA/Stock**: Generación y búsqueda de imágenes con tabs especializadas
|
|
14
|
+
- 🎭 **Múltiples modos**: Embed, modal, botón trigger, solo selección, cropper-only, gallery-only, etc.
|
|
15
|
+
- 🎯 **Altamente configurable**: Por portal, instancia, dataset HTML o JS
|
|
16
|
+
- 🔐 **Seguro**: Autenticación JWT v2, CORS dinámico
|
|
17
|
+
- 📦 **Multi-formato**: ESM, CJS, UMD (con React incluido)
|
|
18
|
+
- 🌍 **Internacionalización**: ES/EN incluidos
|
|
19
|
+
- ♿ **Accesible**: ARIA, teclado, focus trap
|
|
20
|
+
- 📱 **Responsive**: Mobile-friendly con container queries
|
|
21
21
|
|
|
22
22
|
## 📦 Instalación
|
|
23
23
|
|
|
@@ -93,59 +93,89 @@ Limbo.create({
|
|
|
93
93
|
</html>
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
### AutoInputs (Integración automática)
|
|
96
|
+
### AutoInputs (Integración automática y selección directa)
|
|
97
97
|
|
|
98
98
|
```html
|
|
99
|
-
<!--
|
|
99
|
+
<!-- Configuración global -->
|
|
100
100
|
<script>
|
|
101
101
|
Limbo.configure({ apiKey: 'your-api-key' });
|
|
102
102
|
Limbo.configureAutoInputs({
|
|
103
103
|
dataset: 'data-limbo-input-file',
|
|
104
|
-
returnType: 'url'
|
|
104
|
+
returnType: 'url', // o 'object', 'base64', etc.
|
|
105
|
+
allowDelete: false, // Ejemplo: solo selección
|
|
106
|
+
features: ['gallery'], // Solo galería y selección
|
|
107
|
+
modeUI: 'gallery-only',
|
|
108
|
+
buttonText: 'Seleccionar imagen',
|
|
105
109
|
});
|
|
106
110
|
</script>
|
|
107
111
|
|
|
108
|
-
<!-- Usar en múltiples inputs -->
|
|
112
|
+
<!-- Usar en múltiples inputs, sin JS adicional -->
|
|
109
113
|
<input
|
|
110
114
|
type="hidden"
|
|
111
115
|
name="avatar"
|
|
112
116
|
data-limbo-input-file
|
|
113
117
|
data-limbo-mode="modal"
|
|
114
|
-
data-limbo-features="gallery
|
|
118
|
+
data-limbo-features="gallery"
|
|
119
|
+
data-limbo-button-text="Seleccionar avatar"
|
|
120
|
+
/>
|
|
121
|
+
<input
|
|
122
|
+
type="hidden"
|
|
123
|
+
name="banner"
|
|
124
|
+
data-limbo-input-file
|
|
125
|
+
data-limbo-mode="modal"
|
|
126
|
+
data-limbo-features="gallery,cropper"
|
|
127
|
+
data-limbo-button-text="Seleccionar banner"
|
|
115
128
|
/>
|
|
116
129
|
```
|
|
117
130
|
|
|
118
|
-
## ⚙️ Configuración
|
|
131
|
+
## ⚙️ Configuración avanzada y granular
|
|
119
132
|
|
|
120
133
|
```javascript
|
|
134
|
+
// Ejemplo: solo selección, sin subida ni recorte
|
|
121
135
|
Limbo.create({
|
|
122
|
-
container: '#
|
|
123
|
-
mode: 'embed',
|
|
124
|
-
modeUI: '
|
|
125
|
-
|
|
126
|
-
|
|
136
|
+
container: '#solo-seleccion',
|
|
137
|
+
mode: 'embed',
|
|
138
|
+
modeUI: 'gallery-only',
|
|
139
|
+
features: ['gallery'],
|
|
140
|
+
ui: {
|
|
141
|
+
showActions: ['select'],
|
|
142
|
+
hideActions: ['delete', 'download', 'copy', 'crop'],
|
|
143
|
+
compactMode: true,
|
|
144
|
+
showTabs: false,
|
|
145
|
+
},
|
|
127
146
|
callbacks: {
|
|
128
|
-
onSelect: (payload) =>
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
147
|
+
onSelect: (payload) => {
|
|
148
|
+
// payload: { assetId, url, fileName, ... }
|
|
149
|
+
console.log('Imagen seleccionada:', payload);
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// Ejemplo: modo cropper-only
|
|
155
|
+
Limbo.create({
|
|
156
|
+
container: '#cropper',
|
|
157
|
+
mode: 'modal',
|
|
158
|
+
modeUI: 'crop-only',
|
|
159
|
+
features: ['cropper'],
|
|
160
|
+
// ...
|
|
132
161
|
});
|
|
133
162
|
```
|
|
134
163
|
|
|
135
|
-
## 📡 Eventos
|
|
164
|
+
## 📡 Eventos y persistencia de estado
|
|
136
165
|
|
|
137
166
|
```javascript
|
|
138
167
|
document.addEventListener('limbo:select', (e) => {
|
|
139
|
-
console.log('
|
|
140
|
-
// e.detail
|
|
168
|
+
console.log('Imagen seleccionada:', e.detail);
|
|
169
|
+
// e.detail: { assetId, url, fileName, ... }
|
|
141
170
|
});
|
|
171
|
+
|
|
172
|
+
// El componente persiste el estado de búsqueda, selección y resultados
|
|
173
|
+
// en sessionStorage para evitar perder datos al cambiar de pestaña.
|
|
142
174
|
```
|
|
143
175
|
|
|
144
176
|
## 📄 Licencia
|
|
145
177
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
Este software es propiedad de Lefebvre El Derecho, S.A. y su uso está restringido exclusivamente a proyectos autorizados de la empresa. Ver [LICENSE](./LICENSE) para más detalles.
|
|
178
|
+
ISC © LefebvreWEB
|
|
149
179
|
|
|
150
180
|
## 🔗 Links
|
|
151
181
|
|