@bebranded/bb-contents 1.0.109 → 1.0.110
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/bb-contents.js +35 -33
- package/package.json +1 -1
package/bb-contents.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BeBranded Contents
|
|
3
3
|
* Contenus additionnels français pour Webflow
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.110
|
|
5
5
|
* @author BeBranded
|
|
6
6
|
* @license MIT
|
|
7
7
|
* @website https://www.bebranded.xyz
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
window._bbContentsInitialized = true;
|
|
33
33
|
|
|
34
34
|
// Log de démarrage simple (une seule fois)
|
|
35
|
-
console.log('bb-contents | v1.0.
|
|
35
|
+
console.log('bb-contents | v1.0.110');
|
|
36
36
|
|
|
37
37
|
// Configuration
|
|
38
38
|
const config = {
|
|
39
|
-
version: '1.0.
|
|
39
|
+
version: '1.0.110',
|
|
40
40
|
debug: false, // Debug désactivé pour rendu propre
|
|
41
41
|
prefix: 'bb-', // utilisé pour générer les sélecteurs (data-bb-*)
|
|
42
42
|
youtubeEndpoint: null, // URL du worker YouTube (à définir par l'utilisateur)
|
|
@@ -478,46 +478,48 @@
|
|
|
478
478
|
// Détecter si c'est un SVG (par l'extension du src ou le type)
|
|
479
479
|
const isSVG = img.src && (img.src.toLowerCase().endsWith('.svg') || img.src.includes('data:image/svg+xml'));
|
|
480
480
|
|
|
481
|
-
// Pour les SVG,
|
|
482
|
-
if (isSVG) {
|
|
483
|
-
//
|
|
481
|
+
// SOLUTION MOBILE SAFARI : Pour les SVG sur mobile, éviter object-fit qui cause du flou
|
|
482
|
+
if (isSVG && isMobile) {
|
|
483
|
+
// Sur mobile, NE PAS appliquer object-fit aux SVG (c'est ce qui cause le flou)
|
|
484
|
+
// Le SVG utilisera ses dimensions naturelles ou celles du conteneur
|
|
485
|
+
img.style.objectFit = 'none';
|
|
486
|
+
img.style.objectPosition = 'center';
|
|
487
|
+
|
|
488
|
+
// Forcer le GPU rendering
|
|
484
489
|
img.style.webkitTransform = 'translate3d(0, 0, 0)';
|
|
485
490
|
img.style.transform = 'translate3d(0, 0, 0)';
|
|
486
491
|
|
|
487
|
-
// Améliorer le rendu des SVG
|
|
488
|
-
img.style.imageRendering = '-webkit-optimize-contrast';
|
|
492
|
+
// Améliorer le rendu des SVG
|
|
489
493
|
img.style.imageRendering = 'crisp-edges';
|
|
490
|
-
img.style.imageRendering = 'auto'; // Fallback si crisp-edges n'est pas supporté
|
|
491
494
|
|
|
492
|
-
//
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
495
|
+
// S'assurer que le conteneur parent permet au SVG de s'afficher correctement
|
|
496
|
+
const parent = img.parentElement;
|
|
497
|
+
if (parent) {
|
|
498
|
+
parent.style.display = 'flex';
|
|
499
|
+
parent.style.alignItems = 'center';
|
|
500
|
+
parent.style.justifyContent = 'center';
|
|
501
|
+
}
|
|
502
|
+
} else {
|
|
503
|
+
// Pour les images non-SVG ou sur desktop, appliquer les styles normaux
|
|
504
|
+
// Vérifier si l'image a déjà des styles inline
|
|
505
|
+
if (!img.style.objectFit) {
|
|
506
|
+
const computedStyle = getComputedStyle(img);
|
|
507
|
+
const objectFit = computedStyle.objectFit;
|
|
508
|
+
const objectPosition = computedStyle.objectPosition;
|
|
509
|
+
|
|
510
|
+
// Appliquer object-fit si défini dans le CSS
|
|
511
|
+
if (objectFit && objectFit !== 'none' && objectFit !== 'fill') {
|
|
506
512
|
img.style.objectFit = objectFit;
|
|
507
513
|
}
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
514
|
+
// Appliquer object-position si défini dans le CSS
|
|
515
|
+
if (objectPosition && objectPosition !== 'initial' && objectPosition !== '50% 50%') {
|
|
516
|
+
img.style.objectPosition = objectPosition;
|
|
517
|
+
}
|
|
512
518
|
}
|
|
513
519
|
}
|
|
514
520
|
|
|
515
|
-
//
|
|
516
|
-
|
|
517
|
-
requestAnimationFrame(() => {
|
|
518
|
-
void img.offsetHeight;
|
|
519
|
-
});
|
|
520
|
-
}
|
|
521
|
+
// Forcer un reflow pour stabiliser le rendu
|
|
522
|
+
void img.offsetHeight;
|
|
521
523
|
});
|
|
522
524
|
|
|
523
525
|
// Vérifier que les images ont une taille visible
|