@web3auth/modal 8.0.1 → 8.1.0

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/dist/modal.cjs.js CHANGED
@@ -110,7 +110,7 @@ const defaultOtherModalConfig = {
110
110
 
111
111
  /***/ }),
112
112
 
113
- /***/ 710:
113
+ /***/ 73:
114
114
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
115
115
 
116
116
  "use strict";
@@ -136,6 +136,12 @@ const no_modal_namespaceObject = require("@web3auth/no-modal");
136
136
  const openlogin_adapter_namespaceObject = require("@web3auth/openlogin-adapter");
137
137
  ;// CONCATENATED MODULE: external "@web3auth/ui"
138
138
  const ui_namespaceObject = require("@web3auth/ui");
139
+ ;// CONCATENATED MODULE: external "lodash.clonedeep"
140
+ const external_lodash_clonedeep_namespaceObject = require("lodash.clonedeep");
141
+ var external_lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(external_lodash_clonedeep_namespaceObject);
142
+ ;// CONCATENATED MODULE: external "lodash.merge"
143
+ const external_lodash_merge_namespaceObject = require("lodash.merge");
144
+ var external_lodash_merge_default = /*#__PURE__*/__webpack_require__.n(external_lodash_merge_namespaceObject);
139
145
  // EXTERNAL MODULE: ./src/config.ts
140
146
  var config = __webpack_require__(149);
141
147
  ;// CONCATENATED MODULE: ./src/modalManager.ts
@@ -147,6 +153,8 @@ var config = __webpack_require__(149);
147
153
 
148
154
 
149
155
 
156
+
157
+
150
158
  class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
151
159
  constructor(options) {
152
160
  super(options);
@@ -155,13 +163,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
155
163
  defineProperty_default()(this, "modalConfig", config/* defaultOtherModalConfig */.Lu);
156
164
  this.options = objectSpread2_default()({}, options);
157
165
  if (!this.options.uiConfig) this.options.uiConfig = {};
158
- if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = (0,ui_namespaceObject.getUserLanguage)(this.options.uiConfig.defaultLanguage);
159
- if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
160
166
  if (!this.coreOptions.privateKeyProvider) throw base_.WalletInitializationError.invalidParams("privateKeyProvider is required");
161
- this.loginModal = new ui_namespaceObject.LoginModal(objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
162
- adapterListener: this
163
- }));
164
- this.subscribeToLoginModalEvents();
165
167
  }
166
168
  setModalConfig(modalConfig) {
167
169
  super.checkInitRequirements();
@@ -169,13 +171,51 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
169
171
  }
170
172
  async initModal(params) {
171
173
  super.checkInitRequirements();
174
+ let projectConfig;
175
+ try {
176
+ projectConfig = await (0,base_.fetchProjectConfig)(this.options.clientId);
177
+ } catch (e) {
178
+ throw base_.WalletInitializationError.notReady("failed to fetch project configurations");
179
+ }
180
+ const {
181
+ whitelabel
182
+ } = projectConfig;
183
+ this.options.uiConfig = external_lodash_merge_default()(external_lodash_clonedeep_default()(whitelabel), this.options.uiConfig);
184
+ if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = (0,ui_namespaceObject.getUserLanguage)(this.options.uiConfig.defaultLanguage);
185
+ if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
186
+ this.loginModal = new ui_namespaceObject.LoginModal(objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
187
+ adapterListener: this
188
+ }));
189
+ this.subscribeToLoginModalEvents();
190
+ const {
191
+ sms_otp_enabled: smsOtpEnabled
192
+ } = projectConfig;
193
+ if (smsOtpEnabled !== undefined) {
194
+ var _params;
195
+ const adapterConfig = {
196
+ [base_.WALLET_ADAPTERS.OPENLOGIN]: {
197
+ label: base_.WALLET_ADAPTERS.OPENLOGIN,
198
+ loginMethods: {
199
+ sms_passwordless: {
200
+ name: "sms_passwordless",
201
+ showOnModal: smsOtpEnabled,
202
+ showOnDesktop: smsOtpEnabled,
203
+ showOnMobile: smsOtpEnabled
204
+ }
205
+ }
206
+ }
207
+ };
208
+ if (!((_params = params) !== null && _params !== void 0 && _params.modalConfig)) params = {
209
+ modalConfig: {}
210
+ };
211
+ params.modalConfig = external_lodash_merge_default()(external_lodash_clonedeep_default()(params.modalConfig), adapterConfig);
212
+ }
172
213
  await this.loginModal.initModal();
