@dynamic-labs/sdk-react-core 3.7.0 → 3.8.1

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 (26) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +12 -12
  5. package/src/index.cjs +2 -1
  6. package/src/index.d.ts +1 -0
  7. package/src/index.js +1 -1
  8. package/src/lib/context/DynamicContext/DynamicContext.cjs +8 -2
  9. package/src/lib/context/DynamicContext/DynamicContext.js +8 -2
  10. package/src/lib/events/dynamicEvents.cjs +22 -0
  11. package/src/lib/events/dynamicEvents.d.ts +3 -0
  12. package/src/lib/events/dynamicEvents.js +21 -1
  13. package/src/lib/events/wallets.d.ts +4 -0
  14. package/src/lib/styles/index.shadow.cjs +1 -1
  15. package/src/lib/styles/index.shadow.js +1 -1
  16. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.cjs +1 -16
  17. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +1 -1
  18. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.js +1 -16
  19. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.cjs +7 -2
  20. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.js +7 -2
  21. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +10 -0
  22. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +11 -1
  23. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +3 -3
  24. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +4 -4
  25. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +5 -2
  26. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +5 -2
package/CHANGELOG.md CHANGED
@@ -1,4 +1,20 @@
1
1
 
2
+ ### [3.8.1](https://github.com/dynamic-labs/DynamicAuth/compare/v3.8.0...v3.8.1) (2024-11-21)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **ui:** add missing rule for social login modals ([#7476](https://github.com/dynamic-labs/DynamicAuth/issues/7476)) ([#7477](https://github.com/dynamic-labs/DynamicAuth/issues/7477)) ([1711b13](https://github.com/dynamic-labs/DynamicAuth/commit/1711b13f66ab968fdeb1e0461fdb5a8addbeb8eb))
8
+
9
+ ## [3.8.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.7.0...v3.8.0) (2024-11-20)
10
+
11
+
12
+ ### Features
13
+
14
+ * allow listening to dynamic events without using a hook ([#7466](https://github.com/dynamic-labs/DynamicAuth/issues/7466)) ([#7473](https://github.com/dynamic-labs/DynamicAuth/issues/7473)) ([680afb3](https://github.com/dynamic-labs/DynamicAuth/commit/680afb31c6e6ef5d8bf3c6e129bea7a6f7d052f0))
15
+ * emit primaryWalletChanged event when primary wallets changes ([#7464](https://github.com/dynamic-labs/DynamicAuth/issues/7464)) ([#7469](https://github.com/dynamic-labs/DynamicAuth/issues/7469)) ([52cfe2a](https://github.com/dynamic-labs/DynamicAuth/commit/52cfe2a17dea14d4a2748f7a16acbb156d5292f8))
16
+ * emit primaryWalletNetworkChanged event when primary wallet network changes ([#7471](https://github.com/dynamic-labs/DynamicAuth/issues/7471)) ([185b8b4](https://github.com/dynamic-labs/DynamicAuth/commit/185b8b497d71898df319ca11e2f15c4b96d8f745)), closes [#7465](https://github.com/dynamic-labs/DynamicAuth/issues/7465)
17
+
2
18
  ## [3.7.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.6.3...v3.7.0) (2024-11-19)
3
19
 
4
20
 
package/package.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "3.7.0";
6
+ var version = "3.8.1";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.565",
8
+ "@dynamic-labs/sdk-api-core": "0.0.570",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
11
11
  formik: "2.2.9",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- var version = "3.7.0";
2
+ var version = "3.8.1";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.565",
4
+ "@dynamic-labs/sdk-api-core": "0.0.570",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
7
7
  formik: "2.2.9",
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
7
  "directory": "packages/sdk-react-core"
8
8
  },
9
9
  "dependencies": {
10
- "@dynamic-labs/sdk-api-core": "0.0.565",
10
+ "@dynamic-labs/sdk-api-core": "0.0.570",
11
11
  "@hcaptcha/react-hcaptcha": "1.4.4",
12
12
  "country-list": "2.3.0",
13
13
  "formik": "2.2.9",
@@ -17,16 +17,16 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/assert-package-version": "3.7.0",
21
- "@dynamic-labs/iconic": "3.7.0",
22
- "@dynamic-labs/logger": "3.7.0",
23
- "@dynamic-labs/multi-wallet": "3.7.0",
24
- "@dynamic-labs/rpc-providers": "3.7.0",
25
- "@dynamic-labs/store": "3.7.0",
26
- "@dynamic-labs/types": "3.7.0",
27
- "@dynamic-labs/utils": "3.7.0",
28
- "@dynamic-labs/wallet-book": "3.7.0",
29
- "@dynamic-labs/wallet-connector-core": "3.7.0",
20
+ "@dynamic-labs/assert-package-version": "3.8.1",
21
+ "@dynamic-labs/iconic": "3.8.1",
22
+ "@dynamic-labs/logger": "3.8.1",
23
+ "@dynamic-labs/multi-wallet": "3.8.1",
24
+ "@dynamic-labs/rpc-providers": "3.8.1",
25
+ "@dynamic-labs/store": "3.8.1",
26
+ "@dynamic-labs/types": "3.8.1",
27
+ "@dynamic-labs/utils": "3.8.1",
28
+ "@dynamic-labs/wallet-book": "3.8.1",
29
+ "@dynamic-labs/wallet-connector-core": "3.8.1",
30
30
  "bs58": "5.0.0",
31
31
  "eventemitter3": "5.0.1"
32
32
  },
package/src/index.cjs CHANGED
@@ -61,7 +61,7 @@ var stroke = require('./lib/shared/assets/stroke.cjs');
61
61
  require('./lib/shared/consts/index.cjs');
62
62
  require('../_virtual/_tslib.cjs');
63
63
  require('react-dom');
64
- require('./lib/events/dynamicEvents.cjs');
64
+ var dynamicEvents = require('./lib/events/dynamicEvents.cjs');
65
65
  var api = require('./lib/data/api/api.cjs');
66
66
  require('@dynamic-labs/multi-wallet');
67
67
  require('react-international-phone');
@@ -212,6 +212,7 @@ exports.LogoutIcon = logout.ReactComponent;
212
212
  exports.PencilIcon = pencil.ReactComponent;
213
213
  exports.SpinnerIcon = spinner.ReactComponent;
214
214
  exports.ArrowIcon = stroke.ReactComponent;
215
+ exports.dynamicEvents = dynamicEvents.publicDynamicEvents;
215
216
  exports.apiClient = api.sdkApi;
216
217
  exports.mergeNetworks = mergeNetworks.mergeNetworks;
217
218
  exports.isAuthenticatedWithAWallet = isAuthenticatedWithAWallet.isAuthenticatedWithAWallet;
package/src/index.d.ts CHANGED
@@ -98,6 +98,7 @@ export type { EvmNetwork, PhoneData, OtpDestination, UserProfile,
98
98
  AuthOptions as AuthOption, AuthOptions,
99
99
  /** @deprecated use AuthMethod instead */
100
100
  AuthMethod as AuthType, AuthMethod, } from '@dynamic-labs/types';
101
+ export { publicDynamicEvents as dynamicEvents } from './lib/events/dynamicEvents';
101
102
  export { mergeNetworks } from './lib/utils/functions/mergeNetworks';
102
103
  export {
103
104
  /** @deprecated use https://www.npmjs.com/package/classnames */
package/src/index.js CHANGED
@@ -57,7 +57,7 @@ export { ReactComponent as ArrowIcon } from './lib/shared/assets/stroke.js';
57
57
  import './lib/shared/consts/index.js';
58
58
  import '../_virtual/_tslib.js';
59
59
  import 'react-dom';
60
- import './lib/events/dynamicEvents.js';
60
+ export { publicDynamicEvents as dynamicEvents } from './lib/events/dynamicEvents.js';
61
61
  export { sdkApi as apiClient } from './lib/data/api/api.js';
62
62
  import '@dynamic-labs/multi-wallet';
63
63
  import 'react-international-phone';
@@ -15,7 +15,7 @@ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
15
15
  var app = require('../../app.cjs');
16
16
  require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
17
17
  require('../../components/Alert/Alert.cjs');
18
- require('../../events/dynamicEvents.cjs');
18
+ var dynamicEvents = require('../../events/dynamicEvents.cjs');
19
19
  require('@dynamic-labs/sdk-api-core');
20
20
  var logger$1 = require('../../shared/logger.cjs');
21
21
  var ViewContext = require('../ViewContext/ViewContext.cjs');
@@ -385,7 +385,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
385
385
  secondaryWallets,
386
386
  verifiedCredentials: (user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials) || [],
387
387
  });
388
- const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork.useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector);
388
+ const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork.useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, {
389
+ onChange: (newNetwork) => {
390
+ if (newNetwork) {
391
+ dynamicEvents.dynamicEvents.emit('primaryWalletNetworkChanged', newNetwork);
392
+ }
393
+ },
394
+ });
389
395
  useWalletEventListeners.useWalletEventListeners({
390
396
  authMode,
391
397
  detectNewWalletsForLinking,
@@ -11,7 +11,7 @@ import { setChainInfoOverrides, logger as logger$1, isSessionKeyCompatibleWallet
11
11
  import { DynamicAuthFlow } from '../../app.js';
12
12
  import '../../components/Accordion/components/AccordionItem/AccordionItem.js';
13
13
  import '../../components/Alert/Alert.js';
14
- import '../../events/dynamicEvents.js';
14
+ import { dynamicEvents } from '../../events/dynamicEvents.js';
15
15
  import '@dynamic-labs/sdk-api-core';
16
16
  import { logger } from '../../shared/logger.js';
17
17
  import { ViewContextProvider } from '../ViewContext/ViewContext.js';
@@ -381,7 +381,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, enable
381
381
  secondaryWallets,
382
382
  verifiedCredentials: (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [],
383
383
  });
384
- const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector);
384
+ const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, {
385
+ onChange: (newNetwork) => {
386
+ if (newNetwork) {
387
+ dynamicEvents.emit('primaryWalletNetworkChanged', newNetwork);
388
+ }
389
+ },
390
+ });
385
391
  useWalletEventListeners({
386
392
  authMode,
387
393
  detectNewWalletsForLinking,
@@ -9,6 +9,28 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
11
11
 
12
+ // ATTENTION
13
+ // Everything below should be made public soon, but we need to plan this out first
14
+ // Main issues:
15
+ // 1. How should we map customer callback names to our dynamic event names?
16
+ // -> Gui's suggestion: breaking change to rename customer callbacks so they fit these events names
17
+ // 2. We would have to remove these callbacks from the useCustomerCallbacks hook
18
+ /** Which events are accessible by our clients */
19
+ const externalEvents = [
20
+ 'emailVerificationResult',
21
+ 'embeddedWalletCreated',
22
+ 'logout',
23
+ 'walletAdded',
24
+ 'primaryWalletChanged',
25
+ 'primaryWalletNetworkChanged',
26
+ 'mfaCompletionSuccess',
27
+ 'mfaCompletionFailure',
28
+ ];
29
+ // Full internal event emitter
12
30
  const dynamicEvents = new EventEmitter__default["default"]();
31
+ // Limited public event emitter with subset of events
32
+ const publicDynamicEvents = dynamicEvents;
13
33
 
14
34
  exports.dynamicEvents = dynamicEvents;
35
+ exports.externalEvents = externalEvents;
36
+ exports.publicDynamicEvents = publicDynamicEvents;
@@ -10,5 +10,8 @@ import { MultiWalletInternalEvents } from './multiWallet';
10
10
  import { tokenBalancesEvents } from './tokenBalances';
11
11
  /** Maps internal event names to their listeners */
12
12
  export type DynamicEvents = AuthEvents & UIEvents & OTPEvents & WalletEvents & PasskeyEvents & SocialEvents & EmbeddedWalletEvents & MultiWalletInternalEvents & tokenBalancesEvents;
13
+ /** Which events are accessible by our clients */
14
+ export declare const externalEvents: ("logout" | "mfaCompletionSuccess" | "mfaCompletionFailure" | "emailVerificationResult" | "walletAdded" | "primaryWalletChanged" | "primaryWalletNetworkChanged" | "embeddedWalletCreated")[];
13
15
  export declare const dynamicEvents: EventEmitter<DynamicEvents, any>;
16
+ export declare const publicDynamicEvents: EventEmitter<"logout" | "mfaCompletionSuccess" | "mfaCompletionFailure" | "emailVerificationResult" | "walletAdded" | "primaryWalletChanged" | "primaryWalletNetworkChanged" | "embeddedWalletCreated", any>;
14
17
  export type DynamicEventEmitter = typeof dynamicEvents;
@@ -1,6 +1,26 @@
1
1
  'use client'
2
2
  import EventEmitter from 'eventemitter3';
3
3
 
4
+ // ATTENTION
5
+ // Everything below should be made public soon, but we need to plan this out first
6
+ // Main issues:
7
+ // 1. How should we map customer callback names to our dynamic event names?
8
+ // -> Gui's suggestion: breaking change to rename customer callbacks so they fit these events names
9
+ // 2. We would have to remove these callbacks from the useCustomerCallbacks hook
10
+ /** Which events are accessible by our clients */
11
+ const externalEvents = [
12
+ 'emailVerificationResult',
13
+ 'embeddedWalletCreated',
14
+ 'logout',
15
+ 'walletAdded',
16
+ 'primaryWalletChanged',
17
+ 'primaryWalletNetworkChanged',
18
+ 'mfaCompletionSuccess',
19
+ 'mfaCompletionFailure',
20
+ ];
21
+ // Full internal event emitter
4
22
  const dynamicEvents = new EventEmitter();
23
+ // Limited public event emitter with subset of events
24
+ const publicDynamicEvents = dynamicEvents;
5
25
 
6
- export { dynamicEvents };
26
+ export { dynamicEvents, externalEvents, publicDynamicEvents };
@@ -4,4 +4,8 @@ export type WalletEvents = {
4
4
  walletAdded: (wallet: Wallet, userWallets: Wallet[]) => void;
5
5
  /** Triggered when a wallet is removed from user wallets list */
6
6
  walletRemoved: (wallet: Wallet, userWallets: Wallet[]) => void;
7
+ /** Triggered when the primary wallet changes (a different wallet is selected) */
8
+ primaryWalletChanged: (newPrimaryWallet: Wallet) => void;
9
+ /** Triggered when the network changes in primary wallet */
10
+ primaryWalletNetworkChanged: (newNetwork: string | number) => void;
7
11
  };