tabexseriescomponents 0.0.655 → 0.0.657

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 (314) hide show
  1. package/dist/index.cjs.js +145 -566
  2. package/dist/index.esm.js +145 -566
  3. package/dist/index.umd.js +145 -566
  4. package/package.json +1 -1
  5. package/src 2.zip +0 -0
  6. package/src1-5.zip +0 -0
  7. package/src22-1/Contexts/LanguageContext.jsx +0 -405
  8. package/src22-1/Contexts/ProductsCardsSectionContext.jsx +0 -36
  9. package/src22-1/Imagekitconfig.jsx +0 -46
  10. package/src22-1/StylesJS/Customstyles.js +0 -344
  11. package/src22-1/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +0 -376
  12. package/src22-1/TabexComponents/Cards/Card20/Card20.jsx +0 -282
  13. package/src22-1/TabexComponents/Cards/Card21/Card21.jsx +0 -388
  14. package/src22-1/TabexComponents/Cards/Card22/Card22.jsx +0 -288
  15. package/src22-1/TabexComponents/Cards/Card23/Card23 copy.jsx +0 -1630
  16. package/src22-1/TabexComponents/Cards/Card23/Card23.jsx +0 -627
  17. package/src22-1/TabexComponents/Cards/CardAll/CardAll.jsx +0 -453
  18. package/src22-1/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -394
  19. package/src22-1/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +0 -70
  20. package/src22-1/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +0 -211
  21. package/src22-1/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -246
  22. package/src22-1/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -235
  23. package/src22-1/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -199
  24. package/src22-1/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -182
  25. package/src22-1/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -181
  26. package/src22-1/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -161
  27. package/src22-1/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -180
  28. package/src22-1/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +0 -546
  29. package/src22-1/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -142
  30. package/src22-1/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +0 -193
  31. package/src22-1/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -379
  32. package/src22-1/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -543
  33. package/src22-1/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -468
  34. package/src22-1/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -593
  35. package/src22-1/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +0 -208
  36. package/src22-1/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +0 -497
  37. package/src22-1/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +0 -519
  38. package/src22-1/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +0 -304
  39. package/src22-1/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  40. package/src22-1/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -277
  41. package/src22-1/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -352
  42. package/src22-1/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -291
  43. package/src22-1/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  44. package/src22-1/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -327
  45. package/src22-1/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +0 -408
  46. package/src22-1/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -528
  47. package/src22-1/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -558
  48. package/src22-1/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -275
  49. package/src22-1/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  50. package/src22-1/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -137
  51. package/src22-1/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +0 -598
  52. package/src22-1/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +0 -390
  53. package/src22-1/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -225
  54. package/src22-1/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +0 -525
  55. package/src22-1/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +0 -455
  56. package/src22-1/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -493
  57. package/src22-1/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -337
  58. package/src22-1/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -347
  59. package/src22-1/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +0 -596
  60. package/src22-1/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +0 -185
  61. package/src22-1/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -528
  62. package/src22-1/TabexComponents/Footer/Footer1/Footer1.jsx +0 -551
  63. package/src22-1/TabexComponents/Footer/Footer2/Footer2.jsx +0 -415
  64. package/src22-1/TabexComponents/Footer/Footer3/Footer3.jsx +0 -400
  65. package/src22-1/TabexComponents/Footer/Footer4/Footer4.jsx +0 -457
  66. package/src22-1/TabexComponents/Footer/Footer5/Footer5.jsx +0 -563
  67. package/src22-1/TabexComponents/Footer/Footer6/Footer6.jsx +0 -290
  68. package/src22-1/TabexComponents/Footer/Footer7/Footer7.jsx +0 -428
  69. package/src22-1/TabexComponents/Footer/Footer8/Footer8.jsx +0 -473
  70. package/src22-1/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +0 -330
  71. package/src22-1/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +0 -562
  72. package/src22-1/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +0 -584
  73. package/src22-1/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +0 -110
  74. package/src22-1/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -316
  75. package/src22-1/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  76. package/src22-1/TabexComponents/Generalfiles/images/noimage.png +0 -0
  77. package/src22-1/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  78. package/src22-1/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  79. package/src22-1/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  80. package/src22-1/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  81. package/src22-1/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  82. package/src22-1/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  83. package/src22-1/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  84. package/src22-1/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  85. package/src22-1/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  86. package/src22-1/TabexComponents/Generalfiles/images/usflag.png +0 -0
  87. package/src22-1/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  88. package/src22-1/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -1244
  89. package/src22-1/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -1049
  90. package/src22-1/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +0 -895
  91. package/src22-1/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -1213
  92. package/src22-1/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +0 -76
  93. package/src22-1/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +0 -780
  94. package/src22-1/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -771
  95. package/src22-1/TabexComponents/Headers/Header4/Header4.jsx +0 -622
  96. package/src22-1/TabexComponents/Headers/Header8/Header8 copy.jsx +0 -1026
  97. package/src22-1/TabexComponents/Headers/Header8/Header8.jsx +0 -1923
  98. package/src22-1/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -728
  99. package/src22-1/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +0 -918
  100. package/src22-1/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +0 -707
  101. package/src22-1/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +0 -902
  102. package/src22-1/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -847
  103. package/src22-1/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -1371
  104. package/src22-1/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +0 -1201
  105. package/src22-1/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +0 -990
  106. package/src22-1/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +0 -779
  107. package/src22-1/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +0 -1327
  108. package/src22-1/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -934
  109. package/src22-1/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +0 -64
  110. package/src22-1/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -732
  111. package/src22-1/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +0 -778
  112. package/src22-1/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +0 -1162
  113. package/src22-1/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +0 -835
  114. package/src22-1/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +0 -128
  115. package/src22-1/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -854
  116. package/src22-1/TabexComponents/Headers/Subheader/Subheader.jsx +0 -662
  117. package/src22-1/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +0 -517
  118. package/src22-1/TabexComponents/Headers/Subheader/Subheadernew.jsx +0 -555
  119. package/src22-1/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -1045
  120. package/src22-1/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +0 -1089
  121. package/src22-1/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +0 -936
  122. package/src22-1/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -533
  123. package/src22-1/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -338
  124. package/src22-1/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -802
  125. package/src22-1/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +0 -302
  126. package/src22-1/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -314
  127. package/src22-1/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -274
  128. package/src22-1/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -179
  129. package/src22-1/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -201
  130. package/src22-1/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +0 -392
  131. package/src22-1/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +0 -291
  132. package/src22-1/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +0 -387
  133. package/src22-1/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +0 -266
  134. package/src22-1/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -146
  135. package/src22-1/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +0 -414
  136. package/src22-1/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -296
  137. package/src22-1/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +0 -396
  138. package/src22-1/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -421
  139. package/src22-1/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +0 -364
  140. package/src22-1/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +0 -1399
  141. package/src22-1/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +0 -1656
  142. package/src22-1/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +0 -1540
  143. package/src22-1/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -1532
  144. package/src22-1/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -480
  145. package/src22-1/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +0 -719
  146. package/src22-1/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -406
  147. package/src22-1/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -682
  148. package/src22-1/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +0 -635
  149. package/src22-1/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +0 -920
  150. package/src22-1/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -517
  151. package/src22-1/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +0 -383
  152. package/src22-1/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -325
  153. package/src22-1/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -161
  154. package/src22-1/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +0 -257
  155. package/src22-1/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +0 -382
  156. package/src22-1/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -757
  157. package/src22-1/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +0 -346
  158. package/src22-1/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -633
  159. package/src22-1/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -141
  160. package/src22-1/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +0 -376
  161. package/src22-1/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -380
  162. package/src22-1/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -400
  163. package/src22-1/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  164. package/src22-1/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  165. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -143
  166. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +0 -634
  167. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -331
  168. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +0 -527
  169. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -603
  170. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +0 -477
  171. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +0 -1217
  172. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +0 -91
  173. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +0 -380
  174. package/src22-1/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -547
  175. package/src22-1/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +0 -284
  176. package/src22-1/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +0 -612
  177. package/src22-1/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -396
  178. package/src22-1/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -199
  179. package/src22-1/TabexComponents/StaticPages/AddReview/AddReview.jsx +0 -304
  180. package/src22-1/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +0 -321
  181. package/src22-1/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -780
  182. package/src22-1/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -460
  183. package/src22-1/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +0 -1306
  184. package/src22-1/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -1673
  185. package/src22-1/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +0 -1633
  186. package/src22-1/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +0 -1593
  187. package/src22-1/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +0 -1574
  188. package/src22-1/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +0 -439
  189. package/src22-1/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +0 -2888
  190. package/src22-1/TabexComponents/StaticPages/Filter/Filter copy.jsx +0 -1450
  191. package/src22-1/TabexComponents/StaticPages/Filter/Filter.jsx +0 -1845
  192. package/src22-1/TabexComponents/StaticPages/Filter/Filter17-9.jsx +0 -1495
  193. package/src22-1/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +0 -62
  194. package/src22-1/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -50
  195. package/src22-1/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  196. package/src22-1/TabexComponents/StaticPages/Login/Login copy.jsx +0 -1060
  197. package/src22-1/TabexComponents/StaticPages/Login/Login.jsx +0 -610
  198. package/src22-1/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +0 -146
  199. package/src22-1/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1568
  200. package/src22-1/TabexComponents/StaticPages/Policies/Policies.jsx +0 -291
  201. package/src22-1/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +0 -113
  202. package/src22-1/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +0 -183
  203. package/src22-1/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +0 -128
  204. package/src22-1/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +0 -130
  205. package/src22-1/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +0 -225
  206. package/src22-1/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +0 -310
  207. package/src22-1/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +0 -235
  208. package/src22-1/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +0 -1270
  209. package/src22-1/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +0 -1554
  210. package/src22-1/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +0 -1566
  211. package/src22-1/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -1729
  212. package/src22-1/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +0 -552
  213. package/src22-1/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +0 -754
  214. package/src22-1/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +0 -491
  215. package/src22-1/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +0 -324
  216. package/src22-1/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +0 -145
  217. package/src22-1/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +0 -113
  218. package/src22-1/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +0 -338
  219. package/src22-1/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -358
  220. package/src22-1/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +0 -113
  221. package/src22-1/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +0 -277
  222. package/src22-1/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +0 -1135
  223. package/src22-1/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -1344
  224. package/src22-1/TabexComponents/StaticPages/Signup/Signup.jsx +0 -199
  225. package/src22-1/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -290
  226. package/src22-1/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +0 -113
  227. package/src22-1/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +0 -162
  228. package/src22-1/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +0 -765
  229. package/src22-1/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -786
  230. package/src22-1/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +0 -786
  231. package/src22-1/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +0 -786
  232. package/src22-1/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +0 -1425
  233. package/src22-1/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -555
  234. package/src22-1/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +0 -555
  235. package/src22-1/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +0 -555
  236. package/src22-1/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +0 -815
  237. package/src22-1/button.jsx +0 -40
  238. package/src22-1/index.jsx +0 -327
  239. package/src22-1/styles/Home.module.css +0 -129
  240. package/src22-1/styles/cards/Categorcycard_fullimage.module.css +0 -14
  241. package/src22-1/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  242. package/src22-1/styles/cards/Categorycard_withshapes.module.css +0 -189
  243. package/src22-1/styles/cards/ModernCardWithQuantityButton.module.css +0 -30
  244. package/src22-1/styles/cards/Productcard6.module.css +0 -9
  245. package/src22-1/styles/cards/Productccard_with_zoominonhover.module.css +0 -51
  246. package/src22-1/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  247. package/src22-1/styles/cards/UserCardWithSocialMediaOnHover.module.css +0 -65
  248. package/src22-1/styles/cards/card23.module.css +0 -60
  249. package/src22-1/styles/cards/categorycard.module.css +0 -84
  250. package/src22-1/styles/cards/categorycard3.module.css +0 -50
  251. package/src22-1/styles/cards/categorycardwithtext.module.css +0 -40
  252. package/src22-1/styles/cards/generalCardsStyles.module.css +0 -79
  253. package/src22-1/styles/cards/productcard_animatedbuttons.module.css +0 -139
  254. package/src22-1/styles/cards/productcard_with_textonhover.module.css +0 -18
  255. package/src22-1/styles/cards/productcard_withtextonimage.module.css +0 -0
  256. package/src22-1/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  257. package/src22-1/styles/general/bootstrap.css +0 -4763
  258. package/src22-1/styles/general/dropdown.css +0 -206
  259. package/src22-1/styles/general/editorbardropdown.module.css +0 -94
  260. package/src22-1/styles/general/filter.module.css +0 -108
  261. package/src22-1/styles/general/form.module.css +0 -255
  262. package/src22-1/styles/general/general.module.css +0 -872
  263. package/src22-1/styles/general/image-gallery.css +0 -531
  264. package/src22-1/styles/general/react-accessible-accordion.module.css +0 -52
  265. package/src22-1/styles/general/react-phone-input-2.module.css +0 -927
  266. package/src22-1/styles/general/scrollbtn.module.css +0 -22
  267. package/src22-1/styles/general/slick.module.css +0 -166
  268. package/src22-1/styles/general/tabs.module.css +0 -119
  269. package/src22-1/styles/general/workplaceeditor.module.css +0 -328
  270. package/src22-1/styles/globals.css +0 -26
  271. package/src22-1/styles/headers/CTAHeader.module.css +0 -40
  272. package/src22-1/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  273. package/src22-1/styles/headers/Gotoheader.module.css +0 -81
  274. package/src22-1/styles/headers/Header7.module.css +0 -50
  275. package/src22-1/styles/headers/HeaderWithAdSlider.module.css +0 -86
  276. package/src22-1/styles/headers/HeaderWithSearchOnCenter.module.css +0 -101
  277. package/src22-1/styles/headers/HeaderWithUtilityBar.module.css +0 -46
  278. package/src22-1/styles/headers/Header_threesectionslogocentered.module.css +0 -84
  279. package/src22-1/styles/headers/NewHeader.module.css +0 -101
  280. package/src22-1/styles/headers/SearchFocusedHeader.module.css +0 -62
  281. package/src22-1/styles/headers/Sideheader.module.css +0 -108
  282. package/src22-1/styles/headers/Simpleheader.module.css +0 -102
  283. package/src22-1/styles/headers/classicheader.module.css +0 -16
  284. package/src22-1/styles/headers/classicheaderstyles.module.css +0 -9
  285. package/src22-1/styles/headers/dropdown.css +0 -0
  286. package/src22-1/styles/headers/header4.module.css +0 -175
  287. package/src22-1/styles/headers/header5.module.css +0 -30
  288. package/src22-1/styles/headers/header_contactinfo.module.css +0 -53
  289. package/src22-1/styles/headers/headerresturant.module.css +0 -89
  290. package/src22-1/styles/headers/modernheader.module.css +0 -45
  291. package/src22-1/styles/headers/stylishheader.module.css +0 -24
  292. package/src22-1/styles/headers/subheader.module.css +0 -114
  293. package/src22-1/styles/headers/threetieredheader.module.css +0 -91
  294. package/src22-1/styles/sections/BackgroundImageWithTopContent.css +0 -4
  295. package/src22-1/styles/sections/Backgroundimage1.module.css +0 -17
  296. package/src22-1/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  297. package/src22-1/styles/sections/Freetext.module.css +0 -18
  298. package/src22-1/styles/sections/Section_with_rightbgcont.module.css +0 -49
  299. package/src22-1/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  300. package/src22-1/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  301. package/src22-1/styles/staticpages/accordion.module.css +0 -9
  302. package/src22-1/styles/staticpages/cart.module.css +0 -108
  303. package/src22-1/styles/staticpages/dropdown.css +0 -196
  304. package/src22-1/styles/staticpages/filter.module.css +0 -139
  305. package/src22-1/styles/staticpages/image-gallery.css +0 -481
  306. package/src22-1/styles/staticpages/login.module.css +0 -155
  307. package/src22-1/styles/staticpages/productinfo.module.css +0 -54
  308. package/src22-1/styles/staticpages/shop.module.css +0 -191
  309. package/src22-1/styles/staticpages/signup.module.css +0 -250
  310. package/src22-1/styles/staticpages/staticroutersidenav.module.css +0 -129
  311. package/src22-1/styles/staticpages/viewcart.module.css +0 -129
  312. package/src22-1/styles/staticpages/wishlist.module.css +0 -29
  313. package/srcbeforeedits.zip +0 -0
  314. package/srclib1-5.2.zip +0 -0
