sunuid-sdk 1.0.10 → 1.0.11

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.
@@ -250,9 +250,6 @@ function _toPropertyKey(t) {
250
250
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
251
251
  var options,
252
252
  response,
253
- testData,
254
- qrData,
255
- qrUrl,
256
253
  _args = arguments,
257
254
  _t;
258
255
  return _regenerator().w(function (_context) {
@@ -287,33 +284,9 @@ function _toPropertyKey(t) {
287
284
  case 5:
288
285
  _context.p = 5;
289
286
  _t = _context.v;
290
- console.warn('Erreur API détectée, génération d\'un QR code de test:', _t.message);
291
-
292
- // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
293
- testData = _objectSpread2({
294
- type: 'auth',
295
- clientId: this.config.clientId,
296
- timestamp: Date.now(),
297
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
298
- apiUrl: this.config.apiUrl,
299
- error: _t.message,
300
- errorType: _t.name,
301
- fallback: true
302
- }, options);
303
- qrData = JSON.stringify(testData);
304
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(qrData));
305
- this.displayQRCode(containerId, qrUrl, 'auth', options);
306
- this.startAutoRefresh(containerId, 'auth', options);
307
- return _context.a(2, {
308
- success: true,
309
- data: {
310
- sessionId: testData.sessionId,
311
- qrCodeUrl: qrUrl,
312
- expires: Date.now() + 30000,
313
- type: 'auth',
314
- fallback: true
315
- }
316
- });
287
+ console.error('Erreur API détectée:', _t.message);
288
+ this.displayServiceUnavailable(containerId, 'auth');
289
+ throw new Error('Service non disponible');
317
290
  case 6:
318
291
  return _context.a(2);
319
292
  }
@@ -334,9 +307,6 @@ function _toPropertyKey(t) {
334
307
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
335
308
  var options,
336
309
  response,
337
- testData,
338
- qrData,
339
- qrUrl,
340
310
  _args2 = arguments,
341
311
  _t2;
342
312
  return _regenerator().w(function (_context2) {
@@ -371,33 +341,9 @@ function _toPropertyKey(t) {
371
341
  case 5:
372
342
  _context2.p = 5;
373
343
  _t2 = _context2.v;
374
- console.warn('Erreur API détectée, génération d\'un QR code KYC de test:', _t2.message);
375
-
376
- // En cas d'échec de l'API, générer un QR code de test
377
- testData = _objectSpread2({
378
- type: 'kyc',
379
- clientId: this.config.clientId,
380
- timestamp: Date.now(),
381
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
382
- apiUrl: this.config.apiUrl,
383
- error: _t2.message,
384
- errorType: _t2.name,
385
- fallback: true
386
- }, options);
387
- qrData = JSON.stringify(testData);
388
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(qrData));
389
- this.displayQRCode(containerId, qrUrl, 'kyc', options);
390
- this.startAutoRefresh(containerId, 'kyc', options);
391
- return _context2.a(2, {
392
- success: true,
393
- data: {
394
- sessionId: testData.sessionId,
395
- qrCodeUrl: qrUrl,
396
- expires: Date.now() + 30000,
397
- type: 'kyc',
398
- fallback: true
399
- }
400
- });
344
+ console.error('Erreur API détectée:', _t2.message);
345
+ this.displayServiceUnavailable(containerId, 'kyc');
346
+ throw new Error('Service non disponible');
401
347
  case 6:
402
348
  return _context2.a(2);
403
349
  }
@@ -487,6 +433,20 @@ function _toPropertyKey(t) {
487
433
  this.applyTheme(options.theme || this.config.theme);
488
434
  }
489
435
 
436
+ /**
437
+ * Afficher "Service non disponible"
438
+ */
439
+ }, {
440
+ key: "displayServiceUnavailable",
441
+ value: function displayServiceUnavailable(containerId, type) {
442
+ var container = document.getElementById(containerId);
443
+ if (!container) {
444
+ console.error("Container ".concat(containerId, " non trouv\xE9"));
445
+ return;
446
+ }
447
+ container.innerHTML = "\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">\u26A0\uFE0F</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez r\xE9essayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ".concat(type.toUpperCase(), "\n </div>\n </div>\n ");
448
+ }
449
+
490
450
  /**
491
451
  * Rafraîchir un QR code
492
452
  */
@@ -525,7 +485,8 @@ function _toPropertyKey(t) {
525
485
  case 6:
526
486
  _context4.p = 6;
527
487
  _t5 = _context4.v;
528
- this.handleError(_t5);
488
+ console.error('Erreur lors du rafraîchissement:', _t5.message);
489
+ this.displayServiceUnavailable(containerId, type);
529
490
  throw _t5;
530
491
  case 7:
531
492
  return _context4.a(2);
@@ -1 +1 @@
1
- {"version":3,"file":"sunuid-sdk.esm.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'auth',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code KYC de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'kyc',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","name","fallback","JSON","stringify","concat","encodeURIComponent","expires","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","body","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
1
+ {"version":3,"file":"sunuid-sdk.esm.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'auth');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'kyc');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Afficher \"Service non disponible\"\n */\n displayServiceUnavailable(containerId, type) {\n const container = document.getElementById(containerId);\n if (!container) {\n console.error(`Container ${containerId} non trouvé`);\n return;\n }\n\n container.innerHTML = `\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">⚠️</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ${type.toUpperCase()}\n </div>\n </div>\n `;\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n console.error('Erreur lors du rafraîchissement:', error.message);\n this.displayServiceUnavailable(containerId, type);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","sessionId","_t3","_context3","handleError","checkQRStatus","_x3","qrUrl","container","document","getElementById","concat","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","toUpperCase","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","warn","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,UAASA,MAAM,EAAAC,oBAAA,EAAE;;AAGd;AACA,EAAA,IAAMC,cAAc,GAAG;AACnBC,IAAAA,MAAM,EAAE,CAAA,CAAAF,oBAAA,GAAAD,MAAM,CAACI,YAAY,MAAAH,IAAAA,IAAAA,oBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqBE,MAAM,KAAI,6BAA6B;AACpEE,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,eAAe,EAAE,KAAK;AAAE;AACxBC,IAAAA,SAAS,EAAE,IAAI;AACfC,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,SAAS,EAAE,IAAA;GACd,CAAA;;AAED;AACJ;AACA;AAFI,EAAA,IAGMC,MAAM,gBAAA,YAAA;AACR,IAAA,SAAAA,SAAyB;AAAA,MAAA,IAAbC,MAAM,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAAG,MAAAA,eAAA,OAAAL,MAAA,CAAA,CAAA;MACnB,IAAI,CAACC,MAAM,GAAAK,cAAA,CAAAA,cAAA,CAAQlB,EAAAA,EAAAA,cAAc,CAAKa,EAAAA,MAAM,CAAE,CAAA;MAC9C,IAAI,CAACM,MAAM,GAAG,IAAI,CAAA;MAClB,IAAI,CAACC,YAAY,GAAG,IAAI,CAAA;MACxB,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;MAE1B,IAAI,CAACC,IAAI,EAAE,CAAA;AACf,KAAA;;AAEA;AACR;AACA;IAFQ,OAAAC,YAAA,CAAAX,MAAA,EAAA,CAAA;MAAAY,GAAA,EAAA,MAAA;AAAAC,MAAAA,KAAA,EAGA,SAAAH,IAAIA,GAAG;AACH,QAAA,IAAI,CAAC,IAAI,CAACT,MAAM,CAACV,QAAQ,IAAI,CAAC,IAAI,CAACU,MAAM,CAACT,QAAQ,EAAE;AAChD,UAAA,MAAM,IAAIsB,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC/D,SAAA;QAEA,IAAI,CAACL,aAAa,GAAG,IAAI,CAAA;AACzBM,QAAAA,OAAO,CAACC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AACpD,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAJ,GAAA,EAAA,gBAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAAI,eAAA,GAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAAC,OAAAA,CAAqBC,WAAW,EAAA;AAAA,UAAA,IAAAC,OAAA;YAAAC,QAAA;AAAAC,YAAAA,KAAA,GAAAvB,SAAA;YAAAwB,EAAA,CAAA;AAAA,UAAA,OAAAP,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEP,gBAAAA,OAAO,GAAAE,KAAA,CAAAtB,MAAA,GAAAsB,CAAAA,IAAAA,KAAA,CAAArB,CAAAA,CAAAA,KAAAA,SAAA,GAAAqB,KAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;gBAAA,IACrC,IAAI,CAAChB,aAAa,EAAA;AAAAmB,kBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,MACb,IAAIhB,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAc,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;AAAAD,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAItB,IAAI,CAACC,WAAW,CAAC,cAAc,EAAAzB,cAAA,CAAA;AAClD0B,kBAAAA,IAAI,EAAE,MAAA;iBACHT,EAAAA,OAAO,CACb,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAHIC,QAAQ,GAAAI,QAAA,CAAAK,CAAA,CAAA;gBAAA,IAKVT,CAAAA,QAAQ,CAACU,OAAO,EAAA;AAAAN,kBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAChB,gBAAA,IAAI,CAACK,aAAa,CAACb,WAAW,EAAEE,QAAQ,CAACY,IAAI,CAACC,SAAS,EAAE,MAAM,EAAEd,OAAO,CAAC,CAAA;gBACzE,IAAI,CAACe,gBAAgB,CAAChB,WAAW,EAAE,MAAM,EAAEC,OAAO,CAAC,CAAA;AAAC,gBAAA,OAAAK,QAAA,CAAAW,CAAA,CAC7Cf,CAAAA,EAAAA,QAAQ,CAACY,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,MAEd,IAAItB,KAAK,CAACU,QAAQ,CAACgB,OAAO,IAAI,yCAAyC,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAZ,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAF,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;gBAAAH,EAAA,GAAAE,QAAA,CAAAK,CAAA,CAAA;gBAGlFlB,OAAO,CAAC0B,KAAK,CAAC,sBAAsB,EAAEf,EAAA,CAAMc,OAAO,CAAC,CAAA;AACpD,gBAAA,IAAI,CAACE,yBAAyB,CAACpB,WAAW,EAAE,MAAM,CAAC,CAAA;AAAC,gBAAA,MAC9C,IAAIR,KAAK,CAAC,wBAAwB,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAc,QAAA,CAAAW,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAlB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAEhD,CAAA,CAAA,CAAA;QAAA,SAvBKsB,cAAcA,CAAAC,EAAA,EAAA;AAAA,UAAA,OAAA3B,eAAA,CAAA4B,KAAA,CAAA,IAAA,EAAA3C,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAdyC,cAAc,CAAA;AAAA,OAAA,EAAA;AAyBpB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAA/B,GAAA,EAAA,eAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAAiC,cAAA,GAAA5B,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAA2B,QAAAA,CAAoBzB,WAAW,EAAA;AAAA,UAAA,IAAAC,OAAA;YAAAC,QAAA;AAAAwB,YAAAA,MAAA,GAAA9C,SAAA;YAAA+C,GAAA,CAAA;AAAA,UAAA,OAAA9B,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAAuB,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAArB,CAAA,GAAAqB,SAAA,CAAApB,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEP,gBAAAA,OAAO,GAAAyB,MAAA,CAAA7C,MAAA,GAAA6C,CAAAA,IAAAA,MAAA,CAAA5C,CAAAA,CAAAA,KAAAA,SAAA,GAAA4C,MAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;gBAAA,IACpC,IAAI,CAACvC,aAAa,EAAA;AAAAyC,kBAAAA,SAAA,CAAApB,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,MACb,IAAIhB,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAoC,gBAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;AAAAqB,gBAAAA,SAAA,CAAApB,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAItB,IAAI,CAACC,WAAW,CAAC,cAAc,EAAAzB,cAAA,CAAA;AAClD0B,kBAAAA,IAAI,EAAE,KAAA;iBACHT,EAAAA,OAAO,CACb,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAHIC,QAAQ,GAAA0B,SAAA,CAAAjB,CAAA,CAAA;gBAAA,IAKVT,CAAAA,QAAQ,CAACU,OAAO,EAAA;AAAAgB,kBAAAA,SAAA,CAAApB,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAChB,gBAAA,IAAI,CAACK,aAAa,CAACb,WAAW,EAAEE,QAAQ,CAACY,IAAI,CAACC,SAAS,EAAE,KAAK,EAAEd,OAAO,CAAC,CAAA;gBACxE,IAAI,CAACe,gBAAgB,CAAChB,WAAW,EAAE,KAAK,EAAEC,OAAO,CAAC,CAAA;AAAC,gBAAA,OAAA2B,SAAA,CAAAX,CAAA,CAC5Cf,CAAAA,EAAAA,QAAQ,CAACY,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,MAEd,IAAItB,KAAK,CAACU,QAAQ,CAACgB,OAAO,IAAI,6CAA6C,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAU,gBAAAA,SAAA,CAAApB,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAoB,gBAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;gBAAAoB,GAAA,GAAAC,SAAA,CAAAjB,CAAA,CAAA;gBAGtFlB,OAAO,CAAC0B,KAAK,CAAC,sBAAsB,EAAEQ,GAAA,CAAMT,OAAO,CAAC,CAAA;AACpD,gBAAA,IAAI,CAACE,yBAAyB,CAACpB,WAAW,EAAE,KAAK,CAAC,CAAA;AAAC,gBAAA,MAC7C,IAAIR,KAAK,CAAC,wBAAwB,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAoC,SAAA,CAAAX,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAQ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAEhD,CAAA,CAAA,CAAA;QAAA,SAvBKI,aAAaA,CAAAC,GAAA,EAAA;AAAA,UAAA,OAAAN,cAAA,CAAAD,KAAA,CAAA,IAAA,EAAA3C,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAbiD,aAAa,CAAA;AAAA,OAAA,EAAA;AAyBnB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAAvC,GAAA,EAAA,eAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAAwC,cAAA,GAAAnC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAAkC,QAAAA,CAAoBC,SAAS,EAAA;UAAA,IAAA/B,QAAA,EAAAgC,GAAA,CAAA;AAAA,UAAA,OAAArC,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAA8B,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5B,CAAA,GAAA4B,SAAA,CAAA3B,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,IACpB,IAAI,CAACrB,aAAa,EAAA;AAAAgD,kBAAAA,SAAA,CAAA3B,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,MACb,IAAIhB,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA2C,gBAAAA,SAAA,CAAA5B,CAAA,GAAA,CAAA,CAAA;AAAA4B,gBAAAA,SAAA,CAAA3B,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAItB,IAAI,CAACC,WAAW,CAAC,YAAY,EAAE;AAClDwB,kBAAAA,SAAS,EAAEA,SAAAA;AACf,iBAAC,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAFI/B,QAAQ,GAAAiC,SAAA,CAAAxB,CAAA,CAAA;gBAAA,IAIVT,CAAAA,QAAQ,CAACU,OAAO,EAAA;AAAAuB,kBAAAA,SAAA,CAAA3B,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,OAAA2B,SAAA,CAAAlB,CAAA,CACbf,CAAAA,EAAAA,QAAQ,CAACY,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,MAEV,IAAItB,KAAK,CAACU,QAAQ,CAACgB,OAAO,IAAI,0CAA0C,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAiB,gBAAAA,SAAA,CAAA3B,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAA2B,gBAAAA,SAAA,CAAA5B,CAAA,GAAA,CAAA,CAAA;gBAAA2B,GAAA,GAAAC,SAAA,CAAAxB,CAAA,CAAA;AAGnF,gBAAA,IAAI,CAACyB,WAAW,CAAAF,GAAM,CAAC,CAAA;AAAC,gBAAA,MAAAA,GAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAlB,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAG/B,CAAA,CAAA,CAAA;QAAA,SAnBKK,aAAaA,CAAAC,GAAA,EAAA;AAAA,UAAA,OAAAP,cAAA,CAAAR,KAAA,CAAA,IAAA,EAAA3C,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAbyD,aAAa,CAAA;AAAA,OAAA,EAAA;AAqBnB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAA/C,GAAA,EAAA,eAAA;MAAAC,KAAA,EAGA,SAAAsB,aAAaA,CAACb,WAAW,EAAEuC,KAAK,EAAE7B,IAAI,EAAgB;AAAA,QAAA,IAAdT,OAAO,GAAArB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAChD,QAAA,IAAM4D,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC1C,WAAW,CAAC,CAAA;QACtD,IAAI,CAACwC,SAAS,EAAE;AACZ,UAAA,MAAM,IAAIhD,KAAK,CAAA,wBAAA,CAAAmD,MAAA,CAAyB3C,WAAW,qBAAc,CAAC,CAAA;AACtE,SAAA;;AAEA;QACAwC,SAAS,CAACI,SAAS,GAAG,EAAE,CAAA;;AAExB;AACA,QAAA,IAAMC,SAAS,GAAGJ,QAAQ,CAACK,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/CD,SAAS,CAACE,SAAS,GAAG,gBAAgB,CAAA;AACtCF,QAAAA,SAAS,CAACD,SAAS,GAAA,kFAAA,CAAAD,MAAA,CAELjC,IAAI,KAAK,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,EAAA,wWAAA,CAAA,CAAAiC,MAAA,CAQnDJ,KAAK,EAQxB,kbAAA,CAAA,CAAA;AAEDC,QAAAA,SAAS,CAACQ,WAAW,CAACH,SAAS,CAAC,CAAA;;AAEhC;QACA,IAAI,CAACI,UAAU,EAAE,CAAA;;AAEjB;AACA,QAAA,IAAI,CAACC,UAAU,CAACjD,OAAO,CAAC9B,KAAK,IAAI,IAAI,CAACQ,MAAM,CAACR,KAAK,CAAC,CAAA;AACvD,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAmB,GAAA,EAAA,2BAAA;AAAAC,MAAAA,KAAA,EAGA,SAAA6B,yBAAyBA,CAACpB,WAAW,EAAEU,IAAI,EAAE;AACzC,QAAA,IAAM8B,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC1C,WAAW,CAAC,CAAA;QACtD,IAAI,CAACwC,SAAS,EAAE;AACZ/C,UAAAA,OAAO,CAAC0B,KAAK,CAAA,YAAA,CAAAwB,MAAA,CAAc3C,WAAW,mBAAa,CAAC,CAAA;AACpD,UAAA,OAAA;AACJ,SAAA;QAEAwC,SAAS,CAACI,SAAS,GAAA,m7BAAA,CAAAD,MAAA,CAiBCjC,IAAI,CAACyC,WAAW,EAAE,EAGrC,oEAAA,CAAA,CAAA;AACL,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAA7D,GAAA,EAAA,WAAA;MAAAC,KAAA,GAAA,YAAA;AAAA,QAAA,IAAA6D,UAAA,GAAAxD,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAGA,SAAAuD,QAAAA,CAAgBrD,WAAW,EAAEU,IAAI,EAAA;AAAA,UAAA,IAAAT,OAAA;YAAAqD,MAAA;AAAAC,YAAAA,MAAA,GAAA3E,SAAA;YAAA4E,GAAA;YAAAC,GAAA,CAAA;AAAA,UAAA,OAAA5D,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAAqD,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnD,CAAA,GAAAmD,SAAA,CAAAlD,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEP,gBAAAA,OAAO,GAAAsD,MAAA,CAAA1E,MAAA,GAAA0E,CAAAA,IAAAA,MAAA,CAAAzE,CAAAA,CAAAA,KAAAA,SAAA,GAAAyE,MAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;AAAAG,gBAAAA,SAAA,CAAAnD,CAAA,GAAA,CAAA,CAAA;gBAAA,IAExBG,EAAAA,IAAI,KAAK,MAAM,CAAA,EAAA;AAAAgD,kBAAAA,SAAA,CAAAlD,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAAkD,gBAAAA,SAAA,CAAAlD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAClB,IAAI,CAACa,cAAc,CAACrB,WAAW,EAAEC,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAAuD,GAAA,GAAAE,SAAA,CAAA/C,CAAA,CAAA;AAAA+C,gBAAAA,SAAA,CAAAlD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAkD,gBAAAA,SAAA,CAAAlD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OACzC,IAAI,CAACqB,aAAa,CAAC7B,WAAW,EAAEC,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAAuD,GAAA,GAAAE,SAAA,CAAA/C,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAF9C2C,gBAAAA,MAAM,GAAAE,GAAA,CAAA;AAAA,gBAAA,OAAAE,SAAA,CAAAzC,CAAA,CAAA,CAAA,EAILqC,MAAM,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAI,gBAAAA,SAAA,CAAAnD,CAAA,GAAA,CAAA,CAAA;gBAAAkD,GAAA,GAAAC,SAAA,CAAA/C,CAAA,CAAA;gBAEblB,OAAO,CAAC0B,KAAK,CAAC,kCAAkC,EAAEsC,GAAA,CAAMvC,OAAO,CAAC,CAAA;AAChE,gBAAA,IAAI,CAACE,yBAAyB,CAACpB,WAAW,EAAEU,IAAI,CAAC,CAAA;AAAC,gBAAA,MAAA+C,GAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAzC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAoC,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAGzD,CAAA,CAAA,CAAA;AAAA,QAAA,SAZKM,SAASA,CAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,UAAA,OAAAT,UAAA,CAAA7B,KAAA,CAAA,IAAA,EAAA3C,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAT+E,SAAS,CAAA;AAAA,OAAA,EAAA;AAcf;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAArE,GAAA,EAAA,kBAAA;MAAAC,KAAA,EAGA,SAAAyB,gBAAgBA,CAAChB,WAAW,EAAEU,IAAI,EAAET,OAAO,EAAE;AAAA,QAAA,IAAA6D,KAAA,GAAA,IAAA,CAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAACnF,MAAM,CAACN,WAAW,EAAE,OAAA;AAE9B,QAAA,IAAI,CAACa,YAAY,GAAG6E,WAAW,cAAAnE,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,CAAC,SAAAkE,QAAA,GAAA;AAAA,UAAA,IAAAC,GAAA,CAAA;AAAA,UAAA,OAAApE,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAA6D,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3D,CAAA,GAAA2D,SAAA,CAAA1D,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA0D,gBAAAA,SAAA,CAAA3D,CAAA,GAAA,CAAA,CAAA;AAAA2D,gBAAAA,SAAA,CAAA1D,CAAA,GAAA,CAAA,CAAA;gBAAA,OAElBsD,KAAI,CAACH,SAAS,CAAC3D,WAAW,EAAEU,IAAI,EAAET,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAiE,gBAAAA,SAAA,CAAA1D,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAA0D,gBAAAA,SAAA,CAAA3D,CAAA,GAAA,CAAA,CAAA;gBAAA0D,GAAA,GAAAC,SAAA,CAAAvD,CAAA,CAAA;AAEhDlB,gBAAAA,OAAO,CAAC0E,IAAI,CAAC,8CAA8C,EAAAF,GAAO,CAAC,CAAA;AAAC,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAjD,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAA+C,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAE3E,IAAE,IAAI,CAACrF,MAAM,CAACL,eAAe,CAAC,CAAA;AACnC,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAgB,GAAA,EAAA,YAAA;AAAAC,MAAAA,KAAA,EAGA,SAAA0D,UAAUA,GAAG;AAAA,QAAA,IAAAmB,MAAA,GAAA,IAAA,CAAA;QACT,IAAIC,QAAQ,GAAG,EAAE,CAAA;AACjB,QAAA,IAAMC,YAAY,GAAG7B,QAAQ,CAACC,cAAc,CAAC,cAAc,CAAC,CAAA;AAE5D,QAAA,IAAM6B,KAAK,GAAGR,WAAW,CAAC,YAAM;AAC5BM,UAAAA,QAAQ,EAAE,CAAA;AACV,UAAA,IAAIC,YAAY,EAAE;YACdA,YAAY,CAACE,WAAW,GAAGH,QAAQ,CAAA;AACvC,WAAA;UAEA,IAAIA,QAAQ,IAAI,CAAC,EAAE;YACfI,aAAa,CAACF,KAAK,CAAC,CAAA;AACpB,YAAA,IAAIH,MAAI,CAACzF,MAAM,CAACF,SAAS,EAAE;AACvB2F,cAAAA,MAAI,CAACzF,MAAM,CAACF,SAAS,EAAE,CAAA;AAC3B,aAAA;AACJ,WAAA;SACH,EAAE,IAAI,CAAC,CAAA;AACZ,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAa,GAAA,EAAA,aAAA;MAAAC,KAAA,GAAA,YAAA;AAAA,QAAA,IAAAmF,YAAA,GAAA9E,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAGA,SAAA6E,QAAAA,CAAkBC,QAAQ,EAAE9D,IAAI,EAAA;AAAA,UAAA,IAAA+D,qBAAA,CAAA;AAAA,UAAA,IAAAC,YAAA,EAAAC,GAAA,EAAA7E,QAAA,EAAA8E,SAAA,EAAAC,SAAA,EAAA3B,MAAA,EAAA4B,GAAA,CAAA;AAAA,UAAA,OAAArF,YAAA,EAAA,CAAAQ,CAAA,CAAA,UAAA8E,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5E,CAAA,GAAA4E,SAAA,CAAA3E,CAAA;AAAA,cAAA,KAAA,CAAA;AAC5B;AACMsE,gBAAAA,YAAY,GAAG,CAAA,CAAAD,qBAAA,GAAAjH,MAAM,CAACI,YAAY,MAAA,IAAA,IAAA6G,qBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,qBAAA,GAAnBA,qBAAA,CAAqBO,SAAS,MAAAP,IAAAA,IAAAA,qBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAiCD,QAAQ,CAACS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAIT,QAAQ,CAAA;gBACtFG,GAAG,GAAA,EAAA,CAAApC,MAAA,CAAM,IAAI,CAAChE,MAAM,CAACZ,MAAM,CAAA,CAAA4E,MAAA,CAAGmC,YAAY,CAAA,CAAA;AAAAK,gBAAAA,SAAA,CAAA5E,CAAA,GAAA,CAAA,CAAA;AAAA4E,gBAAAA,SAAA,CAAA3E,CAAA,GAAA,CAAA,CAAA;gBAAA,OAGrB8E,KAAK,CAACP,GAAG,EAAE;AAC9BQ,kBAAAA,MAAM,EAAE,MAAM;AACdC,kBAAAA,OAAO,EAAE;AACL,oBAAA,cAAc,EAAE,kBAAkB;AAClC,oBAAA,eAAe,YAAA7C,MAAA,CAAY,IAAI,CAAChE,MAAM,CAACV,QAAQ,EAAA0E,GAAAA,CAAAA,CAAAA,MAAA,CAAI,IAAI,CAAChE,MAAM,CAACT,QAAQ,CAAE;AACzE,oBAAA,QAAQ,EAAE,kBAAA;mBACb;kBACDuH,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAA3G,cAAA,CAAAA,cAAA,CAAA,EAAA,EACb8B,IAAI,CAAA,EAAA,EAAA,EAAA;AACP8E,oBAAAA,SAAS,EAAE,IAAI,CAACjH,MAAM,CAACV,QAAQ;AAC/B4H,oBAAAA,SAAS,EAAE,IAAI,CAAClH,MAAM,CAACT,QAAAA;mBAC1B,CAAA,CAAA;AACL,iBAAC,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAZIgC,QAAQ,GAAAiF,SAAA,CAAAxE,CAAA,CAAA;gBAAA,IAcTT,QAAQ,CAAC4F,EAAE,EAAA;AAAAX,kBAAAA,SAAA,CAAA3E,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA2E,gBAAAA,SAAA,CAAA3E,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OACYN,QAAQ,CAAC6F,IAAI,EAAE,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAjCf,SAAS,GAAAG,SAAA,CAAAxE,CAAA,CAAA;gBAEf,IAAI;AACAsE,kBAAAA,SAAS,GAAGS,IAAI,CAACM,KAAK,CAAChB,SAAS,CAAC,CAAA;iBACpC,CAAC,OAAOiB,CAAC,EAAE;AACRhB,kBAAAA,SAAS,GAAG;AAAE/D,oBAAAA,OAAO,EAAE8D,SAAAA;mBAAW,CAAA;AACtC,iBAAA;AAAC,gBAAA,MAEK,IAAIxF,KAAK,CAACyF,SAAS,CAAC/D,OAAO,IAAAyB,eAAAA,CAAAA,MAAA,CAAoBzC,QAAQ,CAACgG,MAAM,CAAE,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAf,gBAAAA,SAAA,CAAA3E,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAGtDN,QAAQ,CAACiG,IAAI,EAAE,CAAA;AAAA,cAAA,KAAA,CAAA;gBAA9B7C,MAAM,GAAA6B,SAAA,CAAAxE,CAAA,CAAA;AAAA,gBAAA,OAAAwE,SAAA,CAAAlE,CAAA,CAAA,CAAA,EACLqC,MAAM,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA6B,gBAAAA,SAAA,CAAA5E,CAAA,GAAA,CAAA,CAAA;gBAAA2E,GAAA,GAAAC,SAAA,CAAAxE,CAAA,CAAA;AAEblB,gBAAAA,OAAO,CAAC0B,KAAK,CAAC,oBAAoB,EAAA+D,GAAO,CAAC,CAAA;AAAC,gBAAA,MAAAA,GAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAlE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAA0D,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAGlD,CAAA,CAAA,CAAA;AAAA,QAAA,SAtCKlE,WAAWA,CAAA2F,GAAA,EAAAC,GAAA,EAAA;AAAA,UAAA,OAAA3B,YAAA,CAAAnD,KAAA,CAAA,IAAA,EAAA3C,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAX6B,WAAW,CAAA;AAAA,OAAA,EAAA;AAwCjB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAAnB,GAAA,EAAA,YAAA;AAAAC,MAAAA,KAAA,EAGA,SAAA2D,UAAUA,CAAC/E,KAAK,EAAE;AACd,QAAA,IAAMqE,SAAS,GAAGC,QAAQ,CAAC6D,aAAa,CAAC,iBAAiB,CAAC,CAAA;AAC3D,QAAA,IAAI9D,SAAS,EAAE;AACXA,UAAAA,SAAS,CAACO,SAAS,GAAA,8BAAA,CAAAJ,MAAA,CAAkCxE,KAAK,CAAE,CAAA;AAChE,SAAA;AACJ,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAmB,GAAA,EAAA,aAAA;AAAAC,MAAAA,KAAA,EAGA,SAAA6C,WAAWA,CAACjB,KAAK,EAAE;AACf1B,QAAAA,OAAO,CAAC0B,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC,CAAA;AAEzC,QAAA,IAAI,IAAI,CAACxC,MAAM,CAACH,OAAO,EAAE;AACrB,UAAA,IAAI,CAACG,MAAM,CAACH,OAAO,CAAC2C,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAA7B,GAAA,EAAA,SAAA;AAAAC,MAAAA,KAAA,EAGA,SAAAgH,OAAOA,GAAG;QACN,IAAI,IAAI,CAACrH,YAAY,EAAE;AACnBuF,UAAAA,aAAa,CAAC,IAAI,CAACvF,YAAY,CAAC,CAAA;AACpC,SAAA;QAEA,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;AAC1BM,QAAAA,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACrC,OAAA;AAAC,KAAA,CAAA,CAAA,CAAA;GAGL,EAAA,CAAA;EACA9B,MAAM,CAACc,MAAM,GAAGA,MAAM,CAAA;EACtBd,MAAM,CAAC4I,cAAc,GAAG,IAAI,CAAA;;AAE5B;AACA5I,EAAAA,MAAM,CAAC6I,UAAU,GAAG,UAAS9H,MAAM,EAAE;IACjC,IAAI;AACAf,MAAAA,MAAM,CAAC4I,cAAc,GAAG,IAAI9H,MAAM,CAACC,MAAM,CAAC,CAAA;MAC1C,OAAOf,MAAM,CAAC4I,cAAc,CAAA;KAC/B,CAAC,OAAOrF,KAAK,EAAE;AACZ1B,MAAAA,OAAO,CAAC0B,KAAK,CAAC,6CAA6C,EAAEA,KAAK,CAAC,CAAA;AACnE,MAAA,MAAMA,KAAK,CAAA;AACf,KAAA;GACH,CAAA;AAEL,CAAC,EAAEvD,MAAM,CAAC"}
@@ -253,9 +253,6 @@
253
253
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
254
254
  var options,
255
255
  response,
256
- testData,
257
- qrData,
258
- qrUrl,
259
256
  _args = arguments,
260
257
  _t;
261
258
  return _regenerator().w(function (_context) {
@@ -290,33 +287,9 @@
290
287
  case 5:
291
288
  _context.p = 5;
292
289
  _t = _context.v;
293
- console.warn('Erreur API détectée, génération d\'un QR code de test:', _t.message);
294
-
295
- // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
296
- testData = _objectSpread2({
297
- type: 'auth',
298
- clientId: this.config.clientId,
299
- timestamp: Date.now(),
300
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
301
- apiUrl: this.config.apiUrl,
302
- error: _t.message,
303
- errorType: _t.name,
304
- fallback: true
305
- }, options);
306
- qrData = JSON.stringify(testData);
307
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(qrData));
308
- this.displayQRCode(containerId, qrUrl, 'auth', options);
309
- this.startAutoRefresh(containerId, 'auth', options);
310
- return _context.a(2, {
311
- success: true,
312
- data: {
313
- sessionId: testData.sessionId,
314
- qrCodeUrl: qrUrl,
315
- expires: Date.now() + 30000,
316
- type: 'auth',
317
- fallback: true
318
- }
319
- });
290
+ console.error('Erreur API détectée:', _t.message);
291
+ this.displayServiceUnavailable(containerId, 'auth');
292
+ throw new Error('Service non disponible');
320
293
  case 6:
321
294
  return _context.a(2);
322
295
  }
@@ -337,9 +310,6 @@
337
310
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
338
311
  var options,
339
312
  response,
340
- testData,
341
- qrData,
342
- qrUrl,
343
313
  _args2 = arguments,
344
314
  _t2;
345
315
  return _regenerator().w(function (_context2) {
@@ -374,33 +344,9 @@
374
344
  case 5:
375
345
  _context2.p = 5;
376
346
  _t2 = _context2.v;
377
- console.warn('Erreur API détectée, génération d\'un QR code KYC de test:', _t2.message);
378
-
379
- // En cas d'échec de l'API, générer un QR code de test
380
- testData = _objectSpread2({
381
- type: 'kyc',
382
- clientId: this.config.clientId,
383
- timestamp: Date.now(),
384
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
385
- apiUrl: this.config.apiUrl,
386
- error: _t2.message,
387
- errorType: _t2.name,
388
- fallback: true
389
- }, options);
390
- qrData = JSON.stringify(testData);
391
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(qrData));
392
- this.displayQRCode(containerId, qrUrl, 'kyc', options);
393
- this.startAutoRefresh(containerId, 'kyc', options);
394
- return _context2.a(2, {
395
- success: true,
396
- data: {
397
- sessionId: testData.sessionId,
398
- qrCodeUrl: qrUrl,
399
- expires: Date.now() + 30000,
400
- type: 'kyc',
401
- fallback: true
402
- }
403
- });
347
+ console.error('Erreur API détectée:', _t2.message);
348
+ this.displayServiceUnavailable(containerId, 'kyc');
349
+ throw new Error('Service non disponible');
404
350
  case 6:
405
351
  return _context2.a(2);
406
352
  }
@@ -490,6 +436,20 @@
490
436
  this.applyTheme(options.theme || this.config.theme);
491
437
  }
492
438
 
439
+ /**
440
+ * Afficher "Service non disponible"
441
+ */
442
+ }, {
443
+ key: "displayServiceUnavailable",
444
+ value: function displayServiceUnavailable(containerId, type) {
445
+ var container = document.getElementById(containerId);
446
+ if (!container) {
447
+ console.error("Container ".concat(containerId, " non trouv\xE9"));
448
+ return;
449
+ }
450
+ container.innerHTML = "\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">\u26A0\uFE0F</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez r\xE9essayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ".concat(type.toUpperCase(), "\n </div>\n </div>\n ");
451
+ }
452
+
493
453
  /**
494
454
  * Rafraîchir un QR code
495
455
  */
@@ -528,7 +488,8 @@
528
488
  case 6:
529
489
  _context4.p = 6;
530
490
  _t5 = _context4.v;
531
- this.handleError(_t5);
491
+ console.error('Erreur lors du rafraîchissement:', _t5.message);
492
+ this.displayServiceUnavailable(containerId, type);
532
493
  throw _t5;
533
494
  case 7:
534
495
  return _context4.a(2);
@@ -1 +1 @@
1
- {"version":3,"file":"sunuid-sdk.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'auth',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code KYC de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'kyc',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","name","fallback","JSON","stringify","concat","encodeURIComponent","expires","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","body","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
1
+ {"version":3,"file":"sunuid-sdk.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'auth');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'kyc');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Afficher \"Service non disponible\"\n */\n displayServiceUnavailable(containerId, type) {\n const container = document.getElementById(containerId);\n if (!container) {\n console.error(`Container ${containerId} non trouvé`);\n return;\n }\n\n container.innerHTML = `\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">⚠️</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ${type.toUpperCase()}\n </div>\n </div>\n `;\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n console.error('Erreur lors du rafraîchissement:', error.message);\n this.displayServiceUnavailable(containerId, type);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","sessionId","_t3","_context3","handleError","checkQRStatus","_x3","qrUrl","container","document","getElementById","concat","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","toUpperCase","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","warn","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- !function(){"use strict";function e(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function t(t){return function(){var n=this,r=arguments;return new Promise(function(i,o){var a=t.apply(n,r);function s(t){e(a,i,o,s,c,"next",t)}function c(t){e(a,i,o,s,c,"throw",t)}s(void 0)})}}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function r(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(){
1
+ !function(){"use strict";function e(e,n,r,t,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?n(c):Promise.resolve(c).then(t,i)}function n(n){return function(){var r=this,t=arguments;return new Promise(function(i,o){var a=n.apply(r,t);function s(n){e(a,i,o,s,c,"next",n)}function c(n){e(a,i,o,s,c,"throw",n)}s(void 0)})}}function r(e,n){for(var r=0;r<n.length;r++){var t=n[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,c(t.key),t)}}function t(e,n,r){return(n=c(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function i(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function o(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?i(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function a(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var a=r&&r.prototype instanceof u?r:u,l=Object.create(a.prototype);return s(l,"_invoke",function(n,r,i){var o,a,s,u=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return o=t,a=0,s=e,d.n=n,c}};function h(n,r){for(a=n,s=r,t=0;!f&&u&&!i&&t<l.length;t++){var i,o=l[t],h=d.p,p=o[2];n>3?(i=p===r)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=h&&((i=n<2&&h<o[1])?(a=0,d.v=r,d.n=o[1]):h<p&&(i=n<3||o[0]>r||r>p)&&(o[4]=n,o[5]=r,d.n=p,a=0))}if(i||n>1)return c;throw f=!0,r}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,p),a=l,s=p;(t=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(d.n=-1),h(a,s)):d.n=s:d.v=s);try{if(u=2,o){if(a||(i="next"),t=o[i]){if(!(t=t.call(o,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=o.return)&&t.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((t=(f=d.n<0)?s:n.call(r,d))!==c)break}catch(t){o=e,a=1,s=t}finally{u=1}}return{value:t,done:f}}}(n,i,o),!0),l}var c={};function u(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][r]?t(t([][r]())):(s(t={},r,function(){return this}),t),h=f.prototype=u.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,s(h,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(h),s(h,i,"Generator"),s(h,r,function(){return this}),s(h,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:p}})()}function s(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,t,n,r){function o(t,n){s(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},s(e,t,n,r)}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}
3
+ var e,n,r="function"==typeof Symbol?Symbol:{},t=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,t,i,o){var a=t&&t.prototype instanceof u?t:u,l=Object.create(a.prototype);return s(l,"_invoke",function(r,t,i){var o,a,s,u=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(n,r){return o=n,a=0,s=e,d.n=r,c}};function h(r,t){for(a=r,s=t,n=0;!f&&u&&!i&&n<l.length;n++){var i,o=l[n],h=d.p,p=o[2];r>3?(i=p===t)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=h&&((i=r<2&&h<o[1])?(a=0,d.v=t,d.n=o[1]):h<p&&(i=r<3||o[0]>t||t>p)&&(o[4]=r,o[5]=t,d.n=p,a=0))}if(i||r>1)return c;throw f=!0,t}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,p),a=l,s=p;(n=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(d.n=-1),h(a,s)):d.n=s:d.v=s);try{if(u=2,o){if(a||(i="next"),n=o[i]){if(!(n=n.call(o,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=o.return)&&n.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((n=(f=d.n<0)?s:r.call(t,d))!==c)break}catch(n){o=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(r,i,o),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var d=[][t]?n(n([][t]())):(s(n={},t,function(){return this}),n),h=f.prototype=u.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,s(h,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(h),s(h,i,"Generator"),s(h,t,function(){return this}),s(h,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:p}})()}function s(e,n,r,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,n,r,t){function o(n,r){s(e,n,function(e){return this._invoke(n,r,e)})}n?i?i(e,n,{value:r,enumerable:!t,configurable:!t,writable:!t}):e[n]=r:(o("next",0),o("throw",1),o("return",2))},s(e,n,r,t)}function c(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,n||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}
4
4
  /**
5
5
  * SunuID SDK - Package d'intégration pour partenaires
6
6
  *
7
7
  * @version 1.0.0
8
8
  * @author SunuID Team
9
9
  * @license MIT
10
- */!function(e,r){var i={apiUrl:(null===(r=e.SunuIDConfig)||void 0===r?void 0:r.apiUrl)||"https://api.sunuid.fayma.sn",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},s=function(){return r=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},i),t),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},s=[{key:"init",value:function(){if(!this.config.clientId||!this.config.secretId)throw new Error("SunuID: clientId et secretId sont requis");this.isInitialized=!0,console.log("SunuID SDK initialisé avec succès")}},{key:"generateAuthQR",value:(h=t(a().m(function e(t){var n,r,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-generate",o({type:"auth"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qrCodeUrl,"auth",n),this.startAutoRefresh(t,"auth",n),e.a(2,r.data);case 3:throw new Error(r.message||"Erreur lors de la génération du QR code");case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code de test:",u.message),i=o({type:"auth",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),apiUrl:this.config.apiUrl,error:u.message,errorType:u.name,fallback:!0},n),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"auth",n),this.startAutoRefresh(t,"auth",n),e.a(2,{success:!0,data:{sessionId:i.sessionId,qrCodeUrl:c,expires:Date.now()+3e4,type:"auth",fallback:!0}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return h.apply(this,arguments)})},{key:"generateKYCQR",value:(d=t(a().m(function e(t){var n,r,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-generate",o({type:"kyc"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qrCodeUrl,"kyc",n),this.startAutoRefresh(t,"kyc",n),e.a(2,r.data);case 3:throw new Error(r.message||"Erreur lors de la génération du QR code KYC");case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code KYC de test:",u.message),i=o({type:"kyc",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),apiUrl:this.config.apiUrl,error:u.message,errorType:u.name,fallback:!0},n),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"kyc",n),this.startAutoRefresh(t,"kyc",n),e.a(2,{success:!0,data:{sessionId:i.sessionId,qrCodeUrl:c,expires:Date.now()+3e4,type:"kyc",fallback:!0}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return d.apply(this,arguments)})},{key:"checkQRStatus",value:(f=t(a().m(function e(t){var n,r;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-status",{sessionId:t});case 2:if(!(n=e.v).success){e.n=3;break}return e.a(2,n.data);case 3:throw new Error(n.message||"Erreur lors de la vérification du statut");case 4:e.n=6;break;case 5:throw e.p=5,r=e.v,this.handleError(r),r;case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"displayQRCode",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=document.getElementById(e);if(!i)throw new Error("Conteneur avec l'ID \"".concat(e,'" non trouvé'));i.innerHTML="";var o=document.createElement("div");o.className="sunuid-qr-code",o.innerHTML='\n <div class="sunuid-qr-header">\n <h3>'.concat("auth"===n?"Authentification":"Vérification KYC",'</h3>\n <div class="sunuid-timer">\n <span>Expire dans: </span>\n <span id="sunuid-timer">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class="sunuid-qr-image">\n <img src="').concat(t,'" alt="QR Code SunuID" style="max-width: 300px; height: auto;">\n </div>\n <div class="sunuid-qr-instructions">\n <p>Scannez ce QR code avec l\'application SunuID pour vous connecter</p>\n </div>\n <div class="sunuid-qr-status" id="sunuid-status">\n <p>En attente de scan...</p>\n </div>\n '),i.appendChild(o),this.startTimer(),this.applyTheme(r.theme||this.config.theme)}},{key:"refreshQR",value:(l=t(a().m(function e(t,n){var r,i,o,s,c=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=c.length>2&&void 0!==c[2]?c[2]:{},e.p=1,"auth"!==n){e.n=3;break}return e.n=2,this.generateAuthQR(t,r);case 2:o=e.v,e.n=5;break;case 3:return e.n=4,this.generateKYCQR(t,r);case 4:o=e.v;case 5:return i=o,e.a(2,i);case 6:throw e.p=6,s=e.v,this.handleError(s),s;case 7:return e.a(2)}},e,this,[[1,6]])})),function(e,t){return l.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,n,r){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(t(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,i.refreshQR(e,n,r);case 1:t.n=3;break;case 2:t.p=2,o=t.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return t.a(2)}},t,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,t=30,n=document.getElementById("sunuid-timer"),r=setInterval(function(){t--,n&&(n.textContent=t),t<=0&&(clearInterval(r),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(u=t(a().m(function t(n,r){var i,s,c,u,l,f,d,h;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return s=(null===(i=e.SunuIDConfig)||void 0===i||null===(i=i.endpoints)||void 0===i?void 0:i[n.replace("/","")])||n,c="".concat(this.config.apiUrl).concat(s),t.p=1,t.n=2,fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(this.config.clientId,":").concat(this.config.secretId),Accept:"application/json"},body:JSON.stringify(o(o({},r),{},{client_id:this.config.clientId,secret_id:this.config.secretId}))});case 2:if((u=t.v).ok){t.n=4;break}return t.n=3,u.text();case 3:l=t.v;try{f=JSON.parse(l)}catch(e){f={message:l}}throw new Error(f.message||"Erreur HTTP: ".concat(u.status));case 4:return t.n=5,u.json();case 5:return d=t.v,t.a(2,d);case 6:throw t.p=6,h=t.v,console.error("Erreur API SunuID:",h),h;case 7:return t.a(2)}},t,this,[[1,6]])})),function(e,t){return u.apply(this,arguments)})},{key:"applyTheme",value:function(e){var t=document.querySelector(".sunuid-qr-code");t&&(t.className="sunuid-qr-code sunuid-theme-".concat(e))}},{key:"handleError",value:function(e){console.error("SunuID SDK Error:",e),this.config.onError&&this.config.onError(e)}},{key:"destroy",value:function(){this.refreshTimer&&clearInterval(this.refreshTimer),this.isInitialized=!1,console.log("SunuID SDK détruit")}}],s&&n(r.prototype,s),c&&n(r,c),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,s,c,u,l,f,d,h}();e.SunuID=s,e.sunuidInstance=null,e.initSunuID=function(t){try{return e.sunuidInstance=new s(t),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
10
+ */!function(e,t){var i={apiUrl:(null===(t=e.SunuIDConfig)||void 0===t?void 0:t.apiUrl)||"https://api.sunuid.fayma.sn",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},s=function(){return t=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},i),n),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},s=[{key:"init",value:function(){if(!this.config.clientId||!this.config.secretId)throw new Error("SunuID: clientId et secretId sont requis");this.isInitialized=!0,console.log("SunuID SDK initialisé avec succès")}},{key:"generateAuthQR",value:(h=n(a().m(function e(n){var r,t,i,s=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=s.length>1&&void 0!==s[1]?s[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-generate",o({type:"auth"},r));case 2:if(!(t=e.v).success){e.n=3;break}return this.displayQRCode(n,t.data.qrCodeUrl,"auth",r),this.startAutoRefresh(n,"auth",r),e.a(2,t.data);case 3:throw new Error(t.message||"Erreur lors de la génération du QR code");case 4:e.n=6;break;case 5:throw e.p=5,i=e.v,console.error("Erreur API détectée:",i.message),this.displayServiceUnavailable(n,"auth"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return h.apply(this,arguments)})},{key:"generateKYCQR",value:(d=n(a().m(function e(n){var r,t,i,s=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=s.length>1&&void 0!==s[1]?s[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-generate",o({type:"kyc"},r));case 2:if(!(t=e.v).success){e.n=3;break}return this.displayQRCode(n,t.data.qrCodeUrl,"kyc",r),this.startAutoRefresh(n,"kyc",r),e.a(2,t.data);case 3:throw new Error(t.message||"Erreur lors de la génération du QR code KYC");case 4:e.n=6;break;case 5:throw e.p=5,i=e.v,console.error("Erreur API détectée:",i.message),this.displayServiceUnavailable(n,"kyc"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return d.apply(this,arguments)})},{key:"checkQRStatus",value:(f=n(a().m(function e(n){var r,t;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/qr-status",{sessionId:n});case 2:if(!(r=e.v).success){e.n=3;break}return e.a(2,r.data);case 3:throw new Error(r.message||"Erreur lors de la vérification du statut");case 4:e.n=6;break;case 5:throw e.p=5,t=e.v,this.handleError(t),t;case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"displayQRCode",value:function(e,n,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=document.getElementById(e);if(!i)throw new Error("Conteneur avec l'ID \"".concat(e,'" non trouvé'));i.innerHTML="";var o=document.createElement("div");o.className="sunuid-qr-code",o.innerHTML='\n <div class="sunuid-qr-header">\n <h3>'.concat("auth"===r?"Authentification":"Vérification KYC",'</h3>\n <div class="sunuid-timer">\n <span>Expire dans: </span>\n <span id="sunuid-timer">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class="sunuid-qr-image">\n <img src="').concat(n,'" alt="QR Code SunuID" style="max-width: 300px; height: auto;">\n </div>\n <div class="sunuid-qr-instructions">\n <p>Scannez ce QR code avec l\'application SunuID pour vous connecter</p>\n </div>\n <div class="sunuid-qr-status" id="sunuid-status">\n <p>En attente de scan...</p>\n </div>\n '),i.appendChild(o),this.startTimer(),this.applyTheme(t.theme||this.config.theme)}},{key:"displayServiceUnavailable",value:function(e,n){var r=document.getElementById(e);r?r.innerHTML='\n <div class="sunuid-service-unavailable" style="\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n ">\n <div style="font-size: 48px; margin-bottom: 20px;">⚠️</div>\n <h3 style="margin: 0 0 10px 0; color: #495057;">Service Non Disponible</h3>\n <p style="margin: 0; font-size: 14px;">\n Le service d\'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style="margin-top: 20px; font-size: 12px; color: #adb5bd;">\n Type: '.concat(n.toUpperCase(),"\n </div>\n </div>\n "):console.error("Container ".concat(e," non trouvé"))}},{key:"refreshQR",value:(l=n(a().m(function e(n,r){var t,i,o,s,c=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=c.length>2&&void 0!==c[2]?c[2]:{},e.p=1,"auth"!==r){e.n=3;break}return e.n=2,this.generateAuthQR(n,t);case 2:o=e.v,e.n=5;break;case 3:return e.n=4,this.generateKYCQR(n,t);case 4:o=e.v;case 5:return i=o,e.a(2,i);case 6:throw e.p=6,s=e.v,console.error("Erreur lors du rafraîchissement:",s.message),this.displayServiceUnavailable(n,r),s;case 7:return e.a(2)}},e,this,[[1,6]])})),function(e,n){return l.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,r,t){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(n(a().m(function n(){var o;return a().w(function(n){for(;;)switch(n.p=n.n){case 0:return n.p=0,n.n=1,i.refreshQR(e,r,t);case 1:n.n=3;break;case 2:n.p=2,o=n.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return n.a(2)}},n,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,n=30,r=document.getElementById("sunuid-timer"),t=setInterval(function(){n--,r&&(r.textContent=n),n<=0&&(clearInterval(t),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(u=n(a().m(function n(r,t){var i,s,c,u,l,f,d,h;return a().w(function(n){for(;;)switch(n.p=n.n){case 0:return s=(null===(i=e.SunuIDConfig)||void 0===i||null===(i=i.endpoints)||void 0===i?void 0:i[r.replace("/","")])||r,c="".concat(this.config.apiUrl).concat(s),n.p=1,n.n=2,fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(this.config.clientId,":").concat(this.config.secretId),Accept:"application/json"},body:JSON.stringify(o(o({},t),{},{client_id:this.config.clientId,secret_id:this.config.secretId}))});case 2:if((u=n.v).ok){n.n=4;break}return n.n=3,u.text();case 3:l=n.v;try{f=JSON.parse(l)}catch(e){f={message:l}}throw new Error(f.message||"Erreur HTTP: ".concat(u.status));case 4:return n.n=5,u.json();case 5:return d=n.v,n.a(2,d);case 6:throw n.p=6,h=n.v,console.error("Erreur API SunuID:",h),h;case 7:return n.a(2)}},n,this,[[1,6]])})),function(e,n){return u.apply(this,arguments)})},{key:"applyTheme",value:function(e){var n=document.querySelector(".sunuid-qr-code");n&&(n.className="sunuid-qr-code sunuid-theme-".concat(e))}},{key:"handleError",value:function(e){console.error("SunuID SDK Error:",e),this.config.onError&&this.config.onError(e)}},{key:"destroy",value:function(){this.refreshTimer&&clearInterval(this.refreshTimer),this.isInitialized=!1,console.log("SunuID SDK détruit")}}],s&&r(t.prototype,s),c&&r(t,c),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,s,c,u,l,f,d,h}();e.SunuID=s,e.sunuidInstance=null,e.initSunuID=function(n){try{return e.sunuidInstance=new s(n),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
11
11
  //# sourceMappingURL=sunuid-sdk.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sunuid-sdk.min.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'auth',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code KYC de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n fallback: true,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n sessionId: testData.sessionId,\n qrCodeUrl: qrUrl,\n expires: Date.now() + 30000,\n type: 'kyc',\n fallback: true\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","this","_objectSpread","qrCode","refreshTimer","isInitialized","init","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_t","_args","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","name","fallback","JSON","stringify","concat","encodeURIComponent","expires","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","_x2","_checkQRStatus","_callee3","_t3","_context3","handleError","_x3","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","_refreshQR","_callee4","result","_t4","_t5","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","refreshQR","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","Authorization","Accept","body","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","sunuidInstance","initSunuID"],"mappings":";;;;;;;;;MAQA,SAAUA,EAAMC,GAIZ,IAAMC,EAAiB,CACnBC,QAA2BF,QAAnBA,EAAAD,EAAOI,oBAAPH,IAAmBA,OAAnBA,EAAAA,EAAqBE,SAAU,8BACvCE,SAAU,KACVC,SAAU,KACVC,MAAO,QACPC,SAAU,KACVC,aAAa,EACbC,gBAAiB,IACjBC,UAAW,KACXC,QAAS,KACTC,UAAW,MAMTC,EAAM,WAUR,SATA,SAAAA,IAAyB,IAAbC,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,+FAAEG,MAAAL,GACnBM,KAAKL,OAAMM,EAAAA,EAAQnB,CAAAA,EAAAA,GAAmBa,GACtCK,KAAKE,OAAS,KACdF,KAAKG,aAAe,KACpBH,KAAKI,eAAgB,EAErBJ,KAAKK,MACT,IAEA,CAAA,CAAAC,IAAA,OAAAC,MAGA,WACI,IAAKP,KAAKL,OAAOV,WAAae,KAAKL,OAAOT,SACtC,MAAM,IAAIsB,MAAM,4CAGpBR,KAAKI,eAAgB,EACrBK,QAAQC,IAAI,oCAChB,GAEA,CAAAJ,IAAA,iBAAAC,OAAAI,EAAAC,EAAAC,IAAAC,EAGA,SAAAC,EAAqBC,GAAW,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3B,UAAA,OAAAiB,IAAAW,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EAAc,GAAZV,EAAOM,EAAA1B,OAAA0B,QAAAzB,IAAAyB,EAAAzB,GAAAyB,EAAG,GAAA,CAAA,EACnCvB,KAAKI,cAAa,CAAAqB,EAAAE,EAAA,EAAA,KAAA,CAAA,MACb,IAAInB,MAAM,8BAA6B,KAAA,EAAA,OAAAiB,EAAAC,EAAA,EAAAD,EAAAE,EAAA,EAItB3B,KAAK4B,YAAY,eAAc3B,EAAA,CAClD4B,KAAM,QACHZ,IACL,KAAA,EAHY,KAARC,EAAQO,EAAAK,GAKDC,QAAO,CAAAN,EAAAE,EAAA,EAAA,KAAA,CAEoC,OADpD3B,KAAKgC,cAAchB,EAAaE,EAASe,KAAKC,UAAW,OAAQjB,GACjEjB,KAAKmC,iBAAiBnB,EAAa,OAAQC,GAASQ,EAAAW,EAC7ClB,EAAAA,EAASe,MAAI,KAAA,EAAA,MAEd,IAAIzB,MAAMU,EAASmB,SAAW,2CAA0C,KAAA,EAAAZ,EAAAE,EAAA,EAAA,MAAA,KAAA,EAsB9B,OAtB8BF,EAAAC,EAAA,EAAAJ,EAAAG,EAAAK,EAGlFrB,QAAQ6B,KAAK,wDAA0DhB,EAAMe,SAGvElB,EAAQlB,EAAA,CACV4B,KAAM,OACN5C,SAAUe,KAAKL,OAAOV,SACtBsD,UAAWC,KAAKC,MAChBC,UAAW,QAAUC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,GAC1D/D,OAAQiB,KAAKL,OAAOZ,OACpBgE,MAAOzB,EAAMe,QACbW,UAAW1B,EAAM2B,KACjBC,UAAU,GACPjC,GAGDG,EAAS+B,KAAKC,UAAUjC,GACxBE,mEAAKgC,OAAoEC,mBAAmBlC,IAElGpB,KAAKgC,cAAchB,EAAaK,EAAO,OAAQJ,GAC/CjB,KAAKmC,iBAAiBnB,EAAa,OAAQC,GAASQ,EAAAW,EAE7C,EAAA,CACHL,SAAS,EACTE,KAAM,CACFS,UAAWvB,EAASuB,UACpBR,UAAWb,EACXkC,QAASf,KAAKC,MAAQ,IACtBZ,KAAM,OACNqB,UAAU,KAEjB,KAAA,EAAA,OAAAzB,EAAAW,EAAA,GAAA,EAAArB,EAAAf,KAAA,CAAA,CAAA,EAAA,IAER,IAAA,SAnDmBwD,GAAA,OAAA7C,EAAA8C,MAAAzD,KAAAJ,UAAA,IAqDpB,CAAAU,IAAA,gBAAAC,OAAAmD,EAAA9C,EAAAC,IAAAC,EAGA,SAAA6C,EAAoB3C,GAAW,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAuC,EAAAC,EAAAjE,UAAA,OAAAiB,IAAAW,EAAA,SAAAsC,GAAA,cAAAA,EAAApC,EAAAoC,EAAAnC,GAAA,KAAA,EAAc,GAAZV,EAAO4C,EAAAhE,OAAAgE,QAAA/D,IAAA+D,EAAA/D,GAAA+D,EAAG,GAAA,CAAA,EAClC7D,KAAKI,cAAa,CAAA0D,EAAAnC,EAAA,EAAA,KAAA,CAAA,MACb,IAAInB,MAAM,8BAA6B,KAAA,EAAA,OAAAsD,EAAApC,EAAA,EAAAoC,EAAAnC,EAAA,EAItB3B,KAAK4B,YAAY,eAAc3B,EAAA,CAClD4B,KAAM,OACHZ,IACL,KAAA,EAHY,KAARC,EAAQ4C,EAAAhC,GAKDC,QAAO,CAAA+B,EAAAnC,EAAA,EAAA,KAAA,CAEmC,OADnD3B,KAAKgC,cAAchB,EAAaE,EAASe,KAAKC,UAAW,MAAOjB,GAChEjB,KAAKmC,iBAAiBnB,EAAa,MAAOC,GAAS6C,EAAA1B,EAC5ClB,EAAAA,EAASe,MAAI,KAAA,EAAA,MAEd,IAAIzB,MAAMU,EAASmB,SAAW,+CAA8C,KAAA,EAAAyB,EAAAnC,EAAA,EAAA,MAAA,KAAA,EAsBnC,OAtBmCmC,EAAApC,EAAA,EAAAkC,EAAAE,EAAAhC,EAGtFrB,QAAQ6B,KAAK,4DAA8DsB,EAAMvB,SAG3ElB,EAAQlB,EAAA,CACV4B,KAAM,MACN5C,SAAUe,KAAKL,OAAOV,SACtBsD,UAAWC,KAAKC,MAChBC,UAAW,QAAUC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,GAC1D/D,OAAQiB,KAAKL,OAAOZ,OACpBgE,MAAOa,EAAMvB,QACbW,UAAWY,EAAMX,KACjBC,UAAU,GACPjC,GAGDG,EAAS+B,KAAKC,UAAUjC,GACxBE,mEAAKgC,OAAoEC,mBAAmBlC,IAElGpB,KAAKgC,cAAchB,EAAaK,EAAO,MAAOJ,GAC9CjB,KAAKmC,iBAAiBnB,EAAa,MAAOC,GAAS6C,EAAA1B,EAE5C,EAAA,CACHL,SAAS,EACTE,KAAM,CACFS,UAAWvB,EAASuB,UACpBR,UAAWb,EACXkC,QAASf,KAAKC,MAAQ,IACtBZ,KAAM,MACNqB,UAAU,KAEjB,KAAA,EAAA,OAAAY,EAAA1B,EAAA,GAAA,EAAAuB,EAAA3D,KAAA,CAAA,CAAA,EAAA,IAER,IAAA,SAnDkB+D,GAAA,OAAAL,EAAAD,MAAAzD,KAAAJ,UAAA,IAqDnB,CAAAU,IAAA,gBAAAC,OAAAyD,EAAApD,EAAAC,IAAAC,EAGA,SAAAmD,EAAoBvB,GAAS,IAAAxB,EAAAgD,EAAA,OAAArD,IAAAW,EAAA,SAAA2C,GAAA,cAAAA,EAAAzC,EAAAyC,EAAAxC,GAAA,KAAA,EAAA,GACpB3B,KAAKI,cAAa,CAAA+D,EAAAxC,EAAA,EAAA,KAAA,CAAA,MACb,IAAInB,MAAM,8BAA6B,KAAA,EAAA,OAAA2D,EAAAzC,EAAA,EAAAyC,EAAAxC,EAAA,EAItB3B,KAAK4B,YAAY,aAAc,CAClDc,UAAWA,IACb,KAAA,EAFY,KAARxB,EAAQiD,EAAArC,GAIDC,QAAO,CAAAoC,EAAAxC,EAAA,EAAA,KAAA,CAAA,OAAAwC,EAAA/B,EACblB,EAAAA,EAASe,MAAI,KAAA,EAAA,MAEV,IAAIzB,MAAMU,EAASmB,SAAW,4CAA2C,KAAA,EAAA8B,EAAAxC,EAAA,EAAA,MAAA,KAAA,EAG3D,MAH2DwC,EAAAzC,EAAA,EAAAwC,EAAAC,EAAArC,EAGnF9B,KAAKoE,YAAWF,GAAQA,EAAA,KAAA,EAAA,OAAAC,EAAA/B,EAAA,GAAA,EAAA6B,EAAAjE,KAAA,CAAA,CAAA,EAAA,IAG/B,IAAA,SAnBkBqE,GAAA,OAAAL,EAAAP,MAAAzD,KAAAJ,UAAA,IAqBnB,CAAAU,IAAA,gBAAAC,MAGA,SAAcS,EAAaK,EAAOQ,GAAoB,IAAdZ,EAAOrB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EACxC0E,EAAYC,SAASC,eAAexD,GAC1C,IAAKsD,EACD,MAAM,IAAI9D,MAAK,yBAAA6C,OAAyBrC,mBAI5CsD,EAAUG,UAAY,GAGtB,IAAMC,EAAYH,SAASI,cAAc,OACzCD,EAAUE,UAAY,iBACtBF,EAAUD,UAAS,iFAAApB,OAEI,SAATxB,EAAkB,mBAAqB,mBAAkB,mWAAAwB,OAQnDhC,EAQnB,0aAEDiD,EAAUO,YAAYH,GAGtB1E,KAAK8E,aAGL9E,KAAK+E,WAAW9D,EAAQ9B,OAASa,KAAKL,OAAOR,MACjD,GAEA,CAAAmB,IAAA,YAAAC,OAAAyE,EAAApE,EAAAC,IAAAC,EAGA,SAAAmE,EAAgBjE,EAAaa,GAAI,IAAAZ,EAAAiE,EAAAC,EAAAC,EAAAC,EAAAzF,UAAA,OAAAiB,IAAAW,EAAA,SAAA8D,GAAA,cAAAA,EAAA5D,EAAA4D,EAAA3D,GAAA,KAAA,EAAc,GAAZV,EAAOoE,EAAAxF,OAAAwF,QAAAvF,IAAAuF,EAAAvF,GAAAuF,EAAG,GAAA,CAAA,EAAEC,EAAA5D,EAAA,EAEf,SAATG,EAAe,CAAAyD,EAAA3D,EAAA,EAAA,KAAA,CAAA,OAAA2D,EAAA3D,EAAA,EAClB3B,KAAKuF,eAAevE,EAAaC,GAAQ,KAAA,EAAAkE,EAAAG,EAAAxD,EAAAwD,EAAA3D,EAAA,EAAA,MAAA,KAAA,EAAA,OAAA2D,EAAA3D,EAAA,EACzC3B,KAAKwF,cAAcxE,EAAaC,GAAQ,KAAA,EAAAkE,EAAAG,EAAAxD,EAAA,KAAA,EAFxC,OAANoD,EAAMC,EAAAG,EAAAlD,EAAA,EAIL8C,GAAM,KAAA,EAEW,MAFXI,EAAA5D,EAAA,EAAA0D,EAAAE,EAAAxD,EAEb9B,KAAKoE,YAAWgB,GAAQA,EAAA,KAAA,EAAA,OAAAE,EAAAlD,EAAA,GAAA,EAAA6C,EAAAjF,KAAA,CAAA,CAAA,EAAA,IAG/B,IAAA,SAXcyF,EAAAC,GAAA,OAAAV,EAAAvB,MAAAzD,KAAAJ,UAAA,IAaf,CAAAU,IAAA,mBAAAC,MAGA,SAAiBS,EAAaa,EAAMZ,GAAS,IAAA0E,EAAA3F,KACpCA,KAAKL,OAAON,cAEjBW,KAAKG,aAAeyF,YAAWhF,EAAAC,IAAAC,EAAC,SAAA+E,IAAA,IAAAC,EAAA,OAAAjF,IAAAW,EAAA,SAAAuE,GAAA,cAAAA,EAAArE,EAAAqE,EAAApE,GAAA,KAAA,EAAA,OAAAoE,EAAArE,EAAA,EAAAqE,EAAApE,EAAA,EAElBgE,EAAKK,UAAUhF,EAAaa,EAAMZ,GAAQ,KAAA,EAAA8E,EAAApE,EAAA,EAAA,MAAA,KAAA,EAAAoE,EAAArE,EAAA,EAAAoE,EAAAC,EAAAjE,EAEhDrB,QAAQ6B,KAAK,+CAA8CwD,GAAS,KAAA,EAAA,OAAAC,EAAA3D,EAAA,GAAA,EAAAyD,EAAA,KAAA,CAAA,CAAA,EAAA,IAE3E,IAAE7F,KAAKL,OAAOL,iBACnB,GAEA,CAAAgB,IAAA,aAAAC,MAGA,WAAa,IAAA0F,EAAAjG,KACLkG,EAAW,GACTC,EAAe5B,SAASC,eAAe,gBAEvC4B,EAAQR,YAAY,WACtBM,IACIC,IACAA,EAAaE,YAAcH,GAG3BA,GAAY,IACZI,cAAcF,GACVH,EAAKtG,OAAOF,WACZwG,EAAKtG,OAAOF,YAGvB,EAAE,IACP,GAEA,CAAAa,IAAA,cAAAC,OAAAgG,EAAA3F,EAAAC,IAAAC,EAGA,SAAA0F,EAAkBC,EAAUxE,GAAI,IAAAyE,EAAAC,EAAAC,EAAA1F,EAAA2F,EAAAC,EAAA5B,EAAA6B,EAAA,OAAAlG,IAAAW,EAAA,SAAAwF,GAAA,cAAAA,EAAAtF,EAAAsF,EAAArF,GAAA,KAAA,EAGoB,OAD1CgF,GAAkC,QAAnBD,EAAA9H,EAAOI,oBAAY,IAAA0H,GAAWA,QAAXA,EAAnBA,EAAqBO,iBAArBP,IAA8BA,OAA9BA,EAAAA,EAAiCD,EAASS,QAAQ,IAAK,OAAQT,EAC9EG,EAAG,GAAAvD,OAAMrD,KAAKL,OAAOZ,QAAMsE,OAAGsD,GAAYK,EAAAtF,EAAA,EAAAsF,EAAArF,EAAA,EAGrBwF,MAAMP,EAAK,CAC9BQ,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChBC,wBAAejE,OAAYrD,KAAKL,OAAOV,SAAQoE,KAAAA,OAAIrD,KAAKL,OAAOT,UAC/DqI,OAAU,oBAEdC,KAAMrE,KAAKC,UAASnD,EAAAA,EAAA,GACbgC,GAAI,GAAA,CACPwF,UAAWzH,KAAKL,OAAOV,SACvByI,UAAW1H,KAAKL,OAAOT,cAE7B,KAAA,EAZY,IAARgC,EAAQ8F,EAAAlF,GAcA6F,GAAE,CAAAX,EAAArF,EAAA,EAAA,KAAA,CAAA,OAAAqF,EAAArF,EAAA,EACYT,EAAS0G,OAAM,KAAA,EAAjCf,EAASG,EAAAlF,EAEf,IACIgF,EAAY3D,KAAK0E,MAAMhB,EAC1B,CAAC,MAAOiB,GACLhB,EAAY,CAAEzE,QAASwE,EAC3B,CAAC,MAEK,IAAIrG,MAAMsG,EAAUzE,SAAOgB,gBAAAA,OAAoBnC,EAAS6G,SAAS,KAAA,EAAA,OAAAf,EAAArF,EAAA,EAGtDT,EAAS8G,OAAM,KAAA,EAAxB,OAAN9C,EAAM8B,EAAAlF,EAAAkF,EAAA5E,EAAA,EACL8C,GAAM,KAAA,EAE8B,MAF9B8B,EAAAtF,EAAA,EAAAqF,EAAAC,EAAAlF,EAEbrB,QAAQsC,MAAM,qBAAoBgE,GAASA,EAAA,KAAA,EAAA,OAAAC,EAAA5E,EAAA,GAAA,EAAAoE,EAAAxG,KAAA,CAAA,CAAA,EAAA,IAGlD,IAAA,SAtCgBiI,EAAAC,GAAA,OAAA3B,EAAA9C,MAAAzD,KAAAJ,UAAA,IAwCjB,CAAAU,IAAA,aAAAC,MAGA,SAAWpB,GACP,IAAMmF,EAAYC,SAAS4D,cAAc,mBACrC7D,IACAA,EAAUM,UAAS,+BAAAvB,OAAkClE,GAE7D,GAEA,CAAAmB,IAAA,cAAAC,MAGA,SAAYwC,GACRtC,QAAQsC,MAAM,oBAAqBA,GAE/B/C,KAAKL,OAAOH,SACZQ,KAAKL,OAAOH,QAAQuD,EAE5B,GAEA,CAAAzC,IAAA,UAAAC,MAGA,WACQP,KAAKG,cACLmG,cAActG,KAAKG,cAGvBH,KAAKI,eAAgB,EACrBK,QAAQC,IAAI,qBAChB,iGA1EA6F,EArDAvB,EApEAhB,EAxDAN,EAxDA/C,EAtBQ,GA6UZ/B,EAAOc,OAASA,EAChBd,EAAOwJ,eAAiB,KAGxBxJ,EAAOyJ,WAAa,SAAS1I,GACzB,IAEI,OADAf,EAAOwJ,eAAiB,IAAI1I,EAAOC,GAC5Bf,EAAOwJ,cACjB,CAAC,MAAOrF,GAEL,MADAtC,QAAQsC,MAAM,6CAA+CA,GACvDA,CACV,EAGP,CA/WD,CA+WGnE"}
1
+ {"version":3,"file":"sunuid-sdk.min.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'auth');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n this.displayServiceUnavailable(containerId, 'kyc');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Afficher \"Service non disponible\"\n */\n displayServiceUnavailable(containerId, type) {\n const container = document.getElementById(containerId);\n if (!container) {\n console.error(`Container ${containerId} non trouvé`);\n return;\n }\n\n container.innerHTML = `\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">⚠️</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ${type.toUpperCase()}\n </div>\n </div>\n `;\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n console.error('Erreur lors du rafraîchissement:', error.message);\n this.displayServiceUnavailable(containerId, type);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","this","_objectSpread","qrCode","refreshTimer","isInitialized","init","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","_t","_args","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","error","displayServiceUnavailable","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","_x2","_checkQRStatus","_callee3","sessionId","_t3","_context3","handleError","_x3","qrUrl","container","document","getElementById","concat","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","toUpperCase","_refreshQR","_callee4","result","_t4","_t5","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","refreshQR","warn","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","Authorization","Accept","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","sunuidInstance","initSunuID"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunuid-sdk",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "type": "module",
5
5
  "description": "SDK JavaScript pour l'intégration des QR codes d'authentification et KYC SunuID",
6
6
  "main": "dist/sunuid-sdk.js",