limbo-component 4.2.4 → 4.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.jsx"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAyrBC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.jsx"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA2tBC"}
@@ -1,4 +1,4 @@
1
- export default function Gallery({ onSelect, onCrop, onDelete, deletingId, images, loading, error, filters, debouncedFilters, onFiltersChange, filterConfig, loadingConfig, allowedActions, allowedCategories, resolvedAccept, folderConfig, onFolderChange, onRename, onEdit, }: {
1
+ export default function Gallery({ onSelect, onCrop, onDelete, deletingId, images, loading, error, filters, debouncedFilters, onFiltersChange, filterConfig, loadingConfig, allowedActions, allowedCategories, resolvedAccept, folderConfig, onFolderChange, onRename, onEdit, selfPortal, crossPortalReadAccess, }: {
2
2
  onSelect: any;
3
3
  onCrop: any;
4
4
  onDelete: any;
@@ -13,6 +13,8 @@ export default function Gallery({ onSelect, onCrop, onDelete, deletingId, images
13
13
  uploadedBy: string;
14
14
  assetType: string;
15
15
  folder: string;
16
+ tags: any[];
17
+ includePortals: any[];
16
18
  };
17
19
  debouncedFilters?: any;
18
20
  onFiltersChange: any;
@@ -41,5 +43,7 @@ export default function Gallery({ onSelect, onCrop, onDelete, deletingId, images
41
43
  onFolderChange?: any;
42
44
  onRename?: any;
43
45
  onEdit?: any;
46
+ selfPortal?: any;
47
+ crossPortalReadAccess?: any[];
44
48
  }): import("react/jsx-runtime").JSX.Element;
45
49
  //# sourceMappingURL=Gallery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../../src/components/Gallery.jsx"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAmbC"}
1
+ {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../../src/components/Gallery.jsx"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAqhBC"}
@@ -3,7 +3,7 @@
3
3
  * Extrae el bloque JSX de App.jsx (activeTab === "gallery") al componente.
4
4
  * REFACT-05: Extraído literalmente de App.jsx ~1012-1076.
5
5
  */
6
- export default function GalleryTab({ onSelect, onCrop, onDelete, onFolderChange, onRename, onEdit, onPageChange, onFiltersChange, images, loadingImages, imagesError, deleting, uploadedImage, pagination, currentPage, galleryFilters, debouncedFilters, allowedActions, resolvedAccept, allowedCategories, folderConfig, filterConfig, loadingConfig, resetUpload, }: {
6
+ export default function GalleryTab({ onSelect, onCrop, onDelete, onFolderChange, onRename, onEdit, onPageChange, onFiltersChange, images, loadingImages, imagesError, deleting, uploadedImage, pagination, currentPage, galleryFilters, debouncedFilters, allowedActions, resolvedAccept, allowedCategories, folderConfig, filterConfig, loadingConfig, resetUpload, selfPortal, crossPortalReadAccess, }: {
7
7
  onSelect: any;
8
8
  onCrop: any;
9
9
  onDelete: any;
@@ -28,5 +28,7 @@ export default function GalleryTab({ onSelect, onCrop, onDelete, onFolderChange,
28
28
  filterConfig: any;
29
29
  loadingConfig: any;
30
30
  resetUpload: any;
31
+ selfPortal: any;
32
+ crossPortalReadAccess: any;
31
33
  }): import("react/jsx-runtime").JSX.Element;
32
34
  //# sourceMappingURL=GalleryTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryTab.d.ts","sourceRoot":"","sources":["../../../../src/components/GalleryTab.jsx"],"names":[],"mappings":"AAMA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;4CAyEC"}
1
+ {"version":3,"file":"GalleryTab.d.ts","sourceRoot":"","sources":["../../../../src/components/GalleryTab.jsx"],"names":[],"mappings":"AAMA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA8EC"}
@@ -1,6 +1,6 @@
1
1
  declare const _default: React.MemoExoticComponent<typeof ImageCard>;
2
2
  export default _default;
3
- declare function ImageCard({ image, onDelete, onCrop, onSelect, onFolderChange, thumbnailSize, isDeleting, showFolderInfo, allowMoveFolder, allowedFolderSlugs, excludedFolderSlugs, allowCreateFolder, allowedActions, onEdit, }: {
3
+ declare function ImageCard({ image, onDelete, onCrop, onSelect, onFolderChange, thumbnailSize, isDeleting, showFolderInfo, allowMoveFolder, allowedFolderSlugs, excludedFolderSlugs, allowCreateFolder, allowedActions, onEdit, isCrossPortal, sourcePortalLabel, }: {
4
4
  image: any;
5
5
  onDelete: any;
6
6
  onCrop: any;
@@ -23,6 +23,8 @@ declare function ImageCard({ image, onDelete, onCrop, onSelect, onFolderChange,
23
23
  rename: boolean;
24
24
  };
25
25
  onEdit?: any;
26
+ isCrossPortal?: boolean;
27
+ sourcePortalLabel?: any;
26
28
  }): import("react/jsx-runtime").JSX.Element;
27
29
  import React from "react";
28
30
  //# sourceMappingURL=ImageCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ImageCard.jsx"],"names":[],"mappings":";;AAqHA;;;;;;;;;;;;;;;;;;;;;;;4CAk7BC;kBAviCwE,OAAO"}
1
+ {"version":3,"file":"ImageCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ImageCard.jsx"],"names":[],"mappings":";;AAqHA;;;;;;;;;;;;;;;;;;;;;;;;;4CAu8BC;kBA5jCwE,OAAO"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * useCrossPortalAccess — Capacidades cross-portal del portal autenticado (v4.3)
3
+ *
4
+ * Llama a GET /api/portals/me/cross-portal-access al inicializar el componente
5
+ * para saber si mostrar el selector de portales en la galería.
6
+ *
7
+ * @param {boolean} enabled - Solo consulta si la galería está activa
8
+ * @returns {{
9
+ * selfPortal: {slug: string, label: string}|null,
10
+ * readAccess: Array<{slug: string, label: string, assetCount: number}>,
11
+ * loading: boolean
12
+ * }}
13
+ */
14
+ export default function useCrossPortalAccess(enabled?: boolean): {
15
+ selfPortal: {
16
+ slug: string;
17
+ label: string;
18
+ } | null;
19
+ readAccess: Array<{
20
+ slug: string;
21
+ label: string;
22
+ assetCount: number;
23
+ }>;
24
+ loading: boolean;
25
+ };
26
+ //# sourceMappingURL=useCrossPortalAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCrossPortalAccess.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCrossPortalAccess.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,uDAPW,OAAO,GACL;IACR,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAC,IAAI,CAAC;IAC/C,UAAU,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACrE,OAAO,EAAE,OAAO,CAAA;CACjB,CAuCH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGalleryActions.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGalleryActions.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,4MAdG;IAA+C,YAAY,EAAnD,qCAAgC;IACjB,SAAS;IACT,cAAc;IACd,eAAe;IACf,eAAe;IAClB,MAAM;IACH,SAAS;IACT,cAAc;IACrB,aAAa,EAArB,GAAC;IACc,gBAAgB;IAChB,YAAY;CAEnC,GAAU;IAAE,YAAY,MAAC;IAAC,uBAAuB,MAAC;IAAC,iBAAiB,MAAC;IAAC,oBAAoB,MAAA;CAAE,CA2I9F"}
1
+ {"version":3,"file":"useGalleryActions.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGalleryActions.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,4MAdG;IAA+C,YAAY,EAAnD,qCAAgC;IACjB,SAAS;IACT,cAAc;IACd,eAAe;IACf,eAAe;IAClB,MAAM;IACH,SAAS;IACT,cAAc;IACrB,aAAa,EAArB,GAAC;IACc,gBAAgB;IAChB,YAAY;CAEnC,GAAU;IAAE,YAAY,MAAC;IAAC,uBAAuB,MAAC;IAAC,iBAAiB,MAAC;IAAC,oBAAoB,MAAA;CAAE,CA4I9F"}
@@ -1,9 +1,19 @@
1
1
  /**
2
2
  * Lista assets del portal
3
+ * Maps to: GET /api/assets
4
+ *
3
5
  * @param {Object} params - Parámetros de filtrado (page, limit, url_expires, etc.)
4
- * @returns {Promise<Object>} Lista de assets en formato legacy
6
+ * @param {string} [params.q] - Búsqueda unificada en nombre Y tags (OR) (v4.2)
7
+ * @param {string} [params.tags] - CSV de tags — AND estricto: el asset debe tener todos (v4.2)
8
+ * @param {string} [params.include_portals] - CSV de slugs de portales externos autorizados (v4.3).
9
+ * No combinable con filtros de carpeta (la API responde 400 invalid_parameter_combination).
10
+ * @returns {Promise<Object>} Lista de assets en formato legacy (cada asset incluye sourcePortal)
5
11
  */
6
- export function listAssets(params?: any): Promise<any>;
12
+ export function listAssets(params?: {
13
+ q?: string;
14
+ tags?: string;
15
+ include_portals?: string;
16
+ }): Promise<any>;
7
17
  /**
8
18
  * Upload new asset
9
19
  * Maps to: POST /api/assets
@@ -34,22 +44,26 @@ export function listTags({ search, limit }?: any): Promise<any>;
34
44
  */
35
45
  export function getAsset(assetId: string, includeVariants?: boolean, includeMetadata?: boolean, urlExpires?: number): Promise<any>;
36
46
  /**
37
- * Update asset metadata
47
+ * Update asset metadata (partial update)
38
48
  * Maps to: PATCH /api/assets/{id}
39
49
  *
50
+ * Semántica partial update (contrato v3.4.0): cada campo es independiente —
51
+ * enviar solo { tags } no toca el name y viceversa. tags es reemplazo total
52
+ * ([] elimina todos los tags).
53
+ *
40
54
  * @param {string} assetId - Asset ID
41
55
  * @param {Object} data - Data to update
42
- * @param {string} data.filename - New filename (optional)
43
- * @param {string} data.folder - Folder slug or ID (optional, use null to remove from folder)
44
- * @param {string} data.alt_text - Alt text (optional)
45
- * @param {Object} data.custom_metadata - Custom metadata (optional)
56
+ * @param {string} data.name - New filename (optional)
57
+ * @param {string[]|string} data.tags - Tags (array o CSV; reemplaza la lista completa) (optional)
58
+ * @param {string|null} data.folder - Folder slug (optional, null desvincula de carpeta)
59
+ * @param {Object} data.metadata - Metadata (se mergea con la existente) (optional)
46
60
  * @returns {Promise<Object>} Updated asset
47
61
  */
48
62
  export function updateAsset(assetId: string, data: {
49
- filename: string;
50
- folder: string;
51
- alt_text: string;
52
- custom_metadata: any;
63
+ name: string;
64
+ tags: string[] | string;
65
+ folder: string | null;
66
+ metadata: any;
53
67
  }): Promise<any>;
54
68
  /**
55
69
  * Delete asset (soft delete)
@@ -1 +1 @@
1
- {"version":3,"file":"assetsApi.d.ts","sourceRoot":"","sources":["../../../../src/services/assetsApi.js"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,0CAFa,OAAO,KAAQ,CAuB3B;AAED;;;;;;;;;GASG;AACH,kCANW,IAAI,gBACJ,MAAM,GAAC,IAAI,mBACX,OAAO,WACP,MAAM,GAAC,IAAI,SACX,MAAM,EAAE,GAAC,IAAI,gBA0BvB;AAED;;;;;;GAMG;AACH,mDAFa,OAAO,KAAQ,CAoB3B;AAED;;;;;;;;GAQG;AACH,kCALW,MAAM,oBACN,OAAO,oBACP,OAAO,eACP,MAAM,gBAqBhB;AAED;;;;;;;;;;;GAWG;AACH,qCARW,MAAM,QAEd;IAAqB,QAAQ,EAArB,MAAM;IACO,MAAM,EAAnB,MAAM;IACO,QAAQ,EAArB,MAAM;IACO,eAAe;CACpC,GAAU,OAAO,KAAQ,CAgB3B;AAED;;;GAGG;AACH,wDAaC;AAED;;;GAGG;AACH;;;;;;;;iBAuCC;AAED;;;;;;GAMG;AACH,sCAHW,MAAM,eACN,MAAM,gBAqBhB;AAED;;;GAGG;AACH,0EAaC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,2CAVW,MAAM,QACN,IAAI,YAEZ;IAAwB,IAAI,EAApB,MAAM;IACU,KAAK,EAArB,MAAM;IACU,MAAM,EAAtB,MAAM;IACU,MAAM,EAAtB,MAAM;IACW,YAAY,EAA7B,OAAO;CACf,GAAU,OAAO,KAAQ,CAiC3B;AAKD;;;GAGG;AACH,6DAGC;AAED;;;GAGG;AACH,+EAGC"}
1
+ {"version":3,"file":"assetsApi.d.ts","sourceRoot":"","sources":["../../../../src/services/assetsApi.js"],"names":[],"mappings":"AAmBA;;;;;;;;;;GAUG;AACH,oCANG;IAAwB,CAAC,GAAjB,MAAM;IACU,IAAI,GAApB,MAAM;IACU,eAAe,GAA/B,MAAM;CAEd,GAAU,OAAO,KAAQ,CAuB3B;AAED;;;;;;;;;GASG;AACH,kCANW,IAAI,gBACJ,MAAM,GAAC,IAAI,mBACX,OAAO,WACP,MAAM,GAAC,IAAI,SACX,MAAM,EAAE,GAAC,IAAI,gBA0BvB;AAED;;;;;;GAMG;AACH,mDAFa,OAAO,KAAQ,CAoB3B;AAED;;;;;;;;GAQG;AACH,kCALW,MAAM,oBACN,OAAO,oBACP,OAAO,eACP,MAAM,gBAqBhB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qCARW,MAAM,QAEd;IAAqB,IAAI,EAAjB,MAAM;IACgB,IAAI,EAA1B,MAAM,EAAE,GAAC,MAAM;IACG,MAAM,EAAxB,MAAM,GAAC,IAAI;IACE,QAAQ;CAC7B,GAAU,OAAO,KAAQ,CA0B3B;AAED;;;GAGG;AACH,wDAaC;AAED;;;GAGG;AACH;;;;;;;;iBAuCC;AAED;;;;;;GAMG;AACH,sCAHW,MAAM,eACN,MAAM,gBAqBhB;AAED;;;GAGG;AACH,0EAaC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,2CAVW,MAAM,QACN,IAAI,YAEZ;IAAwB,IAAI,EAApB,MAAM;IACU,KAAK,EAArB,MAAM;IACU,MAAM,EAAtB,MAAM;IACU,MAAM,EAAtB,MAAM;IACW,YAAY,EAA7B,OAAO;CACf,GAAU,OAAO,KAAQ,CAiC3B;AAKD;;;GAGG;AACH,6DAGC;AAED;;;GAGG;AACH,+EAGC"}
@@ -67,6 +67,25 @@ export function getPortalMedia(params: {
67
67
  search: string;
68
68
  order: string;
69
69
  }, prod?: boolean): Promise<any>;
70
+ /**
71
+ * Obtiene las capacidades cross-portal del portal autenticado (v4.3)
72
+ * Endpoint: GET /api/portals/me/cross-portal-access
73
+ *
74
+ * @returns {Promise<{selfPortal: {slug: string, label: string}|null, readAccess: Array<{slug: string, label: string, assetCount: number}>}>}
75
+ * selfPortal del portal autenticado y lista de portales externos con acceso de lectura.
76
+ * readAccess es [] si no hay acceso cross-portal configurado.
77
+ */
78
+ export function getCrossPortalAccess(): Promise<{
79
+ selfPortal: {
80
+ slug: string;
81
+ label: string;
82
+ } | null;
83
+ readAccess: Array<{
84
+ slug: string;
85
+ label: string;
86
+ assetCount: number;
87
+ }>;
88
+ }>;
70
89
  export function getExternalImageSources(prod?: boolean): Promise<any>;
71
90
  export function getExternalImages(params: any, prod?: boolean): Promise<any>;
72
91
  //# sourceMappingURL=portalsApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portalsApi.d.ts","sourceRoot":"","sources":["../../../../src/services/portalsApi.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,0CAHW,OAAO,eACP,OAAO,gBAYjB;AAED;;;;;;;;;;;;;;GAcG;AACH,+CAVG;IAAuB,MAAM,EAArB,MAAM;IACW,OAAO,EAAxB,MAAM,EAAE;IACO,YAAY,EAA3B,MAAM;IACS,CAAC,EAAhB,MAAM;IACU,SAAS,EAAzB,OAAO;IACQ,KAAK,EAApB,MAAM;IACS,MAAM,EAArB,MAAM;IACS,IAAI,EAAnB,MAAM;CACd,SAAQ,OAAO,gBA4CjB;AAED;;;GAGG;AACH,iFAOC;AAED;;;GAGG;AACH,kFAOC;AAED;;;GAGG;AACH,+EAOC;AAED;;;;;;;;;;;;GAYG;AACH,uCARG;IAAuB,MAAM,EAArB,MAAM;IACS,UAAU,EAAzB,MAAM;IACS,IAAI,EAAnB,MAAM;IACS,QAAQ,EAAvB,MAAM;IACS,MAAM,EAArB,MAAM;IACS,KAAK,EAApB,MAAM;CACd,SAAQ,OAAO,gBAiBjB;AAGD,sEAEC;AAGD,6EAEC"}
1
+ {"version":3,"file":"portalsApi.d.ts","sourceRoot":"","sources":["../../../../src/services/portalsApi.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,0CAHW,OAAO,eACP,OAAO,gBAYjB;AAED;;;;;;;;;;;;;;GAcG;AACH,+CAVG;IAAuB,MAAM,EAArB,MAAM;IACW,OAAO,EAAxB,MAAM,EAAE;IACO,YAAY,EAA3B,MAAM;IACS,CAAC,EAAhB,MAAM;IACU,SAAS,EAAzB,OAAO;IACQ,KAAK,EAApB,MAAM;IACS,MAAM,EAArB,MAAM;IACS,IAAI,EAAnB,MAAM;CACd,SAAQ,OAAO,gBA4CjB;AAED;;;GAGG;AACH,iFAOC;AAED;;;GAGG;AACH,kFAOC;AAED;;;GAGG;AACH,+EAOC;AAED;;;;;;;;;;;;GAYG;AACH,uCARG;IAAuB,MAAM,EAArB,MAAM;IACS,UAAU,EAAzB,MAAM;IACS,IAAI,EAAnB,MAAM;IACS,QAAQ,EAAvB,MAAM;IACS,MAAM,EAArB,MAAM;IACS,KAAK,EAApB,MAAM;CACd,SAAQ,OAAO,gBAiBjB;AAED;;;;;;;GAOG;AACH,wCAJa,OAAO,CAAC;IAAC,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAC,IAAI,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAAC,CAiB3I;AAGD,sEAEC;AAGD,6EAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"responseAdapters.d.ts","sourceRoot":"","sources":["../../../../src/services/responseAdapters.js"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,uDAiDC;AAED;;;;GAIG;AACH,4DAwDC;AAED;;;;GAIG;AACH,8DAiCC;AAED;;;;GAIG;AACH,8DAkBC;AAED;;;;GAIG;AACH,wDAiDC;AAED;;;;GAIG;AACH,mEAuEC;AAED;;;;GAIG;AACH,6DAqBC;AAED;;;;GAIG;AACH,wDAoBC;AAED;;;;GAIG;AACH,wCAHW,KAAK,GACH,KAAK,CAkBjB"}
1
+ {"version":3,"file":"responseAdapters.d.ts","sourceRoot":"","sources":["../../../../src/services/responseAdapters.js"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,uDAoDC;AAED;;;;GAIG;AACH,4DAqEC;AAED;;;;GAIG;AACH,8DAiCC;AAED;;;;GAIG;AACH,8DAkBC;AAED;;;;GAIG;AACH,wDAoDC;AAED;;;;GAIG;AACH,mEAuEC;AAED;;;;GAIG;AACH,6DAqBC;AAED;;;;GAIG;AACH,wDAoBC;AAED;;;;GAIG;AACH,wCAHW,KAAK,GACH,KAAK,CAkBjB"}
@@ -87,6 +87,12 @@ export class I18n {
87
87
  "tags.section.label": string;
88
88
  "tags.search.placeholder": string;
89
89
  "tags.pill.ariaDelete": string;
90
+ "tags.filter.label": string;
91
+ "tags.filter.placeholder": string;
92
+ "tags.filter.ariaLabel": string;
93
+ "crossPortal.filter.label": string;
94
+ "crossPortal.filter.optionTitle": string;
95
+ "crossPortal.badge.title": string;
90
96
  "editAssetModal.title": string;
91
97
  "editAssetModal.nameLabel": string;
92
98
  "editAssetModal.close": string;
@@ -169,6 +175,12 @@ export class I18n {
169
175
  "tags.section.label": string;
170
176
  "tags.search.placeholder": string;
171
177
  "tags.pill.ariaDelete": string;
178
+ "tags.filter.label": string;
179
+ "tags.filter.placeholder": string;
180
+ "tags.filter.ariaLabel": string;
181
+ "crossPortal.filter.label": string;
182
+ "crossPortal.filter.optionTitle": string;
183
+ "crossPortal.badge.title": string;
172
184
  "editAssetModal.title": string;
173
185
  "editAssetModal.nameLabel": string;
174
186
  "editAssetModal.close": string;
@@ -202,6 +214,12 @@ export class I18n {
202
214
  "tags.section.label": string;
203
215
  "tags.search.placeholder": string;
204
216
  "tags.pill.ariaDelete": string;
217
+ "tags.filter.label": string;
218
+ "tags.filter.placeholder": string;
219
+ "tags.filter.ariaLabel": string;
220
+ "crossPortal.filter.label": string;
221
+ "crossPortal.filter.optionTitle": string;
222
+ "crossPortal.badge.title": string;
205
223
  "editAssetModal.title": string;
206
224
  "editAssetModal.nameLabel": string;
207
225
  "editAssetModal.close": string;
@@ -235,6 +253,12 @@ export class I18n {
235
253
  "tags.section.label": string;
236
254
  "tags.search.placeholder": string;
237
255
  "tags.pill.ariaDelete": string;
256
+ "tags.filter.label": string;
257
+ "tags.filter.placeholder": string;
258
+ "tags.filter.ariaLabel": string;
259
+ "crossPortal.filter.label": string;
260
+ "crossPortal.filter.optionTitle": string;
261
+ "crossPortal.badge.title": string;
238
262
  "editAssetModal.title": string;
239
263
  "editAssetModal.nameLabel": string;
240
264
  "editAssetModal.close": string;
@@ -322,6 +346,12 @@ export class I18n {
322
346
  "tags.section.label": string;
323
347
  "tags.search.placeholder": string;
324
348
  "tags.pill.ariaDelete": string;
349
+ "tags.filter.label": string;
350
+ "tags.filter.placeholder": string;
351
+ "tags.filter.ariaLabel": string;
352
+ "crossPortal.filter.label": string;
353
+ "crossPortal.filter.optionTitle": string;
354
+ "crossPortal.badge.title": string;
325
355
  "editAssetModal.title": string;
326
356
  "editAssetModal.nameLabel": string;
327
357
  "editAssetModal.close": string;
@@ -404,6 +434,12 @@ export class I18n {
404
434
  "tags.section.label": string;
405
435
  "tags.search.placeholder": string;
406
436
  "tags.pill.ariaDelete": string;
437
+ "tags.filter.label": string;
438
+ "tags.filter.placeholder": string;
439
+ "tags.filter.ariaLabel": string;
440
+ "crossPortal.filter.label": string;
441
+ "crossPortal.filter.optionTitle": string;
442
+ "crossPortal.badge.title": string;
407
443
  "editAssetModal.title": string;
408
444
  "editAssetModal.nameLabel": string;
409
445
  "editAssetModal.close": string;
@@ -437,6 +473,12 @@ export class I18n {
437
473
  "tags.section.label": string;
438
474
  "tags.search.placeholder": string;
439
475
  "tags.pill.ariaDelete": string;
476
+ "tags.filter.label": string;
477
+ "tags.filter.placeholder": string;
478
+ "tags.filter.ariaLabel": string;
479
+ "crossPortal.filter.label": string;
480
+ "crossPortal.filter.optionTitle": string;
481
+ "crossPortal.badge.title": string;
440
482
  "editAssetModal.title": string;
441
483
  "editAssetModal.nameLabel": string;
442
484
  "editAssetModal.close": string;
@@ -470,6 +512,12 @@ export class I18n {
470
512
  "tags.section.label": string;
471
513
  "tags.search.placeholder": string;
472
514
  "tags.pill.ariaDelete": string;
515
+ "tags.filter.label": string;
516
+ "tags.filter.placeholder": string;
517
+ "tags.filter.ariaLabel": string;
518
+ "crossPortal.filter.label": string;
519
+ "crossPortal.filter.optionTitle": string;
520
+ "crossPortal.badge.title": string;
473
521
  "editAssetModal.title": string;
474
522
  "editAssetModal.nameLabel": string;
475
523
  "editAssetModal.close": string;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n.js"],"names":[],"mappings":"AA4YA;;GAEG;AACH,8CAEC;AAED;;GAEG;AACH,2CAMC;AA1GD;;GAEG;AACH;IACE,kDAGC;IAFC,eAAoB;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAmD;IAGrD;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYC;IAED;;OAEG;IACH,8BAUC;IAED;;OAEG;IACH,6BAMC;IAED;;OAEG;IACH,oBAEC;IAED;;OAEG;IACH,gCAEC;IAED;;OAEG;IACH,8CAKC;IAED;;OAEG;IACH,0BAGC;CACF;AAED;;GAEG;AACH,+BAAsC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n.js"],"names":[],"mappings":"AAobA;;GAEG;AACH,8CAEC;AAED;;GAEG;AACH,2CAMC;AA1GD;;GAEG;AACH;IACE,kDAGC;IAFC,eAAoB;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAmD;IAGrD;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYC;IAED;;OAEG;IACH,8BAUC;IAED;;OAEG;IACH,6BAMC;IAED;;OAEG;IACH,oBAEC;IAED;;OAEG;IACH,gCAEC;IAED;;OAEG;IACH,8CAKC;IAED;;OAEG;IACH,0BAGC;CACF;AAED;;GAEG;AACH,+BAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "limbo-component",
3
- "version": "4.2.4",
3
+ "version": "4.4.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Limbo - Highly configurable React image manager component for web portals",
@@ -73,31 +73,31 @@
73
73
  },
74
74
  "devDependencies": {
75
75
  "@eslint/js": "9.33.0",
76
- "@tailwindcss/vite": "4.1.12",
77
- "@testing-library/jest-dom": "^6.9.1",
78
- "@testing-library/react": "^16.3.2",
79
- "@testing-library/user-event": "^14.6.1",
76
+ "@tailwindcss/vite": "4.3.1",
77
+ "@testing-library/jest-dom": "6.9.1",
78
+ "@testing-library/react": "16.3.2",
79
+ "@testing-library/user-event": "14.6.1",
80
80
  "@types/node": "24.5.2",
81
81
  "@types/react": "19.2.14",
82
82
  "@types/react-dom": "19.2.3",
83
83
  "@vitejs/plugin-react": "5.2.0",
84
- "@vitest/coverage-v8": "^4.1.5",
84
+ "@vitest/coverage-v8": "4.1.5",
85
85
  "baseline-browser-mapping": "2.10.8",
86
86
  "eslint": "9.39.4",
87
- "eslint-plugin-jsx-a11y": "^6.10.2",
87
+ "eslint-plugin-jsx-a11y": "6.10.2",
88
88
  "eslint-plugin-react-hooks": "5.2.0",
89
89
  "eslint-plugin-react-refresh": "0.4.26",
90
90
  "globals": "16.5.0",
91
- "jest-axe": "^10.0.0",
92
- "jsdom": "^29.1.1",
93
- "msw": "^2.14.3",
91
+ "jest-axe": "10.0.0",
92
+ "jsdom": "29.1.1",
93
+ "msw": "2.14.3",
94
94
  "react": "19.2.3",
95
95
  "react-dom": "19.2.3",
96
96
  "tailwindcss": "4.1.12",
97
97
  "terser": "5.46.1",
98
98
  "typescript": "5.9.3",
99
- "vite": "7.3.2",
100
- "vitest": "^4.1.5"
99
+ "vite": "8.0.16",
100
+ "vitest": "4.1.5"
101
101
  },
102
102
  "overrides": {
103
103
  "picomatch": "^4.0.4",