sunuid-sdk 1.0.14 → 1.0.16

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,6 +250,8 @@ function _toPropertyKey(t) {
250
250
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
251
251
  var options,
252
252
  response,
253
+ imageBaseUrl,
254
+ qrImageUrl,
253
255
  _args = arguments,
254
256
  _t;
255
257
  return _regenerator().w(function (_context) {
@@ -273,9 +275,15 @@ function _toPropertyKey(t) {
273
275
  _context.n = 3;
274
276
  break;
275
277
  }
276
- this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);
278
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
279
+ imageBaseUrl = 'https://sunuid.fayma.sn';
280
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
281
+ this.displayQRCode(containerId, qrImageUrl, 'auth', options);
277
282
  this.startAutoRefresh(containerId, 'auth', options);
278
- return _context.a(2, response.data);
283
+ return _context.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
284
+ qrCodeUrl: qrImageUrl,
285
+ sessionId: response.data.service_id
286
+ }));
279
287
  case 3:
280
288
  throw new Error(response.message || 'Erreur lors de la génération du QR code');
281
289
  case 4:
@@ -308,6 +316,8 @@ function _toPropertyKey(t) {
308
316
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
309
317
  var options,
310
318
  response,
319
+ imageBaseUrl,
320
+ qrImageUrl,
311
321
  _args2 = arguments,
312
322
  _t2;
313
323
  return _regenerator().w(function (_context2) {
@@ -331,9 +341,15 @@ function _toPropertyKey(t) {
331
341
  _context2.n = 3;
332
342
  break;
333
343
  }
334
- this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);
344
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
345
+ imageBaseUrl = 'https://sunuid.fayma.sn';
346
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
347
+ this.displayQRCode(containerId, qrImageUrl, 'kyc', options);
335
348
  this.startAutoRefresh(containerId, 'kyc', options);
336
- return _context2.a(2, response.data);
349
+ return _context2.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
350
+ qrCodeUrl: qrImageUrl,
351
+ sessionId: response.data.service_id
352
+ }));
337
353
  case 3:
338
354
  throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');
339
355
  case 4:
@@ -377,7 +393,7 @@ function _toPropertyKey(t) {
377
393
  _context3.p = 1;
378
394
  _context3.n = 2;
379
395
  return this.makeRequest('/qr-status', {
380
- sessionId: sessionId
396
+ serviceId: sessionId
381
397
  });
382
398
  case 2:
383
399
  response = _context3.v;
@@ -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.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour auth');\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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
+ {"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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour auth');\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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 serviceId: 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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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","imageBaseUrl","qrImageUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","concat","data","qrcode","displayQRCode","startAutoRefresh","a","qrCodeUrl","sessionId","service_id","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","_t3","_context3","serviceId","handleError","checkQRStatus","_x3","qrUrl","container","document","getElementById","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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"}
@@ -253,6 +253,8 @@
253
253
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
254
254
  var options,
255
255
  response,
256
+ imageBaseUrl,
257
+ qrImageUrl,
256
258
  _args = arguments,
257
259
  _t;
258
260
  return _regenerator().w(function (_context) {
@@ -276,9 +278,15 @@
276
278
  _context.n = 3;
277
279
  break;
278
280
  }
279
- this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);
281
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
282
+ imageBaseUrl = 'https://sunuid.fayma.sn';
283
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
284
+ this.displayQRCode(containerId, qrImageUrl, 'auth', options);
280
285
  this.startAutoRefresh(containerId, 'auth', options);
281
- return _context.a(2, response.data);
286
+ return _context.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
287
+ qrCodeUrl: qrImageUrl,
288
+ sessionId: response.data.service_id
289
+ }));
282
290
  case 3:
283
291
  throw new Error(response.message || 'Erreur lors de la génération du QR code');
284
292
  case 4:
@@ -311,6 +319,8 @@
311
319
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
312
320
  var options,
313
321
  response,
322
+ imageBaseUrl,
323
+ qrImageUrl,
314
324
  _args2 = arguments,
315
325
  _t2;
316
326
  return _regenerator().w(function (_context2) {
@@ -334,9 +344,15 @@
334
344
  _context2.n = 3;
335
345
  break;
336
346
  }
337
- this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);
347
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
348
+ imageBaseUrl = 'https://sunuid.fayma.sn';
349
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
350
+ this.displayQRCode(containerId, qrImageUrl, 'kyc', options);
338
351
  this.startAutoRefresh(containerId, 'kyc', options);
339
- return _context2.a(2, response.data);
352
+ return _context2.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
353
+ qrCodeUrl: qrImageUrl,
354
+ sessionId: response.data.service_id
355
+ }));
340
356
  case 3:
341
357
  throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');
342
358
  case 4:
@@ -380,7 +396,7 @@
380
396
  _context3.p = 1;
381
397
  _context3.n = 2;
382
398
  return this.makeRequest('/qr-status', {
383
- sessionId: sessionId
399
+ serviceId: sessionId
384
400
  });
385
401
  case 2:
386
402
  response = _context3.v;
