@paydock/client-sdk 1.126.0-beta → 1.127.0-beta

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.
package/bundles/index.cjs CHANGED
@@ -954,7 +954,7 @@ SDK.headerKeys = Object.freeze({
954
954
  version: 'x-sdk-version',
955
955
  type: 'x-sdk-type'
956
956
  });
957
- SDK._version = '1.126.0-beta';
957
+ SDK._version = 'v1.127.0-beta';
958
958
 
959
959
  /******************************************************************************
960
960
  Copyright (c) Microsoft Corporation.
@@ -5514,12 +5514,12 @@ var EventEmitter = /*#__PURE__*/function () {
5514
5514
  * @type {object}
5515
5515
  * @param {string} HTML=html
5516
5516
  */
5517
- var TOKEN_FORMAT;
5517
+ var TOKEN_FORMAT$1;
5518
5518
  (function (TOKEN_FORMAT) {
5519
5519
  TOKEN_FORMAT["HTML"] = "html";
5520
5520
  TOKEN_FORMAT["URL"] = "url";
5521
5521
  TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
5522
- })(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
5522
+ })(TOKEN_FORMAT$1 || (TOKEN_FORMAT$1 = {}));
5523
5523
  /**
5524
5524
  * List of available event's name
5525
5525
  * @const EVENT
@@ -5578,11 +5578,11 @@ var Canvas3ds = /*#__PURE__*/function () {
5578
5578
  *
5579
5579
  */
5580
5580
  function load() {
5581
- if (this.token.format === TOKEN_FORMAT.HTML) this.iFrame.loadFromHtml(this.token.content, {
5581
+ if (this.token.format === TOKEN_FORMAT$1.HTML) this.iFrame.loadFromHtml(this.token.content, {
5582
5582
  title: '3d secure authentication'
5583
- }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.URL) this.iFrame.load(this.token.content, {
5583
+ }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.URL) this.iFrame.load(this.token.content, {
5584
5584
  title: '3d secure authentication'
5585
- }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
5585
+ }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
5586
5586
  title: '3d secure authentication'
5587
5587
  });else console.error('Token contain unsupported payload');
5588
5588
  }
@@ -5630,7 +5630,7 @@ var Canvas3ds = /*#__PURE__*/function () {
5630
5630
  key: "on",
5631
5631
  value: function on(eventName, cb) {
5632
5632
  var _this = this;
5633
- if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) {
5633
+ if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) {
5634
5634
  if (typeof cb === 'function') return this.eventEmitter.subscribe(eventName, cb);
5635
5635
  return new Promise(function (resolve) {
5636
5636
  return _this.eventEmitter.subscribe(eventName, function (res) {
@@ -16077,6 +16077,95 @@ var InstructionBankAccountFormShow = /*#__PURE__*/function (_InstructionHandler)
16077
16077
  }(InstructionHandler);
16078
16078
  InstructionBankAccountFormShow = __decorate([Instruction('instruction.bank_account_form.show')], InstructionBankAccountFormShow);
16079
16079
 
16080
+ var toByteArray_1 = toByteArray;
16081
+ var revLookup = [];
16082
+ var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
16083
+
16084
+ var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
16085
+ for (var i$2 = 0, len = code.length; i$2 < len; ++i$2) {
16086
+ revLookup[code.charCodeAt(i$2)] = i$2;
16087
+ }
16088
+
16089
+ // Support decoding URL-safe base64 strings, as Node.js does.
16090
+ // See: https://en.wikipedia.org/wiki/Base64#URL_applications
16091
+ revLookup['-'.charCodeAt(0)] = 62;
16092
+ revLookup['_'.charCodeAt(0)] = 63;
16093
+
16094
+ function getLens (b64) {
16095
+ var len = b64.length;
16096
+
16097
+ if (len % 4 > 0) {
16098
+ throw new Error('Invalid string. Length must be a multiple of 4')
16099
+ }
16100
+
16101
+ // Trim off extra bytes after placeholder bytes are found
16102
+ // See: https://github.com/beatgammit/base64-js/issues/42
16103
+ var validLen = b64.indexOf('=');
16104
+ if (validLen === -1) validLen = len;
16105
+
16106
+ var placeHoldersLen = validLen === len
16107
+ ? 0
16108
+ : 4 - (validLen % 4);
16109
+
16110
+ return [validLen, placeHoldersLen]
16111
+ }
16112
+
16113
+ function _byteLength (b64, validLen, placeHoldersLen) {
16114
+ return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
16115
+ }
16116
+
16117
+ function toByteArray (b64) {
16118
+ var tmp;
16119
+ var lens = getLens(b64);
16120
+ var validLen = lens[0];
16121
+ var placeHoldersLen = lens[1];
16122
+
16123
+ var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
16124
+
16125
+ var curByte = 0;
16126
+
16127
+ // if there are placeholders, only get up to the last complete 4 chars
16128
+ var len = placeHoldersLen > 0
16129
+ ? validLen - 4
16130
+ : validLen;
16131
+
16132
+ var i;
16133
+ for (i = 0; i < len; i += 4) {
16134
+ tmp =
16135
+ (revLookup[b64.charCodeAt(i)] << 18) |
16136
+ (revLookup[b64.charCodeAt(i + 1)] << 12) |
16137
+ (revLookup[b64.charCodeAt(i + 2)] << 6) |
16138
+ revLookup[b64.charCodeAt(i + 3)];
16139
+ arr[curByte++] = (tmp >> 16) & 0xFF;
16140
+ arr[curByte++] = (tmp >> 8) & 0xFF;
16141
+ arr[curByte++] = tmp & 0xFF;
16142
+ }
16143
+
16144
+ if (placeHoldersLen === 2) {
16145
+ tmp =
16146
+ (revLookup[b64.charCodeAt(i)] << 2) |
16147
+ (revLookup[b64.charCodeAt(i + 1)] >> 4);
16148
+ arr[curByte++] = tmp & 0xFF;
16149
+ }
16150
+
16151
+ if (placeHoldersLen === 1) {
16152
+ tmp =
16153
+ (revLookup[b64.charCodeAt(i)] << 10) |
16154
+ (revLookup[b64.charCodeAt(i + 1)] << 4) |
16155
+ (revLookup[b64.charCodeAt(i + 2)] >> 2);
16156
+ arr[curByte++] = (tmp >> 8) & 0xFF;
16157
+ arr[curByte++] = tmp & 0xFF;
16158
+ }
16159
+
16160
+ return arr
16161
+ }
16162
+
16163
+ var TOKEN_FORMAT;
16164
+ (function (TOKEN_FORMAT) {
16165
+ TOKEN_FORMAT["HTML"] = "html";
16166
+ TOKEN_FORMAT["URL"] = "url";
16167
+ TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
16168
+ })(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
16080
16169
  var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16081
16170
  function InstructionCanvas3dsShow() {
16082
16171
  _classCallCheck(this, InstructionCanvas3dsShow);
@@ -16087,12 +16176,25 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16087
16176
  key: "handle",
16088
16177
  value: function handle(context) {
16089
16178
  var _this = this;
16179
+ var token = this.decodeBase64Token(context.payload._3ds_token);
16090
16180
  var canvas = new Canvas3ds(this.formSelector, context.payload._3ds_token);
16091
16181
  canvas.setEnv(this.getEnv(context.instruction_token));
16092
- canvas.on('chargeAuth', function (event) {
16182
+ canvas.on('chargeAuth', function () {
16093
16183
  return Spinner.show();
16094
16184
  });
16095
- canvas.on('chargeAuthSuccess', function (event) {
16185
+ canvas.on('chargeAuthChallenge', function () {
16186
+ if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
16187
+ Spinner.hide();
16188
+ _this.observeIframeAndResize();
16189
+ }
16190
+ });
16191
+ canvas.on('chargeAuthDecoupled', function () {
16192
+ if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
16193
+ Spinner.hide();
16194
+ _this.observeIframeAndResize();
16195
+ }
16196
+ });
16197
+ canvas.on('chargeAuthSuccess', function () {
16096
16198
  var _a;
16097
16199
  (_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
16098
16200
  _this.api.checkout().callback({
@@ -16106,8 +16208,9 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16106
16208
  })["catch"](function (response) {
16107
16209
  return console.error('callback.child_widget.status - chargeAuthSuccess: error', response);
16108
16210
  });
16211
+ Spinner.show();
16109
16212
  });
16110
- canvas.on('chargeAuthReject', function (event) {
16213
+ canvas.on('chargeAuthReject', function () {
16111
16214
  var _a;
16112
16215
  // **TODO add interface for chargeAuthReject event **//
16113
16216
  (_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
@@ -16122,6 +16225,7 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16122
16225
  })["catch"](function (response) {
16123
16226
  return console.error('callback.child_widget.status - chargeAuthReject: error', response);
16124
16227
  });
16228
+ Spinner.show();
16125
16229
  });
16126
16230
  canvas.on('error', function (event) {
16127
16231
  var _a;
@@ -16138,15 +16242,60 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16138
16242
  })["catch"](function (response) {
16139
16243
  return console.error('callback.child_widget.status - errorEvent: error', response);
16140
16244
  });
16245
+ Spinner.show();
16141
16246
  });
16142
16247
  canvas.load();
16143
- Spinner.hide();
16248
+ if (token.format !== TOKEN_FORMAT.STANDALONE_3DS) {
16249
+ Spinner.hide();
16250
+ }
16144
16251
  }
16145
16252
  }, {
16146
16253
  key: "destroy",
16147
16254
  value: function destroy() {
16148
16255
  document.querySelector(this.formSelector).innerHTML = '';
16149
16256
  }
16257
+ }, {
16258
+ key: "decodeBase64Token",
16259
+ value: function decodeBase64Token(token) {
16260
+ try {
16261
+ var base64 = token.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(token.length / 4) * 4, '=');
16262
+ var bytes = toByteArray_1(base64);
16263
+ var json = new TextDecoder().decode(bytes);
16264
+ return JSON.parse(json);
16265
+ } catch (err) {
16266
+ console.error('Failed to decode _3ds_token:', err);
16267
+ throw err;
16268
+ }
16269
+ }
16270
+ }, {
16271
+ key: "observeIframeAndResize",
16272
+ value: function observeIframeAndResize() {
16273
+ var outer = document.querySelector('#standaloneWidget');
16274
+ if (outer) {
16275
+ outer.style.display = 'flex';
16276
+ outer.style.justifyContent = 'center';
16277
+ }
16278
+ var container = document.querySelector('#paydock_authorization_iframe');
16279
+ if (!container) {
16280
+ console.warn('Container not found');
16281
+ return;
16282
+ }
16283
+ var observer = new MutationObserver(function () {
16284
+ var iframe = container.querySelector('iframe');
16285
+ if (iframe) {
16286
+ iframe.style.width = '100%';
16287
+ iframe.style.height = '500px';
16288
+ iframe.style.border = 'none';
16289
+ iframe.style.display = 'block';
16290
+ console.info('3DS iframe resized', iframe);
16291
+ observer.disconnect();
16292
+ }
16293
+ });
16294
+ observer.observe(container, {
16295
+ childList: true,
16296
+ subtree: true
16297
+ });
16298
+ }
16150
16299
  }]);
16151
16300
  }(InstructionHandler);
16152
16301
  InstructionCanvas3dsShow = __decorate([Instruction('instruction.canvas_3ds_form.show')], InstructionCanvas3dsShow);
package/bundles/index.mjs CHANGED
@@ -952,7 +952,7 @@ SDK.headerKeys = Object.freeze({
952
952
  version: 'x-sdk-version',
953
953
  type: 'x-sdk-type'
954
954
  });
955
- SDK._version = '1.126.0-beta';
955
+ SDK._version = 'v1.127.0-beta';
956
956
 
957
957
  /******************************************************************************
958
958
  Copyright (c) Microsoft Corporation.
@@ -5512,12 +5512,12 @@ var EventEmitter = /*#__PURE__*/function () {
5512
5512
  * @type {object}
5513
5513
  * @param {string} HTML=html
5514
5514
  */
5515
- var TOKEN_FORMAT;
5515
+ var TOKEN_FORMAT$1;
5516
5516
  (function (TOKEN_FORMAT) {
5517
5517
  TOKEN_FORMAT["HTML"] = "html";
5518
5518
  TOKEN_FORMAT["URL"] = "url";
5519
5519
  TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
5520
- })(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
5520
+ })(TOKEN_FORMAT$1 || (TOKEN_FORMAT$1 = {}));
5521
5521
  /**
5522
5522
  * List of available event's name
5523
5523
  * @const EVENT
@@ -5576,11 +5576,11 @@ var Canvas3ds = /*#__PURE__*/function () {
5576
5576
  *
5577
5577
  */
5578
5578
  function load() {
5579
- if (this.token.format === TOKEN_FORMAT.HTML) this.iFrame.loadFromHtml(this.token.content, {
5579
+ if (this.token.format === TOKEN_FORMAT$1.HTML) this.iFrame.loadFromHtml(this.token.content, {
5580
5580
  title: '3d secure authentication'
5581
- }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.URL) this.iFrame.load(this.token.content, {
5581
+ }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.URL) this.iFrame.load(this.token.content, {
5582
5582
  title: '3d secure authentication'
5583
- }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
5583
+ }, 'threeDSecure-iframe');else if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) this.standalone3dsService.load(this.token.content, {
5584
5584
  title: '3d secure authentication'
5585
5585
  });else console.error('Token contain unsupported payload');
5586
5586
  }
@@ -5628,7 +5628,7 @@ var Canvas3ds = /*#__PURE__*/function () {
5628
5628
  key: "on",
5629
5629
  value: function on(eventName, cb) {
5630
5630
  var _this = this;
5631
- if (this.token.format === TOKEN_FORMAT.STANDALONE_3DS) {
5631
+ if (this.token.format === TOKEN_FORMAT$1.STANDALONE_3DS) {
5632
5632
  if (typeof cb === 'function') return this.eventEmitter.subscribe(eventName, cb);
5633
5633
  return new Promise(function (resolve) {
5634
5634
  return _this.eventEmitter.subscribe(eventName, function (res) {
@@ -16075,6 +16075,95 @@ var InstructionBankAccountFormShow = /*#__PURE__*/function (_InstructionHandler)
16075
16075
  }(InstructionHandler);
16076
16076
  InstructionBankAccountFormShow = __decorate([Instruction('instruction.bank_account_form.show')], InstructionBankAccountFormShow);
16077
16077
 
16078
+ var toByteArray_1 = toByteArray;
16079
+ var revLookup = [];
16080
+ var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
16081
+
16082
+ var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
16083
+ for (var i$2 = 0, len = code.length; i$2 < len; ++i$2) {
16084
+ revLookup[code.charCodeAt(i$2)] = i$2;
16085
+ }
16086
+
16087
+ // Support decoding URL-safe base64 strings, as Node.js does.
16088
+ // See: https://en.wikipedia.org/wiki/Base64#URL_applications
16089
+ revLookup['-'.charCodeAt(0)] = 62;
16090
+ revLookup['_'.charCodeAt(0)] = 63;
16091
+
16092
+ function getLens (b64) {
16093
+ var len = b64.length;
16094
+
16095
+ if (len % 4 > 0) {
16096
+ throw new Error('Invalid string. Length must be a multiple of 4')
16097
+ }
16098
+
16099
+ // Trim off extra bytes after placeholder bytes are found
16100
+ // See: https://github.com/beatgammit/base64-js/issues/42
16101
+ var validLen = b64.indexOf('=');
16102
+ if (validLen === -1) validLen = len;
16103
+
16104
+ var placeHoldersLen = validLen === len
16105
+ ? 0
16106
+ : 4 - (validLen % 4);
16107
+
16108
+ return [validLen, placeHoldersLen]
16109
+ }
16110
+
16111
+ function _byteLength (b64, validLen, placeHoldersLen) {
16112
+ return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
16113
+ }
16114
+
16115
+ function toByteArray (b64) {
16116
+ var tmp;
16117
+ var lens = getLens(b64);
16118
+ var validLen = lens[0];
16119
+ var placeHoldersLen = lens[1];
16120
+
16121
+ var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
16122
+
16123
+ var curByte = 0;
16124
+
16125
+ // if there are placeholders, only get up to the last complete 4 chars
16126
+ var len = placeHoldersLen > 0
16127
+ ? validLen - 4
16128
+ : validLen;
16129
+
16130
+ var i;
16131
+ for (i = 0; i < len; i += 4) {
16132
+ tmp =
16133
+ (revLookup[b64.charCodeAt(i)] << 18) |
16134
+ (revLookup[b64.charCodeAt(i + 1)] << 12) |
16135
+ (revLookup[b64.charCodeAt(i + 2)] << 6) |
16136
+ revLookup[b64.charCodeAt(i + 3)];
16137
+ arr[curByte++] = (tmp >> 16) & 0xFF;
16138
+ arr[curByte++] = (tmp >> 8) & 0xFF;
16139
+ arr[curByte++] = tmp & 0xFF;
16140
+ }
16141
+
16142
+ if (placeHoldersLen === 2) {
16143
+ tmp =
16144
+ (revLookup[b64.charCodeAt(i)] << 2) |
16145
+ (revLookup[b64.charCodeAt(i + 1)] >> 4);
16146
+ arr[curByte++] = tmp & 0xFF;
16147
+ }
16148
+
16149
+ if (placeHoldersLen === 1) {
16150
+ tmp =
16151
+ (revLookup[b64.charCodeAt(i)] << 10) |
16152
+ (revLookup[b64.charCodeAt(i + 1)] << 4) |
16153
+ (revLookup[b64.charCodeAt(i + 2)] >> 2);
16154
+ arr[curByte++] = (tmp >> 8) & 0xFF;
16155
+ arr[curByte++] = tmp & 0xFF;
16156
+ }
16157
+
16158
+ return arr
16159
+ }
16160
+
16161
+ var TOKEN_FORMAT;
16162
+ (function (TOKEN_FORMAT) {
16163
+ TOKEN_FORMAT["HTML"] = "html";
16164
+ TOKEN_FORMAT["URL"] = "url";
16165
+ TOKEN_FORMAT["STANDALONE_3DS"] = "standalone_3ds";
16166
+ })(TOKEN_FORMAT || (TOKEN_FORMAT = {}));
16078
16167
  var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16079
16168
  function InstructionCanvas3dsShow() {
16080
16169
  _classCallCheck(this, InstructionCanvas3dsShow);
@@ -16085,12 +16174,25 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16085
16174
  key: "handle",
16086
16175
  value: function handle(context) {
16087
16176
  var _this = this;
16177
+ var token = this.decodeBase64Token(context.payload._3ds_token);
16088
16178
  var canvas = new Canvas3ds(this.formSelector, context.payload._3ds_token);
16089
16179
  canvas.setEnv(this.getEnv(context.instruction_token));
16090
- canvas.on('chargeAuth', function (event) {
16180
+ canvas.on('chargeAuth', function () {
16091
16181
  return Spinner.show();
16092
16182
  });
16093
- canvas.on('chargeAuthSuccess', function (event) {
16183
+ canvas.on('chargeAuthChallenge', function () {
16184
+ if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
16185
+ Spinner.hide();
16186
+ _this.observeIframeAndResize();
16187
+ }
16188
+ });
16189
+ canvas.on('chargeAuthDecoupled', function () {
16190
+ if (token.format === TOKEN_FORMAT.STANDALONE_3DS) {
16191
+ Spinner.hide();
16192
+ _this.observeIframeAndResize();
16193
+ }
16194
+ });
16195
+ canvas.on('chargeAuthSuccess', function () {
16094
16196
  var _a;
16095
16197
  (_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
16096
16198
  _this.api.checkout().callback({
@@ -16104,8 +16206,9 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16104
16206
  })["catch"](function (response) {
16105
16207
  return console.error('callback.child_widget.status - chargeAuthSuccess: error', response);
16106
16208
  });
16209
+ Spinner.show();
16107
16210
  });
16108
- canvas.on('chargeAuthReject', function (event) {
16211
+ canvas.on('chargeAuthReject', function () {
16109
16212
  var _a;
16110
16213
  // **TODO add interface for chargeAuthReject event **//
16111
16214
  (_a = _this.checkoutWidget) === null || _a === void 0 ? void 0 : _a.fetchInstruction();
@@ -16120,6 +16223,7 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16120
16223
  })["catch"](function (response) {
16121
16224
  return console.error('callback.child_widget.status - chargeAuthReject: error', response);
16122
16225
  });
16226
+ Spinner.show();
16123
16227
  });
16124
16228
  canvas.on('error', function (event) {
16125
16229
  var _a;
@@ -16136,15 +16240,60 @@ var InstructionCanvas3dsShow = /*#__PURE__*/function (_InstructionHandler) {
16136
16240
  })["catch"](function (response) {
16137
16241
  return console.error('callback.child_widget.status - errorEvent: error', response);
16138
16242
  });
16243
+ Spinner.show();
16139
16244
  });
16140
16245
  canvas.load();
16141
- Spinner.hide();
16246
+ if (token.format !== TOKEN_FORMAT.STANDALONE_3DS) {
16247
+ Spinner.hide();
16248
+ }
16142
16249
  }
16143
16250
  }, {
16144
16251
  key: "destroy",
16145
16252
  value: function destroy() {
16146
16253
  document.querySelector(this.formSelector).innerHTML = '';
16147
16254
  }
16255
+ }, {
16256
+ key: "decodeBase64Token",
16257
+ value: function decodeBase64Token(token) {
16258
+ try {
16259
+ var base64 = token.replace(/-/g, '+').replace(/_/g, '/').padEnd(Math.ceil(token.length / 4) * 4, '=');
16260
+ var bytes = toByteArray_1(base64);
16261
+ var json = new TextDecoder().decode(bytes);
16262
+ return JSON.parse(json);
16263
+ } catch (err) {
16264
+ console.error('Failed to decode _3ds_token:', err);
16265
+ throw err;
16266
+ }
16267
+ }
16268
+ }, {
16269
+ key: "observeIframeAndResize",
16270
+ value: function observeIframeAndResize() {
16271
+ var outer = document.querySelector('#standaloneWidget');
16272
+ if (outer) {
16273
+ outer.style.display = 'flex';
16274
+ outer.style.justifyContent = 'center';
16275
+ }
16276
+ var container = document.querySelector('#paydock_authorization_iframe');
16277
+ if (!container) {
16278
+ console.warn('Container not found');
16279
+ return;
16280
+ }
16281
+ var observer = new MutationObserver(function () {
16282
+ var iframe = container.querySelector('iframe');
16283
+ if (iframe) {
16284
+ iframe.style.width = '100%';
16285
+ iframe.style.height = '500px';
16286
+ iframe.style.border = 'none';
16287
+ iframe.style.display = 'block';
16288
+ console.info('3DS iframe resized', iframe);
16289
+ observer.disconnect();
16290
+ }
16291
+ });
16292
+ observer.observe(container, {
16293
+ childList: true,
16294
+ subtree: true
16295
+ });
16296
+ }
16148
16297
  }]);
16149
16298
  }(InstructionHandler);
16150
16299
  InstructionCanvas3dsShow = __decorate([Instruction('instruction.canvas_3ds_form.show')], InstructionCanvas3dsShow);
@@ -7,5 +7,7 @@ export declare class InstructionCanvas3dsShow extends InstructionHandler {
7
7
  };
8
8
  }): void;
9
9
  destroy(): void;
10
+ private decodeBase64Token;
11
+ private observeIframeAndResize;
10
12
  }
11
13
  //# sourceMappingURL=instruction.canvas_3ds.show.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instruction.canvas_3ds.show.d.ts","sourceRoot":"","sources":["../../../../src/checkout/instructions/v1/instruction.canvas_3ds.show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,qBACa,wBAAyB,SAAQ,kBAAkB;IACvD,MAAM,CAAC,OAAO,EAAE;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,GAAG,IAAI;IAoED,OAAO;CAGf"}
1
+ {"version":3,"file":"instruction.canvas_3ds.show.d.ts","sourceRoot":"","sources":["../../../../src/checkout/instructions/v1/instruction.canvas_3ds.show.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AASvE,qBACa,wBAAyB,SAAQ,kBAAkB;IACvD,MAAM,CAAC,OAAO,EAAE;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,GAAG,IAAI;IA4FD,OAAO;IAId,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,sBAAsB;CA6B/B"}