@riosst100/pwa-marketplace 2.7.7 → 2.7.8

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@riosst100/pwa-marketplace",
3
3
  "author": "riosst100@gmail.com",
4
- "version": "2.7.7",
4
+ "version": "2.7.8",
5
5
  "main": "src/index.js",
6
6
  "pwa-studio": {
7
7
  "targets": {
@@ -46,7 +46,7 @@ const LinkToOtherStores = (props) => {
46
46
  if (store.product_link) {
47
47
  const logo = getLogo(store.stores);
48
48
  finalLinkToOtherStores.push(
49
- <a href={store.product_link} className='platform_logo-wrapper rounded-md px-5 py-2.5 border border-gray-100 flex items-center' target="_blank">
49
+ <a href={store.product_link} className='platform_logo-wrapper rounded-md px-5 py-2.5 border border-gray-100 flex items-center w-full justify-center' target="_blank">
50
50
  {logo ? <img
51
51
  alt={store.stores}
52
52
  width={60}
@@ -61,10 +61,10 @@ const LinkToOtherStores = (props) => {
61
61
 
62
62
  return finalLinkToOtherStores && finalLinkToOtherStores.length ? <>
63
63
  <section className='product_from-other-platform py-xs'>
64
- <div className='title-section text-gray-400 text-sm flex mb-3 pl-[1rem]'>
64
+ <div className='title-section text-gray-400 text-sm flex mb-3 px-[15px]'>
65
65
  Also available in
66
66
  </div>
67
- <div className='content-section platform-container flex gap-x-2.5 pl-[1rem]'>
67
+ <div className='content-section platform-container flex gap-x-2.5 pl-[1rem] px-[15px] justify-between'>
68
68
  {finalLinkToOtherStores}
69
69
  </div>
70
70
  </section>
@@ -249,7 +249,7 @@ const ProductContent = props => {
249
249
  <>
250
250
  <div className='w-full mb-[30px]'>
251
251
  <SellerMegaMenu
252
- rootClassName={cn('nav-menu w-full max-w-[1210px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
252
+ rootClassName={cn('nav-menu w-full max-w-[1300px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
253
253
  sellerMegaMenuItemClassname={cn('px-0 py-[10px] leading-[20px]')}
254
254
  seller={seller}
255
255
  titleClassName={cn('font-normal leading-[20px]')}
@@ -87,7 +87,7 @@ const AccountMenu = React.forwardRef((props, ref) => {
87
87
  }
88
88
 
89
89
  return (
90
- <aside className={cn(rootClass, '!top-[57px] max-w-[1210px]')} data-cy="AccountMenu-root">
90
+ <aside className={cn(rootClass, '!top-[57px] max-w-[1300px]')} data-cy="AccountMenu-root">
91
91
  <div ref={ref} className={contentsClass}>
92
92
  {accountMenuIsOpen ? dropdownContents : null}
93
93
  </div>
@@ -7,8 +7,8 @@
7
7
  composes: mt-[10px] from global;
8
8
  composes: mb-[24px] from global;
9
9
  composes: my-[10px] from global;
10
- padding-top: 20px;
11
- margin-bottom: 40px;
10
+ padding-top: 10px;
11
+ margin-bottom: 25px;
12
12
  }
13
13
 
14
14
  .text {
@@ -12,7 +12,7 @@ import { useHeader } from '@magento/peregrine/lib/talons/Header/useHeader';
12
12
  import resourceUrl from '@magento/peregrine/lib/util/makeUrl';
13
13
 
14
14
  import { useStyle } from '@magento/venia-ui/lib/classify';
15
- import defaultClasses from '@magento/venia-ui/lib/components/Header/header.module.css';
15
+ import defaultClasses from './header.module.css';
16
16
  import StoreSwitcher from '@magento/venia-ui/lib/components/Header/storeSwitcher';
17
17
  import WebsiteSwitcher from '@riosst100/pwa-marketplace/src/components/WebsiteSwitcher/websiteSwitcher';
18
18
  // import CurrencySwitcher from '@magento/venia-ui/lib/components/Header/currencySwitcher';
@@ -76,7 +76,7 @@ const Header = props => {
76
76
  <Fragment>
77
77
  <PageLoadingIndicator absolute />
78
78
  <div className={cn(classes.switchersContainer, '!bg-white border-b border-gray-100')}>
79
- <div className={cn(classes.switchers, 'flex flex-row gap-x-[25px] !py-2')} data-cy="Header-switchers">
79
+ <div className={cn(classes.switchers, 'max-w-[1300px] flex flex-row gap-x-[25px] !py-2')} data-cy="Header-switchers">
80
80
  <BecomeSellerLink />
81
81
  <WebsiteSwitcher />
82
82
  <StoreSwitcher />
@@ -85,7 +85,7 @@ const Header = props => {
85
85
  </div>
86
86
  <header className={cn(rootClass, '!flex flex-col !px-0 border-gray-100 ')} data-cy="Header-root">
87
87
  <div className={cn('middle-header border-b border-gray-100')}>
88
- <div className={cn('w-full max-w-[1210px] px-[15px] py-[10px] mx-[auto] flex justify-between items-center')}>
88
+ <div className={cn('w-full max-w-[1300px] px-[15px] py-[10px] mx-[auto] flex justify-between items-center')}>
89
89
  <div className='flex items-center'>
90
90
  <NavTrigger />
91
91
 
@@ -138,7 +138,7 @@ const Header = props => {
138
138
  </div>
139
139
  </div>
140
140
  <MegaMenu
141
- rootClassName={cn('nav-menu w-full max-w-[1210px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
141
+ rootClassName={cn('nav-menu w-full max-w-[1300px] px-[15px] mx-[auto] flex-row gap-x-[40px]')}
142
142
  megaMenuItemClassname={cn('px-0 py-[10px] leading-[20px]')}
143
143
  titleClassName={cn('font-normal leading-[20px]')}
144
144
  />
@@ -0,0 +1,173 @@
1
+ .root {
2
+ composes: auto-cols-fr from global;
3
+ composes: bg-header from global;
4
+ composes: border-b from global;
5
+ composes: border-subtle from global;
6
+ composes: grid from global;
7
+ composes: h-auto from global;
8
+ composes: justify-center from global;
9
+ composes: px-4 from global;
10
+ composes: top-0 from global;
11
+ composes: sticky from global;
12
+ composes: w-full from global;
13
+ composes: z-header from global;
14
+
15
+ composes: lg_px-8 from global;
16
+ }
17
+
18
+ .switchers {
19
+ composes: auto-cols-max from global;
20
+ composes: grid from global;
21
+ composes: grid-flow-col from global;
22
+ composes: justify-end from global;
23
+ /* composes: max-w-site from global; */
24
+ composes: mx-auto from global;
25
+ composes: relative from global;
26
+ composes: w-full from global;
27
+ composes: z-menu from global;
28
+ }
29
+
30
+ .switchersContainer {
31
+ composes: bg-gray-100 from global;
32
+ composes: hidden from global;
33
+ composes: px-8 from global;
34
+ composes: w-full from global;
35
+ }
36
+
37
+ /* Large screen styles */
38
+ .switchersContainer {
39
+ composes: sm_block from global;
40
+ }
41
+
42
+ .open {
43
+ composes: root;
44
+ }
45
+
46
+ .closed {
47
+ composes: root;
48
+ }
49
+
50
+ .toolbar {
51
+ composes: border-0 from global;
52
+ composes: content-center from global;
53
+ composes: gap-x-4 from global;
54
+ composes: grid from global;
55
+ composes: grid-cols-3 from global;
56
+ composes: grid-rows-header from global;
57
+ composes: h-14 from global;
58
+ composes: items-center from global;
59
+ composes: justify-self-center from global;
60
+ composes: max-w-site from global;
61
+ composes: w-full from global;
62
+ composes: z-header from global;
63
+
64
+ composes: lg_h-20 from global;
65
+ composes: lg_gap-x-8 from global;
66
+ composes: lg_grid-cols-12 from global;
67
+ }
68
+
69
+ .logo {
70
+ height: var(--height);
71
+ width: var(--width);
72
+ }
73
+
74
+ .primaryActions {
75
+ composes: col-start-1 from global;
76
+ composes: grid from global;
77
+ composes: grid-flow-col from global;
78
+ composes: justify-self-start from global;
79
+ composes: row-start-1 from global;
80
+ composes: self-center from global;
81
+ }
82
+
83
+ .logoContainer {
84
+ composes: col-start-2 from global;
85
+ composes: justify-self-center from global;
86
+
87
+ composes: lg_col-end-3 from global;
88
+ composes: lg_col-start-1 from global;
89
+ composes: lg_justify-self-start from global;
90
+ composes: lg_mr-8 from global;
91
+ composes: lg_row-start-1 from global;
92
+ }
93
+
94
+ .secondaryActions {
95
+ composes: col-start-3 from global;
96
+ composes: grid from global;
97
+ composes: grid-flow-col from global;
98
+ composes: items-center from global;
99
+ composes: justify-items-end from global;
100
+ composes: justify-self-end from global;
101
+ composes: w-max from global;
102
+
103
+ composes: lg_col-end-13 from global;
104
+ composes: lg_col-start-10 from global;
105
+ composes: lg_gap-x-4 from global;
106
+ }
107
+
108
+ .searchFallback {
109
+ composes: flex from global;
110
+ composes: justify-center from global;
111
+ composes: mb-2 from global;
112
+ composes: px-4 from global;
113
+ }
114
+
115
+ .input {
116
+ composes: input from '../TextInput/textInput.module.css';
117
+
118
+ @apply max-w-sm;
119
+ }
120
+
121
+ .loader,
122
+ .loaderBefore,
123
+ .loaderAfter {
124
+ --dot-size: 2em;
125
+ --dot-font-size: 6px;
126
+ --dot-shadow-offset: calc(-1 * var(--dot-size) + var(--dot-font-size));
127
+
128
+ composes: rounded-full from global;
129
+ width: var(--dot-size);
130
+ height: var(--dot-size);
131
+ animation: pulse 1.8s infinite ease-in-out;
132
+ animation-fill-mode: both;
133
+ }
134
+
135
+ .loader {
136
+ composes: mb-0 from global;
137
+ composes: mx-auto from global;
138
+ composes: relative from global;
139
+ composes: text-subtle from global;
140
+ font-size: var(--dot-font-size);
141
+ margin-top: var(--dot-shadow-offset);
142
+ transform: translateZ(0);
143
+ animation-delay: -0.16s;
144
+ }
145
+
146
+ .loaderBefore,
147
+ .loaderAfter {
148
+ composes: content-empty from global;
149
+ composes: absolute from global;
150
+ composes: top-0 from global;
151
+ }
152
+
153
+ .loaderBefore {
154
+ composes: left-[-3.5em] from global;
155
+ composes: text-gray-100 from global;
156
+ animation-delay: -0.32s;
157
+ }
158
+
159
+ .loaderAfter {
160
+ composes: left-[3.5em] from global;
161
+ composes: text-gray-600 from global;
162
+ }
163
+
164
+ @keyframes pulse {
165
+ 0%,
166
+ 80%,
167
+ 100% {
168
+ box-shadow: 0 var(--dot-size) 0 -1.3em;
169
+ }
170
+ 40% {
171
+ box-shadow: 0 var(--dot-size) 0 0;
172
+ }
173
+ }
@@ -11,7 +11,7 @@
11
11
 
12
12
  .page {
13
13
  composes: md_max-w-screen-md from global;
14
- composes: lg_max-w-[1210px] from global;
14
+ composes: lg_max-w-[1300px] from global;
15
15
  composes: mx-auto from global;
16
16
  composes: my-0 from global;
17
17
  composes: px-[15px] from global;
@@ -11,7 +11,7 @@
11
11
 
12
12
  .submenuContainer {
13
13
  composes: w-full from global;
14
- composes: max-w-[1210px] from global;
14
+ composes: max-w-[1300px] from global;
15
15
  composes: mx-[auto] from global;
16
16
  composes: gap-[15px] from global;
17
17
  composes: max-h-[50vh] from global;
@@ -24,7 +24,7 @@ const CustomAttributes = props => {
24
24
  const attributeContent = (
25
25
  <li
26
26
  key={currentAttribute.attribute_metadata.uid}
27
- className={cn(classes.listItem, '!text-[14px] py-1')}
27
+ className={cn(classes.listItem, '!text-[14px] py-2')}
28
28
  >
29
29
  <AttributeType
30
30
  showLabels={showLabels}
@@ -22,7 +22,7 @@ import cn from 'classnames';
22
22
  import Tabs from '@riosst100/pwa-marketplace/src/components/commons/Tabs';
23
23
  import ProductReviews from './components/productReview';
24
24
  import RichText from '@magento/venia-ui/lib/components/RichText';
25
- import { Star1, Verify, Sms, Message, Shop } from 'iconsax-react';
25
+ import { Star1, Verify, Sms, Message, Shop, ArrowUp2 } from 'iconsax-react';
26
26
  import { Link } from "react-router-dom";
27
27
  import Divider from '@riosst100/pwa-marketplace/src/components/Divider';
28
28
 
@@ -216,12 +216,11 @@ const ProductFullDetail = props => {
216
216
  );
217
217
  // Error message for screen reader
218
218
  const cartActionContent = isSupportedProductType ? (
219
- <section className={cn(classes.actButton, 'flex gap-x-[20px] px-[12px] py-0')}>
219
+ <section className={cn(classes.actButton, 'justify-between flex gap-x-[20px] px-[15px] py-0')}>
220
220
  <RFQ
221
221
  disabled={isAddToCartDisabled}
222
- classes={{ rfqButton: classes.rfqButton }}
222
+ classes={{ rfqButton: cn(classes.rfqButton, "w-full") }}
223
223
  />
224
-
225
224
  <Button
226
225
  data-cy="ProductFullDetail-addToCartButton"
227
226
  disabled={isAddToCartDisabled}
@@ -237,7 +236,7 @@ const ProductFullDetail = props => {
237
236
  }
238
237
  classes={{
239
238
  rootClass: '!px-0 !py-3',
240
- content: 'normal-case font-medium text-[14px]'
239
+ content: 'w-full normal-case font-medium text-[14px]'
241
240
  }}
242
241
  priority="high"
243
242
  type="submit"
@@ -291,9 +290,9 @@ const ProductFullDetail = props => {
291
290
  </div>
292
291
  );
293
292
 
294
- const ProductMoreInfo = ({ className }) => (
293
+ const ProductMoreInfo = () => (
295
294
  <>
296
- <div className={cn(contentContainerClass, className)}>
295
+ <div className={cn(contentContainerClass, classes.contentContainerTabOverride)}>
297
296
  <CustomAttributes
298
297
  customAttributes={customAttributesDetails.list}
299
298
  classes={{ list: classes.customAttributesList }}
@@ -385,11 +384,14 @@ const ProductFullDetail = props => {
385
384
  return attr.entered_attribute_value?.value || "";
386
385
  };
387
386
 
388
-
389
387
  const setNameValue = getAttributeValue(customAttributesDetails, "card_set", true);
390
- const conditionValue = getAttributeValue(customAttributesDetails, "card_condition");
391
-
392
- const ExpandableSection = ({ children, maxHeight = 280 }) => {
388
+ const cardNameValue = getAttributeValue(customAttributesDetails, "card_name", true);
389
+ const cardNumberValue = getAttributeValue(customAttributesDetails, "card_number", true);
390
+ const rarityValue = getAttributeValue(customAttributesDetails, "card_rarity", true);
391
+ const featureValue = getAttributeValue(customAttributesDetails, "card_feature", true);
392
+ const conditionValue = getAttributeValue(customAttributesDetails, "card_condition", true);
393
+ const foilValue = getAttributeValue(customAttributesDetails, "card_foil", true);
394
+ const ExpandableSection = ({ children, maxHeight = 480 }) => {
393
395
  const [expanded, setExpanded] = useState(false);
394
396
  const [showButton, setShowButton] = useState(false);
395
397
  const contentRef = useRef(null);
@@ -417,50 +419,54 @@ const ProductFullDetail = props => {
417
419
  const isDesktop = typeof window !== "undefined" && window.innerWidth >= 769;
418
420
 
419
421
  return (
420
- <div className="relative">
421
- <div
422
- ref={contentRef}
423
- style={{
424
- maxHeight:
425
- isDesktop && showButton && !expanded
426
- ? `${maxHeight}px`
427
- : "none",
428
- overflow: "hidden",
429
- transition: "max-height 0.3s ease"
430
- }}
431
- >
432
- {children}
433
- </div>
434
-
435
- {isDesktop && !expanded && showButton && (
436
- <div className="absolute bottom-0 left-0 w-full h-16 bg-gradient-to-t to-transparent pointer-events-none" />
437
- )}
422
+ <>
423
+ <div className="relative">
424
+ <div
425
+ ref={contentRef}
426
+ style={{
427
+ maxHeight:
428
+ isDesktop && showButton && !expanded
429
+ ? `${maxHeight}px`
430
+ : "none",
431
+ overflow: "hidden",
432
+ transition: "max-height 0.3s ease"
433
+ }}
434
+ >
435
+ {children}
436
+ </div>
438
437
 
438
+ {isDesktop && !expanded && showButton && (
439
+ <div className={cn("absolute bottom-0 left-0 w-full h-16 bg-gradient-to-t to-transparent pointer-events-none", classes.productDetailsMaxContent)}/>
440
+ )}
441
+ </div>
439
442
  {isDesktop && showButton && (
440
443
  <button
441
444
  type="button"
442
445
  onClick={() => setExpanded(!expanded)}
443
- className="mt-2 text-blue-600 font-medium underline focus:outline-none"
446
+ className="mt-0 text-[14px] text-blue-600 font-medium underline focus:outline-none"
444
447
  >
445
- {expanded ? "Show Less" : "Read More"}
448
+ {expanded ? "Show Less" : "Read More"} <ArrowUp2 size="14" style={{
449
+ "display": "inline-block",
450
+ "marginLeft": "5px"
451
+ }} className={cn(expanded ? 'rotate-0 ' : 'rotate-180', 'transition-all stroke-current')} variant="Outline" />
446
452
  </button>
447
453
  )}
448
- </div>
454
+ </>
449
455
  );
450
456
  };
451
457
 
452
458
  const dataTabs =
453
459
  [
460
+ {
461
+ id: 'product-more-info',
462
+ title: 'Product Information',
463
+ content: <ProductMoreInfo />
464
+ },
454
465
  {
455
466
  id: 'product-detail',
456
- title: 'Description',
467
+ title: 'Product Description',
457
468
  content: <ProductDescription />
458
469
  },
459
- // {
460
- // id: 'product-more-info',
461
- // title: 'Details',
462
- // content: <ProductMoreInfo />
463
- // },
464
470
  {
465
471
  id: 'product-tnc',
466
472
  title: 'Term & Conditions',
@@ -551,32 +557,42 @@ const ProductFullDetail = props => {
551
557
  aria-live="polite"
552
558
  className={cn(
553
559
  classes.productName,
554
- '!font-medium leading-[normal] mb-4 line-clamp-2 !text-[1.5rem]'
560
+ '!font-medium leading-[1] mb-1.5 line-clamp-2 !text-[1.5rem]'
555
561
  )}
556
562
  data-cy="ProductFullDetail-productName"
557
563
  >
558
564
  {productDetails.name}
559
565
  </h1>
560
- {setNameValue && (
561
- <div className="text-gray-400 text-sm mb-2">{setNameValue}</div>
562
- )}
563
566
  </div>
564
- <section className="bottom_right-container block sm_flex md_flex lg_flex xl_flex 2xl_flex gap-[7px]">
565
- <section className='right_left-container'>
566
- <ExpandableSection maxHeight={280}>
567
- <div
568
- className={cn(
569
- 'product_short_description',
570
- 'mb-xs',
567
+ <section className="bottom_right-container justify-center gap-x-6 block sm_flex md_flex lg_flex xl_flex 2xl_flex gap-[7px]">
568
+ <section className='right_left-container w-full'>
569
+ <ExpandableSection>
570
+ <div className="text-sm leading-6 leading-[2.5rem]">
571
+ {setNameValue && (
572
+ <p><strong>Set Name:</strong> {setNameValue}</p>
573
+ )}
574
+ {cardNameValue && (
575
+ <p><strong>Card Name:</strong> {cardNameValue}</p>
576
+ )}
577
+ {cardNumberValue && (
578
+ <p><strong>Card Number:</strong> {cardNumberValue}</p>
579
+ )}
580
+ {rarityValue && (
581
+ <p><strong>Rarity:</strong> {rarityValue}</p>
582
+ )}
583
+ {featureValue && (
584
+ <p><strong>Feature:</strong> {featureValue}</p>
585
+ )}
586
+ {conditionValue && (
587
+ <p><strong>Condition:</strong> {conditionValue}</p>
588
+ )}
589
+ {foilValue && (
590
+ <p><strong>Foil/Non Foil:</strong> {foilValue}</p>
571
591
  )}
572
- >
573
- <p className="font-bold text-[15px] mb-3">Product Details</p>
574
- {shortDescription}
575
- <ProductMoreInfo className="!mt-0 lg:!mt-0 !p-0" />
576
592
  </div>
577
593
  </ExpandableSection>
578
594
  </section>
579
- <section className='right_right-container'>
595
+ <section className='right_right-container w-full'>
580
596
  <div className={cn('product_purchase-section', 'border border-[lightgray] rounded-[10px] mb-[15px]')}>
581
597
  <div
582
598
  className={cn(
@@ -584,13 +600,8 @@ const ProductFullDetail = props => {
584
600
  'flex justify-between flex-wrap gap-y-5'
585
601
  )}
586
602
  >
587
- <div className='flex flex-col gap-y-3 pl-[1rem] pt-[1.5rem]'>
588
- <div className='flex flex-col gap-y-3'>
589
- {conditionValue && (
590
- <div className="text-gray-600 text-sm mb-1">
591
- {conditionValue}
592
- </div>
593
- )}
603
+ <div className='flex flex-col gap-y-2 pl-[1rem] pt-[1rem]'>
604
+ <div className='flex flex-col gap-y-1'>
594
605
  <p
595
606
  data-cy="ProductFullDetail-productPrice"
596
607
  className={cn(
@@ -613,7 +624,7 @@ const ProductFullDetail = props => {
613
624
  <div className='flex flex-col xs_items-center md_items-start gap-[6px] relative'>
614
625
  <div className="gap-x-[10px] gap-y-1 flex xs_flex-col md_flex-row xs_items-center md_items-start relative">
615
626
  <Link to={"/seller/"+sellerDetails.url_key} class="flex items-center justify-center gap-[5px] py-1 relative bg-white">
616
- <div class="flex items-center justify-center gap-[10px] relative">
627
+ <div class="flex items-center justify-center gap-[5px] relative">
617
628
  <p>Sold by</p>
618
629
  <div class="relative xs_hidden lg_flex w-fit font-medium text-[#f76b1c] text-[14px] tracking-[0] leading-[20px] whitespace-nowrap">
619
630
  {sellerDetails ? sellerDetails.name : ''}
@@ -633,7 +644,7 @@ const ProductFullDetail = props => {
633
644
  { options &&
634
645
  <section className={classes.options}>{options}</section>
635
646
  }
636
- <section className={cn(classes.quantity, 'py-xs !border-none')}>
647
+ <section className={cn(classes.quantity, 'pb-[20px] pt-[10px] !border-none')}>
637
648
  <div className='product_group-actions flex gap-x-[18px] gap-y-4 pl-[1rem] items-center mt-2 lg_mt-0 mb-6 lg_mb-0'>
638
649
  <QuantityStepper
639
650
  min={1}
@@ -657,9 +668,12 @@ const ProductFullDetail = props => {
657
668
  </div>
658
669
  </section>
659
670
  </div>
671
+ <div className={cn('product_otherlink-section', 'border border-[lightgray] rounded-[10px] mb-[15px]')}>
672
+ <LinkToOtherStores productDetails={productDetails} />
673
+ </div>
660
674
  <section>
661
675
  <div
662
- className="text-center pt-3 pb-3 cursor-pointer border border-[lightgray] rounded-[10px] mb-[15px]"
676
+ className="text-center pt-3 pb-3 cursor-pointer border border-[lightgray] rounded-[10px]"
663
677
  onClick={() => {
664
678
  const section = document.getElementById("cross-seller-section");
665
679
  if (section) {
@@ -667,7 +681,7 @@ const ProductFullDetail = props => {
667
681
  }
668
682
  }}
669
683
  >
670
- <span className="font-bold underline">
684
+ <span className="font-bold underline text-[14px]">
671
685
  View {totalListings} Other Listings
672
686
  </span>
673
687
  <p className="text-sm text-gray-600">
@@ -675,9 +689,6 @@ const ProductFullDetail = props => {
675
689
  </p>
676
690
  </div>
677
691
  </section>
678
- <div className={cn('product_otherlink-section', 'border border-[lightgray] rounded-[10px]')}>
679
- <LinkToOtherStores productDetails={productDetails} />
680
- </div>
681
692
  </section>
682
693
  </section>
683
694
  </section>
@@ -4,6 +4,15 @@
4
4
  composes: lg_items-start from global;
5
5
  composes: gap-x-10 from global;
6
6
  }
7
+ .productDetailsMaxContent{
8
+ background: linear-gradient(0deg,#fff 20px,#fff0);
9
+ position: absolute;
10
+ bottom: 0;
11
+ left: 0;
12
+ width: 100%;
13
+ height: 30%;
14
+ content: "";
15
+ }
7
16
  .rfqButton {
8
17
  padding: 10px 0px;
9
18
  }
@@ -12,6 +21,9 @@
12
21
  }
13
22
  .customAttributesList {
14
23
  padding-left: 0 !important;
24
+ column-count: 2;
25
+ column-gap: 2rem;
26
+ list-style: none;
15
27
  }
16
28
  .contentContainerTabOverride {
17
29
  max-width: none !important;
@@ -48,6 +60,12 @@
48
60
  grid-area: title; */
49
61
  }
50
62
 
63
+ .productDetailTabs {
64
+ border-bottom: 1px solid #d3d3d3;
65
+ padding-bottom: 10px;
66
+ margin-bottom: 15px;
67
+ }
68
+
51
69
  .productName {
52
70
  composes: font-medium from global;
53
71
  composes: text-colorDefault from global;
@@ -22,6 +22,7 @@
22
22
  }
23
23
 
24
24
  .imageContainer {
25
+ composes: h-full from global;
25
26
  composes: w-full from global;
26
27
  grid-area: 1 / 1 / 2 / 4;
27
28
  }
@@ -37,7 +38,7 @@
37
38
  }
38
39
 
39
40
  .carouselContainer {
40
- composes: flex items-center justify-center p-4 bg-[#f7f7f8] rounded-md max-h-[660px] from global;
41
+ composes: flex items-center justify-center p-4 bg-[#f7f7f8] rounded-md h-[540px] max-h-[540px] from global;
41
42
  }
42
43
 
43
44
  .currentImage_placeholder {