sunuid-sdk 1.0.2 → 1.0.4

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.
@@ -253,9 +253,6 @@
253
253
  var _generateAuthQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(containerId) {
254
254
  var options,
255
255
  response,
256
- testData,
257
- qrData,
258
- qrUrl,
259
256
  _args = arguments,
260
257
  _t;
261
258
  return _regenerator().w(function (_context) {
@@ -279,42 +276,19 @@
279
276
  _context.n = 3;
280
277
  break;
281
278
  }
282
- this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);
279
+ this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);
283
280
  this.startAutoRefresh(containerId, 'auth', options);
284
281
  return _context.a(2, response.data);
285
282
  case 3:
286
- throw new Error(response.message);
283
+ throw new Error(response.message || 'Erreur lors de la génération du QR code');
287
284
  case 4:
288
285
  _context.n = 6;
289
286
  break;
290
287
  case 5:
291
288
  _context.p = 5;
292
289
  _t = _context.v;
293
- console.warn('Erreur API détectée, génération d\'un QR code de test:', _t.message);
294
- console.log('Type d\'erreur:', _t.name, 'Message:', _t.message);
295
-
296
- // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
297
- testData = _objectSpread2({
298
- type: 'auth',
299
- clientId: this.config.clientId,
300
- timestamp: Date.now(),
301
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
302
- apiUrl: this.config.apiUrl,
303
- error: _t.message,
304
- errorType: _t.name
305
- }, options);
306
- qrData = JSON.stringify(testData);
307
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
308
- this.displayQRCode(containerId, qrUrl, 'auth', options);
309
- this.startAutoRefresh(containerId, 'auth', options);
310
- return _context.a(2, {
311
- success: true,
312
- data: {
313
- qr_code_url: qrUrl,
314
- qr_id: testData.sessionId,
315
- expires_at: Date.now() + 30000
316
- }
317
- });
290
+ this.handleError(_t);
291
+ throw _t;
318
292
  case 6:
319
293
  return _context.a(2);
320
294
  }
@@ -335,9 +309,6 @@
335
309
  var _generateKYCQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(containerId) {
336
310
  var options,
337
311
  response,
338
- testData,
339
- qrData,
340
- qrUrl,
341
312
  _args2 = arguments,
342
313
  _t2;
343
314
  return _regenerator().w(function (_context2) {
@@ -361,44 +332,19 @@
361
332
  _context2.n = 3;
362
333
  break;
363
334
  }
364
- this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);
335
+ this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);
365
336
  this.startAutoRefresh(containerId, 'kyc', options);
366
337
  return _context2.a(2, response.data);
367
338
  case 3:
368
- throw new Error(response.message);
339
+ throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');
369
340
  case 4:
370
341
  _context2.n = 6;
371
342
  break;
372
343
  case 5:
373
344
  _context2.p = 5;
374
345
  _t2 = _context2.v;
375
- console.warn('Erreur API détectée, génération d\'un QR code de test:', _t2.message);
376
- console.log('Type d\'erreur:', _t2.name, 'Message:', _t2.message);
377
-
378
- // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test
379
- testData = _objectSpread2({
380
- type: 'kyc',
381
- clientId: this.config.clientId,
382
- timestamp: Date.now(),
383
- sessionId: 'test_' + Math.random().toString(36).substr(2, 9),
384
- kycType: options.kycType || 'full',
385
- requiredFields: options.requiredFields || ['identity', 'address', 'phone'],
386
- apiUrl: this.config.apiUrl,
387
- error: _t2.message,
388
- errorType: _t2.name
389
- }, options);
390
- qrData = JSON.stringify(testData);
391
- qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(qrData));
392
- this.displayQRCode(containerId, qrUrl, 'kyc', options);
393
- this.startAutoRefresh(containerId, 'kyc', options);
394
- return _context2.a(2, {
395
- success: true,
396
- data: {
397
- qr_code_url: qrUrl,
398
- qr_id: testData.sessionId,
399
- expires_at: Date.now() + 30000
400
- }
401
- });
346
+ this.handleError(_t2);
347
+ throw _t2;
402
348
  case 6:
