tabexseriescomponents 0.0.705 → 0.0.707

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 (352) hide show
  1. package/dist/index.cjs.js +1070 -1797
  2. package/dist/index.esm.js +1070 -1797
  3. package/dist/index.umd.js +1070 -1798
  4. package/package.json +1 -1
  5. package/srcoriginal/Contexts/LanguageContext.jsx +408 -0
  6. package/srcoriginal/Contexts/ProductsCardsSectionContext.jsx +36 -0
  7. package/srcoriginal/Imagekitconfig.jsx +46 -0
  8. package/srcoriginal/StylesJS/Customstyles.js +345 -0
  9. package/srcoriginal/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +376 -0
  10. package/srcoriginal/TabexComponents/Cards/Card20/Card20.jsx +298 -0
  11. package/srcoriginal/TabexComponents/Cards/Card21/Card21.jsx +388 -0
  12. package/srcoriginal/TabexComponents/Cards/Card22/Card22.jsx +288 -0
  13. package/srcoriginal/TabexComponents/Cards/Card23/Card23 copy.jsx +1630 -0
  14. package/srcoriginal/TabexComponents/Cards/Card23/Card23.jsx +733 -0
  15. package/srcoriginal/TabexComponents/Cards/CardAll/CardAll.jsx +453 -0
  16. package/srcoriginal/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +394 -0
  17. package/srcoriginal/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +70 -0
  18. package/srcoriginal/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +211 -0
  19. package/srcoriginal/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +255 -0
  20. package/srcoriginal/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +235 -0
  21. package/srcoriginal/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +199 -0
  22. package/srcoriginal/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +182 -0
  23. package/srcoriginal/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +181 -0
  24. package/srcoriginal/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +161 -0
  25. package/srcoriginal/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +184 -0
  26. package/srcoriginal/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +560 -0
  27. package/srcoriginal/TabexComponents/Cards/Classiccategorycard/Classiccategorycard copy.jsx +145 -0
  28. package/srcoriginal/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +147 -0
  29. package/srcoriginal/TabexComponents/Cards/Classiccategorycard/ClassiccategorycardOriginal.jsx +142 -0
  30. package/srcoriginal/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +193 -0
  31. package/srcoriginal/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +409 -0
  32. package/srcoriginal/TabexComponents/Cards/MenuCard/MenuCard.jsx +744 -0
  33. package/srcoriginal/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +468 -0
  34. package/srcoriginal/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +593 -0
  35. package/srcoriginal/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +208 -0
  36. package/srcoriginal/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +497 -0
  37. package/srcoriginal/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +512 -0
  38. package/srcoriginal/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +304 -0
  39. package/srcoriginal/TabexComponents/Cards/Productcard6/Productcard6.jsx +257 -0
  40. package/srcoriginal/TabexComponents/Cards/Productcard7/Productcard7.jsx +277 -0
  41. package/srcoriginal/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +352 -0
  42. package/srcoriginal/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +291 -0
  43. package/srcoriginal/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +315 -0
  44. package/srcoriginal/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +327 -0
  45. package/srcoriginal/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +408 -0
  46. package/srcoriginal/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +528 -0
  47. package/srcoriginal/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +600 -0
  48. package/srcoriginal/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +275 -0
  49. package/srcoriginal/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +286 -0
  50. package/srcoriginal/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +137 -0
  51. package/srcoriginal/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +611 -0
  52. package/srcoriginal/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +413 -0
  53. package/srcoriginal/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +225 -0
  54. package/srcoriginal/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +525 -0
  55. package/srcoriginal/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +455 -0
  56. package/srcoriginal/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +905 -0
  57. package/srcoriginal/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +337 -0
  58. package/srcoriginal/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +347 -0
  59. package/srcoriginal/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +605 -0
  60. package/srcoriginal/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +185 -0
  61. package/srcoriginal/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +528 -0
  62. package/srcoriginal/TabexComponents/Footer/Footer1/Footer1.jsx +551 -0
  63. package/srcoriginal/TabexComponents/Footer/Footer2/Footer2.jsx +527 -0
  64. package/srcoriginal/TabexComponents/Footer/Footer3/Footer3.jsx +411 -0
  65. package/srcoriginal/TabexComponents/Footer/Footer4/Footer4.jsx +466 -0
  66. package/srcoriginal/TabexComponents/Footer/Footer5/Footer5.jsx +751 -0
  67. package/srcoriginal/TabexComponents/Footer/Footer6/Footer6.jsx +290 -0
  68. package/srcoriginal/TabexComponents/Footer/Footer7/Footer7.jsx +428 -0
  69. package/srcoriginal/TabexComponents/Footer/Footer8/Footer8.jsx +533 -0
  70. package/srcoriginal/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +330 -0
  71. package/srcoriginal/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +581 -0
  72. package/srcoriginal/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +884 -0
  73. package/srcoriginal/TabexComponents/Footer/Newsletterincenter/Newsletterincenter.jsx +647 -0
  74. package/srcoriginal/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +110 -0
  75. package/srcoriginal/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +316 -0
  76. package/srcoriginal/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  77. package/srcoriginal/TabexComponents/Generalfiles/images/noimage.png +0 -0
  78. package/srcoriginal/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  79. package/srcoriginal/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  80. package/srcoriginal/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  81. package/srcoriginal/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  82. package/srcoriginal/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  83. package/srcoriginal/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  84. package/srcoriginal/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  85. package/srcoriginal/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  86. package/srcoriginal/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  87. package/srcoriginal/TabexComponents/Generalfiles/images/usflag.png +0 -0
  88. package/srcoriginal/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  89. package/srcoriginal/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +1259 -0
  90. package/srcoriginal/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +1049 -0
  91. package/srcoriginal/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +1040 -0
  92. package/srcoriginal/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +1268 -0
  93. package/srcoriginal/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +76 -0
  94. package/srcoriginal/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +894 -0
  95. package/srcoriginal/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +831 -0
  96. package/srcoriginal/TabexComponents/Headers/Header4/Header4.jsx +622 -0
  97. package/srcoriginal/TabexComponents/Headers/Header8/Header8 copy.jsx +1026 -0
  98. package/srcoriginal/TabexComponents/Headers/Header8/Header8.jsx +2016 -0
  99. package/srcoriginal/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +776 -0
  100. package/srcoriginal/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +927 -0
  101. package/srcoriginal/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +704 -0
  102. package/srcoriginal/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +902 -0
  103. package/srcoriginal/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +1228 -0
  104. package/srcoriginal/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +1562 -0
  105. package/srcoriginal/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +1201 -0
  106. package/srcoriginal/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +990 -0
  107. package/srcoriginal/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2 copy.jsx +1639 -0
  108. package/srcoriginal/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +1846 -0
  109. package/srcoriginal/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +1327 -0
  110. package/srcoriginal/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +934 -0
  111. package/srcoriginal/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +78 -0
  112. package/srcoriginal/TabexComponents/Headers/Modernheader/Modernheader.jsx +977 -0
  113. package/srcoriginal/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +778 -0
  114. package/srcoriginal/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +1159 -0
  115. package/srcoriginal/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +1110 -0
  116. package/srcoriginal/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +151 -0
  117. package/srcoriginal/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +854 -0
  118. package/srcoriginal/TabexComponents/Headers/Subheader/Subheader.jsx +863 -0
  119. package/srcoriginal/TabexComponents/Headers/Subheader/Subheader13-3.jsx +685 -0
  120. package/srcoriginal/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +517 -0
  121. package/srcoriginal/TabexComponents/Headers/Subheader/Subheadernew.jsx +555 -0
  122. package/srcoriginal/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +1042 -0
  123. package/srcoriginal/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +1093 -0
  124. package/srcoriginal/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +938 -0
  125. package/srcoriginal/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +533 -0
  126. package/srcoriginal/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +338 -0
  127. package/srcoriginal/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +870 -0
  128. package/srcoriginal/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +302 -0
  129. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +314 -0
  130. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +318 -0
  131. package/srcoriginal/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +179 -0
  132. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +201 -0
  133. package/srcoriginal/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +393 -0
  134. package/srcoriginal/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy 2.jsx +583 -0
  135. package/srcoriginal/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy.jsx +291 -0
  136. package/srcoriginal/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +677 -0
  137. package/srcoriginal/TabexComponents/Sections/BackgroundImages/DynamicForm/habal +348 -0
  138. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +387 -0
  139. package/srcoriginal/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +268 -0
  140. package/srcoriginal/TabexComponents/Sections/BackgroundImages/MapsSection/MapsSection.jsx +288 -0
  141. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Popupcomponent/Popupcomponent.jsx +117 -0
  142. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Searchcomponent/Searchcomponent.jsx +99 -0
  143. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +146 -0
  144. package/srcoriginal/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +462 -0
  145. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +296 -0
  146. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +396 -0
  147. package/srcoriginal/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +616 -0
  148. package/srcoriginal/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +408 -0
  149. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +1399 -0
  150. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +1656 -0
  151. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +1540 -0
  152. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +1938 -0
  153. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection13-3.jsx +1596 -0
  154. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection21-10.jsx +1872 -0
  155. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection21-11beforeform.jsx +1891 -0
  156. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection/CardsSection_cosmoandmore.jsx +1880 -0
  157. package/srcoriginal/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +726 -0
  158. package/srcoriginal/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +719 -0
  159. package/srcoriginal/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +406 -0
  160. package/srcoriginal/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +929 -0
  161. package/srcoriginal/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +646 -0
  162. package/srcoriginal/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +1238 -0
  163. package/srcoriginal/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +582 -0
  164. package/srcoriginal/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +383 -0
  165. package/srcoriginal/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +342 -0
  166. package/srcoriginal/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +161 -0
  167. package/srcoriginal/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +257 -0
  168. package/srcoriginal/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +382 -0
  169. package/srcoriginal/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +760 -0
  170. package/srcoriginal/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection19-11.jsx +757 -0
  171. package/srcoriginal/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +346 -0
  172. package/srcoriginal/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +1679 -0
  173. package/srcoriginal/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +141 -0
  174. package/srcoriginal/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +376 -0
  175. package/srcoriginal/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +385 -0
  176. package/srcoriginal/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +512 -0
  177. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +226 -0
  178. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +149 -0
  179. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +143 -0
  180. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +634 -0
  181. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +520 -0
  182. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +527 -0
  183. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +643 -0
  184. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +477 -0
  185. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +1217 -0
  186. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslideoriginal8-5.jsx +614 -0
  187. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +91 -0
  188. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +380 -0
  189. package/srcoriginal/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +619 -0
  190. package/srcoriginal/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +284 -0
  191. package/srcoriginal/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +614 -0
  192. package/srcoriginal/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +402 -0
  193. package/srcoriginal/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +199 -0
  194. package/srcoriginal/TabexComponents/StaticPages/AddReview/AddReview.jsx +304 -0
  195. package/srcoriginal/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +321 -0
  196. package/srcoriginal/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +797 -0
  197. package/srcoriginal/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +460 -0
  198. package/srcoriginal/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +1306 -0
  199. package/srcoriginal/TabexComponents/StaticPages/Checkout/Checkout.jsx +1911 -0
  200. package/srcoriginal/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +1633 -0
  201. package/srcoriginal/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +1593 -0
  202. package/srcoriginal/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +1574 -0
  203. package/srcoriginal/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +245 -0
  204. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +2888 -0
  205. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter copy.jsx +1450 -0
  206. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter.jsx +2979 -0
  207. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter1-5.jsx +2624 -0
  208. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter13-11.jsx +2758 -0
  209. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter14-8.jsx +2753 -0
  210. package/srcoriginal/TabexComponents/StaticPages/Filter/Filter17-9.jsx +1495 -0
  211. package/srcoriginal/TabexComponents/StaticPages/Filter/VariantFilter.jsx +1271 -0
  212. package/srcoriginal/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +62 -0
  213. package/srcoriginal/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +50 -0
  214. package/srcoriginal/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +35 -0
  215. package/srcoriginal/TabexComponents/StaticPages/Login/Login copy.jsx +1060 -0
  216. package/srcoriginal/TabexComponents/StaticPages/Login/Login.jsx +610 -0
  217. package/srcoriginal/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +172 -0
  218. package/srcoriginal/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +1584 -0
  219. package/srcoriginal/TabexComponents/StaticPages/Policies/Policies.jsx +291 -0
  220. package/srcoriginal/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +194 -0
  221. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +183 -0
  222. package/srcoriginal/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +128 -0
  223. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Article_itemtype.jsx +255 -0
  224. package/srcoriginal/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +176 -0
  225. package/srcoriginal/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +225 -0
  226. package/srcoriginal/TabexComponents/StaticPages/Productinfo/ProductExtras.jsx +92 -0
  227. package/srcoriginal/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +312 -0
  228. package/srcoriginal/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +235 -0
  229. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +2118 -0
  230. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +1554 -0
  231. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Product_itemtype3-11.jsx +1827 -0
  232. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Product_itemtype31-3.jsx +1351 -0
  233. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +1566 -0
  234. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +1947 -0
  235. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +1037 -0
  236. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +966 -0
  237. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +632 -0
  238. package/srcoriginal/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +324 -0
  239. package/srcoriginal/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +145 -0
  240. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Addreviewform.jsx +183 -0
  241. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/AddreviewformOriginal.jsx +128 -0
  242. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/DescriptionContent.jsx +140 -0
  243. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/ProductExtraFields.jsx +225 -0
  244. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/ProductHeaderPricing.jsx +310 -0
  245. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/ProductReviews.jsx +235 -0
  246. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype.jsx +1672 -0
  247. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype10-1.jsx +1554 -0
  248. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype31-3.jsx +1351 -0
  249. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Product_itemtypeUpdated.jsx +1566 -0
  250. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Productinfo.jsx +1804 -0
  251. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Service_itemtype.jsx +560 -0
  252. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Serviceinfotabs.jsx +919 -0
  253. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Variantoptions.jsx +597 -0
  254. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/Variantoptions21-9.jsx +324 -0
  255. package/srcoriginal/TabexComponents/StaticPages/Productinfo4-4/staticroutersidenav.module.css +145 -0
  256. package/srcoriginal/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +194 -0
  257. package/srcoriginal/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +338 -0
  258. package/srcoriginal/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +359 -0
  259. package/srcoriginal/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +113 -0
  260. package/srcoriginal/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +277 -0
  261. package/srcoriginal/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +1135 -0
  262. package/srcoriginal/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +1364 -0
  263. package/srcoriginal/TabexComponents/StaticPages/Signup/Signup.jsx +199 -0
  264. package/srcoriginal/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +292 -0
  265. package/srcoriginal/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +113 -0
  266. package/srcoriginal/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +162 -0
  267. package/srcoriginal/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +765 -0
  268. package/srcoriginal/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +786 -0
  269. package/srcoriginal/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +786 -0
  270. package/srcoriginal/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +786 -0
  271. package/srcoriginal/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +1425 -0
  272. package/srcoriginal/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +844 -0
  273. package/srcoriginal/TabexComponents/StaticPages/Wishlist/Wishlist25-4.jsx +555 -0
  274. package/srcoriginal/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +555 -0
  275. package/srcoriginal/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +555 -0
  276. package/srcoriginal/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +815 -0
  277. package/srcoriginal/button.jsx +40 -0
  278. package/srcoriginal/index.jsx +334 -0
  279. package/srcoriginal/styles/Home.module.css +129 -0
  280. package/srcoriginal/styles/cards/Categorcycard_fullimage.module.css +14 -0
  281. package/srcoriginal/styles/cards/Categorycard_slidebgscaled.module.css +73 -0
  282. package/srcoriginal/styles/cards/Categorycard_withshapes.module.css +189 -0
  283. package/srcoriginal/styles/cards/ModernCardWithQuantityButton.module.css +30 -0
  284. package/srcoriginal/styles/cards/Productcard6.module.css +9 -0
  285. package/srcoriginal/styles/cards/Productccard_with_zoominonhover.module.css +51 -0
  286. package/srcoriginal/styles/cards/Prouductcard_with_zoomhover.module.css +61 -0
  287. package/srcoriginal/styles/cards/UserCardWithSocialMediaOnHover.module.css +65 -0
  288. package/srcoriginal/styles/cards/card23.module.css +60 -0
  289. package/srcoriginal/styles/cards/categorycard.module.css +84 -0
  290. package/srcoriginal/styles/cards/categorycard3.module.css +50 -0
  291. package/srcoriginal/styles/cards/categorycardwithtext.module.css +40 -0
  292. package/srcoriginal/styles/cards/generalCardsStyles.module.css +79 -0
  293. package/srcoriginal/styles/cards/productcard_animatedbuttons.module.css +139 -0
  294. package/srcoriginal/styles/cards/productcard_with_textonhover.module.css +18 -0
  295. package/srcoriginal/styles/cards/productcard_withtextonimage.module.css +0 -0
  296. package/srcoriginal/styles/cards/productccard_with_imageontopleft.module.css +85 -0
  297. package/srcoriginal/styles/general/bootstrap.css +4763 -0
  298. package/srcoriginal/styles/general/dropdown.css +206 -0
  299. package/srcoriginal/styles/general/editorbardropdown.module.css +94 -0
  300. package/srcoriginal/styles/general/filter.module.css +108 -0
  301. package/srcoriginal/styles/general/form.module.css +255 -0
  302. package/srcoriginal/styles/general/general.module.css +872 -0
  303. package/srcoriginal/styles/general/image-gallery.css +531 -0
  304. package/srcoriginal/styles/general/react-accessible-accordion.module.css +52 -0
  305. package/srcoriginal/styles/general/react-phone-input-2.module.css +927 -0
  306. package/srcoriginal/styles/general/scrollbtn.module.css +22 -0
  307. package/srcoriginal/styles/general/slick.module.css +166 -0
  308. package/srcoriginal/styles/general/tabs.module.css +119 -0
  309. package/srcoriginal/styles/general/workplaceeditor.module.css +328 -0
  310. package/srcoriginal/styles/globals.css +26 -0
  311. package/srcoriginal/styles/headers/CTAHeader.module.css +40 -0
  312. package/srcoriginal/styles/headers/CategoryFeaturingHeader.module.css +61 -0
  313. package/srcoriginal/styles/headers/Gotoheader.module.css +87 -0
  314. package/srcoriginal/styles/headers/Header7.module.css +50 -0
  315. package/srcoriginal/styles/headers/HeaderWithAdSlider.module.css +86 -0
  316. package/srcoriginal/styles/headers/HeaderWithSearchOnCenter.module.css +101 -0
  317. package/srcoriginal/styles/headers/HeaderWithUtilityBar.module.css +46 -0
  318. package/srcoriginal/styles/headers/Header_threesectionslogocentered.module.css +84 -0
  319. package/srcoriginal/styles/headers/NewHeader.module.css +101 -0
  320. package/srcoriginal/styles/headers/SearchFocusedHeader.module.css +62 -0
  321. package/srcoriginal/styles/headers/Sideheader.module.css +108 -0
  322. package/srcoriginal/styles/headers/Simpleheader.module.css +102 -0
  323. package/srcoriginal/styles/headers/classicheader.module.css +16 -0
  324. package/srcoriginal/styles/headers/classicheaderstyles.module.css +9 -0
  325. package/srcoriginal/styles/headers/dropdown.css +0 -0
  326. package/srcoriginal/styles/headers/header4.module.css +175 -0
  327. package/srcoriginal/styles/headers/header5.module.css +30 -0
  328. package/srcoriginal/styles/headers/header_contactinfo.module.css +53 -0
  329. package/srcoriginal/styles/headers/headerresturant.module.css +89 -0
  330. package/srcoriginal/styles/headers/modernheader.module.css +45 -0
  331. package/srcoriginal/styles/headers/stylishheader.module.css +24 -0
  332. package/srcoriginal/styles/headers/subheader.module.css +114 -0
  333. package/srcoriginal/styles/headers/threetieredheader.module.css +91 -0
  334. package/srcoriginal/styles/sections/BackgroundImageWithTopContent.css +4 -0
  335. package/srcoriginal/styles/sections/Backgroundimage1.module.css +17 -0
  336. package/srcoriginal/styles/sections/Backgroundimage_with_topcircle.module.css +28 -0
  337. package/srcoriginal/styles/sections/Freetext.module.css +18 -0
  338. package/srcoriginal/styles/sections/Section_with_rightbgcont.module.css +49 -0
  339. package/srcoriginal/styles/sections/Slideshow_with_rotatedsquare.module.css +35 -0
  340. package/srcoriginal/styles/sections/Slideshow_with_squarebg.module.css +39 -0
  341. package/srcoriginal/styles/staticpages/accordion.module.css +9 -0
  342. package/srcoriginal/styles/staticpages/cart.module.css +108 -0
  343. package/srcoriginal/styles/staticpages/dropdown.css +196 -0
  344. package/srcoriginal/styles/staticpages/filter.module.css +139 -0
  345. package/srcoriginal/styles/staticpages/image-gallery.css +481 -0
  346. package/srcoriginal/styles/staticpages/login.module.css +155 -0
  347. package/srcoriginal/styles/staticpages/productinfo.module.css +54 -0
  348. package/srcoriginal/styles/staticpages/shop.module.css +191 -0
  349. package/srcoriginal/styles/staticpages/signup.module.css +250 -0
  350. package/srcoriginal/styles/staticpages/staticroutersidenav.module.css +129 -0
  351. package/srcoriginal/styles/staticpages/viewcart.module.css +129 -0
  352. package/srcoriginal/styles/staticpages/wishlist.module.css +29 -0
