tabexseriescomponents 0.0.64 → 0.0.66

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 (178) hide show
  1. package/dist/index.cjs.js +25023 -16634
  2. package/dist/index.esm.js +25033 -16645
  3. package/dist/index.umd.js +24824 -16437
  4. package/package.json +1 -1
  5. package/src1-10/Contexts/LanguageContext.jsx +347 -0
  6. package/src1-10/Contexts/ProductsCardsSectionContext.jsx +28 -0
  7. package/src1-10/StylesJS/Customstyles.js +235 -0
  8. package/src1-10/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +205 -0
  9. package/src1-10/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +239 -0
  10. package/src1-10/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +198 -0
  11. package/src1-10/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +169 -0
  12. package/src1-10/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +180 -0
  13. package/src1-10/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +162 -0
  14. package/src1-10/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +184 -0
  15. package/src1-10/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +149 -0
  16. package/src1-10/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +271 -0
  17. package/src1-10/TabexComponents/Cards/MenuCard/MenuCard.jsx +546 -0
  18. package/src1-10/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +474 -0
  19. package/src1-10/TabexComponents/Cards/Productcard6/Productcard6.jsx +290 -0
  20. package/src1-10/TabexComponents/Cards/Productcard7/Productcard7.jsx +278 -0
  21. package/src1-10/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +293 -0
  22. package/src1-10/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +278 -0
  23. package/src1-10/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +312 -0
  24. package/src1-10/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +279 -0
  25. package/src1-10/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +293 -0
  26. package/src1-10/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +456 -0
  27. package/src1-10/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +272 -0
  28. package/src1-10/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +286 -0
  29. package/src1-10/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +127 -0
  30. package/src1-10/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +126 -0
  31. package/src1-10/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +292 -0
  32. package/src1-10/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +281 -0
  33. package/src1-10/TabexComponents/Footer/Footer1/Footer1.jsx +418 -0
  34. package/src1-10/TabexComponents/Footer/Footer2/Footer2.jsx +381 -0
  35. package/src1-10/TabexComponents/Footer/Footer3/Footer3.jsx +316 -0
  36. package/src1-10/TabexComponents/Footer/Footer4/Footer4.jsx +437 -0
  37. package/src1-10/TabexComponents/Footer/Footer5/Footer5.jsx +488 -0
  38. package/src1-10/TabexComponents/Footer/Footer6/Footer6.jsx +286 -0
  39. package/src1-10/TabexComponents/Footer/Footer7/Footer7.jsx +370 -0
  40. package/src1-10/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +231 -0
  41. package/src1-10/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  42. package/src1-10/TabexComponents/Generalfiles/images/noimage.png +0 -0
  43. package/src1-10/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  44. package/src1-10/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  45. package/src1-10/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  46. package/src1-10/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  47. package/src1-10/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  48. package/src1-10/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  49. package/src1-10/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  50. package/src1-10/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  51. package/src1-10/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  52. package/src1-10/TabexComponents/Generalfiles/images/usflag.png +0 -0
  53. package/src1-10/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  54. package/src1-10/TabexComponents/Headers/AllinoneHeader/AllinoneHeader.jsx +722 -0
  55. package/src1-10/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +681 -0
  56. package/src1-10/TabexComponents/Headers/Header4/Header4.jsx +614 -0
  57. package/src1-10/TabexComponents/Headers/Header6/Header6.jsx +666 -0
  58. package/src1-10/TabexComponents/Headers/Header8/Header8.jsx +888 -0
  59. package/src1-10/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +710 -0
  60. package/src1-10/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +769 -0
  61. package/src1-10/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +666 -0
  62. package/src1-10/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +940 -0
  63. package/src1-10/TabexComponents/Headers/Modernheader/Modernheader.jsx +714 -0
  64. package/src1-10/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +833 -0
  65. package/src1-10/TabexComponents/Headers/Subheader/Subheader.jsx +239 -0
  66. package/src1-10/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +312 -0
  67. package/src1-10/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +278 -0
  68. package/src1-10/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +129 -0
  69. package/src1-10/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +153 -0
  70. package/src1-10/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +295 -0
  71. package/src1-10/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +409 -0
  72. package/src1-10/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +793 -0
  73. package/src1-10/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +486 -0
  74. package/src1-10/TabexComponents/Sections/Cards/CardsSection7/CardsSection7.js +888 -0
  75. package/src1-10/TabexComponents/Sections/Cards/CardsSection8/CardsSection8.js +419 -0
  76. package/src1-10/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +512 -0
  77. package/src1-10/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +281 -0
  78. package/src1-10/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +166 -0
  79. package/src1-10/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +152 -0
  80. package/src1-10/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +139 -0
  81. package/src1-10/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +146 -0
  82. package/src1-10/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +209 -0
  83. package/src1-10/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +145 -0
  84. package/src1-10/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +252 -0
  85. package/src1-10/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +175 -0
  86. package/src1-10/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +154 -0
  87. package/src1-10/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +193 -0
  88. package/src1-10/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +197 -0
  89. package/src1-10/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.js +91 -0
  90. package/src1-10/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +309 -0
  91. package/src1-10/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +260 -0
  92. package/src1-10/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +459 -0
  93. package/src1-10/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +216 -0
  94. package/src1-10/TabexComponents/StaticPages/Checkout/Checkout.jsx +1220 -0
  95. package/src1-10/TabexComponents/StaticPages/Filter/Filter.jsx +542 -0
  96. package/src1-10/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +51 -0
  97. package/src1-10/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +35 -0
  98. package/src1-10/TabexComponents/StaticPages/Login/Login.jsx +299 -0
  99. package/src1-10/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.js +192 -0
  100. package/src1-10/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +1271 -0
  101. package/src1-10/TabexComponents/StaticPages/Policies/Policies.jsx +353 -0
  102. package/src1-10/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +1456 -0
  103. package/src1-10/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +209 -0
  104. package/src1-10/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +776 -0
  105. package/src1-10/TabexComponents/StaticPages/Signup/Signup.jsx +157 -0
  106. package/src1-10/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +285 -0
  107. package/src1-10/TabexComponents/StaticPages/Viewcart/Viewcart.js +1090 -0
  108. package/src1-10/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +606 -0
  109. package/src1-10/assets/images/cod.png +0 -0
  110. package/src1-10/assets/images/egyptflag.png +0 -0
  111. package/src1-10/assets/images/fawry.png +0 -0
  112. package/src1-10/assets/images/payment.png +0 -0
  113. package/src1-10/assets/images/paymob.png +0 -0
  114. package/src1-10/assets/images/paypal.png +0 -0
  115. package/src1-10/assets/images/shoppingcart.png +0 -0
  116. package/src1-10/assets/images/usflag.png +0 -0
  117. package/src1-10/assets/images/visa.png +0 -0
  118. package/src1-10/assets/images/whatsapp.png +0 -0
  119. package/src1-10/button.jsx +40 -0
  120. package/src1-10/index.jsx +179 -0
  121. package/src1-10/styles/Home.module.css +129 -0
  122. package/src1-10/styles/cards/Categorcycard_fullimage.module.css +10 -0
  123. package/src1-10/styles/cards/Categorycard_slidebgscaled.module.css +73 -0
  124. package/src1-10/styles/cards/Categorycard_withshapes.module.css +189 -0
  125. package/src1-10/styles/cards/Productcard6.module.css +9 -0
  126. package/src1-10/styles/cards/Productcard_with_circularbg.module.css +137 -0
  127. package/src1-10/styles/cards/Productccard_with_zoominonhover.module.css +51 -0
  128. package/src1-10/styles/cards/Prouductcard_with_zoomhover.module.css +61 -0
  129. package/src1-10/styles/cards/categorycard.module.css +102 -0
  130. package/src1-10/styles/cards/categorycard3.module.css +51 -0
  131. package/src1-10/styles/cards/categorycardwithtext.module.css +40 -0
  132. package/src1-10/styles/cards/productcard_animatedbuttons.module.css +104 -0
  133. package/src1-10/styles/cards/productcard_with_textonhover.module.css +12 -0
  134. package/src1-10/styles/cards/productccard_with_imageontopleft.module.css +85 -0
  135. package/src1-10/styles/general/bootstrap.css +4415 -0
  136. package/src1-10/styles/general/dropdown.css +199 -0
  137. package/src1-10/styles/general/editorbardropdown.module.css +94 -0
  138. package/src1-10/styles/general/filter.module.css +108 -0
  139. package/src1-10/styles/general/form.module.css +273 -0
  140. package/src1-10/styles/general/general.module.css +861 -0
  141. package/src1-10/styles/general/image-gallery.css +481 -0
  142. package/src1-10/styles/general/react-accessible-accordion.module.css +52 -0
  143. package/src1-10/styles/general/react-phone-input-2.module.css +927 -0
  144. package/src1-10/styles/general/scrollbtn.module.css +22 -0
  145. package/src1-10/styles/general/slick.module.css +166 -0
  146. package/src1-10/styles/general/tabs.module.css +110 -0
  147. package/src1-10/styles/general/workplaceeditor.module.css +328 -0
  148. package/src1-10/styles/globals.css +26 -0
  149. package/src1-10/styles/headers/Allinoneheader.module.css +91 -0
  150. package/src1-10/styles/headers/Header7.module.css +50 -0
  151. package/src1-10/styles/headers/Header_threesectionslogocentered.module.css +97 -0
  152. package/src1-10/styles/headers/Sideheader.module.css +108 -0
  153. package/src1-10/styles/headers/classicheaderstyles.module.css +16 -0
  154. package/src1-10/styles/headers/dropdown.css +0 -0
  155. package/src1-10/styles/headers/header4.module.css +175 -0
  156. package/src1-10/styles/headers/header5.module.css +30 -0
  157. package/src1-10/styles/headers/header6.module.css +117 -0
  158. package/src1-10/styles/headers/header_contactinfo.module.css +78 -0
  159. package/src1-10/styles/headers/headerresturant.module.css +89 -0
  160. package/src1-10/styles/headers/headerstyles.module.css +24 -0
  161. package/src1-10/styles/headers/modernheader.module.css +78 -0
  162. package/src1-10/styles/headers/subheader.module.css +114 -0
  163. package/src1-10/styles/sections/Backgroundimage1.module.css +17 -0
  164. package/src1-10/styles/sections/Backgroundimage_with_topcircle.module.css +28 -0
  165. package/src1-10/styles/sections/Section_with_rightbgcont.module.css +49 -0
  166. package/src1-10/styles/sections/Slideshow_with_rotatedsquare.module.css +35 -0
  167. package/src1-10/styles/sections/Slideshow_with_squarebg.module.css +39 -0
  168. package/src1-10/styles/staticpages/accordion.module.css +9 -0
  169. package/src1-10/styles/staticpages/cart.module.css +108 -0
  170. package/src1-10/styles/staticpages/dropdown.css +196 -0
  171. package/src1-10/styles/staticpages/filter.module.css +139 -0
  172. package/src1-10/styles/staticpages/login.module.css +146 -0
  173. package/src1-10/styles/staticpages/productinfo.module.css +54 -0
  174. package/src1-10/styles/staticpages/shop.module.css +191 -0
  175. package/src1-10/styles/staticpages/signup.module.css +206 -0
  176. package/src1-10/styles/staticpages/staticroutersidenav.module.css +129 -0
  177. package/src1-10/styles/staticpages/viewcart.module.css +129 -0
  178. package/src1-10/styles/staticpages/wishlist.module.css +29 -0