403
349
  return _context2.a(2);
404
350
  }
@@ -416,28 +362,43 @@
416
362
  }, {
417
363
  key: "checkQRStatus",
418
364
  value: (function () {
419
- var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(qrId) {
365
+ var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(sessionId) {
420
366
  var response, _t3;
421
367
  return _regenerator().w(function (_context3) {
422
368
  while (1) switch (_context3.p = _context3.n) {
423
369
  case 0:
424
- _context3.p = 0;
425
- _context3.n = 1;
370
+ if (this.isInitialized) {
371
+ _context3.n = 1;
372
+ break;
373
+ }
374
+ throw new Error('SunuID: SDK non initialisé');
375
+ case 1:
376
+ _context3.p = 1;
377
+ _context3.n = 2;
426
378
  return this.makeRequest('/auth/qr-status.php', {
427
- qr_id: qrId
379
+ sessionId: sessionId
428
380
  });
429
- case 1:
381
+ case 2:
430
382
  response = _context3.v;
383
+ if (!response.success) {
384
+ _context3.n = 3;
385
+ break;
386
+ }
431
387
  return _context3.a(2, response.data);
432
- case 2:
433
- _context3.p = 2;
388
+ case 3:
389
+ throw new Error(response.message || 'Erreur lors de la vérification du statut');
390
+ case 4:
391
+ _context3.n = 6;
392
+ break;
393
+ case 5:
394
+ _context3.p = 5;
434
395
  _t3 = _context3.v;
435
396
  this.handleError(_t3);
436
397
  throw _t3;
437
- case 3:
398
+ case 6:
438
399
  return _context3.a(2);
439
400
  }
440
- }, _callee3, this, [[0, 2]]);
401
+ }, _callee3, this, [[1, 5]]);
441
402
  }));
442
403
  function checkQRStatus(_x3) {
443
404
  return _checkQRStatus.apply(this, arguments);
@@ -445,7 +406,7 @@
445
406
  return checkQRStatus;
446
407
  }()
447
408
  /**
448
- * Afficher le QR code dans le conteneur
409
+ * Afficher un QR code dans un conteneur
449
410
  */
450
411
  )
451
412
  }, {
@@ -456,28 +417,35 @@
456
417
  if (!container) {
457
418
  throw new Error("Conteneur avec l'ID \"".concat(containerId, "\" non trouv\xE9"));
458
419
  }
459
- var theme = options.theme || this.config.theme;
460
- options.language || this.config.language;
461
- container.innerHTML = "\n <div class=\"sunuid-qr-container sunuid-theme-".concat(theme, "\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ").concat(type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC', "\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ").concat(type === 'auth' ? 'Scannez ce QR code avec l\'application SunuID pour vous connecter' : 'Scannez ce QR code avec l\'application SunuID pour compléter votre profil', "\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"").concat(qrUrl, "\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('").concat(containerId, "', '").concat(type, "', ").concat(JSON.stringify(options), ")\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n ");
462
- this.qrCode = {
463
- containerId: containerId,
464
- type: type,
465
- options: options,
466
- qrUrl: qrUrl
467
- };
420
+
421
+ // Nettoyer le conteneur
422
+ container.innerHTML = '';
423
+
424
+ // Créer l'élément QR code
425
+ var qrElement = document.createElement('div');
426
+ qrElement.className = 'sunuid-qr-code';
427
+ 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 ");
428
+ container.appendChild(qrElement);
429
+
430
+ // Démarrer le timer
468
431
  this.startTimer();
432
+
433
+ // Appliquer le thème
434
+ this.applyTheme(options.theme || this.config.theme);
469
435
  }
470
436
 
471
437
  /**
472
- * Actualiser le QR code
438
+ * Rafraîchir un QR code
473
439
  */
474
440
  }, {
475
441
  key: "refreshQR",
476
442
  value: (function () {
477
443
  var _refreshQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(containerId, type) {
478
444
  var options,
445
+ result,
479
446
  _args4 = arguments,
480
- _t4;
447
+ _t4,
448
+ _t5;
481
449
  return _regenerator().w(function (_context4) {
482
450
  while (1) switch (_context4.p = _context4.n) {
483
451
  case 0:
@@ -490,22 +458,26 @@
490
458
  _context4.n = 2;
491
459
  return this.generateAuthQR(containerId, options);
492
460
  case 2:
493
- _context4.n = 4;
461
+ _t4 = _context4.v;
462
+ _context4.n = 5;
494
463
  break;
495
464
  case 3:
496
465
  _context4.n = 4;
497
466
  return this.generateKYCQR(containerId, options);
498
467
  case 4:
499
- _context4.n = 6;
500
- break;
501
- case 5:
502
- _context4.p = 5;
503
468
  _t4 = _context4.v;
504
- this.handleError(_t4);
469
+ case 5:
470
+ result = _t4;
471
+ return _context4.a(2, result);
505
472
  case 6:
473
+ _context4.p = 6;
474
+ _t5 = _context4.v;
475
+ this.handleError(_t5);
476
+ throw _t5;
477
+ case 7:
506
478
  return _context4.a(2);
507
479
  }
508
- }, _callee4, this, [[1, 5]]);
480
+ }, _callee4, this, [[1, 6]]);
509
481
  }));
