@riosst100/pwa-marketplace 1.7.0 → 1.7.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 (62) hide show
  1. package/package.json +2 -1
  2. package/src/componentOverrideMapping.js +4 -0
  3. package/src/components/CollectibleGameSets/collectibleGameSets.js +0 -4
  4. package/src/components/FilterTop/filterTop.js +0 -2
  5. package/src/components/FilterTopBackup/CustomFilters/customFilters.js +0 -1
  6. package/src/components/ProductLabel/index.js +13 -5
  7. package/src/components/ProductListTab/productListTab.js +1 -3
  8. package/src/components/RelatedProduct/relatedProduct.js +1 -1
  9. package/src/components/ShopBy/shopBy copy.js +0 -1
  10. package/src/components/ShopBy/shopBy.js +0 -1
  11. package/src/components/ShopBySets/shopBySets.js +0 -3
  12. package/src/components/SportCardsSets/index.js +2 -0
  13. package/src/components/SportCardsSets/sportCardsSets.js +372 -0
  14. package/src/components/SportCardsSets/sportCardsSets.module.css +76 -0
  15. package/src/components/SportCardsSets/sportCardsSets.shimmer.js +50 -0
  16. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/__fixtures__/apolloMocks.js +33 -0
  17. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/carousel.gql.ce.js +16 -0
  18. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/carousel.gql.ee.js +17 -0
  19. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/carousel.js +38 -0
  20. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/index.js +1 -0
  21. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/Carousel/useCarousel.js +25 -0
  22. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/configAggregator.js +26 -0
  23. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/index.js +1 -0
  24. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/products.js +369 -0
  25. package/src/overwrites/pagebuilder/lib/ContentTypes/Products/products.module.css +0 -0
  26. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/banner.module.css +103 -0
  27. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/configAggregator.js +17 -0
  28. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/index.js +2 -0
  29. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/slider.js +221 -0
  30. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/slider.module.css +231 -0
  31. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/slider.shimmer.js +126 -0
  32. package/src/overwrites/pagebuilder/lib/ContentTypes/Slider/slider.shimmer.module.css +5 -0
  33. package/src/overwrites/pagebuilder/lib/utils.js +224 -0
  34. package/src/overwrites/peregrine/lib/talons/FilterSidebar/useFilterSidebar.js +1 -1
  35. package/src/overwrites/peregrine/lib/talons/ProductFullDetail/useProductFullDetail.js +3 -1
  36. package/src/overwrites/peregrine/lib/talons/RootComponents/Category/categoryFragments.gql.js +3 -0
  37. package/src/overwrites/peregrine/lib/talons/RootComponents/Product/productDetailFragment.gql.js +39 -0
  38. package/src/overwrites/venia-ui/lib/RootComponents/CMS/cms.js +73 -0
  39. package/src/overwrites/venia-ui/lib/RootComponents/CMS/cms.module.css +25 -0
  40. package/src/overwrites/venia-ui/lib/RootComponents/CMS/cms.shimmer.js +18 -0
  41. package/src/overwrites/venia-ui/lib/RootComponents/CMS/index.js +7 -0
  42. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.js +12 -1
  43. package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.js +1 -13
  44. package/src/overwrites/venia-ui/lib/components/App/app.js +131 -0
  45. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilters.js +1 -1
  46. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.js +1 -1
  47. package/src/overwrites/venia-ui/lib/components/Gallery/item.js +9 -2
  48. package/src/overwrites/venia-ui/lib/components/Gallery/item.module.css +1 -1
  49. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/auctionDetail.js +176 -138
  50. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/components/preOrderDetail.js +1 -4
  51. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +1 -1
  52. package/src/overwrites/venia-ui/lib/components/RichContent/richContent.module.css +3 -3
  53. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.js +0 -1
  54. package/src/overwrites/venia-ui/lib/index.module.css +137 -0
  55. package/src/overwrites/venia-ui/lib/tokens.module.css +167 -0
  56. package/src/talons/CollectibleGameSets/collectibleGameSets.gql.js +15 -1
  57. package/src/talons/CollectibleGameSets/useCollectibleGameSets.js +0 -11
  58. package/src/talons/FilterTop/useFilterTop.js +0 -2
  59. package/src/talons/ShopBy/useShopBy.js +0 -22
  60. package/src/talons/SportCardsSets/sportCardsSets.gql.js +46 -0
  61. package/src/talons/SportCardsSets/useSportCardsSets.js +170 -0
  62. package/src/talons/SubCategoryPage/useSubCategoryPage.js +0 -3
