@dynamic-labs/sdk-react-core 3.1.4 → 3.2.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 (31) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +10 -10
  5. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +15 -8
  6. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +15 -8
  7. package/src/lib/locale/en/translation.cjs +43 -24
  8. package/src/lib/locale/en/translation.d.ts +43 -24
  9. package/src/lib/locale/en/translation.js +43 -24
  10. package/src/lib/shared/assets/connected-apps.cjs +64 -0
  11. package/src/lib/shared/assets/connected-apps.js +40 -0
  12. package/src/lib/shared/assets/index.d.ts +1 -0
  13. package/src/lib/styles/index.shadow.cjs +1 -1
  14. package/src/lib/styles/index.shadow.js +1 -1
  15. package/src/lib/utils/functions/socialStorage/socialStorage.d.ts +3 -0
  16. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -0
  17. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -0
  18. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.cjs +4 -2
  19. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.js +4 -2
  20. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +8 -1
  21. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +9 -2
  22. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.cjs +4 -1
  23. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +19 -14
  24. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.js +4 -1
  25. package/src/lib/widgets/DynamicWidget/views/ConnectedAppsView/ConnectedAppsView.cjs +180 -0
  26. package/src/lib/widgets/DynamicWidget/views/ConnectedAppsView/ConnectedAppsView.d.ts +12 -0
  27. package/src/lib/widgets/DynamicWidget/views/ConnectedAppsView/ConnectedAppsView.js +175 -0
  28. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.cjs +7 -9
  29. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.js +7 -9
  30. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.cjs +17 -8
  31. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.js +17 -8
package/CHANGELOG.md CHANGED
@@ -1,4 +1,16 @@
1
1
 
