sunuid-sdk 1.0.15 → 1.0.17

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.
@@ -210,8 +210,7 @@ function _toPropertyKey(t) {
210
210
  refreshInterval: 30000,
211
211
  // 30 secondes
212
212
  onSuccess: null,
213
- onError: null,
214
- onExpired: null
213
+ onError: null
215
214
  };
216
215
 
217
216
  /**
@@ -250,6 +249,7 @@ function _toPropertyKey(t) {
250
249
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
251
250
  var options,
252
251
  response,
252
+ imageBaseUrl,
253
253
  qrImageUrl,
254
254
  _args = arguments,
255
255
  _t;
@@ -274,8 +274,9 @@ function _toPropertyKey(t) {
274
274
  _context.n = 3;
275
275
  break;
276
276
  }
277
- // Construire l'URL complète de l'image QR
278
- qrImageUrl = "".concat(this.config.apiUrl).concat(response.data.qrcode);
277
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
278
+ imageBaseUrl = 'https://sunuid.fayma.sn';
279
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
279
280
  this.displayQRCode(containerId, qrImageUrl, 'auth', options);
280
281
  this.startAutoRefresh(containerId, 'auth', options);
281
282
  return _context.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
@@ -314,6 +315,7 @@ function _toPropertyKey(t) {
314
315
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
315
316
  var options,
316
317
  response,
318
+ imageBaseUrl,
317
319
  qrImageUrl,
318
320
  _args2 = arguments,
319
321
  _t2;
@@ -338,8 +340,9 @@ function _toPropertyKey(t) {
338
340
  _context2.n = 3;
339
341
  break;
340
342
  }
341
- // Construire l'URL complète de l'image QR
342
- qrImageUrl = "".concat(this.config.apiUrl).concat(response.data.qrcode);
343
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
344
+ imageBaseUrl = 'https://sunuid.fayma.sn';
345
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
343
346
  this.displayQRCode(containerId, qrImageUrl, 'kyc', options);
344
347
  this.startAutoRefresh(containerId, 'kyc', options);
345
348
  return _context2.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
@@ -437,12 +440,9 @@ function _toPropertyKey(t) {
437
440
  // Créer l'élément QR code
438
441
  var qrElement = document.createElement('div');
439
442
  qrElement.className = 'sunuid-qr-code';
440
- qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(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=\"").concat(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 ");
443
+ qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(type === 'auth' ? 'Authentification' : 'Vérification KYC', "</h3>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"").concat(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 ");
441
444
  container.appendChild(qrElement);
442
445
 
443
- // Démarrer le timer
444
- this.startTimer();
445
-
446
446
  // Appliquer le thème
447
447
  this.applyTheme(options.theme || this.config.theme);
448
448
  }
@@ -547,25 +547,6 @@ function _toPropertyKey(t) {
547
547
  /**
548
548
  * Démarrer le timer de compte à rebours
549
549
  */
