tabexseriescomponents 0.2.1280 → 0.2.1283

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 (389) hide show
  1. package/dist/index.cjs.js +40 -258
  2. package/dist/index.esm.js +40 -258
  3. package/dist/index.umd.js +40 -258
  4. package/package.json +1 -1
  5. package/srcbefore27-11/Contexts/LanguageContext.jsx +0 -408
  6. package/srcbefore27-11/Contexts/ProductsCardsSectionContext.jsx +0 -36
  7. package/srcbefore27-11/Imagekitconfig copy.jsx +0 -46
  8. package/srcbefore27-11/Imagekitconfig.jsx +0 -178
  9. package/srcbefore27-11/StylesJS/Customstyles.js +0 -456
  10. package/srcbefore27-11/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +0 -538
  11. package/srcbefore27-11/TabexComponents/Cards/Card20/Card20.jsx +0 -299
  12. package/srcbefore27-11/TabexComponents/Cards/Card21/Card21.jsx +0 -388
  13. package/srcbefore27-11/TabexComponents/Cards/Card22/Card22.jsx +0 -288
  14. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23 copy.jsx +0 -1630
  15. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23.jsx +0 -733
  16. package/srcbefore27-11/TabexComponents/Cards/CardAll/CardAll.jsx +0 -453
  17. package/srcbefore27-11/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -394
  18. package/srcbefore27-11/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +0 -70
  19. package/srcbefore27-11/TabexComponents/Cards/Cardwithdetailsshowonhover/Cardwithdetailsshowonhover.jsx +0 -1074
  20. package/srcbefore27-11/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +0 -211
  21. package/srcbefore27-11/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -293
  22. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover/Categorycard_details_onhover.jsx +0 -512
  23. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover copy/Categorycard_details_onhover.jsx +0 -513
  24. package/srcbefore27-11/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -235
  25. package/srcbefore27-11/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -199
  26. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -182
  27. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -184
  28. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -161
  29. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -208
  30. package/srcbefore27-11/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +0 -560
  31. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard copy.jsx +0 -145
  32. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -145
  33. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/ClassiccategorycardOriginal.jsx +0 -142
  34. package/srcbefore27-11/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +0 -193
  35. package/srcbefore27-11/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -605
  36. package/srcbefore27-11/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -817
  37. package/srcbefore27-11/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -468
  38. package/srcbefore27-11/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -593
  39. package/srcbefore27-11/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +0 -208
  40. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +0 -497
  41. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +0 -512
  42. package/srcbefore27-11/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +0 -304
  43. package/srcbefore27-11/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  44. package/srcbefore27-11/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -277
  45. package/srcbefore27-11/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -352
  46. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -291
  47. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  48. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -327
  49. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +0 -408
  50. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -528
  51. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -731
  52. package/srcbefore27-11/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -275
  53. package/srcbefore27-11/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  54. package/srcbefore27-11/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -138
  55. package/srcbefore27-11/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +0 -611
  56. package/srcbefore27-11/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +0 -600
  57. package/srcbefore27-11/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -225
  58. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +0 -525
  59. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +0 -2321
  60. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -1311
  61. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcardlastversion15-9.jsx +0 -1292
  62. package/srcbefore27-11/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -337
  63. package/srcbefore27-11/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -347
  64. package/srcbefore27-11/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +0 -605
  65. package/srcbefore27-11/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +0 -185
  66. package/srcbefore27-11/TabexComponents/Cards/Variants_J_Cards/Variants_J_Cards.jsx +0 -660
  67. package/srcbefore27-11/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -759
  68. package/srcbefore27-11/TabexComponents/Footer/Footer1/Footer1.jsx +0 -551
  69. package/srcbefore27-11/TabexComponents/Footer/Footer2/Footer2.jsx +0 -731
  70. package/srcbefore27-11/TabexComponents/Footer/Footer3/Footer3.jsx +0 -414
  71. package/srcbefore27-11/TabexComponents/Footer/Footer4/Footer4.jsx +0 -466
  72. package/srcbefore27-11/TabexComponents/Footer/Footer5/Footer5.jsx +0 -776
  73. package/srcbefore27-11/TabexComponents/Footer/Footer6/Footer6.jsx +0 -290
  74. package/srcbefore27-11/TabexComponents/Footer/Footer7/Footer7.jsx +0 -430
  75. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8 copy.jsx +0 -1970
  76. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8.jsx +0 -2015
  77. package/srcbefore27-11/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +0 -330
  78. package/srcbefore27-11/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +0 -582
  79. package/srcbefore27-11/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +0 -1165
  80. package/srcbefore27-11/TabexComponents/Footer/Newsletterincenter/Newsletterincenter.jsx +0 -646
  81. package/srcbefore27-11/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +0 -110
  82. package/srcbefore27-11/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -332
  83. package/srcbefore27-11/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  84. package/srcbefore27-11/TabexComponents/Generalfiles/images/noimage.png +0 -0
  85. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  86. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  87. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  88. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  89. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  90. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  91. package/srcbefore27-11/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  92. package/srcbefore27-11/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  93. package/srcbefore27-11/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  94. package/srcbefore27-11/TabexComponents/Generalfiles/images/usflag.png +0 -0
  95. package/srcbefore27-11/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  96. package/srcbefore27-11/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -1264
  97. package/srcbefore27-11/TabexComponents/Headers/CategoriesComponent/CategoriesComponent.jsx +0 -375
  98. package/srcbefore27-11/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -1056
  99. package/srcbefore27-11/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +0 -1498
  100. package/srcbefore27-11/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -1289
  101. package/srcbefore27-11/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +0 -76
  102. package/srcbefore27-11/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +0 -907
  103. package/srcbefore27-11/TabexComponents/Headers/FloatingIcons/FloatingIcons.jsx +0 -358
  104. package/srcbefore27-11/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -875
  105. package/srcbefore27-11/TabexComponents/Headers/Header4/Header4.jsx +0 -622
  106. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8 copy.jsx +0 -1026
  107. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8.jsx +0 -3414
  108. package/srcbefore27-11/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -777
  109. package/srcbefore27-11/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +0 -933
  110. package/srcbefore27-11/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +0 -710
  111. package/srcbefore27-11/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +0 -902
  112. package/srcbefore27-11/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -1347
  113. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -1566
  114. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +0 -1201
  115. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +0 -990
  116. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2 copy.jsx +0 -1639
  117. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +0 -7163
  118. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +0 -1327
  119. package/srcbefore27-11/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -941
  120. package/srcbefore27-11/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +0 -80
  121. package/srcbefore27-11/TabexComponents/Headers/Minimalheader/Minimalheader.jsx +0 -846
  122. package/srcbefore27-11/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -1198
  123. package/srcbefore27-11/TabexComponents/Headers/ParentCollectionsComponent/ParentCollectionsComponent.jsx +0 -385
  124. package/srcbefore27-11/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +0 -784
  125. package/srcbefore27-11/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +0 -1186
  126. package/srcbefore27-11/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +0 -3692
  127. package/srcbefore27-11/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +0 -266
  128. package/srcbefore27-11/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -860
  129. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader copy.jsx +0 -950
  130. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader.jsx +0 -1052
  131. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader13-3.jsx +0 -685
  132. package/srcbefore27-11/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +0 -517
  133. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheadernew.jsx +0 -555
  134. package/srcbefore27-11/TabexComponents/Headers/SubheaderDropdown/SubheaderDropdown.jsx +0 -610
  135. package/srcbefore27-11/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -1049
  136. package/srcbefore27-11/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +0 -1095
  137. package/srcbefore27-11/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +0 -979
  138. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -533
  139. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -338
  140. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -872
  141. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContentrecent.jsx +0 -895
  142. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +0 -302
  143. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -314
  144. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -318
  145. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -179
  146. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -201
  147. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +0 -421
  148. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy 2.jsx +0 -583
  149. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy.jsx +0 -291
  150. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +0 -822
  151. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm19-8beforeattach.jsx +0 -789
  152. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm22-7.jsx +0 -787
  153. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/habal +0 -348
  154. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +0 -387
  155. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +0 -268
  156. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/MapsSection/MapsSection.jsx +0 -295
  157. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/PopupCountryComponent/PopupCountryComponent.jsx +0 -120
  158. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Popupcomponent/Popupcomponent.jsx +0 -119
  159. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Searchcomponent/Searchcomponent.jsx +0 -99
  160. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -146
  161. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +0 -489
  162. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -296
  163. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +0 -396
  164. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -633
  165. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +0 -509
  166. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +0 -1399
  167. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +0 -1656
  168. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +0 -1540
  169. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -2323
  170. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection13-3.jsx +0 -1596
  171. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-10.jsx +0 -1872
  172. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-11beforeform.jsx +0 -1891
  173. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection_cosmoandmore.jsx +0 -1880
  174. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSectionwithanomation12-1.jsx +0 -2065
  175. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -726
  176. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +0 -719
  177. package/srcbefore27-11/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -406
  178. package/srcbefore27-11/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -966
  179. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +0 -646
  180. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +0 -1577
  181. package/srcbefore27-11/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -596
  182. package/srcbefore27-11/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +0 -383
  183. package/srcbefore27-11/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -342
  184. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -161
  185. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +0 -394
  186. package/srcbefore27-11/TabexComponents/Sections/Slideshow/CountDownSection/CountDownSection.jsx +0 -174
  187. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +0 -382
  188. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -651
  189. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection19-11.jsx +0 -757
  190. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection20-2.jsx +0 -1017
  191. package/srcbefore27-11/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +0 -346
  192. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -3027
  193. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -141
  194. package/srcbefore27-11/TabexComponents/Sections/Slideshow/MarqueeSection/MarqueeSection.jsx +0 -103
  195. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Preloaderone/Preloaderone.jsx +0 -49
  196. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +0 -376
  197. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -384
  198. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards copy.jsx +0 -1576
  199. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -1989
  200. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  201. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  202. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -143
  203. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +0 -634
  204. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -474
  205. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +0 -527
  206. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -665
  207. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +0 -477
  208. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +0 -1217
  209. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslideoriginal8-5.jsx +0 -614
  210. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +0 -91
  211. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +0 -380
  212. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -741
  213. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TableSection/TableSection.jsx +0 -423
  214. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +0 -284
  215. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +0 -636
  216. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -402
  217. package/srcbefore27-11/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -234
  218. package/srcbefore27-11/TabexComponents/StaticPages/AddReview/AddReview.jsx +0 -306
  219. package/srcbefore27-11/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +0 -364
  220. package/srcbefore27-11/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -1000
  221. package/srcbefore27-11/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -460
  222. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +0 -1306
  223. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -2506
  224. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +0 -1633
  225. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout12-12beforeextras.jsx +0 -1999
  226. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +0 -1593
  227. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +0 -1574
  228. package/srcbefore27-11/TabexComponents/StaticPages/Compare/Compare.jsx +0 -79
  229. package/srcbefore27-11/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +0 -245
  230. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +0 -2888
  231. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy.jsx +0 -1450
  232. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter.jsx +0 -3459
  233. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter1-5.jsx +0 -2624
  234. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter13-11.jsx +0 -2758
  235. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter14-8.jsx +0 -2753
  236. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter17-9.jsx +0 -1495
  237. package/srcbefore27-11/TabexComponents/StaticPages/Filter/VariantFilter.jsx +0 -1271
  238. package/srcbefore27-11/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +0 -62
  239. package/srcbefore27-11/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -50
  240. package/srcbefore27-11/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  241. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login copy.jsx +0 -1060
  242. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login.jsx +0 -616
  243. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +0 -693
  244. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess2.jsx +0 -173
  245. package/srcbefore27-11/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1831
  246. package/srcbefore27-11/TabexComponents/StaticPages/Policies/Policies.jsx +0 -291
  247. package/srcbefore27-11/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +0 -194
  248. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +0 -183
  249. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +0 -128
  250. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Article_itemtype.jsx +0 -268
  251. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +0 -190
  252. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +0 -225
  253. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtras.jsx +0 -224
  254. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductFileUploader.jsx +0 -136
  255. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +0 -347
  256. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +0 -262
  257. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +0 -5566
  258. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +0 -1554
  259. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype3-11.jsx +0 -1827
  260. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype31-3.jsx +0 -1351
  261. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +0 -1566
  262. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeeuro.jsx +0 -3101
  263. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -3047
  264. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo13-5.jsx +0 -2103
  265. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo_28_6.jsx +0 -2189
  266. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfotoday.jsx +0 -2166
  267. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.js +0 -2714
  268. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +0 -2206
  269. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtypetill28-4-2025.jsx +0 -1158
  270. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +0 -1117
  271. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs4-5.jsx +0 -1043
  272. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabstill28-4-2025.jsx +0 -1040
  273. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +0 -905
  274. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +0 -324
  275. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +0 -145
  276. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Addreviewform.jsx +0 -183
  277. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/AddreviewformOriginal.jsx +0 -128
  278. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/DescriptionContent.jsx +0 -140
  279. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductExtraFields.jsx +0 -225
  280. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductHeaderPricing.jsx +0 -310
  281. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductReviews.jsx +0 -235
  282. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype.jsx +0 -1672
  283. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype10-1.jsx +0 -1554
  284. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype31-3.jsx +0 -1351
  285. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtypeUpdated.jsx +0 -1566
  286. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Productinfo.jsx +0 -1804
  287. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Service_itemtype.jsx +0 -560
  288. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Serviceinfotabs.jsx +0 -928
  289. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions.jsx +0 -597
  290. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions21-9.jsx +0 -324
  291. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/staticroutersidenav.module.css +0 -145
  292. package/srcbefore27-11/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +0 -194
  293. package/srcbefore27-11/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +0 -346
  294. package/srcbefore27-11/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -367
  295. package/srcbefore27-11/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +0 -222
  296. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +0 -277
  297. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +0 -1135
  298. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -1505
  299. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm12-5beforeemailrequired.jsx +0 -1476
  300. package/srcbefore27-11/TabexComponents/StaticPages/Signup/Signup.jsx +0 -199
  301. package/srcbefore27-11/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -292
  302. package/srcbefore27-11/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +0 -219
  303. package/srcbefore27-11/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +0 -162
  304. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +0 -765
  305. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -786
  306. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +0 -786
  307. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +0 -786
  308. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +0 -1425
  309. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -844
  310. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist25-4.jsx +0 -555
  311. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +0 -555
  312. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +0 -555
  313. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +0 -815
  314. package/srcbefore27-11/button.jsx +0 -40
  315. package/srcbefore27-11/index.jsx +0 -353
  316. package/srcbefore27-11/styles/Home.module.css +0 -129
  317. package/srcbefore27-11/styles/cards/Categorcycard_fullimage.module.css +0 -14
  318. package/srcbefore27-11/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  319. package/srcbefore27-11/styles/cards/Categorycard_withshapes.module.css +0 -189
  320. package/srcbefore27-11/styles/cards/ModernCardWithQuantityButton.module.css +0 -30
  321. package/srcbefore27-11/styles/cards/Productcard6.module.css +0 -9
  322. package/srcbefore27-11/styles/cards/Productccard_with_zoominonhover.module.css +0 -94
  323. package/srcbefore27-11/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  324. package/srcbefore27-11/styles/cards/UserCardWithSocialMediaOnHover.module.css +0 -65
  325. package/srcbefore27-11/styles/cards/card23.module.css +0 -60
  326. package/srcbefore27-11/styles/cards/categorycard.module.css +0 -84
  327. package/srcbefore27-11/styles/cards/categorycard3.module.css +0 -50
  328. package/srcbefore27-11/styles/cards/categorycardwithtext.module.css +0 -40
  329. package/srcbefore27-11/styles/cards/generalCardsStyles.module.css +0 -79
  330. package/srcbefore27-11/styles/cards/productcard_animatedbuttons.module.css +0 -139
  331. package/srcbefore27-11/styles/cards/productcard_with_textonhover.module.css +0 -18
  332. package/srcbefore27-11/styles/cards/productcard_withtextonimage.module.css +0 -0
  333. package/srcbefore27-11/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  334. package/srcbefore27-11/styles/general/bootstrap.css +0 -4763
  335. package/srcbefore27-11/styles/general/dropdown.css +0 -206
  336. package/srcbefore27-11/styles/general/editorbardropdown.module.css +0 -94
  337. package/srcbefore27-11/styles/general/filter.module.css +0 -108
  338. package/srcbefore27-11/styles/general/form.module.css +0 -255
  339. package/srcbefore27-11/styles/general/general.module.css +0 -872
  340. package/srcbefore27-11/styles/general/image-gallery.css +0 -531
  341. package/srcbefore27-11/styles/general/react-accessible-accordion.module.css +0 -52
  342. package/srcbefore27-11/styles/general/react-phone-input-2.module.css +0 -927
  343. package/srcbefore27-11/styles/general/scrollbtn.module.css +0 -22
  344. package/srcbefore27-11/styles/general/slick.module.css +0 -166
  345. package/srcbefore27-11/styles/general/tabs.module.css +0 -119
  346. package/srcbefore27-11/styles/general/workplaceeditor.module.css +0 -328
  347. package/srcbefore27-11/styles/globals.css +0 -26
  348. package/srcbefore27-11/styles/headers/CTAHeader.module.css +0 -40
  349. package/srcbefore27-11/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  350. package/srcbefore27-11/styles/headers/Gotoheader.module.css +0 -87
  351. package/srcbefore27-11/styles/headers/Header7.module.css +0 -50
  352. package/srcbefore27-11/styles/headers/HeaderWithAdSlider.module.css +0 -86
  353. package/srcbefore27-11/styles/headers/HeaderWithSearchOnCenter.module.css +0 -101
  354. package/srcbefore27-11/styles/headers/HeaderWithUtilityBar.module.css +0 -46
  355. package/srcbefore27-11/styles/headers/Header_threesectionslogocentered.module.css +0 -84
  356. package/srcbefore27-11/styles/headers/NewHeader.module.css +0 -101
  357. package/srcbefore27-11/styles/headers/SearchFocusedHeader.module.css +0 -62
  358. package/srcbefore27-11/styles/headers/Sideheader.module.css +0 -108
  359. package/srcbefore27-11/styles/headers/Simpleheader.module.css +0 -102
  360. package/srcbefore27-11/styles/headers/classicheader.module.css +0 -16
  361. package/srcbefore27-11/styles/headers/classicheaderstyles.module.css +0 -9
  362. package/srcbefore27-11/styles/headers/dropdown.css +0 -0
  363. package/srcbefore27-11/styles/headers/header4.module.css +0 -175
  364. package/srcbefore27-11/styles/headers/header5.module.css +0 -30
  365. package/srcbefore27-11/styles/headers/header_contactinfo.module.css +0 -53
  366. package/srcbefore27-11/styles/headers/headerresturant.module.css +0 -89
  367. package/srcbefore27-11/styles/headers/modernheader.module.css +0 -45
  368. package/srcbefore27-11/styles/headers/stylishheader.module.css +0 -24
  369. package/srcbefore27-11/styles/headers/subheader.module.css +0 -114
  370. package/srcbefore27-11/styles/headers/threetieredheader.module.css +0 -91
  371. package/srcbefore27-11/styles/sections/BackgroundImageWithTopContent.css +0 -4
  372. package/srcbefore27-11/styles/sections/Backgroundimage1.module.css +0 -17
  373. package/srcbefore27-11/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  374. package/srcbefore27-11/styles/sections/Freetext.module.css +0 -18
  375. package/srcbefore27-11/styles/sections/Section_with_rightbgcont.module.css +0 -49
  376. package/srcbefore27-11/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  377. package/srcbefore27-11/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  378. package/srcbefore27-11/styles/staticpages/accordion.module.css +0 -9
  379. package/srcbefore27-11/styles/staticpages/cart.module.css +0 -108
  380. package/srcbefore27-11/styles/staticpages/dropdown.css +0 -196
  381. package/srcbefore27-11/styles/staticpages/filter.module.css +0 -139
  382. package/srcbefore27-11/styles/staticpages/image-gallery.css +0 -481
  383. package/srcbefore27-11/styles/staticpages/login.module.css +0 -155
  384. package/srcbefore27-11/styles/staticpages/productinfo.module.css +0 -54
  385. package/srcbefore27-11/styles/staticpages/shop.module.css +0 -191
  386. package/srcbefore27-11/styles/staticpages/signup.module.css +0 -250
  387. package/srcbefore27-11/styles/staticpages/staticroutersidenav.module.css +0 -129
  388. package/srcbefore27-11/styles/staticpages/viewcart.module.css +0 -129
  389. package/srcbefore27-11/styles/staticpages/wishlist.module.css +0 -29
