@bosonprotocol/react-kit 0.37.0-alpha.1 → 0.37.0-alpha.3

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 (126) hide show
  1. package/dist/cjs/colors.d.ts +1 -0
  2. package/dist/cjs/colors.d.ts.map +1 -1
  3. package/dist/cjs/colors.js +1 -0
  4. package/dist/cjs/colors.js.map +1 -1
  5. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts +0 -1
  6. package/dist/cjs/components/exchangeCard/ExchangeCard.d.ts.map +1 -1
  7. package/dist/cjs/components/exchangeCard/ExchangeCard.js +21 -26
  8. package/dist/cjs/components/exchangeCard/ExchangeCard.js.map +1 -1
  9. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.d.ts +227 -5
  10. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.d.ts.map +1 -1
  11. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.js +33 -22
  12. package/dist/cjs/components/exchangeCard/ExchangeCard.styles.js.map +1 -1
  13. package/dist/cjs/components/form/Upload/UploadedSinglePdfFile.d.ts.map +1 -1
  14. package/dist/cjs/components/form/Upload/UploadedSinglePdfFile.js +2 -1
  15. package/dist/cjs/components/form/Upload/UploadedSinglePdfFile.js.map +1 -1
  16. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.d.ts.map +1 -1
  17. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.js +1 -1
  18. package/dist/cjs/components/modal/components/Commit/DetailView/InnerCommitDetailView.js.map +1 -1
  19. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.d.ts +1 -2
  20. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.d.ts.map +1 -1
  21. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js +1 -12
  22. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  23. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.d.ts +1 -2
  24. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.d.ts.map +1 -1
  25. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.js +2 -2
  26. package/dist/cjs/components/modal/components/Redeem/MyItems/Exchanges.js.map +1 -1
  27. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.d.ts +1 -2
  28. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.d.ts.map +1 -1
  29. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.js +2 -2
  30. package/dist/cjs/components/modal/components/Redeem/MyItems/MyItems.js.map +1 -1
  31. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts +0 -1
  32. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts.map +1 -1
  33. package/dist/cjs/components/modal/components/Redeem/MyItems/WithExchangesData.js.map +1 -1
  34. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.d.ts +0 -1
  35. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  36. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +1 -5
  37. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  38. package/dist/cjs/components/productCard/ProductCard.d.ts +2 -0
  39. package/dist/cjs/components/productCard/ProductCard.d.ts.map +1 -1
  40. package/dist/cjs/components/productCard/ProductCard.js +13 -15
  41. package/dist/cjs/components/productCard/ProductCard.js.map +1 -1
  42. package/dist/cjs/components/productCard/ProductCard.styles.d.ts +4 -0
  43. package/dist/cjs/components/productCard/ProductCard.styles.d.ts.map +1 -1
  44. package/dist/cjs/components/productCard/ProductCard.styles.js +55 -20
  45. package/dist/cjs/components/productCard/ProductCard.styles.js.map +1 -1
  46. package/dist/cjs/components/productCard/commonStyles.d.ts.map +1 -1
  47. package/dist/cjs/components/productCard/commonStyles.js +0 -1
  48. package/dist/cjs/components/productCard/commonStyles.js.map +1 -1
  49. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.d.ts.map +1 -1
  50. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.js +16 -2
  51. package/dist/cjs/components/widgets/roblox/components/ProductsRoblox.js.map +1 -1
  52. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts +2 -2
  53. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  54. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js +3 -6
  55. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  56. package/dist/esm/colors.d.ts +1 -0
  57. package/dist/esm/colors.d.ts.map +1 -1
  58. package/dist/esm/colors.js +1 -0
  59. package/dist/esm/colors.js.map +1 -1
  60. package/dist/esm/components/exchangeCard/ExchangeCard.d.ts +0 -1
  61. package/dist/esm/components/exchangeCard/ExchangeCard.d.ts.map +1 -1
  62. package/dist/esm/components/exchangeCard/ExchangeCard.js +22 -26
  63. package/dist/esm/components/exchangeCard/ExchangeCard.js.map +1 -1
  64. package/dist/esm/components/exchangeCard/ExchangeCard.styles.d.ts +227 -5
  65. package/dist/esm/components/exchangeCard/ExchangeCard.styles.d.ts.map +1 -1
  66. package/dist/esm/components/exchangeCard/ExchangeCard.styles.js +33 -22
  67. package/dist/esm/components/exchangeCard/ExchangeCard.styles.js.map +1 -1
  68. package/dist/esm/components/form/Upload/UploadedSinglePdfFile.d.ts.map +1 -1
  69. package/dist/esm/components/form/Upload/UploadedSinglePdfFile.js +2 -1
  70. package/dist/esm/components/form/Upload/UploadedSinglePdfFile.js.map +1 -1
  71. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.d.ts.map +1 -1
  72. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.js +1 -1
  73. package/dist/esm/components/modal/components/Commit/DetailView/InnerCommitDetailView.js.map +1 -1
  74. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.d.ts +1 -2
  75. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.d.ts.map +1 -1
  76. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js +1 -12
  77. package/dist/esm/components/modal/components/Redeem/MyItems/Exchange.js.map +1 -1
  78. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.d.ts +1 -2
  79. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.d.ts.map +1 -1
  80. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.js +2 -2
  81. package/dist/esm/components/modal/components/Redeem/MyItems/Exchanges.js.map +1 -1
  82. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.d.ts +1 -2
  83. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.d.ts.map +1 -1
  84. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.js +2 -2
  85. package/dist/esm/components/modal/components/Redeem/MyItems/MyItems.js.map +1 -1
  86. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts +0 -1
  87. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.d.ts.map +1 -1
  88. package/dist/esm/components/modal/components/Redeem/MyItems/WithExchangesData.js.map +1 -1
  89. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.d.ts +0 -1
  90. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  91. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -5
  92. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  93. package/dist/esm/components/productCard/ProductCard.d.ts +2 -0
  94. package/dist/esm/components/productCard/ProductCard.d.ts.map +1 -1
  95. package/dist/esm/components/productCard/ProductCard.js +13 -15
  96. package/dist/esm/components/productCard/ProductCard.js.map +1 -1
  97. package/dist/esm/components/productCard/ProductCard.styles.d.ts +4 -0
  98. package/dist/esm/components/productCard/ProductCard.styles.d.ts.map +1 -1
  99. package/dist/esm/components/productCard/ProductCard.styles.js +54 -19
  100. package/dist/esm/components/productCard/ProductCard.styles.js.map +1 -1
  101. package/dist/esm/components/productCard/commonStyles.d.ts.map +1 -1
  102. package/dist/esm/components/productCard/commonStyles.js +0 -1
  103. package/dist/esm/components/productCard/commonStyles.js.map +1 -1
  104. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.d.ts.map +1 -1
  105. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.js +16 -2
  106. package/dist/esm/components/widgets/roblox/components/ProductsRoblox.js.map +1 -1
  107. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts +2 -2
  108. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  109. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +3 -6
  110. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  111. package/package.json +2 -2
  112. package/src/colors.ts +1 -0
  113. package/src/components/exchangeCard/ExchangeCard.styles.ts +40 -22
  114. package/src/components/exchangeCard/ExchangeCard.tsx +53 -57
  115. package/src/components/form/Upload/UploadedSinglePdfFile.tsx +8 -1
  116. package/src/components/modal/components/Commit/DetailView/InnerCommitDetailView.tsx +4 -1
  117. package/src/components/modal/components/Redeem/MyItems/Exchange.tsx +7 -15
  118. package/src/components/modal/components/Redeem/MyItems/Exchanges.tsx +0 -3
  119. package/src/components/modal/components/Redeem/MyItems/MyItems.tsx +0 -3
  120. package/src/components/modal/components/Redeem/MyItems/WithExchangesData.tsx +0 -1
  121. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +0 -7
  122. package/src/components/productCard/ProductCard.styles.ts +58 -19
  123. package/src/components/productCard/ProductCard.tsx +30 -27
  124. package/src/components/productCard/commonStyles.ts +0 -1
  125. package/src/components/widgets/roblox/components/ProductsRoblox.tsx +14 -2
  126. package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +5 -10