550
- }, {
551
- key: "startTimer",
552
- value: function startTimer() {
553
- var _this2 = this;
554
- var timeLeft = 30;
555
- var timerElement = document.getElementById('sunuid-timer');
556
- var timer = setInterval(function () {
557
- timeLeft--;
558
- if (timerElement) {
559
- timerElement.textContent = timeLeft;
560
- }
561
- if (timeLeft <= 0) {
562
- clearInterval(timer);
563
- if (_this2.config.onExpired) {
564
- _this2.config.onExpired();
565
- }
566
- }
567
- }, 1000);
568
- }
569
550
 
570
551
  /**
571
552
  * Effectuer une requête API
@@ -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 // Construire l'URL complète de l'image QR\n const qrImageUrl = `${this.config.apiUrl}${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\n const qrImageUrl = `${this.config.apiUrl}${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","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
+ {"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 };\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>\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 // 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\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","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","applyTheme","toUpperCase","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","warn","_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","clearInterval","sunuidInstance","initSunuID"],"mappings":"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"}
@@ -213,8 +213,7 @@
213
213
  refreshInterval: 30000,
214
214
  // 30 secondes
215
215
  onSuccess: null,
216
- onError: null,
217
- onExpired: null
216
+ onError: null
218
217
  };
219
218
 
220
219
  /**
@@ -253,6 +252,7 @@
253
252
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
254
253
  var options,
255
254
  response,
255
+ imageBaseUrl,
256
256
  qrImageUrl,
257
257
  _args = arguments,
258
258
  _t;
@@ -277,8 +277,9 @@
277
277
  _context.n = 3;
278
278
  break;
279
279
  }
280
- // Construire l'URL complète de l'image QR
281
- qrImageUrl = "".concat(this.config.apiUrl).concat(response.data.qrcode);
280
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
281
+ imageBaseUrl = 'https://sunuid.fayma.sn';
282
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
282
283
  this.displayQRCode(containerId, qrImageUrl, 'auth', options);
283
284
  this.startAutoRefresh(containerId, 'auth', options);
284
285
  return _context.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
@@ -317,6 +318,7 @@
317
318
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
318
319
  var options,
319
320
  response,
321
+ imageBaseUrl,
320
322
  qrImageUrl,
321
323
  _args2 = arguments,
322
324
  _t2;
@@ -341,8 +343,9 @@
341
343
  _context2.n = 3;
342
344
  break;
343
345
  }
344
- // Construire l'URL complète de l'image QR
345
- qrImageUrl = "".concat(this.config.apiUrl).concat(response.data.qrcode);
346
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
347
+ imageBaseUrl = 'https://sunuid.fayma.sn';
348
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
346
349
  this.displayQRCode(containerId, qrImageUrl, 'kyc', options);
347
350
  this.startAutoRefresh(containerId, 'kyc', options);
348
351
  return _context2.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
@@ -440,12 +443,9 @@
440
443
  // Créer l'élément QR code
441
444
  var qrElement = document.createElement('div');
442
445
  qrElement.className = 'sunuid-qr-code';
443
- qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(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=\"").concat(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 ");
446
+ qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(type === 'auth' ? 'Authentification' : 'Vérification KYC', "</h3>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"").concat(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 ");
444
447
  container.appendChild(qrElement);
445
448
 
446
- // Démarrer le timer
447
- this.startTimer();
448
-
449
449
  // Appliquer le thème
450
450
  this.applyTheme(options.theme || this.config.theme);
451
451
  }
@@ -550,25 +550,6 @@
550
550
  /**
551
551
  * Démarrer le timer de compte à rebours
552
552
  */
553
- }, {
554
- key: "startTimer",
555
- value: function startTimer() {
556
- var _this2 = this;
557
- var timeLeft = 30;
558
- var timerElement = document.getElementById('sunuid-timer');
559
- var timer = setInterval(function () {
560
- timeLeft--;
561
- if (timerElement) {
562
- timerElement.textContent = timeLeft;
563
- }
564
- if (timeLeft <= 0) {
565
- clearInterval(timer);
566
- if (_this2.config.onExpired) {
567
- _this2.config.onExpired();
568
- }
569
- }
570
- }, 1000);
571
- }
572
553
 
573
554
  /**
574
555
  * Effectuer une requête API
@@ -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 // Construire l'URL complète de l'image QR\n const qrImageUrl = `${this.config.apiUrl}${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\n const qrImageUrl = `${this.config.apiUrl}${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","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
+ {"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 };\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>\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 // 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\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","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","applyTheme","toUpperCase","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","warn","_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","clearInterval","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||[],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+""}
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,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(this.config.apiUrl).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(this.config.apiUrl).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)}();
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},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,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 h.apply(this,arguments)})},{key:"generateKYCQR",value:(d=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 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",{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 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>\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.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:"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 // Construire l'URL complète de l'image QR\n const qrImageUrl = `${this.config.apiUrl}${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\n const qrImageUrl = `${this.config.apiUrl}${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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"}
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 };\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>\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 // 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\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","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","applyTheme","toUpperCase","_refreshQR","_callee4","result","_t4","_t5","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","refreshQR","warn","_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","clearInterval","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.15",
3
+ "version": "1.0.17",
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",