tabexseriescomponents 0.0.63 → 0.0.65

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 (179) hide show
  1. package/dist/index.cjs.js +6859 -6478
  2. package/dist/index.esm.js +6862 -6481
  3. package/dist/index.umd.js +6862 -6482
  4. package/package.json +1 -1
  5. package/srcOLD/Contexts/LanguageContext.jsx +347 -0
  6. package/srcOLD/Contexts/ProductsCardsSectionContext.jsx +28 -0
  7. package/srcOLD/StylesJS/Customstyles.js +235 -0
  8. package/srcOLD/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +214 -0
  9. package/srcOLD/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +258 -0
  10. package/srcOLD/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +206 -0
  11. package/srcOLD/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +176 -0
  12. package/srcOLD/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +207 -0
  13. package/srcOLD/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +162 -0
  14. package/srcOLD/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +193 -0
  15. package/srcOLD/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +158 -0
  16. package/srcOLD/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +286 -0
  17. package/srcOLD/TabexComponents/Cards/MenuCard/MenuCard.jsx +558 -0
  18. package/srcOLD/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +486 -0
  19. package/srcOLD/TabexComponents/Cards/Productcard6/Productcard6.jsx +300 -0
  20. package/srcOLD/TabexComponents/Cards/Productcard7/Productcard7.jsx +288 -0
  21. package/srcOLD/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +307 -0
  22. package/srcOLD/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +295 -0
  23. package/srcOLD/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +325 -0
  24. package/srcOLD/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +290 -0
  25. package/srcOLD/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +303 -0
  26. package/srcOLD/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +466 -0
  27. package/srcOLD/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +282 -0
  28. package/srcOLD/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +298 -0
  29. package/srcOLD/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +139 -0
  30. package/srcOLD/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +135 -0
  31. package/srcOLD/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +304 -0
  32. package/srcOLD/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +291 -0
  33. package/srcOLD/TabexComponents/Footer/Footer1/Footer1.jsx +418 -0
  34. package/srcOLD/TabexComponents/Footer/Footer2/Footer2.jsx +382 -0
  35. package/srcOLD/TabexComponents/Footer/Footer3/Footer3.jsx +308 -0
  36. package/srcOLD/TabexComponents/Footer/Footer4/Footer4.jsx +438 -0
  37. package/srcOLD/TabexComponents/Footer/Footer5/Footer5.jsx +495 -0
  38. package/srcOLD/TabexComponents/Footer/Footer6/Footer6.jsx +295 -0
  39. package/srcOLD/TabexComponents/Footer/Footer7/Footer7.jsx +373 -0
  40. package/srcOLD/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +238 -0
  41. package/srcOLD/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  42. package/srcOLD/TabexComponents/Generalfiles/images/noimage.png +0 -0
  43. package/srcOLD/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  44. package/srcOLD/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  45. package/srcOLD/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  46. package/srcOLD/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  47. package/srcOLD/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  48. package/srcOLD/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  49. package/srcOLD/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  50. package/srcOLD/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  51. package/srcOLD/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  52. package/srcOLD/TabexComponents/Generalfiles/images/usflag.png +0 -0
  53. package/srcOLD/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  54. package/srcOLD/TabexComponents/Headers/AllinoneHeader/AllinoneHeader.jsx +724 -0
  55. package/srcOLD/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +687 -0
  56. package/srcOLD/TabexComponents/Headers/Header4/Header4.jsx +632 -0
  57. package/srcOLD/TabexComponents/Headers/Header6/Header6.jsx +669 -0
  58. package/srcOLD/TabexComponents/Headers/Header8/Header8.jsx +882 -0
  59. package/srcOLD/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +754 -0
  60. package/srcOLD/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +798 -0
  61. package/srcOLD/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +686 -0
  62. package/srcOLD/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +938 -0
  63. package/srcOLD/TabexComponents/Headers/Modernheader/Modernheader.jsx +706 -0
  64. package/srcOLD/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +821 -0
  65. package/srcOLD/TabexComponents/Headers/Subheader/Subheader copy.jsx +228 -0
  66. package/srcOLD/TabexComponents/Headers/Subheader/Subheader.jsx +251 -0
  67. package/srcOLD/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +312 -0
  68. package/srcOLD/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +278 -0
  69. package/srcOLD/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +138 -0
  70. package/srcOLD/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +160 -0
  71. package/srcOLD/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +295 -0
  72. package/srcOLD/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +784 -0
  73. package/srcOLD/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +861 -0
  74. package/srcOLD/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.js +496 -0
  75. package/srcOLD/TabexComponents/Sections/Cards/CardsSection7/CardsSection7.js +888 -0
  76. package/srcOLD/TabexComponents/Sections/Cards/CardsSection8/CardsSection8.js +419 -0
  77. package/srcOLD/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.js +552 -0
  78. package/srcOLD/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +281 -0
  79. package/srcOLD/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +166 -0
  80. package/srcOLD/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +152 -0
  81. package/srcOLD/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +284 -0
  82. package/srcOLD/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +146 -0
  83. package/srcOLD/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +209 -0
  84. package/srcOLD/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +145 -0
  85. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +252 -0
  86. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +175 -0
  87. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +154 -0
  88. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +201 -0
  89. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +414 -0
  90. package/srcOLD/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +270 -0
  91. package/srcOLD/TabexComponents/StaticPages/Aboutus/Aboutus.js +175 -0
  92. package/srcOLD/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +275 -0
  93. package/srcOLD/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +459 -0
  94. package/srcOLD/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.js +146 -0
  95. package/srcOLD/TabexComponents/StaticPages/Checkout/Checkout.jsx +1220 -0
  96. package/srcOLD/TabexComponents/StaticPages/Filter/Filter.jsx +542 -0
  97. package/srcOLD/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +51 -0
  98. package/srcOLD/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +35 -0
  99. package/srcOLD/TabexComponents/StaticPages/Login/Login.jsx +299 -0
  100. package/srcOLD/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.js +192 -0
  101. package/srcOLD/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +1285 -0
  102. package/srcOLD/TabexComponents/StaticPages/Policies/Policies.jsx +358 -0
  103. package/srcOLD/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +1506 -0
  104. package/srcOLD/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +225 -0
  105. package/srcOLD/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +788 -0
  106. package/srcOLD/TabexComponents/StaticPages/Signup/Signup.jsx +157 -0
  107. package/srcOLD/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +295 -0
  108. package/srcOLD/TabexComponents/StaticPages/Viewcart/Viewcart.js +1090 -0
  109. package/srcOLD/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +629 -0
  110. package/srcOLD/assets/images/cod.png +0 -0
  111. package/srcOLD/assets/images/egyptflag.png +0 -0
  112. package/srcOLD/assets/images/fawry.png +0 -0
  113. package/srcOLD/assets/images/payment.png +0 -0
  114. package/srcOLD/assets/images/paymob.png +0 -0
  115. package/srcOLD/assets/images/paypal.png +0 -0
  116. package/srcOLD/assets/images/shoppingcart.png +0 -0
  117. package/srcOLD/assets/images/usflag.png +0 -0
  118. package/srcOLD/assets/images/visa.png +0 -0
  119. package/srcOLD/assets/images/whatsapp.png +0 -0
  120. package/srcOLD/button.jsx +40 -0
  121. package/srcOLD/index.jsx +175 -0
  122. package/srcOLD/styles/Home.module.css +129 -0
  123. package/srcOLD/styles/cards/Categorcycard_fullimage.module.css +10 -0
  124. package/srcOLD/styles/cards/Categorycard_slidebgscaled.module.css +73 -0
  125. package/srcOLD/styles/cards/Categorycard_withshapes.module.css +189 -0
  126. package/srcOLD/styles/cards/Productcard6.module.css +9 -0
  127. package/srcOLD/styles/cards/Productcard_with_circularbg.module.css +137 -0
  128. package/srcOLD/styles/cards/Productccard_with_zoominonhover.module.css +51 -0
  129. package/srcOLD/styles/cards/Prouductcard_with_zoomhover.module.css +61 -0
  130. package/srcOLD/styles/cards/categorycard.module.css +102 -0
  131. package/srcOLD/styles/cards/categorycard3.module.css +51 -0
  132. package/srcOLD/styles/cards/categorycardwithtext.module.css +40 -0
  133. package/srcOLD/styles/cards/productcard_animatedbuttons.module.css +104 -0
  134. package/srcOLD/styles/cards/productcard_with_textonhover.module.css +12 -0
  135. package/srcOLD/styles/cards/productccard_with_imageontopleft.module.css +85 -0
  136. package/srcOLD/styles/general/bootstrap.css +4420 -0
  137. package/srcOLD/styles/general/dropdown.css +199 -0
  138. package/srcOLD/styles/general/editorbardropdown.module.css +94 -0
  139. package/srcOLD/styles/general/filter.module.css +108 -0
  140. package/srcOLD/styles/general/form.module.css +273 -0
  141. package/srcOLD/styles/general/general.module.css +709 -0
  142. package/srcOLD/styles/general/image-gallery.css +481 -0
  143. package/srcOLD/styles/general/react-accessible-accordion.module.css +52 -0
  144. package/srcOLD/styles/general/react-phone-input-2.module.css +927 -0
  145. package/srcOLD/styles/general/scrollbtn.module.css +22 -0
  146. package/srcOLD/styles/general/slick.module.css +166 -0
  147. package/srcOLD/styles/general/tabs.module.css +110 -0
  148. package/srcOLD/styles/general/workplaceeditor.module.css +328 -0
  149. package/srcOLD/styles/globals.css +26 -0
  150. package/srcOLD/styles/headers/Allinoneheader.module.css +91 -0
  151. package/srcOLD/styles/headers/Header7.module.css +50 -0
  152. package/srcOLD/styles/headers/Header_threesectionslogocentered.module.css +97 -0
  153. package/srcOLD/styles/headers/Sideheader.module.css +108 -0
  154. package/srcOLD/styles/headers/classicheaderstyles.module.css +16 -0
  155. package/srcOLD/styles/headers/dropdown.css +0 -0
  156. package/srcOLD/styles/headers/header4.module.css +175 -0
  157. package/srcOLD/styles/headers/header5.module.css +30 -0
  158. package/srcOLD/styles/headers/header6.module.css +117 -0
  159. package/srcOLD/styles/headers/header_contactinfo.module.css +78 -0
  160. package/srcOLD/styles/headers/headerresturant.module.css +89 -0
  161. package/srcOLD/styles/headers/headerstyles.module.css +24 -0
  162. package/srcOLD/styles/headers/modernheader.module.css +78 -0
  163. package/srcOLD/styles/headers/subheader.module.css +114 -0
  164. package/srcOLD/styles/sections/Backgroundimage1.module.css +17 -0
  165. package/srcOLD/styles/sections/Backgroundimage_with_topcircle.module.css +28 -0
  166. package/srcOLD/styles/sections/Section_with_rightbgcont.module.css +49 -0
  167. package/srcOLD/styles/sections/Slideshow_with_rotatedsquare.module.css +35 -0
  168. package/srcOLD/styles/sections/Slideshow_with_squarebg.module.css +39 -0
  169. package/srcOLD/styles/staticpages/accordion.module.css +9 -0
  170. package/srcOLD/styles/staticpages/cart.module.css +108 -0
  171. package/srcOLD/styles/staticpages/dropdown.css +196 -0
  172. package/srcOLD/styles/staticpages/filter.module.css +139 -0
  173. package/srcOLD/styles/staticpages/login.module.css +146 -0
  174. package/srcOLD/styles/staticpages/productinfo.module.css +54 -0
  175. package/srcOLD/styles/staticpages/shop.module.css +191 -0
  176. package/srcOLD/styles/staticpages/signup.module.css +206 -0
  177. package/srcOLD/styles/staticpages/staticroutersidenav.module.css +129 -0
  178. package/srcOLD/styles/staticpages/viewcart.module.css +129 -0
  179. package/srcOLD/styles/staticpages/wishlist.module.css +29 -0
