@bebranded/bb-contents 1.0.149 → 1.0.150

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.
Files changed (2) hide show
  1. package/bb-contents.js +43 -2
  2. package/package.json +1 -1
package/bb-contents.js CHANGED
@@ -32,7 +32,7 @@
32
32
  window._bbContentsInitialized = true;
33
33
 
34
34
  // Log de démarrage simple (une seule fois)
35
- console.log('bb-contents | v1.0.149');
35
+ console.log('bb-contents | v1.0.150');
36
36
 
37
37
  // Configuration
38
38
  const config = {
@@ -572,10 +572,51 @@
572
572
  });
573
573
  };
574
574
 
575
+ // NOUVEAU: Forcer le rendu complet en déplaçant temporairement le conteneur
576
+ // pour que toutes les parties soient visibles (même brièvement)
577
+ // Cela force le navigateur à rendre même les parties très larges sur grands écrans
578
+ const forceFullRender = function() {
579
+ return new Promise(function(resolve) {
580
+ // Calculer la largeur totale des copies
581
+ const totalWidth = Math.max(
582
+ repeatBlock1.offsetWidth || 0,
583
+ repeatBlock2.offsetWidth || 0
584
+ );
585
+
586
+ if (totalWidth > 0 && totalWidth > window.innerWidth) {
587
+ // Déplacer temporairement le conteneur pour forcer le rendu de toutes les parties
588
+ // On le place à gauche de l'écran puis on le déplace pour que tout soit visible
589
+ tempContainer.style.left = '0px';
590
+ tempContainer.style.width = totalWidth + 'px';
591
+ tempContainer.style.overflow = 'visible';
592
+
593
+ // Forcer un reflow pour que le navigateur calcule les dimensions
594
+ void tempContainer.offsetWidth;
595
+
596
+ // Maintenant déplacer pour que la fin soit visible (force le rendu de la fin)
597
+ const translateX = Math.max(0, totalWidth - window.innerWidth);
598
+ tempContainer.style.transform = 'translateX(-' + translateX + 'px)';
599
+ void tempContainer.offsetWidth;
600
+
601
+ // Revenir à la position initiale
602
+ tempContainer.style.transform = '';
603
+ tempContainer.style.left = '-9999px';
604
+ tempContainer.style.width = 'auto';
605
+ void tempContainer.offsetWidth;
606
+ }
607
+
608
+ // Attendre un frame pour que le rendu soit complet
609
+ requestAnimationFrame(function() {
610
+ requestAnimationFrame(resolve);
611
+ });
612
+ });
613
+ };
614
+
575
615
  // Attendre que toutes les images soient rendues dans les copies
576
616
  Promise.all([
577
617
  waitForImagesRender(repeatBlock1),
578
- waitForImagesRender(repeatBlock2)
618
+ waitForImagesRender(repeatBlock2),
619
+ forceFullRender() // NOUVEAU: Forcer le rendu complet
579
620
  ]).then(function() {
580
621
  // Retirer les copies du conteneur temporaire
581
622
  document.body.removeChild(tempContainer);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bebranded/bb-contents",
3
- "version": "1.0.149",
3
+ "version": "1.0.150",
4
4
  "description": "Contenus additionnels français pour Webflow",
5
5
  "main": "bb-contents.js",
6
6
  "scripts": {