tabexseriescomponents 0.0.705 → 0.0.707

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