173
214
  const providedChainConfig = this.options.chainConfig;
174
- // TODO: get stuff from dashboard here
175
215
  // merge default adapters with the custom configured adapters.
176
216
  const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];
177
217
  const adapterConfigurationPromises = allAdapters.map(async adapterName => {
178
- var _this$modalConfig$ada, _params$modalConfig, _this$modalConfig$ada2, _this$modalConfig$ada3;
218
+ var _this$modalConfig$ada, _params2, _this$modalConfig$ada2, _this$modalConfig$ada3;
179
219
  // start with the default config of adapter.
180
220
  let adapterConfig = ((_this$modalConfig$ada = this.modalConfig.adapters) === null || _this$modalConfig$ada === void 0 ? void 0 : _this$modalConfig$ada[adapterName]) || {
181
221
  label: adapterName,
@@ -185,7 +225,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
185
225
  };
186
226
 
187
227
  // override the default config of adapter if some config is being provided by the user.
188
- if (params !== null && params !== void 0 && (_params$modalConfig = params.modalConfig) !== null && _params$modalConfig !== void 0 && _params$modalConfig[adapterName]) {
228
+ if ((_params2 = params) !== null && _params2 !== void 0 && (_params2 = _params2.modalConfig) !== null && _params2 !== void 0 && _params2[adapterName]) {
189
229
  adapterConfig = objectSpread2_default()(objectSpread2_default()({}, adapterConfig), params.modalConfig[adapterName]);
190
230
  }
191
231
  this.modalConfig.adapters[adapterName] = adapterConfig;
@@ -279,24 +319,39 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
279
319
  }
280
320
  } else if (adapterName === base_.WALLET_ADAPTERS.WALLET_CONNECT_V2) {
281
321
  const walletConnectAdapter = this.walletAdapters[adapterName];
282
- walletConnectAdapter.setAdapterSettings({
283
- adapterSettings: {
284
- walletConnectInitOptions: {
285
- // Using a default wallet connect project id for web3auth modal integration
286
- projectId: "d3c63f19f9582f8ba48e982057eb096b" // TODO: get from dashboard
322
+ const {
323
+ wallet_connect_enabled: walletConnectEnabled,
324
+ wallet_connect_project_id: walletConnectProjectId
325
+ } = projectConfig;
326
+ if (walletConnectEnabled === false) {
327
+ var _this$modalConfig$ada5, _this$modalConfig$ada6, _this$modalConfig$ada7;
328
+ // override user specified config by hiding wallet connect
329
+ this.modalConfig.adapters = objectSpread2_default()(objectSpread2_default()({}, (_this$modalConfig$ada5 = this.modalConfig.adapters) !== null && _this$modalConfig$ada5 !== void 0 ? _this$modalConfig$ada5 : {}), {}, {
330
+ [base_.WALLET_ADAPTERS.WALLET_CONNECT_V2]: objectSpread2_default()(objectSpread2_default()({}, (_this$modalConfig$ada6 = (_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2]) !== null && _this$modalConfig$ada6 !== void 0 ? _this$modalConfig$ada6 : {}), {}, {
331
+ showOnModal: false
332
+ })
333
+ });
334
+ this.modalConfig.adapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2].showOnModal = false;
335
+ } else {
336
+ if (!walletConnectProjectId) throw base_.WalletInitializationError.invalidParams("Invalid wallet connect project id. Please configure it on the dashboard");
337
+ walletConnectAdapter.setAdapterSettings({
338
+ adapterSettings: {
339
+ walletConnectInitOptions: {
340
+ projectId: walletConnectProjectId
341
+ }
287
342
  }
288
- }
289
- });
343
+ });
344
+ }
290
345
  }
291
346
  return adapterName;
292
347
  }
