@bosonprotocol/react-kit 0.29.0-alpha.11 → 0.29.0-alpha.13

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 (116) hide show
  1. package/dist/cjs/assets/logo.svg +11 -5
  2. package/dist/cjs/components/buttons/Button.d.ts +3 -3
  3. package/dist/cjs/components/buttons/Button.d.ts.map +1 -1
  4. package/dist/cjs/components/buttons/Button.js.map +1 -1
  5. package/dist/cjs/components/buttons/CommitButtonView.d.ts +20 -0
  6. package/dist/cjs/components/buttons/CommitButtonView.d.ts.map +1 -0
  7. package/dist/cjs/components/buttons/CommitButtonView.js +80 -0
  8. package/dist/cjs/components/buttons/CommitButtonView.js.map +1 -0
  9. package/dist/cjs/components/cta/offer/CommitButton.js +1 -1
  10. package/dist/cjs/components/cta/offer/CommitButton.js.map +1 -1
  11. package/dist/cjs/components/modal/components/Commit/CommitNonModal.js +2 -2
  12. package/dist/cjs/components/modal/components/Commit/CommitNonModal.js.map +1 -1
  13. package/dist/cjs/components/modal/components/PurchaseOverview/PurchaseOverview.d.ts +7 -0
  14. package/dist/cjs/components/modal/components/PurchaseOverview/PurchaseOverview.d.ts.map +1 -0
  15. package/dist/cjs/components/modal/components/PurchaseOverview/PurchaseOverview.js +20 -0
  16. package/dist/cjs/components/modal/components/PurchaseOverview/PurchaseOverview.js.map +1 -0
  17. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverview.js +3 -3
  18. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverview.js.map +1 -1
  19. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverviewView.d.ts +1 -1
  20. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverviewView.d.ts.map +1 -1
  21. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverviewView.js +4 -4
  22. package/dist/cjs/components/modal/components/common/StepsOverview/PurchaseOverviewView.js.map +1 -1
  23. package/dist/cjs/components/modal/components/common/detail/Detail.style.d.ts +7 -7
  24. package/dist/cjs/components/modal/nonModal/Header.d.ts.map +1 -1
  25. package/dist/cjs/components/modal/nonModal/Header.js +1 -0
  26. package/dist/cjs/components/modal/nonModal/Header.js.map +1 -1
  27. package/dist/cjs/components/ui/ThemedButton.d.ts +11 -5
  28. package/dist/cjs/components/ui/ThemedButton.d.ts.map +1 -1
  29. package/dist/cjs/components/ui/ThemedButton.js +14 -8
  30. package/dist/cjs/components/ui/ThemedButton.js.map +1 -1
  31. package/dist/cjs/components/ui/styles.js +1 -1
  32. package/dist/cjs/index.d.ts +2 -0
  33. package/dist/cjs/index.d.ts.map +1 -1
  34. package/dist/cjs/index.js +2 -0
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/esm/assets/logo.svg +11 -5
  37. package/dist/esm/components/buttons/Button.d.ts +3 -3
  38. package/dist/esm/components/buttons/Button.d.ts.map +1 -1
  39. package/dist/esm/components/buttons/Button.js.map +1 -1
  40. package/dist/esm/components/buttons/CommitButtonView.d.ts +20 -0
  41. package/dist/esm/components/buttons/CommitButtonView.d.ts.map +1 -0
  42. package/dist/esm/components/buttons/CommitButtonView.js +51 -0
  43. package/dist/esm/components/buttons/CommitButtonView.js.map +1 -0
  44. package/dist/esm/components/cta/offer/CommitButton.js +1 -1
  45. package/dist/esm/components/cta/offer/CommitButton.js.map +1 -1
  46. package/dist/esm/components/modal/components/Commit/CommitNonModal.js +2 -2
  47. package/dist/esm/components/modal/components/Commit/CommitNonModal.js.map +1 -1
  48. package/dist/esm/components/modal/components/PurchaseOverview/PurchaseOverview.d.ts +7 -0
  49. package/dist/esm/components/modal/components/PurchaseOverview/PurchaseOverview.d.ts.map +1 -0
  50. package/dist/esm/components/modal/components/PurchaseOverview/PurchaseOverview.js +13 -0
  51. package/dist/esm/components/modal/components/PurchaseOverview/PurchaseOverview.js.map +1 -0
  52. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverview.js +3 -3
  53. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverview.js.map +1 -1
  54. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverviewView.d.ts +1 -1
  55. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverviewView.d.ts.map +1 -1
  56. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverviewView.js +4 -4
  57. package/dist/esm/components/modal/components/common/StepsOverview/PurchaseOverviewView.js.map +1 -1
  58. package/dist/esm/components/modal/components/common/detail/Detail.style.d.ts +7 -7
  59. package/dist/esm/components/modal/nonModal/Header.d.ts.map +1 -1
  60. package/dist/esm/components/modal/nonModal/Header.js +1 -0
  61. package/dist/esm/components/modal/nonModal/Header.js.map +1 -1
  62. package/dist/esm/components/ui/ThemedButton.d.ts +11 -5
  63. package/dist/esm/components/ui/ThemedButton.d.ts.map +1 -1
  64. package/dist/esm/components/ui/ThemedButton.js +14 -8
  65. package/dist/esm/components/ui/ThemedButton.js.map +1 -1
  66. package/dist/esm/components/ui/styles.js +1 -1
  67. package/dist/esm/index.d.ts +2 -0
  68. package/dist/esm/index.d.ts.map +1 -1
  69. package/dist/esm/index.js +2 -0
  70. package/dist/esm/index.js.map +1 -1
  71. package/package.json +4 -4
  72. package/src/assets/logo.svg +11 -5
  73. package/src/components/buttons/Button.tsx +2 -1
  74. package/src/components/buttons/CommitButtonView.tsx +117 -0
  75. package/src/components/cta/offer/CommitButton.tsx +1 -1
  76. package/src/components/modal/components/Commit/CommitNonModal.tsx +2 -2
  77. package/src/components/modal/components/PurchaseOverview/PurchaseOverview.tsx +30 -0
  78. package/src/components/modal/components/common/StepsOverview/PurchaseOverview.tsx +5 -5
  79. package/src/components/modal/components/common/StepsOverview/PurchaseOverviewView.tsx +11 -8
  80. package/src/components/modal/nonModal/Header.tsx +1 -0
  81. package/src/components/ui/ThemedButton.tsx +14 -8
  82. package/src/components/ui/styles.ts +1 -1
  83. package/src/index.tsx +2 -0
  84. package/src/stories/PurchaseOverview.stories.tsx +28 -0
  85. package/src/stories/buttons/CommitButtonView.stories.tsx +44 -0
  86. package/src/stories/cta/dispute/AddFeesDisputeResolverButton.stories.tsx +2 -2
  87. package/src/stories/cta/dispute/AddSellerToDisputeResolverButton.stories.tsx +4 -2
  88. package/src/stories/cta/dispute/CreateDisputeResolverButton.stories.tsx +4 -2
  89. package/src/stories/cta/dispute/DecideDisputeButton.stories.tsx +4 -2
  90. package/src/stories/cta/dispute/EscalateDisputeButton.stories.tsx +4 -2
  91. package/src/stories/cta/dispute/ExpireDisputeButton.stories.tsx +4 -2
  92. package/src/stories/cta/dispute/ExpireEscalationDisputeButton.stories.tsx +2 -2
  93. package/src/stories/cta/dispute/ExtendDisputeTimeoutButton.stories.tsx +4 -2
  94. package/src/stories/cta/dispute/RaiseDisputeButton.stories.tsx +4 -2
  95. package/src/stories/cta/dispute/RefuseDisputeButton.stories.tsx +4 -2
  96. package/src/stories/cta/dispute/RemoveFeesDisputeResolverButton.stories.tsx +4 -2
  97. package/src/stories/cta/dispute/RemoveSellerFromDisputeResolverButton.stories.tsx +2 -2
  98. package/src/stories/cta/dispute/ResolveDisputeButton.stories.tsx +4 -2
  99. package/src/stories/cta/dispute/RetractDisputeButton.stories.tsx +4 -2
  100. package/src/stories/cta/dispute/UpdateDisputeResolverButton.stories.tsx +4 -2
  101. package/src/stories/cta/exchange/BatchCompleteButton.stories.tsx +4 -2
  102. package/src/stories/cta/exchange/CancelButton.stories.tsx +4 -2
  103. package/src/stories/cta/exchange/CompleteButton.stories.tsx +4 -2
  104. package/src/stories/cta/exchange/ExpireButton.stories.tsx +4 -2
  105. package/src/stories/cta/exchange/RevokeButton.stories.tsx +4 -2
  106. package/src/stories/cta/funds/DepositFundsButton.stories.tsx +4 -2
  107. package/src/stories/cta/funds/WithdrawAllFunds.stories.tsx +4 -2
  108. package/src/stories/cta/funds/WithdrawFundsButton.stories.tsx +4 -2
  109. package/src/stories/cta/offer/BatchVoidButton.stories.tsx +4 -2
  110. package/src/stories/cta/offer/CommitButton.stories.tsx +4 -2
  111. package/src/stories/cta/offer/CreateOfferButton.stories.tsx +4 -2
  112. package/src/stories/cta/offer/VoidButton.stories.tsx +4 -2
  113. package/src/stories/cta/seller/CreateSellerButton.stories.tsx +4 -2
  114. package/src/stories/cta/seller/UpdateSellerButton.stories.tsx +4 -2
  115. package/src/stories/helpers/CtaButtonWrapper.tsx +32 -5
  116. package/src/stories/helpers/connect-wallet.ts +45 -15