510
482
  function refreshQR(_x4, _x5) {
511
483
  return _refreshQR.apply(this, arguments);
@@ -513,7 +485,7 @@
513
485
  return refreshQR;
514
486
  }()
515
487
  /**
516
- * Démarrer le timer de rafraîchissement automatique
488
+ * Démarrer le rafraîchissement automatique
517
489
  */
518
490
  )
519
491
  }, {
@@ -522,7 +494,7 @@
522
494
  var _this = this;
523
495
  if (!this.config.autoRefresh) return;
524
496
  this.refreshTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
525
- var _t5;
497
+ var _t6;
526
498
  return _regenerator().w(function (_context5) {
527
499
  while (1) switch (_context5.p = _context5.n) {
528
500
  case 0:
@@ -534,8 +506,8 @@
534
506
  break;
535
507
  case 2:
536
508
  _context5.p = 2;
537
- _t5 = _context5.v;
538
- console.warn('Erreur lors du rafraîchissement automatique:', _t5);
509
+ _t6 = _context5.v;
510
+ console.warn('Erreur lors du rafraîchissement automatique:', _t6);
539
511
  case 3:
540
512
  return _context5.a(2);
541
513
  }
@@ -573,55 +545,56 @@
573
545
  key: "makeRequest",
574
546
  value: (function () {
575
547
  var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(endpoint, data) {
576
- var url, requestData, response, _t6;
548
+ var url, response, errorText, errorData, result, _t7;
577
549
  return _regenerator().w(function (_context6) {
578
550
  while (1) switch (_context6.p = _context6.n) {
579
551
  case 0:
580
- url = "".concat(this.config.apiUrl).concat(endpoint); // Préparer les données avec les identifiants
581
- requestData = _objectSpread2(_objectSpread2({}, data), {}, {
582
- client_id: this.config.clientId,
583
- secret_id: this.config.secretId
584
- });
552
+ url = "".concat(this.config.apiUrl).concat(endpoint);
585
553
  _context6.p = 1;
586
554
  _context6.n = 2;
587
555
  return fetch(url, {
588
556
  method: 'POST',
589
557
  headers: {
590
558
  'Content-Type': 'application/json',
559
+ 'X-SunuID-Client-ID': this.config.clientId,
560
+ 'X-SunuID-Secret-ID': this.config.secretId,
591
561
  'Accept': 'application/json'
592
562
  },
593
- body: JSON.stringify(requestData)
563
+ body: JSON.stringify(data)
594
564
  });
595
565
  case 2:
596
566
  response = _context6.v;
597
567
  if (response.ok) {
598
- _context6.n = 3;
568
+ _context6.n = 4;
599
569
  break;
600
570
  }
601
- console.warn("Erreur HTTP ".concat(response.status, ": ").concat(response.statusText));
602
- throw new Error("Erreur HTTP: ".concat(response.status, " - ").concat(response.statusText));
571
+ _context6.n = 3;
572
+ return response.text();
603
573
  case 3:
604
- _context6.n = 4;
605
- return response.json();
574
+ errorText = _context6.v;
575
+ try {
576
+ errorData = JSON.parse(errorText);
577
+ } catch (e) {
578
+ errorData = {
579
+ message: errorText
580
+ };
581
+ }
582
+ throw new Error(errorData.message || "Erreur HTTP: ".concat(response.status));
606
583
  case 4:
607
- return _context6.a(2, _context6.v);
584
+ _context6.n = 5;
585
+ return response.json();
608
586
  case 5:
609
- _context6.p = 5;
610
- _t6 = _context6.v;
611
- if (!(_t6.name === 'TypeError' && _t6.message.includes('CORS'))) {
612
- _context6.n = 6;
613
- break;
614
- }
615
- console.warn('Erreur CORS détectée, utilisation de QR codes de test');
616
- throw new Error('CORS_ERROR');
587
+ result = _context6.v;
588
+ return _context6.a(2, result);
617
589
  case 6:
618
- // Pour toutes les autres erreurs (500, 404, etc.)
619
- console.warn('Erreur API détectée:', _t6.message);
620
- throw _t6;
590
+ _context6.p = 6;
591
+ _t7 = _context6.v;
592
+ console.error('Erreur API SunuID:', _t7);
593
+ throw _t7;
621
594
  case 7:
622
595
  return _context6.a(2);
623
596
  }
624
- }, _callee6, this, [[1, 5]]);
597
+ }, _callee6, this, [[1, 6]]);
625
598
  }));
626
599
  function makeRequest(_x6, _x7) {
627
600
  return _makeRequest.apply(this, arguments);
@@ -629,9 +602,21 @@
629
602
  return makeRequest;
630
603
  }()
631
604
  /**
632
- * Gérer les erreurs
605
+ * Appliquer le thème
633
606
  */
634
607
  )