293
348
  });
294
349
  const adapterNames = await Promise.all(adapterConfigurationPromises);
295
350
  const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
296
- var _this$modalConfig$ada5, _this$modalConfig$ada6, _adapter$name;
351
+ var _this$modalConfig$ada8, _this$modalConfig$ada9, _adapter$name;
297
352
  if (adapter.type !== base_.ADAPTER_CATEGORY.IN_APP) return false;
298
- if (((_this$modalConfig$ada5 = this.modalConfig.adapters) === null || _this$modalConfig$ada5 === void 0 || (_this$modalConfig$ada5 = _this$modalConfig$ada5[adapter.name]) === null || _this$modalConfig$ada5 === void 0 ? void 0 : _this$modalConfig$ada5.showOnModal) !== true) return false;
299
- if (!((_this$modalConfig$ada6 = this.modalConfig.adapters) !== null && _this$modalConfig$ada6 !== void 0 && (_this$modalConfig$ada6 = _this$modalConfig$ada6[adapter.name]) !== null && _this$modalConfig$ada6 !== void 0 && _this$modalConfig$ada6.loginMethods)) return true;
353
+ if (((_this$modalConfig$ada8 = this.modalConfig.adapters) === null || _this$modalConfig$ada8 === void 0 || (_this$modalConfig$ada8 = _this$modalConfig$ada8[adapter.name]) === null || _this$modalConfig$ada8 === void 0 ? void 0 : _this$modalConfig$ada8.showOnModal) !== true) return false;
354
+ if (!((_this$modalConfig$ada9 = this.modalConfig.adapters) !== null && _this$modalConfig$ada9 !== void 0 && (_this$modalConfig$ada9 = _this$modalConfig$ada9[adapter.name]) !== null && _this$modalConfig$ada9 !== void 0 && _this$modalConfig$ada9.loginMethods)) return true;
300
355
  const mergedLoginMethods = (0,ui_namespaceObject.getAdapterSocialLogins)(adapter.name, (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
301
356
  if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
302
357
  return false;
@@ -334,8 +389,8 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
334
389
  this.status = base_.ADAPTER_STATUS.READY;
335
390
  await Promise.all(initPromises);
336
391
  const hasExternalWallets = allAdapters.some(adapterName => {
337
- var _this$walletAdapters$, _this$modalConfig$ada7;
338
- return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === base_.ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[adapterName].showOnModal);
392
+ var _this$walletAdapters$, _this$modalConfig$ada10;
393
+ return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === base_.ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada10 = this.modalConfig.adapters) === null || _this$modalConfig$ada10 === void 0 ? void 0 : _this$modalConfig$ada10[adapterName].showOnModal);
339
394
  });
340
395
  if (hasExternalWallets) {
341
396
  this.loginModal.initExternalWalletContainer();
@@ -351,7 +406,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
351
406
  }
352
407
  }
353
408
  async connect() {
354
- // if (!this.loginModal.initialized) throw new Error("Login modal is not initialized");
409
+ if (!this.loginModal) throw new Error("Login modal is not initialized");
355
410
  // if already connected return provider
356
411
  if (this.connectedAdapterName && this.status === base_.ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
357
412
  this.loginModal.open();
@@ -552,7 +607,7 @@ __webpack_require__.r(__webpack_exports__);
552
607
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
553
608
  /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _interface__WEBPACK_IMPORTED_MODULE_1__) if(["default","defaultEvmDappModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","defaultSolanaDappModalConfig","defaultSolanaWalletModalConfig"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _interface__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]
554
609
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
555
- /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(710);
610
+ /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73);
556
611
 
557
612
 
558
613
 
@@ -560,5 +615,4 @@ __webpack_require__.r(__webpack_exports__);
560
615
 
561
616
  module.exports = __webpack_exports__;
562
617
  /******/ })()
