tabexseriescomponents 0.0.706 → 0.0.708

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