sunuid-sdk 1.0.17 → 1.0.18

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.
@@ -269,7 +269,7 @@
269
269
  _context.p = 1;
270
270
  _context.n = 2;
271
271
  return this.makeRequest('/qr-generate', _objectSpread2({
272
- type: 'auth'
272
+ type: 1
273
273
  }, options));
274
274
  case 2:
275
275
  response = _context.v;
@@ -335,7 +335,7 @@
335
335
  _context2.p = 1;
336
336
  _context2.n = 2;
337
337
  return this.makeRequest('/qr-generate', _objectSpread2({
338
- type: 'kyc'
338
+ type: 2
339
339
  }, options));
340
340
  case 2:
341
341
  response = _context2.v;
@@ -375,17 +375,23 @@
375
375
  return generateKYCQR;
376
376
  }()
377
377
  /**
378
- * Vérifier le statut d'un QR code
378
+ * Générer un QR code avec un type personnalisé
379
379
  */
380
380
  )
381
381
  }, {
382
- key: "checkQRStatus",
382
+ key: "generateCustomQR",
383
383
  value: (function () {
384
- var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(sessionId) {
385
- var response, _t3;
384
+ var _generateCustomQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(containerId, type) {
385
+ var options,
386
+ response,
387
+ imageBaseUrl,
388
+ qrImageUrl,
389
+ _args3 = arguments,
390
+ _t3;
386
391
  return _regenerator().w(function (_context3) {
387
392
  while (1) switch (_context3.p = _context3.n) {
388
393
  case 0:
394
+ options = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
389
395
  if (this.isInitialized) {
390
396
  _context3.n = 1;
391
397
  break;
@@ -394,32 +400,92 @@
394
400
  case 1:
395
401
  _context3.p = 1;
396
402
  _context3.n = 2;
397
- return this.makeRequest('/qr-status', {
398
- serviceId: sessionId
399
- });
403
+ return this.makeRequest('/qr-generate', _objectSpread2({
404
+ type: type
405
+ }, options));
400
406
  case 2:
401
407
  response = _context3.v;
402
408
  if (!response.success) {
403
409
  _context3.n = 3;
404
410
  break;
405
411
  }
406
- return _context3.a(2, response.data);
412
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
413
+ imageBaseUrl = 'https://sunuid.fayma.sn';
414
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
415
+ this.displayQRCode(containerId, qrImageUrl, type, options);
416
+ this.startAutoRefresh(containerId, type, options);
417
+ return _context3.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
418
+ qrCodeUrl: qrImageUrl,
419
+ sessionId: response.data.service_id
420
+ }));
407
421
  case 3:
408
- throw new Error(response.message || 'Erreur lors de la vérification du statut');
422
+ throw new Error(response.message || 'Erreur lors de la génération du QR code');
409
423
  case 4:
410
424
  _context3.n = 6;
411
425
  break;
412
426
  case 5:
413
427
  _context3.p = 5;
414
428
  _t3 = _context3.v;
415
- this.handleError(_t3);
416
- throw _t3;
429
+ console.error('Erreur API détectée:', _t3.message);
430
+ console.log('Affichage du message "Service non disponible" pour type ' + type);
431
+ this.displayServiceUnavailable(containerId, type);
432
+ throw new Error('Service non disponible');
417
433
  case 6:
418
434
  return _context3.a(2);
419
435
  }
420
436
  }, _callee3, this, [[1, 5]]);
421
437
  }));