@@ -1,7 +1,7 @@
1
1
  .root {
2
2
  composes: content-start from global;
3
3
  composes: grid from global;
4
- composes: gap-y-2xs from global;
4
+ /* composes: gap-y-2xs from global; */
5
5
  composes: max-w-[315px] from global;
6
6
  }
7
7
 
@@ -11,163 +11,201 @@ import TextInput from '@magento/venia-ui/lib/components/TextInput';
11
11
  import { isRequired } from '@magento/venia-ui/lib/util/formValidators';
12
12
  import Checkbox from '@magento/venia-ui/lib/components/Checkbox';
13
13
  import { Form } from 'informed';
14
+ import Price from '@magento/venia-ui/lib/components/Price';
15
+ import Countdown from 'react-countdown';
14
16
 
15
17
  const AuctionDetail = (props) => {
16
18
 
17
- const { className } = props;
19
+ const { className, productDetails } = props;
18
20
  const [open, setOpen] = useState(false)
19
21
 
20
- return (
21
- <>
22
- <Modal
23
- open={open}
24
- className='!p-[30px] md_min-w-[550px] modal_bid'
25
- >
26
- <div className='modal_bid-content'>
27
- <div className='header_title-modal flex justify-between mb-10'>
28
- <div className='text-lg text-black font-semibold'>
29
- Place bid
30
- </div>
31
- <button onClick={() => { setOpen(!open) }} >
32
- <X size={24} color={primary900} />
33
- </button>
22
+ const auctionData = productDetails?.auction_data;
23
+
24
+ const isAuction = auctionData?.is_auction ? true : false;
25
+
26
+ const month = ["January","February","March","April","May","June","July","August","September","October","November","December"];
27
+
28
+ const Completionist = () => <span>You are good to go!</span>;
29
+
30
+ // Renderer callback with condition
31
+ const renderer = ({ hours, minutes, days, seconds, completed }) => {
32
+ if (completed) {
33
+ // Render a completed state
34
+ return <Completionist />;
35
+ } else {
36
+ // Render a countdown
37
+ return <div className='flex flex-row gap-8'>
38
+ <div className='flex flex-col'>
39
+ <div className='text-[40px] leading-[normal] font-semibold'>
40
+ {days}
41
+ </div>
42
+ <div className='text-[14px] font-bold'>
43
+ days
44
+ </div>
45
+ </div>
46
+ <div className='flex flex-col'>
47
+ <div className='text-[40px] leading-[normal] font-semibold'>
48
+ {hours}
49
+ </div>
50
+ <div className='text-[14px] font-bold'>
51
+ hours
52
+ </div>
53
+ </div>
54
+ <div className='flex flex-col'>
55
+ <div className='text-[40px] leading-[normal] font-semibold'>
56
+ {minutes}
57
+ </div>
58
+ <div className='text-[14px] font-bold'>
59
+ minutes
60
+ </div>
61
+ </div>
62
+ <div className='flex flex-col'>
63
+ <div className='text-[40px] leading-[normal] font-semibold'>
64
+ {seconds}
65
+ </div>
66
+ <div className='text-[14px] font-bold'>
67
+ seconds
68
+ </div>
69
+ </div>
70
+ </div>;
71
+ }
72
+ };
73
+
74
+ console.log(auctionData)
75
+
76
+ const endDate = auctionData && auctionData.stop_auction_time ? new Date(auctionData.stop_auction_time) : null;
77
+
78
+ return isAuction && <>
79
+ <Modal
80
+ open={open}
81
+ className='!p-[30px] md_min-w-[550px] modal_bid'
82
+ >
83
+ <div className='modal_bid-content'>
84
+ <div className='header_title-modal flex justify-between mb-10'>
85
+ <div className='text-lg text-black font-semibold'>
86
+ Place bid
34
87
  </div>
88
+ <button onClick={() => { setOpen(!open) }} >
89
+ <X size={24} color={primary900} />
90
+ </button>
91
+ </div>
35
92
 
36
- <div className='flex flex-col gap-y-[25px]'>
37
- <div className='current_bid flex flex-col gap-y-2.5'>
38
- <span className='text-[14px] font-bold text-gray-500'>
39
- Current bid
40
- </span>
41
- <span className='text-2xl font-semibold'>
42
- $102.50
43
- </span>
44
- </div>
93
+ <div className='flex flex-col gap-y-[25px]'>
94
+ <div className='current_bid flex flex-col gap-y-2.5'>
95
+ <span className='text-[14px] font-bold text-gray-500'>
96
+ Current bid
97
+ </span>
98
+ <span className='text-2xl font-semibold'>
99
+ $102.50
100
+ </span>
101
+ </div>
45
102
 
46
- <BidList expanded />
103
+ <BidList expanded />
47
104
 
48
- <Form
49
- data-cy="form_bid"
50
- className="flex flex-col gap-y-5"
51
- initialValues={{}}
52
- onSubmit={() => { }}
53
- onChange={() => { }}
105
+ <Form
106
+ data-cy="form_bid"
107
+ className="flex flex-col gap-y-5"
108
+ initialValues={{}}
109
+ onSubmit={() => { }}
110
+ onChange={() => { }}
111
+ >
112
+ <Field
113
+ id="bid_amount_field"
114
+ label={'Bid Amount'}
54
115
  >
55
- <Field
56
- id="bid_amount_field"
57
- label={'Bid Amount'}
58
- >
59
- <TextInput
60
- id="bid_amout"
61
- field="bid_amount"
62
- validate={isRequired}
63
- validateOnBlur
64
- mask={value => value && value.trim()}
65
- maskOnBlur={true}
66
- data-cy="bid_amount"
67
- aria-label={'bid_amount'}
68
- placeholder={'$10.00'}
69
- />
70
- <small className='helpet-text text-[12px] font-normal text-gray-200 mt-1'>
71
- Enter $103.50 or more
72
- </small>
73
- </Field>
74
-
75
- <Checkbox
76
- field="auto_bid"
77
- id="auto_bid"
78
- label={'Place Bid As Automatic'}
116
+ <TextInput
117
+ id="bid_amout"
118
+ field="bid_amount"
119
+ validate={isRequired}
120
+ validateOnBlur
121
+ mask={value => value && value.trim()}
122
+ maskOnBlur={true}
123
+ data-cy="bid_amount"
124
+ aria-label={'bid_amount'}
125
+ placeholder={'$10.00'}
79
126
  />
127
+ <small className='helpet-text text-[12px] font-normal text-gray-200 mt-1'>
128
+ Enter $103.50 or more
129
+ </small>
130
+ </Field>
80
131
 
81
- <div className='actions flex justify-end gap-x-2.5'>
82
- <Button
83
- priority='low'
84
- classes={{
85
- content: 'capitalize text-[16px] font-semibold'
86
- }}
87
- onClick={() => setOpen(false)}
88
- >
89
- Cancel
90
- </Button>
91
- <Button
92
- priority='high'
93
- classes={{
94
- content: 'capitalize text-[16px] font-semibold'
95
- }}
96
- >
97
- Place Bid
98
- </Button>
99
- </div>
100
- </Form>
101
- </div>
102
- </div>
103
- </Modal>
104
- <div
105
- className={cn(
106
- 'flex flex-col border border-gray-100 rounded-lg px-5 py-[30px] gap-x-2.5 gap-y-5',
107
- className
108
- )}
109
- >
110
- <div className='flex flex-row justify-between'>
111
- <div className='flex flex-col gap-2.5'>
112
- <div className='text-[16px] font-bold text-gray-500'>
113
- Starting Price
114
- </div>
115
- <div className='text-[40px] font-semibold text-colorDefault'>
116
- $87.50
132
+ <Checkbox
133
+ field="auto_bid"
134
+ id="auto_bid"
135
+ label={'Place Bid As Automatic'}
136
+ />
137
+
138
+ <div className='actions flex justify-end gap-x-2.5'>
139
+ <Button
140
+ priority='low'
141
+ classes={{
142
+ content: 'capitalize text-[16px] font-semibold'
143
+ }}
144
+ onClick={() => setOpen(false)}
145
+ >
146
+ Cancel
147
+ </Button>
148
+ <Button
149
+ priority='high'
150
+ classes={{
151
+ content: 'capitalize text-[16px] font-semibold'
152
+ }}
153
+ >
154
+ Place Bid
155
+ </Button>
117
156
  </div>
157
+ </Form>
158
+ </div>
159
+ </div>
160
+ </Modal>
161
+ <div
162
+ className={cn(
163
+ 'flex flex-col border border-gray-100 rounded-lg px-5 py-[30px] gap-x-2.5 gap-y-5',
164
+ className
165
+ )}
166
+ >
167
+ <div className='flex flex-row justify-between'>
168
+ <div className='flex flex-col gap-2.5'>
169
+ <div className='text-[16px] font-bold text-gray-500'>
170
+ Starting Price
118
171
  </div>
119
- <Divider className="w-[1px] !h-[105px]" />
120
- <div className='flex flex-col gap-2.5'>
121
- <div className='text-[16px] font-bold text-gray-500'>
122
- Auction ends in
123
- </div>
124
- <div className='flex flex-row gap-8'>
125
- <div className='flex flex-col'>
126
- <div className='text-[40px] leading-[normal] font-semibold'>
127
- 5
128
- </div>
129
- <div className='text-[14px] font-bold'>
130
- days
131
- </div>
132
- </div>
133
- <div className='flex flex-col'>
134
- <div className='text-[40px] leading-[normal] font-semibold'>
135
- 16
136
- </div>
137
- <div className='text-[14px] font-bold'>
138
- hours
139
- </div>
140
- </div>
141
- <div className='flex flex-col'>
142
- <div className='text-[40px] leading-[normal] font-semibold'>
143
- 36
144
- </div>
145
- <div className='text-[14px] font-bold'>
146
- minutes
147
- </div>
148
- </div>
149
- </div>
172
+ <div className='text-[40px] font-semibold text-colorDefault'>
173
+ <Price
174
+ currencyCode={productDetails.price.currency}
175
+ value={auctionData.starting_price}
176
+ />
150
177
  </div>
151
178
  </div>
152
-
153
- <div className='text-gray-800 font-bold text-[20px]'>
154
- Ends at January 12, 2024 10:15 AM
179
+ <Divider className="w-[1px] !h-[105px]" />
180
+ <div className='flex flex-col gap-2.5'>
181
+ <div className='text-[16px] font-bold text-gray-500'>
182
+ Auction ends in
183
+ </div>
184
+ <Countdown
185
+ date={new Date(auctionData.stop_auction_time)}
186
+ renderer={renderer}
187
+ />
155
188
  </div>
189
+ </div>
156
190
 
157
- <Button
158
- priority='high'
159
- classes={{
160
- content: 'capitalize text-[16px] font-semibold'
161
- }}
162
- onClick={() => setOpen(true)}
163
- >
164
- Place Bid
165
- </Button>
166
-
167
- <BidList {...props} />
191
+ <div className='text-gray-800 font-bold text-[20px]'>
192
+ {/* Ends at January 12, 2024 10:15 AM */}
193
+ Ends at {month[endDate.getMonth()] + ' ' + endDate.getDate() + ', ' + endDate.getFullYear() + ' ' + endDate.getHours() + ':' + endDate.getMinutes() + ':' + endDate.getSeconds()}
168
194
  </div>
169
- </>
170
- )
195
+
196
+ <Button
197
+ priority='high'
198
+ classes={{
199
+ content: 'capitalize text-[16px] font-semibold'
200
+ }}
201
+ onClick={() => setOpen(true)}
202
+ >
203
+ Place Bid
204
+ </Button>
205
+
206
+ <BidList {...props} />
207
+ </div>
208
+ </>
171
209
  }