@@ -20,10 +20,12 @@ export default {
20
20
  }
21
21
  } as ComponentMeta<typeof CreateOfferButton>;
22
22
 
23
- const Template: ComponentStory<typeof CreateOfferButton> = (args) => {
23
+ const Template: ComponentStory<typeof CreateOfferButton> = (
24
+ args: Parameters<typeof CreateOfferButton>[0]
25
+ ) => {
24
26
  const provider = hooks.useProvider();
25
27
  return (
26
- <CtaButtonWrapper>
28
+ <CtaButtonWrapper configId={args.coreSdkConfig.configId}>
27
29
  <CreateOfferButton
28
30
  {...args}
29
31
  coreSdkConfig={{ ...args.coreSdkConfig, web3Provider: provider }}
@@ -19,11 +19,13 @@ export default {
19
19
  }
20
20
  } as ComponentMeta<typeof VoidButton>;
21
21
 
22
- const Template: ComponentStory<typeof VoidButton> = (args) => {
22
+ const Template: ComponentStory<typeof VoidButton> = (
23
+ args: Parameters<typeof VoidButton>[0]
24
+ ) => {
23
25
  const provider = hooks.useProvider();
24
26
 
25
27
  return (
26
- <CtaButtonWrapper>
28
+ <CtaButtonWrapper configId={args.coreSdkConfig.configId}>
27
29
  <VoidButton
28
30
  {...args}
29
31
  coreSdkConfig={{ ...args.coreSdkConfig, web3Provider: provider }}
@@ -18,11 +18,13 @@ export default {
18
18
  }
19
19
  } as ComponentMeta<typeof CreateSellerButton>;
20
20
 
21
- const Template: ComponentStory<typeof CreateSellerButton> = (args) => {
21
+ const Template: ComponentStory<typeof CreateSellerButton> = (
22
+ args: Parameters<typeof CreateSellerButton>[0]
23
+ ) => {
22
24
  const provider = hooks.useProvider();
23
25
 
24
26
  return (
25
- <CtaButtonWrapper>
27
+ <CtaButtonWrapper configId={args.coreSdkConfig.configId}>
26
28
  <CreateSellerButton
27
29
  {...args}
28
30
  coreSdkConfig={{ ...args.coreSdkConfig, web3Provider: provider }}
@@ -18,11 +18,13 @@ export default {
18
18
  }
19
19
  } as ComponentMeta<typeof UpdateSellerButton>;
20
20
 
21
- const Template: ComponentStory<typeof UpdateSellerButton> = (args) => {
21
+ const Template: ComponentStory<typeof UpdateSellerButton> = (
22
+ args: Parameters<typeof UpdateSellerButton>[0]
23
+ ) => {
22
24
  const provider = hooks.useProvider();
23
25
 
24
26
  return (
25
- <CtaButtonWrapper>
27
+ <CtaButtonWrapper configId={args.coreSdkConfig.configId}>
26
28
  <UpdateSellerButton
27
29
  {...args}
28
30
  coreSdkConfig={{ ...args.coreSdkConfig, web3Provider: provider }}
@@ -1,25 +1,52 @@
1
1
  import React, { ReactNode } from "react";
2
2
 
3
- import { connectWallet, hooks, metaMask } from "./connect-wallet";
3
+ import { connectWallet, connectors, hooks, metaMask } from "./connect-wallet";
4
+ import { Web3ReactProvider } from "@web3-react/core";
5
+ import { ConfigId } from "@bosonprotocol/core-sdk";
4
6
 
5
7
  type Props = {
6
8
  children: ReactNode;
9
+ chainId: string;
7
10
  };
8
11
 
9
- export function CtaButtonWrapper(props: Props) {
10
- const account = hooks.useAccount();
12
+ function WithWeb3ReactProvider({ children }: { children: ReactNode }) {
13
+ return (
14
+ <Web3ReactProvider connectors={connectors}>{children}</Web3ReactProvider>
15
+ );
16
+ }
11
17
 
18
+ function WithMetamask(props: Props) {
19
+ const account = hooks.useAccount();
12
20
  return (
13
21
  <>
14
22
  {account ? (
15
23
  <>
16
24
  <div>Connected: {account}</div>
17
- <button onClick={() => metaMask.deactivate()}>Disconnect MM</button>
25
+ <button onClick={() => metaMask?.deactivate?.()}>
26
+ Disconnect MetaMask
27
+ </button>
18
28
  </>
19
29
  ) : (
20
- <button onClick={() => connectWallet()}>Connect MM</button>
30
+ <button onClick={async () => await connectWallet(props.chainId)}>
31
+ Connect MetaMask
32
+ </button>
21
33
  )}
22
34
  {props.children}
23
35
  </>
24
36
  );
25
37
  }
38
+
39
+ export const CtaButtonWrapper = ({
40
+ children,
41
+ configId
42
+ }: {
43
+ children: ReactNode;
44
+ configId: ConfigId;
45
+ }) => {
46
+ const chainId = configId?.split("-")[1] || "80001";
47
+ return (
48
+ <WithWeb3ReactProvider>
49
+ <WithMetamask chainId={chainId}>{children}</WithMetamask>
50
+ </WithWeb3ReactProvider>
51
+ );
52
+ };
@@ -1,19 +1,49 @@
1
1
  import { initializeConnector } from "@web3-react/core";
2
2
  import { MetaMask } from "@web3-react/metamask";
3
+ import { utils } from "ethers";
3
4
 
4
- export const [metaMask, hooks] = initializeConnector<MetaMask>(
5
- (actions) => new MetaMask(actions)
6
- );
5
+ import { Web3ReactHooks } from "@web3-react/core";
7
6
 
8
- export function connectWallet(chainId?: number) {
9
- metaMask.provider
10
- ?.request({
11
- method: "wallet_requestPermissions",
12
- params: [
13
- {
14
- eth_accounts: {}
15
- }
16
- ]
17
- })
18
- .then(() => metaMask.activate(chainId));
19
- }
7
+ export const [metaMask, hooks] = initializeConnector<MetaMask>((actions) => {
8
+ return new MetaMask({ actions });
9
+ });
10
+
11
+ export const connectWallet = async (chainId?: string) => {
12
+ try {
13
+ const currentChainId = window.ethereum
14
+ ? Number(
15
+ await (window.ethereum as any)?.request({ method: "eth_chainId" })
16
+ )
17
+ : undefined;
18
+ if (
19
+ chainId &&
20
+ window.ethereum &&
21
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
+ // @ts-ignore
23
+ currentChainId !== Number(chainId)
24
+ ) {
25
+ try {
26
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
+ // @ts-ignore
28
+ await window.ethereum.request({
29
+ method: "wallet_switchEthereumChain",
30
+ params: [
31
+ { chainId: utils.hexStripZeros(utils.hexlify(Number(chainId))) }
32
+ ]
33
+ });
34
+ } catch (err) {
35
+ console.error("Network changed rejected", err);
36
+ }
37
+ } else {
38
+ try {
39
+ await metaMask.activate(Number(chainId));
40
+ } catch (err) {
41
+ console.error("User rejected the request", err);
42
+ }
43
+ }
44
+ } catch (error) {
45
+ console.error(error);
46
+ }
47
+ };
48
+
49
+ export const connectors: [MetaMask, Web3ReactHooks][] = [[metaMask, hooks]];