@aurum-sdk/core 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/widgets.js CHANGED
@@ -11,8 +11,7 @@
11
11
 
12
12
 
13
13
 
14
-
15
- var _chunkAFVK5GA5js = require('./chunk-AFVK5GA5.js');
14
+ var _chunkFRA6K6V4js = require('./chunk-FRA6K6V4.js');
16
15
 
17
16
  // src/components/widgets/ConnectWidget.tsx
18
17
  var _react = require('react');
@@ -24,38 +23,32 @@ var noop = () => {
24
23
  };
25
24
  var WidgetShell = ({ brandConfig, children }) => {
26
25
  const headerPortalRef = _react.useRef.call(void 0, null);
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: [
26
+ const { currentPage } = _chunkFRA6K6V4js.useNavigation.call(void 0, );
27
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.WidgetProvider, { mode: "widget", brandConfig, onDismiss: noop, headerPortalRef, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "widget-provider", children: [
29
28
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: headerPortalRef }),
30
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAFVK5GA5js.PageTransitionContainer, { transitionKey: currentPage, children }),
29
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.PageTransitionContainer, { transitionKey: currentPage, children }),
31
30
  !brandConfig.hideFooter ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
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" })
31
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.Spacer, { size: `${_chunkFRA6K6V4js.POWERED_BY_SPACER_REM}rem` }),
32
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.PoweredBy, {})
33
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.Spacer, { size: "0.3125rem" })
35
34
  ] }) });
36
35
  };
37
36
  var WidgetStyleContainer = ({ children, brandConfig }) => {
38
37
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "aurum-widget", style: { width: "100%" }, children: [
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 })
38
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children: _chunkFRA6K6V4js.generateCompleteStyles.call(void 0, brandConfig) }),
39
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.ThemeContainer, { theme: brandConfig.theme, children })
41
40
  ] });
42
41
  };
43
42
 
44
43
  // src/components/widgets/ConnectWidget.tsx
45
- var _types = require('@aurum-sdk/types');
46
44
 
47
45
  var ConnectWidget = ({ aurum, onConnect }) => {
48
46
  const brandConfig = aurum.brandConfig;
49
47
  const walletAdapters = aurum.walletAdapters;
50
48
  const excludedWalletIds = aurum.excludedWalletIds;
51
49
  const displayedWallets = _react.useMemo.call(void 0, () => {
52
- let filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));
53
- filtered = _chunkAFVK5GA5js.sortWallets.call(void 0, filtered, { filterHidden: false });
54
- const hasAppKit = filtered.some((w) => w.id === _types.WalletId.AppKit);
55
- if (_chunkAFVK5GA5js.isMobile.call(void 0, ) && !hasAppKit) {
56
- filtered = filtered.filter((w) => w.id !== _types.WalletId.WalletConnect);
57
- }
58
- return filtered;
50
+ const filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));
51
+ return _chunkFRA6K6V4js.sortWallets.call(void 0, filtered, { filterHidden: false });
59
52
  }, [walletAdapters, excludedWalletIds]);
60
53
  const handleConnect = _react.useCallback.call(void 0,
61
54
  async (result) => {
@@ -64,11 +57,11 @@ var ConnectWidget = ({ aurum, onConnect }) => {
64
57
  },
65
58
  [aurum, onConnect]
66
59
  );
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, {}) }) }) });
60
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WidgetStyleContainer, { brandConfig, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.ConnectUIProviders, { onConnect: handleConnect, displayedWallets, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WidgetShell, { brandConfig, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFRA6K6V4js.ConnectPages, {}) }) }) });
68
61
  };
69
62
 
70
63
 
71
64
 
72
65
 
73
- exports.ConnectWidget = ConnectWidget; exports.WidgetProvider = _chunkAFVK5GA5js.WidgetProvider; exports.useWidgetContext = _chunkAFVK5GA5js.useWidgetContext;
66
+ exports.ConnectWidget = ConnectWidget; exports.WidgetProvider = _chunkFRA6K6V4js.WidgetProvider; exports.useWidgetContext = _chunkFRA6K6V4js.useWidgetContext;
74
67
  //# sourceMappingURL=widgets.js.map
@@ -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;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"]}
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;AACF,sDAA4B;AAC5B;AACA;ACfA,8BAA4C;ADiB5C;AACA;AElBA;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;AFlB2C;AACA;ACLjC;AAvBqE;AACnD,EAAA;AACG,EAAA;AACG,EAAA;AAEO,EAAA;AACE,IAAA;AACR,IAAA;AACK,EAAA;AAEhB,EAAA;AACsB,IAAA;AAEX,MAAA;AACT,sBAAA;AACtB,IAAA;AACiB,IAAA;AACnB,EAAA;AAGG,EAAA;AAQL;ADmB2C;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 { Aurum } from '@src/Aurum';\nimport { UserInfo } 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 const filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));\n return sortWallets(filtered, { filterHidden: false });\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
@@ -8,11 +8,10 @@ import {
8
8
  ThemeContainer,
9
9
  WidgetProvider,
10
10
  generateCompleteStyles,
11
- isMobile,
12
11
  sortWallets,
13
12
  useNavigation,
14
13
  useWidgetContext
15
- } from "./chunk-BSMOPBPL.mjs";
14
+ } from "./chunk-DPFIEHZ6.mjs";
16
15
 
