@bosonprotocol/react-kit 0.37.0-alpha.0 → 0.37.0-alpha.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.
Files changed (115) hide show
  1. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts +0 -1
  2. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts.map +1 -1
  3. package/dist/cjs/components/exchangeCard/ExchangeCard.js +21 -26
  4. package/dist/cjs/components/exchangeCard/ExchangeCard.js.map +1 -1
  5. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.d.ts +227 -5
  6. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.d.ts.map +1 -1
  7. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.js +33 -22
  8. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.js.map +1 -1
  9. package/dist/cjs/components/form/Select.d.ts.map +1 -1
  10. package/dist/cjs/components/form/Select.js.map +1 -1
  11. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.d.ts.map +1 -1
  12. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.js +1 -1
  13. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.js.map +1 -1
  14. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.d.ts +1 -2
  15. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.d.ts.map +1 -1
  16. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js +1 -12
  17. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  18. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.d.ts +1 -2
  19. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.d.ts.map +1 -1
  20. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.js +2 -2
  21. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.js.map +1 -1
  22. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.d.ts +1 -2
  23. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.d.ts.map +1 -1
  24. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.js +2 -2
  25. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.js.map +1 -1
  26. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts +0 -1
  27. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts.map +1 -1
  28. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.js.map +1 -1
  29. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.d.ts +0 -1
  30. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  31. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +1 -5
  32. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  33. package/dist/cjs/components/productCard/ProductCard.d.ts +2 -0
  34. package/dist/cjs/components/productCard/ProductCard.d.ts.map +1 -1
  35. package/dist/cjs/components/productCard/ProductCard.js +13 -15
  36. package/dist/cjs/components/productCard/ProductCard.js.map +1 -1
  37. package/dist/cjs/components/productCard/ProductCard.styles.d.ts +4 -0
  38. package/dist/cjs/components/productCard/ProductCard.styles.d.ts.map +1 -1
  39. package/dist/cjs/components/productCard/ProductCard.styles.js +55 -20
  40. package/dist/cjs/components/productCard/ProductCard.styles.js.map +1 -1
  41. package/dist/cjs/components/productCard/commonStyles.d.ts.map +1 -1
  42. package/dist/cjs/components/productCard/commonStyles.js +0 -1
  43. package/dist/cjs/components/productCard/commonStyles.js.map +1 -1
  44. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.d.ts.map +1 -1
  45. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.js +16 -2
  46. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.js.map +1 -1
  47. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts +2 -2
  48. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  49. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js +3 -6
  50. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  51. package/dist/esm/components/exchangeCard/ExchangeCard.d.ts +0 -1
  52. package/dist/esm/components/exchangeCard/ExchangeCard.d.ts.map +1 -1
  53. package/dist/esm/components/exchangeCard/ExchangeCard.js +22 -26
  54. package/dist/esm/components/exchangeCard/ExchangeCard.js.map +1 -1
  55. package/dist/esm/components/exchangeCard/ExchangeCard.styles.d.ts +227 -5
  56. package/dist/esm/components/exchangeCard/ExchangeCard.styles.d.ts.map +1 -1
  57. package/dist/esm/components/exchangeCard/ExchangeCard.styles.js +33 -22
  58. package/dist/esm/components/exchangeCard/ExchangeCard.styles.js.map +1 -1
  59. package/dist/esm/components/form/Select.d.ts.map +1 -1
  60. package/dist/esm/components/form/Select.js.map +1 -1
  61. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.d.ts.map +1 -1
  62. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.js +1 -1
  63. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.js.map +1 -1
  64. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.d.ts +1 -2
  65. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.d.ts.map +1 -1
  66. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js +1 -12
  67. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  68. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.d.ts +1 -2
  69. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.d.ts.map +1 -1
  70. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.js +2 -2
  71. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.js.map +1 -1
  72. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.d.ts +1 -2
  73. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.d.ts.map +1 -1
  74. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.js +2 -2
  75. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.js.map +1 -1
  76. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts +0 -1
  77. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts.map +1 -1
  78. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.js.map +1 -1
  79. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.d.ts +0 -1
  80. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  81. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -5
  82. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  83. package/dist/esm/components/productCard/ProductCard.d.ts +2 -0
  84. package/dist/esm/components/productCard/ProductCard.d.ts.map +1 -1
  85. package/dist/esm/components/productCard/ProductCard.js +13 -15
  86. package/dist/esm/components/productCard/ProductCard.js.map +1 -1
  87. package/dist/esm/components/productCard/ProductCard.styles.d.ts +4 -0
  88. package/dist/esm/components/productCard/ProductCard.styles.d.ts.map +1 -1
  89. package/dist/esm/components/productCard/ProductCard.styles.js +54 -19
  90. package/dist/esm/components/productCard/ProductCard.styles.js.map +1 -1
  91. package/dist/esm/components/productCard/commonStyles.d.ts.map +1 -1
  92. package/dist/esm/components/productCard/commonStyles.js +0 -1
  93. package/dist/esm/components/productCard/commonStyles.js.map +1 -1
  94. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.d.ts.map +1 -1
  95. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.js +16 -2
  96. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.js.map +1 -1
  97. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts +2 -2
  98. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  99. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +3 -6
  100. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  101. package/package.json +2 -2
  102. package/src/components/exchangeCard/ExchangeCard.styles.ts +40 -22
  103. package/src/components/exchangeCard/ExchangeCard.tsx +53 -57
  104. package/src/components/form/Select.tsx +5 -3
  105. package/src/components/modal/components/Commit/DetailView/InnerCommitDetailView.tsx +4 -1
  106. package/src/components/modal/components/Redeem/MyItems/Exchange.tsx +7 -15
  107. package/src/components/modal/components/Redeem/MyItems/Exchanges.tsx +0 -3
  108. package/src/components/modal/components/Redeem/MyItems/MyItems.tsx +0 -3
  109. package/src/components/modal/components/Redeem/MyItems/WithExchangesData.tsx +0 -1
  110. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +0 -7
  111. package/src/components/productCard/ProductCard.styles.ts +58 -19
  112. package/src/components/productCard/ProductCard.tsx +30 -27
  113. package/src/components/productCard/commonStyles.ts +0 -1
  114. package/src/components/widgets/roblox/components/ProductsRoblox.tsx +14 -2
  115. package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +5 -10