@@ -0,0 +1,2118 @@
1
+ //productidprops
2
+ import React, { useEffect, useState, useRef } from 'react';
3
+ import productinfostyles from '../../../styles/staticpages/productinfo.module.css';
4
+ import ImageGallery from 'react-image-gallery';
5
+ import { CircularProgress } from 'react-cssfx-loading';
6
+ import '../../../styles/staticpages/image-gallery.css';
7
+ import { MdAddShoppingCart } from '@react-icons/all-files/md/MdAddShoppingCart';
8
+ import { IoBagHandleOutline } from '@react-icons/all-files/io5/IoBagHandleOutline';
9
+ import { BsBag } from '@react-icons/all-files/bs/BsBag';
10
+ import { CgShoppingBag } from '@react-icons/all-files/cg/CgShoppingBag';
11
+ import { FaRegHeart } from '@react-icons/all-files/fa/FaRegHeart';
12
+ import { FaHeart } from '@react-icons/all-files/fa/FaHeart';
13
+ import { FiShoppingBag } from '@react-icons/all-files/fi/FiShoppingBag';
14
+ import { FiShoppingCart } from '@react-icons/all-files/fi/FiShoppingCart';
15
+ import { AiFillStar } from '@react-icons/all-files/ai/AiFillStar';
16
+ import { AiOutlineStar } from '@react-icons/all-files/ai/AiOutlineStar';
17
+ import { FaPlus } from '@react-icons/all-files/fa/FaPlus';
18
+ import { FaMinus } from '@react-icons/all-files/fa/FaMinus';
19
+ import { FiBox } from '@react-icons/all-files/fi/FiBox';
20
+ import { RiArrowGoBackLine } from '@react-icons/all-files/ri/RiArrowGoBackLine';
21
+
22
+ import { Accordion, AccordionItem, AccordionItemHeading, AccordionItemButton, AccordionItemPanel, AccordionItemState } from 'react-accessible-accordion';
23
+ import {
24
+ FacebookShareButton,
25
+ TwitterShareButton,
26
+ WhatsappShareButton,
27
+ FacebookIcon,
28
+ TwitterIcon,
29
+ FacebookMessengerShareButton,
30
+ FacebookMessengerIcon,
31
+ WhatsappIcon,
32
+ LinkedinShareButton,
33
+ LinkedinIcon,
34
+ } from 'react-share';
35
+ import { IoMdClose } from '@react-icons/all-files/io/IoMdClose';
36
+ import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
37
+ import { FiMinus } from '@react-icons/all-files/fi/FiMinus';
38
+ import { FiPlus } from '@react-icons/all-files/fi/FiPlus';
39
+ import ReactStars from 'react-rating-stars-component';
40
+ import { FiLayers } from '@react-icons/all-files/fi/FiLayers';
41
+ import Variantoptions from './Variantoptions.jsx';
42
+ import ProductExtras from './ProductExtras.jsx';
43
+ import ProductHeaderPricing from './ProductHeaderPricing.jsx';
44
+ import ProductExtraFields from './ProductExtraFields.jsx';
45
+ import DescriptionContent from './DescriptionContent.jsx';
46
+
47
+ const Product_itemtype = (props) => {
48
+ const lang = props.actions.lang;
49
+ const langdetect = props.actions.langdetect;
50
+ const srcfromprops = props.actions.srcfromprops;
51
+ const returnpolicyobj = props.actions.returnpolicyobj;
52
+ const productinfo_cssstyles = props.actions.productinfo_cssstyles;
53
+ const addtocartfunc = props.actions.addtocartfunc;
54
+ const selectproductoptionvalue = props.actions.selectproductoptionvalue;
55
+ const clearchoosenvaluesbutkeepcurrentvalue = props.actions.clearchoosenvaluesbutkeepcurrentvalue;
56
+ const productimagesarray = props.actions.productimagesarray;
57
+ const fetchProductInfoQueryContext = props.actions.fetchProductInfoQueryContext;
58
+ const sectionproperties = props.actions.sectionproperties;
59
+ const addtocardpayloadobj = props.actions.addtocardpayloadobj;
60
+ const setaddtocardpayloadobj = props.actions.setaddtocardpayloadobj;
61
+ const routingcountext = props.actions.routingcountext;
62
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
63
+ const authdetailsContext = props.actions.authdetailsContext;
64
+ const variantsku = props.actions.variantsku;
65
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
66
+ const variantindexcompleted = props.actions.variantindexcompleted;
67
+ const ProductInfoObj = props.actions.ProductInfoObj;
68
+ const NotificationManager = props.actions.NotificationManager;
69
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
70
+ const getprice_discountpriceprops = props.actions.getprice_discountpriceprops;
71
+ const ikimagecredcontext = props.actions.ikimagecredcontext;
72
+ const currentshowingimageindex_pro = props.actions.currentshowingimageindex;
73
+ const StoreInfoprops = props.actions.StoreInfoprops;
74
+ const [currentshowingimageindex, setcurrentshowingimageindex] = useState(currentshowingimageindex_pro);
75
+ // const DescriptionContent = props.actions.DescriptionContent;
76
+ const [shareUrl, setshareUrl] = useState('');
77
+ const [title, settitle] = useState('');
78
+ const [item, setitem] = useState(fetchProductInfoQueryContext.data.data.productinfo);
79
+ const [totalprice, settotalprice] = useState('');
80
+ const [gallery, setGallery] = useState(null); // Store reference to the gallery
81
+ const toggleFullScreen = () => {
82
+ if (gallery) {
83
+ gallery.toggleFullScreen();
84
+ }
85
+ };
86
+ useEffect(() => {
87
+ var itemobj = fetchProductInfoQueryContext.data.data.productinfo;
88
+ if (stringIsEnglish(fetchProductInfoQueryContext.data.data.productinfo.name_en)) {
89
+ itemobj.titlelang = 'en';
90
+ } else {
91
+ itemobj.titlelang = 'ar';
92
+ }
93
+ if (stringIsEnglish(fetchProductInfoQueryContext.data.data.productinfo.description_en)) {
94
+ itemobj.decriptionlang = 'en';
95
+ } else {
96
+ itemobj.decriptionlang = 'ar';
97
+ }
98
+ setitem(itemobj);
99
+ settitle(fetchProductInfoQueryContext.data.data.productinfo.name_en);
100
+ setshareUrl('https://' + authdetailsContext.instinfo.instcred.instexternaldomain + '/productinform/' + fetchProductInfoQueryContext.data.data.productinfo.productid);
101
+ }, [props.itemprops]);
102
+
103
+ function stringIsEnglish(str) {
104
+ var titlelang = 'English';
105
+ var arabic = /[\u0600-\u06FF]/;
106
+ if (!arabic.test(str)) {
107
+ titlelang = true;
108
+ } else {
109
+ titlelang = false;
110
+ }
111
+ return titlelang;
112
+ }
113
+ const ShareButtonsContainer = () => {
114
+ return (
115
+ <div class="row m-0 w-100">
116
+ <div class="col-lg-12 d-flex justify-content-center flex-column align-items-center p-0">
117
+ <p
118
+ class="m-0 p-0"
119
+ style={{
120
+ fontWeight: sectionproperties.sharebtn_FontWeight,
121
+ color: sectionproperties.sharebtn_color,
122
+ fontSize: sectionproperties.sharebtn_fontSize + 'px',
123
+ }}
124
+ >
125
+ {langdetect == 'en' ? sectionproperties.sharebtn_contentEn : sectionproperties.sharebtn_contentAr}
126
+ </p>
127
+ <div className="Demo__container w-100 m-0 allcentered mt-3">
128
+ <div className="Demo__some-network ml-2 mr-2">
129
+ <FacebookShareButton url={shareUrl} quote={title} className="Demo__some-network__share-button">
130
+ <FacebookIcon size={40} round />
131
+ </FacebookShareButton>
132
+ </div>
133
+ {sectionproperties.shareviax == 'Show' && (
134
+ <div
135
+ className="Demo__some-network ml-2 mr-2"
136
+ style={{
137
+ width: '40px',
138
+ height: '40px',
139
+ }}
140
+ >
141
+ <TwitterShareButton url={shareUrl} title={title} className="Demo__some-network__share-button">
142
+ {/* <TwitterIcon size={40} round /> */}
143
+ <img
144
+ src={'https://tabex-co.com/storage/StaticImages/twitterxicon.png'}
145
+ style={{
146
+ width: '100%',
147
+ height: '100%',
148
+ objectFit: 'contain',
149
+ }}
150
+ />
151
+ </TwitterShareButton>
152
+ </div>
153
+ )}
154
+ <div className="Demo__some-network ml-2 mr-2">
155
+ <WhatsappShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
156
+ <WhatsappIcon size={40} round />
157
+ </WhatsappShareButton>
158
+ </div>
159
+ {sectionproperties.showsharelinkedin == 'Show' && (
160
+ <div className="Demo__some-network ml-2 mr-2">
161
+ <LinkedinShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
162
+ <LinkedinIcon size={40} round />
163
+ </LinkedinShareButton>
164
+ </div>
165
+ )}
166
+ {/* <div className="Demo__some-network ml-2 mr-2">
167
+ <FacebookMessengerShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
168
+ <FacebookMessengerIcon size={40} round />
169
+ </FacebookMessengerShareButton>
170
+ </div> */}
171
+ </div>
172
+ </div>
173
+ </div>
174
+ );
175
+ };
176
+ // {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0
177
+ // ? parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)
178
+ // : parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
179
+ useEffect(() => {
180
+ var totalprice = '';
181
+ if (variantindexcompleted.length == 0 && fetchProductInfoQueryContext.data.data.productinfo.hassale == 0) {
182
+ totalprice = parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2);
183
+ } else if (variantindexcompleted.length == 0 && fetchProductInfoQueryContext.data.data.productinfo.hassale == 1) {
184
+ totalprice = parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2);
185
+ } else if (variantindexcompleted.length != 0 && fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1) {
186
+ totalprice = parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2);
187
+ } else {
188
+ totalprice = parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2);
189
+ }
190
+ settotalprice(totalprice);
191
+ setcurrentshowingimageindex(props.actions.currentshowingimageindex);
192
+ }, [variantindexcompleted]);
193
+ const ProductsSKUContainer = () => {
194
+ return (
195
+ <p class="m-0 p-0 d-flex justify-content-start">
196
+ <span
197
+ style={{
198
+ color: sectionproperties.skuColor,
199
+ fontWeight: sectionproperties.skuFontWeight,
200
+ fontSize: sectionproperties.skuFontSize + 'px',
201
+ textAlign: langdetect == 'en' ? 'left' : 'right',
202
+ }}
203
+ >
204
+ {langdetect == 'en' ? sectionproperties.skutitleEn : sectionproperties.skutitleAr}:{' '}
205
+ </span>
206
+ <span
207
+ class="ml-1 mr-1"
208
+ style={{
209
+ color: '#7e859b',
210
+ fontWeight: sectionproperties.skuSecondaryFontWeight,
211
+ fontSize: sectionproperties.skuFontSize + 'px',
212
+ textAlign: langdetect == 'en' ? 'left' : 'right',
213
+ }}
214
+ >
215
+ {/* asdsad {variantsku} */}
216
+ {sectionproperties.showvariantsku == 'Show' && variantsku != '' ? variantsku : fetchProductInfoQueryContext.data.data.productinfo.sku}
217
+ {/* {fetchProductInfoQueryContext.data.data.productinfo.sku} */}
218
+ </span>
219
+ </p>
220
+ );
221
+ };
222
+ return (
223
+ <div
224
+ className={sectionproperties.card_marginLeft != 0 ? ' row m-0 w-100 pl-lg-3 pr-lg-3 pl-md-4 pr-md-4 p-sm-0 ' : ' row m-0 w-100 p-sm-0 '}
225
+ style={{
226
+ paddingLeft: srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px') : 0,
227
+ paddingRight: srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px') : 0,
228
+ }}
229
+ >
230
+ <div class={' col-lg-12 p-0 '}>
231
+ {Object.keys(sectionproperties).length != 0 && authdetailsContext?.instinfo?.contactinfo.instid != '673ca821296ee' && (
232
+ <div
233
+ class={`${productinfo_cssstyles.cardcontainer}` + ' row ml-0 mr-0 w-100 pl-md-3 pr-md-3 px-1025-1 '}
234
+ style={{
235
+ minHeight: sectionproperties.height + 'vh',
236
+ // paddingLeft: srcfromprops == 'templatedraftrouter' ? 0 : langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px',
237
+ // paddingRight: srcfromprops == 'templatedraftrouter' ? 0 : langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px',
238
+ }}
239
+ >
240
+ {sectionproperties.gallerystyle == 'Style 2' && (
241
+ // scrollhorizontalwithscrollbarremove
242
+ <div class="w-100 scrollhorizontalwithscrollbar ">
243
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.length != 0 &&
244
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages.map((item, index) => {
245
+ return (
246
+ <div
247
+ class={' scrollhorizontalcard mx-2 '}
248
+ style={{
249
+ height: sectionproperties.image_height + 'px',
250
+ width: sectionproperties.image_width + 'px',
251
+ }}
252
+ >
253
+ <Imagekitimagecomp
254
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
255
+ publicKey={ikimagecredcontext?.ikimagepublickey}
256
+ path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.path}
257
+ style={{
258
+ width: '100%',
259
+ height: '100%',
260
+ objectFit: 'contain',
261
+ }}
262
+ loading="lazy"
263
+ />
264
+ </div>
265
+ );
266
+ })}
267
+ </div>
268
+ )}
269
+ {sectionproperties.gallerystyle == 'One Centered Image' && (
270
+ <div class="col-lg-12 allcentered">
271
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.length != 0 &&
272
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages.map((item, index) => {
273
+ return (
274
+ <div
275
+ class={' mx-2 '}
276
+ style={{
277
+ height: sectionproperties.image_height + 'px',
278
+ width: sectionproperties.image_width + 'px',
279
+ }}
280
+ >
281
+ <Imagekitimagecomp
282
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
283
+ publicKey={ikimagecredcontext?.ikimagepublickey}
284
+ path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.path}
285
+ style={{
286
+ width: '100%',
287
+ height: '100%',
288
+ objectFit: 'contain',
289
+ }}
290
+ loading="lazy"
291
+ />
292
+ </div>
293
+ );
294
+ })}
295
+ </div>
296
+ )}
297
+ <div class="col-lg-12 p-0">
298
+ <div
299
+ class="row mx-0 w-100"
300
+ style={{
301
+ marginTop: sectionproperties.gallerystyle == 'Style 2' ? '3rem' : 0,
302
+ }}
303
+ >
304
+ <div
305
+ className={
306
+ sectionproperties.showfooterphonenumber == 'Hide' &&
307
+ sectionproperties.showfooteremail == 'Hide' &&
308
+ sectionproperties.showstoreinfo2 == 'Hide' &&
309
+ sectionproperties.showstoreinfo1 == 'Hide'
310
+ ? 'col-lg-12'
311
+ : sectionproperties.storeinfoposition == 'Below Information'
312
+ ? 'col-lg-12'
313
+ : langdetect == 'en'
314
+ ? 'col-lg-9 pl-0 mb-md-3 p-md-0'
315
+ : 'col-lg-9 pr-0 mb-md-3 p-md-0'
316
+ }
317
+ style={{
318
+ marginBottom: sectionproperties.evencols == 'Yes' ? '60px' : 0,
319
+ }}
320
+ >
321
+ <div className={'row m-0 w-100'}>
322
+ {sectionproperties.gallerystyle == 'Style 1' && (
323
+ <div
324
+ className={
325
+ sectionproperties.evencols == 'Yes'
326
+ ? productinfo_cssstyles.evencols + ' col-xl-6 col-lg-6 col-md-12 col-sm-12 mb-md-5 pb-md-5 pl-1 pr-1 evencols '
327
+ : 'col-xl-5 col-lg-5 col-md-12 col-sm-12 mb-md-5 pb-md-4 pl-1 pr-1'
328
+ }
329
+ >
330
+ {/* <div className="col-xl-6 col-lg-4 col-md-12 col-sm-12 mb-md-3 pb-md-4 pl-1 pr-1 evencols"> */}
331
+ <div
332
+ className={sectionproperties.maximizegalleryfullscreen == 'Yes' ? ' col-lg-12 p-0 maximize ' : 'col-lg-12 p-0'}
333
+ style={{
334
+ width: '100%',
335
+ // height: 'auto',
336
+ height: sectionproperties.evencols == 'Yes' ? '550px' : 'auto',
337
+ }}
338
+ >
339
+ {productimagesarray.length == 0 && (
340
+ <div
341
+ style={{
342
+ width: '100%',
343
+ height: '30vh',
344
+ background: '#eee',
345
+ borderRadius: 10,
346
+ }}
347
+ >
348
+ <i class="h-100 allcentered text-light">
349
+ <FiLayers size={26} />
350
+ </i>
351
+ </div>
352
+ )}
353
+ {productimagesarray.length != 0 && (
354
+ <div
355
+ class="w-100 d-block d-md-none"
356
+ style={{
357
+ // height: '500px',
358
+ height: sectionproperties.evencols == 'Yes' ? '550px' : '',
359
+ }}
360
+ >
361
+ <ImageGallery
362
+ items={productimagesarray}
363
+ thumbnailPosition={sectionproperties.thumbnailposition == 'Bottom' ? 'bottom' : 'left'}
364
+ showNav={true}
365
+ showPlayButton={false}
366
+ showFullscreenButton={sectionproperties.showgalleryfullscreenbtn == 'Yes' ? true : false}
367
+ startIndex={currentshowingimageindex}
368
+ onSlide={(d) => {
369
+ setcurrentshowingimageindex(d);
370
+ }}
371
+ ref={(el) => setGallery(el)}
372
+ onClick={toggleFullScreen}
373
+ />
374
+ </div>
375
+ )}
376
+ {productimagesarray.length != 0 && (
377
+ <div class="w-100 d-none d-md-block">
378
+ <ImageGallery
379
+ items={productimagesarray}
380
+ thumbnailPosition={'bottom'}
381
+ showNav={false}
382
+ showPlayButton={false}
383
+ showFullscreenButton={true}
384
+ startIndex={currentshowingimageindex}
385
+ onSlide={(d) => {
386
+ setcurrentshowingimageindex(d);
387
+ }}
388
+ />
389
+ </div>
390
+ )}
391
+ </div>
392
+ </div>
393
+ )}
394
+ <div
395
+ className={
396
+ sectionproperties.gallerystyle == 'Style 1'
397
+ ? sectionproperties.evencols == 'Yes'
398
+ ? langdetect == 'en'
399
+ ? 'col-xl-6 col-lg-6 col-md-12 col-sm-12 pl-4 pr-0 pl-md-0 pr-md-0 pt-md-5'
400
+ : 'col-xl-6 col-lg-6 col-md-12 col-sm-12 pl-0 pr-4 pl-md-0 pr-md-0 pt-md-5'
401
+ : langdetect == 'en'
402
+ ? 'col-xl-7 col-lg-7 col-md-12 col-sm-12 pl-4 pr-0 p-md-0'
403
+ : 'col-xl-7 col-lg-7 col-md-12 col-sm-12 pl-0 pr-4 p-md-0'
404
+ : 'col-xl-12 col-lg-12 col-md-12 col-sm-12 px-3 px-md-2'
405
+ }
406
+ // className={
407
+ // sectionproperties.gallerystyle == 'Style 1'
408
+ // ? langdetect == 'en'
409
+ // ? 'col-xl-6 col-lg-8 col-md-12 col-sm-12 pl-4 pr-0 p-md-0'
410
+ // : 'col-xl-6 col-lg-8 col-md-12 col-sm-12 pl-0 pr-4 p-md-0'
411
+ // : 'col-xl-12 col-lg-12 col-md-12 col-sm-12 px-3 px-md-2'
412
+ // }
413
+ >
414
+ <div className={sectionproperties.evencols == 'Yes' ? 'row m-0 w-100 mt-md-5' : 'row m-0 w-100'}>
415
+ {sectionproperties.showmeasurementunit == 'Show' && (
416
+ <div className={'col-lg-12 p-0 mb-1 d-flex justify-content-start align-items-center mb-1 mt-3'}>
417
+ <p
418
+ className={' m-0 p-0 wordbreak d-flex justify-content-start '}
419
+ style={{
420
+ textAlign: langdetect == 'en' ? 'left' : 'right',
421
+ fontWeight: 400,
422
+ color: sectionproperties.measurementunitcolor,
423
+ fontSize: sectionproperties.measurementunitcolor + 'px',
424
+ }}
425
+ >
426
+ {fetchProductInfoQueryContext.data.data.productinfo.measurmentunit}
427
+ </p>
428
+ </div>
429
+ )}
430
+ {sectionproperties.quantityshow == 'Show' && (
431
+ <div class="col-lg-12 p-0 text-start">
432
+ <p
433
+ class="m-0 p-0"
434
+ style={{
435
+ fontSize: sectionproperties.quantityfontsize,
436
+ color: sectionproperties.quantitycolor,
437
+ fontWeight: sectionproperties.quantityfontweight,
438
+ }}
439
+ >
440
+ {langdetect == 'en' ? sectionproperties.qtytextinen : sectionproperties.qtytextinar}:{' '}
441
+ {fetchProductInfoQueryContext.data.data.productinfo.currentquantity}
442
+ </p>
443
+ </div>
444
+ )}
445
+ <div
446
+ className={
447
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1
448
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
449
+ : sectionproperties.btnposition == 'Top'
450
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
451
+ : sectionproperties.availabilitybtnposition == 'Top' && sectionproperties.show_availability == 'Show'
452
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
453
+ : 'col-lg-12 p-0 mb-1 d-flex justify-content-start align-items-center'
454
+ }
455
+ >
456
+ <p
457
+ className={
458
+ props.srcfromprops != 'templatedraftrouter'
459
+ ? `${productinfo_cssstyles.productname} ${productinfo_cssstyles.productnamehover}` +
460
+ ' m-0 p-0 wordbreak d-flex justify-content-start cursor-pointer font-sm-15 '
461
+ : `${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start font-sm-15 '
462
+ }
463
+ onClick={() => {
464
+ if (props.srcfromprops != 'templatedraftrouter') {
465
+ routingcountext(StaticPagesLinksContext.productinfo, true, fetchProductInfoQueryContext.data.data.productinfo.productid);
466
+ }
467
+ }}
468
+ style={{ textAlign: langdetect == 'en' ? 'left' : 'right' }}
469
+ >
470
+ {langdetect == 'en' ? fetchProductInfoQueryContext.data.data.productinfo.name_en : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
471
+ </p>
472
+ </div>
473
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1 && sectionproperties.showrating == 'Show' && (
474
+ <div className="col-lg-4 col-md-4 col-sm-4 p-0 mb-1 d-flex justify-content-end align-items-center">
475
+ <ReactStars
476
+ count={5}
477
+ value={fetchProductInfoQueryContext?.data?.data?.productinfo?.productoverallrate}
478
+ edit={false}
479
+ size={18}
480
+ emptyIcon={<i className="far fa-star" style={{ color: '#FAB400' }}></i>}
481
+ halfIcon={<i className="fa fa-star-half-alt style={{ color: '#FAB400' }}"></i>}
482
+ filledIcon={<i className="fa fa-star" style={{ color: '#FAB400' }}></i>}
483
+ activeColor="#ffd700"
484
+ />
485
+ </div>
486
+ )}
487
+ <div className="col-lg-4 col-md-4 col-sm-4 p-0 mb-1 d-flex justify-content-end align-items-center">
488
+ {sectionproperties.availabilitybtnposition == 'Top' &&
489
+ sectionproperties.show_availability == 'Show' &&
490
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
491
+ <div
492
+ style={{
493
+ width: sectionproperties.availability_width + 'px',
494
+ height: sectionproperties.availability_height + 'px',
495
+ background:
496
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
497
+ ? sectionproperties.availability_availablebgcolor
498
+ : sectionproperties.availability_limitedbgcolor,
499
+ borderRadius: sectionproperties.availability_borderrradius + 'px',
500
+ border:
501
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
502
+ ? sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_availabletextcolor
503
+ : sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_limitedtextcolor,
504
+ justifyContent: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : 'start',
505
+ }}
506
+ className="d-flex align-items-center pl-3 pr-3 mx-2"
507
+ >
508
+ <p
509
+ className="m-0 p-0 font-weight-500 wordbreak"
510
+ style={{
511
+ color:
512
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
513
+ ? sectionproperties.availability_availabletextcolor
514
+ : sectionproperties.availability_limitedtextcolor,
515
+ fontSize: sectionproperties.availability_fontsize + 'px',
516
+ textAlign: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
517
+ }}
518
+ >
519
+ <span className="ml-1 mr-1">
520
+ {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.available : lang.limitedquantity}
521
+ </span>
522
+ </p>
523
+ </div>
524
+ )}
525
+ {sectionproperties.btnposition == 'Top' && sectionproperties.favBtnShow == 'Show' && (
526
+ <div
527
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 '}
528
+ onClick={() => {
529
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
530
+ }}
531
+ style={{
532
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
533
+ }}
534
+ >
535
+ <i className="h-100 d-flex align-items-center justify-content-center">
536
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
537
+ <i className="h-100 d-flex align-items-center justify-content-center">
538
+ {sectionproperties.faviconshape == 'Star Shape' && (
539
+ <AiFillStar
540
+ size={sectionproperties.favBtnIconfontsize}
541
+ style={{
542
+ color: sectionproperties.activefaviconcolor,
543
+ }}
544
+ />
545
+ )}
546
+ {sectionproperties.faviconshape == 'Heart Shape' && (
547
+ <FaHeart
548
+ size={sectionproperties.favBtnIconfontsize}
549
+ style={{
550
+ color: sectionproperties.activefaviconcolor,
551
+ }}
552
+ />
553
+ )}
554
+ </i>
555
+ )}
556
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
557
+ <i className="h-100 d-flex align-items-center justify-content-center">
558
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
559
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
560
+ </i>
561
+ )}
562
+ </i>
563
+ </div>
564
+ )}
565
+ </div>
566
+ {sectionproperties.showSKU == 'Show' &&
567
+ sectionproperties.productInformationType == 'Product/Service Information' &&
568
+ sectionproperties.skuposition == 'Top' && <div class={'col-lg-12 p-0 my-3 d-flex justify-content-start'}>{ProductsSKUContainer()}</div>}
569
+ {sectionproperties.featuresposition == 'Under Name' && sectionproperties.featurestyle == 'Table' && (
570
+ <div class="col-lg-12 text-start p-md-0">
571
+ <div class="row m-0 w-100">
572
+ <div class="col-lg-12 p-0 my-3">
573
+ <p
574
+ className="m-0 p-0"
575
+ style={{
576
+ color: sectionproperties.featurestitlecolor,
577
+ fontSize: sectionproperties.featurestitlefontsize + 'px',
578
+ fontWeight: 600,
579
+ }}
580
+ >
581
+ {langdetect == 'en' ? sectionproperties.featurestitleen : sectionproperties.featurestitlear}
582
+ </p>
583
+ </div>
584
+
585
+ <div className="col-lg-12 m-0 w-100 p-0">
586
+ <table className={'table tablevertical'}>
587
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productfeatures?.map((fitem, findex) => {
588
+ return (
589
+ <tr>
590
+ <th
591
+ style={{
592
+ textTransform: 'capitalize',
593
+ color: '#000',
594
+ }}
595
+ >
596
+ {langdetect == 'en' ? fitem?.name_en : fitem?.name_ar}
597
+ </th>
598
+ <td>{langdetect == 'en' ? fitem?.value_en : fitem?.value_ar}</td>
599
+ </tr>
600
+ );
601
+ })}
602
+ </table>
603
+ </div>
604
+ </div>
605
+ </div>
606
+ )}
607
+ {sectionproperties.defaultpricingposition == 'Under Name' && fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
608
+ <ProductHeaderPricing actions={props.actions} />
609
+ )}
610
+
611
+ {/* short desc */}
612
+ {/* un comment */}
613
+ {langdetect == 'en' &&
614
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_en != null &&
615
+ sectionproperties.descriptionstyle == 'Style 1' && (
616
+ <div class="col-lg-12 p-0">
617
+ <div class="col-lg-12 p-0 d-flex justify-content-start">
618
+ <p
619
+ className={'text-black m-0 p-0 wordbreak'}
620
+ style={{
621
+ textAlign: langdetect == 'en' ? 'left' : 'right',
622
+ }}
623
+ dangerouslySetInnerHTML={{
624
+ __html: fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_en,
625
+ }}
626
+ ></p>
627
+ </div>
628
+ </div>
629
+ )}
630
+ {/* short desc */}
631
+ {/* un comment */}
632
+ {langdetect == 'ar' &&
633
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_ar != null &&
634
+ sectionproperties.descriptionstyle == 'Style 1' && (
635
+ <div class="col-lg-12 p-0">
636
+ <div class="col-lg-12 p-0 d-flex justify-content-start">
637
+ <p
638
+ className={'text-black m-0 p-0 wordbreak'}
639
+ style={{
640
+ textAlign: langdetect == 'en' ? 'left' : 'right',
641
+ }}
642
+ dangerouslySetInnerHTML={{
643
+ __html: fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_ar,
644
+ }}
645
+ ></p>
646
+ </div>
647
+ </div>
648
+ )}
649
+
650
+ {/* {srcfromprops == 'templatdraftrouter' && (
651
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 mb-2 d-flex justify-content-start align-items-center">
652
+ <p className={`${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start '}>
653
+ {langdetect == 'en' ? fetchProductInfoQueryContext.data.data.productinfo.name_en : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
654
+ </p>
655
+ </div>
656
+ )} */}
657
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.vendorinfo != null && sectionproperties.showvendor == 'Show' && (
658
+ <div class="col-lg-12 p-0 d-flex justify-content-start mt-2 mb-2">
659
+ <p class="m-0 p-0" style={{ color: '#000' }}>
660
+ {langdetect == 'en' ? sectionproperties.vendortitleen : sectionproperties.vendortitlear}:{' '}
661
+ <span
662
+ style={{
663
+ fontWeight: 600,
664
+ }}
665
+ >
666
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.vendorinfo?.vendorname}
667
+ </span>
668
+ </p>
669
+ </div>
670
+ )}
671
+ {sectionproperties.showSKU == 'Show' &&
672
+ sectionproperties.productInformationType == 'Product/Service Information' &&
673
+ sectionproperties.skuposition == 'Bottom' && (
674
+ <div
675
+ class={
676
+ sectionproperties.deliverytimeshow == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext != null
677
+ ? 'col-lg-12 p-0 mb-2 d-flex justify-content-start'
678
+ : 'col-lg-12 p-0 mb-3 d-flex justify-content-start'
679
+ }
680
+ >
681
+ {ProductsSKUContainer()}
682
+ </div>
683
+ )}
684
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.currentquantity < 1 &&
685
+ sectionproperties.showoutofstock == 'Show' &&
686
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantavailtype == 'limit' &&
687
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 0 && (
688
+ <div class="col-lg-12 p-0 d-flex justify-content-start mb-2">
689
+ <div class={`${productinfo_cssstyles.outstockbadge}` + ' allcentered '}>
690
+ <p class="m-0 p-0">{langdetect == 'en' ? sectionproperties.outstock_contenten : sectionproperties.outstock_contentar}</p>
691
+ </div>
692
+ </div>
693
+ )}
694
+ {sectionproperties.deliverytimeshow == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext != null && (
695
+ <div
696
+ class="mb-4 col-lg-12 allcentered"
697
+ style={{
698
+ width: '100%',
699
+ backgroundColor: sectionproperties.deliverytimecontainerBg,
700
+ paddingLeft: sectionproperties.deliverytimecontainerpaddinghorizontal + 'px',
701
+ paddingRight: sectionproperties.deliverytimecontainerpaddinghorizontal + 'px',
702
+ paddingTop: sectionproperties.deliverytimecontainerpaddingvertical + 'px',
703
+ paddingBottom: sectionproperties.deliverytimecontainerpaddingvertical + 'px',
704
+ border: sectionproperties.deliverytimecontainerborderwidth + 'px solid ' + sectionproperties.deliverytimecontainerbordercolor,
705
+ borderRadius: sectionproperties.deliverytimecontainerborderradius + 'px',
706
+ fontSize: sectionproperties.deliverytimecontainerfontsize + 'px',
707
+ fontWeight: sectionproperties.deliverytimecontainerfontWeight,
708
+ marginTop: 15,
709
+ }}
710
+ >
711
+ <p
712
+ class="m-0 p-0 "
713
+ style={{
714
+ textAlign: langdetect == 'en' ? 'left' : 'right',
715
+ color: sectionproperties.deliverytimecontainercolor,
716
+ }}
717
+ >
718
+ {sectionproperties.showdeliverytitle == 'Show' && (
719
+ <span>{langdetect == 'en' ? sectionproperties.deliverycontent_en : sectionproperties.deliverycontent_ar}: </span>
720
+ )}{' '}
721
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext}
722
+ </p>
723
+ </div>
724
+ )}
725
+ {sectionproperties.defaultpricingposition != 'Under Name' && fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
726
+ <ProductHeaderPricing actions={props.actions} />
727
+ )}
728
+ {/* un comment */}
729
+ {sectionproperties.descriptionposition == 'Top' && sectionproperties.descriptionstyle == 'Style 1' && (
730
+ <div class="col-lg-12 p-0">
731
+ <div class="row m-0 w-100">
732
+ {sectionproperties.showshortdescription == 'Show' && (
733
+ <div class="col-lg-12 p-0 mb-2">
734
+ <p style={{ textAlign: langdetect == 'en' ? 'left' : 'right', color: sectionproperties.generaltext_fontColor }}>
735
+ {langdetect == 'en' ? 'Description' : 'التفاصيل'}
736
+ </p>
737
+ </div>
738
+ )}
739
+ <div class="col-lg-12 p-0">
740
+ <DescriptionContent actions={props.actions} srcfromprops={'undername'} />
741
+ </div>
742
+ </div>
743
+ </div>
744
+ )}
745
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1 && sectionproperties.productInformationType == 'Profile' && (
746
+ <div className="row m-0 w-100 d-flex align-items-start">
747
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productoptions?.map((item, index) => {
748
+ return (
749
+ <div className="col-lg-12 p-0 d-flex justify-content-start" style={{ position: 'relative' }}>
750
+ <div style={{ width: 2, height: '100%', background: sectionproperties.upperseparatorbgcolor, position: 'absolute', top: 7 }} />
751
+ <div
752
+ style={{
753
+ width: 10,
754
+ height: 10,
755
+ background: sectionproperties.upperseparatorsecondarybgcolor,
756
+ borderRadius: 100,
757
+ position: 'absolute',
758
+ top: 7,
759
+ left: langdetect == 'en' ? -4 : '',
760
+ right: langdetect == 'ar' ? -4 : '',
761
+ }}
762
+ />
763
+ <div
764
+ className="row m-0 w-100 d-flex align-items-start pb-3"
765
+ style={{
766
+ paddingLeft: langdetect == 'en' ? '1rem' : 0,
767
+ paddingRight: langdetect == 'ar' ? '1rem' : 0,
768
+ }}
769
+ >
770
+ <p
771
+ className={' m-0 p-0 wordbreak'}
772
+ style={{
773
+ color: sectionproperties.varianttitle_color,
774
+ fontWeight: sectionproperties.varianttitle_fontweight,
775
+ textTransform: sectionproperties.varianttitle_texttransform,
776
+ fontSize: sectionproperties.varianttitle_fontSize + 'px',
777
+ }}
778
+ >
779
+ {langdetect == 'en' ? item.optionname : item.optionname_ar}:
780
+ </p>
781
+ {item.optionvalues.map((optionvaluesitem, optionvaluesindex) => {
782
+ return (
783
+ <div
784
+ className={productinfostyles.variant_container + ' mr-2 variabttcontainer allcentered '}
785
+ style={{
786
+ backgroundColor:
787
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
788
+ ? 'transparent'
789
+ : sectionproperties.variantcontainer_bgcolor,
790
+ minWidth:
791
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
792
+ ? 'auto'
793
+ : sectionproperties.variantcontainer_minwidth + 'px',
794
+ height:
795
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
796
+ ? 'auto'
797
+ : sectionproperties.variantcontainer_height + 'px',
798
+ borderRadius: sectionproperties.variantcontainer_borderBottomLeftRadius + 'px',
799
+ transform: 'none',
800
+ cursor: 'default',
801
+ }}
802
+ >
803
+ <p
804
+ className={'m-0 p-0 allcentered font-weight-500'}
805
+ style={{
806
+ color: sectionproperties.variantcontainer_color,
807
+ fontSize: sectionproperties.variantcontainer_fontSize + 'px',
808
+ }}
809
+ >
810
+ {langdetect == 'en' ? optionvaluesitem.valuename : optionvaluesitem.valuename_ar}
811
+ </p>
812
+ </div>
813
+ );
814
+ })}
815
+ </div>
816
+ </div>
817
+ );
818
+ })}
819
+ </div>
820
+ )}
821
+ <Variantoptions actions={props.actions} />
822
+ <ProductExtras actions={props.actions} />
823
+ {sectionproperties.showextrafield == 'Show' && <ProductExtraFields actions={props.actions} />}
824
+ {sectionproperties.gallerystyle != 'Style 1' && sectionproperties.prodCatShow == 'Show' && sectionproperties.descriptionposition != 'Top' && (
825
+ <DescriptionContent actions={props.actions} />
826
+ )}
827
+ {sectionproperties.quantitybtn_show == 'Show' && sectionproperties.cartBtnShow == 'Show' && (
828
+ <div className="col-lg-12 p-0 mb-3">
829
+ <hr className="mb-0 mt-2" />
830
+ </div>
831
+ )}
832
+ <div
833
+ className="col-lg-12 p-0 mb-3"
834
+ style={{
835
+ display: sectionproperties.quantitybtn_show == 'Hide' && sectionproperties.cartBtnShow == 'Hide' ? 'none' : 'flex',
836
+ }}
837
+ >
838
+ <div
839
+ className="row mx-0 w-100 d-flex align-items-center"
840
+ style={{
841
+ marginTop: sectionproperties.ctabuttnnsmarginvertical + 'px',
842
+ marginBottom: sectionproperties.ctabuttnnsmarginvertical + 'px',
843
+ }}
844
+ >
845
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
846
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 &&
847
+ sectionproperties.quantitybtn_show == 'Show' && (
848
+ <div className="col-lg-12 p-0 mb-2 d-flex justofy-content-start">
849
+ <p
850
+ className="m-0 p-0"
851
+ style={{
852
+ color: sectionproperties.generaltext_fontColor,
853
+ fontSize: sectionproperties.generaltext_fontSize + 'px',
854
+ textTransform: sectionproperties.generaltext_textTransform,
855
+ fontWeight: sectionproperties.generaltext_fontWeight,
856
+ }}
857
+ >
858
+ {langdetect == 'en' ? sectionproperties.quantitybtnen : sectionproperties.quantitybtnar}:
859
+ </p>
860
+ </div>
861
+ )}
862
+ <div class="col-lg-12 p-0">
863
+ <div
864
+ class="row m-0 w-100 d-flex align-items-center"
865
+ style={{
866
+ justifyContent: sectionproperties.cartbtncentered == 'Centered' ? 'center' : 'start',
867
+ }}
868
+ >
869
+ {sectionproperties.quantitybtn_show == 'Show' &&
870
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
871
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
872
+ <button
873
+ className={` ${productinfo_cssstyles.quantitybtn}` + ' p-0 d-flex align-items-center justify-content-center mb-sm-2 '}
874
+ style={{
875
+ height: sectionproperties.quantitybtn_height + 'px',
876
+ width: sectionproperties.quantitybtn_width + 'px',
877
+ flexDirection: 'row',
878
+ direction: 'ltr',
879
+ }}
880
+ >
881
+ {sectionproperties.quantitybtneditable == 'No' && (
882
+ <span
883
+ className={`${productinfo_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
884
+ onClick={() => {
885
+ var quantitystepincrearse = 1;
886
+ // var finalquantity = 0;
887
+ var tempaddtocardpayloadobj = {
888
+ ...addtocardpayloadobj,
889
+ };
890
+ if (
891
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != undefined &&
892
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != null &&
893
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 &&
894
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != ''
895
+ ) {
896
+ quantitystepincrearse = parseInt(
897
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse,
898
+ );
899
+ }
900
+ var finalquantity = tempaddtocardpayloadobj.quantity - quantitystepincrearse;
901
+
902
+ if (finalquantity >= 0) {
903
+ tempaddtocardpayloadobj.quantity = finalquantity;
904
+ }
905
+ setaddtocardpayloadobj({
906
+ ...tempaddtocardpayloadobj,
907
+ });
908
+ // var tempaddtocardpayloadobj = {
909
+ // ...addtocardpayloadobj,
910
+ // };
911
+ // if (tempaddtocardpayloadobj.quantity > 0) {
912
+ // if (
913
+ // fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != undefined &&
914
+ // fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != null &&
915
+ // fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 &&
916
+ // fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != ''
917
+ // ) {
918
+ // tempaddtocardpayloadobj.quantity =
919
+ // tempaddtocardpayloadobj.quantity -
920
+ // parseInt(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
921
+ // } else {
922
+ // tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity - 1;
923
+ // }
924
+ // // tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity - 1;
925
+ // }
926
+ // setaddtocardpayloadobj({
927
+ // ...tempaddtocardpayloadobj,
928
+ // });
929
+ }}
930
+ >
931
+ <i
932
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-down' : 'h-100 allcentered'}
933
+ style={{
934
+ fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
935
+ }}
936
+ >
937
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && (
938
+ <FiMinus size={sectionproperties.remove_quantitybtn_textfontsize} />
939
+ )}
940
+ </i>
941
+ </span>
942
+ )}
943
+ {sectionproperties.quantitybtneditable == 'No' && (
944
+ <span className={`${productinfo_cssstyles.quantitybtn_text}`}>{addtocardpayloadobj.quantity}</span>
945
+ )}
946
+ {sectionproperties.quantitybtneditable == 'No' && (
947
+ <span
948
+ className={`${productinfo_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
949
+ onClick={() => {
950
+ var quantitystepincrearse = 1;
951
+ var tempaddtocardpayloadobj = {
952
+ ...addtocardpayloadobj,
953
+ };
954
+ if (
955
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != undefined &&
956
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != null &&
957
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 &&
958
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != ''
959
+ ) {
960
+ quantitystepincrearse = parseInt(
961
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse,
962
+ );
963
+ }
964
+ tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity + quantitystepincrearse;
965
+
966
+ // else {
967
+ // tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity + 1;
968
+ // }
969
+ setaddtocardpayloadobj({
970
+ ...tempaddtocardpayloadobj,
971
+ });
972
+ }}
973
+ >
974
+ <i
975
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-up' : 'h-100 allcentered'}
976
+ // className="fa fa-chevron-up"
977
+ style={{
978
+ fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
979
+ }}
980
+ >
981
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && (
982
+ <FiPlus size={sectionproperties.add_quantitybtn_textfontsize} />
983
+ )}
984
+ </i>
985
+ </span>
986
+ )}
987
+
988
+ {sectionproperties.quantitybtneditable == 'Yes' && (
989
+ <input
990
+ type="number"
991
+ style={{
992
+ width: 100,
993
+ height: 40,
994
+ background: 'transparent',
995
+ fontWeight: sectionproperties.quantitybtn_textfontweight,
996
+ color: sectionproperties.quantitybtn_textcolor,
997
+ fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
998
+ textAlign: 'center',
999
+ }}
1000
+ value={addtocardpayloadobj.quantity}
1001
+ onChange={(event) => {
1002
+ if (
1003
+ event.target.value == NaN ||
1004
+ event.target.value == undefined ||
1005
+ event.target.value == null ||
1006
+ event.target.value == ''
1007
+ ) {
1008
+ var tempaddtocardpayloadobj = {
1009
+ ...addtocardpayloadobj,
1010
+ };
1011
+ tempaddtocardpayloadobj.quantity = 1;
1012
+ setaddtocardpayloadobj({
1013
+ ...tempaddtocardpayloadobj,
1014
+ });
1015
+ } else {
1016
+ var tempaddtocardpayloadobj = {
1017
+ ...addtocardpayloadobj,
1018
+ };
1019
+ tempaddtocardpayloadobj.quantity = parseInt(event.target.value);
1020
+ setaddtocardpayloadobj({
1021
+ ...tempaddtocardpayloadobj,
1022
+ });
1023
+ }
1024
+ }}
1025
+ />
1026
+ )}
1027
+ </button>
1028
+ )}
1029
+ {sectionproperties.featuresposition != 'Under Name' &&
1030
+ sectionproperties.featuresposition == 'Under Description' &&
1031
+ sectionproperties.featurestyle != 'Table' && (
1032
+ <div class="col-lg-12 text-start p-md-0">
1033
+ <div className="row m-0 w-100">
1034
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productfeatures?.map((fitem, findex) => {
1035
+ return (
1036
+ <div class={' col-md-12 p-0 mb-3 mt-2 col-lg-' + sectionproperties.featuresnumcols}>
1037
+ <div class="row m-0 w-100 text-start">
1038
+ <div class="col-lg-12 text-start mb-3 text-uppercase p-0">
1039
+ {/* {fitem?.name_en == 'support level' && ( */}
1040
+ {/* <img
1041
+ class={langdetect == 'en' ? 'mr-2' : 'ml-2'}
1042
+ src={fitem?.feature_image_url}
1043
+ style={{
1044
+ width: '20px',
1045
+ }}
1046
+ /> */}
1047
+ {/* )} */}
1048
+ <div
1049
+ style={{
1050
+ width: '20px',
1051
+ }}
1052
+ class={langdetect == 'en' ? 'mr-2' : 'ml-2'}
1053
+ >
1054
+ <Imagekitimagecomp
1055
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
1056
+ publicKey={ikimagecredcontext?.ikimagepublickey}
1057
+ path={fitem?.feature_image_url}
1058
+ loading="lazy"
1059
+ style={{
1060
+ maxWidth: '100%',
1061
+ maxHeight: '100%',
1062
+ }}
1063
+ />
1064
+ </div>
1065
+ <p
1066
+ class="m-0 p-0"
1067
+ style={{
1068
+ color: sectionproperties.featurecolor,
1069
+ fontWeight: sectionproperties.featurefontweight,
1070
+ fontSize: sectionproperties.featurefontsize,
1071
+ }}
1072
+ >
1073
+ {langdetect == 'en' ? fitem?.name_en : fitem?.name_ar}
1074
+ </p>
1075
+ </div>
1076
+
1077
+ <div class="col-lg-12 text-start text-capitalize">
1078
+ <p
1079
+ class="m-0 p-0"
1080
+ style={{
1081
+ color: sectionproperties.featurevaluecolor,
1082
+ fontWeight: sectionproperties.featurevaluefontweight,
1083
+ fontSize: sectionproperties.featurevaluefontsize,
1084
+ }}
1085
+ >
1086
+ {langdetect == 'en' ? fitem?.value_en : fitem?.value_ar}
1087
+ </p>
1088
+ </div>
1089
+ </div>
1090
+ </div>
1091
+ );
1092
+ })}
1093
+ </div>
1094
+ </div>
1095
+ )}
1096
+ {sectionproperties.cartbtnalone == 'Besides Other Buttons' &&
1097
+ sectionproperties.cartBtnShow == 'Show' &&
1098
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1099
+ <button
1100
+ className={`${productinfo_cssstyles.cart_btn} ` + ' ml-2 mr-2 d-flex align-items-center justify-content-center mb-sm-2 '}
1101
+ onClick={() => {
1102
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
1103
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
1104
+ } else {
1105
+ if (
1106
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
1107
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
1108
+ ) {
1109
+ addtocartfunc();
1110
+ } else {
1111
+ NotificationManager.warning(
1112
+ '',
1113
+ lang.maximum +
1114
+ ': ' +
1115
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
1116
+ ', ' +
1117
+ lang.minimum +
1118
+ ': ' +
1119
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
1120
+ );
1121
+ }
1122
+ }
1123
+ }}
1124
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
1125
+ >
1126
+ {!AddtoCartMutationContext.isLoading && (
1127
+ <span className={' d-flex align-items-center justify-content-center '}>
1128
+ <i
1129
+ className={
1130
+ langdetect == 'en'
1131
+ ? 'h-100 d-flex align-items-center justify-content-center mr-2'
1132
+ : 'h-100 d-flex align-items-center justify-content-center ml-2'
1133
+ }
1134
+ >
1135
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && (
1136
+ <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1137
+ )}
1138
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && (
1139
+ <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1140
+ )}
1141
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && (
1142
+ <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1143
+ )}
1144
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && (
1145
+ <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />
1146
+ )}
1147
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && (
1148
+ <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />
1149
+ )}
1150
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && (
1151
+ <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />
1152
+ )}
1153
+ </i>
1154
+
1155
+ {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
1156
+ {langdetect == 'en'
1157
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
1158
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
1159
+ </span>
1160
+ )}
1161
+ {AddtoCartMutationContext.isLoading && (
1162
+ <div className={' d-flex align-items-center justify-content-center '}>
1163
+ <CircularProgress color={sectionproperties.cartBtnTextcolor} width="20px" height="20px" duration="1s" />
1164
+ </div>
1165
+ )}
1166
+ </button>
1167
+ )}
1168
+ {sectionproperties.btnposition == 'Bottom' && sectionproperties.favBtnShow == 'Show' && (
1169
+ <div
1170
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 '}
1171
+ onClick={() => {
1172
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
1173
+ }}
1174
+ style={{
1175
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
1176
+ }}
1177
+ >
1178
+ <i className="h-100 d-flex align-items-center justify-content-center">
1179
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1180
+ <i className="h-100 d-flex align-items-center justify-content-center">
1181
+ {sectionproperties.faviconshape == 'Star Shape' && (
1182
+ <AiFillStar
1183
+ size={sectionproperties.favBtnIconfontsize}
1184
+ style={{
1185
+ color: sectionproperties.activefaviconcolor,
1186
+ }}
1187
+ />
1188
+ )}
1189
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1190
+ <FaHeart
1191
+ size={sectionproperties.favBtnIconfontsize}
1192
+ style={{
1193
+ color: sectionproperties.activefaviconcolor,
1194
+ }}
1195
+ />
1196
+ )}
1197
+ </i>
1198
+ )}
1199
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1200
+ <i className="h-100 d-flex align-items-center justify-content-center">
1201
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
1202
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
1203
+ </i>
1204
+ )}
1205
+ </i>
1206
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
1207
+ <p
1208
+ class="m-0 p-0"
1209
+ style={{
1210
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
1211
+ }}
1212
+ >
1213
+ {langdetect == 'en' ? sectionproperties.favbtncontent_en : sectionproperties.favbtncontent_ar}
1214
+ </p>
1215
+ )}
1216
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
1217
+ <p
1218
+ class="m-0 p-0"
1219
+ style={{
1220
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
1221
+ }}
1222
+ >
1223
+ {langdetect == 'en' ? sectionproperties.favbtnaddedcontent_en : sectionproperties.favbtnaddedcontent_ar}
1224
+ </p>
1225
+ )}
1226
+ </div>
1227
+ )}
1228
+ </div>
1229
+ {sectionproperties.cartbtnalone == 'Alone' &&
1230
+ sectionproperties.cartBtnShow == 'Show' &&
1231
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1232
+ <div class="row m-0 w-100 mt-3" style={{ overflow: 'hidden' }}>
1233
+ <button
1234
+ className={`${productinfo_cssstyles.cart_btn} ` + ' d-flex align-items-center justify-content-center mb-sm-2 '}
1235
+ style={{
1236
+ width: sectionproperties.cartBtnWidth + '%',
1237
+ }}
1238
+ onClick={() => {
1239
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
1240
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
1241
+ } else {
1242
+ if (
1243
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
1244
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
1245
+ ) {
1246
+ addtocartfunc();
1247
+ } else {
1248
+ NotificationManager.warning(
1249
+ '',
1250
+ lang.maximum +
1251
+ ': ' +
1252
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
1253
+ ', ' +
1254
+ lang.minimum +
1255
+ ': ' +
1256
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
1257
+ );
1258
+ }
1259
+ }
1260
+ }}
1261
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
1262
+ >
1263
+ {!AddtoCartMutationContext.isLoading && (
1264
+ <span className={' d-flex align-items-center justify-content-center '}>
1265
+ <i
1266
+ className={
1267
+ langdetect == 'en'
1268
+ ? 'h-100 d-flex align-items-center justify-content-center mr-2'
1269
+ : 'h-100 d-flex align-items-center justify-content-center ml-2'
1270
+ }
1271
+ >
1272
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && (
1273
+ <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1274
+ )}
1275
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && (
1276
+ <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1277
+ )}
1278
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && (
1279
+ <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1280
+ )}
1281
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && (
1282
+ <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />
1283
+ )}
1284
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && (
1285
+ <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />
1286
+ )}
1287
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && (
1288
+ <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />
1289
+ )}
1290
+ </i>
1291
+
1292
+ {langdetect == 'en'
1293
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
1294
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
1295
+ {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
1296
+ </span>
1297
+ )}
1298
+ {AddtoCartMutationContext.isLoading && (
1299
+ <div className={' d-flex align-items-center justify-content-center '}>
1300
+ <CircularProgress color={sectionproperties.cartBtnTextcolor} width="20px" height="20px" duration="1s" />
1301
+ </div>
1302
+ )}
1303
+ </button>
1304
+ {sectionproperties.btnposition == 'Besides Cart Button' && sectionproperties.favBtnShow == 'Show' && (
1305
+ <div
1306
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 mx-3 '}
1307
+ onClick={() => {
1308
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
1309
+ }}
1310
+ style={{
1311
+ background:
1312
+ fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
1313
+ }}
1314
+ >
1315
+ <i className="h-100 d-flex align-items-center justify-content-center">
1316
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1317
+ <i className="h-100 d-flex align-items-center justify-content-center">
1318
+ {sectionproperties.faviconshape == 'Star Shape' && (
1319
+ <AiFillStar
1320
+ size={sectionproperties.favBtnIconfontsize}
1321
+ style={{
1322
+ color: sectionproperties.activefaviconcolor,
1323
+ }}
1324
+ />
1325
+ )}
1326
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1327
+ <FaHeart
1328
+ size={sectionproperties.favBtnIconfontsize}
1329
+ style={{
1330
+ color: sectionproperties.activefaviconcolor,
1331
+ }}
1332
+ />
1333
+ )}
1334
+ </i>
1335
+ )}
1336
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1337
+ <i className="h-100 d-flex align-items-center justify-content-center">
1338
+ {sectionproperties.faviconshape == 'Star Shape' && (
1339
+ <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />
1340
+ )}
1341
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1342
+ <FaRegHeart size={sectionproperties.favBtnIconfontsize} />
1343
+ )}
1344
+ </i>
1345
+ )}
1346
+ </i>
1347
+ </div>
1348
+ )}
1349
+ </div>
1350
+ )}
1351
+ {sectionproperties.cartbtnalone == 'Alone' &&
1352
+ sectionproperties.showbuynowbtn == 'Show' &&
1353
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1354
+ <div class="row m-0 w-100 mt-3" style={{ overflow: 'hidden' }}>
1355
+ <button
1356
+ className={`${productinfo_cssstyles.cart_btn} ` + ' d-flex align-items-center justify-content-center mb-sm-2 '}
1357
+ style={{
1358
+ width: sectionproperties.cartBtnWidth + '%',
1359
+ }}
1360
+ onClick={() => {
1361
+ addtocartfunc('forcetocheckout');
1362
+ }}
1363
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
1364
+ >
1365
+ {!AddtoCartMutationContext.isLoading && (
1366
+ <span className={' d-flex align-items-center justify-content-center '}>
1367
+ {langdetect == 'en' ? 'Buy Now' : 'إشترى الان'}
1368
+ </span>
1369
+ )}
1370
+ {AddtoCartMutationContext.isLoading && (
1371
+ <div className={' d-flex align-items-center justify-content-center '}>
1372
+ <CircularProgress color={sectionproperties.cartBtnTextcolor} width="20px" height="20px" duration="1s" />
1373
+ </div>
1374
+ )}
1375
+ </button>
1376
+ </div>
1377
+ )}
1378
+ </div>
1379
+ </div>
1380
+ </div>
1381
+ {sectionproperties.descriptionstyle == 'Style 2' && (
1382
+ <div class="col-lg-12 p-md-0">
1383
+ <hr class="my-3" />
1384
+ </div>
1385
+ )}
1386
+ {sectionproperties.featuresposition != 'Under Name' &&
1387
+ sectionproperties.featuresposition != 'Under Description' &&
1388
+ sectionproperties.featurestyle != 'Table' && (
1389
+ <div class="col-lg-12 text-start p-md-0">
1390
+ <div className="row m-0 w-100">
1391
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productfeatures?.map((fitem, findex) => {
1392
+ return (
1393
+ <div class={' col-md-12 p-0 mb-3 mt-2 col-lg-' + sectionproperties.featuresnumcols}>
1394
+ <div class="row m-0 w-100 text-start">
1395
+ <div class="col-lg-12 text-start mb-3 text-uppercase p-0">
1396
+ {/* {fitem?.name_en == 'support level' && ( */}
1397
+ {/* <img
1398
+ class={langdetect == 'en' ? 'mr-2' : 'ml-2'}
1399
+ src={fitem?.feature_image_url}
1400
+ style={{
1401
+ width: '20px',
1402
+ }}
1403
+ /> */}
1404
+ {/* )} */}
1405
+ <div
1406
+ style={{
1407
+ width: '20px',
1408
+ }}
1409
+ class={langdetect == 'en' ? 'mr-2' : 'ml-2'}
1410
+ >
1411
+ <Imagekitimagecomp
1412
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
1413
+ publicKey={ikimagecredcontext?.ikimagepublickey}
1414
+ path={fitem?.feature_image_url}
1415
+ loading="lazy"
1416
+ style={{
1417
+ maxWidth: '100%',
1418
+ maxHeight: '100%',
1419
+ }}
1420
+ />
1421
+ </div>
1422
+ <p
1423
+ class="m-0 p-0"
1424
+ style={{
1425
+ color: sectionproperties.featurecolor,
1426
+ fontWeight: sectionproperties.featurefontweight,
1427
+ fontSize: sectionproperties.featurefontsize,
1428
+ }}
1429
+ >
1430
+ {langdetect == 'en' ? fitem?.name_en : fitem?.name_ar}
1431
+ </p>
1432
+ </div>
1433
+
1434
+ <div class="col-lg-12 text-start text-capitalize">
1435
+ <p
1436
+ class="m-0 p-0"
1437
+ style={{
1438
+ color: sectionproperties.featurevaluecolor,
1439
+ fontWeight: sectionproperties.featurevaluefontweight,
1440
+ fontSize: sectionproperties.featurevaluefontsize,
1441
+ }}
1442
+ >
1443
+ {langdetect == 'en' ? fitem?.value_en : fitem?.value_ar}
1444
+ </p>
1445
+ </div>
1446
+ </div>
1447
+ </div>
1448
+ );
1449
+ })}
1450
+ </div>
1451
+ </div>
1452
+ )}
1453
+ {/* long description collap */}
1454
+ {sectionproperties.descriptionstyle == 'Style 2' && (
1455
+ <div class="col-lg-12 col-md-12 p-md-0 mt-3">
1456
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1457
+ <AccordionItem>
1458
+ <AccordionItemHeading>
1459
+ <AccordionItemButton>
1460
+ <div class="row m-0 w-100">
1461
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
1462
+ <p
1463
+ class="m-0 p-0"
1464
+ style={{
1465
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1466
+ fontWeight: sectionproperties.prodCatFontWeight,
1467
+ color: sectionproperties.prodCatColor,
1468
+ fontSize: sectionproperties.prodCatFontSize + 'px',
1469
+ }}
1470
+ >
1471
+ {langdetect == 'en' ? sectionproperties.descriptionContentEn : sectionproperties.descriptionContentAr}
1472
+ </p>
1473
+ </div>
1474
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1475
+ <AccordionItemState>
1476
+ {(state) => {
1477
+ if (state.expanded == true) {
1478
+ return (
1479
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1480
+ <FaMinus color={sectionproperties.prodCatColor} />
1481
+ </i>
1482
+ );
1483
+ } else {
1484
+ return (
1485
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1486
+ <FaPlus color={sectionproperties.prodCatColor} />
1487
+ </i>
1488
+ );
1489
+ }
1490
+ }}
1491
+ </AccordionItemState>
1492
+ </div>
1493
+ </div>
1494
+ </AccordionItemButton>
1495
+ </AccordionItemHeading>
1496
+ <AccordionItemPanel className="p-0">
1497
+ <div class="col-lg-12 p-0 mt-3">
1498
+ <DescriptionContent actions={props.actions} srcfromprops={'collap'} />
1499
+ </div>
1500
+ </AccordionItemPanel>
1501
+ </AccordionItem>
1502
+ </Accordion>
1503
+ </div>
1504
+ )}
1505
+ {sectionproperties.descriptionstyle == 'Style 2' && (
1506
+ <div class="col-lg-12 col-md-12 my-3 p-md-0">
1507
+ <hr class="m-0" />
1508
+ </div>
1509
+ )}
1510
+ {/* short desc collap */}
1511
+
1512
+ {sectionproperties.descriptionstyle == 'Style 2' && sectionproperties.showshortdescription == 'Show' && (
1513
+ <div class="col-lg-12 col-md-12 p-md-0">
1514
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1515
+ <AccordionItem>
1516
+ <AccordionItemHeading>
1517
+ <AccordionItemButton>
1518
+ <div class="row m-0 w-100">
1519
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
1520
+ <p
1521
+ class="m-0 p-0"
1522
+ style={{
1523
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1524
+ fontWeight: sectionproperties.prodCatFontWeight,
1525
+ color: sectionproperties.prodCatColor,
1526
+ fontSize: sectionproperties.prodCatFontSize + 'px',
1527
+ }}
1528
+ >
1529
+ {langdetect == 'en' ? sectionproperties.shortdescriptiontitle_en : sectionproperties.shortdescriptiontitle_ar}
1530
+ </p>
1531
+ </div>
1532
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1533
+ <AccordionItemState>
1534
+ {(state) => {
1535
+ if (state.expanded == true) {
1536
+ return (
1537
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1538
+ <FaMinus color={sectionproperties.prodCatColor} />
1539
+ </i>
1540
+ );
1541
+ } else {
1542
+ return (
1543
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1544
+ <FaPlus color={sectionproperties.prodCatColor} />
1545
+ </i>
1546
+ );
1547
+ }
1548
+ }}
1549
+ </AccordionItemState>
1550
+ </div>
1551
+ </div>
1552
+ </AccordionItemButton>
1553
+ </AccordionItemHeading>
1554
+ <AccordionItemPanel className="p-0">
1555
+ <div class="col-lg-12 pl-3 pr-3 mt-3">
1556
+ <p
1557
+ className={'m-0 p-0 wordbreak'}
1558
+ style={{
1559
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1560
+ color: sectionproperties.prodCatColor,
1561
+ }}
1562
+ dangerouslySetInnerHTML={{
1563
+ __html:
1564
+ langdetect == 'en'
1565
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_en
1566
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_ar,
1567
+ }}
1568
+ ></p>
1569
+ </div>
1570
+ </AccordionItemPanel>
1571
+ </AccordionItem>
1572
+ </Accordion>
1573
+ </div>
1574
+ )}
1575
+ {sectionproperties.descriptionstyle == 'Style 2' && (
1576
+ <div class="col-lg-12 col-md-12 my-3 p-md-0">
1577
+ <hr class="m-0" />
1578
+ </div>
1579
+ )}
1580
+ {/* policies collap */}
1581
+ {sectionproperties.descriptionstyle == 'Style 2' && (
1582
+ <div class="col-lg-12 col-md-12 p-md-0 mb-3">
1583
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1584
+ <AccordionItem>
1585
+ <AccordionItemHeading>
1586
+ <AccordionItemButton>
1587
+ <div class="row m-0 w-100">
1588
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
1589
+ <p
1590
+ class="m-0 p-0 "
1591
+ style={{
1592
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1593
+ fontWeight: sectionproperties.prodCatFontWeight,
1594
+ color: sectionproperties.prodCatColor,
1595
+ fontSize: sectionproperties.prodCatFontSize + 'px',
1596
+ }}
1597
+ >
1598
+ {langdetect == 'en' ? sectionproperties.policiestitleen : sectionproperties.policiestitlear}
1599
+ </p>
1600
+ </div>
1601
+ {/* */}
1602
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1603
+ <AccordionItemState>
1604
+ {(state) => {
1605
+ if (state.expanded == true) {
1606
+ return (
1607
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1608
+ <FaMinus color={sectionproperties.prodCatColor} />
1609
+ </i>
1610
+ );
1611
+ } else {
1612
+ return (
1613
+ <i className={' h-100 d-flex align-items-center justify-content-end '}>
1614
+ <FaPlus color={sectionproperties.prodCatColor} />
1615
+ </i>
1616
+ );
1617
+ }
1618
+ }}
1619
+ </AccordionItemState>
1620
+ </div>
1621
+ </div>
1622
+ </AccordionItemButton>
1623
+ </AccordionItemHeading>
1624
+ <AccordionItemPanel className="p-0">
1625
+ {/* title Shipping Policy */}
1626
+ {sectionproperties.showfirstpolicy == 'Show' && (
1627
+ <div class="col-lg-12 p-0 mb-3 d-flex flex-row text-start align-items-center mt-3">
1628
+ <i class="h-100 allcentered mx-2">
1629
+ <FiBox
1630
+ size={15}
1631
+ style={{
1632
+ color: sectionproperties.prodCatColor,
1633
+ }}
1634
+ />
1635
+ </i>
1636
+ <p
1637
+ class="m-0 p-0 text-uppercase"
1638
+ style={{
1639
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1640
+ fontWeight: sectionproperties.prodCatFontWeight,
1641
+ color: sectionproperties.prodCatColor,
1642
+ fontSize: '14px',
1643
+ }}
1644
+ >
1645
+ {langdetect == 'en'
1646
+ ? returnpolicyobj('Shipping Policy')?.policypagename_en
1647
+ : returnpolicyobj('Shipping Policy')?.policypagename_ar}
1648
+ </p>
1649
+ </div>
1650
+ )}
1651
+ {/* content */}
1652
+ {sectionproperties.showfirstpolicy == 'Show' && (
1653
+ <div class="col-lg-12 p-0 mb-4 px-4">
1654
+ <p
1655
+ className={' m-0 p-0 wordbreak '}
1656
+ style={{
1657
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1658
+ fontWeight: sectionproperties.prodCatFontWeight,
1659
+ color: sectionproperties.prodCatColor,
1660
+ fontSize: '15px',
1661
+ }}
1662
+ dangerouslySetInnerHTML={{
1663
+ __html:
1664
+ langdetect == 'en'
1665
+ ? returnpolicyobj('Shipping Policy')?.policysummary_en
1666
+ : returnpolicyobj('Shipping Policy')?.policysummary_ar,
1667
+ }}
1668
+ ></p>
1669
+ </div>
1670
+ )}
1671
+ {sectionproperties.showfirstpolicy == 'Show' && (
1672
+ <div class="col-lg-12 p-0 mb-4 px-4">
1673
+ <p
1674
+ className={' m-0 p-0 wordbreak cursor-pointer '}
1675
+ style={{
1676
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1677
+ textDecoration: 'underline',
1678
+ color: sectionproperties.prodCatColor,
1679
+ }}
1680
+ onClick={() => {
1681
+ routingcountext(StaticPagesLinksContext.ShippingPolicy);
1682
+ }}
1683
+ >
1684
+ SEE MORE
1685
+ </p>
1686
+ </div>
1687
+ )}
1688
+
1689
+ {/* title */}
1690
+ <div class="col-lg-12 p-0 mb-3 d-flex flex-row text-start align-items-center">
1691
+ <i class="h-100 allcentered mx-2">
1692
+ <RiArrowGoBackLine
1693
+ size={15}
1694
+ style={{
1695
+ color: sectionproperties.prodCatColor,
1696
+ }}
1697
+ />
1698
+ </i>
1699
+ <p
1700
+ class="m-0 p-0 text-uppercase"
1701
+ style={{
1702
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1703
+ fontWeight: sectionproperties.prodCatFontWeight,
1704
+ color: sectionproperties.prodCatColor,
1705
+ fontSize: '14px',
1706
+ }}
1707
+ >
1708
+ {langdetect == 'en'
1709
+ ? returnpolicyobj('Refund Policy')?.policypagename_en
1710
+ : returnpolicyobj('Refund Policy')?.policypagename_ar}
1711
+ </p>
1712
+ </div>
1713
+ {/* {content} */}
1714
+ <div class="col-lg-12 p-0 mb-4 px-4">
1715
+ <p
1716
+ className={' m-0 p-0 wordbreak '}
1717
+ style={{
1718
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1719
+ fontWeight: sectionproperties.prodCatFontWeight,
1720
+ color: sectionproperties.prodCatColor,
1721
+ fontSize: '15px',
1722
+ }}
1723
+ dangerouslySetInnerHTML={{
1724
+ __html:
1725
+ langdetect == 'en'
1726
+ ? returnpolicyobj('Refund Policy')?.policysummary_en
1727
+ : returnpolicyobj('Refund Policy')?.policysummary_ar,
1728
+ }}
1729
+ ></p>
1730
+ </div>
1731
+ <div class="col-lg-12 p-0 mb-4 px-4">
1732
+ <p
1733
+ className={' m-0 p-0 wordbreak cursor-pointer '}
1734
+ style={{
1735
+ textAlign: langdetect == 'en' ? 'left' : 'right',
1736
+ textDecoration: 'underline',
1737
+ color: sectionproperties.prodCatColor,
1738
+ }}
1739
+ onClick={() => {
1740
+ routingcountext(StaticPagesLinksContext.RefundPolicy);
1741
+ }}
1742
+ >
1743
+ SEE MORE
1744
+ </p>
1745
+ </div>
1746
+ </AccordionItemPanel>
1747
+ </AccordionItem>
1748
+ </Accordion>
1749
+ </div>
1750
+ )}
1751
+ {sectionproperties.productInformationType == 'Product/Service Information' &&
1752
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
1753
+ sectionproperties.showtotalsection == 'Show' && (
1754
+ <div className="col-lg-12 p-0 mb-3">
1755
+ <div className="row m-0 w-100 d-flex flex-row">
1756
+ <p
1757
+ className="m-0 p-0"
1758
+ style={{
1759
+ color: sectionproperties.total_color,
1760
+ fontSize: sectionproperties.total_fontsize + 'px',
1761
+ fontWeight: sectionproperties.total_fontweight,
1762
+ textTransform: sectionproperties.total_texttransform,
1763
+ }}
1764
+ >
1765
+ {lang.total}:
1766
+ </p>
1767
+ <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center pl-1 pr-1">
1768
+ <p
1769
+ className={'m-0 p-0 wordbreak d-flex align-items-center justify-content-end'}
1770
+ style={{
1771
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
1772
+ fontWeight: sectionproperties.prodPriceFontWeight,
1773
+ color: sectionproperties.prodPriceColor,
1774
+ }}
1775
+ >
1776
+ {/* here */}
1777
+ <span
1778
+ className={
1779
+ langdetect == 'en'
1780
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right '
1781
+ : ' d-flex align-items-center justify-content-end wordbreak text-left '
1782
+ }
1783
+ >
1784
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1785
+ {variantindexcompleted != undefined &&
1786
+ variantindexcompleted.length == 0 &&
1787
+ fetchProductInfoQueryContext.data.data.productinfo.hassale == 0 &&
1788
+ parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)}
1789
+ {variantindexcompleted != undefined &&
1790
+ variantindexcompleted.length == 0 &&
1791
+ fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 &&
1792
+ parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
1793
+ {variantindexcompleted != undefined &&
1794
+ variantindexcompleted.length != 0 &&
1795
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1 &&
1796
+ parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
1797
+ {variantindexcompleted != undefined &&
1798
+ variantindexcompleted.length != 0 &&
1799
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 0 &&
1800
+ parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)}
1801
+ {/* {totalprice} */}
1802
+ {/* {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0
1803
+ ? parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)
1804
+ : parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)} */}
1805
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1806
+ </span>
1807
+ </p>
1808
+ <p
1809
+ className={'m-0 p-0 linethrough wordbreak'}
1810
+ style={{
1811
+ color: sectionproperties.prodsalePriceColor,
1812
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
1813
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
1814
+ }}
1815
+ >
1816
+ {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 &&
1817
+ variantindexcompleted != undefined &&
1818
+ variantindexcompleted.length == 0 && (
1819
+ <span
1820
+ className={
1821
+ langdetect == 'en'
1822
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
1823
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
1824
+ }
1825
+ >
1826
+ <span className="ml-2 mr-2" style={{ textDecoration: 'none' }}>
1827
+ -
1828
+ </span>
1829
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1830
+ {parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted))}{' '}
1831
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1832
+ </span>
1833
+ )}
1834
+ {variantindexcompleted != undefined &&
1835
+ variantindexcompleted.length != 0 &&
1836
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1 && (
1837
+ <span
1838
+ className={
1839
+ langdetect == 'en'
1840
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
1841
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
1842
+ }
1843
+ >
1844
+ <span className="ml-2 mr-2" style={{ textDecoration: 'none' }}>
1845
+ -
1846
+ </span>
1847
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1848
+ {parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted))}{' '}
1849
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1850
+ </span>
1851
+ )}
1852
+ </p>
1853
+ </div>
1854
+ </div>
1855
+ </div>
1856
+ )}
1857
+ {sectionproperties.availabilitybtnposition == 'Bottom' &&
1858
+ sectionproperties.show_availability == 'Show' &&
1859
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1860
+ <div className="col-lg-12 p-0 mb-3 mt-2">
1861
+ <div
1862
+ style={{
1863
+ width: sectionproperties.availability_width + 'px',
1864
+ height: sectionproperties.availability_height + 'px',
1865
+ background:
1866
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1867
+ ? sectionproperties.availability_availablebgcolor
1868
+ : sectionproperties.availability_limitedbgcolor,
1869
+ borderRadius: sectionproperties.availability_borderrradius + 'px',
1870
+ border:
1871
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1872
+ ? sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_availabletextcolor
1873
+ : sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_limitedtextcolor,
1874
+ justifyContent: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : 'start',
1875
+ }}
1876
+ className="d-flex align-items-center pl-3 pr-3"
1877
+ >
1878
+ <p
1879
+ className="m-0 p-0 font-weight-500 wordbreak"
1880
+ style={{
1881
+ color:
1882
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1883
+ ? sectionproperties.availability_availabletextcolor
1884
+ : sectionproperties.availability_limitedtextcolor,
1885
+ fontSize: sectionproperties.availability_fontsize + 'px',
1886
+ textAlign: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
1887
+ }}
1888
+ >
1889
+ <span
1890
+ style={{
1891
+ color: sectionproperties.availability_textcolor,
1892
+ }}
1893
+ className="font-weight-600"
1894
+ >
1895
+ {lang.availability}:
1896
+ </span>
1897
+ <span className="ml-1 mr-1">
1898
+ {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.available : lang.limitedquantity}
1899
+ </span>
1900
+ </p>
1901
+ </div>
1902
+ </div>
1903
+ )}
1904
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 1' && (
1905
+ <div class="col-lg-12 p-0">
1906
+ <hr
1907
+ class="mb-3 mt-3"
1908
+ style={{
1909
+ borderColor: '#eee',
1910
+ }}
1911
+ />
1912
+ </div>
1913
+ )}
1914
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 1' && (
1915
+ <div class="col-lg-12 mt-2 p-0">{ShareButtonsContainer()}</div>
1916
+ )}
1917
+
1918
+ {sectionproperties.storeinfoposition == 'Below Information' && (
1919
+ <div className={productinfo_cssstyles.storeinfocontainer + ' col-lg-12 p-0 '} style={{}}>
1920
+ <div
1921
+ class="row m-0 w-100"
1922
+ style={{
1923
+ paddingLeft: langdetect == 'en' ? '.5em' : 0,
1924
+ paddingRight: langdetect == 'ar' ? '.5rem' : 0,
1925
+ }}
1926
+ >
1927
+ {StoreInfoprops()}
1928
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1929
+ <div class={productinfo_cssstyles.storeinfocontainer + ' col-lg-12 p-0 '} style={{}}>
1930
+ <hr class="my-3" />
1931
+ </div>
1932
+ )}
1933
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1934
+ <div class="col-lg-12 p-0 allcentered mt-2">{ShareButtonsContainer()}</div>
1935
+ )}
1936
+ </div>
1937
+ </div>
1938
+ )}
1939
+ </div>
1940
+ </div>
1941
+ </div>
1942
+ </div>
1943
+ {sectionproperties.storeinfoposition == 'On The Right' && (
1944
+ <div
1945
+ className={langdetect == 'en' ? 'col-lg-3 pr-0 border-md-none p-md-0 pt-4 pl-md-0 pr-md-0' : 'col-lg-3 pl-0 border-md-none md-0 pt-4 pl-md-0 pr-md-0'}
1946
+ style={{
1947
+ borderLeft: langdetect == 'en' ? '1px solid #eee' : 0,
1948
+ borderRight: langdetect == 'ar' ? '1px solid #eee' : 0,
1949
+ display:
1950
+ sectionproperties.showfooterphonenumber == 'Hide' &&
1951
+ sectionproperties.showfooteremail == 'Hide' &&
1952
+ sectionproperties.showstoreinfo2 == 'Hide' &&
1953
+ sectionproperties.showstoreinfo1 == 'Hide'
1954
+ ? 'none'
1955
+ : 'block',
1956
+ }}
1957
+ >
1958
+ <div
1959
+ class="row m-0 w-100"
1960
+ style={{
1961
+ paddingLeft: langdetect == 'en' ? '.5em' : 0,
1962
+ paddingRight: langdetect == 'ar' ? '.5rem' : 0,
1963
+ }}
1964
+ >
1965
+ {StoreInfoprops()}
1966
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1967
+ <div class="col-lg-12 p-0">
1968
+ <hr class="my-3" />
1969
+ </div>
1970
+ )}
1971
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1972
+ <div class="col-lg-12 p-0 allcentered mt-2">{ShareButtonsContainer()}</div>
1973
+ )}
1974
+ </div>
1975
+ </div>
1976
+ )}
1977
+ </div>
1978
+ </div>
1979
+ </div>
1980
+ )}
1981
+ {Object.keys(sectionproperties).length != 0 && authdetailsContext?.instinfo?.contactinfo.instid == '673ca821296ee' && (
1982
+ <div
1983
+ class={`${productinfo_cssstyles.cardcontainer}` + ' row ml-0 mr-0 w-100 pl-md-3 pr-md-3 px-1025-1 '}
1984
+ style={{
1985
+ minHeight: sectionproperties.height + 'vh',
1986
+ // paddingLeft: srcfromprops == 'templatedraftrouter' ? 0 : langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px',
1987
+ // paddingRight: srcfromprops == 'templatedraftrouter' ? 0 : langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px',
1988
+ }}
1989
+ >
1990
+ <div class="col-lg-12 allcentered p-0 mb-2">
1991
+ <div className="w-100 h-100" style={{}}>
1992
+ <Imagekitimagecomp
1993
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
1994
+ publicKey={ikimagecredcontext?.ikimagepublickey}
1995
+ path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + fetchProductInfoQueryContext?.data?.data?.productinfo?.productmainimage}
1996
+ style={{
1997
+ width: '100%',
1998
+ height: '100%',
1999
+ objectFit: 'contain',
2000
+ }}
2001
+ loading="lazy"
2002
+ />
2003
+ </div>
2004
+ </div>
2005
+ {sectionproperties.showmeasurementunit == 'Show' && (
2006
+ <div className={'col-lg-12 p-0 mb-1 d-flex justify-content-start align-items-center mb-2 mt-3'}>
2007
+ <p
2008
+ className={' m-0 p-0 wordbreak d-flex justify-content-start '}
2009
+ style={{
2010
+ textAlign: langdetect == 'en' ? 'left' : 'right',
2011
+ fontWeight: 400,
2012
+ color: sectionproperties.measurementunitcolor,
2013
+ fontSize: sectionproperties.measurementunitfontsize + 'px',
2014
+ }}
2015
+ >
2016
+ {fetchProductInfoQueryContext.data.data.productinfo.measurmentunit}
2017
+ </p>
2018
+ </div>
2019
+ )}
2020
+
2021
+ <div className={'col-lg-12 p-0 mb-1 d-flex justify-content-start align-items-center'}>
2022
+ <p
2023
+ className={
2024
+ props.srcfromprops != 'templatedraftrouter'
2025
+ ? `${productinfo_cssstyles.productname} ${productinfo_cssstyles.productnamehover}` +
2026
+ ' m-0 p-0 wordbreak d-flex justify-content-start cursor-pointer font-sm-15 '
2027
+ : `${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start font-sm-15 '
2028
+ }
2029
+ onClick={() => {
2030
+ if (props.srcfromprops != 'templatedraftrouter') {
2031
+ routingcountext(StaticPagesLinksContext.productinfo, true, fetchProductInfoQueryContext.data.data.productinfo.productid);
2032
+ }
2033
+ }}
2034
+ style={{ textAlign: langdetect == 'en' ? 'left' : 'right' }}
2035
+ >
2036
+ {langdetect == 'en' ? fetchProductInfoQueryContext.data.data.productinfo.name_en : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
2037
+ </p>
2038
+ </div>
2039
+ <div class="col-lg-12 col-md-12 p-0">
2040
+ <div class="row m-0 w-100">
2041
+ <div className="col-lg-12 p-0 d-flex align-items-center justify-content-start">
2042
+ <p
2043
+ class="m-0 p-0"
2044
+ style={{
2045
+ textAlign: langdetect == 'en' ? 'left' : 'right',
2046
+ fontWeight: sectionproperties.prodCatFontWeight,
2047
+ color: sectionproperties.prodCatColor,
2048
+ fontSize: sectionproperties.prodCatFontSize + 'px',
2049
+ }}
2050
+ >
2051
+ {langdetect == 'en' ? sectionproperties.shortdescriptiontitle_en : sectionproperties.shortdescriptiontitle_ar}
2052
+ </p>
2053
+ </div>
2054
+ <div class="col-lg-12 mt-3">
2055
+ <p
2056
+ className={'m-0 p-0 wordbreak'}
2057
+ style={{
2058
+ textAlign: langdetect == 'en' ? 'left' : 'right',
2059
+ color: sectionproperties.prodCatColor,
2060
+ }}
2061
+ dangerouslySetInnerHTML={{
2062
+ __html:
2063
+ langdetect == 'en'
2064
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_en
2065
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.short_description_ar,
2066
+ }}
2067
+ ></p>
2068
+ </div>
2069
+ </div>
2070
+ </div>
2071
+ <div class="col-lg-12 p-0 my-4">
2072
+ <div class="row m-0 w-100">
2073
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.length != 0 &&
2074
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages.map((item, index) => {
2075
+ return (
2076
+ <div class="col-lg-4 col-sm-12">
2077
+ <div class={' mx-2 w-100 h-100'} style={{}}>
2078
+ <Imagekitimagecomp
2079
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
2080
+ publicKey={ikimagecredcontext?.ikimagepublickey}
2081
+ path={'/tr:w-500,h-500/' + item.path}
2082
+ style={{
2083
+ width: '100%',
2084
+ height: '100%',
2085
+ objectFit: 'contain',
2086
+ }}
2087
+ loading="lazy"
2088
+ />
2089
+ </div>
2090
+ </div>
2091
+ );
2092
+ })}
2093
+ </div>
2094
+ </div>
2095
+ <div class="col-lg-12 p-0 my-3">
2096
+ <div class="col-lg-12 p-0 d-flex justify-content-start">
2097
+ <p
2098
+ className={'text-black m-0 p-0 wordbreak'}
2099
+ style={{
2100
+ textAlign: langdetect == 'en' ? 'left' : 'right',
2101
+ }}
2102
+ dangerouslySetInnerHTML={{
2103
+ __html:
2104
+ langdetect == 'en'
2105
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en
2106
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar,
2107
+ }}
2108
+ ></p>
2109
+ </div>
2110
+ </div>
2111
+ </div>
2112
+ )}
2113
+ </div>
2114
+ {/* <div class="col-lg-12 p-0">{relatedproducts()}</div> */}
2115
+ </div>
2116
+ );
2117
+ };
2118
+ export default Product_itemtype;