172
210
 
173
211
  export default AuctionDetail;
@@ -6,14 +6,11 @@ const preOrderInfo = (props) => {
6
6
  const { className, productDetails } = props
7
7
 
8
8
  const preorderData = productDetails ? productDetails.preorder : null;
9
-
10
- console.log(preorderData)
9
+
11
10
  const isPreOrder = preorderData && preorderData.is_preorder ? true : false;
12
11
  const preOrderNotes = preorderData ? preorderData.preorder_notes : null;
13
12
  const preOrderAvailableDate = preorderData ? new Date(preorderData.preorder_availability) : null;
14
13
 
15
- // console.log(preOrderNotes)
16
- // console.log(productDetails)
17
14
  const month = ["January","February","March","April","May","June","July","August","September","October","November","December"];
18
15
 
19
16
  return isPreOrder ? (
@@ -508,7 +508,7 @@ const ProductFullDetail = props => {
508
508
  value={productDetails.price.value}
509
509
  />
510
510
  </p>
511
- {/* <AuctionDetail className="auction_detail-container" /> */}
511
+ <AuctionDetail productDetails={productDetails} className="auction_detail-container" />
512
512
  <PreorderDetail productDetails={productDetails} className={'preorder_detail-container'} />
513
513
  <small className='shipping-calculation-notes text-gray-200 text-xs'>
514
514
  Shipping method is calculated on checkout
@@ -66,8 +66,8 @@
66
66
  line-height: 1.5;
67
67
  }
68
68
 
69
- .root p + ol,
70
- .root p + ul {
69
+ .root p+ol,
70
+ .root p+ul {
71
71
  margin-top: 0;
72
72
  }
73
73
 
@@ -143,4 +143,4 @@
143
143
  .root h6 {
144
144
  font-size: 1rem;
145
145
  }
146
- }
146
+ }
@@ -35,7 +35,6 @@ const SearchBar = React.forwardRef((props, ref) => {
35
35
  ];
36
36
 
37
37
  const handleSelect = (option) => {
38
- // console.log('Selected:', option);
39
38
  };
40
39
 
41
40
  return (
@@ -0,0 +1,137 @@
1
+ @import './tokens.module.css';
2
+
3
+ :global(*) {
4
+ /* composes: box-border from global; */
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ /* TODO @TW: cannot compose */
9
+ :global(html) {
10
+ /* composes: text-[100%] from global; */
11
+ font-size: 100%;
12
+ /* composes: text-normal from global; */
13
+ font-weight: 400;
14
+ /* composes: leading-none from global; */
15
+ line-height: 1;
16
+ /* composes: antialiased from global; */
17
+ -moz-osx-font-smoothing: grayscale;
18
+ -webkit-font-smoothing: antialiased;
19
+ }
20
+
21
+ :global(html[data-scroll-lock='true']),
22
+ :global(html[data-scroll-lock='true'] body) {
23
+ height: 100%;
24
+ overflow: hidden;
25
+ position: fixed;
26
+ width: 100%;
27
+ }
28
+
29
+ /* TODO @TW: cannot compose */
30
+ :global(body),
31
+ :global(button),
32
+ :global(input),
33
+ :global(select),
34
+ :global(textarea) {
35
+ /* composes: text-gray-900 from global; */
36
+ /* color: rgb(var(--venia-global-color-text)); */
37
+ color: rgb(23 32 38);
38
+ }
39
+
40
+ :global(body) {
41
+ /* composes: m-0 from global; */
42
+ margin: 0;
43
+ /* composes: p-0 from global; */
44
+ padding: 0;
45
+ }
46
+
47
+ :global(h1),
48
+ :global(h2),
49
+ :global(h3),
50
+ :global(h4),
51
+ :global(h5),
52
+ :global(h6) {
53
+ /* composes: font-base from global; */
54
+ font-size: 1rem;
55
+ /* composes: font-normal from global; */
56
+ font-weight: 400;
57
+ /* composes: m-0 from global; */
58
+ margin: 0;
59
+ }
60
+
61
+ :global(h1) {
62
+ /* composes: text-xl from global; */
63
+ font-size: 1.5rem;
64
+ }
65
+
66
+ :global(h2) {
67
+ /* composes: text-lg from global; */
68
+ font-size: 1.25rem;
69
+ }
70
+
71
+ :global(a) {
72
+ /* composes: text-current from global; */
73
+ color: currentColor;
74
+ /* composes: no-underline from global; */
75
+ text-decoration: none;
76
+ }
77
+
78
+ :global(p) {
79
+ /* composes: m-0 from global; */
80
+ margin: 0;
81
+ }
82
+
83
+ :global(dl),
84
+ :global(ol),
85
+ :global(ul) {
86
+ /* composes: list-none from global; */
87
+ list-style-type: none;
88
+ /* composes: m-0 from global; */
89
+ margin: 0;
90
+ /* composes: p-0 from global; */
91
+ padding: 0;
92
+ }
93
+
94
+ :global(dd),
95
+ :global(dt) {
96
+ /* composes: m-0 from global; */
97
+ margin: 0;
98
+ }
99
+
100
+ /* TODO @TW: cannot compose */
101
+ :global(button) {
102
+ /* composes: bg-transparent from global; */
103
+ background: none;
104
+ /* composes: border-0 from global; */
105
+ border: 0;
106
+ /* composes: cursor-pointer from global; */
107
+ cursor: pointer;
108
+ /* composes: text-[100%] from global; */
109
+ font-size: 100%;
110
+ /* composes: p-0 from global; */
111
+ padding: 0;
112
+ touch-action: manipulation;
113
+ /* composes: select-none from global; */
114
+ user-select: none;
115
+ /* composes: appearance-none from global; */
116
+ -webkit-appearance: none;
117
+ }
118
+
119
+ :global(button:disabled) {
120
+ /* composes: cursor-default from global; */
121
+ cursor: default;
122
+ touch-action: none;
123
+ }
124
+
125
+ :global(.braintree-sheet__content--form
126
+ .braintree-form__field-group
127
+ .braintree-form__field
128
+ .braintree-form__hosted-field
129
+ input.braintree-form__raw-input) {
130
+ color: #8f8f8f !important;
131
+ }
132
+
133
+ :global(.braintree-sheet__content--form
134
+ .braintree-form__field-group
135
+ .braintree-form__descriptor) {
136
+ color: #757575 !important;
137
+ }