@@ -3,16 +3,16 @@ import React from "react";
3
3
  import { BosonRobloxExchange, GetExchangesResponse } from "@bosonprotocol/roblox-sdk";
4
4
  import { FetchNextPageOptions, InfiniteData, InfiniteQueryObserverResult, QueryObserverResult, RefetchOptions, RefetchQueryFilters } from "react-query";
5
5
  export type RobloxExchangesGridProps = {
6
- isLoading: boolean;
7
6
  numProducts?: number;
8
7
  itemsPerRow: GridContainerProps["itemsPerRow"];
9
8
  raiseDisputeForExchangeUrl: string;
10
9
  handleRequestShipment: (robloxExchange: BosonRobloxExchange) => void;
11
10
  handleCancellation: (robloxExchange: BosonRobloxExchange) => void;
11
+ handleOnCardClick: (robloxExchange: BosonRobloxExchange) => void;
12
12
  exchanges: BosonRobloxExchange[] | undefined;
13
13
  fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<GetExchangesResponse, unknown>>;
14
14
  refetch: <TPageData>(options?: (RefetchOptions & RefetchQueryFilters<TPageData>) | undefined) => Promise<QueryObserverResult<InfiniteData<GetExchangesResponse>, unknown>>;
15
15
  hasNextPage: boolean | undefined;
16
16
  };
17
- export declare const RobloxExchangesGrid: ({ isLoading, numProducts, itemsPerRow, raiseDisputeForExchangeUrl, exchanges, handleRequestShipment, handleCancellation, fetchNextPage, refetch, hasNextPage }: RobloxExchangesGridProps) => React.JSX.Element;
17
+ export declare const RobloxExchangesGrid: ({ numProducts, itemsPerRow, raiseDisputeForExchangeUrl, exchanges, handleRequestShipment, handleOnCardClick, handleCancellation, fetchNextPage, refetch, hasNextPage }: RobloxExchangesGridProps) => React.JSX.Element;
18
18
  //# sourceMappingURL=RobloxExchangesGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RobloxExchangesGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widgets/roblox/components/RobloxExchangesGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9E,OAAO,KAAgC,MAAM,OAAO,CAAC;AAarD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAwBrB,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,CAAC,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,CAAC,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClE,SAAS,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,2BAA2B,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,SAAS,EACjB,OAAO,CAAC,EAAE,CAAC,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,KACpE,OAAO,CACV,mBAAmB,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACjE,CAAC;IACF,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,mKAW7B,wBAAwB,sBA+J1B,CAAC"}