@@ -1,2624 +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.js';
14
- import { CircularProgress, Messaging } from 'react-cssfx-loading';
15
- import formstyles from '../../../styles/general/form.module.css';
16
- import { BsChevronLeft } from '@react-icons/all-files/bs/BsChevronLeft';
17
- import { BsChevronRight } from '@react-icons/all-files/bs/BsChevronRight';
18
- const Select = React.lazy(() => import('react-select'));
19
-
20
- const Filter = (props) => {
21
- const lang = props.actions.lang;
22
- const langdetect = props.actions.langdetect;
23
- const productfiltercontext = props.actions.productfiltercontext;
24
- const setproductfiltercontext = props.actions.setproductfiltercontext;
25
- const ProductFilterObjContext = props.actions.ProductFilterObjContext;
26
- const setProductFilterObjContext = props.actions.setProductFilterObjContext;
27
- const authdetailsContext = props.actions.authdetailsContext;
28
- const fetchproductoptionsQueryContext = props.actions.fetchproductoptionsQueryContext;
29
- const fetchCategoriesQueryContext = props.actions.fetchCategoriesQueryContext;
30
- const routingcountext = props.actions.routingcountext;
31
- const fetchcollectionsQueryContext = props.actions.fetchcollectionsQueryContext;
32
- const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
33
- const ikimagecredcontext = props.actions.ikimagecredcontext;
34
- const [pricevalue, setpricevalue] = useState({ min: 0, max: 10000 });
35
- const [productfeatuesarr, setproductfeatuesarr] = useState([]);
36
-
37
- const fetchTabexCountriesQueryContext = props.actions.fetchTabexCountriesQueryContext;
38
- const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
39
- const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
40
-
41
- const fetchTabexCitiesQueryContext = props.actions.fetchTabexCitiesQueryContext;
42
- const fetchTabexStatesQueryContext = props.actions.fetchTabexStatesQueryContext;
43
- const FetchTabexStatesPayloadobjContext = props.actions.FetchTabexStatesPayloadobjContext;
44
- const setFetchTabexStatesPayloadobjContext = props.actions.setFetchTabexStatesPayloadobjContext;
45
- const fetchProductFeaturesQueryContext = props.actions.fetchProductFeaturesQueryContext;
46
-
47
- const [sectionproperties, setsectionproperties] = useState('');
48
- // const [instfilters, setinstfilters] = useState([...authdetailsContext.instinfo.instfilters]);
49
- const [instfilters, setinstfilters] = useState([]);
50
- const [collectionstobevisible, setcollectionstobevisible] = useState([]);
51
- const [instcollections, setinstcollections] = useState([]);
52
- const [instcategories, setinstcategories] = useState([]);
53
- // const [sortby, setSortby] = useState('Sort by');
54
- const [raterangevalue, setraterangevalue] = useState({ min: 0, max: 5 });
55
- const timeoutRef = React.useRef(null);
56
- const [sortbycontext, setsortbycontext] = useState('');
57
-
58
- const [otherfilters, setotherfilters] = useState([
59
- {
60
- payloadvalue: 'sortprice',
61
- name: lang.price,
62
- filterarray: [
63
- { name: lang.pricelowtohigh, value: 'lowtohigh', isfilterselected: false },
64
- { name: lang.pricehightolow, value: 'hightolow', isfilterselected: false },
65
- ],
66
- },
67
- {
68
- payloadvalue: 'sortdates',
69
-
70
- name: lang.dates,
71
- filterarray: [
72
- { name: lang.recent, value: 'recent', isfilterselected: false },
73
- { name: lang.oldest, value: 'old', isfilterselected: false },
74
- ],
75
- },
76
- ]);
77
- useEffect(() => {
78
- filterupdater();
79
- }, []);
80
- useEffect(() => {
81
- if (fetchproductoptionsQueryContext.isSuccess) {
82
- setinstfilters([...fetchproductoptionsQueryContext?.data?.data?.productoptions]);
83
- }
84
- }, [fetchproductoptionsQueryContext.isSuccess]);
85
- useEffect(() => {
86
- if (fetchCategoriesQueryContext.isSuccess) {
87
- setinstcategories([...fetchCategoriesQueryContext?.data?.data?.categories]);
88
- }
89
- }, [fetchCategoriesQueryContext.isSuccess]);
90
- useEffect(() => {
91
- if (fetchcollectionsQueryContext.isSuccess) {
92
- setinstcollections([...fetchcollectionsQueryContext?.data?.data?.collections]);
93
- }
94
- }, [fetchcollectionsQueryContext.isSuccess]);
95
- // useEffect(() => {
96
- // // setinstfilters([...authdetailsContext.instinfo.instfilters]);
97
- // // setinstcollections([...authdetailsContext.instinfo.instcollections]);
98
- // // setinstcategories([...authdetailsContext?.instinfo?.instcategories]);
99
- // }, [authdetailsContext]);
100
- useEffect(() => {
101
- if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
102
- setsectionproperties(props.sectionpropertiesprops);
103
- }
104
- }, [props.sectionpropertiesprops]);
105
- useEffect(() => {
106
- filterupdater();
107
- }, [ProductFilterObjContext]);
108
- React.useEffect(() => {
109
- if (timeoutRef.current !== null) {
110
- clearTimeout(timeoutRef.current);
111
- }
112
-
113
- timeoutRef.current = setTimeout(() => {
114
- if (raterangevalue.min != 0 || raterangevalue.max != 5) {
115
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
116
- tempfetchproductsfilerobjcontext.minrate = raterangevalue.min;
117
- tempfetchproductsfilerobjcontext.maxrate = raterangevalue.max;
118
- tempfetchproductsfilerobjcontext.page = 0;
119
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
120
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
121
- }
122
- }, 500);
123
- }, [raterangevalue]);
124
- useEffect(() => {
125
- if (fetchCategoriesQueryContext.isSuccess && fetchcollectionsQueryContext.isSuccess) {
126
- if (sectionproperties?.filterretreivetype == 'Depend on chosen parent group') {
127
- if (ProductFilterObjContext?.collections != undefined && ProductFilterObjContext?.collections != null && Array.isArray(ProductFilterObjContext?.collections)) {
128
- var collectiontobevisible = [];
129
- var parentidsfound = [];
130
- if (ProductFilterObjContext.ProductFetchingType == 'Parent Collection') {
131
- parentidsfound = ProductFilterObjContext?.collections;
132
- } else if (ProductFilterObjContext.ProductFetchingType == 'Category') {
133
- instcategories?.forEach(function (catitem, catindex) {
134
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
135
- if (catitem.categoryid == colitem2) {
136
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
137
- parentidsfound.push(parentcolitem.parentcollectionid);
138
- });
139
- }
140
- });
141
- });
142
- } else {
143
- instcategories?.forEach(function (catitem, catindex) {
144
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
145
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
146
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
147
- if (colitem.collectionid == colitem2) {
148
- parentidsfound.push(parentcolitem.parentcollectionid);
149
- }
150
- });
151
- });
152
- });
153
- });
154
- }
155
-
156
- parentidsfound = parentidsfound.filter((val, id, array) => array.indexOf(val) == id);
157
-
158
- if (parentidsfound?.length != 0) {
159
- instcategories?.forEach(function (catitem, catindex) {
160
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
161
- parentidsfound?.forEach(function (parentidfounditem, parentidfoundindex) {
162
- if (parentidfounditem == parentcolitem?.parentcollectionid) {
163
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
164
- var iscolexists = false;
165
- collectiontobevisible?.forEach(function (colitemex, colindexex) {
166
- if (colitemex.collectionid == colitem.collectionid) {
167
- iscolexists = true;
168
- }
169
- });
170
- if (iscolexists == false) {
171
- collectiontobevisible.push(colitem);
172
- }
173
- });
174
- }
175
- });
176
- });
177
- });
178
-
179
- if (collectiontobevisible?.length != 0) {
180
- setcollectionstobevisible(collectiontobevisible);
181
- } else {
182
- setcollectionstobevisible(instcollections);
183
- }
184
- } else {
185
- setcollectionstobevisible(instcollections);
186
- }
187
- } else {
188
- setcollectionstobevisible(instcollections);
189
- }
190
- } else {
191
- setcollectionstobevisible(instcollections);
192
- }
193
- }
194
- }, [ProductFilterObjContext, fetchCategoriesQueryContext.isSuccess, fetchcollectionsQueryContext.isSuccess, instcategories, instcollections]);
195
- useEffect(() => {
196
- if (productfeatuesarr.length != 0) {
197
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
198
- tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
199
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
200
- filterrouting(tempfetchproductsfilerobjcontext);
201
- }
202
- }, [productfeatuesarr]);
203
- useEffect(() => {
204
- if (fetchTabexStatesQueryContext.isSuccess) {
205
- if (ProductFilterObjContext.stateid != undefined && ProductFilterObjContext.stateid != null && ProductFilterObjContext.stateid != '' && ProductFilterObjContext.stateid != 'all') {
206
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
207
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
208
- tempFetchTabexStatesPayloadobjContext.state_id = ProductFilterObjContext.stateid;
209
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
210
- }
211
- }
212
- }, [fetchTabexStatesQueryContext.isSuccess]);
213
- const filterupdater = () => {
214
- setTimeout(() => {
215
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
216
- tempFetchQueriesEngineContext.fetchtabexcountries = true;
217
- setFetchQueriesEngineContext(tempFetchQueriesEngineContext);
218
- }, 100);
219
- if (ProductFilterObjContext.countryid != undefined && ProductFilterObjContext.countryid != null && ProductFilterObjContext.countryid != '' && ProductFilterObjContext.countryid != 'all') {
220
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
221
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
222
- tempFetchTabexStatesPayloadobjContext.country_id = ProductFilterObjContext.countryid;
223
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
224
- }
225
-
226
- if (instfilters.length != 0) {
227
- var tempinstfilters = [...instfilters];
228
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
229
- instfilteritem.productvaluesfilter.forEach(function (valefilteritem, valefilteritemindex) {
230
- valefilteritem.isfilterselected = false;
231
- });
232
- });
233
- ProductFilterObjContext?.FilterOptions?.forEach(function (filteritem, filterindex) {
234
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
235
- instfilteritem?.productvaluesfilter?.forEach(function (valefilteritem, valefilteritemindex) {
236
- if (filteritem.valueid == valefilteritem.valueid) {
237
- valefilteritem.isfilterselected = true;
238
- }
239
- });
240
- });
241
- });
242
- setinstfilters([...tempinstfilters]);
243
- }
244
- if (instcategories.length != 0) {
245
- var tempInstcategories = [...instcategories];
246
- tempInstcategories.forEach(function (catitem, catindex) {
247
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
248
- parentcolitem.collections.forEach(function (colitem, colindex) {
249
- colitem.isfilterselected = false;
250
- });
251
- });
252
- });
253
-
254
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
255
- tempInstcategories.forEach(function (catitem, catindex) {
256
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
257
- parentcolitem.collections.forEach(function (colitem, colindex) {
258
- if (colitem.collectionid == filteritem) {
259
- colitem.isfilterselected = true;
260
- }
261
- });
262
- });
263
- });
264
- });
265
-
266
- setinstcategories([...tempInstcategories]);
267
- }
268
- if (instcollections.length != 0) {
269
- var tempInstcollections = [...instcollections];
270
- tempInstcollections.forEach(function (instfilteritem, valefilteritemindex) {
271
- instfilteritem.isfilterselected = false;
272
- });
273
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
274
- tempInstcollections?.forEach(function (instfilteritem, instfilterindex) {
275
- if (instfilteritem.collectionid == filteritem) {
276
- instfilteritem.isfilterselected = true;
277
- }
278
- });
279
- });
280
- setinstcollections([...tempInstcollections]);
281
- }
282
- };
283
- const setfilterfunc = (valueid, valueindex, mainparentindex, type) => {
284
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
285
- if (type == 'clearfilters') {
286
- tempfetchproductsfilerobjcontext.FilterOptions = [];
287
- } else {
288
- var FilterExists = false;
289
- tempfetchproductsfilerobjcontext?.FilterOptions?.forEach(function (filteritem, filterindex) {
290
- if (filteritem.valueid == valueid) {
291
- FilterExists = true;
292
- tempfetchproductsfilerobjcontext.FilterOptions.splice(filterindex, 1);
293
- }
294
- });
295
- if (!FilterExists) {
296
- tempfetchproductsfilerobjcontext.FilterOptions.push({ valueid: valueid });
297
- }
298
- }
299
- if (tempfetchproductsfilerobjcontext.FilterOptions.length == 0) {
300
- tempfetchproductsfilerobjcontext.isfilter = 0;
301
- } else {
302
- tempfetchproductsfilerobjcontext.isfilter = 1;
303
- }
304
- tempfetchproductsfilerobjcontext.page = 0;
305
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
306
- filterrouting(tempfetchproductsfilerobjcontext);
307
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
308
- };
309
- const setCollectionFilterFunc = (collectionid) => {
310
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
311
- var CollectionExists = false;
312
- tempfetchproductsfilerobjcontext?.collections?.forEach(function (filteritem, filterindex) {
313
- if (filteritem == collectionid) {
314
- CollectionExists = true;
315
- tempfetchproductsfilerobjcontext.collections.splice(filterindex, 1);
316
- }
317
- });
318
- if (!CollectionExists) {
319
- if (tempfetchproductsfilerobjcontext.collections != undefined && Array.isArray(tempfetchproductsfilerobjcontext.collections)) {
320
- if (sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Horizontal') {
321
- tempfetchproductsfilerobjcontext.collections = [];
322
- tempfetchproductsfilerobjcontext.collections.push(collectionid);
323
- } else {
324
- tempfetchproductsfilerobjcontext.collections.push(collectionid);
325
- }
326
- } else {
327
- tempfetchproductsfilerobjcontext.collections = [collectionid];
328
- }
329
- }
330
-
331
- tempfetchproductsfilerobjcontext.page = 0;
332
- tempfetchproductsfilerobjcontext.ProductFetchingType = 'Random';
333
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
334
- filterrouting(tempfetchproductsfilerobjcontext);
335
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
336
- };
337
- const AccordionInner = (parentcollectionindex, parentcollectionitem) => {
338
- return (
339
- <AccordionItem uuid={parentcollectionindex}>
340
- <AccordionItemHeading>
341
- <AccordionItemButton>
342
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
343
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
344
- <p
345
- className={
346
- langdetect == 'en'
347
- ? filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 '
348
- : filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 text-right'
349
- }
350
- >
351
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
352
- </p>
353
- </div>
354
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
355
- <AccordionItemState>
356
- {(state) => {
357
- if (state.expanded == true) {
358
- return (
359
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
360
- <FiChevronUp />
361
- </i>
362
- );
363
- } else {
364
- return (
365
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
366
- <FiChevronDown />
367
- </i>
368
- );
369
- }
370
- }}
371
- </AccordionItemState>
372
- </div>
373
- </div>
374
- </AccordionItemButton>
375
- </AccordionItemHeading>
376
- <AccordionItemPanel className="p-0">
377
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex ">
378
- <div class="col-lg-12 mb-3 allcentered">
379
- <p
380
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
381
- style={{ textDecoration: 'underline' }}
382
- onClick={() => {
383
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'parentcollections/' + parentcollectionitem.parentcollectionid);
384
- }}
385
- >
386
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
387
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
388
- </p>
389
- </div>
390
- <div className={'col-lg-12 pl-md-3 pr-md-3'}>
391
- <div
392
- className={
393
- langdetect == 'en' ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
394
- }
395
- >
396
- {parentcollectionitem?.collections?.map((collectionitem, collectionindex) => {
397
- if (collectionitem.isinftiler == 1) {
398
- return (
399
- <div
400
- className={
401
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
402
- ${collectionitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
403
- ` + ' d-flex align-items-start pb-3 '
404
- }
405
- onClick={() => {
406
- setCollectionFilterFunc(collectionitem.collectionid);
407
- }}
408
- >
409
- <div
410
- className={
411
- ` ${collectionitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
412
- ' mb-2 d-flex align-items-center '
413
- }
414
- >
415
- <i className="h-100 d-flex align-items-center"></i>
416
- </div>
417
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
418
- <p
419
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
420
- style={{
421
- color: collectionitem.isfilterselected ? sectionproperties.activecat_color : '',
422
- }}
423
- >
424
- {langdetect == 'en' ? collectionitem.title_en : collectionitem.title_ar}
425
- </p>
426
- </div>
427
- </div>
428
- );
429
- }
430
- })}
431
- </div>
432
- </div>
433
- </div>
434
- </AccordionItemPanel>
435
- </AccordionItem>
436
- );
437
- };
438
- const AccordionOuter = (categoryItem, categoryIndex) => {
439
- return (
440
- <AccordionItem uuid={categoryIndex}>
441
- <AccordionItemHeading>
442
- <AccordionItemButton>
443
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-1 pl-md-3 pr-md-3 '}>
444
- <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
445
- <p className={filter_cssstyles.categoryName + ' collapsetitle text-capitalize m-0 p-0 '}>{langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}</p>
446
- </div>
447
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
448
- <AccordionItemState>
449
- {(state) => {
450
- if (state.expanded == true) {
451
- return (
452
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
453
- <FiChevronUp />
454
- </i>
455
- );
456
- } else {
457
- return (
458
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
459
- <FiChevronDown />
460
- </i>
461
- );
462
- }
463
- }}
464
- </AccordionItemState>
465
- </div>
466
- <div className="col-lg-12 p-0">
467
- <hr className="mt-3 mb-2" />
468
- </div>
469
- </div>
470
- </AccordionItemButton>
471
- </AccordionItemHeading>
472
- <AccordionItemPanel className="p-0">
473
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
474
- <div class="col-lg-12 mb-3 allcentered">
475
- <p
476
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
477
- style={{ textDecoration: 'underline' }}
478
- onClick={() => {
479
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'categories/' + categoryItem.categoryid);
480
- }}
481
- >
482
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
483
- {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
484
- </p>
485
- </div>
486
- {instcategories[categoryIndex]?.parentcolletions.map((parentcollectionitem, parentcollectionindex) => {
487
- if (parentcollectionitem.isinftiler == 1) {
488
- return (
489
- <div class="col-lg-12">
490
- {sectionproperties.expandall == 'Yes' && (
491
- <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]}>
492
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
493
- </Accordion>
494
- )}
495
- {sectionproperties.expandall == 'No' && (
496
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
497
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
498
- </Accordion>
499
- )}
500
- </div>
501
- );
502
- }
503
- })}
504
- </div>
505
- </AccordionItemPanel>
506
- </AccordionItem>
507
- );
508
- };
509
- const CategoriesFilter = () => {
510
- return (
511
- <div class="col-lg-12 p-0">
512
- {instcategories?.map((categoryItem, categoryIndex) => {
513
- if (categoryItem.isinftiler == 1) {
514
- return (
515
- <div class="col-lg-12 p-0">
516
- {sectionproperties.expandall == 'Yes' && (
517
- <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]}>
518
- {AccordionOuter(categoryItem, categoryIndex)}
519
- </Accordion>
520
- )}
521
- {sectionproperties.expandall == 'No' && (
522
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
523
- {AccordionOuter(categoryItem, categoryIndex)}
524
- </Accordion>
525
- )}
526
- </div>
527
- );
528
- }
529
- })}
530
- </div>
531
- );
532
- };
533
- const CollectionsFilter = () => {
534
- return (
535
- <div class="col-lg-12 p-0">
536
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
537
- <AccordionItem uuid={0}>
538
- <AccordionItemHeading>
539
- <AccordionItemButton>
540
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
541
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
542
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
543
- {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
544
- </p>
545
- </div>
546
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
547
- <AccordionItemState>
548
- {(state) => {
549
- if (state.expanded == true) {
550
- return (
551
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
552
- <FiChevronUp />
553
- </i>
554
- );
555
- } else {
556
- return (
557
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
558
- <FiChevronDown />
559
- </i>
560
- );
561
- }
562
- }}
563
- </AccordionItemState>
564
- </div>
565
- </div>
566
- </AccordionItemButton>
567
- </AccordionItemHeading>
568
- <AccordionItemPanel className="p-0">
569
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
570
- <div className={'col-lg-12'}>
571
- <div
572
- className={
573
- langdetect == 'en'
574
- ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
575
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
576
- }
577
- >
578
- {collectionstobevisible.map((item, index) => {
579
- return (
580
- <div
581
- className={
582
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
583
- ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
584
- ` + ' d-flex align-items-start pb-3 '
585
- }
586
- onClick={() => {
587
- setCollectionFilterFunc(item.collectionid);
588
- }}
589
- >
590
- <div
591
- className={
592
- ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
593
- ' mb-2 d-flex align-items-center '
594
- }
595
- >
596
- <i className="h-100 d-flex align-items-center"></i>
597
- </div>
598
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
599
- <p
600
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
601
- style={{
602
- color: item.isfilterselected ? sectionproperties.activecat_color : '',
603
- }}
604
- >
605
- {langdetect == 'en' ? item.title_en : item.title_ar}
606
- </p>
607
- </div>
608
- </div>
609
- );
610
- })}
611
- </div>
612
- {sectionproperties.showshowallbtn == 'Show' && (
613
- <div class="col-lg-12 allcentered">
614
- <div class={filter_cssstyles.showallbtn} style={{}}>
615
- <p
616
- class="m-0 p-0"
617
- onClick={() => {
618
- setcollectionstobevisible(instcollections);
619
- }}
620
- // style={{ cursor: 'pointer' }}
621
- >
622
- {langdetect == 'en' ? sectionproperties.showalltexten : sectionproperties.showalltextar}
623
- </p>
624
- </div>
625
- </div>
626
- )}
627
- </div>
628
- </div>
629
- </AccordionItemPanel>
630
- </AccordionItem>
631
- {/* <hr className="mt-3 mb-3" /> */}
632
- </Accordion>
633
- </div>
634
- );
635
- };
636
- const DynamicFilter = () => {
637
- return (
638
- <div class="row m-0 w-100">
639
- <div class="col-lg-12 p-0 mb-3">
640
- {fetchProductFeaturesQueryContext?.isSuccess && (
641
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3 w-100">
642
- {fetchProductFeaturesQueryContext?.data?.data?.productfeatues?.map(function (item, index) {
643
- // if (item.type == 'Selectbox') {
644
- // var selectboxarr = [];
645
- // item?.featuresselectbovalue?.forEach(function (slecitem) {
646
- // var itemlabel = '';
647
- // if (langdetect == 'en') {
648
- // itemlabel = slecitem.value_en;
649
- // } else {
650
- // itemlabel = slecitem.value_ar;
651
- // }
652
- // selectboxarr.push({ label: itemlabel, value: slecitem.value_en });
653
- // });
654
- // return (
655
- // <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
656
- // <label
657
- // className={' mb-3 w-100 '}
658
- // style={{
659
- // textAlign: langdetect == 'en' ? 'left' : 'right',
660
- // color: sectionproperties.filtertitle_color,
661
- // color: sectionproperties.filtertitle_color,
662
- // fontSize: sectionproperties.filtertitle_fontsize + 'px',
663
- // fontWeight: sectionproperties.filtertitle_fontweight,
664
- // color: sectionproperties.filtertitle_color,
665
- // textTransform: 'capitalize',
666
- // }}
667
- // >
668
- // {langdetect == 'en' ? item.name_en : item.name_ar}
669
- // </label>
670
- // <div class={'col-lg-12 p-0'}>
671
- // <Select
672
- // options={selectboxarr}
673
- // styles={langdetect == 'en' ? selectcustomStyles : selectcustomStylesTranslated}
674
- // placeholder={''}
675
- // onChange={(e) => {
676
- // var isattrexists = false;
677
- // var tempproductfeatuesarr = [...productfeatuesarr];
678
- // tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
679
- // if (attritem.id == item.id) {
680
- // tempproductfeatuesarr[attrindex].value = e.value;
681
- // isattrexists = true;
682
- // }
683
- // });
684
- // if (isattrexists == false) {
685
- // tempproductfeatuesarr.push({
686
- // id: item.id,
687
- // value: e.value,
688
- // });
689
- // }
690
- // setproductfeatuesarr([...tempproductfeatuesarr]);
691
- // }}
692
- // />
693
- // </div>
694
- // </div>
695
- // );
696
- // }
697
- if (item.type == 'Selectbox') {
698
- var selectboxarr = [];
699
- // item?.featuresselectbovalue?.forEach(function (slecitem) {
700
- // var itemlabel = '';
701
- // var itemlabelar = '';
702
- // if (langdetect == 'en') {
703
- // itemlabel = slecitem.value_en;
704
- // } else {
705
- // itemlabel = slecitem.value_ar;
706
- // }
707
- // selectboxarr.push({ label: itemlabel, value: slecitem.value_en });
708
- // });
709
- return (
710
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
711
- <AccordionItem uuid={index}>
712
- <AccordionItemHeading>
713
- <AccordionItemButton>
714
- <div className={filter_cssstyles.titlecontainer + ' row m-0 w-100 p-0 mb-2 pl-md-3 pr-md-3 '}>
715
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
716
- <p
717
- className={
718
- langdetect == 'en'
719
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
720
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
721
- }
722
- >
723
- {langdetect == 'en' ? item.name_en : item.name_ar}
724
- </p>
725
- </div>
726
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
727
- <AccordionItemState>
728
- {(state) => {
729
- if (state.expanded == true) {
730
- return (
731
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
732
- <FiChevronUp />
733
- </i>
734
- );
735
- } else {
736
- return (
737
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
738
- <FiChevronDown />
739
- </i>
740
- );
741
- }
742
- }}
743
- </AccordionItemState>
744
- </div>
745
- </div>
746
- </AccordionItemButton>
747
- </AccordionItemHeading>
748
- <AccordionItemPanel className="p-0">
749
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
750
- <div
751
- className={
752
- langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
753
- }
754
- >
755
- {item?.featuresselectbovalue?.map((slecitem, slecindex) => {
756
- return (
757
- <div
758
- className={
759
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
760
- ${slecitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
761
-
762
- ` + ' d-flex align-items-start pb-3 '
763
- }
764
- onClick={(e) => {
765
- var isattrexists = false;
766
- var tempproductfeatuesarr = [...productfeatuesarr];
767
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
768
- if (attritem.id == slecitem.id) {
769
- tempproductfeatuesarr[attrindex].value = slecitem.value_en;
770
- isattrexists = true;
771
- }
772
- });
773
- if (isattrexists == false) {
774
- tempproductfeatuesarr.push({
775
- id: slecitem.id,
776
- value: slecitem.value_en,
777
- });
778
- }
779
- setproductfeatuesarr([...tempproductfeatuesarr]);
780
-
781
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
782
- }}
783
- >
784
- <div>
785
- <div
786
- className={
787
- ` ${slecitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
788
- filter_cssstyles.btn_item
789
- }` + ' mb-2 d-flex align-items-center '
790
- }
791
- >
792
- <i className="h-100 d-flex align-items-center"></i>
793
- </div>
794
- </div>
795
-
796
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
797
- <p
798
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
799
- style={{
800
- color: slecitem.isfilterselected ? sectionproperties.activecat_color : '',
801
- }}
802
- >
803
- {langdetect == 'en' ? slecitem.value_en : slecitem.value_ar}
804
- </p>
805
- </div>
806
- </div>
807
- );
808
- })}
809
- </div>
810
- </div>
811
- </AccordionItemPanel>
812
- </AccordionItem>
813
- </Accordion>
814
- // <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
815
- // <label
816
- // className={' mb-3 w-100 '}
817
- // style={{
818
- // textAlign: langdetect == 'en' ? 'left' : 'right',
819
- // color: sectionproperties.filtertitle_color,
820
- // color: sectionproperties.filtertitle_color,
821
- // fontSize: sectionproperties.filtertitle_fontsize + 'px',
822
- // fontWeight: sectionproperties.filtertitle_fontweight,
823
- // color: sectionproperties.filtertitle_color,
824
- // textTransform: 'capitalize',
825
- // }}
826
- // >
827
- // {langdetect == 'en' ? item.name_en : item.name_ar}
828
- // </label>
829
- // <div class={'col-lg-12 p-0'}>
830
- // <Select
831
- // options={selectboxarr}
832
- // styles={langdetect == 'en' ? selectcustomStyles : selectcustomStylesTranslated}
833
- // placeholder={''}
834
- // onChange={(e) => {
835
- // var isattrexists = false;
836
- // var tempproductfeatuesarr = [...productfeatuesarr];
837
- // tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
838
- // if (attritem.id == item.id) {
839
- // tempproductfeatuesarr[attrindex].value = e.value;
840
- // isattrexists = true;
841
- // }
842
- // });
843
- // if (isattrexists == false) {
844
- // tempproductfeatuesarr.push({
845
- // id: item.id,
846
- // value: e.value,
847
- // });
848
- // }
849
- // setproductfeatuesarr([...tempproductfeatuesarr]);
850
- // }}
851
- // />
852
- // </div>
853
- // </div>
854
- );
855
- }
856
- // up here
857
- if (item.type == 'Number') {
858
- return (
859
- <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
860
- <label
861
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100 '}
862
- style={{
863
- textAlign: langdetect == 'en' ? 'left' : 'right',
864
- color: sectionproperties.filtertitle_color,
865
- color: sectionproperties.filtertitle_color,
866
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
867
- fontWeight: sectionproperties.filtertitle_fontweight,
868
- color: sectionproperties.filtertitle_color,
869
- textTransform: 'capitalize',
870
- }}
871
- >
872
- {langdetect == 'en' ? item.name_en : item.name_ar}
873
- </label>
874
- <div class={'col-lg-12 p-0'}>
875
- <input
876
- type="number"
877
- className={`${formstyles.form_control} ${filter_cssstyles.form_control}`}
878
- placeholder={''}
879
- onChange={(e) => {
880
- var isattrexists = false;
881
- var tempproductfeatuesarr = [...productfeatuesarr];
882
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
883
- if (attritem.id == item.id) {
884
- tempproductfeatuesarr[attrindex].value = e.target.value;
885
- isattrexists = true;
886
- }
887
- });
888
- if (isattrexists == false) {
889
- tempproductfeatuesarr.push({
890
- id: item.id,
891
- value: e.target.value,
892
- });
893
- }
894
- setproductfeatuesarr([...tempproductfeatuesarr]);
895
- }}
896
- />
897
- </div>
898
- </div>
899
- );
900
- }
901
- if (item.type == 'NumberRange') {
902
- var temppricevalue = { min: 0, max: 10000 };
903
- var tempproductfeatuesarr = [...productfeatuesarr];
904
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
905
- if (attritem.id == item.id) {
906
- if (attritem.value != undefined && attritem.value != null && attritem?.value?.length != 0) {
907
- temppricevalue.min = attritem.value;
908
- }
909
- if (attritem.valuemax != undefined && attritem.valuemax != null && attritem?.valuemax?.length != 0) {
910
- temppricevalue.max = attritem.valuemax;
911
- }
912
- }
913
- });
914
- return (
915
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 '}>
916
- <label
917
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
918
- style={{
919
- textAlign: langdetect == 'en' ? 'left' : 'right',
920
- color: sectionproperties.filtertitle_color,
921
- color: sectionproperties.filtertitle_color,
922
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
923
- fontWeight: sectionproperties.filtertitle_fontweight,
924
- color: sectionproperties.filtertitle_color,
925
- textTransform: 'capitalize',
926
- }}
927
- >
928
- {langdetect == 'en' ? item.name_en : item.name_ar}
929
- {item.type}
930
- </label>
931
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
932
- <InputRange
933
- draggableTrack={true}
934
- formatLabel={(value) => `${value}`}
935
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
936
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
937
- value={temppricevalue}
938
- onChange={(e) => {
939
- // setpricevalue({ ...value });
940
- var isattrexists = false;
941
- var tempproductfeatuesarr = [...productfeatuesarr];
942
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
943
- if (attritem.id == item.id) {
944
- tempproductfeatuesarr[attrindex].value = e.min;
945
- tempproductfeatuesarr[attrindex].valuemax = e.max;
946
- isattrexists = true;
947
- }
948
- });
949
- if (isattrexists == false) {
950
- tempproductfeatuesarr.push({
951
- id: item.id,
952
- value: e.min,
953
- valuemax: e.max,
954
- });
955
- }
956
- setproductfeatuesarr([...tempproductfeatuesarr]);
957
- }}
958
- />
959
- </div>
960
- </div>
961
- );
962
- }
963
- })}
964
- {/* {sectionproperties.showpricerange == 'Show' && (
965
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 p-0 '}>
966
- <label
967
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
968
- style={{
969
- textAlign: langdetect == 'en' ? 'left' : 'right',
970
- color: sectionproperties.filtertitle_color,
971
- color: sectionproperties.filtertitle_color,
972
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
973
- fontWeight: sectionproperties.filtertitle_fontweight,
974
- color: sectionproperties.filtertitle_color,
975
- textTransform: 'capitalize',
976
- }}
977
- >
978
- {langdetect == 'en' ? 'Price' : 'السعر'}
979
- {item.type}
980
- </label>
981
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
982
- <InputRange
983
- draggableTrack={true}
984
- formatLabel={(value) => `${value}`}
985
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
986
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
987
- value={temppricevalue}
988
- onChange={(e) => {
989
- // setpricevalue({ ...value });
990
- var isattrexists = false;
991
- var tempproductfeatuesarr = [...productfeatuesarr];
992
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
993
- if (attritem.id == item.id) {
994
- tempproductfeatuesarr[attrindex].value = e.min;
995
- tempproductfeatuesarr[attrindex].valuemax = e.max;
996
- isattrexists = true;
997
- }
998
- });
999
- if (isattrexists == false) {
1000
- tempproductfeatuesarr.push({
1001
- id: item.id,
1002
- value: e.min,
1003
- valuemax: e.max,
1004
- });
1005
- }
1006
- setproductfeatuesarr([...tempproductfeatuesarr]);
1007
- }}
1008
- />
1009
- </div>
1010
- </div>
1011
- )} */}
1012
- </div>
1013
- )}
1014
- </div>
1015
- </div>
1016
- );
1017
- };
1018
- const InstFilters = () => {
1019
- return (
1020
- // <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1021
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
1022
- {instfilters.map((item, index) => {
1023
- return (
1024
- <>
1025
- <AccordionItem uuid={index}>
1026
- <AccordionItemHeading>
1027
- <AccordionItemButton>
1028
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 mb-4 '}>
1029
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1030
- <p
1031
- className={
1032
- langdetect == 'en'
1033
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
1034
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1035
- }
1036
- >
1037
- {langdetect == 'en' ? item.optionname : item.optionname_ar}
1038
- </p>
1039
- </div>
1040
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1041
- <AccordionItemState>
1042
- {(state) => {
1043
- if (state.expanded == true) {
1044
- return (
1045
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
1046
- <FiChevronUp />
1047
- </i>
1048
- );
1049
- } else {
1050
- return (
1051
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
1052
- <FiChevronDown />
1053
- </i>
1054
- );
1055
- }
1056
- }}
1057
- </AccordionItemState>
1058
- </div>
1059
- </div>
1060
- </AccordionItemButton>
1061
- </AccordionItemHeading>
1062
- <AccordionItemPanel className="p-0">
1063
- {/* <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
1064
- <div className={'col-lg-12'}>
1065
- <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
1066
- {item.productvaluesfilter.map((valueitem, valueindex) => {
1067
- return (
1068
- <div
1069
- className={
1070
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1071
- ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1072
-
1073
- ` + ' d-flex align-items-start pb-3 '
1074
- }
1075
- onClick={() => {
1076
- setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1077
- }}
1078
- >
1079
- <div>
1080
- <div
1081
- className={
1082
- ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
1083
- ' mb-2 d-flex align-items-center '
1084
- }
1085
- >
1086
- <i className="h-100 d-flex align-items-center"></i>
1087
- </div>
1088
- </div>
1089
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1090
- <p
1091
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1092
- style={{
1093
- color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
1094
- }}
1095
- >
1096
- {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
1097
- </p>
1098
- </div>
1099
- </div>
1100
- );
1101
- })}
1102
- </div>
1103
- </div>
1104
- </div> */}
1105
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
1106
- <ul class="thwvsf-wrapper-ul">
1107
- <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
1108
- <ul class=" d-flex list-none flex-row flex-wrap overflow-auto px-6 pb-5 pt-2 lg:px-0">
1109
- {item.productvaluesfilter.map((valueitem, valueindex) => {
1110
- return (
1111
- <li
1112
- className={
1113
- // `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1114
- // ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1115
- // ` +
1116
- item.optionname != 'Color'
1117
- ? `${filter_cssstyles.filteroptionvertical} ${
1118
- valueitem.isfilterselected ? `${filter_cssstyles.filteroptionverticalactive} ` : ''
1119
- }` + ' mx-3 mb-3 cursor-pointer allcentered '
1120
- : ' mx-3 mb-3 cursor-pointer allcentered '
1121
- }
1122
- onClick={() => {
1123
- setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1124
- }}
1125
- style={
1126
- {
1127
- // border: sectionproperties.filter_optionborderwidth + 'px solid ' + sectionproperties.filter_optionbordercolor,
1128
- // width: item.optionname == 'Color' ? 'auto' : '',
1129
- // height: item.optionname == 'Color' ? 'auto' : '',
1130
- // borderWidth: item.optionname == 'Color' ? 0 : '',
1131
- }
1132
- }
1133
- >
1134
- {item.optionname == 'Color' && (
1135
- <div className={'mx-3'}>
1136
- <div class="row m-0 w-100">
1137
- <div class="col-lg-12 p-0 allcentered mb-3">
1138
- {valueitem.isfilterselected && (
1139
- <div
1140
- class="allcentered"
1141
- style={{
1142
- width: 40,
1143
- height: 40,
1144
- border: '2px solid ' + valueitem.valuename,
1145
- borderRadius: 100,
1146
- }}
1147
- >
1148
- <div
1149
- style={{
1150
- width: 28,
1151
- height: 28,
1152
- background: valueitem.valuename,
1153
- borderRadius: 100,
1154
- }}
1155
- ></div>
1156
- </div>
1157
- )}
1158
- {!valueitem.isfilterselected && (
1159
- <div
1160
- style={{
1161
- width: 28,
1162
- height: 28,
1163
- background: valueitem.valuename,
1164
- borderRadius: 100,
1165
- }}
1166
- ></div>
1167
- )}
1168
- </div>
1169
- <div class="col-lg-12 p-0 allcentered">
1170
- <p className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '} style={{}}>
1171
- {valueitem.value_identifier}
1172
- </p>
1173
- </div>
1174
- </div>
1175
- </div>
1176
- )}
1177
- {item.optionname != 'Color' && (
1178
- <p
1179
- className={' m-0 p-0 '}
1180
- style={{
1181
- color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
1182
- }}
1183
- >
1184
- {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
1185
- </p>
1186
- )}
1187
- </li>
1188
- );
1189
- })}
1190
- </ul>
1191
- </div>
1192
- </ul>
1193
- </div>
1194
- </AccordionItemPanel>
1195
- </AccordionItem>
1196
- {/* <hr className="mt-3 mb-3" /> */}
1197
- </>
1198
- );
1199
- })}
1200
- </Accordion>
1201
- );
1202
- };
1203
- const filter_cssstyles = {
1204
- form_control: css({
1205
- position: 'relative',
1206
- display: 'flex',
1207
- alignItems: 'center',
1208
- display: 'block',
1209
- width: '100%',
1210
- padding: '0 30px',
1211
- transition: '.3s',
1212
- fontWeight: 500,
1213
- border: '1px solid #ccc',
1214
- // border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
1215
- // borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
1216
- // borderRadius: sectionproperties.inputfieldborderradius + 'px',
1217
- borderRadius: '5px',
1218
- // height: sectionproperties.inputfieldheight + 'px',
1219
- height: '40px',
1220
- background: 'transparent',
1221
- // color: sectionproperties.inputfieldcolor,
1222
- color: '#000',
1223
- // fontSize: sectionproperties.inputfieldfontsize + 'px',
1224
- fontSize: '14px',
1225
- ':focus': {
1226
- // borderColor: sectionproperties.inputfeildbordercoloronfocus,
1227
- borderColor: '#eac435',
1228
- boxShadow: 'none',
1229
- },
1230
- }),
1231
- collapsetitle: css({
1232
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
1233
- fontWeight: sectionproperties.filtertitle_fontweight,
1234
- textTransform: sectionproperties.filtertitle_texttransform,
1235
- color: sectionproperties.filtertitle_color,
1236
- ':hover': {
1237
- color: sectionproperties.filtertitle_coloronhover,
1238
- },
1239
- }),
1240
- titlecontainer: css({
1241
- color: sectionproperties.filtertitle_color,
1242
- ':hover .collapsetitle': {
1243
- color: sectionproperties.filtertitle_coloronhover,
1244
- },
1245
- }),
1246
- timeline_text: css({
1247
- fontSize: sectionproperties.timeline_text_fontsize + 'px',
1248
- fontWeight: sectionproperties.timeline_text_fontweight,
1249
- textTransform: sectionproperties.timeline_text_texttransform,
1250
- color: sectionproperties.timeline_text_color,
1251
- transition: '.3s',
1252
- ':hover': {
1253
- color: sectionproperties.timeline_text_coloronhover,
1254
- },
1255
- }),
1256
- btnstyles: css({
1257
- color: sectionproperties.generalbtn_textColor,
1258
- fontSize: sectionproperties.generalbtn_fontsize + 'px',
1259
- textTransform: sectionproperties.generalbtn_texttransform,
1260
- width: sectionproperties.generalbtn_width + 'px',
1261
- height: sectionproperties.generalbtn_height + 'px',
1262
- background: sectionproperties.generalbtn_bgColor,
1263
- borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
1264
- borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
1265
- borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
1266
- borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
1267
- fontWeight: sectionproperties.generalbtn_fontweight,
1268
- transition: '.3s',
1269
- ':hover': {
1270
- background: sectionproperties.generalbtn_bgColoronhover,
1271
- color: sectionproperties.generalbtn_textColoronhover,
1272
- },
1273
- }),
1274
- close_menu_icon_cont: css({
1275
- background: sectionproperties.closeSliderBgColor,
1276
- width: sectionproperties.closeSliderWidth + 'px',
1277
- height: sectionproperties.closeSliderHeight + 'px',
1278
- borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
1279
- ':hover': {
1280
- background: sectionproperties.closeSliderBgColorHover,
1281
- },
1282
- }),
1283
- horizontalfilter_card: css({
1284
- marginBottom: sectionproperties.horizontalfilter_mb + 'px',
1285
- marginTop: sectionproperties.horizontalfilter_mt + 'px',
1286
- background: sectionproperties.horizontalfilter_cardbg,
1287
- border: sectionproperties.horizontalfilter_cardborderwidth + 'px solid ' + sectionproperties.horizontalfilter_cardbordercolor,
1288
- boxShadow: sectionproperties.horizontalfilter_cardboxShadow == 'Show' ? sectionproperties.horizontalfilter_cardboxShadowcolor : 'horizontalfilter_cardboxShadow',
1289
- }),
1290
- btn_item: css({
1291
- width: '20px',
1292
- height: '20px',
1293
- background: sectionproperties.filteritembtn_bgcolor,
1294
- ':hover': {
1295
- background: sectionproperties.filteritembtn_bghover,
1296
- },
1297
- }),
1298
- btn_item_active: css({
1299
- background: sectionproperties.btn_item_activebgcolor,
1300
- }),
1301
- timelineinnercont_active: css({
1302
- fontWeight: sectionproperties.activecat_fontweight,
1303
- color: sectionproperties.activecat_color,
1304
- }),
1305
- categoryName: css({
1306
- color: sectionproperties.filtertitle_color,
1307
- fontWeight: sectionproperties.filterCatFontWeight,
1308
- fontSize: sectionproperties.filterCatFontSize + 'px',
1309
- }),
1310
- pCollectionName: css({
1311
- color: sectionproperties.filtertitle_color,
1312
- fontWeight: sectionproperties.filterPCollFontWeight,
1313
- fontSize: sectionproperties.filterPCollFontSize + 'px',
1314
- }),
1315
- explorebtn: css({
1316
- fontSize: sectionproperties.explorebtnfontsize + 'px',
1317
- fontWeight: 600,
1318
- color: sectionproperties.explorebtncolor,
1319
- transition: '.3s',
1320
- ':hover': {
1321
- color: sectionproperties.explorebtncoloronhover,
1322
- },
1323
- }),
1324
- showallbtn: css({
1325
- color: sectionproperties.showallcolor,
1326
- ':hover': {
1327
- transition: '.3s',
1328
- cursor: 'pointer',
1329
- color: sectionproperties.showallcolorhover,
1330
- },
1331
- }),
1332
- sectiontitle: css({
1333
- position: 'relative',
1334
- justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1335
- width: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '100%' : '',
1336
- fontSize: sectionproperties.sectionTitleFontSize + 'px',
1337
- '@media (max-width: 800px)': {
1338
- fontSize: sectionproperties.sectionTitleFontSizeresp + 'px',
1339
- },
1340
- }),
1341
- filtercard: css({
1342
- minWidth: sectionproperties.filtercardwidth + 'px',
1343
- maxWidth: sectionproperties.filtercardwidth + 'px',
1344
- }),
1345
- filteroptionvertical: css({
1346
- border: sectionproperties.filter_optionborderwidth + 'px solid ' + sectionproperties.filter_optionbordercolor,
1347
- color: sectionproperties.timeline_text_color,
1348
- ':hover': {
1349
- color: sectionproperties.timeline_text_coloronhover,
1350
- },
1351
- // filter_activebackgroundtransparent
1352
- }),
1353
- filteroptionverticalactive: css({
1354
- background: sectionproperties.btn_item_activebgcolor,
1355
- color: sectionproperties.activecat_color,
1356
- }),
1357
- };
1358
- const filterrouting = (tempfetchproductsfilerobjcontext) => {
1359
- const path = window.location.pathname.split('/');
1360
- var currentpagepath = path[1];
1361
- var pagenamepathinstaticpagelinkcont = '';
1362
- for (const key in StaticPagesLinksContext) {
1363
- if (StaticPagesLinksContext[key] == currentpagepath) {
1364
- pagenamepathinstaticpagelinkcont = key;
1365
- }
1366
- }
1367
- if (pagenamepathinstaticpagelinkcont != undefined && pagenamepathinstaticpagelinkcont != '') {
1368
- routingcountext(StaticPagesLinksContext[pagenamepathinstaticpagelinkcont], true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
1369
- }
1370
- };
1371
- const Countriesfilter = () => {
1372
- return (
1373
- <div class="row m-0 w-100 pl-md-3 pr-md-3">
1374
- <div class="col-lg-12 p-0 mt-3">
1375
- <div class="row m-0 w-100">
1376
- <div class="col-lg-12 p-0 mb-3">
1377
- {fetchTabexCountriesQueryContext?.isFetching && (
1378
- <div className="w-100 allcentered mt-1">
1379
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1380
- </div>
1381
- )}
1382
-
1383
- {!fetchTabexCountriesQueryContext?.isFetching && fetchTabexCountriesQueryContext?.isSuccess && (
1384
- <Select
1385
- options={fetchTabexCountriesQueryContext?.data?.data?.countries}
1386
- getOptionLabel={(option) => {
1387
- var crname = '';
1388
- if (langdetect == 'en') {
1389
- crname = option.name;
1390
- } else if (langdetect == 'ar') {
1391
- if (option.name_ar != null) {
1392
- crname = option.name_ar;
1393
- } else {
1394
- crname = option.name;
1395
- }
1396
- }
1397
- return crname;
1398
- }}
1399
- getOptionValue={(option) => option.id}
1400
- value={fetchTabexCountriesQueryContext.data.data.countries.filter((option) => option.id == ProductFilterObjContext.countryid)}
1401
- onChange={(option) => {
1402
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1403
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
1404
- tempFetchTabexStatesPayloadobjContext.country_id = option.id;
1405
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1406
-
1407
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1408
- tempfetchproductsfilerobjcontext.countryid = option.id;
1409
- tempfetchproductsfilerobjcontext.page = 0;
1410
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1411
- filterrouting(tempfetchproductsfilerobjcontext);
1412
- }}
1413
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1414
- placeholder={lang.choosecountry}
1415
- isSearchable={true}
1416
- />
1417
- )}
1418
- </div>
1419
- <div class="col-lg-12 mb-3 p-0">
1420
- {fetchTabexStatesQueryContext?.isFetching && (
1421
- <div className="w-100 allcentered mt-1">
1422
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1423
- </div>
1424
- )}
1425
-
1426
- {!fetchTabexStatesQueryContext?.isFetching && fetchTabexStatesQueryContext?.isSuccess && (
1427
- <Select
1428
- options={fetchTabexStatesQueryContext?.data?.data?.states}
1429
- getOptionLabel={(option) => {
1430
- var crname = '';
1431
- if (langdetect == 'en') {
1432
- crname = option.name;
1433
- } else if (langdetect == 'ar') {
1434
- if (option.name_ar != null) {
1435
- crname = option.name_ar;
1436
- } else {
1437
- crname = option.name;
1438
- }
1439
- }
1440
- return crname;
1441
- }}
1442
- getOptionValue={(option) => option.id}
1443
- value={fetchTabexStatesQueryContext?.data?.data?.states.filter((option) => option.id == ProductFilterObjContext.stateid)}
1444
- onChange={(option) => {
1445
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1446
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
1447
- tempFetchTabexStatesPayloadobjContext.state_id = option.id;
1448
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1449
-
1450
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1451
- tempfetchproductsfilerobjcontext.stateid = option.id;
1452
- tempfetchproductsfilerobjcontext.page = 0;
1453
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1454
- filterrouting(tempfetchproductsfilerobjcontext);
1455
- }}
1456
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1457
- placeholder={lang.choosestategov}
1458
- isSearchable={true}
1459
- />
1460
- )}
1461
- </div>
1462
- <div class="col-lg-12 mb-3 p-0">
1463
- {fetchTabexCitiesQueryContext?.isFetching && (
1464
- <div className="w-100 allcentered mt-1">
1465
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1466
- </div>
1467
- )}
1468
-
1469
- {!fetchTabexCitiesQueryContext?.isFetching && fetchTabexCitiesQueryContext?.isSuccess && (
1470
- <Select
1471
- options={fetchTabexCitiesQueryContext?.data?.data?.cities}
1472
- getOptionLabel={(option) => {
1473
- var crname = '';
1474
- if (langdetect == 'en') {
1475
- crname = option.name;
1476
- } else if (langdetect == 'ar') {
1477
- if (option.name_ar != null) {
1478
- crname = option.name_ar;
1479
- } else {
1480
- crname = option.name;
1481
- }
1482
- }
1483
- return crname;
1484
- }}
1485
- getOptionValue={(option) => option.id}
1486
- value={fetchTabexCitiesQueryContext?.data?.data?.cities.filter((option) => option.id == ProductFilterObjContext.cityid)}
1487
- onChange={(option) => {
1488
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1489
- tempfetchproductsfilerobjcontext.cityid = option.id;
1490
- tempfetchproductsfilerobjcontext.page = 0;
1491
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1492
- filterrouting(tempfetchproductsfilerobjcontext);
1493
- }}
1494
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1495
- placeholder={lang.choosecity}
1496
- isSearchable={true}
1497
- />
1498
- )}
1499
- </div>
1500
- </div>
1501
- </div>
1502
- </div>
1503
- );
1504
- };
1505
- const [checked, setChecked] = useState(false);
1506
- // const queryParameters = new URLSearchParams(window.location.search);
1507
- // useEffect(() => {
1508
- // // setsortbycontext('Sort By');
1509
- // if (queryParameters.get('sortprice') == undefined) {
1510
- // setsortbycontext('Sort By');
1511
- // } else {
1512
- // var temp = { ...sortbycontext };
1513
- // temp = queryParameters.get('sortprice');
1514
- // alert(temp);
1515
- // }
1516
- // }, []);
1517
- return (
1518
- <div
1519
- // 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'}
1520
- className={'row m-0 p-0 w-100'}
1521
- style={{ marginTop: sectionproperties.filtersection_mt + 'px', minHeight: sectionproperties.filterminheight == 0 ? 'auto' : sectionproperties.filterminheight + 'vh' }}
1522
- >
1523
- {props.typeprops != 'vertical' && (
1524
- <div 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'}>
1525
- {sectionproperties.filterType == 'Title & Sort By Only' && (
1526
- <div
1527
- class="row mx-0 w-100"
1528
- style={{
1529
- marginTop: sectionproperties.sectionTitleMarginTop + 'px',
1530
- marginBottom: sectionproperties.sectiontitledirection == 'Vertical' ? sectionproperties.sectionTitleMarginBottom + 'px' : 0,
1531
- paddingLeft: langdetect == 'en' ? sectionproperties.sectionTitleMarginLeft + 'px' : sectionproperties.sectionTitleMarginRight + 'px',
1532
- paddingRight: langdetect == 'en' ? sectionproperties.sectionTitleMarginRight + 'px' : sectionproperties.sectionTitleMarginLeft + 'px',
1533
- }}
1534
- >
1535
- <div class="col-lg-6 col-md-6 p-0 d-flex align-items-center justify-content-start">
1536
- <div class={filter_cssstyles.sectiontitle + ' d-flex align-items-center flex-row '} style={{}}>
1537
- <p
1538
- class={
1539
- sectionproperties.sectiontitlefontfamily == 'Pacifico'
1540
- ? ' PacificoFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1541
- : sectionproperties.sectiontitlefontfamily == 'Playfair'
1542
- ? ' PlayfairFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1543
- : sectionproperties.sectiontitlefontfamily == 'Great Vibes'
1544
- ? ' GreatvibesFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1545
- : sectionproperties.sectiontitlefontfamily == 'Quicksand'
1546
- ? ' QuicksandFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1547
- : sectionproperties.sectiontitlefontfamily == 'Satisfy'
1548
- ? ' SatisfyFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1549
- : sectionproperties.sectiontitlefontfamily == 'ASUL'
1550
- ? ' ASUL mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1551
- : ' mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
1552
- }
1553
- style={{
1554
- color: sectionproperties.sectionTitleColor,
1555
- fontWeight: sectionproperties.sectionTitleFontWeight,
1556
- paddingLeft: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
1557
- paddingRight: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
1558
- textAlign: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1559
- }}
1560
- >
1561
- {langdetect == 'en' ? sectionproperties.sectionTitleContent : sectionproperties.sectionTitleContent_ar}
1562
- </p>
1563
- </div>
1564
- </div>
1565
- <div
1566
- class="col-lg-6 col-md-6 d-flex align-items-center justify-content-end"
1567
- style={{
1568
- paddingRight: langdetect == 'en' ? 0 : '',
1569
- paddingLeft: langdetect == 'ar' ? 0 : '',
1570
- }}
1571
- >
1572
- <div class="dropdowncontainer">
1573
- <input class={filter_cssstyles.dropdown + ' dropdown '} type="checkbox" checked={checked} id="dropdown" name="dropdown" hidden />
1574
- <label
1575
- onClick={() => {
1576
- setChecked(!checked);
1577
- }}
1578
- className={filter_cssstyles.collapsetitle + ' d-flex justify-content-end align-items-center for-dropdown m-0 '}
1579
- for="dropdown"
1580
- style={{ cursor: 'pointer' }}
1581
- >
1582
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}{' '}
1583
- <i class={langdetect == 'en' ? 'h-100 allcentered ml-3' : 'h-100 allcentered mr-3'}>
1584
- <FiChevronDown size={20} />
1585
- </i>
1586
- </label>
1587
-
1588
- <div
1589
- class="dropdownmenu"
1590
- style={{
1591
- background: sectionproperties.filter_backgroundcolor,
1592
- }}
1593
- >
1594
- {otherfilters.map((item, index) => {
1595
- return (
1596
- <div class="w-100">
1597
- {item.filterarray.map((valueitem, valueindex) => {
1598
- var ischecked = false;
1599
- if (item.payloadvalue == 'sortprice') {
1600
- if (valueitem.value == ProductFilterObjContext.sortprice) {
1601
- ischecked = true;
1602
- }
1603
- } else if (item.payloadvalue == 'sortdates') {
1604
- if (valueitem.value == ProductFilterObjContext.sortdates) {
1605
- ischecked = true;
1606
- }
1607
- }
1608
- return (
1609
- <p
1610
- class={filter_cssstyles.timeline_text + ' dropdownlink '}
1611
- style={{ color: ischecked ? sectionproperties.activecat_color : '' }}
1612
- onClick={() => {
1613
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1614
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1615
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1616
- } else {
1617
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1618
- }
1619
- tempfetchproductsfilerobjcontext.page = 0;
1620
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1621
-
1622
- filterrouting(tempfetchproductsfilerobjcontext);
1623
- setsortbycontext(valueitem.name);
1624
- }}
1625
- >
1626
- {valueitem.name}
1627
- </p>
1628
- );
1629
- })}
1630
- </div>
1631
- );
1632
- })}
1633
- </div>
1634
- </div>
1635
- </div>
1636
- </div>
1637
- )}
1638
- {sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Horizontal' && (
1639
- <div class="row m-0 w-100">
1640
- {/* <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-start mb-3">
1641
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
1642
- {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
1643
- </p>
1644
- </div> */}
1645
- <div class="col-lg-12 p-0 mb-4">
1646
- {/* filtercard */}
1647
- {/* here */}
1648
- <ScrollMenu transitionBehavior={'auto'} wrapperClassName={''} itemClassName={''} scrollContainerClassName={'filterscrollmenuclasssubscrollbar'}>
1649
- {collectionstobevisible.map((item, index) => {
1650
- return (
1651
- <div className={' col-xl-12 p-0 col-lg-12 col-md-12 col-sm-12 w-100'}>
1652
- <div
1653
- className={`${filter_cssstyles.timeline_text} ${filter_cssstyles.filtercard}` + ' p-0 cursor-pointer '}
1654
- onClick={() => {
1655
- setCollectionFilterFunc(item.collectionid);
1656
- }}
1657
- style={{
1658
- color: item.isfilterselected == true ? sectionproperties.activecat_color : '',
1659
- }}
1660
- >
1661
- <div class="col-lg-12 allcentered mb-2">
1662
- <div
1663
- style={{
1664
- width: sectionproperties.filterimagewidthheight + '%',
1665
- height: sectionproperties.filterimagewidthheight + '%',
1666
- }}
1667
- >
1668
- <Imagekitimagecomp
1669
- urlEndpoint={ikimagecredcontext?.ikimageendpoint}
1670
- publicKey={ikimagecredcontext?.ikimagepublickey}
1671
- path={'/tr:w-' + sectionproperties.filterimage_tr + ',h-' + sectionproperties.filterimage_h + '/' + item.collectionlogo}
1672
- style={{
1673
- width: '100%',
1674
- height: '100%',
1675
- objectFit: 'cover',
1676
- borderRadius: sectionproperties.filterimageborderradius + 'px',
1677
- }}
1678
- loading="lazy"
1679
- />
1680
- </div>
1681
- </div>
1682
- <div class="row m-0 w-100">
1683
- <div class="col-lg-10 text-start">
1684
- <p class={' m-0 p-0 '}>{langdetect == 'en' ? item.title_en : item.title_ar}</p>
1685
- </div>
1686
- <div class="col-lg-2 text-end">
1687
- <i class="h-100 allcentered">{langdetect == 'en' ? <BsChevronRight /> : <BsChevronRight />}</i>
1688
- </div>
1689
- </div>
1690
- </div>
1691
- </div>
1692
- );
1693
- })}
1694
- </ScrollMenu>
1695
- </div>
1696
- {sectionproperties.showproductgroupbytitle == 'Show' && (
1697
- <div
1698
- class="col-lg-12 text-start px-4 mb-5"
1699
- style={{
1700
- fontSize: 15,
1701
- color: '#62554a',
1702
- }}
1703
- >
1704
- <span
1705
- class="cursor-pointer"
1706
- onClick={() => {
1707
- routingcountext('home', false, '');
1708
- }}
1709
- >
1710
- {'Home'} /{' '}
1711
- </span>{' '}
1712
- <span style={{ textTransform: 'capitalize' }} class="mx-2">
1713
- {props.show_product_group_titles()['title_en']}
1714
- </span>
1715
- </div>
1716
- )}
1717
- </div>
1718
- )}
1719
- {sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Vertical' && (
1720
- <div
1721
- className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
1722
- id="filterslider"
1723
- style={{
1724
- background: sectionproperties.filter_backgroundcolor,
1725
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1726
- }}
1727
- >
1728
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
1729
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
1730
- <p
1731
- className="m-0 p-0 font-16 font-weight-600"
1732
- style={{
1733
- color: sectionproperties.filter_titlecolor,
1734
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1735
- fontWeight: sectionproperties.filter_titlefontweight,
1736
- textTransform: sectionproperties.filter_titletextransform,
1737
- }}
1738
- >
1739
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
1740
- </p>
1741
- </div>
1742
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
1743
- <div
1744
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1745
- onClick={() => {
1746
- var element = document.getElementById('filterslider');
1747
- element.classList.remove(filterstyles.filterslider_container_opened);
1748
- }}
1749
- >
1750
- <i className="h-100 d-flex align-items-center justify-content-center">
1751
- <IoMdClose
1752
- size={sectionproperties.closeSlider_fontSize}
1753
- style={{
1754
- color: sectionproperties.closeSlider_color,
1755
- }}
1756
- />
1757
- </i>
1758
- </div>
1759
- </div>
1760
- {sectionproperties.otherfilters == 'Show' && (
1761
- <div class="row m-0 w-100">
1762
- <div class="col-lg-12 d-flex justify-content-start">
1763
- <p
1764
- className="m-0 p-0 font-16 font-weight-600"
1765
- style={{
1766
- color: sectionproperties.filter_titlecolor,
1767
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1768
- fontWeight: sectionproperties.filter_titlefontweight,
1769
- textTransform: sectionproperties.filter_titletextransform,
1770
- }}
1771
- >
1772
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
1773
- </p>
1774
- </div>
1775
- <div className="col-lg-12">
1776
- <hr className="mt-2 mb-3" />
1777
- </div>
1778
- {otherfilters.map((item, index) => {
1779
- return (
1780
- <div className="col-lg-12 pl-4 pr-4">
1781
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
1782
- <AccordionItem uuid={index}>
1783
- <AccordionItemHeading>
1784
- <AccordionItemButton>
1785
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1786
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1787
- <p
1788
- className={
1789
- langdetect == 'en'
1790
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
1791
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1792
- }
1793
- >
1794
- {item.name}
1795
- </p>
1796
- </div>
1797
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1798
- <AccordionItemState>
1799
- {(state) => {
1800
- if (state.expanded == true) {
1801
- return (
1802
- <i
1803
- className={
1804
- filter_cssstyles.collapsetitle +
1805
- ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1806
- }
1807
- >
1808
- <FiChevronUp />
1809
- </i>
1810
- );
1811
- } else {
1812
- return (
1813
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1814
- <FiChevronDown />
1815
- </i>
1816
- );
1817
- }
1818
- }}
1819
- </AccordionItemState>
1820
- </div>
1821
- </div>
1822
- </AccordionItemButton>
1823
- </AccordionItemHeading>
1824
- <AccordionItemPanel className="p-0">
1825
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1826
- <div className={'col-lg-12'}>
1827
- <div
1828
- className={
1829
- langdetect == 'en'
1830
- ? `${filterstyles.timeline}` + ' p-sm-0 '
1831
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1832
- }
1833
- >
1834
- {item.filterarray.map((valueitem, valueindex) => {
1835
- var ischecked = false;
1836
- if (item.payloadvalue == 'sortprice') {
1837
- if (valueitem.value == ProductFilterObjContext.sortprice) {
1838
- ischecked = true;
1839
- }
1840
- } else if (item.payloadvalue == 'sortdates') {
1841
- if (valueitem.value == ProductFilterObjContext.sortdates) {
1842
- ischecked = true;
1843
- }
1844
- }
1845
- return (
1846
- <div
1847
- className={
1848
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1849
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1850
-
1851
- ` + ' d-flex align-items-start pb-3 '
1852
- }
1853
- onClick={() => {
1854
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1855
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1856
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1857
- } else {
1858
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1859
- }
1860
- tempfetchproductsfilerobjcontext.page = 0;
1861
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1862
-
1863
- filterrouting(tempfetchproductsfilerobjcontext);
1864
- }}
1865
- >
1866
- <div>
1867
- <div
1868
- className={
1869
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1870
- filter_cssstyles.btn_item
1871
- }` + ' mb-2 d-flex align-items-center '
1872
- }
1873
- >
1874
- <i className="h-100 d-flex align-items-center"></i>
1875
- </div>
1876
- </div>
1877
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1878
- <p
1879
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1880
- style={{
1881
- color: ischecked ? sectionproperties.activecat_color : '',
1882
- }}
1883
- >
1884
- {valueitem.name}
1885
- </p>
1886
- </div>
1887
- </div>
1888
- );
1889
- })}
1890
- </div>
1891
- </div>
1892
- </div>
1893
- </AccordionItemPanel>
1894
- </AccordionItem>
1895
- </Accordion>
1896
- </div>
1897
- );
1898
- })}
1899
- {sectionproperties.showfilterbyrating == 'Show' && (
1900
- <div className="col-lg-12 pl-4 pr-4">
1901
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1902
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
1903
- <p
1904
- className={
1905
- langdetect == 'en'
1906
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
1907
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1908
- }
1909
- >
1910
- {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
1911
- </p>
1912
- </div>
1913
- <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
1914
- <InputRange
1915
- draggableTrack={true}
1916
- formatLabel={(value) => `${value}`}
1917
- maxValue={5}
1918
- minValue={0}
1919
- value={raterangevalue}
1920
- onChange={(value) => {
1921
- setraterangevalue({ ...value });
1922
- }}
1923
- />
1924
- </div>
1925
- </div>
1926
- </div>
1927
- )}
1928
- </div>
1929
- )}
1930
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center d-md-none">
1931
- <p
1932
- className="m-0 p-0 font-16 font-weight-600"
1933
- style={{
1934
- color: sectionproperties.filter_titlecolor,
1935
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1936
- fontWeight: sectionproperties.filter_titlefontweight,
1937
- textTransform: sectionproperties.filter_titletextransform,
1938
- }}
1939
- >
1940
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
1941
- </p>
1942
- </div>
1943
- <div className="col-lg-3 col-md-3 col-sm-3 d-flex d-md-none align-items-center justify-content-end p-0">
1944
- <div
1945
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1946
- onClick={() => {
1947
- var element = document.getElementById('filterslider');
1948
- element.classList.remove(filterstyles.filterslider_container_opened);
1949
- }}
1950
- >
1951
- <i className="h-100 d-flex align-items-center justify-content-center">
1952
- <IoMdClose
1953
- size={sectionproperties.closeSlider_fontSize}
1954
- style={{
1955
- color: sectionproperties.closeSlider_color,
1956
- }}
1957
- />
1958
- </i>
1959
- </div>
1960
- </div>
1961
- <div className="col-lg-12">
1962
- <hr className="mt-2 mb-3" />
1963
- </div>
1964
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
1965
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
1966
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
1967
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
1968
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
1969
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
1970
- </div>
1971
- </div>
1972
- </div>
1973
- )}
1974
- <div className="col-lg-12">
1975
- <Offcanvas
1976
- show={props?.openFilterSlider}
1977
- onHide={() => {
1978
- props.setopenFilterSlider(false);
1979
- }}
1980
- placement="end"
1981
- scroll={true}
1982
- style={{
1983
- minWidth: '200px',
1984
- background: sectionproperties.filter_backgroundcolor,
1985
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1986
- }}
1987
- backdrop={true}
1988
- >
1989
- <Offcanvas.Header>
1990
- <Offcanvas.Title>
1991
- <div className="row m-0 w-100 mt-2">
1992
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
1993
- <p
1994
- className="m-0 p-0 font-16 font-weight-600"
1995
- style={{
1996
- color: sectionproperties.filter_titlecolor,
1997
- fontSize: sectionproperties.filter_titlefontsize + 'px',
1998
- fontWeight: sectionproperties.filter_titlefontweight,
1999
- textTransform: sectionproperties.filter_titletextransform,
2000
- }}
2001
- >
2002
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2003
- </p>
2004
- </div>
2005
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2006
- <div
2007
- className={
2008
- `${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '
2009
- }
2010
- onClick={() => {
2011
- props.setopenFilterSlider(false);
2012
- }}
2013
- >
2014
- <i className="h-100 d-flex align-items-center justify-content-center">
2015
- <IoMdClose
2016
- size={sectionproperties.closeSlider_fontSize}
2017
- style={{
2018
- color: sectionproperties.closeSlider_color,
2019
- }}
2020
- />
2021
- </i>
2022
- </div>
2023
- </div>
2024
- <div class="col-lg-12">
2025
- <hr class="mt-2 mb-2" />
2026
- </div>
2027
- </div>
2028
- </Offcanvas.Title>
2029
- </Offcanvas.Header>
2030
- <Offcanvas.Body>
2031
- <div
2032
- className={' pb-md-5 '}
2033
- style={{
2034
- background: sectionproperties.filter_backgroundcolor,
2035
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2036
- }}
2037
- >
2038
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2039
- {sectionproperties.otherfilters == 'Show' &&
2040
- otherfilters.map((item, index) => {
2041
- return (
2042
- <>
2043
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2044
- <AccordionItem uuid={index}>
2045
- <AccordionItemHeading>
2046
- <AccordionItemButton>
2047
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2048
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2049
- <p
2050
- className={
2051
- langdetect == 'en'
2052
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
2053
- : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
2054
- }
2055
- >
2056
- {item.name}
2057
- </p>
2058
- </div>
2059
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2060
- <AccordionItemState>
2061
- {(state) => {
2062
- if (state.expanded == true) {
2063
- return (
2064
- <i
2065
- className={
2066
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2067
- }
2068
- >
2069
- <FiChevronUp />
2070
- </i>
2071
- );
2072
- } else {
2073
- return (
2074
- <i
2075
- className={
2076
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2077
- }
2078
- >
2079
- <FiChevronDown />
2080
- </i>
2081
- );
2082
- }
2083
- }}
2084
- </AccordionItemState>
2085
- </div>
2086
- </div>
2087
- </AccordionItemButton>
2088
- </AccordionItemHeading>
2089
- <AccordionItemPanel className="p-0">
2090
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2091
- <div className={'col-lg-12'}>
2092
- <div
2093
- className={
2094
- langdetect == 'en'
2095
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2096
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2097
- }
2098
- >
2099
- {item.filterarray.map((valueitem, valueindex) => {
2100
- var ischecked = false;
2101
- if (item.payloadvalue == 'sortprice') {
2102
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2103
- ischecked = true;
2104
- }
2105
- } else if (item.payloadvalue == 'sortdates') {
2106
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2107
- ischecked = true;
2108
- }
2109
- }
2110
- return (
2111
- <div
2112
- className={
2113
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
2114
- filter_cssstyles.timelineinnercont
2115
- }
2116
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2117
-
2118
- ` + ' d-flex align-items-start pb-3 '
2119
- }
2120
- onClick={() => {
2121
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
2122
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2123
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2124
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2125
- } else {
2126
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2127
- }
2128
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2129
- }}
2130
- >
2131
- <div>
2132
- <div
2133
- className={
2134
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2135
- filter_cssstyles.btn_item
2136
- }` + ' mb-2 d-flex align-items-center '
2137
- }
2138
- >
2139
- <i className="h-100 d-flex align-items-center"></i>
2140
- </div>
2141
- </div>
2142
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
2143
- <p
2144
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
2145
- style={{
2146
- color: ischecked ? sectionproperties.activecat_color : '',
2147
- }}
2148
- >
2149
- {valueitem.name}
2150
- </p>
2151
- </div>
2152
- </div>
2153
- );
2154
- })}
2155
- </div>
2156
- </div>
2157
- </div>
2158
- </AccordionItemPanel>
2159
- </AccordionItem>
2160
- </Accordion>
2161
- {/* <hr className="mt-3 mb-3" /> */}
2162
- </>
2163
- );
2164
- })}
2165
- {sectionproperties.otherfilters == 'Show' && (
2166
- <div className="col-lg-12">
2167
- <hr className="mt-2 mb-3" />
2168
- </div>
2169
- )}
2170
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
2171
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
2172
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
2173
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && (
2174
- <div class="row m-0 w-100">{CollectionsFilter()}</div>
2175
- )}
2176
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
2177
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
2178
- </div>
2179
- </div>
2180
- </div>
2181
- </Offcanvas.Body>
2182
- </Offcanvas>
2183
- </div>
2184
- </div>
2185
- )}
2186
-
2187
- {props.typeprops == 'vertical' && (
2188
- <div className={'col-lg-12 p-0 w-100 filter mt-md-0 d-md-none'}>
2189
- <div
2190
- className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
2191
- id="filterslider"
2192
- style={{
2193
- background: sectionproperties.filter_backgroundcolor,
2194
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2195
- }}
2196
- >
2197
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2198
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
2199
- <p
2200
- className="m-0 p-0 font-16 font-weight-600"
2201
- style={{
2202
- color: sectionproperties.filter_titlecolor,
2203
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2204
- fontWeight: sectionproperties.filter_titlefontweight,
2205
- textTransform: sectionproperties.filter_titletextransform,
2206
- }}
2207
- >
2208
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2209
- </p>
2210
- </div>
2211
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2212
- <div
2213
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
2214
- onClick={() => {
2215
- var element = document.getElementById('filterslider');
2216
- element.classList.remove(filterstyles.filterslider_container_opened);
2217
- }}
2218
- >
2219
- <i className="h-100 d-flex align-items-center justify-content-center">
2220
- <IoMdClose
2221
- size={sectionproperties.closeSlider_fontSize}
2222
- style={{
2223
- color: sectionproperties.closeSlider_color,
2224
- }}
2225
- />
2226
- </i>
2227
- </div>
2228
- </div>
2229
- {/* {sectionproperties.otherfilters == 'Show' && (
2230
- <div class="row m-0 w-100">
2231
- <div class="col-lg-12 d-flex justify-content-start">
2232
- <p
2233
- className="m-0 p-0 font-16 font-weight-600"
2234
- style={{
2235
- color: sectionproperties.filter_titlecolor,
2236
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2237
- fontWeight: sectionproperties.filter_titlefontweight,
2238
- textTransform: sectionproperties.filter_titletextransform,
2239
- }}
2240
- >
2241
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
2242
- </p>
2243
- </div>
2244
- <div className="col-lg-12">
2245
- <hr className="mt-2 mb-3" />
2246
- </div>
2247
- {otherfilters.map((item, index) => {
2248
- return (
2249
- <div className="col-lg-12 pl-4 pr-4">
2250
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2251
- <AccordionItem uuid={index}>
2252
- <AccordionItemHeading>
2253
- <AccordionItemButton>
2254
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2255
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2256
- <p
2257
- className={
2258
- langdetect == 'en'
2259
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
2260
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
2261
- }
2262
- >
2263
- {item.name}
2264
- </p>
2265
- </div>
2266
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2267
- <AccordionItemState>
2268
- {(state) => {
2269
- if (state.expanded == true) {
2270
- return (
2271
- <i
2272
- className={
2273
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
2274
- }
2275
- >
2276
- <FiChevronDown />
2277
- </i>
2278
- );
2279
- } else {
2280
- return (
2281
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
2282
- <FiChevronUp />
2283
- </i>
2284
- );
2285
- }
2286
- }}
2287
- </AccordionItemState>
2288
- </div>
2289
- </div>
2290
- </AccordionItemButton>
2291
- </AccordionItemHeading>
2292
- <AccordionItemPanel className="p-0">
2293
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2294
- <div className={'col-lg-12'}>
2295
- <div
2296
- className={
2297
- langdetect == 'en'
2298
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2299
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2300
- }
2301
- >
2302
- {item.filterarray.map((valueitem, valueindex) => {
2303
- var ischecked = false;
2304
- if (item.payloadvalue == 'sortprice') {
2305
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2306
- ischecked = true;
2307
- }
2308
- } else if (item.payloadvalue == 'sortdates') {
2309
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2310
- ischecked = true;
2311
- }
2312
- }
2313
- return (
2314
- <div
2315
- className={
2316
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
2317
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2318
-
2319
- ` + ' d-flex align-items-start pb-3 '
2320
- }
2321
- onClick={() => {
2322
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2323
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2324
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2325
- } else {
2326
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2327
- }
2328
- tempfetchproductsfilerobjcontext.page = 0;
2329
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2330
-
2331
- filterrouting(tempfetchproductsfilerobjcontext);
2332
- }}
2333
- >
2334
- <div>
2335
- <div
2336
- className={
2337
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2338
- filter_cssstyles.btn_item
2339
- }` + ' mb-2 d-flex align-items-center '
2340
- }
2341
- >
2342
- <i className="h-100 d-flex align-items-center"></i>
2343
- </div>
2344
- </div>
2345
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
2346
- <p
2347
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
2348
- style={{
2349
- color: ischecked ? sectionproperties.activecat_color : '',
2350
- }}
2351
- >
2352
- {valueitem.name}
2353
- </p>
2354
- </div>
2355
- </div>
2356
- );
2357
- })}
2358
- </div>
2359
- </div>
2360
- </div>
2361
- </AccordionItemPanel>
2362
- </AccordionItem>
2363
- </Accordion>
2364
- </div>
2365
- );
2366
- })}
2367
- {sectionproperties.showfilterbyrating == 'Show' && (
2368
- <div className="col-lg-12 pl-4 pr-4">
2369
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2370
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
2371
- <p
2372
- className={
2373
- langdetect == 'en'
2374
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
2375
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
2376
- }
2377
- >
2378
- {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
2379
- </p>
2380
- </div>
2381
- <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
2382
- <InputRange
2383
- draggableTrack={true}
2384
- formatLabel={(value) => `${value}`}
2385
- maxValue={5}
2386
- minValue={0}
2387
- value={raterangevalue}
2388
- onChange={(value) => {
2389
- setraterangevalue({ ...value });
2390
- }}
2391
- />
2392
- </div>
2393
- </div>
2394
- </div>
2395
- )}
2396
- </div>
2397
- )} */}
2398
-
2399
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
2400
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
2401
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
2402
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100 mb-3">{CategoriesFilter()}</div>}
2403
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100 mb-3">{CollectionsFilter()}</div>}
2404
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100 mb-3">{DynamicFilter()}</div>}
2405
- </div>
2406
- </div>
2407
- </div>
2408
-
2409
- <div className="col-lg-12">
2410
- <Offcanvas
2411
- show={props?.openFilterSlider}
2412
- onHide={() => {
2413
- props.setopenFilterSlider(false);
2414
- }}
2415
- placement="end"
2416
- scroll={true}
2417
- style={{
2418
- minWidth: '200px',
2419
- background: sectionproperties.filter_backgroundcolor,
2420
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2421
- }}
2422
- backdrop={true}
2423
- >
2424
- <Offcanvas.Header>
2425
- <Offcanvas.Title>
2426
- <div className="row m-0 w-100 mt-2">
2427
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
2428
- <p
2429
- className="m-0 p-0 font-16 font-weight-600"
2430
- style={{
2431
- color: sectionproperties.filter_titlecolor,
2432
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2433
- fontWeight: sectionproperties.filter_titlefontweight,
2434
- textTransform: sectionproperties.filter_titletextransform,
2435
- }}
2436
- >
2437
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2438
- </p>
2439
- </div>
2440
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2441
- <div
2442
- className={
2443
- `${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '
2444
- }
2445
- onClick={() => {
2446
- props.setopenFilterSlider(false);
2447
- }}
2448
- >
2449
- <i className="h-100 d-flex align-items-center justify-content-center">
2450
- <IoMdClose
2451
- size={sectionproperties.closeSlider_fontSize}
2452
- style={{
2453
- color: sectionproperties.closeSlider_color,
2454
- }}
2455
- />
2456
- </i>
2457
- </div>
2458
- </div>
2459
- <div class="col-lg-12">
2460
- <hr class="mt-2 mb-2" />
2461
- </div>
2462
- </div>
2463
- </Offcanvas.Title>
2464
- </Offcanvas.Header>
2465
- <Offcanvas.Body>
2466
- <div
2467
- className={' pb-md-5 '}
2468
- style={{
2469
- background: sectionproperties.filter_backgroundcolor,
2470
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2471
- }}
2472
- >
2473
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2474
- {sectionproperties.otherfilters == 'Show' &&
2475
- otherfilters.map((item, index) => {
2476
- return (
2477
- <>
2478
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2479
- <AccordionItem uuid={index}>
2480
- <AccordionItemHeading>
2481
- <AccordionItemButton>
2482
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2483
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2484
- <p
2485
- className={
2486
- langdetect == 'en'
2487
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
2488
- : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
2489
- }
2490
- >
2491
- {item.name}
2492
- </p>
2493
- </div>
2494
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2495
- <AccordionItemState>
2496
- {(state) => {
2497
- if (state.expanded == true) {
2498
- return (
2499
- <i
2500
- className={
2501
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2502
- }
2503
- >
2504
- <FiChevronUp />
2505
- </i>
2506
- );
2507
- } else {
2508
- return (
2509
- <i
2510
- className={
2511
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2512
- }
2513
- >
2514
- <FiChevronDown />
2515
- </i>
2516
- );
2517
- }
2518
- }}
2519
- </AccordionItemState>
2520
- </div>
2521
- </div>
2522
- </AccordionItemButton>
2523
- </AccordionItemHeading>
2524
- <AccordionItemPanel className="p-0">
2525
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2526
- <div className={'col-lg-12'}>
2527
- <div
2528
- className={
2529
- langdetect == 'en'
2530
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2531
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2532
- }
2533
- >
2534
- {item.filterarray.map((valueitem, valueindex) => {
2535
- var ischecked = false;
2536
- if (item.payloadvalue == 'sortprice') {
2537
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2538
- ischecked = true;
2539
- }
2540
- } else if (item.payloadvalue == 'sortdates') {
2541
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2542
- ischecked = true;
2543
- }
2544
- }
2545
- return (
2546
- <div
2547
- className={
2548
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
2549
- filter_cssstyles.timelineinnercont
2550
- }
2551
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2552
-
2553
- ` + ' d-flex align-items-start pb-3 '
2554
- }
2555
- onClick={() => {
2556
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
2557
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2558
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2559
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2560
- } else {
2561
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2562
- }
2563
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2564
- }}
2565
- >
2566
- <div>
2567
- <div
2568
- className={
2569
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2570
- filter_cssstyles.btn_item
2571
- }` + ' mb-2 d-flex align-items-center '
2572
- }
2573
- >
2574
- <i className="h-100 d-flex align-items-center"></i>
2575
- </div>
2576
- </div>
2577
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
2578
- <p
2579
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
2580
- style={{
2581
- color: ischecked ? sectionproperties.activecat_color : '',
2582
- }}
2583
- >
2584
- {valueitem.name}
2585
- </p>
2586
- </div>
2587
- </div>
2588
- );
2589
- })}
2590
- </div>
2591
- </div>
2592
- </div>
2593
- </AccordionItemPanel>
2594
- </AccordionItem>
2595
- </Accordion>
2596
- {/* <hr className="mt-3 mb-3" /> */}
2597
- </>
2598
- );
2599
- })}
2600
- {sectionproperties.otherfilters == 'Show' && (
2601
- <div className="col-lg-12">
2602
- <hr className="mt-2 mb-3" />
2603
- </div>
2604
- )}
2605
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
2606
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
2607
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
2608
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && (
2609
- <div class="row m-0 w-100">{CollectionsFilter()}</div>
2610
- )}
2611
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
2612
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
2613
- </div>
2614
- </div>
2615
- </div>
2616
- </Offcanvas.Body>
2617
- </Offcanvas>
2618
- </div>
2619
- </div>
2620
- )}
2621
- </div>
2622
- );
2623
- };
2624
- export default Filter;