@@ -1,1845 +0,0 @@
1
- import React, { useEffect, useState, useContext } from 'react';
2
- import { Accordion, AccordionItem, AccordionItemHeading, AccordionItemButton, AccordionItemPanel, AccordionItemState } from 'react-accessible-accordion';
3
- import filterstyles from '../../../styles/staticpages/filter.module.css';
4
- import { css } from 'glamor';
5
- import Dropdown from 'react-bootstrap/Dropdown';
6
- import { IoMdClose } from '@react-icons/all-files/io/IoMdClose';
7
- import { FiChevronDown } from '@react-icons/all-files/fi/FiChevronDown';
8
- import { FiChevronUp } from '@react-icons/all-files/fi/FiChevronUp';
9
- import { Offcanvas } from 'react-bootstrap';
10
- import InputRange from 'react-input-range';
11
- import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
12
- import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
13
- import { defaultstyles, defaultstylestranslated, selectcustomStyles, selectcustomStylesTranslated } from '../../../StylesJS/Customstyles';
14
- import { CircularProgress, Messaging } from 'react-cssfx-loading';
15
- import formstyles from '../../../styles/general/form.module.css';
16
-
17
- const Select = React.lazy(() => import('react-select'));
18
-
19
- const Filter = (props) => {
20
- const lang = props.actions.lang;
21
- const langdetect = props.actions.langdetect;
22
- const productfiltercontext = props.actions.productfiltercontext;
23
- const setproductfiltercontext = props.actions.setproductfiltercontext;
24
- const ProductFilterObjContext = props.actions.ProductFilterObjContext;
25
- const setProductFilterObjContext = props.actions.setProductFilterObjContext;
26
- const authdetailsContext = props.actions.authdetailsContext;
27
- const routingcountext = props.actions.routingcountext;
28
- const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
29
- const ikimagecredcontext = props.actions.ikimagecredcontext;
30
- const [pricevalue, setpricevalue] = useState({ min: 0, max: 10000 });
31
- const [productfeatuesarr, setproductfeatuesarr] = useState([]);
32
-
33
- const fetchTabexCountriesQueryContext = props.actions.fetchTabexCountriesQueryContext;
34
- const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
35
- const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
36
-
37
- const fetchTabexCitiesQueryContext = props.actions.fetchTabexCitiesQueryContext;
38
- const fetchTabexStatesQueryContext = props.actions.fetchTabexStatesQueryContext;
39
- const FetchTabexStatesPayloadobjContext = props.actions.FetchTabexStatesPayloadobjContext;
40
- const setFetchTabexStatesPayloadobjContext = props.actions.setFetchTabexStatesPayloadobjContext;
41
- const fetchProductFeaturesQueryContext = props.actions.fetchProductFeaturesQueryContext;
42
-
43
- const [sectionproperties, setsectionproperties] = useState('');
44
- const [instfilters, setinstfilters] = useState([...authdetailsContext.instinfo.instfilters]);
45
- const [collectionstobevisible, setcollectionstobevisible] = useState([]);
46
- const [instcollections, setinstcollections] = useState([...authdetailsContext.instinfo.instcollections]);
47
- const [instcategories, setinstcategories] = useState([...authdetailsContext?.instinfo?.instcategories]);
48
- // const [sortby, setSortby] = useState('Sort by');
49
- const [raterangevalue, setraterangevalue] = useState({ min: 0, max: 5 });
50
- const timeoutRef = React.useRef(null);
51
- const [sortbycontext, setsortbycontext] = useState('');
52
-
53
- const [otherfilters, setotherfilters] = useState([
54
- {
55
- payloadvalue: 'sortprice',
56
- name: lang.price,
57
- filterarray: [
58
- { name: lang.pricehightolow, value: 'hightolow', isfilterselected: false },
59
- { name: lang.pricelowtohigh, value: 'lowtohigh', isfilterselected: false },
60
- ],
61
- },
62
- {
63
- payloadvalue: 'sortdates',
64
-
65
- name: lang.dates,
66
- filterarray: [
67
- { name: lang.recent, value: 'recent', isfilterselected: false },
68
- { name: lang.oldest, value: 'old', isfilterselected: false },
69
- ],
70
- },
71
- ]);
72
- useEffect(() => {
73
- filterupdater();
74
- }, []);
75
- useEffect(() => {
76
- setinstfilters([...authdetailsContext.instinfo.instfilters]);
77
- setinstcollections([...authdetailsContext.instinfo.instcollections]);
78
- setinstcategories([...authdetailsContext?.instinfo?.instcategories]);
79
- }, [authdetailsContext]);
80
- useEffect(() => {
81
- if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
82
- setsectionproperties(props.sectionpropertiesprops);
83
- }
84
- }, [props.sectionpropertiesprops]);
85
- useEffect(() => {
86
- filterupdater();
87
- }, [ProductFilterObjContext]);
88
- React.useEffect(() => {
89
- if (timeoutRef.current !== null) {
90
- clearTimeout(timeoutRef.current);
91
- }
92
-
93
- timeoutRef.current = setTimeout(() => {
94
- if (raterangevalue.min != 0 || raterangevalue.max != 5) {
95
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
96
- tempfetchproductsfilerobjcontext.minrate = raterangevalue.min;
97
- tempfetchproductsfilerobjcontext.maxrate = raterangevalue.max;
98
- tempfetchproductsfilerobjcontext.page = 0;
99
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
100
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
101
- }
102
- }, 500);
103
- }, [raterangevalue]);
104
- useEffect(() => {
105
- if (sectionproperties?.filterretreivetype == 'Depend on chosen parent group') {
106
- if (ProductFilterObjContext?.collections != undefined && ProductFilterObjContext?.collections != null && Array.isArray(ProductFilterObjContext?.collections)) {
107
- var collectiontobevisible = [];
108
- var parentidsfound = [];
109
- if (ProductFilterObjContext.ProductFetchingType == 'Parent Collection') {
110
- parentidsfound = ProductFilterObjContext?.collections;
111
- } else if (ProductFilterObjContext.ProductFetchingType == 'Category') {
112
- instcategories?.forEach(function (catitem, catindex) {
113
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
114
- if (catitem.categoryid == colitem2) {
115
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
116
- parentidsfound.push(parentcolitem.parentcollectionid);
117
- });
118
- }
119
- });
120
- });
121
- } else {
122
- instcategories?.forEach(function (catitem, catindex) {
123
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
124
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
125
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
126
- if (colitem.collectionid == colitem2) {
127
- parentidsfound.push(parentcolitem.parentcollectionid);
128
- }
129
- });
130
- });
131
- });
132
- });
133
- }
134
-
135
- parentidsfound = parentidsfound.filter((val, id, array) => array.indexOf(val) == id);
136
-
137
- if (parentidsfound?.length != 0) {
138
- instcategories?.forEach(function (catitem, catindex) {
139
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
140
- parentidsfound?.forEach(function (parentidfounditem, parentidfoundindex) {
141
- if (parentidfounditem == parentcolitem?.parentcollectionid) {
142
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
143
- var iscolexists = false;
144
- collectiontobevisible?.forEach(function (colitemex, colindexex) {
145
- if (colitemex.collectionid == colitem.collectionid) {
146
- iscolexists = true;
147
- }
148
- });
149
- if (iscolexists == false) {
150
- collectiontobevisible.push(colitem);
151
- }
152
- });
153
- }
154
- });
155
- });
156
- });
157
-
158
- if (collectiontobevisible?.length != 0) {
159
- setcollectionstobevisible(collectiontobevisible);
160
- } else {
161
- setcollectionstobevisible(instcollections);
162
- }
163
- } else {
164
- setcollectionstobevisible(instcollections);
165
- }
166
- } else {
167
- setcollectionstobevisible(instcollections);
168
- }
169
- } else {
170
- setcollectionstobevisible(instcollections);
171
- }
172
- }, [ProductFilterObjContext]);
173
- useEffect(() => {
174
- if (productfeatuesarr.length != 0) {
175
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
176
- tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
177
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
178
- filterrouting(tempfetchproductsfilerobjcontext);
179
- }
180
- }, [productfeatuesarr]);
181
- useEffect(() => {
182
- if (fetchTabexStatesQueryContext.isSuccess) {
183
- if (ProductFilterObjContext.stateid != undefined && ProductFilterObjContext.stateid != null && ProductFilterObjContext.stateid != '' && ProductFilterObjContext.stateid != 'all') {
184
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
185
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
186
- tempFetchTabexStatesPayloadobjContext.state_id = ProductFilterObjContext.stateid;
187
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
188
- }
189
- }
190
- }, [fetchTabexStatesQueryContext.isSuccess]);
191
- const filterupdater = () => {
192
- setTimeout(() => {
193
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
194
- tempFetchQueriesEngineContext.fetchtabexcountries = true;
195
- setFetchQueriesEngineContext(tempFetchQueriesEngineContext);
196
- }, 100);
197
- if (ProductFilterObjContext.countryid != undefined && ProductFilterObjContext.countryid != null && ProductFilterObjContext.countryid != '' && ProductFilterObjContext.countryid != 'all') {
198
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
199
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
200
- tempFetchTabexStatesPayloadobjContext.country_id = ProductFilterObjContext.countryid;
201
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
202
- }
203
-
204
- if (instfilters.length != 0) {
205
- var tempinstfilters = [...instfilters];
206
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
207
- instfilteritem.productvaluesfilter.forEach(function (valefilteritem, valefilteritemindex) {
208
- valefilteritem.isfilterselected = false;
209
- });
210
- });
211
- ProductFilterObjContext?.FilterOptions?.forEach(function (filteritem, filterindex) {
212
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
213
- instfilteritem?.productvaluesfilter?.forEach(function (valefilteritem, valefilteritemindex) {
214
- if (filteritem.valueid == valefilteritem.valueid) {
215
- valefilteritem.isfilterselected = true;
216
- }
217
- });
218
- });
219
- });
220
- setinstfilters([...tempinstfilters]);
221
- }
222
- if (instcategories.length != 0) {
223
- var tempInstcategories = [...instcategories];
224
- tempInstcategories.forEach(function (catitem, catindex) {
225
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
226
- parentcolitem.collections.forEach(function (colitem, colindex) {
227
- colitem.isfilterselected = false;
228
- });
229
- });
230
- });
231
-
232
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
233
- tempInstcategories.forEach(function (catitem, catindex) {
234
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
235
- parentcolitem.collections.forEach(function (colitem, colindex) {
236
- if (colitem.collectionid == filteritem) {
237
- colitem.isfilterselected = true;
238
- }
239
- });
240
- });
241
- });
242
- });
243
-
244
- setinstcategories([...tempInstcategories]);
245
- }
246
- if (instcollections.length != 0) {
247
- var tempInstcollections = [...instcollections];
248
- tempInstcollections.forEach(function (instfilteritem, valefilteritemindex) {
249
- instfilteritem.isfilterselected = false;
250
- });
251
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
252
- tempInstcollections?.forEach(function (instfilteritem, instfilterindex) {
253
- if (instfilteritem.collectionid == filteritem) {
254
- instfilteritem.isfilterselected = true;
255
- }
256
- });
257
- });
258
- setinstcollections([...tempInstcollections]);
259
- }
260
- };
261
- const setfilterfunc = (valueid, valueindex, mainparentindex, type) => {
262
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
263
- if (type == 'clearfilters') {
264
- tempfetchproductsfilerobjcontext.FilterOptions = [];
265
- } else {
266
- var FilterExists = false;
267
- tempfetchproductsfilerobjcontext?.FilterOptions?.forEach(function (filteritem, filterindex) {
268
- if (filteritem.valueid == valueid) {
269
- FilterExists = true;
270
- tempfetchproductsfilerobjcontext.FilterOptions.splice(filterindex, 1);
271
- }
272
- });
273
- if (!FilterExists) {
274
- tempfetchproductsfilerobjcontext.FilterOptions.push({ valueid: valueid });
275
- }
276
- }
277
- if (tempfetchproductsfilerobjcontext.FilterOptions.length == 0) {
278
- tempfetchproductsfilerobjcontext.isfilter = 0;
279
- } else {
280
- tempfetchproductsfilerobjcontext.isfilter = 1;
281
- }
282
- tempfetchproductsfilerobjcontext.page = 0;
283
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
284
- filterrouting(tempfetchproductsfilerobjcontext);
285
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
286
- };
287
- const setCollectionFilterFunc = (collectionid) => {
288
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
289
- var CollectionExists = false;
290
- tempfetchproductsfilerobjcontext?.collections?.forEach(function (filteritem, filterindex) {
291
- if (filteritem == collectionid) {
292
- CollectionExists = true;
293
- tempfetchproductsfilerobjcontext.collections.splice(filterindex, 1);
294
- }
295
- });
296
- if (!CollectionExists) {
297
- if (tempfetchproductsfilerobjcontext.collections != undefined && Array.isArray(tempfetchproductsfilerobjcontext.collections)) {
298
- tempfetchproductsfilerobjcontext.collections.push(collectionid);
299
- } else {
300
- tempfetchproductsfilerobjcontext.collections = [collectionid];
301
- }
302
- }
303
-
304
- tempfetchproductsfilerobjcontext.page = 0;
305
- tempfetchproductsfilerobjcontext.ProductFetchingType = 'Random';
306
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
307
- filterrouting(tempfetchproductsfilerobjcontext);
308
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
309
- };
310
- const AccordionInner = (parentcollectionindex, parentcollectionitem) => {
311
- return (
312
- <AccordionItem uuid={parentcollectionindex}>
313
- <AccordionItemHeading>
314
- <AccordionItemButton>
315
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
316
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
317
- <p
318
- className={
319
- langdetect == 'en'
320
- ? filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 '
321
- : filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 text-right'
322
- }
323
- >
324
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
325
- </p>
326
- </div>
327
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
328
- <AccordionItemState>
329
- {(state) => {
330
- if (state.expanded == true) {
331
- return (
332
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
333
- <FiChevronDown />
334
- </i>
335
- );
336
- } else {
337
- return (
338
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
339
- <FiChevronUp />
340
- </i>
341
- );
342
- }
343
- }}
344
- </AccordionItemState>
345
- </div>
346
- </div>
347
- </AccordionItemButton>
348
- </AccordionItemHeading>
349
- <AccordionItemPanel className="p-0">
350
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex ">
351
- <div class="col-lg-12 mb-3 allcentered">
352
- <p
353
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
354
- style={{ textDecoration: 'underline' }}
355
- onClick={() => {
356
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'parentcollections/' + parentcollectionitem.parentcollectionid);
357
- }}
358
- >
359
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
360
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
361
- </p>
362
- </div>
363
- <div className={'col-lg-12 pl-md-3 pr-md-3'}>
364
- <div
365
- className={
366
- langdetect == 'en' ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
367
- }
368
- >
369
- {parentcollectionitem?.collections?.map((collectionitem, collectionindex) => {
370
- if (collectionitem.isinftiler == 1) {
371
- return (
372
- <div
373
- className={
374
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
375
- ${collectionitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
376
- ` + ' d-flex align-items-start pb-3 '
377
- }
378
- onClick={() => {
379
- setCollectionFilterFunc(collectionitem.collectionid);
380
- }}
381
- >
382
- <div
383
- className={
384
- ` ${collectionitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
385
- ' mb-2 d-flex align-items-center '
386
- }
387
- >
388
- <i className="h-100 d-flex align-items-center"></i>
389
- </div>
390
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
391
- <p
392
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
393
- style={{
394
- color: collectionitem.isfilterselected ? sectionproperties.activecat_color : '',
395
- }}
396
- >
397
- {langdetect == 'en' ? collectionitem.title_en : collectionitem.title_ar}
398
- </p>
399
- </div>
400
- </div>
401
- );
402
- }
403
- })}
404
- </div>
405
- </div>
406
- </div>
407
- </AccordionItemPanel>
408
- </AccordionItem>
409
- );
410
- };
411
- const AccordionOuter = (categoryItem, categoryIndex) => {
412
- return (
413
- <AccordionItem uuid={categoryIndex}>
414
- <AccordionItemHeading>
415
- <AccordionItemButton>
416
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-1 pl-md-3 pr-md-3 '}>
417
- <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
418
- <p className={filter_cssstyles.categoryName + ' collapsetitle text-capitalize m-0 p-0 '}>{langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}</p>
419
- </div>
420
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
421
- <AccordionItemState>
422
- {(state) => {
423
- if (state.expanded == true) {
424
- return (
425
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
426
- <FiChevronDown />
427
- </i>
428
- );
429
- } else {
430
- return (
431
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
432
- <FiChevronUp />
433
- </i>
434
- );
435
- }
436
- }}
437
- </AccordionItemState>
438
- </div>
439
- <div className="col-lg-12 p-0">
440
- <hr className="mt-3 mb-2" />
441
- </div>
442
- </div>
443
- </AccordionItemButton>
444
- </AccordionItemHeading>
445
- <AccordionItemPanel className="p-0">
446
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
447
- <div class="col-lg-12 mb-3 allcentered">
448
- <p
449
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
450
- style={{ textDecoration: 'underline' }}
451
- onClick={() => {
452
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'categories/' + categoryItem.categoryid);
453
- }}
454
- >
455
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
456
- {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
457
- </p>
458
- </div>
459
- {authdetailsContext?.instinfo?.instcategories[categoryIndex]?.parentcolletions.map((parentcollectionitem, parentcollectionindex) => {
460
- if (parentcollectionitem.isinftiler == 1) {
461
- return (
462
- <div class="col-lg-12">
463
- {sectionproperties.expandall == 'Yes' && (
464
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
465
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
466
- </Accordion>
467
- )}
468
- {sectionproperties.expandall == 'No' && (
469
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
470
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
471
- </Accordion>
472
- )}
473
- </div>
474
- );
475
- }
476
- })}
477
- </div>
478
- </AccordionItemPanel>
479
- </AccordionItem>
480
- );
481
- };
482
- const CategoriesFilter = () => {
483
- return (
484
- <div class="col-lg-12 p-0">
485
- {instcategories?.map((categoryItem, categoryIndex) => {
486
- if (categoryItem.isinftiler == 1) {
487
- return (
488
- <div class="col-lg-12 p-0">
489
- {sectionproperties.expandall == 'Yes' && (
490
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
491
- {AccordionOuter(categoryItem, categoryIndex)}
492
- </Accordion>
493
- )}
494
- {sectionproperties.expandall == 'No' && (
495
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
496
- {AccordionOuter(categoryItem, categoryIndex)}
497
- </Accordion>
498
- )}
499
- </div>
500
- );
501
- }
502
- })}
503
- </div>
504
- );
505
- };
506
- const CollectionsFilter = () => {
507
- return (
508
- <div class="col-lg-12 p-0">
509
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
510
- <AccordionItem uuid={0}>
511
- <AccordionItemHeading>
512
- <AccordionItemButton>
513
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
514
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
515
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
516
- {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
517
- </p>
518
- </div>
519
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
520
- <AccordionItemState>
521
- {(state) => {
522
- if (state.expanded == true) {
523
- return (
524
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
525
- <FiChevronDown />
526
- </i>
527
- );
528
- } else {
529
- return (
530
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
531
- <FiChevronUp />
532
- </i>
533
- );
534
- }
535
- }}
536
- </AccordionItemState>
537
- </div>
538
- </div>
539
- </AccordionItemButton>
540
- </AccordionItemHeading>
541
- <AccordionItemPanel className="p-0">
542
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
543
- <div className={'col-lg-12'}>
544
- <div
545
- className={
546
- langdetect == 'en'
547
- ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
548
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
549
- }
550
- >
551
- {collectionstobevisible.map((item, index) => {
552
- return (
553
- <div
554
- className={
555
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
556
- ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
557
- ` + ' d-flex align-items-start pb-3 '
558
- }
559
- onClick={() => {
560
- setCollectionFilterFunc(item.collectionid);
561
- }}
562
- >
563
- <div
564
- className={
565
- ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
566
- ' mb-2 d-flex align-items-center '
567
- }
568
- >
569
- <i className="h-100 d-flex align-items-center"></i>
570
- </div>
571
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
572
- <p
573
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
574
- style={{
575
- color: item.isfilterselected ? sectionproperties.activecat_color : '',
576
- }}
577
- >
578
- {langdetect == 'en' ? item.title_en : item.title_ar}
579
- </p>
580
- </div>
581
- </div>
582
- );
583
- })}
584
- </div>
585
- {sectionproperties.showshowallbtn == 'Show' && (
586
- <div class="col-lg-12 allcentered">
587
- <div class={filter_cssstyles.showallbtn} style={{}}>
588
- <p
589
- class="m-0 p-0"
590
- onClick={() => {
591
- setcollectionstobevisible(instcollections);
592
- }}
593
- // style={{ cursor: 'pointer' }}
594
- >
595
- {langdetect == 'en' ? sectionproperties.showalltexten : sectionproperties.showalltextar}
596
- </p>
597
- </div>
598
- </div>
599
- )}
600
- </div>
601
- </div>
602
- </AccordionItemPanel>
603
- </AccordionItem>
604
- <hr className="mt-3 mb-3" />
605
- </Accordion>
606
- </div>
607
- );
608
- };
609
- const DynamicFilter = () => {
610
- return (
611
- <div class="row m-0 w-100">
612
- <div class="col-lg-12 p-0 mb-3">
613
- {fetchProductFeaturesQueryContext?.isSuccess && (
614
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
615
- {fetchProductFeaturesQueryContext?.data?.data?.productfeatues?.map(function (item, index) {
616
- if (item.type == 'Selectbox') {
617
- var selectboxarr = [];
618
- item?.featuresselectbovalue?.forEach(function (slecitem) {
619
- var itemlabel = '';
620
- if (langdetect == 'en') {
621
- itemlabel = slecitem.value_en;
622
- } else {
623
- itemlabel = slecitem.value_ar;
624
- }
625
- selectboxarr.push({ label: itemlabel, value: slecitem.value_en });
626
- });
627
- return (
628
- <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
629
- <label
630
- className={' mb-3 w-100 '}
631
- style={{
632
- textAlign: langdetect == 'en' ? 'left' : 'right',
633
- color: sectionproperties.filtertitle_color,
634
- color: sectionproperties.filtertitle_color,
635
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
636
- fontWeight: sectionproperties.filtertitle_fontweight,
637
- color: sectionproperties.filtertitle_color,
638
- textTransform: 'capitalize',
639
- }}
640
- >
641
- {langdetect == 'en' ? item.name_en : item.name_ar}
642
- </label>
643
- <div class={'col-lg-12 p-0'}>
644
- <Select
645
- options={selectboxarr}
646
- styles={langdetect == 'en' ? selectcustomStyles : selectcustomStylesTranslated}
647
- placeholder={''}
648
- onChange={(e) => {
649
- var isattrexists = false;
650
- var tempproductfeatuesarr = [...productfeatuesarr];
651
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
652
- if (attritem.id == item.id) {
653
- tempproductfeatuesarr[attrindex].value = e.value;
654
- isattrexists = true;
655
- }
656
- });
657
- if (isattrexists == false) {
658
- tempproductfeatuesarr.push({
659
- id: item.id,
660
- value: e.value,
661
- });
662
- }
663
- setproductfeatuesarr([...tempproductfeatuesarr]);
664
- }}
665
- />
666
- </div>
667
- </div>
668
- );
669
- }
670
- if (item.type == 'Number') {
671
- return (
672
- <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
673
- <label
674
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100 '}
675
- style={{
676
- textAlign: langdetect == 'en' ? 'left' : 'right',
677
- color: sectionproperties.filtertitle_color,
678
- color: sectionproperties.filtertitle_color,
679
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
680
- fontWeight: sectionproperties.filtertitle_fontweight,
681
- color: sectionproperties.filtertitle_color,
682
- textTransform: 'capitalize',
683
- }}
684
- >
685
- {langdetect == 'en' ? item.name_en : item.name_ar}
686
- </label>
687
- <div class={'col-lg-12 p-0'}>
688
- <input
689
- type="number"
690
- className={`${formstyles.form_control} ${filter_cssstyles.form_control}`}
691
- placeholder={''}
692
- onChange={(e) => {
693
- var isattrexists = false;
694
- var tempproductfeatuesarr = [...productfeatuesarr];
695
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
696
- if (attritem.id == item.id) {
697
- tempproductfeatuesarr[attrindex].value = e.target.value;
698
- isattrexists = true;
699
- }
700
- });
701
- if (isattrexists == false) {
702
- tempproductfeatuesarr.push({
703
- id: item.id,
704
- value: e.target.value,
705
- });
706
- }
707
- setproductfeatuesarr([...tempproductfeatuesarr]);
708
- }}
709
- />
710
- </div>
711
- </div>
712
- );
713
- }
714
- if (item.type == 'NumberRange') {
715
- var temppricevalue = { min: 0, max: 10000 };
716
- var tempproductfeatuesarr = [...productfeatuesarr];
717
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
718
- if (attritem.id == item.id) {
719
- if (attritem.value != undefined && attritem.value != null && attritem?.value?.length != 0) {
720
- temppricevalue.min = attritem.value;
721
- }
722
- if (attritem.valuemax != undefined && attritem.valuemax != null && attritem?.valuemax?.length != 0) {
723
- temppricevalue.max = attritem.valuemax;
724
- }
725
- }
726
- });
727
- return (
728
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 '}>
729
- <label
730
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
731
- style={{
732
- textAlign: langdetect == 'en' ? 'left' : 'right',
733
- color: sectionproperties.filtertitle_color,
734
- color: sectionproperties.filtertitle_color,
735
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
736
- fontWeight: sectionproperties.filtertitle_fontweight,
737
- color: sectionproperties.filtertitle_color,
738
- textTransform: 'capitalize',
739
- }}
740
- >
741
- {langdetect == 'en' ? item.name_en : item.name_ar}
742
- {item.type}
743
- </label>
744
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
745
- <InputRange
746
- draggableTrack={true}
747
- formatLabel={(value) => `${value}`}
748
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
749
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
750
- value={temppricevalue}
751
- onChange={(e) => {
752
- // setpricevalue({ ...value });
753
- var isattrexists = false;
754
- var tempproductfeatuesarr = [...productfeatuesarr];
755
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
756
- if (attritem.id == item.id) {
757
- tempproductfeatuesarr[attrindex].value = e.min;
758
- tempproductfeatuesarr[attrindex].valuemax = e.max;
759
- isattrexists = true;
760
- }
761
- });
762
- if (isattrexists == false) {
763
- tempproductfeatuesarr.push({
764
- id: item.id,
765
- value: e.min,
766
- valuemax: e.max,
767
- });
768
- }
769
- setproductfeatuesarr([...tempproductfeatuesarr]);
770
- }}
771
- />
772
- </div>
773
- </div>
774
- );
775
- }
776
- })}
777
- {/* {sectionproperties.showpricerange == 'Show' && (
778
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 p-0 '}>
779
- <label
780
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
781
- style={{
782
- textAlign: langdetect == 'en' ? 'left' : 'right',
783
- color: sectionproperties.filtertitle_color,
784
- color: sectionproperties.filtertitle_color,
785
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
786
- fontWeight: sectionproperties.filtertitle_fontweight,
787
- color: sectionproperties.filtertitle_color,
788
- textTransform: 'capitalize',
789
- }}
790
- >
791
- {langdetect == 'en' ? 'Price' : 'السعر'}
792
- {item.type}
793
- </label>
794
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
795
- <InputRange
796
- draggableTrack={true}
797
- formatLabel={(value) => `${value}`}
798
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
799
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
800
- value={temppricevalue}
801
- onChange={(e) => {
802
- // setpricevalue({ ...value });
803
- var isattrexists = false;
804
- var tempproductfeatuesarr = [...productfeatuesarr];
805
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
806
- if (attritem.id == item.id) {
807
- tempproductfeatuesarr[attrindex].value = e.min;
808
- tempproductfeatuesarr[attrindex].valuemax = e.max;
809
- isattrexists = true;
810
- }
811
- });
812
- if (isattrexists == false) {
813
- tempproductfeatuesarr.push({
814
- id: item.id,
815
- value: e.min,
816
- valuemax: e.max,
817
- });
818
- }
819
- setproductfeatuesarr([...tempproductfeatuesarr]);
820
- }}
821
- />
822
- </div>
823
- </div>
824
- )} */}
825
- </div>
826
- )}
827
- </div>
828
- </div>
829
- );
830
- };
831
- const InstFilters = () => {
832
- return (
833
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
834
- {instfilters.map((item, index) => {
835
- return (
836
- <>
837
- <AccordionItem uuid={index}>
838
- <AccordionItemHeading>
839
- <AccordionItemButton>
840
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
841
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
842
- <p
843
- className={
844
- langdetect == 'en'
845
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
846
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
847
- }
848
- >
849
- {langdetect == 'en' ? item.optionname : item.optionname_ar}
850
- </p>
851
- </div>
852
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
853
- <AccordionItemState>
854
- {(state) => {
855
- if (state.expanded == true) {
856
- return (
857
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
858
- <FiChevronDown />
859
- </i>
860
- );
861
- } else {
862
- return (
863
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
864
- <FiChevronUp />
865
- </i>
866
- );
867
- }
868
- }}
869
- </AccordionItemState>
870
- </div>
871
- </div>
872
- </AccordionItemButton>
873
- </AccordionItemHeading>
874
- <AccordionItemPanel className="p-0">
875
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
876
- <div className={'col-lg-12'}>
877
- <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
878
- {item.productvaluesfilter.map((valueitem, valueindex) => {
879
- return (
880
- <div
881
- className={
882
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
883
- ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
884
-
885
- ` + ' d-flex align-items-start pb-3 '
886
- }
887
- onClick={() => {
888
- setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
889
- }}
890
- >
891
- <div>
892
- <div
893
- className={
894
- ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
895
- ' mb-2 d-flex align-items-center '
896
- }
897
- >
898
- <i className="h-100 d-flex align-items-center"></i>
899
- </div>
900
- </div>
901
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
902
- <p
903
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
904
- style={{
905
- color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
906
- }}
907
- >
908
- {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
909
- </p>
910
- </div>
911
- </div>
912
- );
913
- })}
914
- </div>
915
- </div>
916
- </div>
917
- </AccordionItemPanel>
918
- </AccordionItem>
919
- <hr className="mt-3 mb-3" />
920
- </>
921
- );
922
- })}
923
- </Accordion>
924
- );
925
- };
926
- const filter_cssstyles = {
927
- form_control: css({
928
- position: 'relative',
929
- display: 'flex',
930
- alignItems: 'center',
931
- display: 'block',
932
- width: '100%',
933
- padding: '0 30px',
934
- transition: '.3s',
935
- fontWeight: 500,
936
- border: '1px solid #ccc',
937
- // border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
938
- // borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
939
- // borderRadius: sectionproperties.inputfieldborderradius + 'px',
940
- borderRadius: '5px',
941
- // height: sectionproperties.inputfieldheight + 'px',
942
- height: '40px',
943
- background: 'transparent',
944
- // color: sectionproperties.inputfieldcolor,
945
- color: '#000',
946
- // fontSize: sectionproperties.inputfieldfontsize + 'px',
947
- fontSize: '14px',
948
- ':focus': {
949
- // borderColor: sectionproperties.inputfeildbordercoloronfocus,
950
- borderColor: '#eac435',
951
- boxShadow: 'none',
952
- },
953
- }),
954
- collapsetitle: css({
955
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
956
- fontWeight: sectionproperties.filtertitle_fontweight,
957
- textTransform: sectionproperties.filtertitle_texttransform,
958
- color: sectionproperties.filtertitle_color,
959
- ':hover': {
960
- color: sectionproperties.filtertitle_coloronhover,
961
- },
962
- }),
963
- titlecontainer: css({
964
- color: sectionproperties.filtertitle_color,
965
- ':hover .collapsetitle': {
966
- color: sectionproperties.filtertitle_coloronhover,
967
- },
968
- }),
969
- timeline_text: css({
970
- fontSize: sectionproperties.timeline_text_fontsize + 'px',
971
- fontWeight: sectionproperties.timeline_text_fontweight,
972
- textTransform: sectionproperties.timeline_text_texttransform,
973
- color: sectionproperties.timeline_text_color,
974
- transition: '.3s',
975
- ':hover': {
976
- color: sectionproperties.timeline_text_coloronhover,
977
- },
978
- }),
979
- btnstyles: css({
980
- color: sectionproperties.generalbtn_textColor,
981
- fontSize: sectionproperties.generalbtn_fontsize + 'px',
982
- textTransform: sectionproperties.generalbtn_texttransform,
983
- width: sectionproperties.generalbtn_width + 'px',
984
- height: sectionproperties.generalbtn_height + 'px',
985
- background: sectionproperties.generalbtn_bgColor,
986
- borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
987
- borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
988
- borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
989
- borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
990
- fontWeight: sectionproperties.generalbtn_fontweight,
991
- transition: '.3s',
992
- ':hover': {
993
- background: sectionproperties.generalbtn_bgColoronhover,
994
- color: sectionproperties.generalbtn_textColoronhover,
995
- },
996
- }),
997
- close_menu_icon_cont: css({
998
- background: sectionproperties.closeSliderBgColor,
999
- width: sectionproperties.closeSliderWidth + 'px',
1000
- height: sectionproperties.closeSliderHeight + 'px',
1001
- borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
1002
- ':hover': {
1003
- background: sectionproperties.closeSliderBgColorHover,
1004
- },
1005
- }),
1006
- horizontalfilter_card: css({
1007
- marginBottom: sectionproperties.horizontalfilter_mb + 'px',
1008
- marginTop: sectionproperties.horizontalfilter_mt + 'px',
1009
- background: sectionproperties.horizontalfilter_cardbg,
1010
- border: sectionproperties.horizontalfilter_cardborderwidth + 'px solid ' + sectionproperties.horizontalfilter_cardbordercolor,
1011
- boxShadow: sectionproperties.horizontalfilter_cardboxShadow == 'Show' ? sectionproperties.horizontalfilter_cardboxShadowcolor : 'horizontalfilter_cardboxShadow',
1012
- }),
1013
- btn_item: css({
1014
- width: '20px',
1015
- height: '20px',
1016
- background: sectionproperties.filteritembtn_bgcolor,
1017
- ':hover': {
1018
- background: sectionproperties.filteritembtn_bghover,
1019
- },
1020
- }),
1021
- btn_item_active: css({
1022
- background: sectionproperties.btn_item_activebgcolor,
1023
- }),
1024
- timelineinnercont_active: css({
1025
- fontWeight: sectionproperties.activecat_fontweight,
1026
- color: sectionproperties.activecat_color,
1027
- }),
1028
- categoryName: css({
1029
- color: sectionproperties.filtertitle_color,
1030
- fontWeight: sectionproperties.filterCatFontWeight,
1031
- fontSize: sectionproperties.filterCatFontSize + 'px',
1032
- }),
1033
- pCollectionName: css({
1034
- color: sectionproperties.filtertitle_color,
1035
- fontWeight: sectionproperties.filterPCollFontWeight,
1036
- fontSize: sectionproperties.filterPCollFontSize + 'px',
1037
- }),
1038
- explorebtn: css({
1039
- fontSize: sectionproperties.explorebtnfontsize + 'px',
1040
- fontWeight: 600,
1041
- color: sectionproperties.explorebtncolor,
1042
- transition: '.3s',
1043
- ':hover': {
1044
- color: sectionproperties.explorebtncoloronhover,
1045
- },
1046
- }),
1047
- showallbtn: css({
1048
- color: sectionproperties.showallcolor,
1049
- ':hover': {
1050
- transition: '.3s',
1051
- cursor: 'pointer',
1052
- color: sectionproperties.showallcolorhover,
1053
- },
1054
- }),
1055
- sectiontitle: css({
1056
- position: 'relative',
1057
- justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1058
- width: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '100%' : '',
1059
- fontSize: sectionproperties.sectionTitleFontSize + 'px',
1060
- '@media (max-width: 800px)': {
1061
- fontSize: sectionproperties.sectionTitleFontSizeresp + 'px',
1062
- },
1063
- }),
1064
- };
1065
- const filterrouting = (tempfetchproductsfilerobjcontext) => {
1066
- const path = window.location.pathname.split('/');
1067
- var currentpagepath = path[1];
1068
- var pagenamepathinstaticpagelinkcont = '';
1069
- for (const key in StaticPagesLinksContext) {
1070
- if (StaticPagesLinksContext[key] == currentpagepath) {
1071
- pagenamepathinstaticpagelinkcont = key;
1072
- }
1073
- }
1074
- if (pagenamepathinstaticpagelinkcont != undefined && pagenamepathinstaticpagelinkcont != '') {
1075
- routingcountext(StaticPagesLinksContext[pagenamepathinstaticpagelinkcont], true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
1076
- }
1077
- };
1078
- const Countriesfilter = () => {
1079
- return (
1080
- <div class="row m-0 w-100 pl-md-3 pr-md-3">
1081
- <div class="col-lg-12 p-0 mt-3">
1082
- <div class="row m-0 w-100">
1083
- <div class="col-lg-12 p-0 mb-3">
1084
- {fetchTabexCountriesQueryContext?.isFetching && (
1085
- <div className="w-100 allcentered mt-1">
1086
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1087
- </div>
1088
- )}
1089
-
1090
- {!fetchTabexCountriesQueryContext?.isFetching && fetchTabexCountriesQueryContext?.isSuccess && (
1091
- <Select
1092
- options={fetchTabexCountriesQueryContext?.data?.data?.countries}
1093
- getOptionLabel={(option) => {
1094
- var crname = '';
1095
- if (langdetect == 'en') {
1096
- crname = option.name;
1097
- } else if (langdetect == 'ar') {
1098
- if (option.name_ar != null) {
1099
- crname = option.name_ar;
1100
- } else {
1101
- crname = option.name;
1102
- }
1103
- }
1104
- return crname;
1105
- }}
1106
- getOptionValue={(option) => option.id}
1107
- value={fetchTabexCountriesQueryContext.data.data.countries.filter((option) => option.id == ProductFilterObjContext.countryid)}
1108
- onChange={(option) => {
1109
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1110
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
1111
- tempFetchTabexStatesPayloadobjContext.country_id = option.id;
1112
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1113
-
1114
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1115
- tempfetchproductsfilerobjcontext.countryid = option.id;
1116
- tempfetchproductsfilerobjcontext.page = 0;
1117
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1118
- filterrouting(tempfetchproductsfilerobjcontext);
1119
- }}
1120
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1121
- placeholder={lang.choosecountry}
1122
- isSearchable={true}
1123
- />
1124
- )}
1125
- </div>
1126
- <div class="col-lg-12 mb-3 p-0">
1127
- {fetchTabexStatesQueryContext?.isFetching && (
1128
- <div className="w-100 allcentered mt-1">
1129
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1130
- </div>
1131
- )}
1132
-
1133
- {!fetchTabexStatesQueryContext?.isFetching && fetchTabexStatesQueryContext?.isSuccess && (
1134
- <Select
1135
- options={fetchTabexStatesQueryContext?.data?.data?.states}
1136
- getOptionLabel={(option) => {
1137
- var crname = '';
1138
- if (langdetect == 'en') {
1139
- crname = option.name;
1140
- } else if (langdetect == 'ar') {
1141
- if (option.name_ar != null) {
1142
- crname = option.name_ar;
1143
- } else {
1144
- crname = option.name;
1145
- }
1146
- }
1147
- return crname;
1148
- }}
1149
- getOptionValue={(option) => option.id}
1150
- value={fetchTabexStatesQueryContext?.data?.data?.states.filter((option) => option.id == ProductFilterObjContext.stateid)}
1151
- onChange={(option) => {
1152
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1153
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
1154
- tempFetchTabexStatesPayloadobjContext.state_id = option.id;
1155
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1156
-
1157
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1158
- tempfetchproductsfilerobjcontext.stateid = option.id;
1159
- tempfetchproductsfilerobjcontext.page = 0;
1160
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1161
- filterrouting(tempfetchproductsfilerobjcontext);
1162
- }}
1163
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1164
- placeholder={lang.choosestategov}
1165
- isSearchable={true}
1166
- />
1167
- )}
1168
- </div>
1169
- <div class="col-lg-12 mb-3 p-0">
1170
- {fetchTabexCitiesQueryContext?.isFetching && (
1171
- <div className="w-100 allcentered mt-1">
1172
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1173
- </div>
1174
- )}
1175
-
1176
- {!fetchTabexCitiesQueryContext?.isFetching && fetchTabexCitiesQueryContext?.isSuccess && (
1177
- <Select
1178
- options={fetchTabexCitiesQueryContext?.data?.data?.cities}
1179
- getOptionLabel={(option) => {
1180
- var crname = '';
1181
- if (langdetect == 'en') {
1182
- crname = option.name;
1183
- } else if (langdetect == 'ar') {
1184
- if (option.name_ar != null) {
1185
- crname = option.name_ar;
1186
- } else {
1187
- crname = option.name;
1188
- }
1189
- }
1190
- return crname;
1191
- }}
1192
- getOptionValue={(option) => option.id}
1193
- value={fetchTabexCitiesQueryContext?.data?.data?.cities.filter((option) => option.id == ProductFilterObjContext.cityid)}
1194
- onChange={(option) => {
1195
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1196
- tempfetchproductsfilerobjcontext.cityid = option.id;
1197
- tempfetchproductsfilerobjcontext.page = 0;
1198
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1199
- filterrouting(tempfetchproductsfilerobjcontext);
1200
- }}
1201
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1202
- placeholder={lang.choosecity}
1203
- isSearchable={true}
1204
- />
1205
- )}
1206
- </div>
1207
- </div>
1208
- </div>
1209
- </div>
1210
- );
1211
- };
1212
- const [checked, setChecked] = useState(false);
1213
- // const queryParameters = new URLSearchParams(window.location.search);
1214
- // useEffect(() => {
1215
- // // setsortbycontext('Sort By');
1216
- // if (queryParameters.get('sortprice') == undefined) {
1217
- // setsortbycontext('Sort By');
1218
- // } else {
1219
- // var temp = { ...sortbycontext };
1220
- // temp = queryParameters.get('sortprice');
1221
- // alert(temp);
1222
- // }
1223
- // }, []);
1224
- return (
1225
- <div
1226
- className={sectionproperties.filterdirection == 'Horizontal' ? 'col-lg-12 p-0 w-100 filter mt-md-0 ' : 'col-lg-12 p-0 w-100 filter mt-md-0 d-md-none'}
1227
- style={{ marginTop: sectionproperties.filtersection_mt + 'px', minHeight: sectionproperties.filterminheight == 0 ? 'auto' : sectionproperties.filterminheight + 'vh' }}
1228
- >
1229
- {sectionproperties.filterType == 'Title & Sort By Only' && (
1230
- <div
1231
- class="row mx-0 w-100"
1232
- style={{
1233
- marginTop: sectionproperties.sectionTitleMarginTop + 'px',
1234
- marginBottom: sectionproperties.sectiontitledirection == 'Vertical' ? sectionproperties.sectionTitleMarginBottom + 'px' : 0,
1235
- paddingLeft: langdetect == 'en' ? sectionproperties.sectionTitleMarginLeft + 'px' : sectionproperties.sectionTitleMarginRight + 'px',
1236
- paddingRight: langdetect == 'en' ? sectionproperties.sectionTitleMarginRight + 'px' : sectionproperties.sectionTitleMarginLeft + 'px',
1237
- }}
1238
- >
1239
- <div class="col-lg-6 col-md-6 p-0 d-flex align-items-center justify-content-start">
1240
- <div class={filter_cssstyles.sectiontitle + ' d-flex align-items-center flex-row '} style={{}}>
1241
- <p
1242
- class={
1243
- sectionproperties.sectiontitlefontfamily == 'Pacifico'
1244
- ? ' PacificoFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1245
- : sectionproperties.sectiontitlefontfamily == 'Playfair'
1246
- ? ' PlayfairFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1247
- : sectionproperties.sectiontitlefontfamily == 'Great Vibes'
1248
- ? ' GreatvibesFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1249
- : sectionproperties.sectiontitlefontfamily == 'Quicksand'
1250
- ? ' QuicksandFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1251
- : sectionproperties.sectiontitlefontfamily == 'Satisfy'
1252
- ? ' SatisfyFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1253
- : sectionproperties.sectiontitlefontfamily == 'ASUL'
1254
- ? ' ASUL mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1255
- : ' mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1256
- }
1257
- style={{
1258
- color: sectionproperties.sectionTitleColor,
1259
- fontWeight: sectionproperties.sectionTitleFontWeight,
1260
- paddingLeft: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
1261
- paddingRight: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
1262
- textAlign: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1263
- }}
1264
- >
1265
- {langdetect == 'en' ? sectionproperties.sectionTitleContent : sectionproperties.sectionTitleContent_ar}
1266
- </p>
1267
- </div>
1268
- </div>
1269
- <div
1270
- class="col-lg-6 col-md-6 d-flex align-items-center justify-content-end"
1271
- style={{
1272
- paddingRight: langdetect == 'en' ? 0 : '',
1273
- paddingLeft: langdetect == 'ar' ? 0 : '',
1274
- }}
1275
- >
1276
- <div class="dropdowncontainer">
1277
- <input class={filter_cssstyles.dropdown + ' dropdown '} type="checkbox" checked={checked} id="dropdown" name="dropdown" hidden />
1278
- <label
1279
- onClick={() => {
1280
- setChecked(!checked);
1281
- }}
1282
- className={filter_cssstyles.collapsetitle + ' d-flex justify-content-end align-items-center for-dropdown m-0 '}
1283
- for="dropdown"
1284
- style={{ cursor: 'pointer' }}
1285
- >
1286
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}{' '}
1287
- <i class={langdetect == 'en' ? 'h-100 allcentered ml-3' : 'h-100 allcentered mr-3'}>
1288
- <FiChevronDown size={20} />
1289
- </i>
1290
- </label>
1291
-
1292
- <div
1293
- class="dropdownmenu"
1294
- style={{
1295
- background: sectionproperties.filter_backgroundcolor,
1296
- }}
1297
- >
1298
- {otherfilters.map((item, index) => {
1299
- return (
1300
- <div class="w-100">
1301
- {item.filterarray.map((valueitem, valueindex) => {
1302
- var ischecked = false;
1303
- if (item.payloadvalue == 'sortprice') {
1304
- if (valueitem.value == ProductFilterObjContext.sortprice) {
1305
- ischecked = true;
1306
- }
1307
- } else if (item.payloadvalue == 'sortdates') {
1308
- if (valueitem.value == ProductFilterObjContext.sortdates) {
1309
- ischecked = true;
1310
- }
1311
- }
1312
- return (
1313
- <p
1314
- class={filter_cssstyles.timeline_text + ' dropdownlink '}
1315
- style={{ color: ischecked ? sectionproperties.activecat_color : '' }}
1316
- onClick={() => {
1317
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1318
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1319
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1320
- } else {
1321
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1322
- }
1323
- tempfetchproductsfilerobjcontext.page = 0;
1324
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1325
-
1326
- filterrouting(tempfetchproductsfilerobjcontext);
1327
- setsortbycontext(valueitem.name);
1328
- }}
1329
- >
1330
- {valueitem.name}
1331
- </p>
1332
- );
1333
- })}
1334
- </div>
1335
- );
1336
- })}
1337
- </div>
1338
- </div>
1339
- </div>
1340
- </div>
1341
- )}
1342
- {sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Horizontal' && (
1343
- <div class="row m-0 w-100">
1344
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-start mb-3">
1345
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
1346
- {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
1347
- </p>
1348
- </div>
1349
- <div class="col-lg-12 p-0 mb-4">
1350
- <ScrollMenu transitionBehavior={'auto'} wrapperClassName={''} itemClassName={'filtercard'} scrollContainerClassName={'scrollmenuclasssubscrollbar'}>
1351
- {instcollections.map((item, index) => {
1352
- return (
1353
- <div
1354
- className={filter_cssstyles.timeline_text + ' col-xl-12 p-0 col-lg-12 col-md-12 col-sm-12 w-100 cursor-pointer '}
1355
- onClick={() => {
1356
- setCollectionFilterFunc(item.collectionid);
1357
- }}
1358
- style={{
1359
- color: item.isfilterselected == true ? 'red' : '',
1360
- }}
1361
- >
1362
- <div class="col-lg-12 allcentered mb-2">
1363
- <div
1364
- style={{
1365
- width: 200,
1366
- height: 200,
1367
- }}
1368
- >
1369
- <Imagekitimagecomp
1370
- urlEndpoint={ikimagecredcontext?.ikimageendpoint}
1371
- publicKey={ikimagecredcontext?.ikimagepublickey}
1372
- path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.collectionlogo}
1373
- style={{
1374
- width: '100%',
1375
- height: '100%',
1376
- objectFit: 'contain',
1377
- }}
1378
- loading="lazy"
1379
- />
1380
- </div>
1381
- </div>
1382
- <div class="col-lg-12 allcentered">
1383
- <p class={' m-0 p-0 '}>{langdetect == 'en' ? item.title_en : item.title_ar}</p>
1384
- </div>
1385
- </div>
1386
- );
1387
- })}
1388
- </ScrollMenu>
1389
- </div>
1390
- </div>
1391
- )}
1392
- {sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Vertical' && (
1393
- <div
1394
- className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
1395
- id="filterslider"
1396
- style={{
1397
- background: sectionproperties.filter_backgroundcolor,
1398
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1399
- }}
1400
- >
1401
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
1402
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
1403
- <p
1404
- className="m-0 p-0 font-16 font-weight-600"
1405
- style={{
1406
- color: sectionproperties.filter_titlecolor,
1407
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1408
- fontWeight: sectionproperties.filter_titlefontweight,
1409
- textTransform: sectionproperties.filter_titletextransform,
1410
- }}
1411
- >
1412
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
1413
- </p>
1414
- </div>
1415
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
1416
- <div
1417
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1418
- onClick={() => {
1419
- var element = document.getElementById('filterslider');
1420
- element.classList.remove(filterstyles.filterslider_container_opened);
1421
- }}
1422
- >
1423
- <i className="h-100 d-flex align-items-center justify-content-center">
1424
- <IoMdClose
1425
- size={sectionproperties.closeSlider_fontSize}
1426
- style={{
1427
- color: sectionproperties.closeSlider_color,
1428
- }}
1429
- />
1430
- </i>
1431
- </div>
1432
- </div>
1433
- {sectionproperties.otherfilters == 'Show' && (
1434
- <div class="row m-0 w-100">
1435
- <div class="col-lg-12 d-flex justify-content-start">
1436
- <p
1437
- className="m-0 p-0 font-16 font-weight-600"
1438
- style={{
1439
- color: sectionproperties.filter_titlecolor,
1440
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1441
- fontWeight: sectionproperties.filter_titlefontweight,
1442
- textTransform: sectionproperties.filter_titletextransform,
1443
- }}
1444
- >
1445
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
1446
- </p>
1447
- </div>
1448
- <div className="col-lg-12">
1449
- <hr className="mt-2 mb-3" />
1450
- </div>
1451
- {otherfilters.map((item, index) => {
1452
- return (
1453
- <div className="col-lg-12 pl-4 pr-4">
1454
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
1455
- <AccordionItem uuid={index}>
1456
- <AccordionItemHeading>
1457
- <AccordionItemButton>
1458
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1459
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1460
- <p
1461
- className={
1462
- langdetect == 'en'
1463
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
1464
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1465
- }
1466
- >
1467
- {item.name}
1468
- </p>
1469
- </div>
1470
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1471
- <AccordionItemState>
1472
- {(state) => {
1473
- if (state.expanded == true) {
1474
- return (
1475
- <i
1476
- className={
1477
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1478
- }
1479
- >
1480
- <FiChevronDown />
1481
- </i>
1482
- );
1483
- } else {
1484
- return (
1485
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1486
- <FiChevronUp />
1487
- </i>
1488
- );
1489
- }
1490
- }}
1491
- </AccordionItemState>
1492
- </div>
1493
- </div>
1494
- </AccordionItemButton>
1495
- </AccordionItemHeading>
1496
- <AccordionItemPanel className="p-0">
1497
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1498
- <div className={'col-lg-12'}>
1499
- <div
1500
- className={
1501
- langdetect == 'en'
1502
- ? `${filterstyles.timeline}` + ' p-sm-0 '
1503
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1504
- }
1505
- >
1506
- {item.filterarray.map((valueitem, valueindex) => {
1507
- var ischecked = false;
1508
- if (item.payloadvalue == 'sortprice') {
1509
- if (valueitem.value == ProductFilterObjContext.sortprice) {
1510
- ischecked = true;
1511
- }
1512
- } else if (item.payloadvalue == 'sortdates') {
1513
- if (valueitem.value == ProductFilterObjContext.sortdates) {
1514
- ischecked = true;
1515
- }
1516
- }
1517
- return (
1518
- <div
1519
- className={
1520
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1521
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1522
-
1523
- ` + ' d-flex align-items-start pb-3 '
1524
- }
1525
- onClick={() => {
1526
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1527
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1528
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1529
- } else {
1530
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1531
- }
1532
- tempfetchproductsfilerobjcontext.page = 0;
1533
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1534
-
1535
- filterrouting(tempfetchproductsfilerobjcontext);
1536
- }}
1537
- >
1538
- <div>
1539
- <div
1540
- className={
1541
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1542
- filter_cssstyles.btn_item
1543
- }` + ' mb-2 d-flex align-items-center '
1544
- }
1545
- >
1546
- <i className="h-100 d-flex align-items-center"></i>
1547
- </div>
1548
- </div>
1549
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1550
- <p
1551
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1552
- style={{
1553
- color: ischecked ? sectionproperties.activecat_color : '',
1554
- }}
1555
- >
1556
- {valueitem.name}
1557
- </p>
1558
- </div>
1559
- </div>
1560
- );
1561
- })}
1562
- </div>
1563
- </div>
1564
- </div>
1565
- </AccordionItemPanel>
1566
- </AccordionItem>
1567
- </Accordion>
1568
- </div>
1569
- );
1570
- })}
1571
- {sectionproperties.showfilterbyrating == 'Show' && (
1572
- <div className="col-lg-12 pl-4 pr-4">
1573
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1574
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
1575
- <p
1576
- className={
1577
- langdetect == 'en'
1578
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
1579
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1580
- }
1581
- >
1582
- {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
1583
- </p>
1584
- </div>
1585
- <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
1586
- <InputRange
1587
- draggableTrack={true}
1588
- formatLabel={(value) => `${value}`}
1589
- maxValue={5}
1590
- minValue={0}
1591
- value={raterangevalue}
1592
- onChange={(value) => {
1593
- setraterangevalue({ ...value });
1594
- }}
1595
- />
1596
- </div>
1597
- </div>
1598
- </div>
1599
- )}
1600
- </div>
1601
- )}
1602
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center d-md-none">
1603
- <p
1604
- className="m-0 p-0 font-16 font-weight-600"
1605
- style={{
1606
- color: sectionproperties.filter_titlecolor,
1607
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1608
- fontWeight: sectionproperties.filter_titlefontweight,
1609
- textTransform: sectionproperties.filter_titletextransform,
1610
- }}
1611
- >
1612
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
1613
- </p>
1614
- </div>
1615
- <div className="col-lg-3 col-md-3 col-sm-3 d-flex d-md-none align-items-center justify-content-end p-0">
1616
- <div
1617
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1618
- onClick={() => {
1619
- var element = document.getElementById('filterslider');
1620
- element.classList.remove(filterstyles.filterslider_container_opened);
1621
- }}
1622
- >
1623
- <i className="h-100 d-flex align-items-center justify-content-center">
1624
- <IoMdClose
1625
- size={sectionproperties.closeSlider_fontSize}
1626
- style={{
1627
- color: sectionproperties.closeSlider_color,
1628
- }}
1629
- />
1630
- </i>
1631
- </div>
1632
- </div>
1633
- <div className="col-lg-12">
1634
- <hr className="mt-2 mb-3" />
1635
- </div>
1636
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
1637
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
1638
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
1639
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
1640
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
1641
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
1642
- </div>
1643
- </div>
1644
- </div>
1645
- )}
1646
- <div className="col-lg-12">
1647
- <Offcanvas
1648
- show={props?.openFilterSlider}
1649
- onHide={() => {
1650
- props.setopenFilterSlider(false);
1651
- }}
1652
- placement="end"
1653
- scroll={true}
1654
- style={{
1655
- minWidth: '200px',
1656
- background: sectionproperties.filter_backgroundcolor,
1657
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1658
- }}
1659
- backdrop={true}
1660
- >
1661
- <Offcanvas.Header>
1662
- <Offcanvas.Title>
1663
- <div className="row m-0 w-100 mt-2">
1664
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
1665
- <p
1666
- className="m-0 p-0 font-16 font-weight-600"
1667
- style={{
1668
- color: sectionproperties.filter_titlecolor,
1669
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1670
- fontWeight: sectionproperties.filter_titlefontweight,
1671
- textTransform: sectionproperties.filter_titletextransform,
1672
- }}
1673
- >
1674
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
1675
- </p>
1676
- </div>
1677
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
1678
- <div
1679
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1680
- onClick={() => {
1681
- props.setopenFilterSlider(false);
1682
- }}
1683
- >
1684
- <i className="h-100 d-flex align-items-center justify-content-center">
1685
- <IoMdClose
1686
- size={sectionproperties.closeSlider_fontSize}
1687
- style={{
1688
- color: sectionproperties.closeSlider_color,
1689
- }}
1690
- />
1691
- </i>
1692
- </div>
1693
- </div>
1694
- <div class="col-lg-12">
1695
- <hr class="mt-2 mb-2" />
1696
- </div>
1697
- </div>
1698
- </Offcanvas.Title>
1699
- </Offcanvas.Header>
1700
- <Offcanvas.Body>
1701
- <div
1702
- className={' pb-md-5 '}
1703
- style={{
1704
- background: sectionproperties.filter_backgroundcolor,
1705
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1706
- }}
1707
- >
1708
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
1709
- {sectionproperties.otherfilters == 'Show' &&
1710
- otherfilters.map((item, index) => {
1711
- return (
1712
- <>
1713
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
1714
- <AccordionItem uuid={index}>
1715
- <AccordionItemHeading>
1716
- <AccordionItemButton>
1717
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1718
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1719
- <p
1720
- className={
1721
- langdetect == 'en'
1722
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
1723
- : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
1724
- }
1725
- >
1726
- {item.name}
1727
- </p>
1728
- </div>
1729
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1730
- <AccordionItemState>
1731
- {(state) => {
1732
- if (state.expanded == true) {
1733
- return (
1734
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1735
- <FiChevronDown />
1736
- </i>
1737
- );
1738
- } else {
1739
- return (
1740
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1741
- <FiChevronUp />
1742
- </i>
1743
- );
1744
- }
1745
- }}
1746
- </AccordionItemState>
1747
- </div>
1748
- </div>
1749
- </AccordionItemButton>
1750
- </AccordionItemHeading>
1751
- <AccordionItemPanel className="p-0">
1752
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1753
- <div className={'col-lg-12'}>
1754
- <div
1755
- className={
1756
- langdetect == 'en'
1757
- ? `${filterstyles.timeline}` + ' p-sm-0 '
1758
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1759
- }
1760
- >
1761
- {item.filterarray.map((valueitem, valueindex) => {
1762
- var ischecked = false;
1763
- if (item.payloadvalue == 'sortprice') {
1764
- if (valueitem.value == ProductFilterObjContext.sortprice) {
1765
- ischecked = true;
1766
- }
1767
- } else if (item.payloadvalue == 'sortdates') {
1768
- if (valueitem.value == ProductFilterObjContext.sortdates) {
1769
- ischecked = true;
1770
- }
1771
- }
1772
- return (
1773
- <div
1774
- className={
1775
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1776
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1777
-
1778
- ` + ' d-flex align-items-start pb-3 '
1779
- }
1780
- onClick={() => {
1781
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1782
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1783
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1784
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1785
- } else {
1786
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1787
- }
1788
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1789
- }}
1790
- >
1791
- <div>
1792
- <div
1793
- className={
1794
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1795
- filter_cssstyles.btn_item
1796
- }` + ' mb-2 d-flex align-items-center '
1797
- }
1798
- >
1799
- <i className="h-100 d-flex align-items-center"></i>
1800
- </div>
1801
- </div>
1802
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1803
- <p
1804
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1805
- style={{
1806
- color: ischecked ? sectionproperties.activecat_color : '',
1807
- }}
1808
- >
1809
- {valueitem.name}
1810
- </p>
1811
- </div>
1812
- </div>
1813
- );
1814
- })}
1815
- </div>
1816
- </div>
1817
- </div>
1818
- </AccordionItemPanel>
1819
- </AccordionItem>
1820
- </Accordion>
1821
- <hr className="mt-3 mb-3" />
1822
- </>
1823
- );
1824
- })}
1825
- {sectionproperties.otherfilters == 'Show' && (
1826
- <div className="col-lg-12">
1827
- <hr className="mt-2 mb-3" />
1828
- </div>
1829
- )}
1830
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
1831
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
1832
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
1833
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
1834
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
1835
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
1836
- </div>
1837
- </div>
1838
- </div>
1839
- </Offcanvas.Body>
1840
- </Offcanvas>
1841
- </div>
1842
- </div>
1843
- );
1844
- };
1845
- export default Filter;