@@ -0,0 +1,486 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ // import { LanguageContext } from '../../../LanguageContext';
3
+ // import { FetchingContext } from '../../../FetchingContext';
4
+ // import { WebsiteDesignWorkPlaceContext } from '../../../../WebsiteDesignWorkPlaceContext';
5
+ // import { TemplateRoutingContext } from '../../../TemplateRoutingContext';
6
+ // import { NotificationManager } from 'react-notifications';
7
+ import { css } from 'glamor';
8
+ import { IKImage } from 'imagekitio-react';
9
+ import { IKpublicKey, IKurlEndpoint } from '../../../../Env';
10
+
11
+ import { FiShoppingCart, FiShoppingBag } from 'react-icons/fi';
12
+ import { IoBagHandleOutline } from 'react-icons/io5';
13
+ import { CgShoppingBag } from 'react-icons/cg';
14
+ import { BsBag } from 'react-icons/bs';
15
+ import { MdOutlineShoppingCart } from 'react-icons/md';
16
+ import { AiFillStar, AiOutlineStar } from 'react-icons/ai';
17
+ import { FaRegHeart, FaHeart } from 'react-icons/fa';
18
+ import { BsHandbag } from 'react-icons/bs';
19
+
20
+ const ModernProductCard = (props) => {
21
+ // const { lang, langdetect } = useContext(LanguageContext);
22
+ // const { StatePagePropertiesContext } = useContext(WebsiteDesignWorkPlaceContext);
23
+ // const { addtofavoritescontext, setShowProductInfoModalContext, ProductIdProdutInfoModalContext, setProductIdProdutInfoModalContext, AddtoCartContext } = useContext(FetchingContext);
24
+ // const { routingcountext, StaticPagesLinksContext } = useContext(TemplateRoutingContext);
25
+ const [sectionproperties, setsectionproperties] = useState('');
26
+ const [item, setitem] = useState(props.cardinfoitemprops);
27
+
28
+ const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
29
+ const lang = props.actions.lang;
30
+ const langdetect = props.actions.langdetect;
31
+ const setShowProductInfoModalContext = props.actions.setShowProductInfoModalContext;
32
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
33
+ const setProductIdProdutInfoModalContext = props.actions.setProductIdProdutInfoModalContext;
34
+ const AddtoCartContext = props.actions.AddtoCartContext;
35
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
36
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
37
+ const routingcountext = props.actions.routingcountext;
38
+
39
+ const NotificationManager = NotificationManager;
40
+ const updatequantity = (type) => {
41
+ var tempitem = { ...item };
42
+ tempitem.quantity = parseInt(tempitem.quantity);
43
+ if (type == 'add') {
44
+ tempitem.quantity = tempitem.quantity + 1;
45
+ } else if (type == 'remove') {
46
+ tempitem.quantity = tempitem.quantity - 1;
47
+ }
48
+ if (tempitem.quantity <= 0) {
49
+ tempitem.quantity = 0;
50
+ }
51
+ setitem({ ...tempitem });
52
+ };
53
+ useEffect(() => {
54
+ if (props.srcfrom == 'addsectionform') {
55
+ var secpropobj = {};
56
+ props.defaultproperties.forEach(function (defaultpropobj, defaultpropindex) {
57
+ secpropobj[defaultpropobj.property_css_name] = defaultpropobj.property_value;
58
+ });
59
+
60
+ setsectionproperties({ ...secpropobj });
61
+ } else {
62
+ var secpropobj = {};
63
+ StatePagePropertiesContext.pageobj.sections.forEach(function (sectionitem, sectionindex) {
64
+ if (sectionitem.sectionid == props.sectionidprops) {
65
+ sectionitem.sectionproperties.forEach(function (sectionpropertiesobj, sectionpropertiesindex) {
66
+ secpropobj[sectionpropertiesobj.property_css_name] = sectionpropertiesobj.property_value;
67
+ });
68
+ }
69
+ });
70
+ setsectionproperties({ ...secpropobj });
71
+ }
72
+ }, [StatePagePropertiesContext]);
73
+ const plainString = (html) => {
74
+ var divContainer = document.createElement('div');
75
+ divContainer.innerHTML = html;
76
+ return divContainer.textContent || divContainer.innerText || '';
77
+ };
78
+ const addtocartfunc = () => {
79
+ const addtocardpayloadobj = {
80
+ functype: 'add',
81
+ productid: item.productid,
82
+ variantid: '',
83
+ quantity: item.quantity,
84
+ };
85
+ var runfunc = false;
86
+ if (addtocardpayloadobj.productid.length != 0 && addtocardpayloadobj.quantity > 0) {
87
+ if (item.hasvariants == 1) {
88
+ if (addtocardpayloadobj.variantid.length != 0) {
89
+ runfunc = true;
90
+ } else {
91
+ NotificationManager.warning('', 'Please Choose Product Options');
92
+ }
93
+ } else {
94
+ runfunc = true;
95
+ }
96
+ } else {
97
+ NotificationManager.warning('', 'Please Choose Quantity');
98
+ }
99
+
100
+ if (runfunc == true) {
101
+ AddtoCartContext(addtocardpayloadobj);
102
+ }
103
+ };
104
+
105
+ const card_cssstyles = {
106
+ productcard: css({
107
+ background: sectionproperties.backgroundColortransparent == 'Transparent' ? 'transparent' : sectionproperties.backgroundColor,
108
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
109
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
110
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
111
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
112
+ marginTop: sectionproperties.marginTop + 'px',
113
+ marginBottom: sectionproperties.marginBottom + 'px',
114
+ paddingLeft: sectionproperties.paddingLeft + 'px',
115
+ paddingRight: sectionproperties.paddingRight + 'px',
116
+ paddingTop: sectionproperties.paddingTop + 'px',
117
+ paddingBottom: sectionproperties.paddingBottom + 'px',
118
+ border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
119
+ transition: '.3s',
120
+ color: sectionproperties.prodNameColor,
121
+ ':hover': {
122
+ color: sectionproperties.prodNameColorOnHover,
123
+ },
124
+ }),
125
+ productcardimagecont: css({
126
+ position: 'relative',
127
+ overflow: 'hidden',
128
+ height: sectionproperties.image_height + 'px',
129
+ background: sectionproperties.image_bgtransparent == 'Transparent' ? '' : sectionproperties.image_bgcolor,
130
+ border: sectionproperties.image_borderwidth + 'px solid ' + sectionproperties.image_bordercolor,
131
+ borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
132
+ borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
133
+ borderTopLeftRadius: sectionproperties.image_bordertopleftradius + 'px',
134
+ borderTopRightRadius: sectionproperties.image_bordertoprightradius + 'px',
135
+ transition: '.3s',
136
+ }),
137
+ productNameStyles: css({
138
+ fontSize: sectionproperties.prodNameFontSize + 'px',
139
+ textTransform: sectionproperties.prodNameTextTranform,
140
+ fontWeight: sectionproperties.prodNameFontWeight,
141
+ transition: '.3s',
142
+ cursor: 'pointer',
143
+ }),
144
+ productPricestyles: css({
145
+ color: sectionproperties.prodPriceColor,
146
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
147
+ fontWeight: sectionproperties.prodPriceFontWeight,
148
+ }),
149
+ productSalePricestyles: css({
150
+ color: sectionproperties.prodsalePriceColor,
151
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
152
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
153
+ }),
154
+ wishlist_btn: css({
155
+ width: sectionproperties.favBtnWidth + 'px',
156
+ height: sectionproperties.favBtnHeight + 'px',
157
+ background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
158
+ borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
159
+ color: sectionproperties.favBtniconcolor,
160
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
161
+ border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
162
+ transition: '.3s',
163
+ ':hover': {
164
+ background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
165
+ color: sectionproperties.favBtnTextcoloronhover,
166
+ },
167
+ }),
168
+ cart_btn: css({
169
+ width: sectionproperties.cartBtnWidth + 'px',
170
+ height: sectionproperties.cartBtnHeight + 'px',
171
+ background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
172
+ borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
173
+ color: sectionproperties.cart_iconcolor,
174
+ border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
175
+ transition: '.3s',
176
+ ':hover': {
177
+ background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
178
+ color: sectionproperties.cartBtnTextcoloronhover,
179
+ },
180
+ }),
181
+ quantitybtn: css({
182
+ flex: 1,
183
+ border: sectionproperties.quantitybtnborderwidth + 'px solid ' + sectionproperties.quantitybtnbordercolor,
184
+ height: sectionproperties.quantitybtn_height + 'px',
185
+ height: '40px',
186
+ display: 'flex',
187
+ flexDirection: 'row',
188
+ overflow: 'hidden',
189
+ borderRadius: sectionproperties.quantitybtn_borderradius + 'px',
190
+ background: sectionproperties.quantitybtn_bgcolor,
191
+ alignItems: 'center',
192
+ justifyContent: 'center',
193
+ margin: 0,
194
+ position: 'relative',
195
+ fontWeight: sectionproperties.quantitybtn_textfontweight,
196
+ color: sectionproperties.quantitybtn_textcolor,
197
+ fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
198
+ }),
199
+ quantitybtn_text: css({
200
+ margin: 'auto',
201
+ }),
202
+ add_quantitybtn_icon_container: css({
203
+ position: 'relative',
204
+ width: sectionproperties.add_quantitybtn_width + 'px',
205
+ height: sectionproperties.add_quantitybtn_height + 'px',
206
+ background: sectionproperties.add_quantitybtn_bgcolor,
207
+ display: 'flex',
208
+ alignItems: 'center',
209
+ justifyContent: 'center',
210
+ borderRadius: sectionproperties.add_quantitybtn_borderradius + 'px',
211
+ fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
212
+ color: sectionproperties.add_quantitybtn_textcolor,
213
+ transition: '.3s',
214
+ ':hover': {
215
+ color: sectionproperties.add_quantitybtn_textcoloronhover,
216
+ background: sectionproperties.add_quantitybtn_bgcoloronhover,
217
+ },
218
+ }),
219
+ minus_quantitybtn_icon_container: css({
220
+ position: 'relative',
221
+ width: sectionproperties.remove_quantitybtn_width + 'px',
222
+ height: sectionproperties.remove_quantitybtn_height + 'px',
223
+ background: sectionproperties.remove_quantitybtn_bgcolor,
224
+ display: 'flex',
225
+ alignItems: 'center',
226
+ justifyContent: 'center',
227
+ borderRadius: sectionproperties.remove_quantitybtn_borderradius + 'px',
228
+ fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
229
+ color: sectionproperties.remove_quantitybtn_textcolor,
230
+ transition: '.3s',
231
+ ':hover': {
232
+ color: sectionproperties.remove_quantitybtn_textcoloronhover,
233
+ background: sectionproperties.remove_quantitybtn_bgcoloronhover,
234
+ },
235
+ }),
236
+ producttotalstyles: css({
237
+ color: sectionproperties.total_color,
238
+ fontSize: sectionproperties.total_fontsize + 'px',
239
+ fontWeight: 500,
240
+ }),
241
+ productDescStyles: css({
242
+ color: sectionproperties.prodCatColor,
243
+ fontSize: sectionproperties.prodCatFontSize + 'px',
244
+ textTransform: sectionproperties.prodCatTextTranform,
245
+ fontWeight: sectionproperties.prodCatFontWeight,
246
+ transition: '.3s',
247
+ marginLeft: sectionproperties.description_marginLeft + 'px',
248
+ marginRight: sectionproperties.description_marginRight + 'px',
249
+ marginBottom: sectionproperties.descriptionMarginBottom + 'px',
250
+ }),
251
+ };
252
+
253
+ return (
254
+ <div
255
+ class="row m-0 w-100 p-sm-1"
256
+ style={{
257
+ paddingLeft: sectionproperties.card_marginLeft + 'px',
258
+ paddingRight: sectionproperties.card_marginRight + 'px',
259
+ }}
260
+ >
261
+ {sectionproperties.length != 0 && (
262
+ <div class={`${card_cssstyles.productcard}` + ' cursor-pointer col-lg-12 w-100 '}>
263
+ <div
264
+ onClick={() => {
265
+ if (props.fetchingtypeprops == 'collections') {
266
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, item.collectionid);
267
+ } else {
268
+ routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
269
+ }
270
+ }}
271
+ class={`${card_cssstyles.productcardimagecont}` + ' col-lg-12 p-0 '}
272
+ style={{
273
+ height: sectionproperties.image_height + 'px',
274
+ borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
275
+ borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
276
+ borderTopLeftRadius: sectionproperties.image_bordertopleftradius + 'px',
277
+ borderTopRightRadius: sectionproperties.image_bordertoprightradius + 'px',
278
+ marginBottom: sectionproperties.image_mb + 'px',
279
+ overflow: 'hidden',
280
+ }}
281
+ >
282
+ <IKImage
283
+ urlEndpoint={IKurlEndpoint}
284
+ publicKey={IKpublicKey}
285
+ path={item.image}
286
+ loading="lazy"
287
+ style={{
288
+ width: '100%',
289
+ height: '100%',
290
+ objectFit: 'contain',
291
+ }}
292
+ />
293
+ {sectionproperties.favBtnShow == 'Show' && (
294
+ <button
295
+ class={` ${card_cssstyles.wishlist_btn}` + ' m-0 p-0 d-flex align-items-center justify-content-center '}
296
+ onClick={(e) => {
297
+ e.stopPropagation();
298
+ addtofavoritescontext(item.productid);
299
+ }}
300
+ style={{
301
+ position: 'absolute',
302
+ top: 10,
303
+ right: langdetect == 'en' ? 10 : 0,
304
+ left: langdetect == 'en' ? 0 : 10,
305
+ background: item.IsFavExists == true ? sectionproperties.activebgcolor : '',
306
+ }}
307
+ >
308
+ {item.IsFavExists && (
309
+ <i class="h-100 d-flex align-items-center justify-content-center">
310
+ {sectionproperties.faviconshape == 'Star Shape' && (
311
+ <AiFillStar size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
312
+ )}
313
+ {sectionproperties.faviconshape == 'Heart Shape' && (
314
+ <FaHeart size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
315
+ )}
316
+ </i>
317
+ )}
318
+ {!item.IsFavExists && (
319
+ <i class="h-100 d-flex align-items-center justify-content-center">
320
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
321
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
322
+ </i>
323
+ )}
324
+ </button>
325
+ )}
326
+ {sectionproperties.prodsalePriceshow == 'Show' && item?.hassale == 1 && (
327
+ <div
328
+ class="allcentered"
329
+ style={{
330
+ position: 'absolute',
331
+ top: 10,
332
+ right: langdetect == 'en' ? 10 : '',
333
+ left: langdetect == 'en' ? '' : 10,
334
+ width: sectionproperties.badge_width + 'px',
335
+ height: sectionproperties.badge_height + 'px',
336
+ background: sectionproperties.badge_bgcolor,
337
+ borderRadius: sectionproperties.badge_borderradius + 'px',
338
+ }}
339
+ >
340
+ <p class="m-0 p-0" style={{ color: sectionproperties.badge_color, fontSize: sectionproperties.badge_fontsize + 'px' }}>
341
+ {langdetect == 'en' ? sectionproperties.badgeContentEn : sectionproperties.badgeContentAr}
342
+ </p>
343
+ </div>
344
+ )}
345
+ </div>
346
+ <div>
347
+ <div class="row m-0 w-100">
348
+ {sectionproperties.prodNameShow == 'Show' && (
349
+ <div
350
+ onClick={() => {
351
+ if (props.fetchingtypeprops == 'collections') {
352
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, item.collectionid);
353
+ } else {
354
+ routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
355
+ }
356
+ }}
357
+ class="col-lg-12 p-0 "
358
+ >
359
+ <p
360
+ class={`${card_cssstyles.productNameStyles}` + ' font-md-15 wordbreak wordbreak1 -noellipsis m-0 '}
361
+ style={{
362
+ textAlign: langdetect == 'en' ? 'left' : 'right',
363
+ }}
364
+ >
365
+ {item.name}
366
+ </p>
367
+ </div>
368
+ )}
369
+ {sectionproperties.prodCatShow == 'Show' && (
370
+ <p
371
+ class={`${card_cssstyles.productDescStyles}` + ' col-lg-12 wordbreak wordbreak2 p-0 '}
372
+ style={{
373
+ textAlign: langdetect == 'en' ? 'left' : 'right',
374
+ }}
375
+ >
376
+ {plainString(langdetect == 'en' ? item.description_en : item.description_ar)}
377
+ </p>
378
+ )}
379
+
380
+ <div class="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0">
381
+ <div class="row m-0 w-100 d-flex align-items-center">
382
+ {sectionproperties.prodPriceShow == 'Show' && (
383
+ <p class={`${card_cssstyles.productPricestyles}` + ' m-0 '}>
384
+ {langdetect == 'en' ? 'EGP' : ''} {item.hassale == 1 ? item.defaultsaleprice : item.defaultprice} {langdetect == 'en' ? '' : 'ج.م'}
385
+ </p>
386
+ )}
387
+ {sectionproperties.prodsalePriceshow == 'Show' && item.hassale == 1 && (
388
+ <p class={`${card_cssstyles.productSalePricestyles}` + ' linethrough m-0 mr-3 ml-3 '}>
389
+ {langdetect == 'en' ? 'EGP' : ''} {item.defaultprice} {langdetect == 'en' ? '' : 'ج.م'}
390
+ </p>
391
+ )}
392
+ </div>
393
+ </div>
394
+ <div class="row mt-1 m-0 w-100">
395
+ <div class="col-lg-6 col-md-8 col-sm-8 p-0">
396
+ <div style={{ width: sectionproperties.quantitybtn_width + 'px' }} class={' row m-0 d-flex align-items-center '}>
397
+ <button class={`${card_cssstyles.quantitybtn}` + ' p-0 d-flex align-items-center justify-content-center '}>
398
+ {langdetect == 'en' && (
399
+ <span
400
+ class={`${card_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
401
+ style={{ transform: ' rotate(-180deg)' }}
402
+ onClick={() => {
403
+ updatequantity('remove');
404
+ }}
405
+ >
406
+ <i class="fa fa-chevron-up "></i>
407
+ </span>
408
+ )}
409
+ {langdetect == 'ar' && (
410
+ <span
411
+ class={`${card_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
412
+ onClick={() => {
413
+ updatequantity('add');
414
+ }}
415
+ >
416
+ <i class="fa fa-chevron-up"></i>
417
+ </span>
418
+ )}
419
+ <span
420
+ class={`${card_cssstyles.quantitybtn_text}` + ' d-flex align-items-center justify-content-center '}
421
+ style={{
422
+ background: sectionproperties.quantbtntextbgcolor,
423
+ width: sectionproperties.quantitybtntextwidth + 'px',
424
+ height: sectionproperties.quantitybtntextheight + 'px',
425
+ borderRadius: sectionproperties.addquantitytextborderraduis + 'px',
426
+ }}
427
+ >
428
+ {item.quantity}
429
+ </span>
430
+ {langdetect == 'ar' && (
431
+ <span
432
+ class={`${card_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
433
+ style={{ transform: ' rotate(-180deg)' }}
434
+ onClick={() => {
435
+ updatequantity('remove');
436
+ }}
437
+ >
438
+ <i class="fa fa-chevron-up "></i>
439
+ </span>
440
+ )}
441
+ {langdetect == 'en' && (
442
+ <span
443
+ class={`${card_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
444
+ onClick={() => {
445
+ updatequantity('add');
446
+ }}
447
+ >
448
+ <i class="fa fa-chevron-up"></i>
449
+ </span>
450
+ )}
451
+ </button>
452
+ </div>
453
+ </div>
454
+ {sectionproperties.cartBtnShow == 'Show' && (
455
+ <div class="col-lg-6 col-md-4 col-sm-4 d-flex align-items-center justify-content-end p-0">
456
+ <button
457
+ class={`${card_cssstyles.cart_btn}` + ' font-md-13 m-0 p-0 d-flex align-items-center justify-content-center '}
458
+ onClick={() => {
459
+ if (item.hasvariants == 0) {
460
+ addtocartfunc();
461
+ } else {
462
+ setShowProductInfoModalContext(true);
463
+ setProductIdProdutInfoModalContext(item.productid);
464
+ }
465
+ }}
466
+ >
467
+ <i class={'h-100 d-flex align-items-center justify-content-center'}>
468
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag class="" size={sectionproperties.cartBtn_iconFontSize} />}
469
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag class="" size={sectionproperties.cartBtn_iconFontSize} />}
470
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag class="" size={sectionproperties.cartBtn_iconFontSize} />}
471
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <BsHandbag size={sectionproperties.cartBtn_iconFontSize} />}
472
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart class="" size={sectionproperties.cartBtn_iconFontSize} />}
473
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdOutlineShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
474
+ </i>
475
+ </button>
476
+ </div>
477
+ )}
478
+ </div>
479
+ </div>
480
+ </div>
481
+ </div>
482
+ )}
483
+ </div>
484
+ );
485
+ };
486
+ export default ModernProductCard;