@@ -3,15 +3,22 @@ import { colors, getCssVar } from "../../theme";
3
3
  import { cardWrapperStyles } from "./commonStyles";
4
4
  import { Typography } from "../ui/Typography";
5
5
  import { zIndex } from "../ui/zIndex";
6
+ import { buttonBorderRadius } from "../../borders";
7
+ import { ExchangeCardStatus } from "../exchangeCard/types";
6
8
 
7
9
  export const ProductCardLabelWrapper = styled.div`
8
- position: absolute;
9
- top: 0.5rem;
10
- left: 0.5rem;
11
- background: white;
12
- font-weight: 600;
13
- color: ${colors.greyDark};
14
10
  z-index: 1;
11
+ position: relative;
12
+ background-color: ${getCssVar("--main-text-color")};
13
+ color: ${getCssVar("--background-accent-color")};
14
+ border-radius: ${buttonBorderRadius["mid"]};
15
+ padding: 0.125rem 0.5rem 0.125rem 0.25rem;
16
+ display: flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ gap: 4px;
20
+ position: relative;
21
+ left: 0;
15
22
  `;
16
23
 
17
24
  export const ProductCardCreator = styled.div`
@@ -53,15 +60,7 @@ export const ProductCardCreatorName = styled.div`
53
60
  export const ProductCardTitle = styled(Typography).attrs({
54
61
  className: "title"
55
62
  })`
56
- word-break: break-word;
57
- overflow: hidden;
58
- display: -webkit-box;
59
- -webkit-box-orient: vertical;
60
- -webkit-line-clamp: 2;
61
- line-height: 1.5em;
62
63
  max-height: calc(1.5em * 2);
63
- white-space: nowrap;
64
- text-overflow: ellipsis;
65
64
  `;
