@web3auth/modal 10.0.0-beta.8 → 10.0.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.
Files changed (83) hide show
  1. package/README.md +2 -2
  2. package/dist/lib.cjs/packages/modal/src/config.js +1 -1
  3. package/dist/lib.cjs/packages/modal/src/connectors/coinbase-connector/index.js +12 -0
  4. package/dist/lib.cjs/packages/modal/src/modalManager.js +152 -91
  5. package/dist/lib.cjs/packages/modal/src/providers/ethereum-mpc-provider/index.js +12 -0
  6. package/dist/lib.cjs/packages/modal/src/providers/xrpl-provider/index.js +12 -0
  7. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +3 -1
  8. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +23 -19
  9. package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +3 -3
  10. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +17 -1
  11. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +4 -0
  12. package/dist/lib.cjs/packages/modal/src/react/wagmi/constants.js +16 -0
  13. package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +15 -10
  14. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +17 -1
  15. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +8 -5
  16. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +1 -0
  17. package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +1 -1
  18. package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +23 -4
  19. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +6 -1
  20. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +2 -2
  21. package/dist/lib.cjs/packages/modal/src/ui/context/AnalyticsContext.js +9 -0
  22. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
  23. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +42 -15
  24. package/dist/lib.cjs/packages/modal/src/utils.js +22 -0
  25. package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +11 -2
  26. package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +3 -3
  27. package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +1 -1
  28. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +17 -1
  29. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +19 -13
  30. package/dist/lib.cjs/packages/modal/src/vue/wagmi/constants.js +16 -0
  31. package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +35 -16
  32. package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
  33. package/dist/lib.cjs/types/interface.d.ts +0 -3
  34. package/dist/lib.cjs/types/modalManager.d.ts +5 -4
  35. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
  36. package/dist/lib.cjs/types/providers/xrpl-provider/index.d.ts +1 -0
  37. package/dist/lib.cjs/types/react/Web3AuthProvider.d.ts +1 -1
  38. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +2 -2
  39. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +2 -1
  40. package/dist/lib.cjs/types/react/interfaces.d.ts +2 -1
  41. package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
  42. package/dist/lib.cjs/types/react/wagmi/provider.d.ts +1 -2
  43. package/dist/lib.cjs/types/ui/context/AnalyticsContext.d.ts +4 -0
  44. package/dist/lib.cjs/types/ui/interfaces.d.ts +3 -2
  45. package/dist/lib.cjs/types/ui/loginModal.d.ts +1 -0
  46. package/dist/lib.cjs/types/utils.d.ts +17 -0
  47. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +1 -1
  48. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +2 -1
  49. package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
  50. package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +1 -0
  51. package/dist/lib.esm/packages/modal/src/config.js +1 -1
  52. package/dist/lib.esm/packages/modal/src/connectors/coinbase-connector/index.js +1 -0
  53. package/dist/lib.esm/packages/modal/src/modalManager.js +160 -97
  54. package/dist/lib.esm/packages/modal/src/providers/ethereum-mpc-provider/index.js +1 -0
  55. package/dist/lib.esm/packages/modal/src/providers/xrpl-provider/index.js +1 -0
  56. package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +3 -1
  57. package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +25 -21
  58. package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +3 -3
  59. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +17 -1
  60. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +5 -1
  61. package/dist/lib.esm/packages/modal/src/react/wagmi/constants.js +14 -0
  62. package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +18 -14
  63. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +19 -2
  64. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +8 -5
  65. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +1 -0
  66. package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +1 -1
  67. package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +24 -5
  68. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +6 -1
  69. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +2 -2
  70. package/dist/lib.esm/packages/modal/src/ui/context/AnalyticsContext.js +7 -0
  71. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
  72. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +41 -14
  73. package/dist/lib.esm/packages/modal/src/utils.js +20 -0
  74. package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +12 -3
  75. package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +3 -3
  76. package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +1 -1
  77. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +17 -1
  78. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +20 -14
  79. package/dist/lib.esm/packages/modal/src/vue/wagmi/constants.js +14 -0
  80. package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +39 -20
  81. package/dist/modal.umd.min.js +1 -1
  82. package/dist/modal.umd.min.js.LICENSE.txt +6 -8
  83. package/package.json +42 -33
@@ -1,9 +1,9 @@
1
1
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
2
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
- import { log } from '@web3auth/no-modal';
3
+ import { CHAIN_NAMESPACES, WalletInitializationError, log } from '@web3auth/no-modal';
4
4
  import { useMemo, createElement, useEffect, Fragment } from 'react';
5
- import { defineChain, http } from 'viem';
6
- import { createConfig, WagmiProvider as WagmiProvider$1, useConfig, useAccountEffect } from 'wagmi';
5
+ import { defineChain, webSocket, http } from 'viem';
6
+ import { createConfig, WagmiProvider as WagmiProvider$1, useConfig, useReconnect, useAccountEffect } from 'wagmi';
7
7
  import { injected } from 'wagmi/connectors';
8
8
  import '@babel/runtime/helpers/defineProperty';
9
9
  import '@web3auth/auth';
@@ -24,6 +24,7 @@ import 'react-qrcode-logo';
24
24
  import '../../ui/components/Login/Login.js';
25
25
  import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
26
26
  import { useWeb3AuthDisconnect } from '../hooks/useWeb3AuthDisconnect.js';
27
+ import { defaultWagmiConfig } from './constants.js';
27
28
 
28
29
  const _excluded = ["children"];
29
30
  const WEB3AUTH_CONNECTOR_ID = "web3auth";
@@ -88,6 +89,9 @@ function Web3AuthWagmiProvider({
88
89
  disconnect
89
90
  } = useWeb3AuthDisconnect();
90
91
  const wagmiConfig = useConfig();
92
+ const {
93
+ reconnect
94
+ } = useReconnect();
91
95
  useAccountEffect({
92
96
  onDisconnect: async () => {
93
97
  log.info("Disconnected from wagmi");
@@ -103,13 +107,14 @@ function Web3AuthWagmiProvider({
103
107
  throw new Error("Failed to setup connector");
104
108
  }
105
109
  await connectWeb3AuthWithWagmi(connector, wagmiConfig);
110
+ reconnect();
106
111
  } else if (!isConnected) {
107
112
  if (wagmiConfig.state.status === "connected") {
108
113
  await disconnectWeb3AuthFromWagmi(wagmiConfig);
109
114
  }
110
115
  }
111
116
  })();
112
- }, [isConnected, wagmiConfig, provider]);
117
+ }, [isConnected, wagmiConfig, provider, reconnect]);
113
118
  return /*#__PURE__*/createElement(Fragment, null, children);
114
119
  }