563
- ;
564
- //# sourceMappingURL=modal.cjs.js.map
618
+ ;
package/dist/modal.esm.js CHANGED
@@ -1,10 +1,12 @@
1
- import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, WalletInitializationError, log, WALLET_ADAPTERS, getChainConfig, ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '@web3auth/base';
1
+ import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, WalletInitializationError, fetchProjectConfig, WALLET_ADAPTERS, log, getChainConfig, ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '@web3auth/base';
2
2
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import { CommonJRPCProvider } from '@web3auth/base-provider';
5
5
  import { Web3AuthNoModal } from '@web3auth/no-modal';
6
6
  import { getOpenloginDefaultOptions, OpenloginAdapter } from '@web3auth/openlogin-adapter';
7
7
  import { getUserLanguage, LoginModal, getAdapterSocialLogins, LOGIN_MODAL_EVENTS, OPENLOGIN_PROVIDERS } from '@web3auth/ui';
8
+ import clonedeep from 'lodash.clonedeep';
9
+ import merge from 'lodash.merge';
8
10
 
9
11
  const defaultSolanaDappModalConfig = {
10
12
  chainNamespace: CHAIN_NAMESPACES.SOLANA,
@@ -100,13 +102,7 @@ class Web3Auth extends Web3AuthNoModal {
100
102
  _defineProperty(this, "modalConfig", defaultOtherModalConfig);
101
103
  this.options = _objectSpread({}, options);
102
104
  if (!this.options.uiConfig) this.options.uiConfig = {};
103
- if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);
104
- if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
105
105
  if (!this.coreOptions.privateKeyProvider) throw WalletInitializationError.invalidParams("privateKeyProvider is required");
106
- this.loginModal = new LoginModal(_objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
107
- adapterListener: this
108
- }));
109
- this.subscribeToLoginModalEvents();
110
106
  }
111
107
  setModalConfig(modalConfig) {
112
108
  super.checkInitRequirements();
@@ -114,13 +110,51 @@ class Web3Auth extends Web3AuthNoModal {
114
110
  }
115
111
  async initModal(params) {
116
112
  super.checkInitRequirements();
113
+ let projectConfig;
114
+ try {
115
+ projectConfig = await fetchProjectConfig(this.options.clientId);
116
+ } catch (e) {
117
+ throw WalletInitializationError.notReady("failed to fetch project configurations");
118
+ }
119
+ const {
120
+ whitelabel
121
+ } = projectConfig;
122
+ this.options.uiConfig = merge(clonedeep(whitelabel), this.options.uiConfig);
123
+ if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);
124
+ if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
125
+ this.loginModal = new LoginModal(_objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
126
+ adapterListener: this
127
+ }));
128
+ this.subscribeToLoginModalEvents();
129
+ const {
130
+ sms_otp_enabled: smsOtpEnabled
131
+ } = projectConfig;
132
+ if (smsOtpEnabled !== undefined) {
133
+ var _params;
134
+ const adapterConfig = {
135
+ [WALLET_ADAPTERS.OPENLOGIN]: {
136
+ label: WALLET_ADAPTERS.OPENLOGIN,
137
+ loginMethods: {
138
+ sms_passwordless: {
139
+ name: "sms_passwordless",
140
+ showOnModal: smsOtpEnabled,
141
+ showOnDesktop: smsOtpEnabled,
142
+ showOnMobile: smsOtpEnabled
143
+ }
144
+ }
145
+ }
146
+ };
147
+ if (!((_params = params) !== null && _params !== void 0 && _params.modalConfig)) params = {
148
+ modalConfig: {}
149
+ };
150
+ params.modalConfig = merge(clonedeep(params.modalConfig), adapterConfig);
151
+ }
117
152
  await this.loginModal.initModal();
