@bebranded/bb-contents 1.0.127 → 1.0.129
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 +32 -15
- 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.129
|
|
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.129');
|
|
36
36
|
|
|
37
37
|
// Configuration
|
|
38
38
|
const config = {
|
|
39
|
-
version: '1.0.
|
|
39
|
+
version: '1.0.129',
|
|
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)
|
|
@@ -1288,6 +1288,23 @@
|
|
|
1288
1288
|
defaultCountry = self.findCountry(element.value);
|
|
1289
1289
|
}
|
|
1290
1290
|
|
|
1291
|
+
// Si un pays par défaut est défini, mettre à jour le select natif immédiatement
|
|
1292
|
+
if (defaultCountry) {
|
|
1293
|
+
const countryName = defaultCountry.name[language];
|
|
1294
|
+
// Créer l'option si elle n'existe pas
|
|
1295
|
+
const existingOption = Array.from(element.options).find(function(opt) {
|
|
1296
|
+
return opt.value === countryName;
|
|
1297
|
+
});
|
|
1298
|
+
if (!existingOption) {
|
|
1299
|
+
const newOption = document.createElement('option');
|
|
1300
|
+
newOption.value = countryName;
|
|
1301
|
+
newOption.textContent = countryName;
|
|
1302
|
+
element.appendChild(newOption);
|
|
1303
|
+
}
|
|
1304
|
+
// Définir la valeur du select
|
|
1305
|
+
element.value = countryName;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1291
1308
|
// Trier les pays : préférés en haut dans l'ordre exact spécifié, puis les autres par ordre alphabétique
|
|
1292
1309
|
let sortedCountries = self.countries.slice();
|
|
1293
1310
|
if (preferredCountries.length > 0) {
|
|
@@ -1300,26 +1317,26 @@
|
|
|
1300
1317
|
return c !== undefined;
|
|
1301
1318
|
});
|
|
1302
1319
|
|
|
1303
|
-
// Pays non-préférés triés par ordre alphabétique
|
|
1320
|
+
// Pays non-préférés triés par ordre alphabétique (avec gestion des accents)
|
|
1304
1321
|
const others = sortedCountries.filter(function(c) {
|
|
1305
1322
|
return preferredCountries.indexOf(c.alpha2) === -1;
|
|
1306
1323
|
}).sort(function(a, b) {
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1324
|
+
return a.name[language].localeCompare(b.name[language], language === 'fr' ? 'fr' : 'en', {
|
|
1325
|
+
sensitivity: 'base',
|
|
1326
|
+
ignorePunctuation: true,
|
|
1327
|
+
numeric: true
|
|
1328
|
+
});
|
|
1312
1329
|
});
|
|
1313
1330
|
|
|
1314
1331
|
sortedCountries = preferred.concat(others);
|
|
1315
1332
|
} else {
|
|
1316
|
-
// Tous les pays par ordre alphabétique si pas de préférés
|
|
1333
|
+
// Tous les pays par ordre alphabétique si pas de préférés (avec gestion des accents)
|
|
1317
1334
|
sortedCountries = sortedCountries.sort(function(a, b) {
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1335
|
+
return a.name[language].localeCompare(b.name[language], language === 'fr' ? 'fr' : 'en', {
|
|
1336
|
+
sensitivity: 'base',
|
|
1337
|
+
ignorePunctuation: true,
|
|
1338
|
+
numeric: true
|
|
1339
|
+
});
|
|
1323
1340
|
});
|
|
1324
1341
|
}
|
|
1325
1342
|
|