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,1271 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ import { Accordion, AccordionItem, AccordionItemHeading, AccordionItemButton, AccordionItemPanel, AccordionItemState } from 'react-accessible-accordion';
3
+ import filterstyles from '../../../styles/staticpages/filter.module.css';
4
+ import { css } from 'glamor';
5
+ import Dropdown from 'react-bootstrap/Dropdown';
6
+ import { IoMdClose } from '@react-icons/all-files/io/IoMdClose';
7
+ import { FiChevronDown } from '@react-icons/all-files/fi/FiChevronDown';
8
+ import { FiChevronUp } from '@react-icons/all-files/fi/FiChevronUp';
9
+ import { Offcanvas } from 'react-bootstrap';
10
+ import InputRange from 'react-input-range';
11
+ import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
12
+ import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
13
+ import { defaultstyles, defaultstylestranslated, selectcustomStyles, selectcustomStylesTranslated } from '../../../StylesJS/Customstyles.js';
14
+ import { CircularProgress, Messaging } from 'react-cssfx-loading';
15
+ import formstyles from '../../../styles/general/form.module.css';
16
+
17
+ const Select = React.lazy(() => import('react-select'));
18
+
19
+ const Filter = (props) => {
20
+ const lang = props.actions.lang;
21
+ const langdetect = props.actions.langdetect;
22
+ const productfiltercontext = props.actions.productfiltercontext;
23
+ const setproductfiltercontext = props.actions.setproductfiltercontext;
24
+ const ProductFilterObjContext = props.actions.ProductFilterObjContext;
25
+ const setProductFilterObjContext = props.actions.setProductFilterObjContext;
26
+ const authdetailsContext = props.actions.authdetailsContext;
27
+ const fetchproductoptionsQueryContext = props.actions.fetchproductoptionsQueryContext;
28
+ const fetchCategoriesQueryContext = props.actions.fetchCategoriesQueryContext;
29
+ const routingcountext = props.actions.routingcountext;
30
+ const fetchcollectionsQueryContext = props.actions.fetchcollectionsQueryContext;
31
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
32
+ const ikimagecredcontext = props.actions.ikimagecredcontext;
33
+ const [pricevalue, setpricevalue] = useState({ min: 0, max: 10000 });
34
+ const [productfeatuesarr, setproductfeatuesarr] = useState([]);
35
+
36
+ const fetchTabexCountriesQueryContext = props.actions.fetchTabexCountriesQueryContext;
37
+ const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
38
+ const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
39
+
40
+ const fetchTabexCitiesQueryContext = props.actions.fetchTabexCitiesQueryContext;
41
+ const fetchTabexStatesQueryContext = props.actions.fetchTabexStatesQueryContext;
42
+ const FetchTabexStatesPayloadobjContext = props.actions.FetchTabexStatesPayloadobjContext;
43
+ const setFetchTabexStatesPayloadobjContext = props.actions.setFetchTabexStatesPayloadobjContext;
44
+ const fetchProductFeaturesQueryContext = props.actions.fetchProductFeaturesQueryContext;
45
+
46
+ const [sectionproperties, setsectionproperties] = useState('');
47
+ // const [instfilters, setinstfilters] = useState([...authdetailsContext.instinfo.instfilters]);
48
+ const [instfilters, setinstfilters] = useState([]);
49
+ const [collectionstobevisible, setcollectionstobevisible] = useState([]);
50
+ const [instcollections, setinstcollections] = useState([]);
51
+ const [instcategories, setinstcategories] = useState([]);
52
+ // const [sortby, setSortby] = useState('Sort by');
53
+ const [raterangevalue, setraterangevalue] = useState({ min: 0, max: 5 });
54
+ const timeoutRef = React.useRef(null);
55
+ const [sortbycontext, setsortbycontext] = useState('');
56
+
57
+ const [otherfilters, setotherfilters] = useState([
58
+ {
59
+ payloadvalue: 'sortprice',
60
+ name: lang.price,
61
+ filterarray: [
62
+ { name: lang.pricehightolow, value: 'hightolow', isfilterselected: false },
63
+ { name: lang.pricelowtohigh, value: 'lowtohigh', isfilterselected: false },
64
+ ],
65
+ },
66
+ {
67
+ payloadvalue: 'sortdates',
68
+
69
+ name: lang.dates,
70
+ filterarray: [
71
+ { name: lang.recent, value: 'recent', isfilterselected: false },
72
+ { name: lang.oldest, value: 'old', isfilterselected: false },
73
+ ],
74
+ },
75
+ ]);
76
+ useEffect(() => {
77
+ filterupdater();
78
+ }, []);
79
+ useEffect(() => {
80
+ if (fetchproductoptionsQueryContext.isSuccess) {
81
+ setinstfilters([...fetchproductoptionsQueryContext?.data?.data?.productoptions]);
82
+ }
83
+ }, [fetchproductoptionsQueryContext.isSuccess]);
84
+ useEffect(() => {
85
+ if (fetchCategoriesQueryContext.isSuccess) {
86
+ setinstcategories([...fetchCategoriesQueryContext?.data?.data?.categories]);
87
+ }
88
+ }, [fetchCategoriesQueryContext.isSuccess]);
89
+ useEffect(() => {
90
+ if (fetchcollectionsQueryContext.isSuccess) {
91
+ setinstcollections([...fetchcollectionsQueryContext?.data?.data?.collections]);
92
+ }
93
+ }, [fetchcollectionsQueryContext.isSuccess]);
94
+ // useEffect(() => {
95
+ // // setinstfilters([...authdetailsContext.instinfo.instfilters]);
96
+ // // setinstcollections([...authdetailsContext.instinfo.instcollections]);
97
+ // // setinstcategories([...authdetailsContext?.instinfo?.instcategories]);
98
+ // }, [authdetailsContext]);
99
+ useEffect(() => {
100
+ if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
101
+ setsectionproperties(props.sectionpropertiesprops);
102
+ }
103
+ }, [props.sectionpropertiesprops]);
104
+ useEffect(() => {
105
+ filterupdater();
106
+ }, [ProductFilterObjContext]);
107
+ React.useEffect(() => {
108
+ if (timeoutRef.current !== null) {
109
+ clearTimeout(timeoutRef.current);
110
+ }
111
+
112
+ timeoutRef.current = setTimeout(() => {
113
+ if (raterangevalue.min != 0 || raterangevalue.max != 5) {
114
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
115
+ tempfetchproductsfilerobjcontext.minrate = raterangevalue.min;
116
+ tempfetchproductsfilerobjcontext.maxrate = raterangevalue.max;
117
+ tempfetchproductsfilerobjcontext.page = 0;
118
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
119
+ // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
120
+ }
121
+ }, 500);
122
+ }, [raterangevalue]);
123
+ useEffect(() => {
124
+ if (fetchCategoriesQueryContext.isSuccess && fetchcollectionsQueryContext.isSuccess) {
125
+ if (sectionproperties?.filterretreivetype == 'Depend on chosen parent group') {
126
+ if (ProductFilterObjContext?.collections != undefined && ProductFilterObjContext?.collections != null && Array.isArray(ProductFilterObjContext?.collections)) {
127
+ var collectiontobevisible = [];
128
+ var parentidsfound = [];
129
+ if (ProductFilterObjContext.ProductFetchingType == 'Parent Collection') {
130
+ parentidsfound = ProductFilterObjContext?.collections;
131
+ } else if (ProductFilterObjContext.ProductFetchingType == 'Category') {
132
+ instcategories?.forEach(function (catitem, catindex) {
133
+ ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
134
+ if (catitem.categoryid == colitem2) {
135
+ catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
136
+ parentidsfound.push(parentcolitem.parentcollectionid);
137
+ });
138
+ }
139
+ });
140
+ });
141
+ } else {
142
+ instcategories?.forEach(function (catitem, catindex) {
143
+ catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
144
+ parentcolitem?.collections?.forEach(function (colitem, colindex) {
145
+ ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
146
+ if (colitem.collectionid == colitem2) {
147
+ parentidsfound.push(parentcolitem.parentcollectionid);
148
+ }
149
+ });
150
+ });
151
+ });
152
+ });
153
+ }
154
+
155
+ parentidsfound = parentidsfound.filter((val, id, array) => array.indexOf(val) == id);
156
+
157
+ if (parentidsfound?.length != 0) {
158
+ instcategories?.forEach(function (catitem, catindex) {
159
+ catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
160
+ parentidsfound?.forEach(function (parentidfounditem, parentidfoundindex) {
161
+ if (parentidfounditem == parentcolitem?.parentcollectionid) {
162
+ parentcolitem?.collections?.forEach(function (colitem, colindex) {
163
+ var iscolexists = false;
164
+ collectiontobevisible?.forEach(function (colitemex, colindexex) {
165
+ if (colitemex.collectionid == colitem.collectionid) {
166
+ iscolexists = true;
167
+ }
168
+ });
169
+ if (iscolexists == false) {
170
+ collectiontobevisible.push(colitem);
171
+ }
172
+ });
173
+ }
174
+ });
175
+ });
176
+ });
177
+
178
+ if (collectiontobevisible?.length != 0) {
179
+ setcollectionstobevisible(collectiontobevisible);
180
+ } else {
181
+ setcollectionstobevisible(instcollections);
182
+ }
183
+ } else {
184
+ setcollectionstobevisible(instcollections);
185
+ }
186
+ } else {
187
+ setcollectionstobevisible(instcollections);
188
+ }
189
+ } else {
190
+ setcollectionstobevisible(instcollections);
191
+ }
192
+ }
193
+ }, [ProductFilterObjContext, fetchCategoriesQueryContext.isSuccess, fetchcollectionsQueryContext.isSuccess, instcategories, instcollections]);
194
+ useEffect(() => {
195
+ if (productfeatuesarr.length != 0) {
196
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
197
+ tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
198
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
199
+ filterrouting(tempfetchproductsfilerobjcontext);
200
+ }
201
+ }, [productfeatuesarr]);
202
+ useEffect(() => {
203
+ if (fetchTabexStatesQueryContext.isSuccess) {
204
+ if (ProductFilterObjContext.stateid != undefined && ProductFilterObjContext.stateid != null && ProductFilterObjContext.stateid != '' && ProductFilterObjContext.stateid != 'all') {
205
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
206
+ tempFetchTabexStatesPayloadobjContext.functype = 'cities';
207
+ tempFetchTabexStatesPayloadobjContext.state_id = ProductFilterObjContext.stateid;
208
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
209
+ }
210
+ }
211
+ }, [fetchTabexStatesQueryContext.isSuccess]);
212
+ const filterupdater = () => {
213
+ setTimeout(() => {
214
+ var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
215
+ tempFetchQueriesEngineContext.fetchtabexcountries = true;
216
+ setFetchQueriesEngineContext(tempFetchQueriesEngineContext);
217
+ }, 100);
218
+ if (ProductFilterObjContext.countryid != undefined && ProductFilterObjContext.countryid != null && ProductFilterObjContext.countryid != '' && ProductFilterObjContext.countryid != 'all') {
219
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
220
+ tempFetchTabexStatesPayloadobjContext.functype = 'states';
221
+ tempFetchTabexStatesPayloadobjContext.country_id = ProductFilterObjContext.countryid;
222
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
223
+ }
224
+
225
+ if (instfilters.length != 0) {
226
+ var tempinstfilters = [...instfilters];
227
+ tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
228
+ instfilteritem.productvaluesfilter.forEach(function (valefilteritem, valefilteritemindex) {
229
+ valefilteritem.isfilterselected = false;
230
+ });
231
+ });
232
+ ProductFilterObjContext?.FilterOptions?.forEach(function (filteritem, filterindex) {
233
+ tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
234
+ instfilteritem?.productvaluesfilter?.forEach(function (valefilteritem, valefilteritemindex) {
235
+ if (filteritem.valueid == valefilteritem.valueid) {
236
+ valefilteritem.isfilterselected = true;
237
+ }
238
+ });
239
+ });
240
+ });
241
+ setinstfilters([...tempinstfilters]);
242
+ }
243
+ if (instcategories.length != 0) {
244
+ var tempInstcategories = [...instcategories];
245
+ tempInstcategories.forEach(function (catitem, catindex) {
246
+ catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
247
+ parentcolitem.collections.forEach(function (colitem, colindex) {
248
+ colitem.isfilterselected = false;
249
+ });
250
+ });
251
+ });
252
+
253
+ ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
254
+ tempInstcategories.forEach(function (catitem, catindex) {
255
+ catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
256
+ parentcolitem.collections.forEach(function (colitem, colindex) {
257
+ if (colitem.collectionid == filteritem) {
258
+ colitem.isfilterselected = true;
259
+ }
260
+ });
261
+ });
262
+ });
263
+ });
264
+
265
+ setinstcategories([...tempInstcategories]);
266
+ }
267
+ if (instcollections.length != 0) {
268
+ var tempInstcollections = [...instcollections];
269
+ tempInstcollections.forEach(function (instfilteritem, valefilteritemindex) {
270
+ instfilteritem.isfilterselected = false;
271
+ });
272
+ ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
273
+ tempInstcollections?.forEach(function (instfilteritem, instfilterindex) {
274
+ if (instfilteritem.collectionid == filteritem) {
275
+ instfilteritem.isfilterselected = true;
276
+ }
277
+ });
278
+ });
279
+ setinstcollections([...tempInstcollections]);
280
+ }
281
+ };
282
+ const setfilterfunc = (valueid, valueindex, mainparentindex, type) => {
283
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
284
+ if (type == 'clearfilters') {
285
+ tempfetchproductsfilerobjcontext.FilterOptions = [];
286
+ } else {
287
+ var FilterExists = false;
288
+ tempfetchproductsfilerobjcontext?.FilterOptions?.forEach(function (filteritem, filterindex) {
289
+ if (filteritem.valueid == valueid) {
290
+ FilterExists = true;
291
+ tempfetchproductsfilerobjcontext.FilterOptions.splice(filterindex, 1);
292
+ }
293
+ });
294
+ if (!FilterExists) {
295
+ tempfetchproductsfilerobjcontext.FilterOptions.push({ valueid: valueid });
296
+ }
297
+ }
298
+ if (tempfetchproductsfilerobjcontext.FilterOptions.length == 0) {
299
+ tempfetchproductsfilerobjcontext.isfilter = 0;
300
+ } else {
301
+ tempfetchproductsfilerobjcontext.isfilter = 1;
302
+ }
303
+ tempfetchproductsfilerobjcontext.page = 0;
304
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
305
+ filterrouting(tempfetchproductsfilerobjcontext);
306
+ // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
307
+ };
308
+ const setCollectionFilterFunc = (collectionid) => {
309
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
310
+ var CollectionExists = false;
311
+ tempfetchproductsfilerobjcontext?.collections?.forEach(function (filteritem, filterindex) {
312
+ if (filteritem == collectionid) {
313
+ CollectionExists = true;
314
+ tempfetchproductsfilerobjcontext.collections.splice(filterindex, 1);
315
+ }
316
+ });
317
+ if (!CollectionExists) {
318
+ if (tempfetchproductsfilerobjcontext.collections != undefined && Array.isArray(tempfetchproductsfilerobjcontext.collections)) {
319
+ if (sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Horizontal') {
320
+ tempfetchproductsfilerobjcontext.collections = [];
321
+ tempfetchproductsfilerobjcontext.collections.push(collectionid);
322
+ } else {
323
+ tempfetchproductsfilerobjcontext.collections.push(collectionid);
324
+ }
325
+ } else {
326
+ tempfetchproductsfilerobjcontext.collections = [collectionid];
327
+ }
328
+ }
329
+
330
+ tempfetchproductsfilerobjcontext.page = 0;
331
+ tempfetchproductsfilerobjcontext.ProductFetchingType = 'Random';
332
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
333
+ filterrouting(tempfetchproductsfilerobjcontext);
334
+ // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
335
+ };
336
+ const AccordionInner = (parentcollectionindex, parentcollectionitem) => {
337
+ return (
338
+ <AccordionItem uuid={parentcollectionindex}>
339
+ <AccordionItemHeading>
340
+ <AccordionItemButton>
341
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
342
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
343
+ <p
344
+ className={
345
+ langdetect == 'en'
346
+ ? filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 '
347
+ : filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 text-right'
348
+ }
349
+ >
350
+ {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
351
+ </p>
352
+ </div>
353
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
354
+ <AccordionItemState>
355
+ {(state) => {
356
+ if (state.expanded == true) {
357
+ return (
358
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
359
+ <FiChevronDown />
360
+ </i>
361
+ );
362
+ } else {
363
+ return (
364
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
365
+ <FiChevronUp />
366
+ </i>
367
+ );
368
+ }
369
+ }}
370
+ </AccordionItemState>
371
+ </div>
372
+ </div>
373
+ </AccordionItemButton>
374
+ </AccordionItemHeading>
375
+ <AccordionItemPanel className="p-0">
376
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex ">
377
+ <div class="col-lg-12 mb-3 allcentered">
378
+ <p
379
+ class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
380
+ style={{ textDecoration: 'underline' }}
381
+ onClick={() => {
382
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'parentcollections/' + parentcollectionitem.parentcollectionid);
383
+ }}
384
+ >
385
+ {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
386
+ {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
387
+ </p>
388
+ </div>
389
+ <div className={'col-lg-12 pl-md-3 pr-md-3'}>
390
+ <div
391
+ className={
392
+ langdetect == 'en' ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
393
+ }
394
+ >
395
+ {parentcollectionitem?.collections?.map((collectionitem, collectionindex) => {
396
+ if (collectionitem.isinftiler == 1) {
397
+ return (
398
+ <div
399
+ className={
400
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
401
+ ${collectionitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
402
+ ` + ' d-flex align-items-start pb-3 '
403
+ }
404
+ onClick={() => {
405
+ setCollectionFilterFunc(collectionitem.collectionid);
406
+ }}
407
+ >
408
+ <div
409
+ className={
410
+ ` ${collectionitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
411
+ ' mb-2 d-flex align-items-center '
412
+ }
413
+ >
414
+ <i className="h-100 d-flex align-items-center"></i>
415
+ </div>
416
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
417
+ <p
418
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
419
+ style={{
420
+ color: collectionitem.isfilterselected ? sectionproperties.activecat_color : '',
421
+ }}
422
+ >
423
+ {langdetect == 'en' ? collectionitem.title_en : collectionitem.title_ar}
424
+ </p>
425
+ </div>
426
+ </div>
427
+ );
428
+ }
429
+ })}
430
+ </div>
431
+ </div>
432
+ </div>
433
+ </AccordionItemPanel>
434
+ </AccordionItem>
435
+ );
436
+ };
437
+ const AccordionOuter = (categoryItem, categoryIndex) => {
438
+ return (
439
+ <AccordionItem uuid={categoryIndex}>
440
+ <AccordionItemHeading>
441
+ <AccordionItemButton>
442
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-1 pl-md-3 pr-md-3 '}>
443
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
444
+ <p className={filter_cssstyles.categoryName + ' collapsetitle text-capitalize m-0 p-0 '}>{langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}</p>
445
+ </div>
446
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
447
+ <AccordionItemState>
448
+ {(state) => {
449
+ if (state.expanded == true) {
450
+ return (
451
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
452
+ <FiChevronDown />
453
+ </i>
454
+ );
455
+ } else {
456
+ return (
457
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
458
+ <FiChevronUp />
459
+ </i>
460
+ );
461
+ }
462
+ }}
463
+ </AccordionItemState>
464
+ </div>
465
+ <div className="col-lg-12 p-0">
466
+ <hr className="mt-3 mb-2" />
467
+ </div>
468
+ </div>
469
+ </AccordionItemButton>
470
+ </AccordionItemHeading>
471
+ <AccordionItemPanel className="p-0">
472
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
473
+ <div class="col-lg-12 mb-3 allcentered">
474
+ <p
475
+ class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
476
+ style={{ textDecoration: 'underline' }}
477
+ onClick={() => {
478
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'categories/' + categoryItem.categoryid);
479
+ }}
480
+ >
481
+ {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
482
+ {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
483
+ </p>
484
+ </div>
485
+ {instcategories[categoryIndex]?.parentcolletions.map((parentcollectionitem, parentcollectionindex) => {
486
+ if (parentcollectionitem.isinftiler == 1) {
487
+ return (
488
+ <div class="col-lg-12">
489
+ {sectionproperties.expandall == 'Yes' && (
490
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
491
+ {AccordionInner(parentcollectionindex, parentcollectionitem)}
492
+ </Accordion>
493
+ )}
494
+ {sectionproperties.expandall == 'No' && (
495
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
496
+ {AccordionInner(parentcollectionindex, parentcollectionitem)}
497
+ </Accordion>
498
+ )}
499
+ </div>
500
+ );
501
+ }
502
+ })}
503
+ </div>
504
+ </AccordionItemPanel>
505
+ </AccordionItem>
506
+ );
507
+ };
508
+ const CategoriesFilter = () => {
509
+ return (
510
+ <div class="col-lg-12 p-0">
511
+ {instcategories?.map((categoryItem, categoryIndex) => {
512
+ if (categoryItem.isinftiler == 1) {
513
+ return (
514
+ <div class="col-lg-12 p-0">
515
+ {sectionproperties.expandall == 'Yes' && (
516
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
517
+ {AccordionOuter(categoryItem, categoryIndex)}
518
+ </Accordion>
519
+ )}
520
+ {sectionproperties.expandall == 'No' && (
521
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
522
+ {AccordionOuter(categoryItem, categoryIndex)}
523
+ </Accordion>
524
+ )}
525
+ </div>
526
+ );
527
+ }
528
+ })}
529
+ </div>
530
+ );
531
+ };
532
+ const CollectionsFilter = () => {
533
+ return (
534
+ <div class="col-lg-12 p-0">
535
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
536
+ <AccordionItem uuid={0}>
537
+ <AccordionItemHeading>
538
+ <AccordionItemButton>
539
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
540
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
541
+ <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
542
+ {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
543
+ </p>
544
+ </div>
545
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
546
+ <AccordionItemState>
547
+ {(state) => {
548
+ if (state.expanded == true) {
549
+ return (
550
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
551
+ <FiChevronDown />
552
+ </i>
553
+ );
554
+ } else {
555
+ return (
556
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
557
+ <FiChevronUp />
558
+ </i>
559
+ );
560
+ }
561
+ }}
562
+ </AccordionItemState>
563
+ </div>
564
+ </div>
565
+ </AccordionItemButton>
566
+ </AccordionItemHeading>
567
+ <AccordionItemPanel className="p-0">
568
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
569
+ <div className={'col-lg-12'}>
570
+ <div
571
+ className={
572
+ langdetect == 'en'
573
+ ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
574
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
575
+ }
576
+ >
577
+ {collectionstobevisible.map((item, index) => {
578
+ return (
579
+ <div
580
+ className={
581
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
582
+ ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
583
+ ` + ' d-flex align-items-start pb-3 '
584
+ }
585
+ onClick={() => {
586
+ setCollectionFilterFunc(item.collectionid);
587
+ }}
588
+ >
589
+ <div
590
+ className={
591
+ ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
592
+ ' mb-2 d-flex align-items-center '
593
+ }
594
+ >
595
+ <i className="h-100 d-flex align-items-center"></i>
596
+ </div>
597
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
598
+ <p
599
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
600
+ style={{
601
+ color: item.isfilterselected ? sectionproperties.activecat_color : '',
602
+ }}
603
+ >
604
+ {langdetect == 'en' ? item.title_en : item.title_ar}
605
+ </p>
606
+ </div>
607
+ </div>
608
+ );
609
+ })}
610
+ </div>
611
+ {sectionproperties.showshowallbtn == 'Show' && (
612
+ <div class="col-lg-12 allcentered">
613
+ <div class={filter_cssstyles.showallbtn} style={{}}>
614
+ <p
615
+ class="m-0 p-0"
616
+ onClick={() => {
617
+ setcollectionstobevisible(instcollections);
618
+ }}
619
+ // style={{ cursor: 'pointer' }}
620
+ >
621
+ {langdetect == 'en' ? sectionproperties.showalltexten : sectionproperties.showalltextar}
622
+ </p>
623
+ </div>
624
+ </div>
625
+ )}
626
+ </div>
627
+ </div>
628
+ </AccordionItemPanel>
629
+ </AccordionItem>
630
+ <hr className="mt-3 mb-3" />
631
+ </Accordion>
632
+ </div>
633
+ );
634
+ };
635
+ const DynamicFilter = () => {
636
+ return (
637
+ <div class="row m-0 w-100">
638
+ <div class="col-lg-12 p-0 mb-3">
639
+ {fetchProductFeaturesQueryContext?.isSuccess && (
640
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
641
+ {fetchProductFeaturesQueryContext?.data?.data?.productfeatues?.map(function (item, index) {
642
+ if (item.type == 'Selectbox') {
643
+ var selectboxarr = [];
644
+ item?.featuresselectbovalue?.forEach(function (slecitem) {
645
+ var itemlabel = '';
646
+ if (langdetect == 'en') {
647
+ itemlabel = slecitem.value_en;
648
+ } else {
649
+ itemlabel = slecitem.value_ar;
650
+ }
651
+ selectboxarr.push({ label: itemlabel, value: slecitem.value_en });
652
+ });
653
+ return (
654
+ <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
655
+ <label
656
+ className={' mb-3 w-100 '}
657
+ style={{
658
+ textAlign: langdetect == 'en' ? 'left' : 'right',
659
+ color: sectionproperties.filtertitle_color,
660
+ color: sectionproperties.filtertitle_color,
661
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
662
+ fontWeight: sectionproperties.filtertitle_fontweight,
663
+ color: sectionproperties.filtertitle_color,
664
+ textTransform: 'capitalize',
665
+ }}
666
+ >
667
+ {langdetect == 'en' ? item.name_en : item.name_ar}
668
+ </label>
669
+ <div class={'col-lg-12 p-0'}>
670
+ <Select
671
+ options={selectboxarr}
672
+ styles={langdetect == 'en' ? selectcustomStyles : selectcustomStylesTranslated}
673
+ placeholder={''}
674
+ onChange={(e) => {
675
+ var isattrexists = false;
676
+ var tempproductfeatuesarr = [...productfeatuesarr];
677
+ tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
678
+ if (attritem.id == item.id) {
679
+ tempproductfeatuesarr[attrindex].value = e.value;
680
+ isattrexists = true;
681
+ }
682
+ });
683
+ if (isattrexists == false) {
684
+ tempproductfeatuesarr.push({
685
+ id: item.id,
686
+ value: e.value,
687
+ });
688
+ }
689
+ setproductfeatuesarr([...tempproductfeatuesarr]);
690
+ }}
691
+ />
692
+ </div>
693
+ </div>
694
+ );
695
+ }
696
+ if (item.type == 'Number') {
697
+ return (
698
+ <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
699
+ <label
700
+ className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100 '}
701
+ style={{
702
+ textAlign: langdetect == 'en' ? 'left' : 'right',
703
+ color: sectionproperties.filtertitle_color,
704
+ color: sectionproperties.filtertitle_color,
705
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
706
+ fontWeight: sectionproperties.filtertitle_fontweight,
707
+ color: sectionproperties.filtertitle_color,
708
+ textTransform: 'capitalize',
709
+ }}
710
+ >
711
+ {langdetect == 'en' ? item.name_en : item.name_ar}
712
+ </label>
713
+ <div class={'col-lg-12 p-0'}>
714
+ <input
715
+ type="number"
716
+ className={`${formstyles.form_control} ${filter_cssstyles.form_control}`}
717
+ placeholder={''}
718
+ onChange={(e) => {
719
+ var isattrexists = false;
720
+ var tempproductfeatuesarr = [...productfeatuesarr];
721
+ tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
722
+ if (attritem.id == item.id) {
723
+ tempproductfeatuesarr[attrindex].value = e.target.value;
724
+ isattrexists = true;
725
+ }
726
+ });
727
+ if (isattrexists == false) {
728
+ tempproductfeatuesarr.push({
729
+ id: item.id,
730
+ value: e.target.value,
731
+ });
732
+ }
733
+ setproductfeatuesarr([...tempproductfeatuesarr]);
734
+ }}
735
+ />
736
+ </div>
737
+ </div>
738
+ );
739
+ }
740
+ if (item.type == 'NumberRange') {
741
+ var temppricevalue = { min: 0, max: 10000 };
742
+ var tempproductfeatuesarr = [...productfeatuesarr];
743
+ tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
744
+ if (attritem.id == item.id) {
745
+ if (attritem.value != undefined && attritem.value != null && attritem?.value?.length != 0) {
746
+ temppricevalue.min = attritem.value;
747
+ }
748
+ if (attritem.valuemax != undefined && attritem.valuemax != null && attritem?.valuemax?.length != 0) {
749
+ temppricevalue.max = attritem.valuemax;
750
+ }
751
+ }
752
+ });
753
+ return (
754
+ <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 '}>
755
+ <label
756
+ className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
757
+ style={{
758
+ textAlign: langdetect == 'en' ? 'left' : 'right',
759
+ color: sectionproperties.filtertitle_color,
760
+ color: sectionproperties.filtertitle_color,
761
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
762
+ fontWeight: sectionproperties.filtertitle_fontweight,
763
+ color: sectionproperties.filtertitle_color,
764
+ textTransform: 'capitalize',
765
+ }}
766
+ >
767
+ {langdetect == 'en' ? item.name_en : item.name_ar}
768
+ {item.type}
769
+ </label>
770
+ <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
771
+ <InputRange
772
+ draggableTrack={true}
773
+ formatLabel={(value) => `${value}`}
774
+ maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
775
+ minValue={parseInt(sectionproperties.filterpriceminvalue)}
776
+ value={temppricevalue}
777
+ onChange={(e) => {
778
+ // setpricevalue({ ...value });
779
+ var isattrexists = false;
780
+ var tempproductfeatuesarr = [...productfeatuesarr];
781
+ tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
782
+ if (attritem.id == item.id) {
783
+ tempproductfeatuesarr[attrindex].value = e.min;
784
+ tempproductfeatuesarr[attrindex].valuemax = e.max;
785
+ isattrexists = true;
786
+ }
787
+ });
788
+ if (isattrexists == false) {
789
+ tempproductfeatuesarr.push({
790
+ id: item.id,
791
+ value: e.min,
792
+ valuemax: e.max,
793
+ });
794
+ }
795
+ setproductfeatuesarr([...tempproductfeatuesarr]);
796
+ }}
797
+ />
798
+ </div>
799
+ </div>
800
+ );
801
+ }
802
+ })}
803
+ {/* {sectionproperties.showpricerange == 'Show' && (
804
+ <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 p-0 '}>
805
+ <label
806
+ className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
807
+ style={{
808
+ textAlign: langdetect == 'en' ? 'left' : 'right',
809
+ color: sectionproperties.filtertitle_color,
810
+ color: sectionproperties.filtertitle_color,
811
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
812
+ fontWeight: sectionproperties.filtertitle_fontweight,
813
+ color: sectionproperties.filtertitle_color,
814
+ textTransform: 'capitalize',
815
+ }}
816
+ >
817
+ {langdetect == 'en' ? 'Price' : 'السعر'}
818
+ {item.type}
819
+ </label>
820
+ <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
821
+ <InputRange
822
+ draggableTrack={true}
823
+ formatLabel={(value) => `${value}`}
824
+ maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
825
+ minValue={parseInt(sectionproperties.filterpriceminvalue)}
826
+ value={temppricevalue}
827
+ onChange={(e) => {
828
+ // setpricevalue({ ...value });
829
+ var isattrexists = false;
830
+ var tempproductfeatuesarr = [...productfeatuesarr];
831
+ tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
832
+ if (attritem.id == item.id) {
833
+ tempproductfeatuesarr[attrindex].value = e.min;
834
+ tempproductfeatuesarr[attrindex].valuemax = e.max;
835
+ isattrexists = true;
836
+ }
837
+ });
838
+ if (isattrexists == false) {
839
+ tempproductfeatuesarr.push({
840
+ id: item.id,
841
+ value: e.min,
842
+ valuemax: e.max,
843
+ });
844
+ }
845
+ setproductfeatuesarr([...tempproductfeatuesarr]);
846
+ }}
847
+ />
848
+ </div>
849
+ </div>
850
+ )} */}
851
+ </div>
852
+ )}
853
+ </div>
854
+ </div>
855
+ );
856
+ };
857
+ const InstFilters = () => {
858
+ return (
859
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
860
+ {instfilters.map((item, index) => {
861
+ return (
862
+ <>
863
+ <AccordionItem uuid={index}>
864
+ <AccordionItemHeading>
865
+ <AccordionItemButton>
866
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
867
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
868
+ <p
869
+ className={
870
+ langdetect == 'en'
871
+ ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
872
+ : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
873
+ }
874
+ >
875
+ {langdetect == 'en' ? item.optionname : item.optionname_ar}
876
+ </p>
877
+ </div>
878
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
879
+ <AccordionItemState>
880
+ {(state) => {
881
+ if (state.expanded == true) {
882
+ return (
883
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
884
+ <FiChevronDown />
885
+ </i>
886
+ );
887
+ } else {
888
+ return (
889
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
890
+ <FiChevronUp />
891
+ </i>
892
+ );
893
+ }
894
+ }}
895
+ </AccordionItemState>
896
+ </div>
897
+ </div>
898
+ </AccordionItemButton>
899
+ </AccordionItemHeading>
900
+ <AccordionItemPanel className="p-0">
901
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
902
+ <div className={'col-lg-12'}>
903
+ <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
904
+ {item.productvaluesfilter.map((valueitem, valueindex) => {
905
+ return (
906
+ <div
907
+ className={
908
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
909
+ ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
910
+
911
+ ` + ' d-flex align-items-start pb-3 '
912
+ }
913
+ onClick={() => {
914
+ setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
915
+ }}
916
+ >
917
+ <div>
918
+ <div
919
+ className={
920
+ ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
921
+ ' mb-2 d-flex align-items-center '
922
+ }
923
+ >
924
+ <i className="h-100 d-flex align-items-center"></i>
925
+ </div>
926
+ </div>
927
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
928
+ {item.optionname == 'Color' && (
929
+ <p
930
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
931
+ style={{
932
+ color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
933
+ }}
934
+ >
935
+ {valueitem.value_identifier}
936
+ </p>
937
+ )}
938
+ {item.optionname != 'Color' && (
939
+ <p
940
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
941
+ style={{
942
+ color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
943
+ }}
944
+ >
945
+ {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
946
+ </p>
947
+ )}
948
+ </div>
949
+ </div>
950
+ );
951
+ })}
952
+ </div>
953
+ </div>
954
+ </div>
955
+ </AccordionItemPanel>
956
+ </AccordionItem>
957
+ <hr className="mt-3 mb-3" />
958
+ </>
959
+ );
960
+ })}
961
+ </Accordion>
962
+ );
963
+ };
964
+ const filter_cssstyles = {
965
+ form_control: css({
966
+ position: 'relative',
967
+ display: 'flex',
968
+ alignItems: 'center',
969
+ display: 'block',
970
+ width: '100%',
971
+ padding: '0 30px',
972
+ transition: '.3s',
973
+ fontWeight: 500,
974
+ border: '1px solid #ccc',
975
+ // border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
976
+ // borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
977
+ // borderRadius: sectionproperties.inputfieldborderradius + 'px',
978
+ borderRadius: '5px',
979
+ // height: sectionproperties.inputfieldheight + 'px',
980
+ height: '40px',
981
+ background: 'transparent',
982
+ // color: sectionproperties.inputfieldcolor,
983
+ color: '#000',
984
+ // fontSize: sectionproperties.inputfieldfontsize + 'px',
985
+ fontSize: '14px',
986
+ ':focus': {
987
+ // borderColor: sectionproperties.inputfeildbordercoloronfocus,
988
+ borderColor: '#eac435',
989
+ boxShadow: 'none',
990
+ },
991
+ }),
992
+ collapsetitle: css({
993
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
994
+ fontWeight: sectionproperties.filtertitle_fontweight,
995
+ textTransform: sectionproperties.filtertitle_texttransform,
996
+ color: sectionproperties.filtertitle_color,
997
+ ':hover': {
998
+ color: sectionproperties.filtertitle_coloronhover,
999
+ },
1000
+ }),
1001
+ titlecontainer: css({
1002
+ color: sectionproperties.filtertitle_color,
1003
+ ':hover .collapsetitle': {
1004
+ color: sectionproperties.filtertitle_coloronhover,
1005
+ },
1006
+ }),
1007
+ timeline_text: css({
1008
+ fontSize: sectionproperties.timeline_text_fontsize + 'px',
1009
+ fontWeight: sectionproperties.timeline_text_fontweight,
1010
+ textTransform: sectionproperties.timeline_text_texttransform,
1011
+ color: sectionproperties.timeline_text_color,
1012
+ transition: '.3s',
1013
+ ':hover': {
1014
+ color: sectionproperties.timeline_text_coloronhover,
1015
+ },
1016
+ }),
1017
+ btnstyles: css({
1018
+ color: sectionproperties.generalbtn_textColor,
1019
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
1020
+ textTransform: sectionproperties.generalbtn_texttransform,
1021
+ width: sectionproperties.generalbtn_width + 'px',
1022
+ height: sectionproperties.generalbtn_height + 'px',
1023
+ background: sectionproperties.generalbtn_bgColor,
1024
+ borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
1025
+ borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
1026
+ borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
1027
+ borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
1028
+ fontWeight: sectionproperties.generalbtn_fontweight,
1029
+ transition: '.3s',
1030
+ ':hover': {
1031
+ background: sectionproperties.generalbtn_bgColoronhover,
1032
+ color: sectionproperties.generalbtn_textColoronhover,
1033
+ },
1034
+ }),
1035
+ close_menu_icon_cont: css({
1036
+ background: sectionproperties.closeSliderBgColor,
1037
+ width: sectionproperties.closeSliderWidth + 'px',
1038
+ height: sectionproperties.closeSliderHeight + 'px',
1039
+ borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
1040
+ ':hover': {
1041
+ background: sectionproperties.closeSliderBgColorHover,
1042
+ },
1043
+ }),
1044
+ horizontalfilter_card: css({
1045
+ marginBottom: sectionproperties.horizontalfilter_mb + 'px',
1046
+ marginTop: sectionproperties.horizontalfilter_mt + 'px',
1047
+ background: sectionproperties.horizontalfilter_cardbg,
1048
+ border: sectionproperties.horizontalfilter_cardborderwidth + 'px solid ' + sectionproperties.horizontalfilter_cardbordercolor,
1049
+ boxShadow: sectionproperties.horizontalfilter_cardboxShadow == 'Show' ? sectionproperties.horizontalfilter_cardboxShadowcolor : 'horizontalfilter_cardboxShadow',
1050
+ }),
1051
+ btn_item: css({
1052
+ width: '20px',
1053
+ height: '20px',
1054
+ background: sectionproperties.filteritembtn_bgcolor,
1055
+ ':hover': {
1056
+ background: sectionproperties.filteritembtn_bghover,
1057
+ },
1058
+ }),
1059
+ btn_item_active: css({
1060
+ background: sectionproperties.btn_item_activebgcolor,
1061
+ }),
1062
+ timelineinnercont_active: css({
1063
+ fontWeight: sectionproperties.activecat_fontweight,
1064
+ color: sectionproperties.activecat_color,
1065
+ }),
1066
+ categoryName: css({
1067
+ color: sectionproperties.filtertitle_color,
1068
+ fontWeight: sectionproperties.filterCatFontWeight,
1069
+ fontSize: sectionproperties.filterCatFontSize + 'px',
1070
+ }),
1071
+ pCollectionName: css({
1072
+ color: sectionproperties.filtertitle_color,
1073
+ fontWeight: sectionproperties.filterPCollFontWeight,
1074
+ fontSize: sectionproperties.filterPCollFontSize + 'px',
1075
+ }),
1076
+ explorebtn: css({
1077
+ fontSize: sectionproperties.explorebtnfontsize + 'px',
1078
+ fontWeight: 600,
1079
+ color: sectionproperties.explorebtncolor,
1080
+ transition: '.3s',
1081
+ ':hover': {
1082
+ color: sectionproperties.explorebtncoloronhover,
1083
+ },
1084
+ }),
1085
+ showallbtn: css({
1086
+ color: sectionproperties.showallcolor,
1087
+ ':hover': {
1088
+ transition: '.3s',
1089
+ cursor: 'pointer',
1090
+ color: sectionproperties.showallcolorhover,
1091
+ },
1092
+ }),
1093
+ sectiontitle: css({
1094
+ position: 'relative',
1095
+ justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1096
+ width: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '100%' : '',
1097
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
1098
+ '@media (max-width: 800px)': {
1099
+ fontSize: sectionproperties.sectionTitleFontSizeresp + 'px',
1100
+ },
1101
+ }),
1102
+ };
1103
+ const filterrouting = (tempfetchproductsfilerobjcontext) => {
1104
+ const path = window.location.pathname.split('/');
1105
+ var currentpagepath = path[1];
1106
+ var pagenamepathinstaticpagelinkcont = '';
1107
+ for (const key in StaticPagesLinksContext) {
1108
+ if (StaticPagesLinksContext[key] == currentpagepath) {
1109
+ pagenamepathinstaticpagelinkcont = key;
1110
+ }
1111
+ }
1112
+ if (pagenamepathinstaticpagelinkcont != undefined && pagenamepathinstaticpagelinkcont != '') {
1113
+ routingcountext(StaticPagesLinksContext[pagenamepathinstaticpagelinkcont], true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
1114
+ }
1115
+ };
1116
+ const Countriesfilter = () => {
1117
+ return (
1118
+ <div class="row m-0 w-100 pl-md-3 pr-md-3">
1119
+ <div class="col-lg-12 p-0 mt-3">
1120
+ <div class="row m-0 w-100">
1121
+ <div class="col-lg-12 p-0 mb-3">
1122
+ {fetchTabexCountriesQueryContext?.isFetching && (
1123
+ <div className="w-100 allcentered mt-1">
1124
+ <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1125
+ </div>
1126
+ )}
1127
+
1128
+ {!fetchTabexCountriesQueryContext?.isFetching && fetchTabexCountriesQueryContext?.isSuccess && (
1129
+ <Select
1130
+ options={fetchTabexCountriesQueryContext?.data?.data?.countries}
1131
+ getOptionLabel={(option) => {
1132
+ var crname = '';
1133
+ if (langdetect == 'en') {
1134
+ crname = option.name;
1135
+ } else if (langdetect == 'ar') {
1136
+ if (option.name_ar != null) {
1137
+ crname = option.name_ar;
1138
+ } else {
1139
+ crname = option.name;
1140
+ }
1141
+ }
1142
+ return crname;
1143
+ }}
1144
+ getOptionValue={(option) => option.id}
1145
+ value={fetchTabexCountriesQueryContext.data.data.countries.filter((option) => option.id == ProductFilterObjContext.countryid)}
1146
+ onChange={(option) => {
1147
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1148
+ tempFetchTabexStatesPayloadobjContext.functype = 'states';
1149
+ tempFetchTabexStatesPayloadobjContext.country_id = option.id;
1150
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1151
+
1152
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1153
+ tempfetchproductsfilerobjcontext.countryid = option.id;
1154
+ tempfetchproductsfilerobjcontext.page = 0;
1155
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1156
+ filterrouting(tempfetchproductsfilerobjcontext);
1157
+ }}
1158
+ styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1159
+ placeholder={lang.choosecountry}
1160
+ isSearchable={true}
1161
+ />
1162
+ )}
1163
+ </div>
1164
+ <div class="col-lg-12 mb-3 p-0">
1165
+ {fetchTabexStatesQueryContext?.isFetching && (
1166
+ <div className="w-100 allcentered mt-1">
1167
+ <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1168
+ </div>
1169
+ )}
1170
+
1171
+ {!fetchTabexStatesQueryContext?.isFetching && fetchTabexStatesQueryContext?.isSuccess && (
1172
+ <Select
1173
+ options={fetchTabexStatesQueryContext?.data?.data?.states}
1174
+ getOptionLabel={(option) => {
1175
+ var crname = '';
1176
+ if (langdetect == 'en') {
1177
+ crname = option.name;
1178
+ } else if (langdetect == 'ar') {
1179
+ if (option.name_ar != null) {
1180
+ crname = option.name_ar;
1181
+ } else {
1182
+ crname = option.name;
1183
+ }
1184
+ }
1185
+ return crname;
1186
+ }}
1187
+ getOptionValue={(option) => option.id}
1188
+ value={fetchTabexStatesQueryContext?.data?.data?.states.filter((option) => option.id == ProductFilterObjContext.stateid)}
1189
+ onChange={(option) => {
1190
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1191
+ tempFetchTabexStatesPayloadobjContext.functype = 'cities';
1192
+ tempFetchTabexStatesPayloadobjContext.state_id = option.id;
1193
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1194
+
1195
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1196
+ tempfetchproductsfilerobjcontext.stateid = option.id;
1197
+ tempfetchproductsfilerobjcontext.page = 0;
1198
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1199
+ filterrouting(tempfetchproductsfilerobjcontext);
1200
+ }}
1201
+ styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1202
+ placeholder={lang.choosestategov}
1203
+ isSearchable={true}
1204
+ />
1205
+ )}
1206
+ </div>
1207
+ <div class="col-lg-12 mb-3 p-0">
1208
+ {fetchTabexCitiesQueryContext?.isFetching && (
1209
+ <div className="w-100 allcentered mt-1">
1210
+ <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1211
+ </div>
1212
+ )}
1213
+
1214
+ {!fetchTabexCitiesQueryContext?.isFetching && fetchTabexCitiesQueryContext?.isSuccess && (
1215
+ <Select
1216
+ options={fetchTabexCitiesQueryContext?.data?.data?.cities}
1217
+ getOptionLabel={(option) => {
1218
+ var crname = '';
1219
+ if (langdetect == 'en') {
1220
+ crname = option.name;
1221
+ } else if (langdetect == 'ar') {
1222
+ if (option.name_ar != null) {
1223
+ crname = option.name_ar;
1224
+ } else {
1225
+ crname = option.name;
1226
+ }
1227
+ }
1228
+ return crname;
1229
+ }}
1230
+ getOptionValue={(option) => option.id}
1231
+ value={fetchTabexCitiesQueryContext?.data?.data?.cities.filter((option) => option.id == ProductFilterObjContext.cityid)}
1232
+ onChange={(option) => {
1233
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1234
+ tempfetchproductsfilerobjcontext.cityid = option.id;
1235
+ tempfetchproductsfilerobjcontext.page = 0;
1236
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1237
+ filterrouting(tempfetchproductsfilerobjcontext);
1238
+ }}
1239
+ styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1240
+ placeholder={lang.choosecity}
1241
+ isSearchable={true}
1242
+ />
1243
+ )}
1244
+ </div>
1245
+ </div>
1246
+ </div>
1247
+ </div>
1248
+ );
1249
+ };
1250
+ const [checked, setChecked] = useState(false);
1251
+ // const queryParameters = new URLSearchParams(window.location.search);
1252
+ // useEffect(() => {
1253
+ // // setsortbycontext('Sort By');
1254
+ // if (queryParameters.get('sortprice') == undefined) {
1255
+ // setsortbycontext('Sort By');
1256
+ // } else {
1257
+ // var temp = { ...sortbycontext };
1258
+ // temp = queryParameters.get('sortprice');
1259
+ // alert(temp);
1260
+ // }
1261
+ // }, []);
1262
+ return (
1263
+ <div
1264
+ 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'}
1265
+ style={{ marginTop: sectionproperties.filtersection_mt + 'px', minHeight: sectionproperties.filterminheight == 0 ? 'auto' : sectionproperties.filterminheight + 'vh' }}
1266
+ >
1267
+ {InstFilters()}
1268
+ </div>
1269
+ );
1270
+ };
1271
+ export default Filter;