tabexseriescomponents 0.0.217 → 0.0.220

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