422
- function checkQRStatus(_x3) {
438
+ function generateCustomQR(_x3, _x4) {
439
+ return _generateCustomQR.apply(this, arguments);
440
+ }
441
+ return generateCustomQR;
442
+ }()
443
+ /**
444
+ * Vérifier le statut d'un QR code
445
+ */
446
+ )
447
+ }, {
448
+ key: "checkQRStatus",
449
+ value: (function () {
450
+ var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(sessionId) {
451
+ var response, _t4;
452
+ return _regenerator().w(function (_context4) {
453
+ while (1) switch (_context4.p = _context4.n) {
454
+ case 0:
455
+ if (this.isInitialized) {
456
+ _context4.n = 1;
457
+ break;
458
+ }
459
+ throw new Error('SunuID: SDK non initialisé');
460
+ case 1:
461
+ _context4.p = 1;
462
+ _context4.n = 2;
463
+ return this.makeRequest('/qr-status', {
464
+ serviceId: sessionId
465
+ });
466
+ case 2:
467
+ response = _context4.v;
468
+ if (!response.success) {
469
+ _context4.n = 3;
470
+ break;
471
+ }
472
+ return _context4.a(2, response.data);
473
+ case 3:
474
+ throw new Error(response.message || 'Erreur lors de la vérification du statut');
475
+ case 4:
476
+ _context4.n = 6;
477
+ break;
478
+ case 5:
479
+ _context4.p = 5;
480
+ _t4 = _context4.v;
481
+ this.handleError(_t4);
482
+ throw _t4;
483
+ case 6:
484
+ return _context4.a(2);
485
+ }
486
+ }, _callee4, this, [[1, 5]]);
487
+ }));
488
+ function checkQRStatus(_x5) {
423
489
  return _checkQRStatus.apply(this, arguments);
424
490
  }
425
491
  return checkQRStatus;
@@ -443,7 +509,7 @@
443
509
  // Créer l'élément QR code
444
510
  var qrElement = document.createElement('div');
445
511
  qrElement.className = 'sunuid-qr-code';
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 ");
512
+ qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(type === 1 ? 'Authentification' : type === 2 ? 'Vérification KYC' : 'Service Type ' + type, "</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 ");
447
513
  container.appendChild(qrElement);
448
514
 
449
515
  // Appliquer le thème
@@ -471,47 +537,61 @@
471
537
  }, {
472
538
  key: "refreshQR",
473
539
  value: (function () {
474
- var _refreshQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(containerId, type) {
540
+ var _refreshQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(containerId, type) {
475
541
  var options,
476
542
  result,
477
- _args4 = arguments,
478
- _t4,
479
- _t5;
480
- return _regenerator().w(function (_context4) {
481
- while (1) switch (_context4.p = _context4.n) {
543
+ _args5 = arguments,
544
+ _t5,
545
+ _t6,
546
+ _t7;
547
+ return _regenerator().w(function (_context5) {
548
+ while (1) switch (_context5.p = _context5.n) {
482
549
  case 0:
483
- options = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {};
484
- _context4.p = 1;
485
- if (!(type === 'auth')) {
486
- _context4.n = 3;
550
+ options = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {};
551
+ _context5.p = 1;
552
+ if (!(type === 1)) {
553
+ _context5.n = 3;
487
554
  break;
488
555
  }
489
- _context4.n = 2;
556
+ _context5.n = 2;
490
557
  return this.generateAuthQR(containerId, options);
491
558
  case 2:
492
- _t4 = _context4.v;
493
- _context4.n = 5;
559
+ _t5 = _context5.v;
560
+ _context5.n = 8;
494
561
  break;
495
562
  case 3:
496
- _context4.n = 4;
563
+ if (!(type === 2)) {
564
+ _context5.n = 5;
565
+ break;
566
+ }
567
+ _context5.n = 4;
497
568
  return this.generateKYCQR(containerId, options);
498
569
  case 4:
499
- _t4 = _context4.v;
570
+ _t6 = _context5.v;
571
+ _context5.n = 7;
572
+ break;
500
573
  case 5:
501
- result = _t4;
502
- return _context4.a(2, result);
574
+ _context5.n = 6;
575
+ return this.generateCustomQR(containerId, type, options);
503
576
  case 6:
504
- _context4.p = 6;
505
- _t5 = _context4.v;
506
- console.error('Erreur lors du rafraîchissement:', _t5.message);
507
- this.displayServiceUnavailable(containerId, type);
508
- throw _t5;
577
+ _t6 = _context5.v;
509
578
  case 7:
510
- return _context4.a(2);
579
+ _t5 = _t6;
580
+ case 8:
581
+ result = _t5;
582
+ return _context5.a(2, result);
583
+ case 9:
584
+ _context5.p = 9;
585
+ _t7 = _context5.v;
586
+ console.error('Erreur lors du rafraîchissement:', _t7.message);
587
+ this.displayServiceUnavailable(containerId, type);
588
+ throw _t7;
589
+ case 10:
590
+ return _context5.a(2);
511
591
  }
512
- }, _callee4, this, [[1, 6]]);
592
+ }, _callee5, this, [[1, 9]]);
513
593
  }));
514
- function refreshQR(_x4, _x5) {
594
+ function refreshQR(_x6, _x7) {
515
595
  return _refreshQR.apply(this, arguments);
516
596
  }
517
597
  return refreshQR;
@@ -525,25 +605,25 @@
525
605
  value: function startAutoRefresh(containerId, type, options) {
526
606
  var _this = this;
527
607
  if (!this.config.autoRefresh) return;
528
- this.refreshTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
529
- var _t6;
530
- return _regenerator().w(function (_context5) {
531
- while (1) switch (_context5.p = _context5.n) {
608
+ this.refreshTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
609
+ var _t8;
610
+ return _regenerator().w(function (_context6) {
611
+ while (1) switch (_context6.p = _context6.n) {
532
612
  case 0:
533
- _context5.p = 0;
534
- _context5.n = 1;
613
+ _context6.p = 0;
614
+ _context6.n = 1;
535
615
  return _this.refreshQR(containerId, type, options);
536
616
  case 1:
537
- _context5.n = 3;
617
+ _context6.n = 3;
538
618
  break;
539
619
  case 2:
540
- _context5.p = 2;
541
- _t6 = _context5.v;
542
- console.warn('Erreur lors du rafraîchissement automatique:', _t6);
620
+ _context6.p = 2;
621
+ _t8 = _context6.v;
622
+ console.warn('Erreur lors du rafraîchissement automatique:', _t8);
543
623
  case 3:
544
- return _context5.a(2);
624
+ return _context6.a(2);
545
625
  }
546
- }, _callee5, null, [[0, 2]]);
626
+ }, _callee6, null, [[0, 2]]);
547
627
  })), this.config.refreshInterval);
548
628
  }
549
629
 
@@ -557,17 +637,17 @@
557
637
  }, {
558
638
  key: "makeRequest",
559
639
  value: (function () {
560
- var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(endpoint, data) {
640
+ var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(endpoint, data) {
561
641
  var _window$SunuIDConfig2;
562
- var endpointPath, url, response, errorText, errorData, result, _t7;
563
- return _regenerator().w(function (_context6) {
564
- while (1) switch (_context6.p = _context6.n) {
642
+ var endpointPath, url, response, errorText, errorData, result, _t9;
643
+ return _regenerator().w(function (_context7) {
644
+ while (1) switch (_context7.p = _context7.n) {
565
645
  case 0:
566
646
  // Utiliser l'endpoint depuis la configuration si disponible
567
647
  endpointPath = ((_window$SunuIDConfig2 = window.SunuIDConfig) === null || _window$SunuIDConfig2 === void 0 || (_window$SunuIDConfig2 = _window$SunuIDConfig2.endpoints) === null || _window$SunuIDConfig2 === void 0 ? void 0 : _window$SunuIDConfig2[endpoint.replace('/', '')]) || endpoint;
568
648
  url = "".concat(this.config.apiUrl).concat(endpointPath);
569
- _context6.p = 1;
570
- _context6.n = 2;
649
+ _context7.p = 1;
650
+ _context7.n = 2;
571
651
  return fetch(url, {
572
652
  method: 'POST',
573
653
  headers: {
@@ -581,15 +661,15 @@
581
661
  }))
582
662
  });
583
663
  case 2:
584
- response = _context6.v;
664
+ response = _context7.v;
585
665
  if (response.ok) {
586
- _context6.n = 4;
666
+ _context7.n = 4;
587
667
  break;
588
668
  }
589
- _context6.n = 3;
669
+ _context7.n = 3;
590
670
  return response.text();
591
671
  case 3:
592
- errorText = _context6.v;
672
+ errorText = _context7.v;
593
673
  try {
594
674
  errorData = JSON.parse(errorText);
595
675
  } catch (e) {
@@ -599,22 +679,22 @@
599
679
  }
600
680
  throw new Error(errorData.message || "Erreur HTTP: ".concat(response.status));
601
681
  case 4:
602
- _context6.n = 5;
682
+ _context7.n = 5;
603
683
  return response.json();
604
684
  case 5:
605
- result = _context6.v;
606
- return _context6.a(2, result);
685
+ result = _context7.v;
686
+ return _context7.a(2, result);
607
687
  case 6:
608
- _context6.p = 6;
609
- _t7 = _context6.v;
610
- console.error('Erreur API SunuID:', _t7);
611
- throw _t7;
688
+ _context7.p = 6;
689
+ _t9 = _context7.v;
690
+ console.error('Erreur API SunuID:', _t9);
691
+ throw _t9;
612
692
  case 7:
613
- return _context6.a(2);
693
+ return _context7.a(2);
614
694
  }
615
- }, _callee6, this, [[1, 6]]);
695
+ }, _callee7, this, [[1, 6]]);
616
696
  }));
617
- function makeRequest(_x6, _x7) {
697
+ function makeRequest(_x8, _x9) {
618
698
  return _makeRequest.apply(this, arguments);
619
699
  }
620
700
  return makeRequest;
@@ -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 };\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
+ {"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: 1, // Type 1 pour authentification\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: 2, // Type 2 pour 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 * Générer un QR code avec un type personnalisé\n */\n async generateCustomQR(containerId, type, 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: type, // Type personnalisé (1, 2, 3, etc.)\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, type, options);\n this.startAutoRefresh(containerId, type, 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 type ' + type);\n this.displayServiceUnavailable(containerId, type);\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 === 1 ? 'Authentification' : type === 2 ? 'Vérification KYC' : 'Service Type ' + type}</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 === 1 \n ? await this.generateAuthQR(containerId, options)\n : type === 2 \n ? await this.generateKYCQR(containerId, options)\n : await this.generateCustomQR(containerId, type, 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","_generateCustomQR","_callee3","_args3","_t3","_context3","generateCustomQR","_x3","_x4","_checkQRStatus","_callee4","_t4","_context4","serviceId","handleError","checkQRStatus","_x5","qrUrl","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","applyTheme","toUpperCase","_refreshQR","_callee5","result","_args5","_t5","_t6","_t7","_context5","refreshQR","_x6","_x7","_this","setInterval","_callee6","_t8","_context6","warn","_makeRequest","_callee7","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t9","_context7","endpoints","replace","fetch","method","headers","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x8","_x9","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||[],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+""}
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:h,f:h.bind(e,4),d:function(n,r){return o=n,a=0,s=e,f.n=r,c}};function h(r,t){for(a=r,s=t,n=0;!d&&u&&!i&&n<l.length;n++){var i,o=l[n],h=f.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,f.v=t,f.n=o[1]):h<p&&(i=r<3||o[0]>t||t>p)&&(o[4]=r,o[5]=t,f.n=p,a=0))}if(i||r>1)return c;throw d=!0,t}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(d&&1===l&&h(l,p),a=l,s=p;(n=a<2?e:s)||!d;){o||(a?a<3?(a>1&&(f.n=-1),h(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),h=d.prototype=u.prototype=Object.create(f);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=d,s(h,"constructor",d),s(d,"constructor",l),l.displayName="GeneratorFunction",s(d,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},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)}();
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:(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:1},r));case 2:if(!(t=e.v).success){e.n=3;break}return i="".concat("https://sunuid.fayma.sn").concat(t.data.qrcode),this.displayQRCode(n,i,"auth",r),this.startAutoRefresh(n,"auth",r),e.a(2,o(o({},t.data),{},{qrCodeUrl:i,sessionId:t.data.service_id}));case 3:throw new Error(t.message||"Erreur lors de la génération du QR code");case 4:e.n=6;break;case 5:throw e.p=5,s=e.v,console.error("Erreur API détectée:",s.message),console.log('Affichage du message "Service non disponible" pour auth'),this.displayServiceUnavailable(n,"auth"),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return p.apply(this,arguments)})},{key:"generateKYCQR",value:(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:2},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 h.apply(this,arguments)})},{key:"generateCustomQR",value:(f=n(a().m(function e(n,r){var t,i,s,c,u=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=u.length>2&&void 0!==u[2]?u[2]:{},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:r},t));case 2:if(!(i=e.v).success){e.n=3;break}return s="".concat("https://sunuid.fayma.sn").concat(i.data.qrcode),this.displayQRCode(n,s,r,t),this.startAutoRefresh(n,r,t),e.a(2,o(o({},i.data),{},{qrCodeUrl:s,sessionId:i.data.service_id}));case 3:throw new Error(i.message||"Erreur lors de la génération du QR code");case 4:e.n=6;break;case 5:throw e.p=5,c=e.v,console.error("Erreur API détectée:",c.message),console.log('Affichage du message "Service non disponible" pour type '+r),this.displayServiceUnavailable(n,r),new Error("Service non disponible");case 6:return e.a(2)}},e,this,[[1,5]])})),function(e,n){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(1===r?"Authentification":2===r?"Vérification KYC":"Service Type "+r,'</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,u=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=u.length>2&&void 0!==u[2]?u[2]:{},e.p=1,1!==r){e.n=3;break}return e.n=2,this.generateAuthQR(n,t);case 2:o=e.v,e.n=8;break;case 3:if(2!==r){e.n=5;break}return e.n=4,this.generateKYCQR(n,t);case 4:s=e.v,e.n=7;break;case 5:return e.n=6,this.generateCustomQR(n,r,t);case 6:s=e.v;case 7:o=s;case 8:return i=o,e.a(2,i);case 9:throw e.p=9,c=e.v,console.error("Erreur lors du rafraîchissement:",c.message),this.displayServiceUnavailable(n,r),c;case 10:return e.a(2)}},e,this,[[1,9]])})),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,d,f,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{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,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,d,f,h,p}();e.SunuID=s,e.sunuidInstance=null,e.initSunuID=function(n){try{return e.sunuidInstance=new s(n),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
11
11
  //# sourceMappingURL=sunuid-sdk.min.js.map