17
16
  // src/components/widgets/ConnectWidget.tsx
18
17
  import { useMemo, useCallback } from "react";
@@ -42,20 +41,14 @@ var WidgetStyleContainer = ({ children, brandConfig }) => {
42
41
  };
43
42
 
44
43
  // src/components/widgets/ConnectWidget.tsx
45
- import { WalletId } from "@aurum-sdk/types";
46
44
  import { jsx as jsx2 } from "react/jsx-runtime";
47
45
  var ConnectWidget = ({ aurum, onConnect }) => {
48
46
  const brandConfig = aurum.brandConfig;
49
47
  const walletAdapters = aurum.walletAdapters;
50
48
  const excludedWalletIds = aurum.excludedWalletIds;
51
49
  const displayedWallets = useMemo(() => {
52
- let filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));
53
- filtered = sortWallets(filtered, { filterHidden: false });
54
- const hasAppKit = filtered.some((w) => w.id === WalletId.AppKit);
55
- if (isMobile() && !hasAppKit) {
56
- filtered = filtered.filter((w) => w.id !== WalletId.WalletConnect);
57
- }
58
- return filtered;
50
+ const filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));
51
+ return sortWallets(filtered, { filterHidden: false });
59
52
  }, [walletAdapters, excludedWalletIds]);
60
53
  const handleConnect = useCallback(
61
54
  async (result) => {
@@ -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 { 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"]}
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 { Aurum } from '@src/Aurum';\nimport { UserInfo } 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 const filtered = walletAdapters.filter((w) => !excludedWalletIds.has(w.id));\n return sortWallets(filtered, { filterHidden: false });\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;;;ADtBU,gBAAAA,YAAA;AAvBH,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,UAAM,WAAW,eAAe,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;AAC1E,WAAO,YAAY,UAAU,EAAE,cAAc,MAAM,CAAC;AAAA,EACtD,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.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Aurum wallet connection SDK",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -40,7 +40,7 @@
40
40
  "react": ">=18.0.0",
41
41
  "react-dom": ">=18.0.0",
42
42
  "viem": ">=2.0.0",
43
- "wagmi": ">=3.0.0"
43
+ "wagmi": ">=2.0.0"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "viem": {
@@ -60,7 +60,7 @@
60
60
  "react-dom": "^19.2.2",
61
61
  "tsup": "^8.0.0",
62
62
  "typescript": "^5.0.0",
63
- "viem": "^2.42.1",
63
+ "viem": "^2.44.2",
64
64
  "vite": "^6.0.0",
65
65
  "vitest": "^2.1.0",
66
66
  "wagmi": "^3.1.0"
@@ -84,22 +84,19 @@
84
84
  "@coinbase/cdp-core": "^0.0.74",
85
85
  "@coinbase/wallet-sdk": "^4.3.7",
86
86
  "@gemini-wallet/core": "^0.3.2",
87
- "@ledgerhq/connect-kit-loader": "^1.1.8",
88
87
  "@metamask/sdk": "~0.33.1",
89
- "@react-native-async-storage/async-storage": "^1.24.0",
90
- "@reown/appkit": "^1.8.15",
91
- "@reown/appkit-adapter-wagmi": "^1.8.15",
88
+ "@react-native-async-storage/async-storage": "^2.0.0",
89
+ "@reown/appkit": "^1.8.17",
90
+ "@reown/appkit-adapter-wagmi": "^1.8.17",
92
91
  "@sentry/browser": "^10.29.0",
93
- "@walletconnect/ethereum-provider": "~2.21.1",
94
92
  "buffer": "^6.0.3",
95
93
  "lucide-react": "^0.460.0",
96
94
  "mobile-detect": "^1.4.5",
97
95
  "porto": "^0.2.37",
98
96
  "react-qrcode-logo": "^3.0.0",
99
- "x402-fetch": "^0.7.0",
100
97
  "zustand": "^5.0.9",
101
- "@aurum-sdk/logos": "^0.2.1",
102
- "@aurum-sdk/types": "^0.2.1"
98
+ "@aurum-sdk/logos": "^0.2.2",
99
+ "@aurum-sdk/types": "^0.2.2"
103
100
  },
104
101
  "scripts": {
105
102
  "build": "tsup",