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,272 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ import { css } from 'glamor';
3
+ import { AiFillStar, AiFillHeart } from 'react-icons/ai';
4
+ import { MdOutlineShoppingCart } from 'react-icons/md';
5
+ import { IKImage } from 'imagekitio-react';
6
+ import { IKpublicKey, IKurlEndpoint } from '../../../../Env';
7
+
8
+ const Productcarddefault = (props) => {
9
+ const [sectionproperties, setsectionproperties] = useState('');
10
+ const [item, setitem] = useState(props.cardinfoitemprops);
11
+ const [index, setindex] = useState(props.cardinfoindexprops);
12
+ const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
13
+ const lang = props.actions.lang;
14
+ const langdetect = props.actions.langdetect;
15
+ const setShowProductInfoModalContext = props.actions.setShowProductInfoModalContext;
16
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
17
+ const setProductIdProdutInfoModalContext = props.actions.setProductIdProdutInfoModalContext;
18
+ const AddtoCartContext = props.actions.AddtoCartContext;
19
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
20
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
21
+ const routingcountext = props.actions.routingcountext;
22
+
23
+ useEffect(() => {
24
+ if (props.srcfrom == 'addsectionform') {
25
+ var secpropobj = {};
26
+ props.defaultproperties.forEach(function (defaultpropobj, defaultpropindex) {
27
+ secpropobj[defaultpropobj.property_css_name] = defaultpropobj.property_value;
28
+ });
29
+
30
+ setsectionproperties({ ...secpropobj });
31
+ } else {
32
+ var secpropobj = {};
33
+ StatePagePropertiesContext.pageobj.sections.forEach(function (sectionitem, sectionindex) {
34
+ if (sectionitem.sectionid == props.sectionidprops) {
35
+ sectionitem.sectionproperties.forEach(function (sectionpropertiesobj, sectionpropertiesindex) {
36
+ secpropobj[sectionpropertiesobj.property_css_name] = sectionpropertiesobj.property_value;
37
+ });
38
+ }
39
+ });
40
+ setsectionproperties({ ...secpropobj });
41
+ }
42
+ }, [StatePagePropertiesContext]);
43
+
44
+ const card_cssstyles = {
45
+ productcard: css({
46
+ background: sectionproperties.backgroundColortransparent == 'Transparent' ? 'transparent' : sectionproperties.backgroundColor,
47
+ opacity: sectionproperties.cardbg_opacity,
48
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
49
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
50
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
51
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
52
+ marginTop: sectionproperties.marginTop + 'px',
53
+ marginBottom: sectionproperties.marginBottom + 'px',
54
+ paddingLeft: sectionproperties.paddingLeft + 'px',
55
+ paddingRight: sectionproperties.paddingRight + 'px',
56
+ paddingTop: sectionproperties.paddingTop + 'px',
57
+ paddingBottom: sectionproperties.paddingBottom + 'px',
58
+ // boxShadow: sectionproperties.sectioncardshadow == 'Show' ? '0 0 10px ' + sectionproperties.sectioncardshadowcolor : 'none',
59
+ // border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
60
+ transition: '.3s',
61
+ ':hover': {
62
+ // transform: 'scale(1.05)',
63
+ opacity: sectionproperties.bgopacityonhover,
64
+ },
65
+ ':after': {
66
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
67
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
68
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
69
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
70
+ },
71
+ }),
72
+ productcard_image_container: css({
73
+ height: sectionproperties.height + 'px',
74
+ // border: sectionproperties.image_borderWidth + 'px solid ' + sectionproperties.image_bordercolor,
75
+ // boxShadow: sectionproperties.image_showshadow == 'Show' ? ' 0 0 10px ' + sectionproperties.image_shadowcolor : '',
76
+ // borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
77
+ // borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
78
+ // borderTopLeftRadius: sectionproperties.image_borderTopLeftRadius + 'px',
79
+ // borderTopRightRadius: sectionproperties.image_borderTopRightRadius + 'px',
80
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
81
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
82
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
83
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
84
+ background: sectionproperties.image_bgcolortransparent == 'Transparent' ? sectionproperties.image_bgcolor : '',
85
+ opacity: sectionproperties.cardimg_opacity,
86
+ boxShadow: sectionproperties.sectioncardshadow == 'Show' ? '0 0 10px ' + sectionproperties.sectioncardshadowcolor : 'none',
87
+ border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
88
+
89
+ backgroundSize: 'cover',
90
+ backgroundRepeat: 'no-repeat',
91
+ backgroundPosition: 'center',
92
+ opacity: sectionproperties.cardimg_opacity,
93
+ ':hover': {
94
+ opacity: sectionproperties.cardimg_opacityonhover,
95
+ },
96
+ }),
97
+ textContainer: css({
98
+ paddingLeft: sectionproperties.paddingLeft + 'px',
99
+ paddingRight: sectionproperties.paddingRight + 'px',
100
+ paddingTop: sectionproperties.paddingTop + 'px',
101
+ paddingBottom: sectionproperties.paddingBottom + 'px',
102
+ }),
103
+ productNameStyles: css({
104
+ color: sectionproperties.prodNameColor,
105
+ fontSize: sectionproperties.prodNameFontSize + 'px',
106
+ textTransform: sectionproperties.prodNameTextTranform,
107
+ fontWeight: sectionproperties.prodNameFontWeight,
108
+ transition: '.3s',
109
+ cursor: 'pointer',
110
+ ':hover': {
111
+ color: sectionproperties.prodNameColorOnHover,
112
+ },
113
+ }),
114
+ productPricestyles: css({
115
+ color: sectionproperties.prodPriceColor,
116
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
117
+ fontWeight: sectionproperties.prodPriceFontWeight,
118
+ marginBottom: sectionproperties.prodprice_marginBottom + 'px',
119
+ margintop: sectionproperties.prodprice_marginTop + 'px',
120
+ }),
121
+ productSalePricestyles: css({
122
+ color: sectionproperties.prodsalePriceColor,
123
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
124
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
125
+ marginBottom: sectionproperties.prodsaleprice_marginBottom + 'px',
126
+ margintop: sectionproperties.prodsaleprice_marginTop + 'px',
127
+ }),
128
+ wishlist_btn: css({
129
+ width: sectionproperties.favBtnWidth + 'px',
130
+ height: sectionproperties.favBtnHeight + 'px',
131
+ marginTop: sectionproperties.favBtnmarginTop + 'px',
132
+ background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
133
+ borderBottomLeftRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
134
+ borderBottomRightRadius: sectionproperties.fav_btn_borderBottomRightRadius + 'px',
135
+ borderTopLeftRadius: sectionproperties.fav_btn_borderTopLeftRadius + 'px',
136
+ borderTopRightRadius: sectionproperties.fav_btn_borderTopRightRadius + 'px',
137
+ color: sectionproperties.favBtnTextcolor,
138
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
139
+ textTransform: sectionproperties.favBtnTexttransform,
140
+ fontWeight: sectionproperties.favBtnTextfontweight,
141
+ transition: '.3s',
142
+ boxShadow: sectionproperties.favbtn_showshadow == 'Show' ? '0 0 10px ' + sectionproperties.favbtn_shadowcolor : '',
143
+ border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
144
+ ':hover': {
145
+ background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
146
+ color: sectionproperties.favBtnTextcoloronhover,
147
+ },
148
+ }),
149
+ cart_btn: css({
150
+ width: sectionproperties.cartBtnWidth + 'px',
151
+ height: sectionproperties.cartBtnHeight + 'px',
152
+ marginTop: sectionproperties.cartbtn_marginTop + 'px',
153
+ background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
154
+ borderBottomLeftRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
155
+ borderBottomRightRadius: sectionproperties.cart_btn_borderBottomRightRadius + 'px',
156
+ borderTopLeftRadius: sectionproperties.cart_btn_borderTopLeftRadius + 'px',
157
+ borderTopRightRadius: sectionproperties.cart_btn_borderTopRightRadius + 'px',
158
+ color: sectionproperties.cartBtnTextcolor,
159
+ fontSize: sectionproperties.cartBtnTextfontsize + 'px',
160
+ textTransform: sectionproperties.cartBtnTexttransform,
161
+ fontWeight: sectionproperties.cartBtnTextfontweight,
162
+ border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
163
+ transition: '.3s',
164
+ ':hover': {
165
+ background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
166
+ color: sectionproperties.cartBtnTextcoloronhover,
167
+ },
168
+ }),
169
+ };
170
+ return (
171
+ <>
172
+ {sectionproperties.length != 0 && (
173
+ <div
174
+ class={`${card_cssstyles.productcard}` + ' cursor-pointer '}
175
+ onClick={() => {
176
+ if (props.fetchingtypeprops == 'collections') {
177
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, item.collectionid);
178
+ }
179
+ }}
180
+ style={{
181
+ marginLeft: sectionproperties.card_marginLeft + 'px',
182
+ marginRight: sectionproperties.card_marginRight + 'px',
183
+ }}
184
+ >
185
+ <div>
186
+ <div
187
+ class={`${card_cssstyles.productcard_image_container}`}
188
+ style={{
189
+ position: 'relative',
190
+ }}
191
+ >
192
+ <IKImage
193
+ urlEndpoint={IKurlEndpoint}
194
+ publicKey={IKpublicKey}
195
+ path={'/tr:w-350,h-500/' + item.image}
196
+ loading="lazy"
197
+ style={{
198
+ width: '100%',
199
+ height: '100%',
200
+ objectFit: 'contain',
201
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
202
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
203
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
204
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
205
+ }}
206
+ />
207
+ </div>
208
+ <div style={{ position: 'absolute', bottom: '70px' }} class="col-lg-12 d-flex justify-content-end">
209
+ {sectionproperties.favBtnShow == 'Show' && (
210
+ <div
211
+ class={`${card_cssstyles.wishlist_btn}` + ' d-flex justify-content-center align-items-center mr-3 '}
212
+ onClick={() => {
213
+ addtofavoritescontext(item.productid);
214
+ }}
215
+ >
216
+ <i class="h-100 d-flex justify-content-center align-items-center">
217
+ <AiFillStar size={sectionproperties.favBtnIconfontsize} style={{ color: item.IsFavExists ? 'orange' : 'white' }} />
218
+ </i>
219
+ </div>
220
+ )}
221
+ {sectionproperties.cartBtnShow == 'Show' && (
222
+ <div
223
+ class={`${card_cssstyles.cart_btn}` + ' d-flex justify-content-center align-items-center '}
224
+ onClick={() => {
225
+ setShowProductInfoModalContext(true);
226
+ setProductIdProdutInfoModalContext(item.productid);
227
+ }}
228
+ >
229
+ <i class="h-100 d-flex justify-content-center align-items-center">
230
+ <MdOutlineShoppingCart size={sectionproperties.cartBtn_iconFontSize + 'px'} />
231
+ </i>
232
+ </div>
233
+ )}
234
+ </div>
235
+ </div>
236
+ <div class={`${card_cssstyles.textContainer}` + ' row m-0 w-100 '}>
237
+ {sectionproperties.prodNameShow == 'Show' && (
238
+ <div
239
+ class="col-lg-12 d-flex justify-content-start mt-2"
240
+ onClick={() => {
241
+ if (props.fetchingtypeprops == 'products') {
242
+ setShowProductInfoModalContext(true);
243
+ setProductIdProdutInfoModalContext(item.productid);
244
+ }
245
+ }}
246
+ >
247
+ <p class={`${card_cssstyles.productNameStyles}` + ' m-0 wordbreak wordbreak2 '}>{item.name}</p>
248
+ </div>
249
+ )}
250
+ <div class="col-lg-12 d-flex justify-content-start align-items-center mb-2">
251
+ {sectionproperties.prodPriceShow == 'Show' && (
252
+ <p class={`${card_cssstyles.productPricestyles}` + ' m-0 '}>
253
+ {langdetect == 'en' ? 'EGP' : 'ج.م'} {item.hassale == 1 ? item.defaultsaleprice : item.defaultprice}
254
+ </p>
255
+ )}
256
+ {sectionproperties.prodsalePriceshow == 'Show' && (
257
+ <>
258
+ {item.hassale == 1 && (
259
+ <p class={`${card_cssstyles.productSalePricestyles}` + ' linethrough m-0 mr-2 ml-2 '}>
260
+ {langdetect == 'en' ? 'EGP' : 'ج.م'} {item.defaultprice}
261
+ </p>
262
+ )}
263
+ </>
264
+ )}
265
+ </div>
266
+ </div>
267
+ </div>
268
+ )}
269
+ </>
270
+ );
271
+ };
272
+ export default Productcarddefault;
@@ -0,0 +1,286 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ import cardsstyles from '../../../styles/cards/productccard_with_imageontopleft.module.css';
3
+ import { css } from 'glamor';
4
+ import { AiFillStar, AiOutlineStar } from 'react-icons/ai';
5
+ import { FaRegHeart, FaHeart } from 'react-icons/fa';
6
+ import { MdOutlineShoppingCart } from 'react-icons/md';
7
+ import { IKImage } from 'imagekitio-react';
8
+ import { IKpublicKey, IKurlEndpoint } from '../../../../Env';
9
+
10
+ const Productccard_with_imageontopleft = (props) => {
11
+ const [sectionproperties, setsectionproperties] = useState('');
12
+ const [item, setitem] = useState(props.cardinfoitemprops);
13
+ const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
14
+ const lang = props.actions.lang;
15
+ const langdetect = props.actions.langdetect;
16
+ const setShowProductInfoModalContext = props.actions.setShowProductInfoModalContext;
17
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
18
+ const setProductIdProdutInfoModalContext = props.actions.setProductIdProdutInfoModalContext;
19
+ const AddtoCartContext = props.actions.AddtoCartContext;
20
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
21
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
22
+ const routingcountext = props.actions.routingcountext;
23
+ useEffect(() => {
24
+ if (props.srcfrom == 'addsectionform') {
25
+ var secpropobj = {};
26
+ props.defaultproperties.forEach(function (defaultpropobj, defaultpropindex) {
27
+ secpropobj[defaultpropobj.property_css_name] = defaultpropobj.property_value;
28
+ });
29
+
30
+ setsectionproperties({ ...secpropobj });
31
+ } else {
32
+ var secpropobj = {};
33
+ StatePagePropertiesContext.pageobj.sections.forEach(function (sectionitem, sectionindex) {
34
+ if (sectionitem.sectionid == props.sectionidprops) {
35
+ sectionitem.sectionproperties.forEach(function (sectionpropertiesobj, sectionpropertiesindex) {
36
+ secpropobj[sectionpropertiesobj.property_css_name] = sectionpropertiesobj.property_value;
37
+ });
38
+ }
39
+ });
40
+ setsectionproperties({ ...secpropobj });
41
+ }
42
+ }, [StatePagePropertiesContext]);
43
+ useEffect(() => {
44
+ if (props.cardinfoitemprops != undefined) {
45
+ setitem(props.cardinfoitemprops);
46
+ }
47
+ }, [props.cardinfoitemprops]);
48
+ const card_cssstyles = {
49
+ productcard: css({
50
+ minHeight: 160,
51
+ // minWidth:200,
52
+ background: sectionproperties.backgroundColortransparent == 'Transparent' ? 'transparent' : sectionproperties.backgroundColor,
53
+ opacity: sectionproperties.cardbg_opacity,
54
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
55
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
56
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
57
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
58
+ paddingLeft: sectionproperties.paddingLeft + 'px',
59
+ paddingRight: sectionproperties.paddingRight + 'px',
60
+ paddingTop: sectionproperties.paddingTop + 'px',
61
+ paddingBottom: sectionproperties.paddingBottom + 'px',
62
+ boxShadow: sectionproperties.sectioncardshadow == 'Show' ? '0 0 10px ' + sectionproperties.sectioncardshadowcolor : 'none',
63
+ border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
64
+ transition: '.3s',
65
+ // height: sectionproperties.height + 'px',
66
+ ':hover': {
67
+ opacity: sectionproperties.bgopacityonhover,
68
+ },
69
+ }),
70
+ productNameStyles: css({
71
+ color: sectionproperties.prodNameColor,
72
+ fontSize: sectionproperties.prodNameFontSize + 'px',
73
+ textTransform: sectionproperties.prodNameTextTranform,
74
+ fontWeight: sectionproperties.prodNameFontWeight,
75
+ transition: '.3s',
76
+ cursor: 'pointer',
77
+ ':hover': {
78
+ color: sectionproperties.prodNameColorOnHover,
79
+ },
80
+ }),
81
+ productPricestyles: css({
82
+ color: sectionproperties.prodPriceColor,
83
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
84
+ fontWeight: sectionproperties.prodPriceFontWeight,
85
+ }),
86
+ productSalePricestyles: css({
87
+ color: sectionproperties.prodsalePriceColor,
88
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
89
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
90
+ }),
91
+ wishlist_btn: css({
92
+ width: sectionproperties.favBtnWidth + 'px',
93
+ height: sectionproperties.favBtnHeight + 'px',
94
+ background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
95
+ borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
96
+ color: sectionproperties.favBtnTextcolor,
97
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
98
+ // favBtnIconfontsize
99
+ textTransform: sectionproperties.favBtnTexttransform,
100
+ fontWeight: sectionproperties.favBtnTextfontweight,
101
+ transition: '.3s',
102
+ boxShadow: sectionproperties.favbtn_showshadow == 'Show' ? '0 0 10px ' + sectionproperties.favbtn_shadowcolor : '',
103
+ border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
104
+ opacity: sectionproperties.favbtn_opacity,
105
+ ':hover': {
106
+ background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
107
+ color: sectionproperties.favBtnTextcoloronhover,
108
+ opacity: sectionproperties.favbtn_opacityonhover,
109
+ },
110
+ }),
111
+ cart_btn: css({
112
+ width: sectionproperties.cartBtnWidth + 'px',
113
+ height: sectionproperties.cartBtnHeight + 'px',
114
+ background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
115
+ borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
116
+ color: sectionproperties.cartBtnTextcolor,
117
+ fontSize: sectionproperties.cartBtnTextfontsize + 'px',
118
+ // fontSize: sectionproperties.cartBtn_iconFontSize + 'px',
119
+ textTransform: sectionproperties.cartBtnTexttransform,
120
+ fontWeight: sectionproperties.cartBtnTextfontweight,
121
+ border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
122
+ transition: '.3s',
123
+ ':hover': {
124
+ background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
125
+ color: sectionproperties.cartBtnTextcoloronhover,
126
+ },
127
+ }),
128
+ img_container: css({
129
+ // width: '100px',
130
+ // height: '100px',
131
+ border: sectionproperties.image_borderWidth + 'px solid ' + sectionproperties.image_bordercolor,
132
+ borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
133
+ borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
134
+ borderTopLeftRadius: sectionproperties.image_bordertopleftradius + 'px',
135
+ borderTopRightRadius: sectionproperties.image_bordertoprightradius + 'px',
136
+ }),
137
+ imagecontimage: css({
138
+ width: '100%',
139
+ height: '100%',
140
+ borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
141
+ borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
142
+ borderTopLeftRadius: sectionproperties.image_borderTopLeftRadius + 'px',
143
+ borderTopRightRadius: sectionproperties.image_borderTopRightRadius + 'px',
144
+ }),
145
+ };
146
+
147
+ return (
148
+ <div
149
+ class="row m-0 w-100 pl-md-2 pr-md-2"
150
+ style={{
151
+ paddingLeft: sectionproperties.card_marginLeft + 'px',
152
+ paddingRight: sectionproperties.card_marginRight + 'px',
153
+ }}
154
+ >
155
+ {sectionproperties.length != 0 && (
156
+ <div class="col-lg-12 pl-0 pr-0 mb-sm-5" style={{ width: '100%', marginTop: '70px', marginBottom: sectionproperties.marginBottom + 'px' }}>
157
+ <div class={`${cardsstyles.productcard} ${card_cssstyles.productcard}` + ' m-sm-0 '}>
158
+ <div
159
+ class="row m-0 w-100"
160
+ style={{ position: 'relative', cursor: 'pointer' }}
161
+ onClick={() => {
162
+ if (props.fetchingtypeprops == 'collections') {
163
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, item.collectionid);
164
+ } else {
165
+ routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
166
+ }
167
+ }}
168
+ >
169
+ <div class={`${cardsstyles.img_container}` + ' '}>
170
+ <IKImage
171
+ urlEndpoint={IKurlEndpoint}
172
+ publicKey={IKpublicKey}
173
+ path={'/tr:w-105,h-105/' + item.image}
174
+ loading="lazy"
175
+ style={{
176
+ borderBottomLeftRadius: sectionproperties.image_borderBottomLeftRadius + 'px',
177
+ borderBottomRightRadius: sectionproperties.image_borderBottomRightRadius + 'px',
178
+ borderTopLeftRadius: sectionproperties.image_bordertopleftradius + 'px',
179
+ borderTopRightRadius: sectionproperties.image_bordertoprightradius + 'px',
180
+ objectFit: 'contain',
181
+ }}
182
+ />
183
+ </div>
184
+ </div>
185
+ {item?.hassale == 1 && sectionproperties.prodsalePriceshow == 'Show' && (
186
+ <div
187
+ class="allcentered"
188
+ style={{
189
+ position: 'absolute',
190
+ top: 10,
191
+ left: langdetect == 'en' ? 10 : '',
192
+ right: langdetect == 'en' ? '' : 10,
193
+ }}
194
+ >
195
+ <p class="m-0 p-0" style={{ color: sectionproperties.badge_color, fontSize: sectionproperties.badge_fontsize + 'px' }}>
196
+ {langdetect == 'en' ? sectionproperties.badgeContentEn : sectionproperties.badgeContentAr}
197
+ </p>
198
+ </div>
199
+ )}
200
+ <div class="row m-0 w-100 mt-5 ">
201
+ <div class="col-lg-12 col-md-12 col-sm-12 m-0 p-0 d-flex align-items-center">
202
+ {sectionproperties.prodPriceShow == 'Show' && (
203
+ <p class={`${card_cssstyles.productPricestyles}` + ' m-0 '}>
204
+ {langdetect == 'en' ? 'EGP' : ''} {item.hassale == 1 ? item.defaultsaleprice : item.defaultprice} {langdetect == 'en' ? '' : 'ج.م'}
205
+ </p>
206
+ )}
207
+ {sectionproperties.prodsalePriceshow == 'Show' && (
208
+ <>
209
+ {item.hassale == 1 && (
210
+ <p class={`${card_cssstyles.productSalePricestyles}` + ' linethrough m-0 mr-2 ml-2 '}>
211
+ {langdetect == 'en' ? 'EGP' : ''} {item.defaultprice} {langdetect == 'en' ? '' : 'ج.م'}
212
+ </p>
213
+ )}
214
+ </>
215
+ )}
216
+ </div>
217
+ {sectionproperties.prodNameShow == 'Show' && (
218
+ <div
219
+ class="col-lg-12 p-0 d-flex justify-content-start mb-0"
220
+ onClick={() => {
221
+ // e.stopPropagation();
222
+ if (props.fetchingtypeprops == 'collections') {
223
+ routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, item.collectionid);
224
+ } else {
225
+ routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
226
+ }
227
+ }}
228
+ >
229
+ <p class={`${card_cssstyles.productNameStyles}` + ' m-0 p-0 font-sm-14 module line-clamp d-flex justify-content-start wordbreak wordbreak2 mb-1'}>{item.name}</p>
230
+ </div>
231
+ )}
232
+ </div>
233
+
234
+ <div class="row w-100 p-0 m-0 " style={{ position: 'absolute', bottom: 4 }}>
235
+ <div class="col-lg-6 p-0 d-flex justify-content-start">
236
+ {sectionproperties.cartBtnShow == 'Show' && (
237
+ <div class=" ">
238
+ <button
239
+ class={`${card_cssstyles.cart_btn}` + ''}
240
+ onClick={() => {
241
+ if (props.fetchingtypeprops == 'products') {
242
+ setShowProductInfoModalContext(true);
243
+ setProductIdProdutInfoModalContext(item.productid);
244
+ }
245
+ }}
246
+ >
247
+ <i></i> + {langdetect == 'en' ? 'Add to Cart' : 'اضف الى الحقيبة'}
248
+ </button>
249
+ </div>
250
+ )}
251
+ </div>
252
+ <div class="col-lg-6 p-0 pl-3 pr-3 d-flex justify-content-end">
253
+ {sectionproperties.favBtnShow == 'Show' && (
254
+ <button
255
+ class={` ${card_cssstyles.wishlist_btn}` + ''}
256
+ onClick={() => {
257
+ addtofavoritescontext(item.productid);
258
+ }}
259
+ >
260
+ {item.IsFavExists && (
261
+ <i class="h-100 d-flex align-items-center justify-content-center">
262
+ {sectionproperties.faviconshape == 'Star Shape' && (
263
+ <AiFillStar size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
264
+ )}
265
+ {sectionproperties.faviconshape == 'Heart Shape' && (
266
+ <FaHeart size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
267
+ )}
268
+ </i>
269
+ )}
270
+ {!item.IsFavExists && (
271
+ <i class="h-100 d-flex align-items-center justify-content-center">
272
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
273
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
274
+ </i>
275
+ )}
276
+ </button>
277
+ )}
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ )}
283
+ </div>
284
+ );
285
+ };
286
+ export default Productccard_with_imageontopleft;