@@ -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.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour auth');\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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
+ {"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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour auth');\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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 serviceId: 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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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","imageBaseUrl","qrImageUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","concat","data","qrcode","displayQRCode","startAutoRefresh","a","qrCodeUrl","sessionId","service_id","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","_t3","_context3","serviceId","handleError","checkQRStatus","_x3","qrUrl","container","document","getElementById","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
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,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:p,f:p.bind(e,4),d:function(n,r){return o=n,a=0,s=e,d.n=r,c}};function p(r,t){for(a=r,s=t,n=0;!f&&u&&!i&&n<l.length;n++){var i,o=l[n],p=d.p,h=o[2];r>3?(i=h===t)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=p&&((i=r<2&&p<o[1])?(a=0,d.v=t,d.n=o[1]):p<h&&(i=r<3||o[0]>t||t>h)&&(o[4]=r,o[5]=t,d.n=h,a=0))}if(i||r>1)return c;throw f=!0,t}return function(i,l,h){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,h),a=l,s=h;(n=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(d.n=-1),p(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),p=f.prototype=u.prototype=Object.create(d);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(p),e}return l.prototype=f,s(p,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(p),s(p,i,"Generator"),s(p,t,function(){return this}),s(p,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:h}})()}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+""}
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||[],d=!1,f={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(n,r){return o=n,a=0,s=e,f.n=r,c}};function p(r,t){for(a=r,s=t,n=0;!d&&u&&!i&&n<l.length;n++){var i,o=l[n],p=f.p,h=o[2];r>3?(i=h===t)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=p&&((i=r<2&&p<o[1])?(a=0,f.v=t,f.n=o[1]):p<h&&(i=r<3||o[0]>t||t>h)&&(o[4]=r,o[5]=t,f.n=h,a=0))}if(i||r>1)return c;throw d=!0,t}return function(i,l,h){if(u>1)throw TypeError("Generator is already running");for(d&&1===l&&p(l,h),a=l,s=h;(n=a<2?e:s)||!d;){o||(a?a<3?(a>1&&(f.n=-1),p(a,s)):f.n=s:f.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=(d=f.n<0)?s:r.call(t,f))!==c)break}catch(n){o=e,a=1,s=n}finally{u=1}}return{value:n,done:d}}}(r,i,o),!0),l}var c={};function u(){}function l(){}function d(){}n=Object.getPrototypeOf;var f=[][t]?n(n([][t]())):(s(n={},t,function(){return this}),n),p=d.prototype=u.prototype=Object.create(f);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,s(e,i,"GeneratorFunction")),e.prototype=Object.create(p),e}return l.prototype=d,s(p,"constructor",d),s(d,"constructor",l),l.displayName="GeneratorFunction",s(d,i,"GeneratorFunction"),s(p),s(p,i,"Generator"),s(p,t,function(){return this}),s(p,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:h}})()}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,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:(p=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),console.log('Affichage du message "Service non disponible" pour auth'),this.displayServiceUnavailable(n,"auth"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return p.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),console.log('Affichage du message "Service non disponible" pour kyc'),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){console.log("displayServiceUnavailable appelée pour ".concat(e,", type: ").concat(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,p;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,p=n.v,console.error("Erreur API SunuID:",p),p;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,p}();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)}();
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:(p=n(a().m(function e(n){var r,t,i,s,c=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=c.length>1&&void 0!==c[1]?c[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 i="".concat("https://sunuid.fayma.sn").concat(t.data.qrcode),this.displayQRCode(n,i,"auth",r),this.startAutoRefresh(n,"auth",r),e.a(2,o(o({},t.data),{},{qrCodeUrl:i,sessionId:t.data.service_id}));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,s=e.v,console.error("Erreur API détectée:",s.message),console.log('Affichage du message "Service non disponible" pour auth'),this.displayServiceUnavailable(n,"auth"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return p.apply(this,arguments)})},{key:"generateKYCQR",value:(f=n(a().m(function e(n){var r,t,i,s,c=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=c.length>1&&void 0!==c[1]?c[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 i="".concat("https://sunuid.fayma.sn").concat(t.data.qrcode),this.displayQRCode(n,i,"kyc",r),this.startAutoRefresh(n,"kyc",r),e.a(2,o(o({},t.data),{},{qrCodeUrl:i,sessionId:t.data.service_id}));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,s=e.v,console.error("Erreur API détectée:",s.message),console.log('Affichage du message "Service non disponible" pour kyc'),this.displayServiceUnavailable(n,"kyc"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"checkQRStatus",value:(d=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",{serviceId: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 d.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){console.log("displayServiceUnavailable appelée pour ".concat(e,", type: ").concat(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,d,f,p;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{d=JSON.parse(l)}catch(e){d={message:l}}throw new Error(d.message||"Erreur HTTP: ".concat(u.status));case 4:return n.n=5,u.json();case 5:return f=n.v,n.a(2,f);case 6:throw n.p=6,p=n.v,console.error("Erreur API SunuID:",p),p;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,d,f,p}();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.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour auth');\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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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"}
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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour auth');\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 // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\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 console.log('Affichage du message \"Service non disponible\" pour kyc');\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 serviceId: 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 console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${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","qrImageUrl","_t","_args","w","_context","p","n","makeRequest","type","v","success","concat","data","qrcode","displayQRCode","startAutoRefresh","a","qrCodeUrl","sessionId","service_id","message","error","displayServiceUnavailable","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","_x2","_checkQRStatus","_callee3","_t3","_context3","serviceId","handleError","_x3","qrUrl","container","document","getElementById","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.14",
3
+ "version": "1.0.16",
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",