115
120
  function WagmiProvider(_ref) {
@@ -124,8 +129,12 @@ function WagmiProvider(_ref) {
124
129
  web3Auth,
125
130
  isInitialized
126
131
  } = useWeb3Auth();
132
+ web3Auth === null || web3Auth === void 0 || web3Auth.setAnalyticsProperties({
133
+ wagmi_enabled: true
134
+ });
127
135
  const finalConfig = useMemo(() => {
128
136
  var _web3Auth$coreOptions;
137
+ if (!isInitialized) return defaultWagmiConfig;
129
138
  const finalConfig = _objectSpread(_objectSpread({
130
139
  ssr: true
131
140
  }, config), {}, {
@@ -139,7 +148,8 @@ function WagmiProvider(_ref) {
139
148
  if (isInitialized && web3Auth !== null && web3Auth !== void 0 && (_web3Auth$coreOptions = web3Auth.coreOptions) !== null && _web3Auth$coreOptions !== void 0 && _web3Auth$coreOptions.chains) {
140
149
  var _web3Auth$currentChai;
141
150
  const defaultChainId = (_web3Auth$currentChai = web3Auth.currentChain) === null || _web3Auth$currentChai === void 0 ? void 0 : _web3Auth$currentChai.chainId;
142
- const chains = web3Auth.coreOptions.chains;
151
+ const chains = web3Auth.coreOptions.chains.filter(chain => chain.chainNamespace === CHAIN_NAMESPACES.EIP155);
152
+ if (chains.length === 0) throw WalletInitializationError.invalidParams("No valid chains found in web3auth config for wagmi.");
143
153
  chains.forEach(chain => {
144
154
  const wagmiChain = defineChain({
145
155
  id: Number.parseInt(chain.chainId, 16),
@@ -169,23 +179,17 @@ function WagmiProvider(_ref) {
169
179
  } else {
170
180
  wagmiChains.push(wagmiChain);
171
181
  }
172
- finalConfig.transports[wagmiChain.id] = http(chain.rpcTarget);
182
+ finalConfig.transports[wagmiChain.id] = chain.wsTarget ? webSocket(chain.wsTarget) : http(chain.rpcTarget);
173
183
  });
174
184
  finalConfig.chains = [wagmiChains[0], ...wagmiChains.slice(1)];
175
185
  }
176
- if (!finalConfig.chains) return;
177
186
  return createConfig(finalConfig);
178
187
  }, [config, web3Auth, isInitialized]);
179
-
180
- // WagmiProviderBase requires a config to initialize
181
- // If no config is provided, it will throw an error.
182
- if (!finalConfig) return null;
183
188
  return /*#__PURE__*/createElement(WagmiProvider$1, // typecast to WagmiProviderPropsBase to avoid type error
184
189
  // as we are omitting the config prop from WagmiProviderProps
185
190
  // and creating a new config object with the finalConfig
186
- _objectSpread(_objectSpread({
187
- config: finalConfig
188
- }, props), {}, {
191
+ _objectSpread(_objectSpread({}, props), {}, {
192
+ config: finalConfig,
189
193
  reconnectOnMount: false
190
194
  }), /*#__PURE__*/createElement(Web3AuthWagmiProvider, null, children));
191
195
  }
@@ -1,7 +1,8 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import { WALLET_CONNECTORS } from '@web3auth/no-modal';
2
+ import { WALLET_CONNECTORS, ANALYTICS_EVENTS } from '@web3auth/no-modal';
3
3
  import { useContext, useState, useMemo } from 'react';
4
4
  import { CONNECT_WALLET_PAGES } from '../../constants.js';
5
+ import { AnalyticsContext } from '../../context/AnalyticsContext.js';
5
6
  import { RootContext } from '../../context/RootContext.js';
6
7
  import ConnectWalletChainFilter from './ConnectWalletChainFilter/ConnectWalletChainFilter.js';
7
8
  import ConnectWalletHeader from './ConnectWalletHeader/ConnectWalletHeader.js';
@@ -32,6 +33,9 @@ function ConnectWallet(props) {
32
33
  bodyState,
33
34
  setBodyState
34
35
  } = useContext(RootContext);
36
+ const {
37
+ analytics
38
+ } = useContext(AnalyticsContext);
35
39
  const [currentPage, setCurrentPage] = useState(CONNECT_WALLET_PAGES.CONNECT_WALLET);
36
40
  const [selectedWallet, setSelectedWallet] = useState(false);
37
41
  const [isLoading] = useState(false);
@@ -118,6 +122,19 @@ function ConnectWallet(props) {
118
122
  }, [walletDiscoverySupported, defaultButtons, installedWalletButtons, isShowAllWallets, totalExternalWalletsCount]);
119
123
  const handleWalletClick = button => {
120
124
  var _button$chainNamespac2, _button$chainNamespac3;
125
+ const isInstalled = button.hasInjectedWallet || !button.hasWalletConnect && !button.hasInstallLinks;
126
+ analytics === null || analytics === void 0 || analytics.track(ANALYTICS_EVENTS.EXTERNAL_WALLET_SELECTED, {
127
+ connector: isInstalled ? button.name : button.hasWalletConnect ? WALLET_CONNECTORS.WALLET_CONNECT_V2 : "",
128
+ wallet_name: button.displayName,
129
+ is_installed: isInstalled,
130
+ is_injected: button.hasInjectedWallet,
131
+ chain_namespaces: button.chainNamespaces,
132
+ has_wallet_connect: button.hasWalletConnect,
133
+ has_install_links: button.hasInstallLinks,
134
+ has_wallet_registry_item: !!button.walletRegistryItem,
135
+ total_external_wallets: allUniqueButtons.length
136
+ });
137
+
121
138
  // show chain namespace selector if the button is an injected connector with multiple chain namespaces
122
139
  const isChainNamespaceSelectorRequired = button.hasInjectedWallet && ((_button$chainNamespac2 = button.chainNamespaces) === null || _button$chainNamespac2 === void 0 ? void 0 : _button$chainNamespac2.length) > 1;
123
140
  if (isChainNamespaceSelectorRequired) {
@@ -137,7 +154,7 @@ function ConnectWallet(props) {
137
154
  connector: button.name
138
155
  });
139
156
  }
140
- if (button.hasWalletConnect || !isInjectedConnectorAndSingleChainNamespace) {
157
+ if (button.hasWalletConnect) {
141
158
  setSelectedButton(button);
142
159
  setSelectedWallet(true);
143
160
  setCurrentPage(CONNECT_WALLET_PAGES.SELECTED_WALLET);
@@ -1,3 +1,4 @@
1
+ import { CHAIN_NAMESPACES } from '@web3auth/no-modal';
1
2
  import { useMemo } from 'react';
2
3
  import { useTranslation } from 'react-i18next';
3
4
  import i18nInstance from '../../../localeImport.js';
@@ -22,11 +23,13 @@ function ConnectWalletChainFilter(props) {
22
23
  icon: ""
23
24
  }];
24
25
  for (const chain of chainNamespace) {
25
- chains.push({
26
- id: chain,
27
- name: chain === "eip155" ? "EVM" : chain,
28
- icon: chain === "eip155" ? "ethereum" : chain
29
- });
26
+ if (chain === CHAIN_NAMESPACES.EIP155 || chain === CHAIN_NAMESPACES.SOLANA) {
27
+ chains.push({
28
+ id: chain,
29
+ name: chain === CHAIN_NAMESPACES.EIP155 ? "EVM" : chain,
30
+ icon: chain === CHAIN_NAMESPACES.EIP155 ? "ethereum" : chain
31
+ });
32
+ }
30
33
  }
31
34
  return chains;
32
35
  }, [chainNamespace]);
@@ -26,6 +26,7 @@ function ConnectWalletQrCode(props) {
26
26
  primaryColor
27
27
  } = props;
28
28
  const isDesktop = useMemo(() => {
29
+ if (typeof window === "undefined") return false;
29
30
  const browser = Bowser.getParser(window.navigator.userAgent);
30
31
  return browser.getPlatformType() === "desktop";
31
32
  }, []);
@@ -14,7 +14,7 @@ function Footer({
14
14
  i18n: i18nInstance
15
15
  });
16
16
  return /*#__PURE__*/jsxs("div", {
17
- className: "w3a--mx-auto w3a--mt-auto w3a--flex w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4 w3a--pt-6",
17
+ className: "w3a--mx-auto w3a--mt-auto w3a--flex w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4 w3a--pt-5",
18
18
  children: [(privacyPolicy || termsOfService) && /*#__PURE__*/jsxs("p", {
19
19
  className: "w3a--mx-auto w3a--w-4/5 w3a--text-center w3a--text-xs w3a--text-app-gray-500 dark:w3a--text-app-gray-400",
20
20
  children: [t("modal.footer.by-signing-in"), " ", termsOfService && /*#__PURE__*/jsxs("a", {
@@ -1,11 +1,12 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import HCaptcha from '@hcaptcha/react-hcaptcha';
3
3
  import { AUTH_CONNECTION } from '@web3auth/auth';
4
- import { WALLET_CONNECTORS, log, WalletLoginError } from '@web3auth/no-modal';
4
+ import { WALLET_CONNECTORS, log, ANALYTICS_EVENTS, WalletLoginError } from '@web3auth/no-modal';
5
5
  import { useContext, useState, useRef, useEffect, useMemo } from 'react';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { capitalizeFirstLetter, CAPTCHA_SITE_KEY } from '../../config.js';
8
8
  import { DEFAULT_LOGO_DARK, DEFAULT_LOGO_LIGHT } from '../../constants.js';
9
+ import { AnalyticsContext } from '../../context/AnalyticsContext.js';
9
10
  import { RootContext } from '../../context/RootContext.js';
10
11
  import { createPasswordlessHandler } from '../../handlers/factory.js';
11
12
  import i18nInstance from '../../localeImport.js';
@@ -50,6 +51,9 @@ function Login(props) {
50
51
  bodyState,
51
52
  setBodyState
52
53
  } = useContext(RootContext);
54
+ const {
55
+ analytics
56
+ } = useContext(AnalyticsContext);
53
57
  const [countryCode, setCountryCode] = useState("");
54
58
  const [countryFlag, setCountryFlag] = useState("");
55
59
  const [passwordlessErrorMessage, setPasswordlessErrorMessage] = useState("");
@@ -204,7 +208,7 @@ function Login(props) {
204
208
  authConnectionId: connectorConfig.authConnectionId,
205
209
  groupedAuthConnectionId: connectorConfig.groupedAuthConnectionId,
206
210
  extraLoginOptions: connectorConfig.extraLoginOptions,
207
- login_hint: loginHint,
211
+ loginHint: loginHint,
208
212
  name: "Email"
209
213
  }
210
214
  });
@@ -227,7 +231,7 @@ function Login(props) {
227
231
  authConnectionId: connectorConfig.authConnectionId,
228
232
  groupedAuthConnectionId: connectorConfig.groupedAuthConnectionId,
229
233
  extraLoginOptions: connectorConfig.extraLoginOptions,
230
- login_hint: finalLoginHint,
234
+ loginHint: finalLoginHint,
231
235
  name: "Mobile"
232
236
  }
233
237
  });
@@ -266,6 +270,10 @@ function Login(props) {
266
270
  if (isSmsPasswordLessLoginVisible) getLocation();
267
271
  }, [isSmsPasswordLessLoginVisible]);
268
272
  const handleConnectWallet = e => {
273
+ analytics === null || analytics === void 0 || analytics.track(ANALYTICS_EVENTS.EXTERNAL_WALLET_LIST_EXPANDED, {
274
+ total_external_wallets: totalExternalWallets,
275
+ installed_external_wallets: installedExternalWallets.length
276
+ });
269
277
  setIsPasswordLessCtaClicked(false);
270
278
  e.preventDefault();
271
279
  if (handleExternalWalletBtnClick) handleExternalWalletBtnClick(true);
@@ -292,7 +300,7 @@ function Login(props) {
292
300
  extraLoginOptions: _objectSpread(_objectSpread({}, connectorConfig.extraLoginOptions), {}, {
293
301
  id_token: (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.id_token
294
302
  }),
295
- login_hint: passwordlessHandler.passwordlessParams.loginHint,
303
+ loginHint: passwordlessHandler.passwordlessParams.loginHint,
296
304
  name: passwordlessHandler.name
297
305
  }
298
306
  });
@@ -305,6 +313,17 @@ function Login(props) {
305
313
  };
306
314
  const handleInstalledWalletClick = wallet => {
307
315
  var _wallet$chainNamespac;
316
+ analytics === null || analytics === void 0 || analytics.track(ANALYTICS_EVENTS.EXTERNAL_WALLET_SELECTED, {
317
+ connector: wallet.name,
318
+ wallet_name: wallet.displayName,
319
+ is_installed: true,
320
+ is_injected: wallet.hasInjectedWallet,
321
+ chain_namespaces: wallet.chainNamespaces,
322
+ has_wallet_connect: wallet.hasWalletConnect,
323
+ has_install_links: wallet.hasInstallLinks,
324
+ has_wallet_registry_item: !!wallet.walletRegistryItem,
325
+ total_external_wallets: totalExternalWallets
326
+ });
308
327
  // for non-injected Metamask, show QR code to connect
309
328
  if (wallet.name === WALLET_CONNECTORS.METAMASK && !wallet.hasInjectedWallet) {
310
329
  setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
@@ -500,7 +519,7 @@ function Login(props) {
500
519
  children: [/*#__PURE__*/jsx("figure", {
501
520
  className: cn("w3a--mx-auto w3a--h-12 w3a--w-[200px]", logoAlignment === "center" ? "w3a--flex w3a--justify-center w3a--items-center" : "w3a--ml-0 w3a--w-auto"),
502
521
  children: /*#__PURE__*/jsx("img", {
503
- src: headerLogo || getIcons(isDark ? "logo-dark" : "logo-light"),
522
+ src: headerLogo || getIcons(isDark ? "logo-w-dark" : "logo-w-light"),
504
523
  alt: "Logo",
505
524
  className: "w3a--size-full w3a--object-contain"
506
525
  })
@@ -93,6 +93,11 @@ function Root(props) {
93
93
 
94
94
  // Wallet Details
95
95
  const deviceDetails = useMemo(() => {
96
+ if (typeof window === "undefined") return {
97
+ platform: "mobile",
98
+ browser: "chrome",
99
+ os: "ios"
100
+ };
96
101
  const browserData = Bowser.getParser(window.navigator.userAgent);
97
102
  return {
98
103
  platform: browserData.getPlatformType(),
@@ -316,7 +321,7 @@ function Root(props) {
316
321
 
317
322
  // Loader Screen
318
323
  if (modalState.status !== MODAL_STATUS.INITIALIZED) {
319
- return "642px";
324
+ return "530px";
320
325
  }
321
326
 
322
327
  // Wallet Details Screen
@@ -131,7 +131,7 @@ function Widget(props) {
131
131
  externalWalletsVisibility: flag
132
132
  });
133
133
  });
134
- if (handleShowExternalWallets) handleShowExternalWallets(modalState.externalWalletsInitialized);
134
+ if (flag && handleShowExternalWallets) handleShowExternalWallets(modalState.externalWalletsInitialized);
135
135
  };
136
136
  const onCloseModal = () => {
137
137
  setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
@@ -172,7 +172,7 @@ function Widget(props) {
172
172
  }
173
173
 
174
174
  // auto connect to MetaMask if not injected to generate QR code URI for mobile connection
175
- const mmAvailable = !((_modalState$externalW2 = modalState.externalWalletsConfig[WALLET_CONNECTORS.METAMASK]) !== null && _modalState$externalW2 !== void 0 && _modalState$externalW2.isInjected);
175
+ const mmAvailable = modalState.externalWalletsConfig[WALLET_CONNECTORS.METAMASK] && !((_modalState$externalW2 = modalState.externalWalletsConfig[WALLET_CONNECTORS.METAMASK]) !== null && _modalState$externalW2 !== void 0 && _modalState$externalW2.isInjected);
176
176
  if (mmAvailable && !modalState.metamaskConnectUri && typeof handleExternalWalletClick === "function") {
177
177
  handleExternalWalletClick({
178
178
  connector: WALLET_CONNECTORS.METAMASK
@@ -0,0 +1,7 @@
1
+ import { createContext } from 'react';
2
+
3
+ const AnalyticsContext = /*#__PURE__*/createContext({
4
+ analytics: undefined
5
+ });
6
+
7
+ export { AnalyticsContext };
@@ -1,6 +1,6 @@
1
1
  import styleInject from '../../../../../node_modules/style-inject/dist/style-inject.es.js';
2
2
 
3
- var css_248z = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap\");.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.w3a-parent-container ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\n/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{border:0 solid;box-sizing:border-box}.w3a-parent-container :after,.w3a-parent-container :before{--tw-content:\"\"}.w3a-parent-container :host,.w3a-parent-container html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}.w3a-parent-container body{line-height:inherit;margin:0}.w3a-parent-container hr{border-top-width:1px;color:inherit;height:0}.w3a-parent-container abbr:where([title]){text-decoration:underline dotted}.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6{font-size:inherit;font-weight:inherit}.w3a-parent-container a{color:inherit;text-decoration:inherit}.w3a-parent-container b,.w3a-parent-container strong{font-weight:bolder}.w3a-parent-container code,.w3a-parent-container kbd,.w3a-parent-container pre,.w3a-parent-container samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.w3a-parent-container small{font-size:80%}.w3a-parent-container sub,.w3a-parent-container sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.w3a-parent-container sub{bottom:-.25em}.w3a-parent-container sup{top:-.5em}.w3a-parent-container table{border-collapse:collapse;border-color:inherit;text-indent:0}.w3a-parent-container button,.w3a-parent-container input,.w3a-parent-container optgroup,.w3a-parent-container select,.w3a-parent-container textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.w3a-parent-container button,.w3a-parent-container select{text-transform:none}.w3a-parent-container button,.w3a-parent-container input:where([type=button]),.w3a-parent-container input:where([type=reset]),.w3a-parent-container input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}.w3a-parent-container :-moz-focusring{outline:auto}.w3a-parent-container :-moz-ui-invalid{box-shadow:none}.w3a-parent-container progress{vertical-align:initial}.w3a-parent-container ::-webkit-inner-spin-button,.w3a-parent-container ::-webkit-outer-spin-button{height:auto}.w3a-parent-container [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.w3a-parent-container ::-webkit-search-decoration{-webkit-appearance:none}.w3a-parent-container ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.w3a-parent-container summary{display:list-item}.w3a-parent-container blockquote,.w3a-parent-container dd,.w3a-parent-container dl,.w3a-parent-container figure,.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6,.w3a-parent-container hr,.w3a-parent-container p,.w3a-parent-container pre{margin:0}.w3a-parent-container fieldset{margin:0;padding:0}.w3a-parent-container legend{padding:0}.w3a-parent-container menu,.w3a-parent-container ol,.w3a-parent-container ul{list-style:none;margin:0;padding:0}.w3a-parent-container dialog{padding:0}.w3a-parent-container textarea{resize:vertical}.w3a-parent-container input::placeholder,.w3a-parent-container textarea::placeholder{color:#9ca3af;opacity:1}.w3a-parent-container [role=button],.w3a-parent-container button{cursor:pointer}.w3a-parent-container :disabled{cursor:default}.w3a-parent-container audio,.w3a-parent-container canvas,.w3a-parent-container embed,.w3a-parent-container iframe,.w3a-parent-container img,.w3a-parent-container object,.w3a-parent-container svg,.w3a-parent-container video{display:block;vertical-align:middle}.w3a-parent-container img,.w3a-parent-container video{height:auto;max-width:100%}.w3a-parent-container [hidden]:where(:not([hidden=until-found])){display:none}.w3a-parent-container{--app-on-primary:#fff;--app-primary-50:#ebf5ff;--app-primary-100:#e1effe;--app-primary-200:#c3ddfd;--app-primary-300:#a4cafe;--app-primary-400:#76a9fa;--app-primary-500:#3f83f8;--app-primary-600:#0346ff;--app-primary-700:#1a56db;--app-primary-800:#1e429f;--app-primary-900:#233876;--app-gray-50:#f9fafb;--app-gray-100:#f3f4f6;--app-gray-200:#e5e7eb;--app-gray-300:#d1d5db;--app-gray-400:#9ca3af;--app-gray-500:#6b7280;--app-gray-600:#4b5563;--app-gray-700:#374151;--app-gray-800:#1f2a37;--app-gray-900:#111928;--app-blue-50:#ebf5ff;--app-blue-100:#e1effe;--app-blue-200:#c3ddfd;--app-blue-300:#a4cafe;--app-blue-400:#76a9fa;--app-blue-500:#3f83f8;--app-blue-600:#0346ff;--app-blue-700:#1a56db;--app-blue-800:#1e429f;--app-blue-900:#233876;--app-red-50:#fdf2f2;--app-red-100:#fde8e8;--app-red-200:#fbd5d5;--app-red-300:#f8b4b4;--app-red-400:#f98080;--app-red-500:#f05252;--app-red-600:#e02424;--app-red-700:#c81e1e;--app-red-800:#9b1c1c;--app-red-900:#771d1d;--app-green-50:#f3faf7;--app-green-100:#def7ec;--app-green-200:#bcf0da;--app-green-300:#84e1bc;--app-green-400:#31c48d;--app-green-500:#0e9f6e;--app-green-600:#057a55;--app-green-700:#046c4e;--app-green-800:#03543f;--app-green-900:#014737;--app-yellow-50:#fdfdea;--app-yellow-100:#fdf6b2;--app-yellow-200:#fce96a;--app-yellow-300:#faca15;--app-yellow-400:#e3a008;--app-yellow-500:#c27803;--app-yellow-600:#9f580a;--app-yellow-700:#8e4b10;--app-yellow-800:#723b13;--app-yellow-900:#633112;--app-success:#30cca4;--app-warning:#fbc94a;--app-error:#fb4a61;--app-info:#d4d4d4;--app-white:#fff;--app-black:#000}.w3a-parent-container body{box-sizing:border-box;margin:0!important;padding:0!important}.w3a-parent-container{font-family:Inter;position:relative}.w3a-parent-container .w3a-parent-container>*{scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a--social-container{scroll-padding-right:10px;scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a--modal-curtain{background-color:initial;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity 50ms ease-in;z-index:1}.w3a-parent-container .w3a--fixed{position:fixed}.w3a-parent-container .w3a--absolute{position:absolute}.w3a-parent-container .w3a--relative{position:relative}.w3a-parent-container .w3a--inset-x-4{left:1rem;right:1rem}.w3a-parent-container .w3a--bottom-2{bottom:.5rem}.w3a-parent-container .w3a--bottom-4{bottom:1rem}.w3a-parent-container .w3a--bottom-8{bottom:2rem}.w3a-parent-container .w3a--bottom-\\[100\\%\\]{bottom:100%}.w3a-parent-container .w3a--left-0{left:0}.w3a-parent-container .w3a--left-2{left:.5rem}.w3a-parent-container .w3a--left-\\[50\\%\\]{left:50%}.w3a-parent-container .w3a--right-4{right:1rem}.w3a-parent-container .w3a--right-6{right:1.5rem}.w3a-parent-container .w3a--top-0{top:0}.w3a-parent-container .w3a--top-1\\/2{top:50%}.w3a-parent-container .w3a--top-4{top:1rem}.w3a-parent-container .w3a--top-8{top:2rem}.w3a-parent-container .w3a--top-\\[16px\\]{top:16px}.w3a-parent-container .w3a--top-\\[30px\\]{top:30px}.w3a-parent-container .w3a--z-10{z-index:10}.w3a-parent-container .w3a--z-20{z-index:20}.w3a-parent-container .w3a--z-50{z-index:50}.w3a-parent-container .w3a--z-\\[-1\\]{z-index:-1}.w3a-parent-container .w3a--z-\\[45\\]{z-index:45}.w3a-parent-container .w3a--z-\\[60\\]{z-index:60}.w3a-parent-container .w3a--mx-auto{margin-left:auto;margin-right:auto}.w3a-parent-container .w3a--my-4{margin-bottom:1rem;margin-top:1rem}.w3a-parent-container .w3a--my-6{margin-bottom:1.5rem;margin-top:1.5rem}.w3a-parent-container .-w3a--mt-10{margin-top:-2.5rem}.w3a-parent-container .-w3a--mt-2{margin-top:-.5rem}.w3a-parent-container .-w3a--mt-6{margin-top:-1.5rem}.w3a-parent-container .w3a--mb-2{margin-bottom:.5rem}.w3a-parent-container .w3a--ml-0{margin-left:0}.w3a-parent-container .w3a--ml-2{margin-left:.5rem}.w3a-parent-container .w3a--ml-4{margin-left:1rem}.w3a-parent-container .w3a--mr-2\\.5{margin-right:.625rem}.w3a-parent-container .w3a--mr-auto{margin-right:auto}.w3a-parent-container .w3a--mt-2{margin-top:.5rem}.w3a-parent-container .w3a--mt-3{margin-top:.75rem}.w3a-parent-container .w3a--mt-auto{margin-top:auto}.w3a-parent-container .w3a--block{display:block}.w3a-parent-container .w3a--flex{display:flex}.w3a-parent-container .w3a--inline-flex{display:inline-flex}.w3a-parent-container .w3a--grid{display:grid}.w3a-parent-container .w3a--contents{display:contents}.w3a-parent-container .w3a--hidden{display:none}.w3a-parent-container .w3a--size-10{height:2.5rem;width:2.5rem}.w3a-parent-container .w3a--size-3{height:.75rem;width:.75rem}.w3a-parent-container .w3a--size-5{height:1.25rem;width:1.25rem}.w3a-parent-container .w3a--size-\\[300px\\]{height:300px;width:300px}.w3a-parent-container .w3a--size-auto{height:auto;width:auto}.w3a-parent-container .w3a--size-full{height:100%;width:100%}.w3a-parent-container .w3a--h-0{height:0}.w3a-parent-container .w3a--h-11{height:2.75rem}.w3a-parent-container .w3a--h-12{height:3rem}.w3a-parent-container .w3a--h-4{height:1rem}.w3a-parent-container .w3a--h-\\[280px\\]{height:280px}.w3a-parent-container .w3a--h-\\[300px\\]{height:300px}.w3a-parent-container .w3a--h-\\[328px\\]{height:328px}.w3a-parent-container .w3a--h-\\[42px\\]{height:42px}.w3a-parent-container .w3a--h-\\[50px\\]{height:50px}.w3a-parent-container .w3a--h-auto{height:auto}.w3a-parent-container .w3a--h-full{height:100%}.w3a-parent-container .w3a--h-px{height:1px}.w3a-parent-container .w3a--h-screen{height:100vh}.w3a-parent-container .w3a--w-0{width:0}.w3a-parent-container .w3a--w-12{width:3rem}.w3a-parent-container .w3a--w-4\\/5{width:80%}.w3a-parent-container .w3a--w-\\[100px\\]{width:100px}.w3a-parent-container .w3a--w-\\[104px\\]{width:104px}.w3a-parent-container .w3a--w-\\[200px\\]{width:200px}.w3a-parent-container .w3a--w-\\[356px\\]{width:356px}.w3a-parent-container .w3a--w-\\[90\\%\\]{width:90%}.w3a-parent-container .w3a--w-\\[96\\%\\]{width:96%}.w3a-parent-container .w3a--w-auto{width:auto}.w3a-parent-container .w3a--w-full{width:100%}.w3a-parent-container .w3a--w-max{width:max-content}.w3a-parent-container .w3a--w-screen{width:100vw}.w3a-parent-container .w3a--max-w-\\[180px\\]{max-width:180px}.w3a-parent-container .w3a--flex-1{flex:1 1 0%}.w3a-parent-container .-w3a--translate-x-10{--tw-translate-x:-2.5rem}.w3a-parent-container .-w3a--translate-x-10,.w3a-parent-container .-w3a--translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .-w3a--translate-x-6{--tw-translate-x:-1.5rem}.w3a-parent-container .-w3a--translate-y-1\\/2{--tw-translate-y:-50%}.w3a-parent-container .-w3a--translate-y-1\\/2,.w3a-parent-container .w3a--translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-0{--tw-translate-y:0px}.w3a-parent-container .w3a--translate-y-\\[100vh\\]{--tw-translate-y:100vh}.w3a-parent-container .w3a--translate-y-\\[100vh\\],.w3a-parent-container .w3a--translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-full{--tw-translate-y:100%}@keyframes w3a--pulse{50%{opacity:.5}}.w3a-parent-container .w3a--animate-pulse{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite}.w3a-parent-container .w3a--cursor-not-allowed{cursor:not-allowed}.w3a-parent-container .w3a--cursor-pointer{cursor:pointer}.w3a-parent-container .w3a--appearance-none{appearance:none}.w3a-parent-container .w3a--auto-rows-min{grid-auto-rows:min-content}.w3a-parent-container .w3a--grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w3a-parent-container .w3a--flex-col{flex-direction:column}.w3a-parent-container .w3a--items-start{align-items:flex-start}.w3a-parent-container .w3a--items-end{align-items:flex-end}.w3a-parent-container .w3a--items-center{align-items:center}.w3a-parent-container .\\!w3a--justify-start{justify-content:flex-start!important}.w3a-parent-container .w3a--justify-start{justify-content:flex-start}.w3a-parent-container .\\!w3a--justify-center{justify-content:center!important}.w3a-parent-container .w3a--justify-center{justify-content:center}.w3a-parent-container .\\!w3a--justify-between{justify-content:space-between!important}.w3a-parent-container .w3a--justify-between{justify-content:space-between}.w3a-parent-container .w3a--justify-items-start{justify-items:start}.w3a-parent-container .w3a--gap-2{gap:.5rem}.w3a-parent-container .w3a--gap-3{gap:.75rem}.w3a-parent-container .w3a--gap-x-1{column-gap:.25rem}.w3a-parent-container .w3a--gap-x-2{column-gap:.5rem}.w3a-parent-container .w3a--gap-x-4{column-gap:1rem}.w3a-parent-container .w3a--gap-x-6{column-gap:1.5rem}.w3a-parent-container .w3a--gap-y-1{row-gap:.25rem}.w3a-parent-container .w3a--gap-y-2{row-gap:.5rem}.w3a-parent-container .w3a--gap-y-4{row-gap:1rem}.w3a-parent-container .w3a--space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.w3a-parent-container .w3a--overflow-hidden{overflow:hidden}.w3a-parent-container .w3a--overflow-y-auto{overflow-y:auto}.w3a-parent-container .w3a--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w3a-parent-container .w3a--rounded{border-radius:.25rem}.w3a-parent-container .w3a--rounded-2xl{border-radius:1rem}.w3a-parent-container .w3a--rounded-3xl{border-radius:1.5rem}.w3a-parent-container .w3a--rounded-\\[30px\\]{border-radius:30px}.w3a-parent-container .w3a--rounded-full{border-radius:9999px}.w3a-parent-container .w3a--rounded-lg{border-radius:.5rem}.w3a-parent-container .w3a--rounded-md{border-radius:.375rem}.w3a-parent-container .w3a--rounded-none{border-radius:0}.w3a-parent-container .w3a--border{border-width:1px}.w3a-parent-container .\\!w3a--border-app-primary-600{border-color:var(--app-primary-600)!important}.w3a-parent-container .w3a--border-app-blue-200{border-color:var(--app-blue-200)}.w3a-parent-container .w3a--border-app-gray-100{border-color:var(--app-gray-100)}.w3a-parent-container .w3a--border-app-gray-200{border-color:var(--app-gray-200)}.w3a-parent-container .w3a--border-app-gray-300{border-color:var(--app-gray-300)}.w3a-parent-container .w3a--border-app-gray-800{border-color:var(--app-gray-800)}.w3a-parent-container .w3a--border-app-green-200{border-color:var(--app-green-200)}.w3a-parent-container .w3a--border-app-green-400{border-color:var(--app-green-400)}.w3a-parent-container .w3a--border-app-red-200{border-color:var(--app-red-200)}.w3a-parent-container .w3a--border-app-red-600{border-color:var(--app-red-600)}.w3a-parent-container .w3a--border-app-yellow-200{border-color:var(--app-yellow-200)}.w3a-parent-container .w3a--border-transparent{border-color:#0000}.w3a-parent-container .\\!w3a--bg-app-gray-800{background-color:var(--app-gray-800)!important}.w3a-parent-container .w3a--bg-app-blue-100{background-color:var(--app-blue-100)}.w3a-parent-container .w3a--bg-app-gray-100{background-color:var(--app-gray-100)}.w3a-parent-container .w3a--bg-app-gray-200{background-color:var(--app-gray-200)}.w3a-parent-container .w3a--bg-app-gray-400{background-color:var(--app-gray-400)}.w3a-parent-container .w3a--bg-app-gray-50{background-color:var(--app-gray-50)}.w3a-parent-container .w3a--bg-app-gray-500{background-color:var(--app-gray-500)}.w3a-parent-container .w3a--bg-app-gray-800{background-color:var(--app-gray-800)}.w3a-parent-container .w3a--bg-app-green-100{background-color:var(--app-green-100)}.w3a-parent-container .w3a--bg-app-light-surface1{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-primary-100{background-color:var(--app-primary-100)}.w3a-parent-container .w3a--bg-app-red-100{background-color:var(--app-red-100)}.w3a-parent-container .w3a--bg-app-white{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-yellow-100{background-color:var(--app-yellow-100)}.w3a-parent-container .w3a--bg-transparent{background-color:initial}.w3a-parent-container .w3a--object-contain{object-fit:contain}.w3a-parent-container .w3a--p-0{padding:0}.w3a-parent-container .w3a--p-2{padding:.5rem}.w3a-parent-container .w3a--p-3{padding:.75rem}.w3a-parent-container .w3a--p-4{padding:1rem}.w3a-parent-container .w3a--p-6{padding:1.5rem}.w3a-parent-container .w3a--px-2{padding-left:.5rem;padding-right:.5rem}.w3a-parent-container .w3a--px-2\\.5{padding-left:.625rem;padding-right:.625rem}.w3a-parent-container .w3a--px-4{padding-left:1rem;padding-right:1rem}.w3a-parent-container .w3a--px-5{padding-left:1.25rem;padding-right:1.25rem}.w3a-parent-container .w3a--px-\\[6px\\]{padding-left:6px;padding-right:6px}.w3a-parent-container .w3a--py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.w3a-parent-container .w3a--py-1{padding-bottom:.25rem;padding-top:.25rem}.w3a-parent-container .w3a--py-2{padding-bottom:.5rem;padding-top:.5rem}.w3a-parent-container .w3a--py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.w3a-parent-container .w3a--py-3{padding-bottom:.75rem;padding-top:.75rem}.w3a-parent-container .w3a--py-6{padding-bottom:1.5rem;padding-top:1.5rem}.w3a-parent-container .w3a--py-\\[3px\\]{padding-bottom:3px;padding-top:3px}.w3a-parent-container .w3a--pl-2{padding-left:.5rem}.w3a-parent-container .w3a--pl-6{padding-left:1.5rem}.w3a-parent-container .w3a--pr-1\\.5{padding-right:.375rem}.w3a-parent-container .w3a--pr-2\\.5{padding-right:.625rem}.w3a-parent-container .w3a--pr-3{padding-right:.75rem}.w3a-parent-container .w3a--pt-6{padding-top:1.5rem}.w3a-parent-container .w3a--text-left{text-align:left}.w3a-parent-container .w3a--text-center{text-align:center}.w3a-parent-container .w3a--text-start{text-align:start}.w3a-parent-container .w3a--text-base{font-size:1rem;line-height:1.5rem}.w3a-parent-container .w3a--text-lg{font-size:1.125rem;line-height:1.75rem}.w3a-parent-container .w3a--text-sm{font-size:.875rem;line-height:1.25rem}.w3a-parent-container .w3a--text-xl{font-size:1.25rem;line-height:1.75rem}.w3a-parent-container .w3a--text-xs{font-size:.75rem;line-height:1rem}.w3a-parent-container .w3a--font-bold{font-weight:700}.w3a-parent-container .w3a--font-medium{font-weight:500}.w3a-parent-container .w3a--font-normal{font-weight:400}.w3a-parent-container .w3a--font-semibold{font-weight:600}.w3a-parent-container .w3a--uppercase{text-transform:uppercase}.w3a-parent-container .w3a--text-app-blue-900{color:var(--app-blue-900)}.w3a-parent-container .w3a--text-app-gray-100{color:var(--app-gray-100)}.w3a-parent-container .w3a--text-app-gray-300{color:var(--app-gray-300)}.w3a-parent-container .w3a--text-app-gray-400{color:var(--app-gray-400)}.w3a-parent-container .w3a--text-app-gray-500{color:var(--app-gray-500)}.w3a-parent-container .w3a--text-app-gray-700{color:var(--app-gray-700)}.w3a-parent-container .w3a--text-app-gray-900{color:var(--app-gray-900)}.w3a-parent-container .w3a--text-app-green-400{color:var(--app-green-400)}.w3a-parent-container .w3a--text-app-green-500{color:var(--app-green-500)}.w3a-parent-container .w3a--text-app-green-900{color:var(--app-green-900)}.w3a-parent-container .w3a--text-app-primary-600{color:var(--app-primary-600)}.w3a-parent-container .w3a--text-app-primary-800{color:var(--app-primary-800)}.w3a-parent-container .w3a--text-app-red-400{color:var(--app-red-400)}.w3a-parent-container .w3a--text-app-red-500{color:var(--app-red-500)}.w3a-parent-container .w3a--text-app-red-900{color:var(--app-red-900)}.w3a-parent-container .w3a--text-app-yellow-900{color:var(--app-yellow-900)}.w3a-parent-container .w3a--opacity-0{opacity:0}.w3a-parent-container .w3a--shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-2xl,.w3a-parent-container .w3a--shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--outline-none{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--delay-100{transition-delay:.1s}.w3a-parent-container .w3a--delay-300{transition-delay:.3s}.w3a-parent-container .w3a--delay-500{transition-delay:.5s}.w3a-parent-container .w3a--delay-700{transition-delay:.7s}.w3a-parent-container .w3a--duration-150{transition-duration:.15s}.w3a-parent-container .w3a--duration-300{transition-duration:.3s}.w3a-parent-container .w3a--duration-500{transition-duration:.5s}.w3a-parent-container .w3a--duration-\\[400ms\\]{transition-duration:.4s}.w3a-parent-container .w3a--ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.w3a-parent-container .w3a--bottom-sheet-bg{background-color:var(--app-gray-600);opacity:.5}.w3a-parent-container .w3a--connected-logo{color:var(--app-green-500);height:4rem;width:4rem}.w3a-parent-container .w3a--connected-logo:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .w3a--error-logo{color:var(--app-red-500);height:4rem;width:4rem}.w3a-parent-container .w3a--error-logo:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .w3a--btn{align-items:center;appearance:none;border-color:var(--app-gray-200);border-width:1px;color:var(--app-gray-700);column-gap:.5rem;display:flex;font-size:1rem;font-weight:400;justify-content:center;line-height:1.5rem;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--btn:hover{--tw-translate-y:0.5px;--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-50);border-color:var(--app-gray-50);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--btn:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--btn:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-800);border-color:var(--app-gray-800);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--input{align-items:center;border-color:var(--app-gray-200);border-width:1px;column-gap:.5rem;display:flex;justify-content:space-between;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--input:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .first-letter\\:w3a--capitalize:first-letter{text-transform:capitalize}.w3a-parent-container .placeholder\\:w3a--text-xs::placeholder{font-size:.75rem;line-height:1rem}.w3a-parent-container .placeholder\\:w3a--text-app-gray-400::placeholder{color:var(--app-gray-400)}.w3a-parent-container .hover\\:w3a--translate-y-\\[0\\.5px\\]:hover{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .hover\\:w3a--border-app-gray-50:hover{border-color:var(--app-gray-50)}.w3a-parent-container .hover\\:w3a--border-transparent:hover{border-color:#0000}.w3a-parent-container .hover\\:\\!w3a--bg-app-gray-100:hover{background-color:var(--app-gray-100)!important}.w3a-parent-container .hover\\:w3a--bg-app-gray-200:hover{background-color:var(--app-gray-200)}.w3a-parent-container .hover\\:w3a--text-app-gray-900:hover{color:var(--app-gray-900)}.w3a-parent-container .hover\\:w3a--shadow-light:hover{--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .focus\\:w3a--outline-none:focus{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .active\\:w3a--scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .active\\:w3a--outline-none:active{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--block{display:block}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--hidden{display:none}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-0{--tw-translate-x:0px}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-0,.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-6{--tw-translate-x:1.5rem}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--opacity-0{opacity:0}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--opacity-100{opacity:1}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--delay-0{transition-delay:0s}.w3a-parent-container .dark\\:w3a--block:is(.w3a--dark *){display:block}.w3a-parent-container .dark\\:w3a--hidden:is(.w3a--dark *){display:none}.w3a-parent-container .dark\\:w3a--border:is(.w3a--dark *){border-width:1px}.w3a-parent-container .dark\\:w3a--border-app-gray-500:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--border-app-gray-600:is(.w3a--dark *){border-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--border-app-gray-700:is(.w3a--dark *){border-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--border-app-gray-800:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--border-app-green-500:is(.w3a--dark *){border-color:var(--app-green-500)}.w3a-parent-container .dark\\:w3a--border-app-primary-400:is(.w3a--dark *){border-color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--border-app-primary-500:is(.w3a--dark *){border-color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--border-app-red-500:is(.w3a--dark *){border-color:var(--app-red-500)}.w3a-parent-container .dark\\:w3a--bg-app-dark-surface-main:is(.w3a--dark *){background-color:var(--app-gray-900)}.w3a-parent-container .dark\\:w3a--bg-app-gray-200:is(.w3a--dark *){background-color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--bg-app-gray-400:is(.w3a--dark *){background-color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--bg-app-gray-500:is(.w3a--dark *){background-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--bg-app-gray-600:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--bg-app-gray-700:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--bg-app-gray-800:is(.w3a--dark *){background-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--bg-transparent:is(.w3a--dark *){background-color:initial}.w3a-parent-container .dark\\:w3a--text-app-gray-200:is(.w3a--dark *){color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--text-app-gray-300:is(.w3a--dark *){color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--text-app-gray-400:is(.w3a--dark *){color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--text-app-gray-500:is(.w3a--dark *){color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--text-app-green-400:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-400:is(.w3a--dark *){color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-500:is(.w3a--dark *){color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--text-app-red-400:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .dark\\:w3a--text-app-white:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:placeholder\\:w3a--text-app-gray-500:is(.w3a--dark *)::placeholder{color:var(--app-gray-500)}.w3a-parent-container .dark\\:hover\\:w3a--border-app-gray-800:hover:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:hover\\:w3a--border-transparent:hover:is(.w3a--dark *){border-color:#0000}.w3a-parent-container .dark\\:hover\\:\\!w3a--bg-app-gray-800:hover:is(.w3a--dark *){background-color:var(--app-gray-800)!important}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-600:hover:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-700:hover:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:hover\\:w3a--text-app-white:hover:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:hover\\:w3a--shadow-dark:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.w3a-parent-container .sm\\:w3a--left-8{left:2rem}.w3a-parent-container .sm\\:w3a--right-8{right:2rem}.w3a-parent-container .sm\\:w3a--justify-start{justify-content:flex-start}.w3a-parent-container .sm\\:w3a--justify-end{justify-content:flex-end}.w3a-parent-container .sm\\:w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media(min-width:375px){.w3a-parent-container .\\[\\@media\\(min-width\\:375px\\)\\]\\:w3a--w-\\[393px\\]{width:393px}}";
3
+ var css_248z = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap\");.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.w3a-parent-container ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\n/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{border:0 solid;box-sizing:border-box}.w3a-parent-container :after,.w3a-parent-container :before{--tw-content:\"\"}.w3a-parent-container :host,.w3a-parent-container html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}.w3a-parent-container body{line-height:inherit;margin:0}.w3a-parent-container hr{border-top-width:1px;color:inherit;height:0}.w3a-parent-container abbr:where([title]){text-decoration:underline dotted}.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6{font-size:inherit;font-weight:inherit}.w3a-parent-container a{color:inherit;text-decoration:inherit}.w3a-parent-container b,.w3a-parent-container strong{font-weight:bolder}.w3a-parent-container code,.w3a-parent-container kbd,.w3a-parent-container pre,.w3a-parent-container samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.w3a-parent-container small{font-size:80%}.w3a-parent-container sub,.w3a-parent-container sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.w3a-parent-container sub{bottom:-.25em}.w3a-parent-container sup{top:-.5em}.w3a-parent-container table{border-collapse:collapse;border-color:inherit;text-indent:0}.w3a-parent-container button,.w3a-parent-container input,.w3a-parent-container optgroup,.w3a-parent-container select,.w3a-parent-container textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.w3a-parent-container button,.w3a-parent-container select{text-transform:none}.w3a-parent-container button,.w3a-parent-container input:where([type=button]),.w3a-parent-container input:where([type=reset]),.w3a-parent-container input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}.w3a-parent-container :-moz-focusring{outline:auto}.w3a-parent-container :-moz-ui-invalid{box-shadow:none}.w3a-parent-container progress{vertical-align:initial}.w3a-parent-container ::-webkit-inner-spin-button,.w3a-parent-container ::-webkit-outer-spin-button{height:auto}.w3a-parent-container [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.w3a-parent-container ::-webkit-search-decoration{-webkit-appearance:none}.w3a-parent-container ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.w3a-parent-container summary{display:list-item}.w3a-parent-container blockquote,.w3a-parent-container dd,.w3a-parent-container dl,.w3a-parent-container figure,.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6,.w3a-parent-container hr,.w3a-parent-container p,.w3a-parent-container pre{margin:0}.w3a-parent-container fieldset{margin:0;padding:0}.w3a-parent-container legend{padding:0}.w3a-parent-container menu,.w3a-parent-container ol,.w3a-parent-container ul{list-style:none;margin:0;padding:0}.w3a-parent-container dialog{padding:0}.w3a-parent-container textarea{resize:vertical}.w3a-parent-container input::placeholder,.w3a-parent-container textarea::placeholder{color:#9ca3af;opacity:1}.w3a-parent-container [role=button],.w3a-parent-container button{cursor:pointer}.w3a-parent-container :disabled{cursor:default}.w3a-parent-container audio,.w3a-parent-container canvas,.w3a-parent-container embed,.w3a-parent-container iframe,.w3a-parent-container img,.w3a-parent-container object,.w3a-parent-container svg,.w3a-parent-container video{display:block;vertical-align:middle}.w3a-parent-container img,.w3a-parent-container video{height:auto;max-width:100%}.w3a-parent-container [hidden]:where(:not([hidden=until-found])){display:none}.w3a-parent-container{--app-on-primary:#fff;--app-primary-50:#ebf5ff;--app-primary-100:#e1effe;--app-primary-200:#c3ddfd;--app-primary-300:#a4cafe;--app-primary-400:#76a9fa;--app-primary-500:#3f83f8;--app-primary-600:#0346ff;--app-primary-700:#1a56db;--app-primary-800:#1e429f;--app-primary-900:#233876;--app-gray-50:#f9fafb;--app-gray-100:#f3f4f6;--app-gray-200:#e5e7eb;--app-gray-300:#d1d5db;--app-gray-400:#9ca3af;--app-gray-500:#6b7280;--app-gray-600:#4b5563;--app-gray-700:#374151;--app-gray-800:#1f2a37;--app-gray-900:#111928;--app-blue-50:#ebf5ff;--app-blue-100:#e1effe;--app-blue-200:#c3ddfd;--app-blue-300:#a4cafe;--app-blue-400:#76a9fa;--app-blue-500:#3f83f8;--app-blue-600:#0346ff;--app-blue-700:#1a56db;--app-blue-800:#1e429f;--app-blue-900:#233876;--app-red-50:#fdf2f2;--app-red-100:#fde8e8;--app-red-200:#fbd5d5;--app-red-300:#f8b4b4;--app-red-400:#f98080;--app-red-500:#f05252;--app-red-600:#e02424;--app-red-700:#c81e1e;--app-red-800:#9b1c1c;--app-red-900:#771d1d;--app-green-50:#f3faf7;--app-green-100:#def7ec;--app-green-200:#bcf0da;--app-green-300:#84e1bc;--app-green-400:#31c48d;--app-green-500:#0e9f6e;--app-green-600:#057a55;--app-green-700:#046c4e;--app-green-800:#03543f;--app-green-900:#014737;--app-yellow-50:#fdfdea;--app-yellow-100:#fdf6b2;--app-yellow-200:#fce96a;--app-yellow-300:#faca15;--app-yellow-400:#e3a008;--app-yellow-500:#c27803;--app-yellow-600:#9f580a;--app-yellow-700:#8e4b10;--app-yellow-800:#723b13;--app-yellow-900:#633112;--app-success:#30cca4;--app-warning:#fbc94a;--app-error:#fb4a61;--app-info:#d4d4d4;--app-white:#fff;--app-black:#000}.w3a-parent-container body{box-sizing:border-box;margin:0!important;padding:0!important}.w3a-parent-container{font-family:Inter;position:relative}.w3a-parent-container .w3a-parent-container>*{scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a--social-container{scroll-padding-right:10px;scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a--modal-curtain{background-color:initial;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity 50ms ease-in;z-index:1}.w3a-parent-container .w3a--fixed{position:fixed}.w3a-parent-container .w3a--absolute{position:absolute}.w3a-parent-container .w3a--relative{position:relative}.w3a-parent-container .w3a--inset-x-4{left:1rem;right:1rem}.w3a-parent-container .w3a--bottom-2{bottom:.5rem}.w3a-parent-container .w3a--bottom-4{bottom:1rem}.w3a-parent-container .w3a--bottom-8{bottom:2rem}.w3a-parent-container .w3a--bottom-\\[100\\%\\]{bottom:100%}.w3a-parent-container .w3a--left-0{left:0}.w3a-parent-container .w3a--left-2{left:.5rem}.w3a-parent-container .w3a--left-\\[50\\%\\]{left:50%}.w3a-parent-container .w3a--right-4{right:1rem}.w3a-parent-container .w3a--right-6{right:1.5rem}.w3a-parent-container .w3a--top-0{top:0}.w3a-parent-container .w3a--top-1\\/2{top:50%}.w3a-parent-container .w3a--top-4{top:1rem}.w3a-parent-container .w3a--top-8{top:2rem}.w3a-parent-container .w3a--top-\\[16px\\]{top:16px}.w3a-parent-container .w3a--top-\\[30px\\]{top:30px}.w3a-parent-container .w3a--z-10{z-index:10}.w3a-parent-container .w3a--z-20{z-index:20}.w3a-parent-container .w3a--z-50{z-index:50}.w3a-parent-container .w3a--z-\\[-1\\]{z-index:-1}.w3a-parent-container .w3a--z-\\[45\\]{z-index:45}.w3a-parent-container .w3a--z-\\[60\\]{z-index:60}.w3a-parent-container .w3a--mx-auto{margin-left:auto;margin-right:auto}.w3a-parent-container .w3a--my-4{margin-bottom:1rem;margin-top:1rem}.w3a-parent-container .w3a--my-6{margin-bottom:1.5rem;margin-top:1.5rem}.w3a-parent-container .-w3a--mt-10{margin-top:-2.5rem}.w3a-parent-container .-w3a--mt-2{margin-top:-.5rem}.w3a-parent-container .-w3a--mt-6{margin-top:-1.5rem}.w3a-parent-container .w3a--mb-2{margin-bottom:.5rem}.w3a-parent-container .w3a--ml-0{margin-left:0}.w3a-parent-container .w3a--ml-2{margin-left:.5rem}.w3a-parent-container .w3a--ml-4{margin-left:1rem}.w3a-parent-container .w3a--mr-2\\.5{margin-right:.625rem}.w3a-parent-container .w3a--mr-auto{margin-right:auto}.w3a-parent-container .w3a--mt-2{margin-top:.5rem}.w3a-parent-container .w3a--mt-3{margin-top:.75rem}.w3a-parent-container .w3a--mt-auto{margin-top:auto}.w3a-parent-container .w3a--block{display:block}.w3a-parent-container .w3a--flex{display:flex}.w3a-parent-container .w3a--inline-flex{display:inline-flex}.w3a-parent-container .w3a--grid{display:grid}.w3a-parent-container .w3a--contents{display:contents}.w3a-parent-container .w3a--hidden{display:none}.w3a-parent-container .w3a--size-10{height:2.5rem;width:2.5rem}.w3a-parent-container .w3a--size-3{height:.75rem;width:.75rem}.w3a-parent-container .w3a--size-5{height:1.25rem;width:1.25rem}.w3a-parent-container .w3a--size-\\[300px\\]{height:300px;width:300px}.w3a-parent-container .w3a--size-auto{height:auto;width:auto}.w3a-parent-container .w3a--size-full{height:100%;width:100%}.w3a-parent-container .w3a--h-0{height:0}.w3a-parent-container .w3a--h-11{height:2.75rem}.w3a-parent-container .w3a--h-12{height:3rem}.w3a-parent-container .w3a--h-4{height:1rem}.w3a-parent-container .w3a--h-\\[280px\\]{height:280px}.w3a-parent-container .w3a--h-\\[300px\\]{height:300px}.w3a-parent-container .w3a--h-\\[328px\\]{height:328px}.w3a-parent-container .w3a--h-\\[42px\\]{height:42px}.w3a-parent-container .w3a--h-\\[50px\\]{height:50px}.w3a-parent-container .w3a--h-auto{height:auto}.w3a-parent-container .w3a--h-full{height:100%}.w3a-parent-container .w3a--h-px{height:1px}.w3a-parent-container .w3a--h-screen{height:100vh}.w3a-parent-container .w3a--w-0{width:0}.w3a-parent-container .w3a--w-12{width:3rem}.w3a-parent-container .w3a--w-4\\/5{width:80%}.w3a-parent-container .w3a--w-\\[100px\\]{width:100px}.w3a-parent-container .w3a--w-\\[104px\\]{width:104px}.w3a-parent-container .w3a--w-\\[200px\\]{width:200px}.w3a-parent-container .w3a--w-\\[356px\\]{width:356px}.w3a-parent-container .w3a--w-\\[90\\%\\]{width:90%}.w3a-parent-container .w3a--w-\\[96\\%\\]{width:96%}.w3a-parent-container .w3a--w-auto{width:auto}.w3a-parent-container .w3a--w-full{width:100%}.w3a-parent-container .w3a--w-max{width:max-content}.w3a-parent-container .w3a--w-screen{width:100vw}.w3a-parent-container .w3a--max-w-\\[180px\\]{max-width:180px}.w3a-parent-container .w3a--flex-1{flex:1 1 0%}.w3a-parent-container .-w3a--translate-x-10{--tw-translate-x:-2.5rem}.w3a-parent-container .-w3a--translate-x-10,.w3a-parent-container .-w3a--translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .-w3a--translate-x-6{--tw-translate-x:-1.5rem}.w3a-parent-container .-w3a--translate-y-1\\/2{--tw-translate-y:-50%}.w3a-parent-container .-w3a--translate-y-1\\/2,.w3a-parent-container .w3a--translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-0{--tw-translate-y:0px}.w3a-parent-container .w3a--translate-y-\\[100vh\\]{--tw-translate-y:100vh}.w3a-parent-container .w3a--translate-y-\\[100vh\\],.w3a-parent-container .w3a--translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-full{--tw-translate-y:100%}@keyframes w3a--pulse{50%{opacity:.5}}.w3a-parent-container .w3a--animate-pulse{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite}.w3a-parent-container .w3a--cursor-not-allowed{cursor:not-allowed}.w3a-parent-container .w3a--cursor-pointer{cursor:pointer}.w3a-parent-container .w3a--appearance-none{appearance:none}.w3a-parent-container .w3a--auto-rows-min{grid-auto-rows:min-content}.w3a-parent-container .w3a--grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w3a-parent-container .w3a--flex-col{flex-direction:column}.w3a-parent-container .w3a--items-start{align-items:flex-start}.w3a-parent-container .w3a--items-end{align-items:flex-end}.w3a-parent-container .w3a--items-center{align-items:center}.w3a-parent-container .\\!w3a--justify-start{justify-content:flex-start!important}.w3a-parent-container .w3a--justify-start{justify-content:flex-start}.w3a-parent-container .\\!w3a--justify-center{justify-content:center!important}.w3a-parent-container .w3a--justify-center{justify-content:center}.w3a-parent-container .\\!w3a--justify-between{justify-content:space-between!important}.w3a-parent-container .w3a--justify-between{justify-content:space-between}.w3a-parent-container .w3a--justify-items-start{justify-items:start}.w3a-parent-container .w3a--gap-2{gap:.5rem}.w3a-parent-container .w3a--gap-3{gap:.75rem}.w3a-parent-container .w3a--gap-x-1{column-gap:.25rem}.w3a-parent-container .w3a--gap-x-2{column-gap:.5rem}.w3a-parent-container .w3a--gap-x-4{column-gap:1rem}.w3a-parent-container .w3a--gap-x-6{column-gap:1.5rem}.w3a-parent-container .w3a--gap-y-1{row-gap:.25rem}.w3a-parent-container .w3a--gap-y-2{row-gap:.5rem}.w3a-parent-container .w3a--gap-y-4{row-gap:1rem}.w3a-parent-container .w3a--space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.w3a-parent-container .w3a--overflow-hidden{overflow:hidden}.w3a-parent-container .w3a--overflow-y-auto{overflow-y:auto}.w3a-parent-container .w3a--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w3a-parent-container .w3a--rounded{border-radius:.25rem}.w3a-parent-container .w3a--rounded-2xl{border-radius:1rem}.w3a-parent-container .w3a--rounded-3xl{border-radius:1.5rem}.w3a-parent-container .w3a--rounded-\\[30px\\]{border-radius:30px}.w3a-parent-container .w3a--rounded-full{border-radius:9999px}.w3a-parent-container .w3a--rounded-lg{border-radius:.5rem}.w3a-parent-container .w3a--rounded-md{border-radius:.375rem}.w3a-parent-container .w3a--rounded-none{border-radius:0}.w3a-parent-container .w3a--border{border-width:1px}.w3a-parent-container .\\!w3a--border-app-primary-600{border-color:var(--app-primary-600)!important}.w3a-parent-container .w3a--border-app-blue-200{border-color:var(--app-blue-200)}.w3a-parent-container .w3a--border-app-gray-100{border-color:var(--app-gray-100)}.w3a-parent-container .w3a--border-app-gray-200{border-color:var(--app-gray-200)}.w3a-parent-container .w3a--border-app-gray-300{border-color:var(--app-gray-300)}.w3a-parent-container .w3a--border-app-gray-800{border-color:var(--app-gray-800)}.w3a-parent-container .w3a--border-app-green-200{border-color:var(--app-green-200)}.w3a-parent-container .w3a--border-app-green-400{border-color:var(--app-green-400)}.w3a-parent-container .w3a--border-app-red-200{border-color:var(--app-red-200)}.w3a-parent-container .w3a--border-app-red-600{border-color:var(--app-red-600)}.w3a-parent-container .w3a--border-app-yellow-200{border-color:var(--app-yellow-200)}.w3a-parent-container .w3a--border-transparent{border-color:#0000}.w3a-parent-container .\\!w3a--bg-app-gray-800{background-color:var(--app-gray-800)!important}.w3a-parent-container .w3a--bg-app-blue-100{background-color:var(--app-blue-100)}.w3a-parent-container .w3a--bg-app-gray-100{background-color:var(--app-gray-100)}.w3a-parent-container .w3a--bg-app-gray-200{background-color:var(--app-gray-200)}.w3a-parent-container .w3a--bg-app-gray-400{background-color:var(--app-gray-400)}.w3a-parent-container .w3a--bg-app-gray-50{background-color:var(--app-gray-50)}.w3a-parent-container .w3a--bg-app-gray-500{background-color:var(--app-gray-500)}.w3a-parent-container .w3a--bg-app-gray-800{background-color:var(--app-gray-800)}.w3a-parent-container .w3a--bg-app-green-100{background-color:var(--app-green-100)}.w3a-parent-container .w3a--bg-app-light-surface1{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-primary-100{background-color:var(--app-primary-100)}.w3a-parent-container .w3a--bg-app-red-100{background-color:var(--app-red-100)}.w3a-parent-container .w3a--bg-app-white{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-yellow-100{background-color:var(--app-yellow-100)}.w3a-parent-container .w3a--bg-transparent{background-color:initial}.w3a-parent-container .w3a--object-contain{object-fit:contain}.w3a-parent-container .w3a--p-0{padding:0}.w3a-parent-container .w3a--p-2{padding:.5rem}.w3a-parent-container .w3a--p-3{padding:.75rem}.w3a-parent-container .w3a--p-4{padding:1rem}.w3a-parent-container .w3a--p-6{padding:1.5rem}.w3a-parent-container .w3a--px-2{padding-left:.5rem;padding-right:.5rem}.w3a-parent-container .w3a--px-2\\.5{padding-left:.625rem;padding-right:.625rem}.w3a-parent-container .w3a--px-4{padding-left:1rem;padding-right:1rem}.w3a-parent-container .w3a--px-5{padding-left:1.25rem;padding-right:1.25rem}.w3a-parent-container .w3a--px-\\[6px\\]{padding-left:6px;padding-right:6px}.w3a-parent-container .w3a--py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.w3a-parent-container .w3a--py-1{padding-bottom:.25rem;padding-top:.25rem}.w3a-parent-container .w3a--py-2{padding-bottom:.5rem;padding-top:.5rem}.w3a-parent-container .w3a--py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.w3a-parent-container .w3a--py-3{padding-bottom:.75rem;padding-top:.75rem}.w3a-parent-container .w3a--py-6{padding-bottom:1.5rem;padding-top:1.5rem}.w3a-parent-container .w3a--py-\\[3px\\]{padding-bottom:3px;padding-top:3px}.w3a-parent-container .w3a--pl-2{padding-left:.5rem}.w3a-parent-container .w3a--pl-6{padding-left:1.5rem}.w3a-parent-container .w3a--pr-1\\.5{padding-right:.375rem}.w3a-parent-container .w3a--pr-2\\.5{padding-right:.625rem}.w3a-parent-container .w3a--pr-3{padding-right:.75rem}.w3a-parent-container .w3a--pt-5{padding-top:1.25rem}.w3a-parent-container .w3a--pt-6{padding-top:1.5rem}.w3a-parent-container .w3a--text-left{text-align:left}.w3a-parent-container .w3a--text-center{text-align:center}.w3a-parent-container .w3a--text-start{text-align:start}.w3a-parent-container .w3a--text-base{font-size:1rem;line-height:1.5rem}.w3a-parent-container .w3a--text-lg{font-size:1.125rem;line-height:1.75rem}.w3a-parent-container .w3a--text-sm{font-size:.875rem;line-height:1.25rem}.w3a-parent-container .w3a--text-xl{font-size:1.25rem;line-height:1.75rem}.w3a-parent-container .w3a--text-xs{font-size:.75rem;line-height:1rem}.w3a-parent-container .w3a--font-bold{font-weight:700}.w3a-parent-container .w3a--font-medium{font-weight:500}.w3a-parent-container .w3a--font-normal{font-weight:400}.w3a-parent-container .w3a--font-semibold{font-weight:600}.w3a-parent-container .w3a--uppercase{text-transform:uppercase}.w3a-parent-container .w3a--text-app-blue-900{color:var(--app-blue-900)}.w3a-parent-container .w3a--text-app-gray-100{color:var(--app-gray-100)}.w3a-parent-container .w3a--text-app-gray-300{color:var(--app-gray-300)}.w3a-parent-container .w3a--text-app-gray-400{color:var(--app-gray-400)}.w3a-parent-container .w3a--text-app-gray-500{color:var(--app-gray-500)}.w3a-parent-container .w3a--text-app-gray-700{color:var(--app-gray-700)}.w3a-parent-container .w3a--text-app-gray-900{color:var(--app-gray-900)}.w3a-parent-container .w3a--text-app-green-400{color:var(--app-green-400)}.w3a-parent-container .w3a--text-app-green-500{color:var(--app-green-500)}.w3a-parent-container .w3a--text-app-green-900{color:var(--app-green-900)}.w3a-parent-container .w3a--text-app-primary-600{color:var(--app-primary-600)}.w3a-parent-container .w3a--text-app-primary-800{color:var(--app-primary-800)}.w3a-parent-container .w3a--text-app-red-400{color:var(--app-red-400)}.w3a-parent-container .w3a--text-app-red-500{color:var(--app-red-500)}.w3a-parent-container .w3a--text-app-red-900{color:var(--app-red-900)}.w3a-parent-container .w3a--text-app-yellow-900{color:var(--app-yellow-900)}.w3a-parent-container .w3a--opacity-0{opacity:0}.w3a-parent-container .w3a--shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-2xl,.w3a-parent-container .w3a--shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--outline-none{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--delay-100{transition-delay:.1s}.w3a-parent-container .w3a--delay-300{transition-delay:.3s}.w3a-parent-container .w3a--delay-500{transition-delay:.5s}.w3a-parent-container .w3a--delay-700{transition-delay:.7s}.w3a-parent-container .w3a--duration-150{transition-duration:.15s}.w3a-parent-container .w3a--duration-300{transition-duration:.3s}.w3a-parent-container .w3a--duration-500{transition-duration:.5s}.w3a-parent-container .w3a--duration-\\[400ms\\]{transition-duration:.4s}.w3a-parent-container .w3a--ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.w3a-parent-container .w3a--bottom-sheet-bg{background-color:var(--app-gray-600);opacity:.5}.w3a-parent-container .w3a--connected-logo{color:var(--app-green-500);height:4rem;width:4rem}.w3a-parent-container .w3a--connected-logo:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .w3a--error-logo{color:var(--app-red-500);height:4rem;width:4rem}.w3a-parent-container .w3a--error-logo:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .w3a--btn{align-items:center;appearance:none;border-color:var(--app-gray-200);border-width:1px;color:var(--app-gray-700);column-gap:.5rem;display:flex;font-size:1rem;font-weight:400;justify-content:center;line-height:1.5rem;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--btn:hover{--tw-translate-y:0.5px;--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-50);border-color:var(--app-gray-50);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--btn:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--btn:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-800);border-color:var(--app-gray-800);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--input{align-items:center;border-color:var(--app-gray-200);border-width:1px;column-gap:.5rem;display:flex;justify-content:space-between;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--input:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .first-letter\\:w3a--capitalize:first-letter{text-transform:capitalize}.w3a-parent-container .placeholder\\:w3a--text-xs::placeholder{font-size:.75rem;line-height:1rem}.w3a-parent-container .placeholder\\:w3a--text-app-gray-400::placeholder{color:var(--app-gray-400)}.w3a-parent-container .hover\\:w3a--translate-y-\\[0\\.5px\\]:hover{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .hover\\:w3a--border-app-gray-50:hover{border-color:var(--app-gray-50)}.w3a-parent-container .hover\\:w3a--border-transparent:hover{border-color:#0000}.w3a-parent-container .hover\\:\\!w3a--bg-app-gray-100:hover{background-color:var(--app-gray-100)!important}.w3a-parent-container .hover\\:w3a--bg-app-gray-200:hover{background-color:var(--app-gray-200)}.w3a-parent-container .hover\\:w3a--text-app-gray-900:hover{color:var(--app-gray-900)}.w3a-parent-container .hover\\:w3a--shadow-light:hover{--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .focus\\:w3a--outline-none:focus{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .active\\:w3a--scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .active\\:w3a--outline-none:active{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--block{display:block}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--hidden{display:none}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-0{--tw-translate-x:0px}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-0,.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--translate-x-6{--tw-translate-x:1.5rem}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--opacity-0{opacity:0}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--opacity-100{opacity:1}.w3a-parent-container .w3a--group:hover .group-hover\\:w3a--delay-0{transition-delay:0s}.w3a-parent-container .dark\\:w3a--block:is(.w3a--dark *){display:block}.w3a-parent-container .dark\\:w3a--hidden:is(.w3a--dark *){display:none}.w3a-parent-container .dark\\:w3a--border:is(.w3a--dark *){border-width:1px}.w3a-parent-container .dark\\:w3a--border-app-gray-500:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--border-app-gray-600:is(.w3a--dark *){border-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--border-app-gray-700:is(.w3a--dark *){border-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--border-app-gray-800:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--border-app-green-500:is(.w3a--dark *){border-color:var(--app-green-500)}.w3a-parent-container .dark\\:w3a--border-app-primary-400:is(.w3a--dark *){border-color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--border-app-primary-500:is(.w3a--dark *){border-color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--border-app-red-500:is(.w3a--dark *){border-color:var(--app-red-500)}.w3a-parent-container .dark\\:w3a--bg-app-dark-surface-main:is(.w3a--dark *){background-color:var(--app-gray-900)}.w3a-parent-container .dark\\:w3a--bg-app-gray-200:is(.w3a--dark *){background-color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--bg-app-gray-400:is(.w3a--dark *){background-color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--bg-app-gray-500:is(.w3a--dark *){background-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--bg-app-gray-600:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--bg-app-gray-700:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--bg-app-gray-800:is(.w3a--dark *){background-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--bg-transparent:is(.w3a--dark *){background-color:initial}.w3a-parent-container .dark\\:w3a--text-app-gray-200:is(.w3a--dark *){color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--text-app-gray-300:is(.w3a--dark *){color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--text-app-gray-400:is(.w3a--dark *){color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--text-app-gray-500:is(.w3a--dark *){color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--text-app-green-400:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-400:is(.w3a--dark *){color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-500:is(.w3a--dark *){color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--text-app-red-400:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .dark\\:w3a--text-app-white:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:placeholder\\:w3a--text-app-gray-500:is(.w3a--dark *)::placeholder{color:var(--app-gray-500)}.w3a-parent-container .dark\\:hover\\:w3a--border-app-gray-800:hover:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:hover\\:w3a--border-transparent:hover:is(.w3a--dark *){border-color:#0000}.w3a-parent-container .dark\\:hover\\:\\!w3a--bg-app-gray-800:hover:is(.w3a--dark *){background-color:var(--app-gray-800)!important}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-600:hover:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-700:hover:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:hover\\:w3a--text-app-white:hover:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:hover\\:w3a--shadow-dark:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.w3a-parent-container .sm\\:w3a--left-8{left:2rem}.w3a-parent-container .sm\\:w3a--right-8{right:2rem}.w3a-parent-container .sm\\:w3a--justify-start{justify-content:flex-start}.w3a-parent-container .sm\\:w3a--justify-end{justify-content:flex-end}.w3a-parent-container .sm\\:w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media(min-width:375px){.w3a-parent-container .\\[\\@media\\(min-width\\:375px\\)\\]\\:w3a--w-\\[393px\\]{width:393px}}";
4
4
  styleInject(css_248z);
5
5
 
6
6
  export { css_248z as default };
@@ -1,10 +1,14 @@
1
+ 'use client';
2
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
1
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
4
  import './css/index.css.js';
3
5
  import { LANGUAGES, applyWhiteLabelTheme, SafeEventEmitter } from '@web3auth/auth';
4
- import { log, WIDGET_TYPE, WalletInitializationError, WALLET_CONNECTORS, CONNECTOR_EVENTS } from '@web3auth/no-modal';
6
+ import { log, WIDGET_TYPE, WalletInitializationError, ANALYTICS_EVENTS, getWhitelabelAnalyticsProperties, WALLET_CONNECTORS, CONNECTOR_EVENTS, LOGIN_MODE } from '@web3auth/no-modal';
5
7
  import { createRoot } from 'react-dom/client';
8
+ import { getLoginModalAnalyticsProperties } from '../utils.js';
6
9
  import Widget from './components/Widget/Widget.js';
7
10
  import { DEFAULT_PRIMARY_COLOR, DEFAULT_ON_PRIMARY_COLOR, DEFAULT_LOGO_DARK, DEFAULT_LOGO_LIGHT } from './constants.js';
11
+ import { AnalyticsContext } from './context/AnalyticsContext.js';
8
12
  import { ThemedContext } from './context/ThemeContext.js';
9
13
  import { MODAL_STATUS } from './interfaces.js';
10
14
  import i18nInstance from './localeImport.js';
@@ -37,6 +41,7 @@ class LoginModal {
37
41
  _defineProperty(this, "walletRegistry", void 0);
38
42
  _defineProperty(this, "callbacks", void 0);
39
43
  _defineProperty(this, "externalWalletsConfig", void 0);
44
+ _defineProperty(this, "analytics", void 0);
40
45
  _defineProperty(this, "initModal", async () => {
41
46
  const darkState = {
42
47
  isDark: this.isDark
@@ -144,17 +149,22 @@ class LoginModal {
144
149
  const root = createRoot(container);
145
150
  root.render(/*#__PURE__*/jsx(ThemedContext.Provider, {
146
151
  value: darkState,
147
- children: /*#__PURE__*/jsx(Widget, {
148
- stateListener: this.stateEmitter,
149
- appLogo: darkState.isDark ? this.uiConfig.logoDark : this.uiConfig.logoLight,
150
- appName: this.uiConfig.appName,
151
- chainNamespaces: this.chainNamespaces,
152
- walletRegistry: this.walletRegistry,
153
- handleShowExternalWallets: this.handleShowExternalWallets,
154
- handleExternalWalletClick: this.handleExternalWalletClick,
155
- handleSocialLoginClick: this.handleSocialLoginClick,
156
- closeModal: this.closeModal,
157
- uiConfig: this.uiConfig
152
+ children: /*#__PURE__*/jsx(AnalyticsContext.Provider, {
153
+ value: {
154
+ analytics: this.analytics
155
+ },
156
+ children: /*#__PURE__*/jsx(Widget, {
157
+ stateListener: this.stateEmitter,
158
+ appLogo: darkState.isDark ? this.uiConfig.logoDark : this.uiConfig.logoLight,
159
+ appName: this.uiConfig.appName,
160
+ chainNamespaces: this.chainNamespaces,
161
+ walletRegistry: this.walletRegistry,
162
+ handleShowExternalWallets: this.handleShowExternalWallets,
163
+ handleExternalWalletClick: this.handleExternalWalletClick,
164
+ handleSocialLoginClick: this.handleSocialLoginClick,
165
+ closeModal: this.closeModal,
166
+ uiConfig: this.uiConfig
167
+ })
158
168
  })
159
169
  }));
160
170
  const isDefaultColors = ((_this$uiConfig = this.uiConfig) === null || _this$uiConfig === void 0 || (_this$uiConfig = _this$uiConfig.theme) === null || _this$uiConfig === void 0 ? void 0 : _this$uiConfig.primary) === DEFAULT_PRIMARY_COLOR && ((_this$uiConfig$theme = this.uiConfig.theme) === null || _this$uiConfig$theme === void 0 ? void 0 : _this$uiConfig$theme.onPrimary) === DEFAULT_ON_PRIMARY_COLOR;
@@ -185,18 +195,26 @@ class LoginModal {
185
195
  });
186
196
  });
187
197
  _defineProperty(this, "open", () => {
198
+ var _this$analytics, _this$walletRegistry, _this$walletRegistry2;
188
199
  this.setState({
189
200
  modalVisibility: true
190
201
  });
202
+ (_this$analytics = this.analytics) === null || _this$analytics === void 0 || _this$analytics.track(ANALYTICS_EVENTS.LOGIN_MODAL_OPENED, _objectSpread(_objectSpread({
203
+ chain_namespaces: this.chainNamespaces,
204
+ wallet_registry_count: Object.keys((_this$walletRegistry = this.walletRegistry) === null || _this$walletRegistry === void 0 ? void 0 : _this$walletRegistry.default).length + Object.keys((_this$walletRegistry2 = this.walletRegistry) === null || _this$walletRegistry2 === void 0 ? void 0 : _this$walletRegistry2.others).length,
205
+ external_wallet_connectors: Object.keys(this.externalWalletsConfig || {})
206
+ }, getWhitelabelAnalyticsProperties(this.uiConfig)), getLoginModalAnalyticsProperties(this.uiConfig)));
191
207
  if (this.callbacks.onModalVisibility) {
192
208
  this.callbacks.onModalVisibility(true);
193
209
  }
194
210
  });
195
211
  _defineProperty(this, "closeModal", () => {
212
+ var _this$analytics2;
196
213
  this.setState({
197
214
  modalVisibility: false,
198
215
  externalWalletsVisibility: false
199
216
  });
217
+ (_this$analytics2 = this.analytics) === null || _this$analytics2 === void 0 || _this$analytics2.track(ANALYTICS_EVENTS.LOGIN_MODAL_CLOSED);
200
218
  if (this.callbacks.onModalVisibility) {
201
219
  this.callbacks.onModalVisibility(false);
202
220
  }
@@ -229,11 +247,18 @@ class LoginModal {
229
247
  }
230
248
  });
231
249
  _defineProperty(this, "handleSocialLoginClick", params => {
250
+ var _this$analytics3;
232
251
  log.info("social login clicked", params);
233
252
  const {
234
253
  connector,
235
254
  loginParams
236
255
  } = params;
256
+ (_this$analytics3 = this.analytics) === null || _this$analytics3 === void 0 || _this$analytics3.track(ANALYTICS_EVENTS.SOCIAL_LOGIN_SELECTED, {
257
+ connector,
258
+ auth_connection: loginParams.authConnection,
259
+ auth_connection_id: loginParams.authConnectionId,
260
+ group_auth_connection_id: loginParams.groupedAuthConnectionId
261
+ });
237
262
  if (this.callbacks.onSocialLogin) {
238
263
  this.callbacks.onSocialLogin({
239
264
  connector,
@@ -279,7 +304,7 @@ class LoginModal {
279
304
  listener.on(CONNECTOR_EVENTS.CONNECTED, data => {
280
305
  log.debug("connected with connector", data);
281
306
  // only show success if not being reconnected again.
282
- if (!data.reconnected) {
307
+ if (!data.reconnected && data.loginMode === LOGIN_MODE.MODAL) {
283
308
  this.setState({
284
309
  status: MODAL_STATUS.CONNECTED,
285
310
  modalVisibility: true,
@@ -292,8 +317,9 @@ class LoginModal {
292
317
  }
293
318
  });
294
319
  // TODO: send connector name in error
295
- listener.on(CONNECTOR_EVENTS.ERRORED, error => {
320
+ listener.on(CONNECTOR_EVENTS.ERRORED, (error, loginMode) => {
296
321
  log.error("error", error, error.message);
322
+ if (loginMode === LOGIN_MODE.NO_MODAL) return;
297
323
  if (error.code === 5000) {
298
324
  if (this.uiConfig.displayErrorsOnModal) this.setState({
299
325
  modalVisibility: true,
@@ -339,6 +365,7 @@ class LoginModal {
339
365
  this.chainNamespaces = _uiConfig.chainNamespaces;
340
366
  this.walletRegistry = _uiConfig.walletRegistry;
341
367
  this.callbacks = callbacks;
368
+ this.analytics = _uiConfig.analytics;
342
369
  this.subscribeCoreEvents(this.uiConfig.connectorListener);
343
370
  }
344
371
  get isDark() {