118
153
  const providedChainConfig = this.options.chainConfig;
119
- // TODO: get stuff from dashboard here
120
154
  // merge default adapters with the custom configured adapters.
121
155
  const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];
122
156
  const adapterConfigurationPromises = allAdapters.map(async adapterName => {
123
- var _this$modalConfig$ada, _params$modalConfig, _this$modalConfig$ada2, _this$modalConfig$ada3;
157
+ var _this$modalConfig$ada, _params2, _this$modalConfig$ada2, _this$modalConfig$ada3;
124
158
  // start with the default config of adapter.
125
159
  let adapterConfig = ((_this$modalConfig$ada = this.modalConfig.adapters) === null || _this$modalConfig$ada === void 0 ? void 0 : _this$modalConfig$ada[adapterName]) || {
126
160
  label: adapterName,
@@ -130,7 +164,7 @@ class Web3Auth extends Web3AuthNoModal {
130
164
  };
131
165
 
132
166
  // override the default config of adapter if some config is being provided by the user.
133
- if (params !== null && params !== void 0 && (_params$modalConfig = params.modalConfig) !== null && _params$modalConfig !== void 0 && _params$modalConfig[adapterName]) {
167
+ if ((_params2 = params) !== null && _params2 !== void 0 && (_params2 = _params2.modalConfig) !== null && _params2 !== void 0 && _params2[adapterName]) {
134
168
  adapterConfig = _objectSpread(_objectSpread({}, adapterConfig), params.modalConfig[adapterName]);
135
169
  }
136
170
  this.modalConfig.adapters[adapterName] = adapterConfig;
@@ -224,24 +258,39 @@ class Web3Auth extends Web3AuthNoModal {
224
258
  }
225
259
  } else if (adapterName === WALLET_ADAPTERS.WALLET_CONNECT_V2) {
226
260
  const walletConnectAdapter = this.walletAdapters[adapterName];
227
- walletConnectAdapter.setAdapterSettings({
228
- adapterSettings: {
229
- walletConnectInitOptions: {
230
- // Using a default wallet connect project id for web3auth modal integration
231
- projectId: "d3c63f19f9582f8ba48e982057eb096b" // TODO: get from dashboard
261
+ const {
262
+ wallet_connect_enabled: walletConnectEnabled,
263
+ wallet_connect_project_id: walletConnectProjectId
264
+ } = projectConfig;
265
+ if (walletConnectEnabled === false) {
266
+ var _this$modalConfig$ada5, _this$modalConfig$ada6, _this$modalConfig$ada7;
267
+ // override user specified config by hiding wallet connect
268
+ this.modalConfig.adapters = _objectSpread(_objectSpread({}, (_this$modalConfig$ada5 = this.modalConfig.adapters) !== null && _this$modalConfig$ada5 !== void 0 ? _this$modalConfig$ada5 : {}), {}, {
269
+ [WALLET_ADAPTERS.WALLET_CONNECT_V2]: _objectSpread(_objectSpread({}, (_this$modalConfig$ada6 = (_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[WALLET_ADAPTERS.WALLET_CONNECT_V2]) !== null && _this$modalConfig$ada6 !== void 0 ? _this$modalConfig$ada6 : {}), {}, {
270
+ showOnModal: false
271
+ })
272
+ });
273
+ this.modalConfig.adapters[WALLET_ADAPTERS.WALLET_CONNECT_V2].showOnModal = false;
274
+ } else {
275
+ if (!walletConnectProjectId) throw WalletInitializationError.invalidParams("Invalid wallet connect project id. Please configure it on the dashboard");
276
+ walletConnectAdapter.setAdapterSettings({
277
+ adapterSettings: {
278
+ walletConnectInitOptions: {
279
+ projectId: walletConnectProjectId
280
+ }
232
281
  }
233
- }
234
- });
282
+ });
283
+ }
235
284
  }
236
285
  return adapterName;
237
286
  }
238
287
  });
239
288
  const adapterNames = await Promise.all(adapterConfigurationPromises);
240
289
  const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
241
- var _this$modalConfig$ada5, _this$modalConfig$ada6, _adapter$name;
290
+ var _this$modalConfig$ada8, _this$modalConfig$ada9, _adapter$name;
242
291
  if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;
243
- if (((_this$modalConfig$ada5 = this.modalConfig.adapters) === null || _this$modalConfig$ada5 === void 0 || (_this$modalConfig$ada5 = _this$modalConfig$ada5[adapter.name]) === null || _this$modalConfig$ada5 === void 0 ? void 0 : _this$modalConfig$ada5.showOnModal) !== true) return false;
244
- if (!((_this$modalConfig$ada6 = this.modalConfig.adapters) !== null && _this$modalConfig$ada6 !== void 0 && (_this$modalConfig$ada6 = _this$modalConfig$ada6[adapter.name]) !== null && _this$modalConfig$ada6 !== void 0 && _this$modalConfig$ada6.loginMethods)) return true;
292
+ if (((_this$modalConfig$ada8 = this.modalConfig.adapters) === null || _this$modalConfig$ada8 === void 0 || (_this$modalConfig$ada8 = _this$modalConfig$ada8[adapter.name]) === null || _this$modalConfig$ada8 === void 0 ? void 0 : _this$modalConfig$ada8.showOnModal) !== true) return false;
293
+ if (!((_this$modalConfig$ada9 = this.modalConfig.adapters) !== null && _this$modalConfig$ada9 !== void 0 && (_this$modalConfig$ada9 = _this$modalConfig$ada9[adapter.name]) !== null && _this$modalConfig$ada9 !== void 0 && _this$modalConfig$ada9.loginMethods)) return true;
245
294
  const mergedLoginMethods = getAdapterSocialLogins(adapter.name, (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
246
295
  if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
247
296
  return false;
@@ -279,8 +328,8 @@ class Web3Auth extends Web3AuthNoModal {
279
328
  this.status = ADAPTER_STATUS.READY;
280
329
  await Promise.all(initPromises);
281
330
  const hasExternalWallets = allAdapters.some(adapterName => {
282
- var _this$walletAdapters$, _this$modalConfig$ada7;
283
- return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[adapterName].showOnModal);
331
+ var _this$walletAdapters$, _this$modalConfig$ada10;
332
+ return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada10 = this.modalConfig.adapters) === null || _this$modalConfig$ada10 === void 0 ? void 0 : _this$modalConfig$ada10[adapterName].showOnModal);
284
333
  });
285
334
  if (hasExternalWallets) {
286
335
  this.loginModal.initExternalWalletContainer();
@@ -296,7 +345,7 @@ class Web3Auth extends Web3AuthNoModal {
296
345
  }
297
346
  }
298
347
  async connect() {
299
- // if (!this.loginModal.initialized) throw new Error("Login modal is not initialized");
348
+ if (!this.loginModal) throw new Error("Login modal is not initialized");
300
349
  // if already connected return provider
301
350
  if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
302
351
  this.loginModal.open();
@@ -401,4 +450,3 @@ class Web3Auth extends Web3AuthNoModal {
401
450
  }
402
451
 
403
452
  export { Web3Auth, defaultEvmDappModalConfig, defaultEvmWalletModalConfig, defaultOtherModalConfig, defaultSolanaDappModalConfig, defaultSolanaWalletModalConfig };
404
- //# sourceMappingURL=modal.esm.js.map