@aurum-sdk/core 0.1.5 → 0.2.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.
- package/README.md +3 -3
- package/dist/{chunk-HPH3VJRX.js → chunk-AFVK5GA5.js} +2 -2
- package/dist/chunk-AFVK5GA5.js.map +1 -0
- package/dist/{chunk-5NXCRO5Q.mjs → chunk-BSMOPBPL.mjs} +2 -2
- package/dist/chunk-BSMOPBPL.mjs.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +59 -58
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/widgets.d.mts +2 -51
- package/dist/widgets.d.ts +2 -51
- package/dist/widgets.js +16 -20
- package/dist/widgets.js.map +1 -1
- package/dist/widgets.mjs +3 -7
- package/dist/widgets.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-5NXCRO5Q.mjs.map +0 -1
- package/dist/chunk-HPH3VJRX.js.map +0 -1
package/dist/widgets.d.mts
CHANGED
|
@@ -1,44 +1,13 @@
|
|
|
1
1
|
import React, { RefObject } from 'react';
|
|
2
2
|
import { Aurum } from './index.mjs';
|
|
3
|
-
import { NonNullableBrandConfig } from '@aurum-sdk/types';
|
|
3
|
+
import { UserInfo, NonNullableBrandConfig } from '@aurum-sdk/types';
|
|
4
4
|
import 'viem';
|
|
5
5
|
import '@coinbase/cdp-core';
|
|
6
6
|
|
|
7
7
|
interface ConnectWidgetProps {
|
|
8
8
|
aurum: Aurum;
|
|
9
|
-
onConnect
|
|
10
|
-
address: string;
|
|
11
|
-
walletId: string;
|
|
12
|
-
email?: string;
|
|
13
|
-
}) => void;
|
|
9
|
+
onConnect?: (result: UserInfo) => void;
|
|
14
10
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Embedded connect widget for embedded wallet connection.
|
|
17
|
-
*
|
|
18
|
-
* ## Hierarchy (mirrors renderConnectModal)
|
|
19
|
-
* ```
|
|
20
|
-
* ConnectWidget ← you are here
|
|
21
|
-
* └── WidgetStyleContainer (style injection + ThemeContainer)
|
|
22
|
-
* └── ConnectUIProviders (NavigationProvider + ConnectModalProvider)
|
|
23
|
-
* └── WidgetShell
|
|
24
|
-
* └── WidgetProvider (mode='widget')
|
|
25
|
-
* └── PageTransitionContainer
|
|
26
|
-
* └── ConnectPages (shared with modal)
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @see renderConnectModal - Modal equivalent entry point
|
|
30
|
-
* @see WidgetShell - Shell component (parallel to ModalShell)
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```tsx
|
|
34
|
-
* <ConnectWidget
|
|
35
|
-
* aurum={aurum}
|
|
36
|
-
* onConnect={({ address, walletId }) => {
|
|
37
|
-
* console.log('Connected:', address, walletId);
|
|
38
|
-
* }}
|
|
39
|
-
* />
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
11
|
declare const ConnectWidget: React.FC<ConnectWidgetProps>;
|
|
43
12
|
|
|
44
13
|
/**
|
|
@@ -64,24 +33,6 @@ interface WidgetProviderProps {
|
|
|
64
33
|
}
|
|
65
34
|
/**
|
|
66
35
|
* Unified provider for both modal and widget contexts.
|
|
67
|
-
*
|
|
68
|
-
* ## Provider Hierarchy
|
|
69
|
-
*
|
|
70
|
-
* For Modals:
|
|
71
|
-
* ```
|
|
72
|
-
* ModalShell
|
|
73
|
-
* └── Modal
|
|
74
|
-
* └── WidgetProvider (mode='modal', onDismiss=closeModal)
|
|
75
|
-
* └── ConnectPages
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* For Widgets:
|
|
79
|
-
* ```
|
|
80
|
-
* ConnectWidget
|
|
81
|
-
* └── WidgetShell
|
|
82
|
-
* └── WidgetProvider (mode='widget', onDismiss=noop)
|
|
83
|
-
* └── ConnectPages
|
|
84
|
-
* ```
|
|
85
36
|
*/
|
|
86
37
|
declare const WidgetProvider: React.FC<WidgetProviderProps>;
|
|
87
38
|
|
package/dist/widgets.d.ts
CHANGED
|
@@ -1,44 +1,13 @@
|
|
|
1
1
|
import React, { RefObject } from 'react';
|
|
2
2
|
import { Aurum } from './index.js';
|
|
3
|
-
import { NonNullableBrandConfig } from '@aurum-sdk/types';
|
|
3
|
+
import { UserInfo, NonNullableBrandConfig } from '@aurum-sdk/types';
|
|
4
4
|
import 'viem';
|
|
5
5
|
import '@coinbase/cdp-core';
|
|
6
6
|
|
|
7
7
|
interface ConnectWidgetProps {
|
|
8
8
|
aurum: Aurum;
|
|
9
|
-
onConnect
|
|
10
|
-
address: string;
|
|
11
|
-
walletId: string;
|
|
12
|
-
email?: string;
|
|
13
|
-
}) => void;
|
|
9
|
+
onConnect?: (result: UserInfo) => void;
|
|
14
10
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Embedded connect widget for embedded wallet connection.
|
|
17
|
-
*
|
|
18
|
-
* ## Hierarchy (mirrors renderConnectModal)
|
|
19
|
-
* ```
|
|
20
|
-
* ConnectWidget ← you are here
|
|
21
|
-
* └── WidgetStyleContainer (style injection + ThemeContainer)
|
|
22
|
-
* └── ConnectUIProviders (NavigationProvider + ConnectModalProvider)
|
|
23
|
-
* └── WidgetShell
|
|
24
|
-
* └── WidgetProvider (mode='widget')
|
|
25
|
-
* └── PageTransitionContainer
|
|
26
|
-
* └── ConnectPages (shared with modal)
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @see renderConnectModal - Modal equivalent entry point
|
|
30
|
-
* @see WidgetShell - Shell component (parallel to ModalShell)
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```tsx
|
|
34
|
-
* <ConnectWidget
|
|
35
|
-
* aurum={aurum}
|
|
36
|
-
* onConnect={({ address, walletId }) => {
|
|
37
|
-
* console.log('Connected:', address, walletId);
|
|
38
|
-
* }}
|
|
39
|
-
* />
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
11
|
declare const ConnectWidget: React.FC<ConnectWidgetProps>;
|
|
43
12
|
|
|
44
13
|
/**
|
|
@@ -64,24 +33,6 @@ interface WidgetProviderProps {
|
|
|
64
33
|
}
|
|
65
34
|
/**
|
|
66
35
|
* Unified provider for both modal and widget contexts.
|
|
67
|
-
*
|
|
68
|
-
* ## Provider Hierarchy
|
|
69
|
-
*
|
|
70
|
-
* For Modals:
|
|
71
|
-
* ```
|
|
72
|
-
* ModalShell
|
|
73
|
-
* └── Modal
|
|
74
|
-
* └── WidgetProvider (mode='modal', onDismiss=closeModal)
|
|
75
|
-
* └── ConnectPages
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* For Widgets:
|
|
79
|
-
* ```
|
|
80
|
-
* ConnectWidget
|
|
81
|
-
* └── WidgetShell
|
|
82
|
-
* └── WidgetProvider (mode='widget', onDismiss=noop)
|
|
83
|
-
* └── ConnectPages
|
|
84
|
-
* ```
|
|
85
36
|
*/
|
|
86
37
|
declare const WidgetProvider: React.FC<WidgetProviderProps>;
|
|
87
38
|
|
package/dist/widgets.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkAFVK5GA5js = require('./chunk-AFVK5GA5.js');
|
|
16
16
|
|
|
17
17
|
// src/components/widgets/ConnectWidget.tsx
|
|
18
18
|
var _react = require('react');
|
|
@@ -24,20 +24,20 @@ var noop = () => {
|
|
|
24
24
|
};
|
|
25
25
|
var WidgetShell = ({ brandConfig, children }) => {
|
|
26
26
|
const headerPortalRef = _react.useRef.call(void 0, null);
|
|
27
|
-
const { currentPage } =
|
|
28
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27
|
+
const { currentPage } = _chunkAFVK5GA5js.useNavigation.call(void 0, );
|
|
28
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.WidgetProvider, { mode: "widget", brandConfig, onDismiss: noop, headerPortalRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "widget-provider", children: [
|
|
29
29
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: headerPortalRef }),
|
|
30
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.PageTransitionContainer, { transitionKey: currentPage, children }),
|
|
31
31
|
!brandConfig.hideFooter ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
32
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.Spacer, { size: `${_chunkAFVK5GA5js.POWERED_BY_SPACER_REM}rem` }),
|
|
33
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.PoweredBy, {})
|
|
34
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.Spacer, { size: "0.3125rem" })
|
|
35
35
|
] }) });
|
|
36
36
|
};
|
|
37
37
|
var WidgetStyleContainer = ({ children, brandConfig }) => {
|
|
38
38
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "aurum-widget", style: { width: "100%" }, children: [
|
|
39
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children:
|
|
40
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
39
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children: _chunkAFVK5GA5js.generateCompleteStyles.call(void 0, brandConfig) }),
|
|
40
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.ThemeContainer, { theme: brandConfig.theme, children })
|
|
41
41
|
] });
|
|
42
42
|
};
|
|
43
43
|
|
|
@@ -50,29 +50,25 @@ var ConnectWidget = ({ aurum, onConnect }) => {
|
|
|
50
50
|
const excludedWalletIds = aurum.excludedWalletIds;
|
|
51
51
|
const displayedWallets = _react.useMemo.call(void 0, () => {
|
|
52
52
|
let filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));
|
|
53
|
-
filtered =
|
|
53
|
+
filtered = _chunkAFVK5GA5js.sortWallets.call(void 0, filtered, { filterHidden: false });
|
|
54
54
|
const hasAppKit = filtered.some((w) => w.id === _types.WalletId.AppKit);
|
|
55
|
-
if (
|
|
55
|
+
if (_chunkAFVK5GA5js.isMobile.call(void 0, ) && !hasAppKit) {
|
|
56
56
|
filtered = filtered.filter((w) => w.id !== _types.WalletId.WalletConnect);
|
|
57
57
|
}
|
|
58
58
|
return filtered;
|
|
59
59
|
}, [walletAdapters, excludedWalletIds]);
|
|
60
60
|
const handleConnect = _react.useCallback.call(void 0,
|
|
61
61
|
async (result) => {
|
|
62
|
-
await aurum.handleWidgetConnection(result);
|
|
63
|
-
onConnect(
|
|
64
|
-
address: result.address,
|
|
65
|
-
walletId: result.walletId,
|
|
66
|
-
email: result.email
|
|
67
|
-
});
|
|
62
|
+
const userInfo = await aurum.handleWidgetConnection(result);
|
|
63
|
+
_optionalChain([onConnect, 'optionalCall', _ => _(userInfo)]);
|
|
68
64
|
},
|
|
69
65
|
[aurum, onConnect]
|
|
70
66
|
);
|
|
71
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WidgetStyleContainer, { brandConfig, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
67
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WidgetStyleContainer, { brandConfig, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.ConnectUIProviders, { onConnect: handleConnect, displayedWallets, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WidgetShell, { brandConfig, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.ConnectPages, {}) }) }) });
|
|
72
68
|
};
|
|
73
69
|
|
|
74
70
|
|
|
75
71
|
|
|
76
72
|
|
|
77
|
-
exports.ConnectWidget = ConnectWidget; exports.WidgetProvider =
|
|
73
|
+
exports.ConnectWidget = ConnectWidget; exports.WidgetProvider = _chunkAFVK5GA5js.WidgetProvider; exports.useWidgetContext = _chunkAFVK5GA5js.useWidgetContext;
|
|
78
74
|
//# sourceMappingURL=widgets.js.map
|
package/dist/widgets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/huntercote/Desktop/code/2025/station-6/monorepo/packages/core/dist/widgets.js","../src/components/widgets/ConnectWidget.tsx","../src/components/widgets/WidgetShell.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;AChBA,8BAA4C;ADkB5C;AACA;AEnBA;
|
|
1
|
+
{"version":3,"sources":["/Users/huntercote/Desktop/code/2025/station-6/monorepo/packages/core/dist/widgets.js","../src/components/widgets/ConnectWidget.tsx","../src/components/widgets/WidgetShell.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;AChBA,8BAA4C;ADkB5C;AACA;AEnBA;AA0BQ,+CAAA;AATR,IAAM,KAAA,EAAO,CAAA,EAAA,GAAM;AAAC,CAAA;AAEb,IAAM,YAAA,EAA0C,CAAC,EAAE,WAAA,EAAa,SAAS,CAAA,EAAA,GAAM;AACpF,EAAA,MAAM,gBAAA,EAAkB,2BAAA,IAA2B,CAAA;AACnD,EAAA,MAAM,EAAE,YAAY,EAAA,EAAI,4CAAA,CAAc;AAEtC,EAAA,uBACE,6BAAA,+BAAC,EAAA,EAAe,IAAA,EAAK,QAAA,EAAS,WAAA,EAA0B,SAAA,EAAW,IAAA,EAAM,eAAA,EACvE,QAAA,kBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,iBAAA,EACb,QAAA,EAAA;AAAA,oBAAA,6BAAA,KAAC,EAAA,EAAI,GAAA,EAAK,gBAAA,CAAiB,CAAA;AAAA,oBAC3B,6BAAA,wCAAC,EAAA,EAAwB,aAAA,EAAe,WAAA,EAAc,SAAA,CAAS,CAAA;AAAA,IAC9D,CAAC,WAAA,CAAY,WAAA,kBACZ,8BAAA,oBAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,6BAAA,uBAAC,EAAA,EAAO,IAAA,EAAM,CAAA,EAAA;AACH,sBAAA;AAGL,IAAA;AAGd,EAAA;AAEJ;AAasF;AAE7E,EAAA;AACK,oBAAA;AACQ,oBAAA;AAClB,EAAA;AAEJ;AFjB2C;AACA;ACnCR;AAsCzB;AA/BqE;AACnD,EAAA;AACG,EAAA;AACG,EAAA;AAEO,EAAA;AACC,IAAA;AACH,IAAA;AAGI,IAAA;AACT,IAAA;AACQ,MAAA;AACtC,IAAA;AAEO,IAAA;AAC6B,EAAA;AAEhB,EAAA;AACsB,IAAA;AAEX,MAAA;AACT,sBAAA;AACtB,IAAA;AACiB,IAAA;AACnB,EAAA;AAGG,EAAA;AAQL;ADiB2C;AACA;AACA;AACA;AACA","file":"/Users/huntercote/Desktop/code/2025/station-6/monorepo/packages/core/dist/widgets.js","sourcesContent":[null,"import React, { useMemo, useCallback } from 'react';\nimport { ConnectUIProviders } from '@src/components/ConnectUIProviders';\nimport { WidgetShell, WidgetStyleContainer } from '@src/components/widgets/WidgetShell';\nimport { ConnectPages } from '@src/components/ConnectModal/ConnectPages';\nimport { WalletConnectionResult } from '@src/types/internal';\nimport { sortWallets } from '@src/utils/sortWallets';\nimport { isMobile } from '@src/utils/platform/isMobile';\nimport { Aurum } from '@src/Aurum';\nimport { UserInfo, WalletId } from '@aurum-sdk/types';\n\nexport interface ConnectWidgetProps {\n aurum: Aurum;\n onConnect?: (result: UserInfo) => void;\n}\n\nexport const ConnectWidget: React.FC<ConnectWidgetProps> = ({ aurum, onConnect }) => {\n const brandConfig = aurum.brandConfig;\n const walletAdapters = aurum.walletAdapters;\n const excludedWalletIds = aurum.excludedWalletIds;\n\n const displayedWallets = useMemo(() => {\n let filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));\n filtered = sortWallets(filtered, { filterHidden: false });\n\n // On mobile, WalletConnect requires AppKit\n const hasAppKit = filtered.some((w) => w.id === WalletId.AppKit);\n if (isMobile() && !hasAppKit) {\n filtered = filtered.filter((w) => w.id !== WalletId.WalletConnect);\n }\n\n return filtered;\n }, [walletAdapters, excludedWalletIds]);\n\n const handleConnect = useCallback(\n async (result: WalletConnectionResult) => {\n // Sync connection state with AurumCore (updates userInfo, provider, store, etc.)\n const userInfo = await aurum.handleWidgetConnection(result);\n onConnect?.(userInfo);\n },\n [aurum, onConnect],\n );\n\n return (\n <WidgetStyleContainer brandConfig={brandConfig}>\n <ConnectUIProviders onConnect={handleConnect} displayedWallets={displayedWallets}>\n <WidgetShell brandConfig={brandConfig}>\n <ConnectPages />\n </WidgetShell>\n </ConnectUIProviders>\n </WidgetStyleContainer>\n );\n};\n","import React, { ReactNode, useRef } from 'react';\nimport { WidgetProvider } from '@src/contexts/WidgetContext';\nimport { useNavigation } from '@src/contexts/NavigationContext';\nimport { ThemeContainer } from '@src/ui';\nimport { PoweredBy } from '@src/components/PoweredBy/PoweredBy';\nimport { Spacer } from '@src/ui';\nimport { PageTransitionContainer } from '@src/components/PageTransitionContainer';\nimport { generateCompleteStyles } from '@src/utils/generateBrandStyles';\nimport { POWERED_BY_SPACER_REM } from '@src/constants/layout';\nimport { NonNullableBrandConfig } from '@aurum-sdk/types';\n\nexport interface WidgetShellProps {\n brandConfig: NonNullableBrandConfig;\n children: ReactNode;\n}\n\n// Noop for widget mode - close buttons are hidden via ModalHeader\nconst noop = () => {};\n\nexport const WidgetShell: React.FC<WidgetShellProps> = ({ brandConfig, children }) => {\n const headerPortalRef = useRef<HTMLDivElement>(null);\n const { currentPage } = useNavigation();\n\n return (\n <WidgetProvider mode=\"widget\" brandConfig={brandConfig} onDismiss={noop} headerPortalRef={headerPortalRef}>\n <div className=\"widget-provider\">\n <div ref={headerPortalRef} />\n <PageTransitionContainer transitionKey={currentPage}>{children}</PageTransitionContainer>\n {!brandConfig.hideFooter ? (\n <>\n <Spacer size={`${POWERED_BY_SPACER_REM}rem`} />\n <PoweredBy />\n </>\n ) : (\n <Spacer size=\"0.3125rem\" />\n )}\n </div>\n </WidgetProvider>\n );\n};\n\ninterface WidgetStyleContainerProps {\n children: React.ReactNode;\n brandConfig: NonNullableBrandConfig;\n}\n\n/**\n * Style injection container for widgets.\n *\n * Equivalent to createShadowRoot for modals but uses inline styles\n * since widgets are embedded in the host page.\n */\nexport const WidgetStyleContainer: React.FC<WidgetStyleContainerProps> = ({ children, brandConfig }) => {\n return (\n <div className=\"aurum-widget\" style={{ width: '100%' }}>\n <style>{generateCompleteStyles(brandConfig)}</style>\n <ThemeContainer theme={brandConfig.theme}>{children}</ThemeContainer>\n </div>\n );\n};\n"]}
|
package/dist/widgets.mjs
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
sortWallets,
|
|
13
13
|
useNavigation,
|
|
14
14
|
useWidgetContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BSMOPBPL.mjs";
|
|
16
16
|
|
|
17
17
|
// src/components/widgets/ConnectWidget.tsx
|
|
18
18
|
import { useMemo, useCallback } from "react";
|
|
@@ -59,12 +59,8 @@ var ConnectWidget = ({ aurum, onConnect }) => {
|
|
|
59
59
|
}, [walletAdapters, excludedWalletIds]);
|
|
60
60
|
const handleConnect = useCallback(
|
|
61
61
|
async (result) => {
|
|
62
|
-
await aurum.handleWidgetConnection(result);
|
|
63
|
-
onConnect(
|
|
64
|
-
address: result.address,
|
|
65
|
-
walletId: result.walletId,
|
|
66
|
-
email: result.email
|
|
67
|
-
});
|
|
62
|
+
const userInfo = await aurum.handleWidgetConnection(result);
|
|
63
|
+
onConnect?.(userInfo);
|
|
68
64
|
},
|
|
69
65
|
[aurum, onConnect]
|
|
70
66
|
);
|
package/dist/widgets.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/widgets/ConnectWidget.tsx","../src/components/widgets/WidgetShell.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react';\nimport { ConnectUIProviders } from '@src/components/ConnectUIProviders';\nimport { WidgetShell, WidgetStyleContainer } from '@src/components/widgets/WidgetShell';\nimport { ConnectPages } from '@src/components/ConnectModal/ConnectPages';\nimport { WalletConnectionResult } from '@src/types/internal';\nimport { sortWallets } from '@src/utils/sortWallets';\nimport { isMobile } from '@src/utils/platform/isMobile';\nimport { Aurum } from '@src/Aurum';\nimport { WalletId } from '@aurum-sdk/types';\n\nexport interface ConnectWidgetProps {\n aurum: Aurum;\n onConnect
|
|
1
|
+
{"version":3,"sources":["../src/components/widgets/ConnectWidget.tsx","../src/components/widgets/WidgetShell.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react';\nimport { ConnectUIProviders } from '@src/components/ConnectUIProviders';\nimport { WidgetShell, WidgetStyleContainer } from '@src/components/widgets/WidgetShell';\nimport { ConnectPages } from '@src/components/ConnectModal/ConnectPages';\nimport { WalletConnectionResult } from '@src/types/internal';\nimport { sortWallets } from '@src/utils/sortWallets';\nimport { isMobile } from '@src/utils/platform/isMobile';\nimport { Aurum } from '@src/Aurum';\nimport { UserInfo, WalletId } from '@aurum-sdk/types';\n\nexport interface ConnectWidgetProps {\n aurum: Aurum;\n onConnect?: (result: UserInfo) => void;\n}\n\nexport const ConnectWidget: React.FC<ConnectWidgetProps> = ({ aurum, onConnect }) => {\n const brandConfig = aurum.brandConfig;\n const walletAdapters = aurum.walletAdapters;\n const excludedWalletIds = aurum.excludedWalletIds;\n\n const displayedWallets = useMemo(() => {\n let filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));\n filtered = sortWallets(filtered, { filterHidden: false });\n\n // On mobile, WalletConnect requires AppKit\n const hasAppKit = filtered.some((w) => w.id === WalletId.AppKit);\n if (isMobile() && !hasAppKit) {\n filtered = filtered.filter((w) => w.id !== WalletId.WalletConnect);\n }\n\n return filtered;\n }, [walletAdapters, excludedWalletIds]);\n\n const handleConnect = useCallback(\n async (result: WalletConnectionResult) => {\n // Sync connection state with AurumCore (updates userInfo, provider, store, etc.)\n const userInfo = await aurum.handleWidgetConnection(result);\n onConnect?.(userInfo);\n },\n [aurum, onConnect],\n );\n\n return (\n <WidgetStyleContainer brandConfig={brandConfig}>\n <ConnectUIProviders onConnect={handleConnect} displayedWallets={displayedWallets}>\n <WidgetShell brandConfig={brandConfig}>\n <ConnectPages />\n </WidgetShell>\n </ConnectUIProviders>\n </WidgetStyleContainer>\n );\n};\n","import React, { ReactNode, useRef } from 'react';\nimport { WidgetProvider } from '@src/contexts/WidgetContext';\nimport { useNavigation } from '@src/contexts/NavigationContext';\nimport { ThemeContainer } from '@src/ui';\nimport { PoweredBy } from '@src/components/PoweredBy/PoweredBy';\nimport { Spacer } from '@src/ui';\nimport { PageTransitionContainer } from '@src/components/PageTransitionContainer';\nimport { generateCompleteStyles } from '@src/utils/generateBrandStyles';\nimport { POWERED_BY_SPACER_REM } from '@src/constants/layout';\nimport { NonNullableBrandConfig } from '@aurum-sdk/types';\n\nexport interface WidgetShellProps {\n brandConfig: NonNullableBrandConfig;\n children: ReactNode;\n}\n\n// Noop for widget mode - close buttons are hidden via ModalHeader\nconst noop = () => {};\n\nexport const WidgetShell: React.FC<WidgetShellProps> = ({ brandConfig, children }) => {\n const headerPortalRef = useRef<HTMLDivElement>(null);\n const { currentPage } = useNavigation();\n\n return (\n <WidgetProvider mode=\"widget\" brandConfig={brandConfig} onDismiss={noop} headerPortalRef={headerPortalRef}>\n <div className=\"widget-provider\">\n <div ref={headerPortalRef} />\n <PageTransitionContainer transitionKey={currentPage}>{children}</PageTransitionContainer>\n {!brandConfig.hideFooter ? (\n <>\n <Spacer size={`${POWERED_BY_SPACER_REM}rem`} />\n <PoweredBy />\n </>\n ) : (\n <Spacer size=\"0.3125rem\" />\n )}\n </div>\n </WidgetProvider>\n );\n};\n\ninterface WidgetStyleContainerProps {\n children: React.ReactNode;\n brandConfig: NonNullableBrandConfig;\n}\n\n/**\n * Style injection container for widgets.\n *\n * Equivalent to createShadowRoot for modals but uses inline styles\n * since widgets are embedded in the host page.\n */\nexport const WidgetStyleContainer: React.FC<WidgetStyleContainerProps> = ({ children, brandConfig }) => {\n return (\n <div className=\"aurum-widget\" style={{ width: '100%' }}>\n <style>{generateCompleteStyles(brandConfig)}</style>\n <ThemeContainer theme={brandConfig.theme}>{children}</ThemeContainer>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAgB,SAAS,mBAAmB;;;ACA5C,SAA2B,cAAc;AA0BjC,SAGE,UAHF,KAGE,YAHF;AATR,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,cAA0C,CAAC,EAAE,aAAa,SAAS,MAAM;AACpF,QAAM,kBAAkB,OAAuB,IAAI;AACnD,QAAM,EAAE,YAAY,IAAI,cAAc;AAEtC,SACE,oBAAC,kBAAe,MAAK,UAAS,aAA0B,WAAW,MAAM,iBACvE,+BAAC,SAAI,WAAU,mBACb;AAAA,wBAAC,SAAI,KAAK,iBAAiB;AAAA,IAC3B,oBAAC,2BAAwB,eAAe,aAAc,UAAS;AAAA,IAC9D,CAAC,YAAY,aACZ,iCACE;AAAA,0BAAC,UAAO,MAAM,GAAG,qBAAqB,OAAO;AAAA,MAC7C,oBAAC,aAAU;AAAA,OACb,IAEA,oBAAC,UAAO,MAAK,aAAY;AAAA,KAE7B,GACF;AAEJ;AAaO,IAAM,uBAA4D,CAAC,EAAE,UAAU,YAAY,MAAM;AACtG,SACE,qBAAC,SAAI,WAAU,gBAAe,OAAO,EAAE,OAAO,OAAO,GACnD;AAAA,wBAAC,WAAO,iCAAuB,WAAW,GAAE;AAAA,IAC5C,oBAAC,kBAAe,OAAO,YAAY,OAAQ,UAAS;AAAA,KACtD;AAEJ;;;ADnDA,SAAmB,gBAAgB;AAsCzB,gBAAAA,YAAA;AA/BH,IAAM,gBAA8C,CAAC,EAAE,OAAO,UAAU,MAAM;AACnF,QAAM,cAAc,MAAM;AAC1B,QAAM,iBAAiB,MAAM;AAC7B,QAAM,oBAAoB,MAAM;AAEhC,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAI,WAAW,eAAe,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;AACxE,eAAW,YAAY,UAAU,EAAE,cAAc,MAAM,CAAC;AAGxD,UAAM,YAAY,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM;AAC/D,QAAI,SAAS,KAAK,CAAC,WAAW;AAC5B,iBAAW,SAAS,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,aAAa;AAAA,IACnE;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,gBAAgB,iBAAiB,CAAC;AAEtC,QAAM,gBAAgB;AAAA,IACpB,OAAO,WAAmC;AAExC,YAAM,WAAW,MAAM,MAAM,uBAAuB,MAAM;AAC1D,kBAAY,QAAQ;AAAA,IACtB;AAAA,IACA,CAAC,OAAO,SAAS;AAAA,EACnB;AAEA,SACE,gBAAAA,KAAC,wBAAqB,aACpB,0BAAAA,KAAC,sBAAmB,WAAW,eAAe,kBAC5C,0BAAAA,KAAC,eAAY,aACX,0BAAAA,KAAC,gBAAa,GAChB,GACF,GACF;AAEJ;","names":["jsx"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aurum-sdk/core",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Aurum wallet connection SDK",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
"react-qrcode-logo": "^3.0.0",
|
|
99
99
|
"x402-fetch": "^0.7.0",
|
|
100
100
|
"zustand": "^5.0.9",
|
|
101
|
-
"@aurum-sdk/logos": "^0.1
|
|
102
|
-
"@aurum-sdk/types": "^0.1
|
|
101
|
+
"@aurum-sdk/logos": "^0.2.1",
|
|
102
|
+
"@aurum-sdk/types": "^0.2.1"
|
|
103
103
|
},
|
|
104
104
|
"scripts": {
|
|
105
105
|
"build": "tsup",
|