1
+ {"version":3,"file":"RobloxExchangesGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widgets/roblox/components/RobloxExchangesGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9E,OAAO,KAAgC,MAAM,OAAO,CAAC;AAarD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAwBrB,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,CAAC,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,CAAC,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClE,iBAAiB,EAAE,CAAC,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,SAAS,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,2BAA2B,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,SAAS,EACjB,OAAO,CAAC,EAAE,CAAC,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,KACpE,OAAO,CACV,mBAAmB,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACjE,CAAC;IACF,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,2KAW7B,wBAAwB,sBA0J1B,CAAC"}
@@ -37,7 +37,7 @@ const TransparentSkeletonProductCard = styled(ProductCardSkeleton) `
37
37
  height: 100%;
38
38
  `;
39
39
  const gap = "2rem";
40
- export const RobloxExchangesGrid = ({ isLoading, numProducts, itemsPerRow, raiseDisputeForExchangeUrl, exchanges, handleRequestShipment, handleCancellation, fetchNextPage, refetch, hasNextPage }) => {
40
+ export const RobloxExchangesGrid = ({ numProducts, itemsPerRow, raiseDisputeForExchangeUrl, exchanges, handleRequestShipment, handleOnCardClick, handleCancellation, fetchNextPage, refetch, hasNextPage }) => {
41
41
  const { address } = useAccount();
42
42
  const { ipfsImageGateway } = useIpfsContext();
43
43
  const [isNextLoading, setNextLoading] = useState(false);
@@ -88,11 +88,8 @@ export const RobloxExchangesGrid = ({ isLoading, numProducts, itemsPerRow, raise
88
88
  handleRequestShipment(robloxExchange);
89
89
  },
90
90
  type: "button"
91
- }, cancelButtonConfig: {
92
- onClick: () => {
93
- handleCancellation(robloxExchange);
94
- },
95
- type: "button"
91
+ }, onCardClick: () => {
92
+ handleOnCardClick(robloxExchange);
96
93
  }, disputeButtonConfig: {
97
94
  onClick: () => {
98
95
  const raiseDisputeForExchangeUrlWithId = raiseDisputeForExchangeUrl?.replace("{id}", exchangeId || "");
@@ -1 +1 @@
1
- {"version":3,"file":"RobloxExchangesGrid.js","sourceRoot":"","sources":["../../../../../../src/components/widgets/roblox/components/RobloxExchangesGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RobloxExchangesGrid.js","sourceRoot":"","sources":["../../../../../../src/components/widgets/roblox/components/RobloxExchangesGrid.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bosonprotocol/react-kit",
3
3
  "description": "React toolkit with smart components and hooks for building on top of the Boson Protocol.",
4
- "version": "0.37.0-alpha.0",
4
+ "version": "0.37.0-alpha.2",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
7
7
  "types": "./dist/cjs/index.d.ts",
@@ -205,5 +205,5 @@
205
205
  "overrides": {
206
206
  "typescript": "^5.1.6"
207
207
  },
208
- "gitHead": "be71619dc1637ecf9e40630e4cba8239d9f0a6f0"
208
+ "gitHead": "9db355a00d406cf8c3947d181eae307244a6c296"
209
209
  }
@@ -1,19 +1,14 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import { colors, getCssVar } from "../../theme";
3
3
  import { ExchangeCardStatus } from "./types";
4
- import { ProductCardLabelWrapper } from "../productCard/ProductCard.styles";
4
+ import {
5
+ CTAOnHoverContainer,
6
+ ProductCardTitle
7
+ } from "../productCard/ProductCard.styles";
8
+ import { Grid } from "../ui/Grid";
5
9
 
6
10
  const topSpace = "1rem";
7
11
  const sideSpace = "1rem";
8
- export const ExchangeCardLabelWrapper = styled(ProductCardLabelWrapper)`
9
- top: ${topSpace};
10
- left: ${sideSpace};
11
- `;
12
- export const ExchangeCreator = styled.div`
13
- display: flex;
14
- flex-wrap: wrap;
15
- gap: 0.5rem;
16
- `;
17
12
 
18
13
  export const ExchangeCreatorAvatar = styled.div`
19
14
  width: 1rem;
@@ -47,17 +42,18 @@ export const ExchangeTitle = styled.div`
47
42
  word-break: break-word;
48
43
  `;
49
44
 
50
- export const ExchangeCardPriceWrapper = styled.div`
51
- display: flex;
52
- flex-direction: column;
53
- align-self: stretch;
54
- max-width: 50%;
55
- min-width: 44%;
45
+ export const ExchangeCardPriceWrapper = styled(Grid)`
56
46
  span {
57
47
  padding-left: 0.5rem;
58
48
  }
59
49
  `;
60
50
 
51
+ export const ExchangeCardTitleWrapper = styled(Grid)`
52
+ width: 100%;
53
+ box-sizing: border-box;
54
+ align-items: flex-start;
55
+ `;
56
+
61
57
  export const ExchangeCardPrice = styled.div`
62
58
  font-size: 0.75rem;
63
59
  line-height: 150%;
@@ -68,7 +64,7 @@ export const ExchangeCardPrice = styled.div`
68
64
 
69
65
  export const ExchangeCarData = styled.div`
70
66
  display: flex;
71
- flex-direction: column;
67
+ width: 100%;
72
68
  `;
73
69
 
74
70
  export const ExchangeCardBottom = styled.div`
@@ -103,10 +99,8 @@ export const ExchangeCardWrapper = styled.div<{
103
99
  isolation: isolate;
104
100
  width: 100%;
105
101
  min-height: 31.25rem;
106
- border: 1px solid rgba(85, 96, 114, 0.15);
107
- box-shadow: 0px 4.31783px 107.946px rgba(21, 30, 52, 0.1);
108
102
  cursor: pointer;
109
- background: ${getCssVar("--background-accent-color")};
103
+ background: ${getCssVar("--background-color")};
110
104
  [data-image-wrapper] {
111
105
  position: static;
112
106
  padding-top: 0;
@@ -160,7 +154,6 @@ export const ExchangeCardTop = styled.div<{ $isNotImageLoaded: boolean }>`
160
154
  `;
161
155
  export const ExchangeButtonWrapper = styled.div`
162
156
  width: 100%;
163
- border-top: 1px solid rgba(85, 96, 114, 0.15);
164
157
  align-items: center;
165
158
  `;
166
159
 
@@ -181,10 +174,24 @@ export const CommittedButtonWrapper = styled.div`
181
174
 
182
175
  export const ExchangeStatus = styled.div<{
183
176
  $status: ExchangeCardStatus;
177
+ $side: "left" | "right";
184
178
  }>`
185
179
  position: absolute;
186
180
  top: ${topSpace};
187
- right: ${sideSpace};
181
+ ${({ $side }) => {
182
+ switch ($side) {
183
+ case "left": {
184
+ return css`
185
+ left: ${sideSpace};
186
+ `;
187
+ }
188
+ case "right": {
189
+ return css`
190
+ right: ${sideSpace};
191
+ `;
192
+ }
193
+ }
194
+ }}
188
195
  z-index: 10;
189
196
  letter-spacing: 0.5px;
190
197
  line-height: 16px;
@@ -236,3 +243,14 @@ export const ExchangeCTAWrapper = styled.div`
236
243
  transition: all 0.4s ease-out;
237
244
  max-height: 0;
238
245
  `;
246
+
247
+ export const ExchangeCardTitle = styled(ProductCardTitle)`
248
+ width: 100%;
249
+ white-space: normal;
250
+ `;
251
+
252
+ export const CTAOnHoverContainerExchangeCard = styled(CTAOnHoverContainer)`
253
+ left: 50%;
254
+ transform: translate(-50%, 0);
255
+ margin-bottom: 1rem;
256
+ `;
@@ -9,28 +9,27 @@ import { IBaseImage, Image } from "../image/Image";
9
9
  import { ProductType } from "../productCard/const";
10
10
  import { IButton } from "../ui/ThemedButton";
11
11
  import {
12
- CommittedBottomText,
12
+ CTAOnHoverContainerExchangeCard,
13
13
  CommittedButtonWrapper,
14
14
  ExchangeButtonWrapper,
15
15
  ExchangeCTAWrapper,
16
16
  ExchangeCarData,
17
17
  ExchangeCardBottom,
18
18
  ExchangeCardBottomContent,
19
- ExchangeCardLabelWrapper,
20
- ExchangeCardPrice,
21
19
  ExchangeCardPriceWrapper,
20
+ ExchangeCardTitle,
21
+ ExchangeCardTitleWrapper,
22
22
  ExchangeCardTop,
23
23
  ExchangeCardWrapper,
24
- ExchangeCreator,
25
- ExchangeCreatorAvatar,
26
- ExchangeCreatorName,
27
24
  ExchangeImageWrapper,
28
25
  ExchangeStatus,
29
- ExchangeTitle,
30
26
  RedeemButtonWrapper
31
27
  } from "./ExchangeCard.styles";
32
28
  import { ExchangeCardStatus } from "./types";
33
29
  import { subgraph } from "@bosonprotocol/core-sdk";
30
+
31
+ import { Grid } from "../ui/Grid";
32
+ import { PhygitalLabel } from "../productCard/ProductCard";
34
33
  export type { ExchangeCardStatus } from "./types";
35
34
  interface Base {
36
35
  id: string;
@@ -64,7 +63,6 @@ interface CancelledCard extends Base {
64
63
  interface CommittedCard extends Base {
65
64
  status: subgraph.ExchangeState.COMMITTED;
66
65
  redeemButtonConfig: IButton;
67
- cancelButtonConfig: IButton;
68
66
  bottomText?: string;
69
67
  }
70
68
 
@@ -95,8 +93,6 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
95
93
  imageProps,
96
94
  price,
97
95
  currency,
98
- avatar,
99
- avatarName,
100
96
  onCardClick,
101
97
  status,
102
98
  isCTAVisible = true,
@@ -110,7 +106,7 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
110
106
  } = props;
111
107
 
112
108
  const [isImageLoaded, setIsImageLoaded] = useState(false);
113
-
109
+ const [isHovered, setIsHovered] = useState(false);
114
110
  const exchangeCardBottom = useMemo(() => {
115
111
  if (isCTAVisible) {
116
112
  switch (status) {
@@ -136,7 +132,7 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
136
132
  );
137
133
  }
138
134
  case subgraph.ExchangeState.COMMITTED: {
139
- const { redeemButtonConfig, cancelButtonConfig, bottomText } = props;
135
+ const { redeemButtonConfig } = props;
140
136
  return (
141
137
  <ExchangeButtonWrapper>
142
138
  <CommittedButtonWrapper>
@@ -152,20 +148,7 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
152
148
  >
153
149
  Redeem
154
150
  </Button>
155
- <Button
156
- variant="secondaryInverted"
157
- {...cancelButtonConfig}
158
- onClick={(
159
- e: React.MouseEvent<HTMLButtonElement, MouseEvent>
160
- ) => {
161
- e.stopPropagation();
162
- cancelButtonConfig?.onClick?.(e);
163
- }}
164
- >
165
- Cancel
166
- </Button>
167
151
  </CommittedButtonWrapper>
168
- <CommittedBottomText>{bottomText}</CommittedBottomText>
169
152
  </ExchangeButtonWrapper>
170
153
  );
171
154
  }
@@ -183,6 +166,8 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
183
166
  data-card={dataCard}
184
167
  $isHoverDisabled={isHoverDisabled}
185
168
  data-testid={dataTestId}
169
+ onMouseEnter={() => setIsHovered(true)}
170
+ onMouseLeave={() => setIsHovered(false)}
186
171
  onClick={(e) => {
187
172
  e.preventDefault();
188
173
  onCardClick?.(id);
@@ -190,12 +175,22 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
190
175
  >
191
176
  <ExchangeCardTop $isNotImageLoaded={isNotImageLoaded}>
192
177
  <ExchangeImageWrapper>
193
- {isPhygital && (
194
- <ExchangeCardLabelWrapper>Phygital</ExchangeCardLabelWrapper>
195
- )}
196
178
  <Image {...imageProps} onLoaded={() => setIsImageLoaded(true)} />
179
+ {isCTAVisible && isConnected && (
180
+ <CTAOnHoverContainerExchangeCard $isHovered={isHovered}>
181
+ {isCTAVisible && isConnected ? (
182
+ <ExchangeCTAWrapper data-cta-wrapper>
183
+ {exchangeCardBottom}
184
+ </ExchangeCTAWrapper>
185
+ ) : isCTAVisible && !isConnected && CTAIfDisconnected ? (
186
+ CTAIfDisconnected
187
+ ) : null}
188
+ </CTAOnHoverContainerExchangeCard>
189
+ )}
197
190
  </ExchangeImageWrapper>
198
- <ExchangeStatus $status={status}>{status.toLowerCase()}</ExchangeStatus>
191
+ <ExchangeStatus $status={status} $side="left">
192
+ {status.toLowerCase()}
193
+ </ExchangeStatus>
199
194
  </ExchangeCardTop>
200
195
  <div style={{ height: height + "px" }} />
201
196
  <ExchangeCardBottom>
@@ -209,41 +204,42 @@ export const ExchangeCard = (props: ExchangeCardProps) => {
209
204
  }}
210
205
  >
211
206
  <ExchangeCarData>
212
- <ExchangeCreator
207
+ <Grid
208
+ flexDirection="column"
209
+ alignItems="flex-start"
213
210
  onClick={(e) => {
214
211
  e.stopPropagation();
215
212
  onAvatarNameClick?.();
216
213
  }}
217
214
  >
218
- <ExchangeCreatorAvatar>
219
- <img src={avatar} alt="avatar" />
220
- </ExchangeCreatorAvatar>
221
- <ExchangeCreatorName data-avatarname="exchange-card">
222
- {avatarName}
223
- </ExchangeCreatorName>
224
- </ExchangeCreator>
225
- <ExchangeTitle>{title}</ExchangeTitle>
215
+ <ExchangeCardTitleWrapper>
216
+ <ExchangeCardTitle fontSize={"0.75rem"} fontWeight={"600"}>
217
+ {title}
218
+ </ExchangeCardTitle>
219
+ <ExchangeCardPriceWrapper
220
+ justifyContent="flex-end"
221
+ alignItems="center"
222
+ width="40%"
223
+ >
224
+ <CurrencyDisplay
225
+ value={price}
226
+ currency={currency}
227
+ fontSize={"0.875rem"}
228
+ iconSize={16}
229
+ gap={"0.3125rem"}
230
+ style={{
231
+ wordBreak: "break-all",
232
+ alignItems: "center",
233
+ justifyContent: "center",
234
+ fontWeight: "600"
235
+ }}
236
+ />
237
+ </ExchangeCardPriceWrapper>
238
+ </ExchangeCardTitleWrapper>
239
+ {isPhygital && <PhygitalLabel />}
240
+ </Grid>
226
241
  </ExchangeCarData>
227
- <ExchangeCardPriceWrapper>
228
- <ExchangeCardPrice>Price</ExchangeCardPrice>
229
- <CurrencyDisplay
230
- value={price}
231
- currency={currency}
232
- style={{
233
- wordBreak: "break-all",
234
- alignItems: "flex-start",
235
- justifyContent: "flex-end"
236
- }}
237
- />
238
- </ExchangeCardPriceWrapper>
239
242
  </ExchangeCardBottomContent>
240
- {isCTAVisible && isConnected ? (
241
- <ExchangeCTAWrapper data-cta-wrapper>
242
- {exchangeCardBottom}
243
- </ExchangeCTAWrapper>
244
- ) : isCTAVisible && !isConnected && CTAIfDisconnected ? (
245
- CTAIfDisconnected
246
- ) : null}
247
243
  </ExchangeCardBottom>
248
244
  </ExchangeCardWrapper>
249
245
  );
@@ -7,7 +7,6 @@ import ReactSelect, {
7
7
  SingleValue,
8
8
  ActionMeta,
9
9
  Props as ReactSelectProps,
10
- PropsValue,
11
10
  CSSObjectWithLabel
12
11
  } from "react-select";
13
12
  import { CSSProperties } from "react";
@@ -208,7 +207,10 @@ export function Select<
208
207
  isMulti,
209
208
  ...props
210
209
  }: SelectProps<Option, IsMulti, Group>) {
211
- const [field, meta, helpers] = useField(name);
210
+ const [field, meta, helpers] =
211
+ useField<IsMulti extends true ? MultiValue<Option> : SingleValue<Option>>(
212
+ name
213
+ );
212
214
 
213
215
  const displayErrorMessage =
214
216
  meta.error && meta.touched && !errorMessage
@@ -261,7 +263,7 @@ export function Select<
261
263
  isMulti={isMulti}
262
264
  placeholder={placeholder}
263
265
  options={options}
264
- value={field.value as PropsValue<Option>}
266
+ value={field.value}
265
267
  onChange={handleChange}
266
268
  onBlur={handleBlur}
267
269
  isSearchable={isSearchable}
@@ -355,7 +355,10 @@ export default function InnerCommitDetailView(
355
355
  priceSibling={
356
356
  status === "success" ? (
357
357
  // TODO: if exchange is in a different state what do we do?
358
- <ExchangeStatus $status={subgraph.ExchangeState.COMMITTED}>
358
+ <ExchangeStatus
359
+ $status={subgraph.ExchangeState.COMMITTED}
360
+ $side="right"
361
+ >
359
362
  {labelValueToText[LabelType.purchased]}
360
363
  </ExchangeStatus>
361
364
  ) : (
@@ -4,7 +4,10 @@ import { useMemo } from "react";
4
4
  import styled from "styled-components";
5
5
  import mockedAvatar from "../../../../../assets/frame.png";
6
6
 
7
- import { ExchangeCard } from "../../../../exchangeCard/ExchangeCard";
7
+ import {
8
+ ExchangeCard,
9
+ ExchangeCardProps
10
+ } from "../../../../exchangeCard/ExchangeCard";
8
11
  import { Currencies } from "../../../../currencyDisplay/CurrencyDisplay";
9
12
  import { exchanges } from "@bosonprotocol/core-sdk";
10
13
  import { colors } from "../../../../../theme";
@@ -31,7 +34,6 @@ interface Props {
31
34
  exchange: ExtendedExchange;
32
35
  onCardClick: (exchange: IExchange) => void;
33
36
  onRedeemClick: (exchange: IExchange) => void;
34
- onCancelExchangeClick: (exchange: IExchange) => void;
35
37
  onRaiseDisputeClick: (exchange: IExchange) => void;
36
38
  onAvatarClick: (exchange: IExchange) => void;
37
39
  }
@@ -56,7 +58,6 @@ export default function Exchange({
56
58
  exchange,
57
59
  onRedeemClick,
58
60
  onCardClick,
59
- onCancelExchangeClick,
60
61
  onRaiseDisputeClick,
61
62
  onAvatarClick
62
63
  }: Props) {
@@ -122,12 +123,6 @@ export default function Exchange({
122
123
  const handleRedeem = () => {
123
124
  onRedeemClick(exchange);
124
125
  };
125
- const handleCancel = () => {
126
- if (!exchange) {
127
- return;
128
- }
129
- onCancelExchangeClick(exchange);
130
- };
131
126
  return {
132
127
  status: "COMMITTED" as Extract<ExchangeCardStatus, "COMMITTED">,
133
128
  isCTAVisible: isBuyer,
@@ -136,13 +131,10 @@ export default function Exchange({
136
131
  onClick: handleRedeem,
137
132
  type: "button",
138
133
  disabled: isInWrongChain
139
- } as const,
140
- cancelButtonConfig: {
141
- onClick: handleCancel,
142
- type: "button",
143
- disabled: isInWrongChain
144
134
  } as const
145
- };
135
+ } satisfies Partial<
136
+ Extract<ExchangeCardProps, { status: "COMMITTED" }>
137
+ >;
146
138
  }
147
139
  default:
148
140
  return {
@@ -6,7 +6,6 @@ import { ProductGridContainer } from "./ProfilePage.styles";
6
6
  interface Props {
7
7
  onCardClick: (exchange: IExchange) => void;
8
8
  onRedeemClick: (exchange: IExchange) => void;
9
- onCancelExchangeClick: (exchange: IExchange) => void;
10
9
  onRaiseDisputeClick: (exchange: IExchange) => void;
11
10
  onAvatarClick: (exchange: IExchange) => void;
12
11
  exchanges: ExtendedExchange[];
@@ -15,7 +14,6 @@ interface Props {
15
14
  export default function Exchanges({
16
15
  onRedeemClick,
17
16
  exchanges,
18
- onCancelExchangeClick,
19
17
  onRaiseDisputeClick,
20
18
  onCardClick,
21
19
  onAvatarClick
@@ -38,7 +36,6 @@ export default function Exchanges({
38
36
  exchange={exchange}
39
37
  onRedeemClick={onRedeemClick}
40
38
  onCardClick={onCardClick}
41
- onCancelExchangeClick={onCancelExchangeClick}
42
39
  onRaiseDisputeClick={onRaiseDisputeClick}
43
40
  onAvatarClick={onAvatarClick}
44
41
  />
@@ -16,7 +16,6 @@ import { BosonLogo } from "../../common/BosonLogo";
16
16
  export type MyItemsProps = {
17
17
  onExchangeCardClick: (exchange: Exchange) => void;
18
18
  onRedeemClick: (exchange: Exchange) => void;
19
- onCancelExchange: (exchange: Exchange) => void;
20
19
  onRaiseDisputeClick: (exchange: Exchange) => void;
21
20
  onAvatarClick: (exchange: Exchange) => void;
22
21
  isValid: boolean;
@@ -30,7 +29,6 @@ const ExchangesWithData = WithExchangesData(Exchanges);
30
29
  export function MyItems({
31
30
  onRedeemClick,
32
31
  onExchangeCardClick,
33
- onCancelExchange,
34
32
  onRaiseDisputeClick,
35
33
  onAvatarClick,
36
34
  sellerIds,
@@ -100,7 +98,6 @@ export function MyItems({
100
98
  {...values}
101
99
  onCardClick={onExchangeCardClick}
102
100
  onRedeemClick={onRedeemClick}
103
- onCancelExchangeClick={onCancelExchange}
104
101
  onRaiseDisputeClick={onRaiseDisputeClick}
105
102
  onAvatarClick={onAvatarClick}
106
103
  />
@@ -20,7 +20,6 @@ const orderProps = {
20
20
  interface CommonProps {
21
21
  onCardClick: (exchange: Exchange) => void;
22
22
  onRedeemClick: (exchange: Exchange) => void;
23
- onCancelExchangeClick: (exchange: Exchange) => void;
24
23
  onRaiseDisputeClick: (exchange: Exchange) => void;
25
24
  onAvatarClick: (exchange: Exchange) => void;
26
25
  }
@@ -87,7 +87,6 @@ export type RedeemNonModalProps = Pick<
87
87
  hideModal?: NonModalProps["hideModal"];
88
88
  myItemsOnExchangeCardClick?: MyItemsProps["onExchangeCardClick"];
89
89
  myItemsOnRedeemClick?: MyItemsProps["onRedeemClick"];
90
- myItemsOnCancelExchange?: MyItemsProps["onCancelExchange"];
91
90
  myItemsOnRaiseDisputeClick?: MyItemsProps["onRaiseDisputeClick"];
92
91
  myItemsOnAvatarClick?: MyItemsProps["onAvatarClick"];
93
92
  onExchangePolicyClick?: ExchangeViewProps["onExchangePolicyClick"];
@@ -161,7 +160,6 @@ function RedeemNonModal({
161
160
  raiseDisputeForExchangeUrl,
162
161
  myItemsOnExchangeCardClick,
163
162
  myItemsOnRedeemClick,
164
- myItemsOnCancelExchange,
165
163
  myItemsOnRaiseDisputeClick,
166
164
  myItemsOnAvatarClick,
167
165
  onExchangePolicyClick,
@@ -403,11 +401,6 @@ function RedeemNonModal({
403
401
  setExchange(exchange);
404
402
  myItemsOnRedeemClick?.(exchange);
405
403
  }}
406
- onCancelExchange={(exchange) => {
407
- setActiveStep(ActiveStep.CANCELLATION_VIEW);
408
- setExchange(exchange);
409
- myItemsOnCancelExchange?.(exchange);
410
- }}
411
404
  isValid={isRedeemFormOK}
412
405
  onRaiseDisputeClick={(exchange) => {
413
406
  setExchange(exchange);