@@ -0,0 +1,940 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ // import '../../Generalfiles/CSS_GENERAL/dropdown.css';
3
+ // import headerstyles from './HeaderwithContactinfo.module.css';
4
+ import headerstyles from '../../../styles/headers/header_contactinfo.module.css';
5
+
6
+ // import generalstyles from '../../Generalfiles/CSS_GENERAL/general.module.css';
7
+ import generalstyles from '../../../styles/general/general.module.css';
8
+
9
+ import Dropdown from 'react-bootstrap/Dropdown';
10
+ // import { LanguageContext } from '../../../LanguageContext';
11
+ // import { FetchingContext } from '../../../FetchingContext';
12
+ // import { TemplateRoutingContext } from '../../../TemplateRoutingContext';
13
+ // import { WebsiteDesignWorkPlaceContext } from '../../../../WebsiteDesignWorkPlaceContext';
14
+ import { GoSearch } from 'react-icons/go';
15
+ import { css } from 'glamor';
16
+ // import Searchlist from '../../StaticPages/Searchlist/Searchlist';
17
+ // import Subheader from '../Subheader/Subheader';
18
+ // import Headerresponsive from '../Headerresponsive/Headerresponsive';
19
+ // import egyptflag from '../../Generalfiles/images/egyptflag.png';
20
+ // import usflag from '../../Generalfiles/images/usflag.png';
21
+ import { FaFacebookF, FaRegHeart } from 'react-icons/fa';
22
+ import { AiOutlineInstagram, AiOutlineHeart, AiFillStar } from 'react-icons/ai';
23
+ import { MdKeyboardArrowDown } from 'react-icons/md';
24
+ import { FiShoppingBag, FiShoppingCart, FiUser } from 'react-icons/fi';
25
+ import { CgShoppingBag } from 'react-icons/cg';
26
+ import { IoClose } from 'react-icons/io5';
27
+ import { BsBag, BsHandbag } from 'react-icons/bs';
28
+ import { BiLogOutCircle } from 'react-icons/bi';
29
+ import { MdOutlinePolicy, MdOutlineShoppingCart } from 'react-icons/md';
30
+ import { AiOutlineStar, AiOutlineUserAdd, AiOutlineLogin } from 'react-icons/ai';
31
+ import { IKImage } from 'imagekitio-react';
32
+ import { IKpublicKey, IKurlEndpoint } from '../../../../Env';
33
+
34
+ import { AiFillPhone, AiOutlineMail, AiOutlineClockCircle } from 'react-icons/ai';
35
+ import { BsSearch, BsWhatsapp } from 'react-icons/bs';
36
+ import { Offcanvas } from 'react-bootstrap';
37
+
38
+ import Searchlist from '../../StaticPages/Searchlist/Searchlist.jsx';
39
+ import egyptflag from '../../../assets/images/egyptflag.png';
40
+ import usflag from '../../../assets/images/usflag.png';
41
+ import Headerresponsive from '../Headerresponsive/Headerresponsive.jsx';
42
+ import Subheader from '../Subheader/Subheader.jsx';
43
+
44
+ const HeaderwithContactinfo = (props) => {
45
+ // const { lang, setlang, langdetect } = useContext(LanguageContext);
46
+ // const { setSearchHeaderInputContext, setsidecartnavshowcontext, fetchAuthorizationQueryContext, fetchcustomercartQueryContext, LogoutMutationContext, templateproperties_context } =
47
+ // useContext(FetchingContext);
48
+ // const { routingcountext, StaticPagesLinksContext } = useContext(TemplateRoutingContext);
49
+ // const { fetch_inst_tabex_websitetemplatesQueryContext, StatePagePropertiesContext } = useContext(WebsiteDesignWorkPlaceContext);
50
+ const [sectionproperties, setsectionproperties] = useState('');
51
+
52
+ const LogoutMutationContext = props.actions.LogoutMutationContext;
53
+ const fetchcustomercartQueryContext = props.actions.fetchcustomercartQueryContext;
54
+ const setsidecartnavshowcontext = props.actions.setsidecartnavshowcontext;
55
+ const setSearchHeaderInputContext = props.actions.setSearchHeaderInputContext;
56
+ const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
57
+ const lang = props.actions.lang;
58
+ const langdetect = props.actions.langdetect;
59
+ const setlang = props.actions.setlang;
60
+ const templatepropcontext = props.actions.templatepropcontext;
61
+ const authdetailsContext = props.actions.authdetailsContext;
62
+ const templateproperties_context = props.actions.templateproperties_context;
63
+ const favoriteprojectscountContext = props.actions.favoriteprojectscountContext;
64
+ const routingcountext = props.actions.routingcountext;
65
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
66
+ const actions = props.actions;
67
+ // const fetch_inst_tabex_websitetemplatesQueryContext = props.fetch_inst_tabex_websitetemplatesQueryContext;
68
+ useEffect(() => {
69
+ var secpropobj = {};
70
+ StatePagePropertiesContext.pageobj.sections.forEach(function (sectionitem, sectionindex) {
71
+ if (sectionitem.sectionid == props.sectionidprops) {
72
+ sectionitem.sectionproperties.forEach(function (sectionpropertiesobj, sectionpropertiesindex) {
73
+ secpropobj[sectionpropertiesobj.property_css_name] = sectionpropertiesobj.property_value;
74
+ });
75
+ }
76
+ });
77
+ if (Object.keys(secpropobj).length === 0) {
78
+ props.defaultproperties.forEach(function (defaultpropobj, defaultpropindex) {
79
+ secpropobj[defaultpropobj.property_css_name] = defaultpropobj.property_value;
80
+ });
81
+ }
82
+ setsectionproperties({ ...secpropobj });
83
+ }, [StatePagePropertiesContext]);
84
+ const [openSearchBar, setopenSearchBar] = useState(false);
85
+
86
+ const header_cssstyles = {
87
+ header_outercontainer: css({
88
+ position: sectionproperties.headerstyles_position,
89
+ justifyContent: 'center',
90
+ marginTop: sectionproperties.header_marginTop + 'px',
91
+ marginBottom: sectionproperties.header_marginBottom + 'px',
92
+ width: sectionproperties.header_width + 'vw',
93
+ maxWidth: '100vw',
94
+ }),
95
+ lowerHeaderContainer: css({
96
+ backgroundColor: sectionproperties.headerstyles_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.header_backgroundColor,
97
+ borderBottomLeftRadius: sectionproperties.header_borderBottomLeftRadius + 'px',
98
+ borderBottomRightRadius: sectionproperties.header_BorderBottomRightRadius + 'px',
99
+ borderTopLeftRadius: sectionproperties.header_borderTopLeftRadius + 'px',
100
+ borderTopRightRadius: sectionproperties.header_borderTopRightRadius + 'px',
101
+ paddingLeft: langdetect == 'en' ? sectionproperties.header_paddingLeft + 'px' : sectionproperties.header_paddingRight + 'px',
102
+ paddingRight: langdetect == 'en' ? sectionproperties.header_paddingRight + 'px' : sectionproperties.header_paddingLeft + 'px',
103
+ paddingTop: sectionproperties.header_paddingTop + 'px',
104
+ paddingBottom: sectionproperties.header_paddingBottom + 'px',
105
+ }),
106
+ header_logo: css({
107
+ width: templateproperties_context.logo_width + 'px',
108
+ height: templateproperties_context.logo_height + 'px',
109
+ }),
110
+ navbar_item_text: css({
111
+ color: sectionproperties.header_fontColor,
112
+ fontSize: sectionproperties.header_fontSize + 'px',
113
+ textTransform: sectionproperties.header_textTransform,
114
+ fontWeight: sectionproperties.header_textfontweight,
115
+ ':hover:after': {
116
+ background: sectionproperties.header_fontColoronhover,
117
+ },
118
+ ':hover': {
119
+ color: sectionproperties.header_fontColoronhover,
120
+ },
121
+ }),
122
+ dropdownitem: css({
123
+ fontSize: sectionproperties.dropdown_fontsize + 'px',
124
+ color: sectionproperties.dropdown_color,
125
+ fontWeight: sectionproperties.dropdown_fontweight,
126
+ textTransform: sectionproperties.dropdown_texttransform,
127
+ padding: '0.3rem 0.8rem',
128
+ transition: '.3s',
129
+ ':hover': {
130
+ color: sectionproperties.dropdown_hovercolor,
131
+ },
132
+ }),
133
+ dropdownitemcontainer: css({
134
+ zIndex: 1000,
135
+ transition: '.3s',
136
+ ':hover .dropdownitem': { color: sectionproperties.dropdown_hovercolor },
137
+ }),
138
+ wishlist_btn: css({
139
+ width: sectionproperties.favBtnWidth + 'px',
140
+ height: sectionproperties.favBtnHeight + 'px',
141
+ background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
142
+ borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
143
+ color: sectionproperties.favBtniconcolor,
144
+ border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
145
+ transition: '.3s',
146
+ ':hover': {
147
+ background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
148
+ color: sectionproperties.favBtnTextcoloronhover,
149
+ borderColor: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? sectionproperties.favBtnTextcoloronhover : sectionproperties.favBtnbgColoronhover,
150
+ },
151
+ }),
152
+ cart_btn: css({
153
+ width: sectionproperties.cartBtnWidth + 'px',
154
+ height: sectionproperties.cartBtnHeight + 'px',
155
+ background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
156
+ borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
157
+ color: sectionproperties.cart_iconcolor,
158
+ textTransform: sectionproperties.cartBtnTexttransform,
159
+ fontWeight: sectionproperties.cartBtnTextfontweight,
160
+ border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
161
+ transition: '.3s',
162
+ position: 'relative',
163
+ cursor: 'pointer',
164
+ ':hover': {
165
+ background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
166
+ borderColor: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? sectionproperties.cartBtnTextcoloronhover : sectionproperties.cartBtnbgColoronhover,
167
+ color: sectionproperties.cartBtnTextcoloronhover,
168
+ },
169
+ }),
170
+ user_btn: css({
171
+ background: sectionproperties.userbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.userBtnbgColor,
172
+ width: sectionproperties.userBtnWidth + 'px',
173
+ height: sectionproperties.userBtnHeight + 'px',
174
+ borderRadius: sectionproperties.userbtn_borderBottomLeftRadius + 'px',
175
+ color: sectionproperties.userBtniconcolor,
176
+ fontSize: sectionproperties.userBtniconfontsize + 'px',
177
+ border: sectionproperties.userbtnborderwidth + 'px solid ' + sectionproperties.userbtnbordercolor,
178
+ cursor: 'pointer',
179
+ transition: '.3s',
180
+ ':hover': {
181
+ color: sectionproperties.userBtnTextcoloronhover,
182
+ background: sectionproperties.userbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.userBtnbgColoronhover,
183
+ borderColor: sectionproperties.userbtn_transparentbgcoloronhover == 'Transparent' ? sectionproperties.userBtnTextcoloronhover : sectionproperties.userBtnbgColoronhover,
184
+ },
185
+ }),
186
+ loggedinusername: css({
187
+ fontWeight: sectionproperties.userBtnTextfontweight,
188
+ textTransform: sectionproperties.userBtnTexttransform,
189
+ color: sectionproperties.userBtnTextcolor,
190
+ fontSize: sectionproperties.userBtntextfontsize + 'px',
191
+ lineHeight: sectionproperties.userBtntextfontsize + 'px',
192
+ transition: '.3s',
193
+ }),
194
+ loggedinuserbtn: css({
195
+ width: sectionproperties.loggedinuserbtn_width + 'px',
196
+ height: sectionproperties.loggedinuserbtn_height + 'px',
197
+ border: sectionproperties.userlogginbtnborderwidth + 'px solid ' + sectionproperties.userlogginbtnbordercolor,
198
+ borderRadius: sectionproperties.userbtn_borderBottomLeftRadius + 'px',
199
+ background: sectionproperties.userBtnbgColor_loggedin,
200
+ color: sectionproperties.userBtniconcolor_loggedin,
201
+ transition: '.3s',
202
+ ':hover': {
203
+ backgroundColor: sectionproperties.userBtnbgColoronhover_loggedin,
204
+ },
205
+ }),
206
+ userBtnLoggedinContainer: css({
207
+ transition: '.3s',
208
+ ':hover .loggedinuserbtn': {
209
+ transition: '.3s',
210
+ color: sectionproperties.userBtnTextcoloronhover_loggedin,
211
+ borderColor: sectionproperties.userbtn_loggedin_iconcoloronhover,
212
+ },
213
+ ':hover .loggedinuserbtnbg': {
214
+ backgroundColor: sectionproperties.userBtnbgColoronhover_loggedin,
215
+ color: sectionproperties.userbtn_loggedin_iconcoloronhover,
216
+ },
217
+ }),
218
+ badge_counter_header_notifications: css({
219
+ background: sectionproperties.badge_bgcolor,
220
+ width: sectionproperties.badge_width + 'px',
221
+ height: sectionproperties.badge_height + 'px',
222
+ color: sectionproperties.badge_color,
223
+ borderRadius: sectionproperties.badge_borderradius + 'px',
224
+ fontSize: sectionproperties.badge_fontsize + 'px',
225
+ }),
226
+ languagecontainer: css({
227
+ fontWeight: 400,
228
+ color: sectionproperties.language_container_color,
229
+ fontSize: sectionproperties.language_container_fontsize + 'px',
230
+ cursor: 'pointer',
231
+ transition: '.3s',
232
+ ':hover': {
233
+ color: sectionproperties.language_container_coloronhover,
234
+ },
235
+ }),
236
+ fbbtn: css({
237
+ width: sectionproperties.facebkbtnnWidth + 'px',
238
+ height: sectionproperties.facebkbtnnHeight + 'px',
239
+ backgroundColor: sectionproperties.facebkbtnn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.facebkbtnnbgColor,
240
+ color: sectionproperties.facebkbtnnTextcolor,
241
+ borderLeft: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg,
242
+ borderRight: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg,
243
+ transition: '.3s',
244
+ ':hover': {
245
+ color: sectionproperties.facebkbtnnTextcoloronhover,
246
+ backgroundColor: sectionproperties.facebkbtnntransparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.facebkbtnnbgColoronhover,
247
+ },
248
+ }),
249
+ instagrambtn: css({
250
+ width: sectionproperties.instgrambtnWidth + 'px',
251
+ height: sectionproperties.instgrambtnHeight + 'px',
252
+ backgroundColor: sectionproperties.instgrambtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.instgrambtnbgColor,
253
+ color: sectionproperties.instgrambtnTextcolor,
254
+ borderLeft: langdetect == 'en' ? 0 : sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg,
255
+ borderRight: langdetect == 'en' ? sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg : 0,
256
+ transition: '.3s',
257
+ ':hover': {
258
+ color: sectionproperties.instgrambtnTextcoloronhover,
259
+ backgroundColor: sectionproperties.instgrambtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.instgrambtnbgColoronhover,
260
+ },
261
+ }),
262
+ whatsappbtn: css({
263
+ width: sectionproperties.youtubebtnWidth + 'px',
264
+ height: sectionproperties.youtubebtnHeight + 'px',
265
+ backgroundColor: sectionproperties.youtubebtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.youtubebtnbgColor,
266
+ color: sectionproperties.youtubebtnTextcolor,
267
+ transition: '.3s',
268
+ borderLeft: langdetect == 'en' ? 0 : sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg,
269
+ borderRight: langdetect == 'en' ? sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg : 0,
270
+ ':hover': {
271
+ color: sectionproperties.youtubebtnTextcoloronhover,
272
+ backgroundColor: sectionproperties.youtubebtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.youtubebtnbgColoronhover,
273
+ },
274
+ }),
275
+ upperheadertext: css({
276
+ fontSize: sectionproperties.footerinfotext_fontsize + 'px',
277
+ color: sectionproperties.footerinfotext_color,
278
+ fontWeight: sectionproperties.footerinfotext_fontweight,
279
+ textTransform: sectionproperties.footerinfotext_textTransform,
280
+ transition: '.3s',
281
+ }),
282
+ search_wrap: css({
283
+ background: sectionproperties.searchbarcontinput_bgcolor,
284
+ }),
285
+ search_form: css({
286
+ ':after': {
287
+ backgroundColor: sectionproperties.searchbarcontinput_borderBottomcolor,
288
+ },
289
+ }),
290
+ search_field: css({
291
+ fontSize: sectionproperties.searchbarcontinput_fontsize + 'px',
292
+ fontWeight: sectionproperties.searchbarcont_inputfontweight,
293
+ color: sectionproperties.searchbarcontinput_color,
294
+ '::placeholder': {
295
+ color: sectionproperties.searchbarcontinput_color,
296
+ },
297
+ }),
298
+ searchicon: css({
299
+ color: sectionproperties.searchbaricon_color,
300
+ cursor: 'pointer',
301
+ transition: '.3s',
302
+ ':hover': {
303
+ color: sectionproperties.searchbariconcoloronhover,
304
+ },
305
+ }),
306
+ closeOverlayBtn: css({
307
+ width: sectionproperties.closeSliderWidth + 'px',
308
+ height: sectionproperties.closeSliderHeight + 'px',
309
+ color: sectionproperties.closeSlider_color,
310
+ borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
311
+ border: '2px solid ' + sectionproperties.closeSlider_color,
312
+ zIndex: 1000,
313
+ transition: '.3s',
314
+ ':hover': {
315
+ color: sectionproperties.closeSlider_colorOnHover,
316
+ borderColor: sectionproperties.closeSlider_colorOnHover,
317
+ },
318
+ }),
319
+ };
320
+ const [logoarrayofobjects, setlogoarrayofobjects] = useState([]);
321
+ useEffect(() => {
322
+ if (templateproperties_context.length != 0 && templateproperties_context.logoarrayofobjects != undefined) {
323
+ var logoarrayofobjectsparsed = JSON.parse(templateproperties_context.logoarrayofobjects);
324
+ if (Array.isArray(logoarrayofobjectsparsed)) {
325
+ setlogoarrayofobjects([...logoarrayofobjectsparsed]);
326
+ }
327
+ }
328
+ }, [templateproperties_context]);
329
+ return (
330
+ <div className={' row m-0 w-100 d-flex justify-content-center align-items-center '} style={{ zIndex: 1000 }}>
331
+ <div className="col-lg-12 p-0">
332
+ <div className={`${header_cssstyles.header_outercontainer}` + ' d-flex d-md-none row ml-0 mr-0 '}>
333
+ {sectionproperties.showupperheadersection == 'Show' && (
334
+ <div
335
+ className="col-lg-12 d-flex align-items-center plr-1025-0"
336
+ style={{
337
+ paddingLeft: langdetect == 'en' ? sectionproperties.uppersection_paddingleft + 'px' : sectionproperties.uppersection_paddingright + 'px',
338
+ paddingRight: langdetect == 'en' ? sectionproperties.uppersection_paddingright + 'px' : sectionproperties.uppersection_paddingleft + 'px',
339
+ background: sectionproperties.uppersection_bgcolortransparent == 'Transparent' ? 'Transparent' : sectionproperties.uppersection_bgcolor,
340
+ borderBottom: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg,
341
+ }}
342
+ >
343
+ <div className="row m-0 w-100">
344
+ <div className="col-lg-3 d-flex align-items-center p-0">
345
+ <div className="row m-0 w-100">
346
+ {sectionproperties.fbbtn_show == 'Show' && (
347
+ <div className={header_cssstyles.fbbtn + ' p-0 allcentered cursor-pointer '}>
348
+ <FaFacebookF size={sectionproperties.facebkbtnniconfontsize} />
349
+ </div>
350
+ )}
351
+ {sectionproperties.youtbtn_show == 'Show' && (
352
+ <div className={header_cssstyles.whatsappbtn + ' p-0 allcentered cursor-pointer '}>
353
+ <BsWhatsapp size={sectionproperties.youtubebtniconfontsize} />
354
+ </div>
355
+ )}
356
+ {sectionproperties.instbtn_show == 'Show' && (
357
+ <div className={header_cssstyles.instagrambtn + ' p-0 allcentered cursor-pointer '}>
358
+ <AiOutlineInstagram size={sectionproperties.instgrambtniconfontsize} />
359
+ </div>
360
+ )}
361
+ </div>
362
+ </div>
363
+ <div className="col-lg-9 d-flex align-items-center justify-content-end">
364
+ <div className="row m-0 w-100 d-flex align-items-center justify-content-end h-100">
365
+ {sectionproperties.showfooterphonenumber == 'Show' && (
366
+ <div
367
+ className="d-flex align-items-center justify-content-center pl-3 pr-3 h-100"
368
+ style={{ borderRight: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg }}
369
+ >
370
+ <a href={'tel:' + authdetailsContext.instinfo.contactinfo.mobile} target={'_self'} className="d-flex align-items-center">
371
+ <AiFillPhone className={header_cssstyles.upperheadertext + ' ml-1 mr-1 '} size={sectionproperties.footerinfotext_fontsize} />
372
+ <span className={header_cssstyles.upperheadertext}>{authdetailsContext.instinfo.contactinfo.mobile}</span>
373
+ </a>
374
+ </div>
375
+ )}
376
+ {sectionproperties.showfooteremail == 'Show' && (
377
+ <div
378
+ className="d-flex align-items-center justify-content-center pl-3 pr-3 h-100 cursor-pointer"
379
+ style={{ borderRight: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg }}
380
+ onClick={() => {
381
+ window.open('mailto:' + authdetailsContext.instinfo.contactinfo.email, '_self');
382
+ }}
383
+ >
384
+ <AiOutlineMail className={header_cssstyles.upperheadertext + ' ml-1 mr-1 '} size={sectionproperties.footerinfotext_fontsize} />
385
+ <span className={header_cssstyles.upperheadertext}>{authdetailsContext.instinfo.contactinfo.email}</span>
386
+ </div>
387
+ )}
388
+ {sectionproperties.showopeninghours == 'Show' && (
389
+ <div
390
+ className="d-flex align-items-center justify-content-center pl-3 pr-3 h-100"
391
+ style={{ borderRight: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg }}
392
+ >
393
+ <AiOutlineClockCircle className={header_cssstyles.upperheadertext + ' ml-1 mr-1 '} size={sectionproperties.footerinfotext_fontsize} />
394
+
395
+ <span className={header_cssstyles.upperheadertext}> Monday - Friday: 10:00 - 18:00</span>
396
+ </div>
397
+ )}
398
+ <div
399
+ className="d-flex align-items-center justify-content-center pl-3 pr-3 h-100"
400
+ style={{ borderRight: sectionproperties.vl_width + 'px solid ' + sectionproperties.vl_bg }}
401
+ onClick={() => {
402
+ setopenSearchBar(true);
403
+ }}
404
+ >
405
+ <BsSearch className={header_cssstyles.searchicon + ' cursor-pointer '} size={sectionproperties.searchbaricon_fontsize} />
406
+ </div>
407
+ <div
408
+ className={
409
+ langdetect == 'en'
410
+ ? 'headerdropdownml d-flex align-items-center justify-content-center pl-3 pr-3'
411
+ : 'headerdropdownmr d-flex align-items-center justify-content-center pl-3 pr-3'
412
+ }
413
+ >
414
+ <Dropdown>
415
+ <Dropdown.Toggle>
416
+ <li className={' d-flex align-items-center justify-content-center '}>
417
+ {langdetect == 'en' && (
418
+ <div className={`${header_cssstyles.languagecontainer}` + ' row m-0 w-100 d-flex align-items-center '}>
419
+ <p className="m-0 p-0 mr-2">English</p>
420
+ <MdKeyboardArrowDown />
421
+ </div>
422
+ )}
423
+ {langdetect == 'ar' && (
424
+ <div className={`${header_cssstyles.languagecontainer}` + ' row m-0 w-100 d-flex align-items-center '}>
425
+ <p className="m-0 p-0 ml-2">لغة عربية</p>
426
+ <MdKeyboardArrowDown />
427
+ </div>
428
+ )}
429
+ </li>
430
+ </Dropdown.Toggle>
431
+ <Dropdown.Menu>
432
+ <Dropdown.Item
433
+ onClick={() => {
434
+ setlang('ar');
435
+ }}
436
+ >
437
+ <div className={`${header_cssstyles.dropdownitemcontainer}`}>
438
+ <p
439
+ className={'dropdownitem d-flex align-items-center justify-content-center m-0 p-0'}
440
+ style={{
441
+ fontSize: sectionproperties.dropdown_fontsize + 'px',
442
+ fontWeight: sectionproperties.dropdown_fontweight,
443
+ textTransform: sectionproperties.dropdown_texttransform,
444
+ }}
445
+ >
446
+ <img src={egyptflag} style={{ maxWidth: '2vh', maxHeight: '2vh' }} />
447
+ <span className={'ml-2 mr-2'}>{lang.arabic}</span>
448
+ </p>
449
+ </div>
450
+ </Dropdown.Item>
451
+ <Dropdown.Divider></Dropdown.Divider>
452
+ <Dropdown.Item
453
+ onClick={() => {
454
+ setlang('en');
455
+ }}
456
+ >
457
+ <div className={`${header_cssstyles.dropdownitemcontainer}`}>
458
+ <p
459
+ className={'dropdownitem d-flex align-items-center justify-content-center m-0 p-0'}
460
+ style={{
461
+ fontSize: sectionproperties.dropdown_fontsize + 'px',
462
+ fontWeight: sectionproperties.dropdown_fontweight,
463
+ textTransform: sectionproperties.dropdown_texttransform,
464
+ }}
465
+ >
466
+ <img src={usflag} style={{ maxWidth: '2vh', maxHeight: '2vh' }} />
467
+ <span className={'ml-2 mr-2'}>{lang.english}</span>
468
+ </p>
469
+ </div>
470
+ </Dropdown.Item>
471
+ </Dropdown.Menu>
472
+ </Dropdown>
473
+ </div>
474
+ </div>
475
+ </div>
476
+ </div>
477
+ </div>
478
+ )}
479
+ <div className={`${headerstyles.lowerHeaderContainer} ${header_cssstyles.lowerHeaderContainer}` + ' row m-0 w-100 d-flex align-items-center plr-1025-1 '} style={{ zIndex: 2 }}>
480
+ <div className="col-lg-2 p-0 d-flex align-items-center justify-content-start">
481
+ <div
482
+ className={`${header_cssstyles.header_logo}` + ' d-flex align-items-center justify-content-center '}
483
+ style={{ cursor: 'pointer' }}
484
+ onClick={() => {
485
+ routingcountext('home');
486
+ }}
487
+ >
488
+ <IKImage
489
+ urlEndpoint={IKurlEndpoint}
490
+ publicKey={IKpublicKey}
491
+ path={langdetect == 'en' ? logoarrayofobjects[0]?.englishlogo : logoarrayofobjects[0]?.arabiclogo}
492
+ style={{
493
+ maxWidth: '100%',
494
+ maxHeight: '100%',
495
+ }}
496
+ />
497
+ </div>
498
+ </div>
499
+ <div className="col-lg-6 p-0 d-flex align-items-center justify-content-start">
500
+ <nav className={headerstyles.navbar}>
501
+ <ul>
502
+ {templatepropcontext.pagesnprop.map((item, index) => {
503
+ var activeclass = '';
504
+ var pagedisabled = '';
505
+ if (item.isselected) {
506
+ activeclass = headerstyles.navbar_item_active;
507
+ }
508
+ if (item.isnavigation == 1 && item.isactive == 1) {
509
+ return (
510
+ <li
511
+ style={{
512
+ marginLeft: langdetect == 'en' ? 0 : '35px',
513
+ marginRight: langdetect == 'en' ? '35px' : 0,
514
+ }}
515
+ >
516
+ <div
517
+ onClick={() => {
518
+ routingcountext(item.navigationroute, false, '');
519
+ }}
520
+ >
521
+ <div className={`${headerstyles.navbar_item} ${activeclass}`}>
522
+ <span className={`${headerstyles.navbar_item_text} ${header_cssstyles.navbar_item_text}`}>
523
+ {langdetect == 'en' ? item.pagename : item.pagename_ar}
524
+ </span>
525
+ </div>
526
+ </div>
527
+ </li>
528
+ );
529
+ }
530
+ })}
531
+ </ul>
532
+ </nav>
533
+ {sectionproperties.showhidesubheader == 'Show' && sectionproperties.subheaderposition == 'Besides Top Navigation' && (
534
+ <Subheader
535
+ sectionpropertiesprops={sectionproperties}
536
+ actions={actions}
537
+ subheaderpropertiesprops={{
538
+ subheaderpositionprops: 'in nav',
539
+ paddingLeftprops: '35px',
540
+ paddingRightprops: '35px',
541
+ subheadercontentpositionprops: 'start',
542
+ }}
543
+ />
544
+ )}
545
+ </div>
546
+
547
+ <div className="col-lg-4 d-flex align-items-center justify-content-end">
548
+ {sectionproperties.searchbar_show == 'Show' && (
549
+ <div className="col-lg-4 p-0 d-flex justify-content-end align-items-center">
550
+ <div className="row m-0 w-100 d-flex justify-content-end align-items-center">
551
+ <div className="col-lg-12 p-0 d-flex justify-content-end align-items-center">
552
+ <input
553
+ className={`${headerstyles.searchbar} ${header_cssstyles.searchbarcont_input}`}
554
+ placeholder={langdetect == 'en' ? "What're we looking for?" : 'البحث...'}
555
+ onChange={(event) => {
556
+ setSearchHeaderInputContext(event.target.value);
557
+ }}
558
+ style={{
559
+ right: langdetect == 'en' ? 0 : '',
560
+ left: langdetect == 'en' ? '' : 0,
561
+ }}
562
+ />
563
+ <div className={`${header_cssstyles.searchbarcont}` + ' d-flex justify-content-center align-items-center '}>
564
+ <i className={headerstyles.searchbaractive + ' h-100 d-flex align-items-center'}>
565
+ <GoSearch
566
+ size={sectionproperties.searchbarcontfontsize}
567
+ style={{
568
+ transform: langdetect == 'en' ? 'scaleX(1)' : 'scaleX(-1)',
569
+ }}
570
+ />
571
+ </i>
572
+ </div>
573
+ </div>
574
+ <div className="col-lg-12 p-0 d-flex justify-content-end align-items-center">
575
+ <Searchlist sectionpropertiesprops={sectionproperties} actions={actions} srcfromprops={'header-300'} />
576
+ </div>
577
+ </div>
578
+ </div>
579
+ )}
580
+ <div className="headerdropdownml ml-3 mr-3">
581
+ <Dropdown>
582
+ <Dropdown.Toggle>
583
+ {!authdetailsContext.loggedin && (
584
+ <div className={' d-flex justify-content-center align-items-center '}>
585
+ <span
586
+ className={
587
+ `${headerstyles.navbar_item_text} ${header_cssstyles.navbar_item_text} ${header_cssstyles.user_btn}` +
588
+ ' d-flex justify-content-center align-items-center '
589
+ }
590
+ >
591
+ <FiUser size={sectionproperties.userBtniconfontsize} />
592
+ </span>
593
+ </div>
594
+ )}
595
+ {authdetailsContext.loggedin && (
596
+ <div className={header_cssstyles.userBtnLoggedinContainer + ' allcentered '} sytle={{ position: 'relative' }}>
597
+ <div className={header_cssstyles.loggedinuserbtn + ' loggedinuserbtn loggedinuserbtnbg ml-2 mr-2 '}>
598
+ <i className={' h-100 allcentered '}>
599
+ <FiUser size={sectionproperties.loggedinusericonfontsize} />
600
+ </i>
601
+ </div>
602
+ <div
603
+ className="m-0 p-0 loggedinuserbtn flex-column"
604
+ style={{
605
+ textAlign: langdetect == 'en' ? 'left' : 'right',
606
+ }}
607
+ >
608
+ <p
609
+ className="m-0 p-0"
610
+ style={{
611
+ color: sectionproperties.greetingtextcolor,
612
+ fontSize: sectionproperties.greetingtextfontsize + 'px',
613
+ lineHeight: sectionproperties.greetingtextfontsize + 'px',
614
+ fontWeight: 400,
615
+ }}
616
+ >
617
+ {lang.hello}
618
+ {langdetect == 'en' ? ',' : '،'}
619
+ </p>
620
+ <p className={header_cssstyles.loggedinusername + ' loggedinuserbtn m-0 p-0 text-overflow '} style={{ maxWidth: '60px' }}>
621
+ {authdetailsContext.customerinfo.name}
622
+ </p>
623
+ </div>
624
+ </div>
625
+ )}
626
+ </Dropdown.Toggle>
627
+ {!authdetailsContext.loggedin && (
628
+ <Dropdown.Menu>
629
+ <Dropdown.Item
630
+ onClick={() => {
631
+ routingcountext(StaticPagesLinksContext.Login);
632
+ }}
633
+ >
634
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' d-flex align-items-center m-0 p-0 '}>
635
+ <p className={`${header_cssstyles.dropdownitem}` + ' d-flex align-items-center dropdownitem m-0 p-0 '}>
636
+ <AiOutlineLogin />
637
+ <span className="ml-2 mr-2">{lang.login}</span>
638
+ </p>
639
+ </div>
640
+ </Dropdown.Item>
641
+ <Dropdown.Divider></Dropdown.Divider>
642
+ <Dropdown.Item
643
+ onClick={() => {
644
+ routingcountext(StaticPagesLinksContext.Signup);
645
+ }}
646
+ >
647
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' d-flex align-items-center m-0 p-0 '}>
648
+ <p className={`${header_cssstyles.dropdownitem}` + ' d-flex align-items-center dropdownitem m-0 p-0 '}>
649
+ <AiOutlineUserAdd />
650
+ <span className="ml-2 mr-2 text-transform-none">{lang.signup}</span>
651
+ </p>
652
+ </div>
653
+ </Dropdown.Item>
654
+ </Dropdown.Menu>
655
+ )}
656
+ {authdetailsContext.loggedin && (
657
+ <Dropdown.Menu style={{ minWidth: '200px' }}>
658
+ <Dropdown.Item>
659
+ <div className={`${header_cssstyles.dropdownitemcontainer}`}>
660
+ <span
661
+ style={{
662
+ color: '#8fa0bd',
663
+ }}
664
+ >
665
+ {lang.hello},
666
+ </span>
667
+ <span
668
+ className={`${header_cssstyles.dropdownitem}` + ' dropdownitem font-weight-600 text-overflow text-capitalize p-0 ml-1 mr-1 '}
669
+ onClick={() => {
670
+ routingcountext(StaticPagesLinksContext.accountinfo);
671
+ }}
672
+ >
673
+ {authdetailsContext.customerinfo.name}
674
+ </span>
675
+ </div>
676
+ </Dropdown.Item>
677
+ <Dropdown.Divider></Dropdown.Divider>
678
+ <Dropdown.Item
679
+ onClick={() => {
680
+ routingcountext(StaticPagesLinksContext.Ordershistory);
681
+ }}
682
+ >
683
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' m-0 p-0 d-flex align-items-center '}>
684
+ <p className={`${header_cssstyles.dropdownitem}` + ' dropdownitem d-flex align-items-center m-0 p-0 '}>
685
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag />}
686
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag />}
687
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag />}
688
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <BsHandbag />}
689
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart />}
690
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdOutlineShoppingCart />}
691
+ <span className="ml-2 mr-2">{lang.orderhistory}</span>
692
+ </p>
693
+ </div>
694
+ </Dropdown.Item>
695
+ <Dropdown.Divider></Dropdown.Divider>
696
+ <Dropdown.Item
697
+ onClick={() => {
698
+ routingcountext(StaticPagesLinksContext.Wishlist);
699
+ }}
700
+ >
701
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' m-0 p-0 d-flex align-items-center '}>
702
+ <p className={`${header_cssstyles.dropdownitem}` + ' dropdownitem d-flex align-items-center m-0 p-0 '}>
703
+ {sectionproperties.faviconshape == 'Heart Shape' && <AiOutlineHeart />}
704
+ {sectionproperties.faviconshape == 'Star Shape' && <AiFillStar />}
705
+ <span className="ml-2 mr-2">{lang.wishlist}</span>
706
+ </p>
707
+ </div>
708
+ </Dropdown.Item>
709
+ <Dropdown.Divider></Dropdown.Divider>
710
+ <Dropdown.Item
711
+ onClick={() => {
712
+ routingcountext(StaticPagesLinksContext.Policies);
713
+ }}
714
+ >
715
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' m-0 p-0 d-flex align-items-center '}>
716
+ <p className={`${header_cssstyles.dropdownitem}` + ' dropdownitem d-flex align-items-center m-0 p-0 '}>
717
+ <MdOutlinePolicy />
718
+ <span className="ml-2 mr-2">{lang.policies}</span>
719
+ </p>
720
+ </div>
721
+ </Dropdown.Item>
722
+ <Dropdown.Divider></Dropdown.Divider>
723
+ <Dropdown.Item
724
+ onClick={() => {
725
+ LogoutMutationContext.mutate();
726
+ }}
727
+ >
728
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' m-0 p-0 d-flex align-items-center '}>
729
+ <p className={`${header_cssstyles.dropdownitem}` + ' dropdownitem d-flex align-items-center m-0 p-0 '}>
730
+ <BiLogOutCircle />
731
+ <span className="ml-2 mr-2">{lang.logout}</span>
732
+ </p>
733
+ </div>
734
+ </Dropdown.Item>
735
+ </Dropdown.Menu>
736
+ )}
737
+ </Dropdown>
738
+ </div>
739
+ <div
740
+ className={`${header_cssstyles.wishlist_btn}` + ' d-flex justify-content-center align-items-center cursor-pointer '}
741
+ onClick={() => {
742
+ routingcountext(StaticPagesLinksContext.Wishlist);
743
+ }}
744
+ style={{
745
+ marginRight: langdetect == 'en' ? '1rem' : 0,
746
+ marginLeft: langdetect == 'ar' ? '1rem' : 0,
747
+ }}
748
+ >
749
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
750
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
751
+ </div>
752
+ {sectionproperties.cartBtnShow == 'Show' && (
753
+ <div
754
+ className={'d-flex align-items-center justify-content-end'}
755
+ style={{
756
+ marginRight: sectionproperties.showupperheadersection == 'Hide' ? (langdetect == 'en' ? '1.5rem' : 0) : 0,
757
+ marginLeft: sectionproperties.showupperheadersection == 'Hide' ? (langdetect == 'ar' ? '1.5rem' : 0) : 0,
758
+ }}
759
+ >
760
+ <div
761
+ className={`${header_cssstyles.cart_btn}` + ' allcentered '}
762
+ onClick={() => {
763
+ setsidecartnavshowcontext(true);
764
+ }}
765
+ >
766
+ <div
767
+ className={
768
+ `${headerstyles.badge_counter_header_notifications} ${header_cssstyles.badge_counter_header_notifications}` +
769
+ ' d-flex justify-content-center align-items-center '
770
+ }
771
+ style={{
772
+ top: sectionproperties.cartbadgetop + 'px',
773
+ right: sectionproperties.cartbadgeright + 'px',
774
+ }}
775
+ >
776
+ {fetchcustomercartQueryContext?.data?.data?.customercart != null ? fetchcustomercartQueryContext?.data?.data?.customercart?.cartitems?.length : 0}
777
+ </div>
778
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag size={sectionproperties.cartBtn_iconFontSize} />}
779
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag size={sectionproperties.cartBtn_iconFontSize} />}
780
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag size={sectionproperties.cartBtn_iconFontSize} />}
781
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <BsHandbag size={sectionproperties.cartBtn_iconFontSize} />}
782
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
783
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdOutlineShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
784
+ </div>
785
+ </div>
786
+ )}
787
+ {sectionproperties.showupperheadersection == 'Hide' && (
788
+ <div className={langdetect == 'en' ? 'headerdropdownml' : 'headerdropdownmr'}>
789
+ <Dropdown>
790
+ <Dropdown.Toggle>
791
+ <li className={' d-flex align-items-center justify-content-center '}>
792
+ {langdetect == 'en' && (
793
+ <div className={`${header_cssstyles.languagecontainer}` + ' row m-0 w-100 d-flex align-items-center '}>
794
+ <p className="m-0 p-0 mr-2">En</p>
795
+ <MdKeyboardArrowDown />
796
+ </div>
797
+ )}
798
+ {langdetect == 'ar' && (
799
+ <div className={`${header_cssstyles.languagecontainer}` + ' row m-0 w-100 d-flex align-items-center '}>
800
+ <p className="m-0 p-0 ml-2">ع</p>
801
+ <MdKeyboardArrowDown />
802
+ </div>
803
+ )}
804
+ </li>
805
+ </Dropdown.Toggle>
806
+ <Dropdown.Menu>
807
+ <Dropdown.Item
808
+ onClick={() => {
809
+ setlang('ar');
810
+ }}
811
+ >
812
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' p-0 '}>
813
+ <p
814
+ className={'dropdownitem d-flex align-items-center m-0 p-0'}
815
+ style={{
816
+ fontSize: sectionproperties.dropdown_fontsize + 'px',
817
+ fontWeight: sectionproperties.dropdown_fontweight,
818
+ textTransform: sectionproperties.dropdown_texttransform,
819
+ }}
820
+ >
821
+ <img src={egyptflag} style={{ maxWidth: '2vh', maxHeight: '2vh' }} />
822
+ <span className={'ml-2 mr-2'}>{lang.arabic}</span>
823
+ </p>
824
+ </div>
825
+ </Dropdown.Item>
826
+ <Dropdown.Divider></Dropdown.Divider>
827
+ <Dropdown.Item
828
+ onClick={() => {
829
+ setlang('en');
830
+ }}
831
+ >
832
+ <div className={`${header_cssstyles.dropdownitemcontainer}` + ' p-0 '}>
833
+ <p
834
+ className={'dropdownitem d-flex align-items-center justify-content-center m-0 p-0'}
835
+ style={{
836
+ fontSize: sectionproperties.dropdown_fontsize + 'px',
837
+ fontWeight: sectionproperties.dropdown_fontweight,
838
+ textTransform: sectionproperties.dropdown_texttransform,
839
+ }}
840
+ >
841
+ <img src={usflag} style={{ maxWidth: '2vh', maxHeight: '2vh' }} />
842
+ <span className={'ml-2 mr-2'}>{lang.english}</span>
843
+ </p>
844
+ </div>
845
+ </Dropdown.Item>
846
+ </Dropdown.Menu>
847
+ </Dropdown>
848
+ </div>
849
+ )}
850
+ </div>
851
+ </div>
852
+ <div className="col-lg-12 p-0">
853
+ {sectionproperties.showhidesubheader == 'Show' && sectionproperties.subheaderposition == 'Full Width' && (
854
+ <Subheader
855
+ sectionpropertiesprops={sectionproperties}
856
+ actions={actions}
857
+ subheaderpropertiesprops={{
858
+ subheaderpositionprops: 'Full Width',
859
+ paddingLeftprops: '35px',
860
+ paddingRightprops: '35px',
861
+ subheadercontentpositionprops: 'center',
862
+ }}
863
+ />
864
+ )}
865
+ </div>
866
+ </div>
867
+ <div className="col-lg-12 p-0">
868
+ <Headerresponsive sectionpropertiesprops={sectionproperties} actions={actions} />
869
+ </div>
870
+ </div>
871
+ <Offcanvas
872
+ show={openSearchBar}
873
+ onHide={() => {
874
+ setopenSearchBar(false);
875
+ }}
876
+ placement="top"
877
+ scroll={true}
878
+ backdrop={true}
879
+ >
880
+ <Offcanvas.Body>
881
+ <div className="row m-0 w-100 p-3">
882
+ <div className={`${generalstyles.search_modern}`}>
883
+ <div className={`${generalstyles.search_wrap} ${header_cssstyles.search_wrap}`}>
884
+ <div className={' pl-5 pr-5 '}>
885
+ <div className="row m-0 w-100 d-flex align-items-center">
886
+ <div className="col-lg-6">
887
+ <div style={{ width: '30vh', height: '20vh' }}>
888
+ <IKImage
889
+ urlEndpoint={IKurlEndpoint}
890
+ publicKey={IKpublicKey}
891
+ className={generalstyles.logo_image}
892
+ path={langdetect == 'en' ? logoarrayofobjects[0]?.englishlogo : logoarrayofobjects[0]?.arabiclogo}
893
+ style={{
894
+ width: '100%',
895
+ height: '100%',
896
+ objectFit: 'contain',
897
+ }}
898
+ />
899
+ </div>
900
+ </div>
901
+ <div className="col-lg-6 d-flex align-items-center justify-content-end">
902
+ <div
903
+ className={header_cssstyles.closeOverlayBtn + ' cursor-pointer '}
904
+ onClick={() => {
905
+ setopenSearchBar(false);
906
+ setSearchHeaderInputContext('');
907
+ }}
908
+ >
909
+ <i className="h-100 allcentered">
910
+ <IoClose size={sectionproperties.closeSlider_fontSize} />
911
+ </i>
912
+ </div>
913
+ </div>
914
+ </div>
915
+ </div>
916
+ <div className={generalstyles.search_form_wrap}>
917
+ <div className={`${generalstyles.search_form} ${header_cssstyles.search_form}`}>
918
+ <input
919
+ type="text"
920
+ className={`${generalstyles.search_field} ${header_cssstyles.search_field}`}
921
+ placeholder={langdetect == 'en' ? "What're we looking for?" : 'البحث...'}
922
+ onChange={(event) => {
923
+ setSearchHeaderInputContext(event.target.value);
924
+ }}
925
+ />
926
+ </div>
927
+ </div>
928
+ <div style={{ position: 'absolute', top: '60%', left: 0, right: 0 }} className="allcentered">
929
+ <Searchlist sectionpropertiesprops={sectionproperties} actions={actions} srcfromprops={'StylishHeader'} />
930
+ </div>
931
+ </div>
932
+ </div>
933
+ </div>
934
+ </Offcanvas.Body>
935
+ </Offcanvas>
936
+ </div>
937
+ );
938
+ };
939
+
940
+ export default HeaderwithContactinfo;