608
+ }, {
609
+ key: "applyTheme",
610
+ value: function applyTheme(theme) {
611
+ var container = document.querySelector('.sunuid-qr-code');
612
+ if (container) {
613
+ container.className = "sunuid-qr-code sunuid-theme-".concat(theme);
614
+ }
615
+ }
616
+
617
+ /**
618
+ * Gérer les erreurs
619
+ */
635
620
  }, {
636
621
  key: "handleError",
637
622
  value: function handleError(error) {
@@ -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: 'https://sunuid.fayma.sn/api',\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 // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate.php', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate.php', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API détectée, génération d\\'un QR code de test:', error.message);\n console.log('Type d\\'erreur:', error.name, 'Message:', error.message);\n \n // En cas d'échec de l'API (CORS, 500, ou autre), générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n error: error.message,\n errorType: error.name,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status.php', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le 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 const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de 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 const url = `${this.config.apiUrl}${endpoint}`;\n \n // Préparer les données avec les identifiants\n const requestData = {\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n };\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n },\n body: JSON.stringify(requestData)\n });\n\n if (!response.ok) {\n console.warn(`Erreur HTTP ${response.status}: ${response.statusText}`);\n throw new Error(`Erreur HTTP: ${response.status} - ${response.statusText}`);\n }\n\n return await response.json();\n } catch (error) {\n // Si c'est une erreur CORS, on la gère spécifiquement\n if (error.name === 'TypeError' && error.message.includes('CORS')) {\n console.warn('Erreur CORS détectée, utilisation de QR codes de test');\n throw new Error('CORS_ERROR');\n }\n // Pour toutes les autres erreurs (500, 404, etc.)\n console.warn('Erreur API détectée:', error.message);\n throw error;\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","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","name","timestamp","Date","now","sessionId","Math","random","toString","substr","error","errorType","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","requestData","_t6","_context6","client_id","secret_id","fetch","method","headers","body","ok","status","statusText","json","includes","_x6","_x7","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: 'https://sunuid.fayma.sn/api',\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('/auth/qr-generate.php', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\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('/auth/qr-generate.php', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qrCodeUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\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('/auth/qr-status.php', {\n sessionId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Démarrer le rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId,\n 'Accept': 'application/json'\n },\n body: JSON.stringify(data)\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","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qrCodeUrl","startAutoRefresh","a","message","handleError","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","sessionId","_t3","_context3","checkQRStatus","_x3","qrUrl","container","document","getElementById","concat","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","_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","url","errorText","errorData","_t7","_context6","fetch","method","headers","body","JSON","stringify","ok","text","parse","e","status","json","error","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- !function(){"use strict";function e(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function t(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){e(a,i,o,s,c,"next",t)}function c(t){e(a,i,o,s,c,"throw",t)}s(void 0)})}}function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function n(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(){
1
+ !function(){"use strict";function e(e,t,n,r,i,o,a){try{var u=e[o](a),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,i)}function t(t){return function(){var n=this,r=arguments;return new Promise(function(i,o){var a=t.apply(n,r);function u(t){e(a,i,o,u,s,"next",t)}function s(t){e(a,i,o,u,s,"throw",t)}u(void 0)})}}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function r(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,o){var a=n&&n.prototype instanceof u?n:u,l=Object.create(a.prototype);return s(l,"_invoke",function(r,n,i){var o,a,s,u=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return o=t,a=0,s=e,d.n=r,c}};function h(r,n){for(a=r,s=n,t=0;!f&&u&&!i&&t<l.length;t++){var i,o=l[t],h=d.p,p=o[2];r>3?(i=p===n)&&(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=n,d.n=o[1]):h<p&&(i=r<3||o[0]>n||n>p)&&(o[4]=r,o[5]=n,d.n=p,a=0))}if(i||r>1)return c;throw f=!0,n}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,p),a=l,s=p;(t=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(d.n=-1),h(a,s)):d.n=s:d.v=s);try{if(u=2,o){if(a||(i="next"),t=o[i]){if(!(t=t.call(o,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=o.return)&&t.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((t=(f=d.n<0)?s:r.call(n,d))!==c)break}catch(t){o=e,a=1,s=t}finally{u=1}}return{value:t,done:f}}}(r,i,o),!0),l}var c={};function u(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(s(t={},n,function(){return this}),t),h=f.prototype=u.prototype=Object.create(d);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,s(h,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(h),s(h,i,"Generator"),s(h,n,function(){return this}),s(h,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:p}})()}function s(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,t,r,n){function o(t,r){s(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},s(e,t,r,n)}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}
3
+ var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var a=r&&r.prototype instanceof c?r:c,l=Object.create(a.prototype);return u(l,"_invoke",function(n,r,i){var o,a,u,c=0,l=i||[],f=!1,h={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,a=0,u=e,h.n=n,s}};function p(n,r){for(a=n,u=r,t=0;!f&&c&&!i&&t<l.length;t++){var i,o=l[t],p=h.p,d=o[2];n>3?(i=d===r)&&(u=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=p&&((i=n<2&&p<o[1])?(a=0,h.v=r,h.n=o[1]):p<d&&(i=n<3||o[0]>r||r>d)&&(o[4]=n,o[5]=r,h.n=d,a=0))}if(i||n>1)return s;throw f=!0,r}return function(i,l,d){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,d),a=l,u=d;(t=a<2?e:u)||!f;){o||(a?a<3?(a>1&&(h.n=-1),p(a,u)):h.n=u:h.v=u);try{if(c=2,o){if(a||(i="next"),t=o[i]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,a<2&&(a=0)}else 1===a&&(t=o.return)&&t.call(o),a<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((t=(f=h.n<0)?u:n.call(r,h))!==s)break}catch(t){o=e,a=1,u=t}finally{c=1}}return{value:t,done:f}}}(n,i,o),!0),l}var s={};function c(){}function l(){}function f(){}t=Object.getPrototypeOf;var h=[][r]?t(t([][r]())):(u(t={},r,function(){return this}),t),p=f.prototype=c.prototype=Object.create(h);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,i,"GeneratorFunction")),e.prototype=Object.create(p),e}return l.prototype=f,u(p,"constructor",f),u(f,"constructor",l),l.displayName="GeneratorFunction",u(f,i,"GeneratorFunction"),u(p),u(p,i,"Generator"),u(p,r,function(){return this}),u(p,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:d}})()}function u(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}u=function(e,t,n,r){function o(t,n){u(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},u(e,t,n,r)}function s(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}
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){var n={apiUrl:"https://sunuid.fayma.sn/api",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},i=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},n),t),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},i=[{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:(d=t(a().m(function e(t){var r,n,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate.php",o({type:"auth"},r));case 2:if(!(n=e.v).success){e.n=3;break}return this.displayQRCode(t,n.data.qr_code_url,"auth",r),this.startAutoRefresh(t,"auth",r),e.a(2,n.data);case 3:throw new Error(n.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code de test:",u.message),console.log("Type d'erreur:",u.name,"Message:",u.message),i=o({type:"auth",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),apiUrl:this.config.apiUrl,error:u.message,errorType:u.name},r),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"auth",r),this.startAutoRefresh(t,"auth",r),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return d.apply(this,arguments)})},{key:"generateKYCQR",value:(f=t(a().m(function e(t){var r,n,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate.php",o({type:"kyc"},r));case 2:if(!(n=e.v).success){e.n=3;break}return this.displayQRCode(t,n.data.qr_code_url,"kyc",r),this.startAutoRefresh(t,"kyc",r),e.a(2,n.data);case 3:throw new Error(n.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API détectée, génération d'un QR code de test:",u.message),console.log("Type d'erreur:",u.name,"Message:",u.message),i=o({type:"kyc",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),kycType:r.kycType||"full",requiredFields:r.requiredFields||["identity","address","phone"],apiUrl:this.config.apiUrl,error:u.message,errorType:u.name},r),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"kyc",r),this.startAutoRefresh(t,"kyc",r),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"checkQRStatus",value:(l=t(a().m(function e(t){var r,n;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.makeRequest("/auth/qr-status.php",{qr_id:t});case 1:return r=e.v,e.a(2,r.data);case 2:throw e.p=2,n=e.v,this.handleError(n),n;case 3:return e.a(2)}},e,this,[[0,2]])})),function(e){return l.apply(this,arguments)})},{key:"displayQRCode",value:function(e,t,r){var n=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é'));var o=n.theme||this.config.theme;n.language||this.config.language,i.innerHTML='\n <div class="sunuid-qr-container sunuid-theme-'.concat(o,'">\n <div class="sunuid-qr-header">\n <h3 class="sunuid-qr-title">\n ').concat("auth"===r?"🔐 Authentification":"📋 Vérification KYC",'\n </h3>\n <p class="sunuid-qr-subtitle">\n ').concat("auth"===r?"Scannez ce QR code avec l'application SunuID pour vous connecter":"Scannez ce QR code avec l'application SunuID pour compléter votre profil",'\n </p>\n </div>\n <div class="sunuid-qr-code">\n <img src="').concat(t,'" alt="QR Code SunuID" class="sunuid-qr-image">\n <div class="sunuid-qr-overlay">\n <div class="sunuid-qr-spinner"></div>\n </div>\n </div>\n <div class="sunuid-qr-footer">\n <p class="sunuid-qr-timer">\n <i class="fa-solid fa-clock"></i>\n <span id="sunuid-timer">30</span> secondes\n </p>\n <button class="sunuid-qr-refresh" onclick="sunuidInstance.refreshQR(\'').concat(e,"', '").concat(r,"', ").concat(JSON.stringify(n),')">\n <i class="fa-solid fa-sync-alt"></i>\n Actualiser\n </button>\n </div>\n </div>\n '),this.qrCode={containerId:e,type:r,options:n,qrUrl:t},this.startTimer()}},{key:"refreshQR",value:(u=t(a().m(function e(t,r){var n,i,o=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=o.length>2&&void 0!==o[2]?o[2]:{},e.p=1,"auth"!==r){e.n=3;break}return e.n=2,this.generateAuthQR(t,n);case 2:e.n=4;break;case 3:return e.n=4,this.generateKYCQR(t,n);case 4:e.n=6;break;case 5:e.p=5,i=e.v,this.handleError(i);case 6:return e.a(2)}},e,this,[[1,5]])})),function(e,t){return u.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,r,n){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(t(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,i.refreshQR(e,r,n);case 1:t.n=3;break;case 2:t.p=2,o=t.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return t.a(2)}},t,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,t=30,r=document.getElementById("sunuid-timer"),n=setInterval(function(){t--,r&&(r.textContent=t),t<=0&&(clearInterval(n),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(c=t(a().m(function e(t,r){var n,i,s,c;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return n="".concat(this.config.apiUrl).concat(t),i=o(o({},r),{},{client_id:this.config.clientId,secret_id:this.config.secretId}),e.p=1,e.n=2,fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(i)});case 2:if((s=e.v).ok){e.n=3;break}throw console.warn("Erreur HTTP ".concat(s.status,": ").concat(s.statusText)),new Error("Erreur HTTP: ".concat(s.status," - ").concat(s.statusText));case 3:return e.n=4,s.json();case 4:return e.a(2,e.v);case 5:if(e.p=5,"TypeError"!==(c=e.v).name||!c.message.includes("CORS")){e.n=6;break}throw console.warn("Erreur CORS détectée, utilisation de QR codes de test"),new Error("CORS_ERROR");case 6:throw console.warn("Erreur API détectée:",c.message),c;case 7:return e.a(2)}},e,this,[[1,5]])})),function(e,t){return c.apply(this,arguments)})},{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")}}],i&&r(e.prototype,i),s&&r(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,s,c,u,l,f,d}();e.SunuID=i,e.sunuidInstance=null,e.initSunuID=function(t){try{return e.sunuidInstance=new i(t),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
10
+ */!function(e){var r={apiUrl:"https://sunuid.fayma.sn/api",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},i=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},r),t),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},i=[{key:"init",value:function(){if(!this.config.clientId||!this.config.secretId)throw new Error("SunuID: clientId et secretId sont requis");this.isInitialized=!0,console.log("SunuID SDK initialisé avec succès")}},{key:"generateAuthQR",value:(h=t(a().m(function e(t){var n,r,i,u=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=u.length>1&&void 0!==u[1]?u[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("/auth/qr-generate.php",o({type:"auth"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qrCodeUrl,"auth",n),this.startAutoRefresh(t,"auth",n),e.a(2,r.data);case 3:throw new Error(r.message||"Erreur lors de la génération du QR code");case 4:e.n=6;break;case 5:throw e.p=5,i=e.v,this.handleError(i),i;case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return h.apply(this,arguments)})},{key:"generateKYCQR",value:(f=t(a().m(function e(t){var n,r,i,u=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=u.length>1&&void 0!==u[1]?u[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("/auth/qr-generate.php",o({type:"kyc"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qrCodeUrl,"kyc",n),this.startAutoRefresh(t,"kyc",n),e.a(2,r.data);case 3:throw new Error(r.message||"Erreur lors de la génération du QR code KYC");case 4:e.n=6;break;case 5:throw e.p=5,i=e.v,this.handleError(i),i;case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"checkQRStatus",value:(l=t(a().m(function e(t){var n,r;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-status.php",{sessionId:t});case 2:if(!(n=e.v).success){e.n=3;break}return e.a(2,n.data);case 3:throw new Error(n.message||"Erreur lors de la vérification du statut");case 4:e.n=6;break;case 5:throw e.p=5,r=e.v,this.handleError(r),r;case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return l.apply(this,arguments)})},{key:"displayQRCode",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=document.getElementById(e);if(!i)throw new Error("Conteneur avec l'ID \"".concat(e,'" non trouvé'));i.innerHTML="";var o=document.createElement("div");o.className="sunuid-qr-code",o.innerHTML='\n <div class="sunuid-qr-header">\n <h3>'.concat("auth"===n?"Authentification":"Vérification KYC",'</h3>\n <div class="sunuid-timer">\n <span>Expire dans: </span>\n <span id="sunuid-timer">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class="sunuid-qr-image">\n <img src="').concat(t,'" alt="QR Code SunuID" style="max-width: 300px; height: auto;">\n </div>\n <div class="sunuid-qr-instructions">\n <p>Scannez ce QR code avec l\'application SunuID pour vous connecter</p>\n </div>\n <div class="sunuid-qr-status" id="sunuid-status">\n <p>En attente de scan...</p>\n </div>\n '),i.appendChild(o),this.startTimer(),this.applyTheme(r.theme||this.config.theme)}},{key:"refreshQR",value:(c=t(a().m(function e(t,n){var r,i,o,u,s=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=s.length>2&&void 0!==s[2]?s[2]:{},e.p=1,"auth"!==n){e.n=3;break}return e.n=2,this.generateAuthQR(t,r);case 2:o=e.v,e.n=5;break;case 3:return e.n=4,this.generateKYCQR(t,r);case 4:o=e.v;case 5:return i=o,e.a(2,i);case 6:throw e.p=6,u=e.v,this.handleError(u),u;case 7:return e.a(2)}},e,this,[[1,6]])})),function(e,t){return c.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,n,r){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(t(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,i.refreshQR(e,n,r);case 1:t.n=3;break;case 2:t.p=2,o=t.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return t.a(2)}},t,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,t=30,n=document.getElementById("sunuid-timer"),r=setInterval(function(){t--,n&&(n.textContent=t),t<=0&&(clearInterval(r),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(s=t(a().m(function e(t,n){var r,i,o,u,s,c;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return r="".concat(this.config.apiUrl).concat(t),e.p=1,e.n=2,fetch(r,{method:"POST",headers:{"Content-Type":"application/json","X-SunuID-Client-ID":this.config.clientId,"X-SunuID-Secret-ID":this.config.secretId,Accept:"application/json"},body:JSON.stringify(n)});case 2:if((i=e.v).ok){e.n=4;break}return e.n=3,i.text();case 3:o=e.v;try{u=JSON.parse(o)}catch(e){u={message:o}}throw new Error(u.message||"Erreur HTTP: ".concat(i.status));case 4:return e.n=5,i.json();case 5:return s=e.v,e.a(2,s);case 6:throw e.p=6,c=e.v,console.error("Erreur API SunuID:",c),c;case 7:return e.a(2)}},e,this,[[1,6]])})),function(e,t){return s.apply(this,arguments)})},{key:"applyTheme",value:function(e){var t=document.querySelector(".sunuid-qr-code");t&&(t.className="sunuid-qr-code sunuid-theme-".concat(e))}},{key:"handleError",value:function(e){console.error("SunuID SDK Error:",e),this.config.onError&&this.config.onError(e)}},{key:"destroy",value:function(){this.refreshTimer&&clearInterval(this.refreshTimer),this.isInitialized=!1,console.log("SunuID SDK détruit")}}],i&&n(e.prototype,i),u&&n(e,u),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,u,s,c,l,f,h}();e.SunuID=i,e.sunuidInstance=null,e.initSunuID=function(t){try{return e.sunuidInstance=new i(t),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