2
+ ## [3.2.0](https://github.com/dynamic-labs/DynamicAuth/compare/v3.1.4...v3.2.0) (2024-10-02)
3
+
4
+
5
+ ### Features
6
+
7
+ * view global connectivity connections and allow disconnection ([#7037](https://github.com/dynamic-labs/DynamicAuth/issues/7037)) ([6d7c2ba](https://github.com/dynamic-labs/DynamicAuth/commit/6d7c2baf2d1480e30e1394547635f0f1e7c47509))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * ensure the correct auth mode is used on social redirect ([#7047](https://github.com/dynamic-labs/DynamicAuth/issues/7047)) ([#7055](https://github.com/dynamic-labs/DynamicAuth/issues/7055)) ([b83ee70](https://github.com/dynamic-labs/DynamicAuth/commit/b83ee702fede980dad9641ad08453fc20ba1b6bb))
13
+
2
14
  ### [3.1.4](https://github.com/dynamic-labs/DynamicAuth/compare/v3.1.3...v3.1.4) (2024-09-30)
3
15
 
4
16
 
@@ -890,7 +902,7 @@
890
902
 
891
903
  - React Native - You can now build mobile-first onboarding experiences with the same Dynamic magic but for React Native, get started [here](https://docs.dynamic.xyz/react-native/introduction)
892
904
 
893
- - Cookie Authentication - Dynamic can now be configured to set a secure, HttpOnly cookie that can be used for authenticating with Dynamic’s backend. This will contain a minified version of our JWT token.
905
+ - Cookie Authentication - Dynamic can now be configured to set a secure, HttpOnly cookie that can be used for authenticating with Dynamic’s backend. This will contain a minified version of our JWT token.
894
906
 
895
907
 
896
908
  ## Improvements
package/package.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "3.1.4";
6
+ var version = "3.2.0";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.535",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- var version = "3.1.4";
2
+ var version = "3.2.0";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.535",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "3.1.4",
3
+ "version": "3.2.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -17,15 +17,15 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/iconic": "3.1.4",
21
- "@dynamic-labs/logger": "3.1.4",
22
- "@dynamic-labs/multi-wallet": "3.1.4",
23
- "@dynamic-labs/rpc-providers": "3.1.4",
24
- "@dynamic-labs/store": "3.1.4",
25
- "@dynamic-labs/types": "3.1.4",
26
- "@dynamic-labs/utils": "3.1.4",
27
- "@dynamic-labs/wallet-book": "3.1.4",
28
- "@dynamic-labs/wallet-connector-core": "3.1.4",
20
+ "@dynamic-labs/iconic": "3.2.0",
21
+ "@dynamic-labs/logger": "3.2.0",
22
+ "@dynamic-labs/multi-wallet": "3.2.0",
23
+ "@dynamic-labs/rpc-providers": "3.2.0",
24
+ "@dynamic-labs/store": "3.2.0",
25
+ "@dynamic-labs/types": "3.2.0",
26
+ "@dynamic-labs/utils": "3.2.0",
27
+ "@dynamic-labs/wallet-book": "3.2.0",
28
+ "@dynamic-labs/wallet-connector-core": "3.2.0",
29
29
  "eventemitter3": "5.0.1"
30
30
  },
31
31
  "devDependencies": {
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../../../../../_virtual/_tslib.cjs');
7
7
  var React = require('react');
8
+ var utils = require('@dynamic-labs/utils');
8
9
  require('@dynamic-labs/sdk-api-core');
9
- require('../../../../shared/logger.cjs');
10
+ var logger = require('../../../../shared/logger.cjs');
10
11
  require('@dynamic-labs/iconic');
11
12
  require('@dynamic-labs/wallet-connector-core');
12
13
  require('react/jsx-runtime');
13
14
  var ViewContext = require('../../../ViewContext/ViewContext.cjs');
14
15
  require('@dynamic-labs/wallet-book');
15
16
  var isSSR = require('../../../../shared/utils/functions/isSSR/isSSR.cjs');
16
- require('@dynamic-labs/utils');
17
17
  require('../../../../utils/constants/colors.cjs');
18
18
  require('../../../../utils/constants/values.cjs');
19
19
  var useEffectOnce = require('../../../../shared/utils/hooks/useEffectOnce/useEffectOnce.cjs');
@@ -29,7 +29,7 @@ require('react-international-phone');
29
29
  var socialStorage = require('../../../../utils/functions/socialStorage/socialStorage.cjs');
30
30
  var getSocialSignInProviderForProviderEnum = require('../../../../utils/functions/getSocialSignInProviderForProviderEnum/getSocialSignInProviderForProviderEnum.cjs');
31
31
  require('../../../../config/ApiEndpoint.cjs');
32
- require('../../../../store/state/user/user.cjs');
32
+ var user = require('../../../../store/state/user/user.cjs');
33
33
  require('../../../../locale/locale.cjs');
34
34
  require('../../../../store/state/projectSettings/projectSettings.cjs');
35
35
  require('../../../AccessDeniedContext/AccessDeniedContext.cjs');
@@ -101,7 +101,7 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
101
101
  const { setView } = ViewContext.useViewContext();
102
102
  const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
103
103
  const [socialStorageItem, setSocialStorageItem] = React.useState(null);
104
- const { sdkHasLoaded, user, setShowAuthFlow, isRenderingEmbeddedAuthFlow, setShowDynamicUserProfile, } = useInternalDynamicContext.useInternalDynamicContext();
104
+ const { sdkHasLoaded, setShowAuthFlow, isRenderingEmbeddedAuthFlow, setShowDynamicUserProfile, } = useInternalDynamicContext.useInternalDynamicContext();
105
105
  const { completeConnection } = useSocialAuth.useSocialAuth({
106
106
  sessionTimeout: 10000,
107
107
  });
@@ -140,17 +140,24 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
140
140
  useEffectOnceCondition.useEffectOnceCondition(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
141
141
  if (!socialStorageItem)
142
142
  return;
143
- const authMode = user ? 'link' : 'signin';
144
143
  // Update UI to reflect the original state
145
- if (authMode === 'signin') {
144
+ if (socialStorageItem.mode === 'signin') {
145
+ if (user.getUser()) {
146
+ logger.logger.error(new utils.DynamicError('User is already logged in'));
147
+ return;
148
+ }
146
149
  updateInterfaceStateForSignIn(socialStorageItem);
147
150
  }
148
- else if (authMode === 'link') {
151
+ else if (socialStorageItem.mode === 'link') {
152
+ if (!user.getUser()) {
153
+ logger.logger.error(new utils.DynamicError('User not logged in'));
154
+ return;
155
+ }
149
156
  updateInterfaceStateForLink();
150
157
  }
151
158
  yield completeConnection({
152
159
  authCode: socialStorageItem.code,
153
- authMode,
160
+ authMode: socialStorageItem.mode,
154
161
  captchaToken: socialStorageItem.captchaToken,
155
162
  provider: socialStorageItem.provider,
156
163
  state: socialStorageItem.state,
@@ -1,15 +1,15 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
3
  import { useState, useCallback } from 'react';
4
+ import { DynamicError } from '@dynamic-labs/utils';
4
5
  import '@dynamic-labs/sdk-api-core';
5
- import '../../../../shared/logger.js';
6
+ import { logger } from '../../../../shared/logger.js';
6
7
  import '@dynamic-labs/iconic';
7
8
  import '@dynamic-labs/wallet-connector-core';
8
9
  import 'react/jsx-runtime';
9
10
  import { useViewContext } from '../../../ViewContext/ViewContext.js';
10
11
  import '@dynamic-labs/wallet-book';
11
12
  import { isSSR } from '../../../../shared/utils/functions/isSSR/isSSR.js';
12
- import '@dynamic-labs/utils';
13
13
  import '../../../../utils/constants/colors.js';
14
14
  import '../../../../utils/constants/values.js';
15
15
  import { useEffectOnce } from '../../../../shared/utils/hooks/useEffectOnce/useEffectOnce.js';
@@ -25,7 +25,7 @@ import 'react-international-phone';
25
25
  import { searchSocialStorageByState, deleteSocialStorage } from '../../../../utils/functions/socialStorage/socialStorage.js';
26
26
  import { getSocialSignInProviderForProviderEnum } from '../../../../utils/functions/getSocialSignInProviderForProviderEnum/getSocialSignInProviderForProviderEnum.js';
27
27
  import '../../../../config/ApiEndpoint.js';
28
- import '../../../../store/state/user/user.js';
28
+ import { getUser } from '../../../../store/state/user/user.js';
29
29
  import '../../../../locale/locale.js';
30
30
  import '../../../../store/state/projectSettings/projectSettings.js';
31
31
  import '../../../AccessDeniedContext/AccessDeniedContext.js';
@@ -97,7 +97,7 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
97
97
  const { setView } = useViewContext();
98
98
  const { setDynamicWidgetView } = useWidgetContext();
99
99
  const [socialStorageItem, setSocialStorageItem] = useState(null);
100
- const { sdkHasLoaded, user, setShowAuthFlow, isRenderingEmbeddedAuthFlow, setShowDynamicUserProfile, } = useInternalDynamicContext();
100
+ const { sdkHasLoaded, setShowAuthFlow, isRenderingEmbeddedAuthFlow, setShowDynamicUserProfile, } = useInternalDynamicContext();
101
101
  const { completeConnection } = useSocialAuth({
102
102
  sessionTimeout: 10000,
103
103
  });
@@ -136,17 +136,24 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
136
136
  useEffectOnceCondition(() => __awaiter(void 0, void 0, void 0, function* () {
137
137
  if (!socialStorageItem)
138
138
  return;
139
- const authMode = user ? 'link' : 'signin';
140
139
  // Update UI to reflect the original state
141
- if (authMode === 'signin') {
140
+ if (socialStorageItem.mode === 'signin') {
141
+ if (getUser()) {
142
+ logger.error(new DynamicError('User is already logged in'));
143
+ return;
144
+ }
142
145
  updateInterfaceStateForSignIn(socialStorageItem);
143
146
  }
144
- else if (authMode === 'link') {
147
+ else if (socialStorageItem.mode === 'link') {
148
+ if (!getUser()) {
149
+ logger.error(new DynamicError('User not logged in'));
150
+ return;
151
+ }
145
152
  updateInterfaceStateForLink();
146
153
  }
147
154
  yield completeConnection({
148
155
  authCode: socialStorageItem.code,
149
- authMode,
156
+ authMode: socialStorageItem.mode,
150
157
  captchaToken: socialStorageItem.captchaToken,
151
158
  provider: socialStorageItem.provider,
152
159
  state: socialStorageItem.state,
@@ -820,31 +820,37 @@ const translation = {
820
820
  * @description Settings for Dynamic settings view which are used inside dynamic widget
821
821
  * @default
822
822
  * {
823
- global_section: {
824
- title: 'Global',
825
- currency: {
826
- title: 'Currency',
827
- badge: 'coming soon',
828
- },
829
- },
830
- export_section: {
831
- private_key_button: 'Private key',
832
- srp_button: 'Recovery phrase',
833
- title: 'Export & Backup',
834
- },
835
- identity_section: {
836
- title: 'Recovery',
837
- add_email_button: 'Add an email',
823
+ global_section: {
824
+ title: 'Global',
825
+ currency: {
826
+ title: 'Currency',
827
+ badge: 'coming soon',
838
828
  },
839
- tags: { recommended: 'Recommended' },
840
- security_section: {
841
- email_auth_button: 'One time code',
842
- passkey_button: 'Passkeys',
843
- password_button: 'Passcode',
844
- title: 'Security Methods',
845
- },
846
- title: 'Settings',
847
- }
829
+ },
830
+ global_connectivity_section: {
831
+ title: 'Global Connectivity',
832
+ connected_apps_button: 'Connected Apps',
833
+ },
834
+ export_section: {
835
+ private_key_button: 'Private key',
836
+ srp_button: 'Recovery phrase',
837
+ title: 'Export & Backup',
838
+ },
839
+ identity_section: {
840
+ title: 'Recovery',
841
+ add_email_button: 'Add an email',
842
+ },
843
+ tags: { recommended: 'Recommended' },
844
+ security_section: {
845
+ email_auth_button: 'One time code',
846
+ passkey_button: 'Passkeys',
847
+ password_button: 'Passcode',
848
+ mfa_button: 'Authenticator App',
849
+ title: '2 factor authentication',
850
+ },
851
+ title: 'Settings',
852
+ button_logout: 'Log out',
853
+ }
848
854
  */
849
855
  dyn_settings: {
850
856
  global_section: {
@@ -854,6 +860,10 @@ const translation = {
854
860
  badge: 'coming soon',
855
861
  },
856
862
  },
863
+ global_connectivity_section: {
864
+ title: 'Global Connectivity',
865
+ connected_apps_button: 'Connected Apps',
866
+ },
857
867
  export_section: {
858
868
  private_key_button: 'Private key',
859
869
  srp_button: 'Recovery phrase',
@@ -926,6 +936,10 @@ const translation = {
926
936
  proceed: 'Proceed',
927
937
  },
928
938
  },
939
+ connected_apps: {
940
+ title: 'Connected Apps',
941
+ no_connections: 'No connected apps',
942
+ },
929
943
  },
930
944
  */
931
945
  global_wallet: {
@@ -973,6 +987,11 @@ const translation = {
973
987
  proceed: 'Proceed',
974
988
  },
975
989
  },
990
+ connected_apps: {
991
+ title: 'Connected Apps',
992
+ subtitle: 'Connected apps allow you to interact with your wallet on other platforms.',
993
+ success: 'Successfully connected to {{name}}.',
994
+ },
976
995
  },
977
996
  /**
978
997
  * @description copy keys for mfa management view
@@ -814,31 +814,37 @@ export declare const translation: {
814
814
  * @description Settings for Dynamic settings view which are used inside dynamic widget
815
815
  * @default
816
816
  * {
817
- global_section: {
818
- title: 'Global',
819
- currency: {
820
- title: 'Currency',
821
- badge: 'coming soon',
822
- },
823
- },
824
- export_section: {
825
- private_key_button: 'Private key',
826
- srp_button: 'Recovery phrase',
827
- title: 'Export & Backup',
828
- },
829
- identity_section: {
830
- title: 'Recovery',
831
- add_email_button: 'Add an email',
817
+ global_section: {
818
+ title: 'Global',
819
+ currency: {
820
+ title: 'Currency',
821
+ badge: 'coming soon',
832
822
  },
833
- tags: { recommended: 'Recommended' },
834
- security_section: {
835
- email_auth_button: 'One time code',
836
- passkey_button: 'Passkeys',
837
- password_button: 'Passcode',
838
- title: 'Security Methods',
839
- },
840
- title: 'Settings',
841
- }
823
+ },
824
+ global_connectivity_section: {
825
+ title: 'Global Connectivity',
826
+ connected_apps_button: 'Connected Apps',
827
+ },
828
+ export_section: {
829
+ private_key_button: 'Private key',
830
+ srp_button: 'Recovery phrase',
831
+ title: 'Export & Backup',
832
+ },
833
+ identity_section: {
834
+ title: 'Recovery',
835
+ add_email_button: 'Add an email',
836
+ },
837
+ tags: { recommended: 'Recommended' },
838
+ security_section: {
839
+ email_auth_button: 'One time code',
840
+ passkey_button: 'Passkeys',
841
+ password_button: 'Passcode',
842
+ mfa_button: 'Authenticator App',
843
+ title: '2 factor authentication',
844
+ },
845
+ title: 'Settings',
846
+ button_logout: 'Log out',
847
+ }
842
848
  */
843
849
  dyn_settings: {
844
850
  global_section: {
@@ -848,6 +854,10 @@ export declare const translation: {
848
854
  badge: string;
849
855
  };
850
856
  };
857
+ global_connectivity_section: {
858
+ title: string;
859
+ connected_apps_button: string;
860
+ };
851
861
  export_section: {
852
862
  private_key_button: string;
853
863
  srp_button: string;
@@ -922,6 +932,10 @@ export declare const translation: {
922
932
  proceed: 'Proceed',
923
933
  },
924
934
  },
935
+ connected_apps: {
936
+ title: 'Connected Apps',
937
+ no_connections: 'No connected apps',
938
+ },
925
939
  },
926
940
  */
927
941
  global_wallet: {
@@ -969,6 +983,11 @@ export declare const translation: {
969
983
  proceed: string;
970
984
  };
971
985
  };
986
+ connected_apps: {
987
+ title: string;
988
+ subtitle: string;
989
+ success: string;
990
+ };
972
991
  };
973
992
  /**
974
993
  * @description copy keys for mfa management view
@@ -816,31 +816,37 @@ const translation = {
816
816
  * @description Settings for Dynamic settings view which are used inside dynamic widget
817
817
  * @default
818
818
  * {
819
- global_section: {
820
- title: 'Global',
821
- currency: {
822
- title: 'Currency',
823
- badge: 'coming soon',
824
- },
825
- },
826
- export_section: {
827
- private_key_button: 'Private key',
828
- srp_button: 'Recovery phrase',
829
- title: 'Export & Backup',
830
- },
831
- identity_section: {
832
- title: 'Recovery',
833
- add_email_button: 'Add an email',
819
+ global_section: {
820
+ title: 'Global',
821
+ currency: {
822
+ title: 'Currency',
823
+ badge: 'coming soon',
834
824
  },
835
- tags: { recommended: 'Recommended' },
836
- security_section: {
837
- email_auth_button: 'One time code',
838
- passkey_button: 'Passkeys',
839
- password_button: 'Passcode',
840
- title: 'Security Methods',
841
- },
842
- title: 'Settings',
843
- }
825
+ },
826
+ global_connectivity_section: {
827
+ title: 'Global Connectivity',
828
+ connected_apps_button: 'Connected Apps',
829
+ },
830
+ export_section: {
831
+ private_key_button: 'Private key',
832
+ srp_button: 'Recovery phrase',
833
+ title: 'Export & Backup',
834
+ },
835
+ identity_section: {
836
+ title: 'Recovery',
837
+ add_email_button: 'Add an email',
838
+ },
839
+ tags: { recommended: 'Recommended' },
840
+ security_section: {
841
+ email_auth_button: 'One time code',
842
+ passkey_button: 'Passkeys',
843
+ password_button: 'Passcode',
844
+ mfa_button: 'Authenticator App',
845
+ title: '2 factor authentication',
846
+ },
847
+ title: 'Settings',
848
+ button_logout: 'Log out',
849
+ }
844
850
  */
845
851
  dyn_settings: {
846
852
  global_section: {
@@ -850,6 +856,10 @@ const translation = {
850
856
  badge: 'coming soon',
851
857
  },
852
858
  },
859
+ global_connectivity_section: {
860
+ title: 'Global Connectivity',
861
+ connected_apps_button: 'Connected Apps',
862
+ },
853
863
  export_section: {
854
864
  private_key_button: 'Private key',
855
865
  srp_button: 'Recovery phrase',
@@ -922,6 +932,10 @@ const translation = {
922
932
  proceed: 'Proceed',
923
933
  },
924
934
  },
935
+ connected_apps: {
936
+ title: 'Connected Apps',
937
+ no_connections: 'No connected apps',
938
+ },
925
939
  },
926
940
  */
927
941
  global_wallet: {
@@ -969,6 +983,11 @@ const translation = {
969
983
  proceed: 'Proceed',
970
984
  },
971
985
  },
986
+ connected_apps: {
987
+ title: 'Connected Apps',
988
+ subtitle: 'Connected apps allow you to interact with your wallet on other platforms.',
989
+ success: 'Successfully connected to {{name}}.',
990
+ },
972
991
  },
973
992
  /**
974
993
  * @description copy keys for mfa management view
@@ -0,0 +1,64 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var _rect, _path, _circle;
29
+ var _excluded = ["title", "titleId"];
30
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
32
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
+ var SvgConnectedApps = function SvgConnectedApps(_ref) {
34
+ var title = _ref.title,
35
+ titleId = _ref.titleId,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
38
+ width: 28,
39
+ height: 28,
40
+ viewBox: "0 0 28 28",
41
+ fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ "aria-labelledby": titleId
44
+ }, props), title ? /*#__PURE__*/React__namespace.createElement("title", {
45
+ id: titleId
46
+ }, title) : null, _rect || (_rect = /*#__PURE__*/React__namespace.createElement("rect", {
47
+ width: 28,
48
+ height: 28,
49
+ rx: 14,
50
+ fill: "#4779FF"
51
+ })), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
52
+ fillRule: "evenodd",
53
+ clipRule: "evenodd",
54
+ d: "M9.334 5.667a2 2 0 0 0-2 2v3.891a6.667 6.667 0 0 1 7.743 10.775h3.59a2 2 0 0 0 2-2V7.667a2 2 0 0 0-2-2H9.333Z",
55
+ fill: "#fff"
56
+ })), _circle || (_circle = /*#__PURE__*/React__namespace.createElement("circle", {
57
+ cx: 10.666,
58
+ cy: 17.334,
59
+ fill: "#fff",
60
+ r: 5
61
+ })));
62
+ };
63
+
64
+ exports.ReactComponent = SvgConnectedApps;
@@ -0,0 +1,40 @@
1
+ 'use client'
2
+ import * as React from 'react';
3
+
4
+ var _rect, _path, _circle;
5
+ var _excluded = ["title", "titleId"];
6
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
8
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
9
+ var SvgConnectedApps = function SvgConnectedApps(_ref) {
10
+ var title = _ref.title,
11
+ titleId = _ref.titleId,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ return /*#__PURE__*/React.createElement("svg", _extends({
14
+ width: 28,
15
+ height: 28,
16
+ viewBox: "0 0 28 28",
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ "aria-labelledby": titleId
20
+ }, props), title ? /*#__PURE__*/React.createElement("title", {
21
+ id: titleId
22
+ }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement("rect", {
23
+ width: 28,
24
+ height: 28,
25
+ rx: 14,
26
+ fill: "#4779FF"
27
+ })), _path || (_path = /*#__PURE__*/React.createElement("path", {
28
+ fillRule: "evenodd",
29
+ clipRule: "evenodd",
30
+ d: "M9.334 5.667a2 2 0 0 0-2 2v3.891a6.667 6.667 0 0 1 7.743 10.775h3.59a2 2 0 0 0 2-2V7.667a2 2 0 0 0-2-2H9.333Z",
31
+ fill: "#fff"
32
+ })), _circle || (_circle = /*#__PURE__*/React.createElement("circle", {
33
+ cx: 10.666,
34
+ cy: 17.334,
35
+ fill: "#fff",
36
+ r: 5
37
+ })));
38
+ };
39
+
40
+ export { SvgConnectedApps as ReactComponent };
@@ -5,6 +5,7 @@ export { ReactComponent as AltEmbeddedWalletIcon } from './alt-embedded-wallet.s
5
5
  export { ReactComponent as AltKeyIcon } from './alt-key.svg';
6
6
  export { ReactComponent as AndroidFaceId } from './android-face-id.svg';
7
7
  export { ReactComponent as AndroidTouchId } from './android-touch-id.svg';
8
+ export { ReactComponent as ConnectedAppsIcon } from './connected-apps.svg';
8
9
  export { ReactComponent as ArrowDownIcon } from './arrow-down.svg';
9
10
  export { ReactComponent as ArrowLeftIcon } from './arrow-left.svg';
10
11
  export { ReactComponent as ArrowRightBackgroundIcon } from './arrow-right-background.svg';