66
65
 
67
66
  export const ProductCardPriceWrapper = styled.div`
@@ -105,6 +104,7 @@ export const ProductCardBottomContent = styled.div`
105
104
  export const ProductCardTitleWrapper = styled.div`
106
105
  width: 100%;
107
106
  box-sizing: border-box;
107
+ align-items: flex-start;
108
108
  `;
109
109
 
110
110
  export const ProductCardWrapper = styled.div<{
@@ -121,15 +121,12 @@ export const ProductCardWrapper = styled.div<{
121
121
  flex-direction: column;
122
122
  min-height: 286px;
123
123
  height: 286px;
124
- padding: 0 1rem 1rem 1rem;
125
124
  ${({ $isHoverDisabled }) =>
126
125
  $isHoverDisabled
127
126
  ? ""
128
127
  : css`
129
128
  transition: all 300ms ease-in-out;
130
129
  &:hover {
131
- border: 2px solid ${colors.border};
132
-
133
130
  [data-image-wrapper] {
134
131
  width: 110%;
135
132
  img {
@@ -235,10 +232,52 @@ export const CTAOnHoverContainer = styled.div<{ $isHovered: boolean }>`
235
232
  export const ProductTypeWrapper = styled.div`
236
233
  background-color: ${colors.black};
237
234
  color: ${colors.white};
238
- display: flex;
239
235
  align-items: center;
240
236
  gap: 0.25rem;
241
- padding: 0.1563rem 0.25rem;
242
237
  border-radius: ${getCssVar("--button-border-radius")};
243
238
  margin-top: 0.5rem;
239
+ padding: 0.125rem 0.5rem 0.125rem 0.25rem;
240
+ display: flex;
241
+ justify-content: center;
242
+ align-items: center;
243
+ gap: 4px;
244
+ position: relative;
245
+ left: 0;
246
+ `;
247
+
248
+ export const ProductExchangeStatus = styled.div<{
249
+ $status: ExchangeCardStatus;
250
+ }>`
251
+ position: absolute;
252
+ z-index: 10;
253
+ letter-spacing: 0.5px;
254
+ line-height: 16px;
255
+ font-weight: 600;
256
+ font-size: 0.75rem;
257
+ padding: 0.5rem 1rem;
258
+ border-radius: 20px;
259
+ &:first-letter {
260
+ text-transform: uppercase;
261
+ }
262
+ background: ${({ $status }) => {
263
+ switch ($status) {
264
+ case "REDEEMED":
265
+ case "CANCELLED":
266
+ return colors.green;
267
+ case "COMMITTED":
268
+ return colors.violet;
269
+ default:
270
+ return colors.white;
271
+ }
272
+ }};
273
+ color: ${({ $status }) => {
274
+ switch ($status) {
275
+ case "COMMITTED":
276
+ return colors.white;
277
+ default:
278
+ return colors.black;
279
+ }
280
+ }};
281
+ left: 0.5rem;
282
+ top: 24px;
244
283
  `;
@@ -22,12 +22,17 @@ import { ProductType } from "./const";
22
22
  import { Grid } from "../ui/Grid";
23
23
  import { CircleHalf } from "phosphor-react";
24
24
  import { isMobile } from "../../lib/userAgent/userAgent";
25
+ import { Typography } from "../ui/Typography";
26
+ import { getCssVar } from "../../theme";
27
+ import { ExchangeCardStatus } from "../exchangeCard/types";
25
28
 
26
29
  export const PhygitalLabel = () => {
27
30
  return (
28
31
  <ProductTypeWrapper>
29
32
  <CircleHalf />
30
- Phygital
33
+ <Typography fontSize={"0.75rem"} fontWeight={600}>
34
+ Phygital
35
+ </Typography>
31
36
  </ProductTypeWrapper>
32
37
  );
33
38
  };
@@ -54,6 +59,7 @@ export interface IProductCard {
54
59
  isImageFitCover?: boolean;
55
60
  className?: string;
56
61
  currencyColor?: CurrencyDisplayProps["color"];
62
+ status?: ExchangeCardStatus;
57
63
  }
58
64
 
59
65
  const Wrapper = ({
@@ -89,7 +95,7 @@ export const ProductCard = (props: IProductCard) => {
89
95
  tooltip = "",
90
96
  tooltipProps = {},
91
97
  CTAOnHover,
92
- hideCreatorName = false,
98
+ hideCreatorName = true,
93
99
  isImageFitCover = false,
94
100
  className,
95
101
  productType,
@@ -121,12 +127,15 @@ export const ProductCard = (props: IProductCard) => {
121
127
  </CTAOnHoverContainer>
122
128
  )}
123
129
  </ProductCardImageWrapper>
124
-
125
130
  <ProductCardBottom>
126
131
  <ProductCardBottomContent>
127
- <Grid flexDirection="column">
132
+ <Grid flexDirection="row" alignItems="flex-start">
128
133
  <ProductCardTitleWrapper>
129
- <ProductCardTitle fontSize={"0.75rem"} fontWeight={"600"}>
134
+ <ProductCardTitle
135
+ fontSize={"0.75rem"}
136
+ color={getCssVar("--main-text-color")}
137
+ fontWeight={"600"}
138
+ >
130
139
  {title}
131
140
  </ProductCardTitle>
132
141
  </ProductCardTitleWrapper>
@@ -135,29 +144,23 @@ export const ProductCard = (props: IProductCard) => {
135
144
  {avatarName}
136
145
  </ProductCardCreatorName>
137
146
  )}
147
+ <Wrapper tooltip={tooltip} tooltipProps={tooltipProps}>
148
+ <CurrencyDisplay
149
+ value={price}
150
+ currency={currency}
151
+ fontSize={"0.875rem"}
152
+ color={currencyColor}
153
+ iconSize={16}
154
+ gap={"0.3125rem"}
155
+ style={{
156
+ alignItems: "center",
157
+ justifyContent: "center"
158
+ }}
159
+ />
160
+ </Wrapper>
138
161
  </Grid>
139
- <Wrapper tooltip={tooltip} tooltipProps={tooltipProps}>
140
- <CurrencyDisplay
141
- value={price}
142
- currency={currency}
143
- fontSize={"0.875rem"}
144
- color={currencyColor}
145
- iconSize={16}
146
- gap={"0.3125rem"}
147
- style={{
148
- wordBreak: "break-all",
149
- alignItems: "center",
150
- justifyContent: "center",
151
- paddingTop: "0.25rem"
152
- }}
153
- />
154
- </Wrapper>
155
- {productType === ProductType.phygital && (
156
- <ProductTypeWrapper>
157
- <CircleHalf />
158
- Phygital
159
- </ProductTypeWrapper>
160
- )}
162
+
163
+ {productType === ProductType.phygital && <PhygitalLabel />}
161
164
  </ProductCardBottomContent>
162
165
  </ProductCardBottom>
163
166
  </ProductCardWrapper>
@@ -5,6 +5,5 @@ export const cardWrapperStyles = css`
5
5
  padding: 0px;
6
6
  isolation: isolate;
7
7
  width: 100%;
8
- box-shadow: 0px 4.31783px 107.946px rgba(21, 30, 52, 0.1);
9
8
  background: ${getCssVar("--background-accent-color")};
10
9
  `;
@@ -115,7 +115,6 @@ export const ProductsRoblox = ({
115
115
 
116
116
  const {
117
117
  data: purchasedProductsInPage,
118
- isLoading: purchasedProductsLoading,
119
118
  fetchNextPage: fetchNextPagePurchasedProducts,
120
119
  hasNextPage: hasNextPagePurchasedProducts,
121
120
  refetch: refetchPurchasedProducts
@@ -257,7 +256,20 @@ export const ProductsRoblox = ({
257
256
  });
258
257
  }
259
258
  }}
260
- isLoading={purchasedProductsLoading}
259
+ handleOnCardClick={(robloxExchange) => {
260
+ const { offer } = robloxExchange;
261
+ if (isProductV1(offer)) {
262
+ handleSetProductUuid({
263
+ selectedProductUuid: offer.metadata.product.uuid,
264
+ exchange: robloxExchange
265
+ });
266
+ } else if (isBundle(offer)) {
267
+ handleSetBundleUuid({
268
+ selectedBundleUuid: offer.metadata.bundleUuid,
269
+ exchange: robloxExchange
270
+ });
271
+ }
272
+ }}
261
273
  />
262
274
  </Grid>
263
275
  <Grid flexDirection="column" alignItems="flex-start">
@@ -54,12 +54,12 @@ const TransparentSkeletonProductCard = styled(ProductCardSkeleton)`
54
54
  `;
55
55
 
56
56
  export type RobloxExchangesGridProps = {
57
- isLoading: boolean;
58
57
  numProducts?: number;
59
58
  itemsPerRow: GridContainerProps["itemsPerRow"];
60
59
  raiseDisputeForExchangeUrl: string;
61
60
  handleRequestShipment: (robloxExchange: BosonRobloxExchange) => void;
62
61
  handleCancellation: (robloxExchange: BosonRobloxExchange) => void;
62
+ handleOnCardClick: (robloxExchange: BosonRobloxExchange) => void;
63
63
  exchanges: BosonRobloxExchange[] | undefined;
64
64
  fetchNextPage: (
65
65
  options?: FetchNextPageOptions
@@ -73,12 +73,12 @@ export type RobloxExchangesGridProps = {
73
73
  };
74
74
  const gap = "2rem";
75
75
  export const RobloxExchangesGrid = ({
76
- isLoading,
77
76
  numProducts,
78
77
  itemsPerRow,
79
78
  raiseDisputeForExchangeUrl,
80
79
  exchanges,
81
80
  handleRequestShipment,
81
+ handleOnCardClick,
82
82
  handleCancellation,
83
83
  fetchNextPage,
84
84
  refetch,
@@ -189,14 +189,9 @@ export const RobloxExchangesGrid = ({
189
189
  type: "button"
190
190
  } as const
191
191
  }
192
- cancelButtonConfig={
193
- {
194
- onClick: () => {
195
- handleCancellation(robloxExchange);
196
- },
197
- type: "button"
198
- } as const
199
- }
192
+ onCardClick={() => {
193
+ handleOnCardClick(robloxExchange);
194
+ }}
200
195
  disputeButtonConfig={
201
196
  {
202
197
  onClick: () => {