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,1450 @@
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
+
12
+ const Filter = (props) => {
13
+ const lang = props.actions.lang;
14
+ const langdetect = props.actions.langdetect;
15
+ const productfiltercontext = props.actions.productfiltercontext;
16
+ const setproductfiltercontext = props.actions.setproductfiltercontext;
17
+ const ProductFilterObjContext = props.actions.ProductFilterObjContext;
18
+ const setProductFilterObjContext = props.actions.setProductFilterObjContext;
19
+ const authdetailsContext = props.actions.authdetailsContext;
20
+ const routingcountext = props.actions.routingcountext;
21
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
22
+ const ikimagecredcontext = props.actions.ikimagecredcontext;
23
+
24
+ const [sectionproperties, setsectionproperties] = useState('');
25
+ const [instfilters, setinstfilters] = useState([...authdetailsContext.instinfo.instfilters]);
26
+ const [instcollections, setinstcollections] = useState([...authdetailsContext.instinfo.instcollections]);
27
+ const [instcategories, setinstcategories] = useState([...authdetailsContext?.instinfo?.instcategories]);
28
+ const [sortby, setSortby] = useState('Sort by');
29
+ const [raterangevalue, setraterangevalue] = useState({ min: 0, max: 5 });
30
+
31
+ const [otherfilters, setotherfilters] = useState([
32
+ {
33
+ payloadvalue: 'sortprice',
34
+ name: lang.price,
35
+ filterarray: [
36
+ { name: lang.pricehightolow, value: 'hightolow', isfilterselected: false },
37
+ { name: lang.pricelowtohigh, value: 'lowtohigh', isfilterselected: false },
38
+ ],
39
+ },
40
+ {
41
+ payloadvalue: 'sortdates',
42
+
43
+ name: lang.dates,
44
+ filterarray: [
45
+ { name: lang.recent, value: 'recent', isfilterselected: false },
46
+ { name: lang.oldest, value: 'old', isfilterselected: false },
47
+ ],
48
+ },
49
+ ]);
50
+ useEffect(() => {
51
+ filterupdater();
52
+ }, []);
53
+ useEffect(() => {
54
+ setinstfilters([...authdetailsContext.instinfo.instfilters]);
55
+ setinstcollections([...authdetailsContext.instinfo.instcollections]);
56
+ setinstcategories([...authdetailsContext?.instinfo?.instcategories]);
57
+ }, [authdetailsContext]);
58
+ useEffect(() => {
59
+ if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
60
+ setsectionproperties(props.sectionpropertiesprops);
61
+ }
62
+ }, [props.sectionpropertiesprops]);
63
+ useEffect(() => {
64
+ filterupdater();
65
+ }, [ProductFilterObjContext]);
66
+
67
+ const timeoutRef = React.useRef(null);
68
+ React.useEffect(() => {
69
+ if (timeoutRef.current !== null) {
70
+ clearTimeout(timeoutRef.current);
71
+ }
72
+
73
+ timeoutRef.current = setTimeout(() => {
74
+ if (raterangevalue.min != 0 || raterangevalue.max != 5) {
75
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
76
+ tempfetchproductsfilerobjcontext.minrate = raterangevalue.min;
77
+ tempfetchproductsfilerobjcontext.maxrate = raterangevalue.max;
78
+ tempfetchproductsfilerobjcontext.page = 0;
79
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
80
+ // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
81
+ }
82
+ }, 500);
83
+ }, [raterangevalue]);
84
+ const filterupdater = () => {
85
+ if (instfilters.length != 0) {
86
+ var tempinstfilters = [...instfilters];
87
+ tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
88
+ instfilteritem.productvaluesfilter.forEach(function (valefilteritem, valefilteritemindex) {
89
+ valefilteritem.isfilterselected = false;
90
+ });
91
+ });
92
+ ProductFilterObjContext?.FilterOptions?.forEach(function (filteritem, filterindex) {
93
+ tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
94
+ instfilteritem?.productvaluesfilter?.forEach(function (valefilteritem, valefilteritemindex) {
95
+ if (filteritem.valueid == valefilteritem.valueid) {
96
+ valefilteritem.isfilterselected = true;
97
+ }
98
+ });
99
+ });
100
+ });
101
+ setinstfilters([...tempinstfilters]);
102
+ }
103
+ if (instcategories.length != 0) {
104
+ var tempInstcategories = [...instcategories];
105
+ tempInstcategories.forEach(function (catitem, catindex) {
106
+ catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
107
+ parentcolitem.collections.forEach(function (colitem, colindex) {
108
+ colitem.isfilterselected = false;
109
+ });
110
+ });
111
+ });
112
+
113
+ ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
114
+ tempInstcategories.forEach(function (catitem, catindex) {
115
+ catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
116
+ parentcolitem.collections.forEach(function (colitem, colindex) {
117
+ if (colitem.collectionid == filteritem) {
118
+ colitem.isfilterselected = true;
119
+ }
120
+ });
121
+ });
122
+ });
123
+ });
124
+
125
+ setinstcategories([...tempInstcategories]);
126
+ }
127
+ if (instcollections.length != 0) {
128
+ var tempInstcollections = [...instcollections];
129
+ tempInstcollections.forEach(function (instfilteritem, valefilteritemindex) {
130
+ instfilteritem.isfilterselected = false;
131
+ });
132
+ ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
133
+ tempInstcollections?.forEach(function (instfilteritem, instfilterindex) {
134
+ if (instfilteritem.collectionid == filteritem) {
135
+ instfilteritem.isfilterselected = true;
136
+ }
137
+ });
138
+ });
139
+ setinstcollections([...tempInstcollections]);
140
+ }
141
+ };
142
+ const setfilterfunc = (valueid, valueindex, mainparentindex, type) => {
143
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
144
+ if (type == 'clearfilters') {
145
+ tempfetchproductsfilerobjcontext.FilterOptions = [];
146
+ } else {
147
+ var FilterExists = false;
148
+ tempfetchproductsfilerobjcontext?.FilterOptions?.forEach(function (filteritem, filterindex) {
149
+ if (filteritem.valueid == valueid) {
150
+ FilterExists = true;
151
+ tempfetchproductsfilerobjcontext.FilterOptions.splice(filterindex, 1);
152
+ }
153
+ });
154
+ if (!FilterExists) {
155
+ tempfetchproductsfilerobjcontext.FilterOptions.push({ valueid: valueid });
156
+ }
157
+ }
158
+ if (tempfetchproductsfilerobjcontext.FilterOptions.length == 0) {
159
+ tempfetchproductsfilerobjcontext.isfilter = 0;
160
+ } else {
161
+ tempfetchproductsfilerobjcontext.isfilter = 1;
162
+ }
163
+ tempfetchproductsfilerobjcontext.page = 0;
164
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
165
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
166
+ };
167
+ const setCollectionFilterFunc = (collectionid) => {
168
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
169
+ var CollectionExists = false;
170
+ tempfetchproductsfilerobjcontext?.collections?.forEach(function (filteritem, filterindex) {
171
+ if (filteritem == collectionid) {
172
+ CollectionExists = true;
173
+ tempfetchproductsfilerobjcontext.collections.splice(filterindex, 1);
174
+ }
175
+ });
176
+ if (!CollectionExists) {
177
+ tempfetchproductsfilerobjcontext.collections.push(collectionid);
178
+ }
179
+ tempfetchproductsfilerobjcontext.page = 0;
180
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
181
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
182
+ };
183
+
184
+ const filter_cssstyles = {
185
+ collapsetitle: css({
186
+ fontSize: sectionproperties.filtertitle_fontsize + 'px',
187
+ fontWeight: sectionproperties.filtertitle_fontweight,
188
+ textTransform: sectionproperties.filtertitle_texttransform,
189
+ color: sectionproperties.filtertitle_color,
190
+ ':hover': {
191
+ color: sectionproperties.filtertitle_coloronhover,
192
+ },
193
+ }),
194
+ titlecontainer: css({
195
+ color: sectionproperties.filtertitle_color,
196
+ ':hover .collapsetitle': {
197
+ color: sectionproperties.filtertitle_coloronhover,
198
+ },
199
+ }),
200
+ timeline_text: css({
201
+ fontSize: sectionproperties.timeline_text_fontsize + 'px',
202
+ fontWeight: sectionproperties.timeline_text_fontweight,
203
+ textTransform: sectionproperties.timeline_text_texttransform,
204
+ color: sectionproperties.timeline_text_color,
205
+ ':hover': {
206
+ color: sectionproperties.timeline_text_coloronhover,
207
+ },
208
+ }),
209
+ btnstyles: css({
210
+ color: sectionproperties.generalbtn_textColor,
211
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
212
+ textTransform: sectionproperties.generalbtn_texttransform,
213
+ width: sectionproperties.generalbtn_width + 'px',
214
+ height: sectionproperties.generalbtn_height + 'px',
215
+ background: sectionproperties.generalbtn_bgColor,
216
+ borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
217
+ borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
218
+ borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
219
+ borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
220
+ fontWeight: sectionproperties.generalbtn_fontweight,
221
+ transition: '.3s',
222
+ ':hover': {
223
+ background: sectionproperties.generalbtn_bgColoronhover,
224
+ color: sectionproperties.generalbtn_textColoronhover,
225
+ },
226
+ }),
227
+ close_menu_icon_cont: css({
228
+ background: sectionproperties.closeSliderBgColor,
229
+ width: sectionproperties.closeSliderWidth + 'px',
230
+ height: sectionproperties.closeSliderHeight + 'px',
231
+ borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
232
+ ':hover': {
233
+ background: sectionproperties.closeSliderBgColorHover,
234
+ },
235
+ }),
236
+ horizontalfilter_card: css({
237
+ marginBottom: sectionproperties.horizontalfilter_mb + 'px',
238
+ marginTop: sectionproperties.horizontalfilter_mt + 'px',
239
+ background: sectionproperties.horizontalfilter_cardbg,
240
+ border: sectionproperties.horizontalfilter_cardborderwidth + 'px solid ' + sectionproperties.horizontalfilter_cardbordercolor,
241
+ boxShadow: sectionproperties.horizontalfilter_cardboxShadow == 'Show' ? sectionproperties.horizontalfilter_cardboxShadowcolor : 'horizontalfilter_cardboxShadow',
242
+ }),
243
+ btn_item: css({
244
+ width: '20px',
245
+ height: '20px',
246
+ background: sectionproperties.filteritembtn_bgcolor,
247
+ ':hover': {
248
+ background: sectionproperties.filteritembtn_bghover,
249
+ },
250
+ }),
251
+ btn_item_active: css({
252
+ background: sectionproperties.btn_item_activebgcolor,
253
+ }),
254
+ timelineinnercont_active: css({
255
+ fontWeight: sectionproperties.activecat_fontweight,
256
+ color: sectionproperties.activecat_color,
257
+ }),
258
+ categoryName: css({
259
+ color: sectionproperties.filtertitle_color,
260
+ fontWeight: sectionproperties.filterCatFontWeight,
261
+ fontSize: sectionproperties.filterCatFontSize + 'px',
262
+ }),
263
+ pCollectionName: css({
264
+ color: sectionproperties.filtertitle_color,
265
+ fontWeight: sectionproperties.filterPCollFontWeight,
266
+ fontSize: sectionproperties.filterPCollFontSize + 'px',
267
+ }),
268
+ explorebtn: css({
269
+ fontSize: sectionproperties.explorebtnfontsize + 'px',
270
+ fontWeight: 600,
271
+ color: sectionproperties.explorebtncolor,
272
+ transition: '.3s',
273
+ ':hover': {
274
+ color: sectionproperties.explorebtncoloronhover,
275
+ },
276
+ }),
277
+ };
278
+ const CategoriesFilter = () => {
279
+ return (
280
+ <div class="col-lg-12 p-0">
281
+ {instcategories?.map((categoryItem, categoryIndex) => {
282
+ if (categoryItem.isinftiler == 1) {
283
+ return (
284
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
285
+ <AccordionItem uuid={categoryIndex}>
286
+ <AccordionItemHeading>
287
+ <AccordionItemButton>
288
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-1 pl-md-3 pr-md-3 '}>
289
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
290
+ <p className={filter_cssstyles.categoryName + ' collapsetitle text-capitalize m-0 p-0 '}>
291
+ {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
292
+ </p>
293
+ </div>
294
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
295
+ <AccordionItemState>
296
+ {(state) => {
297
+ if (state.expanded == true) {
298
+ return (
299
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
300
+ <FiChevronDown />
301
+ </i>
302
+ );
303
+ } else {
304
+ return (
305
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
306
+ <FiChevronUp />
307
+ </i>
308
+ );
309
+ }
310
+ }}
311
+ </AccordionItemState>
312
+ </div>
313
+ <div className="col-lg-12 p-0">
314
+ <hr className="mt-3 mb-2" />
315
+ </div>
316
+ </div>
317
+ </AccordionItemButton>
318
+ </AccordionItemHeading>
319
+ <AccordionItemPanel className="p-0">
320
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
321
+ <div class="col-lg-12 mb-3 allcentered">
322
+ <p
323
+ class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
324
+ style={{ textDecoration: 'underline' }}
325
+ onClick={() => {
326
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'categories/' + categoryItem.categoryid);
327
+ }}
328
+ >
329
+ {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
330
+ {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
331
+ </p>
332
+ </div>
333
+ {authdetailsContext?.instinfo?.instcategories[categoryIndex]?.parentcolletions.map((parentcollectionitem, parentcollectionindex) => {
334
+ if (parentcollectionitem.isinftiler == 1) {
335
+ return (
336
+ <div class="col-lg-12">
337
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
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
359
+ className={
360
+ filter_cssstyles.collapsetitle +
361
+ ' collapsetitle h-100 d-flex align-items-center justify-content-end '
362
+ }
363
+ >
364
+ <FiChevronDown />
365
+ </i>
366
+ );
367
+ } else {
368
+ return (
369
+ <i
370
+ className={
371
+ filter_cssstyles.collapsetitle +
372
+ ' collapsetitle h-100 d-flex align-items-center justify-content-end '
373
+ }
374
+ >
375
+ <FiChevronUp />
376
+ </i>
377
+ );
378
+ }
379
+ }}
380
+ </AccordionItemState>
381
+ </div>
382
+ </div>
383
+ </AccordionItemButton>
384
+ </AccordionItemHeading>
385
+ <AccordionItemPanel className="p-0">
386
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex ">
387
+ <div class="col-lg-12 mb-3 allcentered">
388
+ <p
389
+ class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
390
+ style={{ textDecoration: 'underline' }}
391
+ onClick={() => {
392
+ routingcountext(
393
+ StaticPagesLinksContext.GeneralProductsComponent,
394
+ true,
395
+ 'parentcollections/' + parentcollectionitem.parentcollectionid,
396
+ );
397
+ }}
398
+ >
399
+ {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
400
+ {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
401
+ </p>
402
+ </div>
403
+ <div className={'col-lg-12 pl-md-3 pr-md-3'}>
404
+ <div
405
+ className={
406
+ langdetect == 'en'
407
+ ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
408
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
409
+ }
410
+ >
411
+ {parentcollectionitem?.collections?.map((collectionitem, collectionindex) => {
412
+ if (collectionitem.isinftiler == 1) {
413
+ return (
414
+ <div
415
+ className={
416
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
417
+ filter_cssstyles.timelineinnercont
418
+ }
419
+ ${collectionitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
420
+ ` + ' d-flex align-items-start pb-3 '
421
+ }
422
+ onClick={() => {
423
+ setCollectionFilterFunc(collectionitem.collectionid);
424
+ }}
425
+ >
426
+ <div
427
+ className={
428
+ ` ${collectionitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${
429
+ filterstyles.btn_item
430
+ } ${filter_cssstyles.btn_item}` + ' mb-2 d-flex align-items-center '
431
+ }
432
+ >
433
+ <i className="h-100 d-flex align-items-center"></i>
434
+ </div>
435
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
436
+ <p
437
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
438
+ style={{
439
+ color: collectionitem.isfilterselected ? sectionproperties.activecat_color : '',
440
+ }}
441
+ >
442
+ {langdetect == 'en' ? collectionitem.title_en : collectionitem.title_ar}
443
+ </p>
444
+ </div>
445
+ </div>
446
+ );
447
+ }
448
+ })}
449
+ </div>
450
+ </div>
451
+ </div>
452
+ </AccordionItemPanel>
453
+ </AccordionItem>
454
+ </Accordion>
455
+ </div>
456
+ );
457
+ }
458
+ })}
459
+ </div>
460
+ </AccordionItemPanel>
461
+ </AccordionItem>
462
+ </Accordion>
463
+ );
464
+ }
465
+ })}
466
+ </div>
467
+ );
468
+ };
469
+ const CollectionsFilter = () => {
470
+ return (
471
+ <div class="col-lg-12 p-0">
472
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
473
+ <AccordionItem uuid={0}>
474
+ <AccordionItemHeading>
475
+ <AccordionItemButton>
476
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
477
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
478
+ <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
479
+ {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
480
+ </p>
481
+ </div>
482
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
483
+ <AccordionItemState>
484
+ {(state) => {
485
+ if (state.expanded == true) {
486
+ return (
487
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
488
+ <FiChevronDown />
489
+ </i>
490
+ );
491
+ } else {
492
+ return (
493
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
494
+ <FiChevronUp />
495
+ </i>
496
+ );
497
+ }
498
+ }}
499
+ </AccordionItemState>
500
+ </div>
501
+ </div>
502
+ </AccordionItemButton>
503
+ </AccordionItemHeading>
504
+ <AccordionItemPanel className="p-0">
505
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
506
+ <div className={'col-lg-12'}>
507
+ <div
508
+ className={
509
+ langdetect == 'en'
510
+ ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
511
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
512
+ }
513
+ >
514
+ {instcollections.map((item, index) => {
515
+ return (
516
+ <div
517
+ className={
518
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
519
+ ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
520
+ ` + ' d-flex align-items-start pb-3 '
521
+ }
522
+ onClick={() => {
523
+ setCollectionFilterFunc(item.collectionid);
524
+ }}
525
+ >
526
+ <div
527
+ className={
528
+ ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
529
+ ' mb-2 d-flex align-items-center '
530
+ }
531
+ >
532
+ <i className="h-100 d-flex align-items-center"></i>
533
+ </div>
534
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
535
+ <p
536
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
537
+ style={{
538
+ color: item.isfilterselected ? sectionproperties.activecat_color : '',
539
+ }}
540
+ >
541
+ {langdetect == 'en' ? item.title_en : item.title_ar}
542
+ </p>
543
+ </div>
544
+ </div>
545
+ );
546
+ })}
547
+ </div>
548
+ </div>
549
+ </div>
550
+ </AccordionItemPanel>
551
+ </AccordionItem>
552
+ <hr className="mt-3 mb-3" />
553
+ </Accordion>
554
+ </div>
555
+ );
556
+ };
557
+ const InstFilters = () => {
558
+ return (
559
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
560
+ {instfilters.map((item, index) => {
561
+ return (
562
+ <>
563
+ <AccordionItem uuid={index}>
564
+ <AccordionItemHeading>
565
+ <AccordionItemButton>
566
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
567
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
568
+ <p
569
+ className={
570
+ langdetect == 'en'
571
+ ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
572
+ : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
573
+ }
574
+ >
575
+ {langdetect == 'en' ? item.optionname : item.optionname_ar}
576
+ </p>
577
+ </div>
578
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
579
+ <AccordionItemState>
580
+ {(state) => {
581
+ if (state.expanded == true) {
582
+ return (
583
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
584
+ <FiChevronDown />
585
+ </i>
586
+ );
587
+ } else {
588
+ return (
589
+ <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
590
+ <FiChevronUp />
591
+ </i>
592
+ );
593
+ }
594
+ }}
595
+ </AccordionItemState>
596
+ </div>
597
+ </div>
598
+ </AccordionItemButton>
599
+ </AccordionItemHeading>
600
+ <AccordionItemPanel className="p-0">
601
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
602
+ <div className={'col-lg-12'}>
603
+ <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
604
+ {item.productvaluesfilter.map((valueitem, valueindex) => {
605
+ return (
606
+ <div
607
+ className={
608
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
609
+ ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
610
+
611
+ ` + ' d-flex align-items-start pb-3 '
612
+ }
613
+ onClick={() => {
614
+ setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
615
+ }}
616
+ >
617
+ <div>
618
+ <div
619
+ className={
620
+ ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
621
+ ' mb-2 d-flex align-items-center '
622
+ }
623
+ >
624
+ <i className="h-100 d-flex align-items-center"></i>
625
+ </div>
626
+ </div>
627
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
628
+ <p
629
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
630
+ style={{
631
+ color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
632
+ }}
633
+ >
634
+ {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
635
+ </p>
636
+ </div>
637
+ </div>
638
+ );
639
+ })}
640
+ </div>
641
+ </div>
642
+ </div>
643
+ </AccordionItemPanel>
644
+ </AccordionItem>
645
+ <hr className="mt-3 mb-3" />
646
+ </>
647
+ );
648
+ })}
649
+ </Accordion>
650
+ );
651
+ };
652
+ return (
653
+ <div className="col-lg-12 p-0 w-100 filter mt-md-0 d-md-none" style={{ marginTop: sectionproperties.filtersection_mt + 'px' }}>
654
+ {sectionproperties.filterdirection == 'Horizontal' && (
655
+ <div className={sectionproperties.filterscat_showas == 'vertical' ? ' row m-0 w-100 ' : `${filterstyles.outercontainer}` + ' row m-0 w-100 '}>
656
+ <div className={`${filterstyles.card}` + ' col-lg-2 w-100 '}>
657
+ <div className={`${filterstyles.horizontalfilter_card}` + ' w-100 d-flex align-items-center '}>
658
+ <div className={`${filterstyles.timeline}` + ' w-100'}>
659
+ <Dropdown>
660
+ <Dropdown.Toggle className="d-flex align-items-center w-100 bg-transparent">
661
+ <div className="row m-0 w-100 h-100 d-flex align-items-center">
662
+ <div className="col-lg-11 d-flex align-items-start p-0">
663
+ <p className={`${filter_cssstyles.collapsetitle}` + ' p-0 m-0 '}>
664
+ {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
665
+ </p>
666
+ </div>
667
+ <i className="fa fa-chevron-down ml-auto"></i>
668
+ </div>
669
+ </Dropdown.Toggle>
670
+ <Dropdown.Menu>
671
+ {instcollections.map((item, index) => {
672
+ return (
673
+ <div
674
+ className={
675
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont} ${
676
+ item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''
677
+ } ` + ' d-flex align-items-start pb-3 '
678
+ }
679
+ onClick={() => {
680
+ setCollectionFilterFunc(item.collectionid);
681
+ // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
682
+ }}
683
+ >
684
+ <div>
685
+ <div
686
+ className={
687
+ ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
688
+ ' mb-2 d-flex align-items-center '
689
+ }
690
+ >
691
+ <i className="h-100 d-flex align-items-center"></i>
692
+ </div>
693
+ </div>
694
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
695
+ <p className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}>
696
+ {langdetect == 'en' ? item.title_en : item.title_ar}
697
+ </p>
698
+ </div>
699
+ </div>
700
+ );
701
+ })}
702
+ </Dropdown.Menu>
703
+ </Dropdown>
704
+ </div>
705
+ </div>
706
+ </div>
707
+ {instfilters.map((item, index) => {
708
+ return (
709
+ <div className={`${filterstyles.card}` + ' col-lg-2 w-100 '}>
710
+ <div className={`${filterstyles.horizontalfilter_card}` + ' w-100 d-flex align-items-center '}>
711
+ <div className={`${filterstyles.timeline}` + ' w-100'}>
712
+ <Dropdown>
713
+ <Dropdown.Toggle className="d-flex align-items-center w-100 bg-transparent">
714
+ <div className="row m-0 w-100 h-100 d-flex align-items-center">
715
+ <div className="col-lg-11 d-flex align-items-start p-0">
716
+ <p className={`${filter_cssstyles.collapsetitle}` + ' p-0 m-0 '}>{item.optionname}</p>
717
+ </div>
718
+ <i className="fa fa-chevron-down ml-auto"></i>
719
+ </div>
720
+ </Dropdown.Toggle>
721
+ <Dropdown.Menu>
722
+ {item.productvaluesfilter.map((valueitem, valueindex) => {
723
+ return (
724
+ <div
725
+ className={
726
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
727
+ ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
728
+ ` + ' d-flex align-items-start pb-3 '
729
+ }
730
+ onClick={() => {
731
+ setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
732
+ }}
733
+ >
734
+ <div>
735
+ <div
736
+ className={
737
+ ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
738
+ ' mb-2 d-flex align-items-center '
739
+ }
740
+ >
741
+ <i className="h-100 d-flex align-items-center"></i>
742
+ </div>
743
+ </div>
744
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
745
+ <p className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}>
746
+ {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
747
+ </p>
748
+ </div>
749
+ </div>
750
+ );
751
+ })}
752
+ </Dropdown.Menu>
753
+ </Dropdown>
754
+ </div>
755
+ </div>
756
+ </div>
757
+ );
758
+ })}
759
+ </div>
760
+ )}
761
+ {sectionproperties.filterdirection == 'Vertical' && (
762
+ <div
763
+ className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
764
+ id="filterslider"
765
+ style={{
766
+ background: sectionproperties.filter_backgroundcolor,
767
+ borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
768
+ }}
769
+ >
770
+ <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
771
+ <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
772
+ <p
773
+ className="m-0 p-0 font-16 font-weight-600"
774
+ style={{
775
+ color: sectionproperties.filter_titlecolor,
776
+ fontSize: sectionproperties.filter_titlefontsize + 'px',
777
+ fontWeight: sectionproperties.filter_titlefontweight,
778
+ textTransform: sectionproperties.filter_titletextransform,
779
+ }}
780
+ >
781
+ {langdetect == 'en' ? 'Filter' : 'فلترة'}
782
+ </p>
783
+ </div>
784
+ <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
785
+ <div
786
+ className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
787
+ onClick={() => {
788
+ var element = document.getElementById('filterslider');
789
+ element.classList.remove(filterstyles.filterslider_container_opened);
790
+ }}
791
+ >
792
+ <i className="h-100 d-flex align-items-center justify-content-center">
793
+ <IoMdClose
794
+ size={sectionproperties.closeSlider_fontSize}
795
+ style={{
796
+ color: sectionproperties.closeSlider_color,
797
+ }}
798
+ />
799
+ </i>
800
+ </div>
801
+ </div>
802
+ {sectionproperties.otherfilters == 'Show' && (
803
+ <div class="row m-0 w-100">
804
+ <div class="col-lg-12 d-flex justify-content-start">
805
+ <p
806
+ className="m-0 p-0 font-16 font-weight-600"
807
+ style={{
808
+ color: sectionproperties.filter_titlecolor,
809
+ fontSize: sectionproperties.filter_titlefontsize + 'px',
810
+ fontWeight: sectionproperties.filter_titlefontweight,
811
+ textTransform: sectionproperties.filter_titletextransform,
812
+ }}
813
+ >
814
+ {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
815
+ </p>
816
+ </div>
817
+ <div className="col-lg-12">
818
+ <hr className="mt-2 mb-3" />
819
+ </div>
820
+ {otherfilters.map((item, index) => {
821
+ return (
822
+ <div className="col-lg-12 pl-4 pr-4">
823
+ {/* <div class="dropdowncontainer mr-2 mt-sm-3">
824
+ {/* checked={checked}
825
+ <input class="dropdown" type="checkbox" id="dropdown" name="dropdown" hidden />
826
+ <label
827
+ // onClick={() => {
828
+ // setChecked(!checked);
829
+ // }}
830
+ className={' d-flex justify-content-center align-items-center for-dropdown'}
831
+ for="dropdown"
832
+ style={{ cursor: 'pointer' }}
833
+ >
834
+ {sortby}
835
+ {/* <i className="bx bx-chevron-down ml-2" style={{ fontSize: '20px' }}></i>
836
+ </label>
837
+ <div class="dropdownmenu">
838
+ {item.filterarray.map((valueitem, valueindex) => {
839
+ var ischecked = false;
840
+ if (item.payloadvalue == 'sortprice') {
841
+ if (valueitem.value == ProductFilterObjContext.sortprice) {
842
+ ischecked = true;
843
+ }
844
+ } else if (item.payloadvalue == 'sortdates') {
845
+ if (valueitem.value == ProductFilterObjContext.sortdates) {
846
+ ischecked = true;
847
+ }
848
+ }
849
+ return (
850
+ <p
851
+ class="dropdownlink"
852
+ onClick={() => {
853
+ // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
854
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
855
+ if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
856
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
857
+ } else {
858
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
859
+ }
860
+ tempfetchproductsfilerobjcontext.page = 0;
861
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
862
+ routingcountext(
863
+ StaticPagesLinksContext.GeneralProductsComponent,
864
+ true,
865
+ encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)),
866
+ );
867
+ setSortby(valueitem.name);
868
+ }}
869
+ >
870
+ {valueitem.name}
871
+ </p>
872
+ );
873
+ })}
874
+ </div>
875
+ </div> */}
876
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
877
+ <AccordionItem uuid={index}>
878
+ <AccordionItemHeading>
879
+ <AccordionItemButton>
880
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
881
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
882
+ <p
883
+ className={
884
+ langdetect == 'en'
885
+ ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
886
+ : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
887
+ }
888
+ >
889
+ {item.name}
890
+ </p>
891
+ </div>
892
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
893
+ <AccordionItemState>
894
+ {(state) => {
895
+ if (state.expanded == true) {
896
+ return (
897
+ <i
898
+ className={
899
+ filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
900
+ }
901
+ >
902
+ <FiChevronDown />
903
+ </i>
904
+ );
905
+ } else {
906
+ return (
907
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
908
+ <FiChevronUp />
909
+ </i>
910
+ );
911
+ }
912
+ }}
913
+ </AccordionItemState>
914
+ </div>
915
+ </div>
916
+ </AccordionItemButton>
917
+ </AccordionItemHeading>
918
+ <AccordionItemPanel className="p-0">
919
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
920
+ <div className={'col-lg-12'}>
921
+ <div
922
+ className={
923
+ langdetect == 'en'
924
+ ? `${filterstyles.timeline}` + ' p-sm-0 '
925
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
926
+ }
927
+ >
928
+ {item.filterarray.map((valueitem, valueindex) => {
929
+ var ischecked = false;
930
+ if (item.payloadvalue == 'sortprice') {
931
+ if (valueitem.value == ProductFilterObjContext.sortprice) {
932
+ ischecked = true;
933
+ }
934
+ } else if (item.payloadvalue == 'sortdates') {
935
+ if (valueitem.value == ProductFilterObjContext.sortdates) {
936
+ ischecked = true;
937
+ }
938
+ }
939
+ return (
940
+ <div
941
+ className={
942
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
943
+ ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
944
+
945
+ ` + ' d-flex align-items-start pb-3 '
946
+ }
947
+ onClick={() => {
948
+ // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
949
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
950
+ if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
951
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
952
+ } else {
953
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
954
+ }
955
+ tempfetchproductsfilerobjcontext.page = 0;
956
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
957
+ routingcountext(
958
+ StaticPagesLinksContext.GeneralProductsComponent,
959
+ true,
960
+ encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)),
961
+ );
962
+ }}
963
+ >
964
+ <div>
965
+ <div
966
+ className={
967
+ ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
968
+ filter_cssstyles.btn_item
969
+ }` + ' mb-2 d-flex align-items-center '
970
+ }
971
+ >
972
+ <i className="h-100 d-flex align-items-center"></i>
973
+ </div>
974
+ </div>
975
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
976
+ <p
977
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
978
+ style={{
979
+ color: ischecked ? sectionproperties.activecat_color : '',
980
+ }}
981
+ >
982
+ {valueitem.name}
983
+ </p>
984
+ </div>
985
+ </div>
986
+ );
987
+ })}
988
+ </div>
989
+ </div>
990
+ </div>
991
+ </AccordionItemPanel>
992
+ </AccordionItem>
993
+ </Accordion>
994
+ </div>
995
+ );
996
+ })}
997
+ {sectionproperties.showfilterbyrating == 'Show' && (
998
+ <div className="col-lg-12 pl-4 pr-4">
999
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1000
+ <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
1001
+ <p
1002
+ className={
1003
+ langdetect == 'en'
1004
+ ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
1005
+ : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1006
+ }
1007
+ >
1008
+ {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
1009
+ </p>
1010
+ </div>
1011
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
1012
+ <InputRange
1013
+ draggableTrack={true}
1014
+ formatLabel={(value) => `${value}`}
1015
+ maxValue={5}
1016
+ minValue={0}
1017
+ value={raterangevalue}
1018
+ onChange={(value) => {
1019
+ setraterangevalue({ ...value });
1020
+ }}
1021
+ />
1022
+ </div>
1023
+ </div>
1024
+ </div>
1025
+ )}
1026
+ </div>
1027
+ )}
1028
+ <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center d-md-none">
1029
+ <p
1030
+ className="m-0 p-0 font-16 font-weight-600"
1031
+ style={{
1032
+ color: sectionproperties.filter_titlecolor,
1033
+ fontSize: sectionproperties.filter_titlefontsize + 'px',
1034
+ fontWeight: sectionproperties.filter_titlefontweight,
1035
+ textTransform: sectionproperties.filter_titletextransform,
1036
+ }}
1037
+ >
1038
+ {langdetect == 'en' ? 'Filter' : 'فلترة'}
1039
+ </p>
1040
+ </div>
1041
+ <div className="col-lg-3 col-md-3 col-sm-3 d-flex d-md-none align-items-center justify-content-end p-0">
1042
+ <div
1043
+ className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1044
+ onClick={() => {
1045
+ var element = document.getElementById('filterslider');
1046
+ element.classList.remove(filterstyles.filterslider_container_opened);
1047
+ }}
1048
+ >
1049
+ <i className="h-100 d-flex align-items-center justify-content-center">
1050
+ <IoMdClose
1051
+ size={sectionproperties.closeSlider_fontSize}
1052
+ style={{
1053
+ color: sectionproperties.closeSlider_color,
1054
+ }}
1055
+ />
1056
+ </i>
1057
+ </div>
1058
+ </div>
1059
+ <div className="col-lg-12">
1060
+ <hr className="mt-2 mb-3" />
1061
+ </div>
1062
+ <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
1063
+ {sectionproperties.filterType == 'All' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
1064
+ {sectionproperties.filterType == 'Collections' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
1065
+ {InstFilters()}
1066
+ </div>
1067
+ </div>
1068
+ </div>
1069
+ )}
1070
+ <div className="col-lg-12">
1071
+ <Offcanvas
1072
+ show={props?.openFilterSlider}
1073
+ onHide={() => {
1074
+ props.setopenFilterSlider(false);
1075
+ }}
1076
+ placement="end"
1077
+ scroll={true}
1078
+ style={{
1079
+ minWidth: '200px',
1080
+ background: sectionproperties.filter_backgroundcolor,
1081
+ borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1082
+ }}
1083
+ backdrop={true}
1084
+ >
1085
+ <Offcanvas.Header>
1086
+ <Offcanvas.Title>
1087
+ <div className="row m-0 w-100 mt-2">
1088
+ <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
1089
+ <p
1090
+ className="m-0 p-0 font-16 font-weight-600"
1091
+ style={{
1092
+ color: sectionproperties.filter_titlecolor,
1093
+ fontSize: sectionproperties.filter_titlefontsize + 'px',
1094
+ fontWeight: sectionproperties.filter_titlefontweight,
1095
+ textTransform: sectionproperties.filter_titletextransform,
1096
+ }}
1097
+ >
1098
+ {langdetect == 'en' ? 'Filter' : 'فلترة'}
1099
+ </p>
1100
+ </div>
1101
+ <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
1102
+ <div
1103
+ className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
1104
+ onClick={() => {
1105
+ props.setopenFilterSlider(false);
1106
+ }}
1107
+ >
1108
+ <i className="h-100 d-flex align-items-center justify-content-center">
1109
+ <IoMdClose
1110
+ size={sectionproperties.closeSlider_fontSize}
1111
+ style={{
1112
+ color: sectionproperties.closeSlider_color,
1113
+ }}
1114
+ />
1115
+ </i>
1116
+ </div>
1117
+ </div>
1118
+ <div class="col-lg-12">
1119
+ <hr class="mt-2 mb-2" />
1120
+ </div>
1121
+ </div>
1122
+ </Offcanvas.Title>
1123
+ </Offcanvas.Header>
1124
+ <Offcanvas.Body>
1125
+ <div
1126
+ className={' pb-md-5 '}
1127
+ style={{
1128
+ background: sectionproperties.filter_backgroundcolor,
1129
+ borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
1130
+ }}
1131
+ >
1132
+ <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
1133
+ {sectionproperties.otherfilters == 'Show' &&
1134
+ otherfilters.map((item, index) => {
1135
+ return (
1136
+ <>
1137
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
1138
+ <AccordionItem uuid={index}>
1139
+ <AccordionItemHeading>
1140
+ <AccordionItemButton>
1141
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1142
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1143
+ <p
1144
+ className={
1145
+ langdetect == 'en'
1146
+ ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
1147
+ : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
1148
+ }
1149
+ >
1150
+ {item.name}
1151
+ </p>
1152
+ </div>
1153
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1154
+ <AccordionItemState>
1155
+ {(state) => {
1156
+ if (state.expanded == true) {
1157
+ return (
1158
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1159
+ <FiChevronDown />
1160
+ </i>
1161
+ );
1162
+ } else {
1163
+ return (
1164
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1165
+ <FiChevronUp />
1166
+ </i>
1167
+ );
1168
+ }
1169
+ }}
1170
+ </AccordionItemState>
1171
+ </div>
1172
+ </div>
1173
+ </AccordionItemButton>
1174
+ </AccordionItemHeading>
1175
+ <AccordionItemPanel className="p-0">
1176
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1177
+ <div className={'col-lg-12'}>
1178
+ <div
1179
+ className={
1180
+ langdetect == 'en'
1181
+ ? `${filterstyles.timeline}` + ' p-sm-0 '
1182
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1183
+ }
1184
+ >
1185
+ {item.filterarray.map((valueitem, valueindex) => {
1186
+ var ischecked = false;
1187
+ if (item.payloadvalue == 'sortprice') {
1188
+ if (valueitem.value == ProductFilterObjContext.sortprice) {
1189
+ ischecked = true;
1190
+ }
1191
+ } else if (item.payloadvalue == 'sortdates') {
1192
+ if (valueitem.value == ProductFilterObjContext.sortdates) {
1193
+ ischecked = true;
1194
+ }
1195
+ }
1196
+ return (
1197
+ <div
1198
+ className={
1199
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1200
+ ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1201
+
1202
+ ` + ' d-flex align-items-start pb-3 '
1203
+ }
1204
+ onClick={() => {
1205
+ // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1206
+ var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1207
+ if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
1208
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
1209
+ } else {
1210
+ tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
1211
+ }
1212
+ setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1213
+ }}
1214
+ >
1215
+ <div>
1216
+ <div
1217
+ className={
1218
+ ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1219
+ filter_cssstyles.btn_item
1220
+ }` + ' mb-2 d-flex align-items-center '
1221
+ }
1222
+ >
1223
+ <i className="h-100 d-flex align-items-center"></i>
1224
+ </div>
1225
+ </div>
1226
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1227
+ <p
1228
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1229
+ style={{
1230
+ color: ischecked ? sectionproperties.activecat_color : '',
1231
+ }}
1232
+ >
1233
+ {valueitem.name}
1234
+ </p>
1235
+ </div>
1236
+ </div>
1237
+ );
1238
+ })}
1239
+ </div>
1240
+ </div>
1241
+ </div>
1242
+ </AccordionItemPanel>
1243
+ </AccordionItem>
1244
+ </Accordion>
1245
+ <hr className="mt-3 mb-3" />
1246
+ </>
1247
+ );
1248
+ })}
1249
+ {sectionproperties.otherfilters == 'Show' && (
1250
+ <div className="col-lg-12">
1251
+ <hr className="mt-2 mb-3" />
1252
+ </div>
1253
+ )}
1254
+ <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
1255
+ {sectionproperties.filterType == 'All' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
1256
+ {sectionproperties.filterType == 'Collections' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
1257
+ {InstFilters()}
1258
+ {/* <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
1259
+ <AccordionItem uuid={0}>
1260
+ <AccordionItemHeading>
1261
+ <AccordionItemButton>
1262
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1263
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1264
+ <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
1265
+ {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
1266
+ </p>
1267
+ </div>
1268
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1269
+ <AccordionItemState>
1270
+ {(state) => {
1271
+ if (state.expanded == true) {
1272
+ return (
1273
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1274
+ <FiChevronDown />
1275
+ </i>
1276
+ );
1277
+ } else {
1278
+ return (
1279
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1280
+ <FiChevronUp />
1281
+ </i>
1282
+ );
1283
+ }
1284
+ }}
1285
+ </AccordionItemState>
1286
+ </div>
1287
+ </div>
1288
+ </AccordionItemButton>
1289
+ </AccordionItemHeading>
1290
+ <AccordionItemPanel className="p-0">
1291
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1292
+ <div className={'col-lg-12'}>
1293
+ <div
1294
+ className={
1295
+ langdetect == 'en'
1296
+ ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1297
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1298
+ }
1299
+ >
1300
+ {instcollections.map((item, index) => {
1301
+ return (
1302
+ <div
1303
+ className={
1304
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1305
+ ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1306
+ ` + ' d-flex align-items-start pb-3 '
1307
+ }
1308
+ onClick={() => {
1309
+ setCollectionFilterFunc(item.collectionid);
1310
+ }}
1311
+ >
1312
+ <div
1313
+ className={
1314
+ ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1315
+ filter_cssstyles.btn_item
1316
+ }` + ' mb-2 d-flex align-items-center '
1317
+ }
1318
+ >
1319
+ <i className="h-100 d-flex align-items-center"></i>
1320
+ </div>
1321
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1322
+ <p
1323
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1324
+ style={{
1325
+ color: item.isfilterselected ? sectionproperties.activecat_color : '',
1326
+ }}
1327
+ >
1328
+ {langdetect == 'en' ? item.title_en : item.title_ar}
1329
+ </p>
1330
+ </div>
1331
+ </div>
1332
+ );
1333
+ })}
1334
+ </div>
1335
+ </div>
1336
+ </div>
1337
+ </AccordionItemPanel>
1338
+ </AccordionItem>
1339
+ </Accordion>
1340
+ <div class="col-lg-12">
1341
+ <hr className="mt-3 mb-3" />
1342
+ </div>
1343
+ <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
1344
+ {instfilters.map((item, index) => {
1345
+ return (
1346
+ <>
1347
+ <AccordionItem uuid={index}>
1348
+ <AccordionItemHeading>
1349
+ <AccordionItemButton>
1350
+ <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
1351
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1352
+ <p
1353
+ className={
1354
+ langdetect == 'en'
1355
+ ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
1356
+ : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
1357
+ }
1358
+ >
1359
+ {langdetect == 'en' ? item.optionname : item.optionname_ar}
1360
+ </p>
1361
+ </div>
1362
+ <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1363
+ <AccordionItemState>
1364
+ {(state) => {
1365
+ if (state.expanded == true) {
1366
+ return (
1367
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1368
+ <FiChevronDown />
1369
+ </i>
1370
+ );
1371
+ } else {
1372
+ return (
1373
+ <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
1374
+ <FiChevronUp />
1375
+ </i>
1376
+ );
1377
+ }
1378
+ }}
1379
+ </AccordionItemState>
1380
+ </div>
1381
+ </div>
1382
+ </AccordionItemButton>
1383
+ </AccordionItemHeading>
1384
+ <AccordionItemPanel className="p-0">
1385
+ <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
1386
+ <div className={'col-lg-12'}>
1387
+ <div
1388
+ className={
1389
+ langdetect == 'en'
1390
+ ? `${filterstyles.timeline}` + ' p-sm-0 '
1391
+ : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1392
+ }
1393
+ >
1394
+ {item.productvaluesfilter.map((valueitem, valueindex) => {
1395
+ return (
1396
+ <div
1397
+ className={
1398
+ `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1399
+ ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1400
+
1401
+ ` + ' d-flex align-items-start pb-3 '
1402
+ }
1403
+ onClick={() => {
1404
+ setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1405
+ }}
1406
+ >
1407
+ <div>
1408
+ <div
1409
+ className={
1410
+ ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1411
+ filter_cssstyles.btn_item
1412
+ }` + ' mb-2 d-flex align-items-center '
1413
+ }
1414
+ >
1415
+ <i className="h-100 d-flex align-items-center"></i>
1416
+ </div>
1417
+ </div>
1418
+ <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1419
+ <p
1420
+ className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1421
+ style={{
1422
+ color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
1423
+ }}
1424
+ >
1425
+ {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
1426
+ </p>
1427
+ </div>
1428
+ </div>
1429
+ );
1430
+ })}
1431
+ </div>
1432
+ </div>
1433
+ </div>
1434
+ </AccordionItemPanel>
1435
+ </AccordionItem>
1436
+ <hr className="mt-3 mb-3" />
1437
+ </>
1438
+ );
1439
+ })}
1440
+ </Accordion> */}
1441
+ </div>
1442
+ </div>
1443
+ </div>
1444
+ </Offcanvas.Body>
1445
+ </Offcanvas>
1446
+ </div>
1447
+ </div>
1448
+ );
1449
+ };
1450
+ export default Filter;