{"version":3,"sources":["webpack:///./Scripts/Components/ProductPrice.js","webpack:///./Scripts/Components/ProductCard.js","webpack:///./Scripts/Containers/ProductSlider.container.js","webpack:///./Scripts/Components/BuyButton.js","webpack:///./Scripts/Containers/BuyButton.container.js"],"names":["ProductPrice","_ref","price","campaignEnd","originalAndCampaign","campaignPrice","oldPrice","showOldPrice","tierPrices","length","secondaryPrice","showSecondaryOldPrice","React","createElement","className","itemProp","itemScope","itemType","Fragment","translate","formattedTierPrice","formattedBasePrice","formattedCampaignPrice","days","Math","floor","hours","formattedSecondaryPrice","content","currency","ProductCard","productItem","index","store","product","JSON","parse","key","concat","href","url","title","name","tagImage","dangerouslySetInnerHTML","__html","image","isRelatedProducts","longDescription","articleNumber","shortDescription","showStock","isSoftware","softwareDownloadText","isInIntStock","isInExtStock","stockDeliveryTimeDescription","storeStockDeliveryTimeDescription","showPrice","isList","showBuyButton","data-article-number","id","data-css-class","data-href","data-quantity-field-id","quantityFieldId","data-show-label","showLabel","Provider","BuyButtonContainer","cssClass","label","isInStock","ProductSliderContainer","products","_ref$productCount","productCount","showMore","responsive","desktop","breakpoint","max","min","items","Number","partialVisibilityGutter","slidesToSlide","tablet","mobile","Carousel","swipeable","draggable","centerMode","arrows","renderArrowsWhenDisabled","partialVisible","containerClass","_mapInstanceProperty","call","BuyButton","onClick","upsellContainer","document","getElementById","classList","contains","remove","requestAnimationFrame","add","window","location","_Component","props","_this","_classCallCheck","_callSuper","buttonRef","createRef","_inherits","_createClass","value","_this2","this","ref","_extends","addToCart","current","Component","connect","state","dispatch","buttonDomNode","nodeIdToShowNotification","_Date$now","quantityElement","quantity","notificationMessage","hash"],"mappings":"gIAgFeA,EA7EM,SAAHC,GAA+B,IAAzBC,EAAKD,EAALC,MAAOC,EAAWF,EAAXE,YAC7B,IAAKD,EACH,OAAO,KAGT,IAAME,EACmB,MAAvBF,EAAMG,cAAwB,oCAAsC,sBAChEC,EAAkC,MAAvBJ,EAAMG,cAAwB,YAAc,QAEvDE,EACHL,EAAMM,YACLN,EAAMM,WAAWC,OAAS,GAC1BP,EAAMQ,eAAiBR,EAAMM,WAAW,GAAGN,OAC5CA,EAAMG,eAAiBH,EAAMQ,eAAiBR,EAAMG,cAAcH,MAE/DS,EACHT,EAAMM,YACLN,EAAMM,WAAWC,OAAS,GAC1BP,EAAMQ,eAAiBR,EAAMM,WAAW,GAAGN,OAC7CA,EAAMQ,eAAiBR,EAAMA,MAAMA,MAErC,OACEU,IAAAC,cAAA,OAAKC,UAAWV,EAAqBW,SAAS,SAASC,WAAS,EAACC,SAAS,2BACxEL,IAAAC,cAAA,OAAKE,SAAS,QAAQD,UAAWR,GAC9BJ,EAAMM,YAAcN,EAAMM,WAAWC,OAAS,EAC7CG,IAAAC,cAACK,WAAQ,KACPN,IAAAC,cAAA,QAAMC,UAAU,6BACbK,YAAU,sBAEbP,IAAAC,cAAA,YAAOX,EAAMkB,qBAGfR,IAAAC,cAAA,YAAOX,EAAMmB,qBAIhBnB,EAAMG,eACLO,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,QAAME,SAAS,SACZb,EAAMM,YAAcN,EAAMM,WAAWC,OAAS,EAC7CG,IAAAC,cAACK,WAAQ,KACNC,YAAU,qBAAqB,IAAEjB,EAAMoB,wBAG1CV,IAAAC,cAACK,WAAQ,KAAEhB,EAAMoB,yBAIpBnB,GACCS,IAAAC,cAAA,QAAMC,UAAU,iBACdF,IAAAC,cAAA,KAAGC,UAAU,sBACZK,YAAU,sBAAuB,CAChCI,KAAMC,KAAKC,MAAMtB,EAAc,OAC/BuB,MAAOF,KAAKC,MAAOtB,EAAc,MAAqB,SAK3DI,GACCK,IAAAC,cAAA,QAAMC,UAAU,sBAAqB,IACjCZ,EAAMyB,wBAAwB,MAMvChB,GACCC,IAAAC,cAAA,QAAMC,UAAU,sBAAqB,IACjCZ,EAAMyB,wBAAwB,KAIpCf,IAAAC,cAAA,QAAME,SAAS,gBAAgBa,QAAS1B,EAAM2B,a,yBCmErCC,IAtIK,SAAH7B,GAAsC,IAAhC8B,EAAW9B,EAAX8B,YAAaC,EAAK/B,EAAL+B,MAAOC,EAAKhC,EAALgC,MACnCC,EAAUC,KAAKC,MAAML,EAAYG,SACvC,OACEtB,IAAAC,cAAA,OACEC,UAAU,yDACVuB,IAAG,yBAAAC,OAA2BN,IAE9BpB,IAAAC,cAAA,KAAG0B,KAAML,EAAQM,IAAKzB,SAAS,MAAM0B,MAAOP,EAAQQ,MAClD9B,IAAAC,cAAA,OAAKC,UAAU,sBACbF,IAAAC,cAACK,WAAQ,KACPN,IAAAC,cAAA,UAAQC,UAAU,gBACfiB,EAAYY,UACX/B,IAAAC,cAAA,OACEC,UAAU,qBACV8B,wBAAyB,CAAEC,OAAQd,EAAYY,aAIrD/B,IAAAC,cAAA,UAAQC,UAAU,mBACfiB,EAAYe,MACXlC,IAAAC,cAAA,OACEC,UAAU,sBACV8B,wBAAyB,CAAEC,OAAQd,EAAYe,SAGjD3B,YAAU,4BAIfe,EAAQa,kBACPnC,IAAAC,cAAA,OAAKC,UAAU,iBACbF,IAAAC,cAAA,MAAIE,SAAS,OAAOD,UAAU,iBAC3BoB,EAAQc,iBAEXpC,IAAAC,cAAA,QAAMC,UAAU,0BACb,IACAK,YAAU,yBAAyB,IAAEe,EAAQe,gBAIlDrC,IAAAC,cAAA,OAAKC,UAAU,iBACbF,IAAAC,cAAA,MAAIE,SAAS,OAAOD,UAAU,iBAC3BoB,EAAQc,iBAEXpC,IAAAC,cAAA,KAAGC,UAAU,8BACVoB,EAAQgB,kBAEXtC,IAAAC,cAAA,QAAMC,UAAU,0BACbK,YAAU,yBAAyB,IAAEe,EAAQe,gBAKpDrC,IAAAC,cAAA,OAAKC,UAAU,yBACZoB,EAAQiB,UACPjB,EAAQkB,WACNxC,IAAAC,cAAA,KAAGC,UAAU,oFACXF,IAAAC,cAAA,YAAMD,IAAAC,cAAA,KAAGC,UAAU,kDAClBoB,EAAQmB,uBAEe,GAAxBnB,EAAQoB,cACc,GAAxBpB,EAAQqB,aACR3C,IAAAC,cAAA,KAAGC,UAAU,uEACXF,IAAAC,cAAA,QACEE,SAAS,eACTwB,KAAK,8BAEP3B,IAAAC,cAAA,QAAMC,UAAU,+CACdF,IAAAC,cAAA,KAAGC,UAAU,kDAAqD,IACjEoB,EAAQsB,8BAEVtB,EAAQuB,mCACP7C,IAAAC,cAAA,QAAMC,UAAU,4CACdF,IAAAC,cAAA,KAAGC,UAAU,kDAAqD,IACjEoB,EAAQuB,oCAKf7C,IAAAC,cAAA,KAAGC,UAAU,2EACXF,IAAAC,cAAA,QACEE,SAAS,eACTwB,KAAK,iCAEP3B,IAAAC,cAAA,QAAMC,UAAU,+CACdF,IAAAC,cAAA,KAAGC,UAAU,qBAAwB,IACpCoB,EAAQsB,8BAEVtB,EAAQuB,mCACP7C,IAAAC,cAAA,QAAMC,UAAU,4CACdF,IAAAC,cAAA,KAAGC,UAAU,kDAAqD,IACjEoB,EAAQuB,oCAKf,QAKV7C,IAAAC,cAAA,OAAKC,UAAU,SACZoB,EAAQwB,WACP9C,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAACb,EAAY,CAACE,MAAOgC,EAAQhC,MAAOyD,QAAQ,KAG/CzB,EAAQ0B,eACPhD,IAAAC,cAAA,UACEC,UAAU,aACV+C,sBAAqB3B,EAAQ4B,GAC7BC,iBAAe,+CACfC,YAAW9B,EAAQM,IACnByB,yBAAwB/B,EAAQgC,gBAChCC,kBAAiBjC,EAAQkC,WAEzBxD,IAAAC,cAACwD,IAAQ,CAACpC,MAAOA,GACfrB,IAAAC,cAACyD,UAAkB,CACjBrB,cAAef,EAAQ4B,GACvBS,SAAS,+CACThC,KAAML,EAAQM,IACdgC,MAAO,KACPN,gBAAiBhC,EAAQgC,gBACzBE,UAAWlC,EAAQkC,UACnBK,UAAWvC,EAAQuC,kB,oHCjFpBC,UA9CgB,SAAHzE,GAA8C,IAAxC0E,EAAQ1E,EAAR0E,SAAQC,EAAA3E,EAAE4E,oBAAY,IAAAD,EAAG,EAACA,EAAE3C,EAAKhC,EAALgC,MACtD6C,EAAWH,GAAYA,EAASlE,OAASoE,EACzCE,EAAa,CACjBC,QAAS,CACPC,WAAY,CAAEC,IAAK,IAAOC,IAAK,MAC/BC,MAAOC,OAAOR,GACdS,wBAAyB,EACzBC,cAAe,GAEjBC,OAAQ,CACNP,WAAY,CAAEC,IAAK,KAAMC,IAAK,KAC9BC,MAAO,EACPE,wBAAyB,EACzBC,cAAe,GAEjBE,OAAQ,CACNR,WAAY,CAAEC,IAAK,IAAKC,IAAK,GAC7BC,MAAO,IACPE,wBAAyB,EACzBC,cAAe,IAGnB,OACE3E,IAAAC,cAAA,OAAKC,UAAU,oBACbF,IAAAC,cAAC6E,IAAQ,CACPC,WAAW,EACXC,WAAW,EAEXC,YAAY,EACZC,OAAQhB,EACRC,WAAYA,EACZgB,0BAA0B,EAE1BC,gBAAc,EACdC,eAAe,sBAIdC,IAAAvB,GAAQwB,KAARxB,GAAa,SAAC5C,EAAaC,GAC1B,OAAOpB,IAAAC,cAACiB,IAAW,CAACO,IAAK,gBAAkBL,EAAOD,YAAaA,EAAaC,MAAOA,EAAOC,MAAOA,W,iCC5C3G,2BAyEemE,IAtEG,SAAHnG,GAST,IARJuE,EAAKvE,EAALuE,MACAvB,EAAahD,EAAbgD,cACAiB,EAAejE,EAAfiE,gBACA3B,EAAItC,EAAJsC,KACAgC,EAAQtE,EAARsE,SACA8B,EAAOpG,EAAPoG,QACAjC,EAASnE,EAATmE,UACSnE,EAATwE,UAIiB,OAAbF,IACFA,EAAW,gDAEC,OAAVC,IACFA,EAAQrD,YAAU,gBAkBpB,OAAO8B,EACLrC,IAAAC,cAAA,KACEC,UAAWyD,EACX8B,QAAS,WAlBoB,IACrBC,EAmBFD,GACFA,EAAQpD,EAAeiB,IApBnBoC,EAAkBC,SAASC,eAAe,qBAGxCF,EAAgBG,UAAUC,SAAS,YAEnCJ,EAAgBG,UAAUE,OAAO,UAEjCC,uBAAsB,WAClBN,EAAgBG,UAAUI,IAAI,iBAkB5CjG,IAAAC,cAAA,WACED,IAAAC,cAAA,KAAGC,UAAU,uDACG,SAAdsD,IAAsC,IAAdA,IACxBxD,IAAAC,cAAA,QAAMC,UAAU,qCAAqC0D,KAIzDjC,EACF3B,IAAAC,cAAA,KACEC,UAAWyD,EACXhC,KAAMA,EACN8D,QAAS,WACPS,OAAOC,SAASxE,KAAOA,IAGzB3B,IAAAC,cAAA,QAAMC,UAAU,qCAAqC0D,IAGvD5D,IAAAC,cAAA,KAAGC,UAAWyD,GACZ3D,IAAAC,cAAA,QAAMC,UAAU,qCAAqC0D,M,ybChEP,IAE9CF,EAAkB,SAAA0C,GACpB,SAAA1C,EAAY2C,GAAO,IAAAC,EAEoB,OAFpBC,IAAA,KAAA7C,IACf4C,EAAAE,EAAA,KAAA9C,EAAA,CAAM2C,KACDI,UAAYzG,IAAM0G,YAAYJ,EACtC,OAAAK,IAAAjD,EAAA0C,GAAAQ,IAAAlD,EAAA,EAAAjC,IAAA,SAAAoF,MAED,WAAS,IAAAC,EAAA,KACGtD,EAAcuD,KAAKV,MAAnB7C,UACAK,EAAckD,KAAKV,MAAnBxC,UACAlC,EAASoF,KAAKV,MAAd1E,KAER,OACI3B,IAAAC,cAAA,QAAM+G,IAAKD,KAAKN,WACZzG,IAAAC,cAACuF,IAASyB,IAAA,GAAKF,KAAKV,MAAK,CACrBZ,QAAS,SAACpD,EAAeiB,GAAe,OAAKwD,EAAKT,MAAMa,UAAUJ,EAAKL,UAAUU,QAAS9E,EAAeiB,EAAiB3B,EAAM6B,EAAWK,YAdvI,CAASuD,aAyClBC,uBArBS,SAAAC,GACpB,MAAO,MAGgB,SAAAC,GACvB,MAAO,CACHL,UAAW,SAACM,EAAenF,EAAeiB,EAAiBE,GACvD,IAAMiE,EAA2BD,EAActE,GAAKwE,MAC9CC,EAAkBrE,EAAkBqC,SAASC,eAAetC,GAAmB,KACrFiE,EAASL,YAAU,CACf7E,gBACAuF,SAAUD,EAAkBA,EAAgBd,MAAQ,EACpDY,2BACAI,oBAAqBtH,YAAU,uBAC/BuH,KAAMJ,MACNlE,mBAMD6D,CAA6C3D","file":"1.a7cfc89328346aff644a.js","sourcesContent":["import React, { Fragment } from \"react\";\r\nimport { translate } from \"../Services/translation\";\r\n\r\nconst ProductPrice = ({ price, campaignEnd }) => {\r\n  if (!price) {\r\n    return null; // Return null if price is undefined or null to avoid rendering errors\r\n  }\r\n\r\n  const originalAndCampaign =\r\n    price.campaignPrice != null ? \"two-priceRows product__price-wrap\" : \"product__price-wrap\";\r\n  const oldPrice = price.campaignPrice != null ? \"old-price\" : \"price\";\r\n\r\n  const showOldPrice =\r\n    (price.tierPrices &&\r\n      price.tierPrices.length > 0 &&\r\n      price.secondaryPrice > price.tierPrices[0].price) ||\r\n    (price.campaignPrice && price.secondaryPrice > price.campaignPrice.price);\r\n\r\n  const showSecondaryOldPrice =\r\n    (price.tierPrices &&\r\n      price.tierPrices.length > 0 &&\r\n      price.secondaryPrice > price.tierPrices[0].price) ||\r\n    price.secondaryPrice > price.price.price;\r\n\r\n  return (\r\n    <div className={originalAndCampaign} itemProp=\"offers\" itemScope itemType=\"http://schema.org/Offer\">\r\n      <div itemProp=\"price\" className={oldPrice}>\r\n        {price.tierPrices && price.tierPrices.length > 0 ? (\r\n          <Fragment>\r\n            <span className=\"product__price-from-label\">\r\n              {translate(\"product.pricefrom\")}\r\n            </span>\r\n            <span>{price.formattedTierPrice}</span>\r\n          </Fragment>\r\n        ) : (\r\n          <span>{price.formattedBasePrice}</span>\r\n        )}\r\n      </div>\r\n\r\n      {price.campaignPrice && (\r\n        <div className=\"product__campaign-price\">\r\n          <span itemProp=\"price\">\r\n            {price.tierPrices && price.tierPrices.length > 0 ? (\r\n              <Fragment>\r\n                {translate(\"product.pricefrom\")} {price.formattedCampaignPrice}\r\n              </Fragment>\r\n            ) : (\r\n              <Fragment>{price.formattedCampaignPrice}</Fragment>\r\n            )}\r\n          </span>\r\n\r\n          {campaignEnd && (\r\n            <span className=\"campaign-left\">\r\n              <i className=\"icon ion-md-alert\"></i>\r\n              {translate(\"product.campaignend\", {\r\n                days: Math.floor(campaignEnd / (24 * 60 * 60 * 1000)),\r\n                hours: Math.floor((campaignEnd % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000)),\r\n              })}\r\n            </span>\r\n          )}\r\n\r\n          {showOldPrice && (\r\n            <span className=\"product__old-price\">\r\n              ({price.formattedSecondaryPrice})\r\n            </span>\r\n          )}\r\n        </div>\r\n      )}\r\n\r\n      {showSecondaryOldPrice && (\r\n        <span className=\"product__old-price\">\r\n          ({price.formattedSecondaryPrice})\r\n        </span>\r\n      )}\r\n\r\n      <meta itemProp=\"priceCurrency\" content={price.currency} />\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProductPrice;\r\n","import React, { Fragment, useEffect } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { translate } from \"../Services/translation\";\r\nimport ProductPrice from \"./ProductPrice\";\r\nimport BuyButton from \"./BuyButton\";\r\nimport { Provider } from \"react-redux\"; // Import Provider\r\nimport BuyButtonContainer from \"../Containers/BuyButton.container\";\r\n\r\nconst ProductCard = ({ productItem, index, store }) => {\r\n  const product = JSON.parse(productItem.product);\r\n  return (\r\n    <div\r\n      className=\"product-detail__product-box product-list__item columns\"\r\n      key={`product-slider-banner-${index}`}\r\n    >\r\n      <a href={product.url} itemProp=\"url\" title={product.name}>\r\n        <div className=\"product__container\">\r\n          <Fragment>\r\n            <figure className=\"product__tag\">\r\n              {productItem.tagImage && (\r\n                <div\r\n                  className=\"product__tag-image\"\r\n                  dangerouslySetInnerHTML={{ __html: productItem.tagImage }}\r\n                ></div>\r\n              )}\r\n            </figure>\r\n            <figure className=\"product__figure\">\r\n              {productItem.image ? (\r\n                <div\r\n                  className=\"product__image-link\"\r\n                  dangerouslySetInnerHTML={{ __html: productItem.image }}\r\n                ></div>\r\n              ) : (\r\n                translate(\"product.noproductimage\")\r\n              )}\r\n            </figure>\r\n          </Fragment>\r\n          {product.isRelatedProducts ? (\r\n            <div className=\"product__info\">\r\n              <h3 itemProp=\"name\" className=\"product__name\">\r\n                {product.longDescription}\r\n              </h3>\r\n              <span className=\"product__articlenumber\">\r\n                {\" \"}\r\n                {translate(\"product.articlenumber\")} {product.articleNumber}\r\n              </span>\r\n            </div>\r\n          ) : (\r\n            <div className=\"product__info\">\r\n              <h3 itemProp=\"name\" className=\"product__name\">\r\n                {product.longDescription}\r\n              </h3>\r\n              <p className=\"product__info--description\">\r\n                {product.shortDescription}\r\n              </p>\r\n              <span className=\"product__articlenumber\">\r\n                {translate(\"product.articlenumber\")} {product.articleNumber}\r\n              </span>\r\n            </div>\r\n          )}\r\n\r\n          <div className=\"product__info__bottom\">\r\n            {product.showStock ? (\r\n              product.isSoftware ? (\r\n                <p className=\"product-detail__stock-status product-detail__stock-status--in-stock product-page\">\r\n                  <span><i className=\"icon ion-md-checkmark checkout-cart__icon--ok\"></i>\r\n                  {product.softwareDownloadText}</span>\r\n                </p>\r\n              ) : product.isInIntStock == true ||\r\n                product.isInExtStock == true ? (\r\n                <p className=\"product-detail__stock-status product-detail__stock-status--in-stock\">\r\n                  <link\r\n                    itemProp=\"availability\"\r\n                    href=\"http://schema.org/InStock\"\r\n                  />\r\n                  <span className=\"product-detail__stock-status--delivery-time\">\r\n                    <i className=\"icon ion-md-checkmark checkout-cart__icon--ok\"></i>{\" \"}\r\n                    {product.stockDeliveryTimeDescription}\r\n                  </span>\r\n                  {product.storeStockDeliveryTimeDescription && (\r\n                    <span className=\"product-detail__stock-status--store-info\">\r\n                      <i className=\"icon ion-md-checkmark checkout-cart__icon--ok\"></i>{\" \"}\r\n                      {product.storeStockDeliveryTimeDescription}\r\n                    </span>\r\n                  )}\r\n                </p>\r\n              ) : (\r\n                <p className=\"product-detail__stock-status product-detail__stock-status--out-of-stock\">\r\n                  <link\r\n                    itemProp=\"availability\"\r\n                    href=\"http://schema.org/OutOfStock\"\r\n                  />\r\n                  <span className=\"product-detail__stock-status--delivery-time\">\r\n                    <i className=\"icon ion-md-time\"></i>{\" \"}\r\n                    {product.stockDeliveryTimeDescription}\r\n                  </span>\r\n                  {product.storeStockDeliveryTimeDescription && (\r\n                    <span className=\"product-detail__stock-status--store-info\">\r\n                      <i className=\"icon ion-md-checkmark checkout-cart__icon--ok\"></i>{\" \"}\r\n                      {product.storeStockDeliveryTimeDescription}\r\n                    </span>\r\n                  )}\r\n                </p>\r\n              )\r\n            ) : null}\r\n          </div>\r\n        </div>\r\n      </a>\r\n\r\n      <div className=\"right\">\r\n        {product.showPrice && (\r\n          <div className=\"product__price\">\r\n            <ProductPrice price={product.price} isList={true} />\r\n          </div>\r\n        )}\r\n        {product.showBuyButton && (\r\n          <button\r\n            className=\"buy-button\"\r\n            data-article-number={product.id}\r\n            data-css-class=\"button buy-button product-detail__buy-button\"\r\n            data-href={product.url}\r\n            data-quantity-field-id={product.quantityFieldId}\r\n            data-show-label={product.showLabel}\r\n          >\r\n            <Provider store={store}>\r\n              <BuyButtonContainer\r\n                articleNumber={product.id}\r\n                cssClass=\"button buy-button product-detail__buy-button\"\r\n                href={product.url}\r\n                label={null}\r\n                quantityFieldId={product.quantityFieldId}\r\n                showLabel={product.showLabel}\r\n                isInStock={product.isInStock}\r\n              />\r\n            </Provider>\r\n          </button>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProductCard;\r\n","import React from \"react\";\r\nimport Carousel from \"react-multi-carousel\";\r\nimport \"react-multi-carousel/lib/styles.css\";\r\nimport ProductCard from \"../Components/ProductCard\";\r\n\r\nconst ProductSliderContainer = ({ products, productCount = 2, store }) => {\r\n  const showMore = products && products.length > productCount;\r\n  const responsive = {\r\n    desktop: {\r\n      breakpoint: { max: 10000, min: 1024 },\r\n      items: Number(productCount),\r\n      partialVisibilityGutter: 0,\r\n      slidesToSlide: 2,\r\n    },\r\n    tablet: {\r\n      breakpoint: { max: 1024, min: 464 },\r\n      items: 2,\r\n      partialVisibilityGutter: 0,\r\n      slidesToSlide: 2,\r\n    },\r\n    mobile: {\r\n      breakpoint: { max: 464, min: 0 },\r\n      items: 1.7,\r\n      partialVisibilityGutter: 0,\r\n      slidesToSlide: 1,\r\n    },\r\n  };\r\n  return (\r\n    <div className=\"carousel-wrapper\">\r\n      <Carousel\r\n        swipeable={true}\r\n        draggable={false}\r\n        // showDots={showMore}\r\n        centerMode={false}\r\n        arrows={showMore}\r\n        responsive={responsive}\r\n        renderArrowsWhenDisabled={true}\r\n        //renderDotsOutside\r\n        partialVisible\r\n        containerClass=\"carousel-container\"\r\n        // dotListClass=\"custom-dot-list-style\"\r\n        // renderButtonGroupOutside={true}\r\n      >\r\n        {products.map((productItem, index) => {\r\n          return <ProductCard key={\"product-card-\" + index} productItem={productItem} index={index} store={store} />;\r\n        })}\r\n      </Carousel>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProductSliderContainer;\r\n","import React from \"react\";\r\nimport { translate } from \"../Services/translation\";\r\n\r\nconst BuyButton = ({\r\n  label,\r\n  articleNumber,\r\n  quantityFieldId,\r\n  href,\r\n  cssClass,\r\n  onClick,\r\n  showLabel,\r\n  isInStock,\r\n}) => {\r\n  var buyable = true;\r\n\r\n  if (cssClass === null) {\r\n    cssClass = \"button buy-button product-detail__buy-button\";\r\n  }\r\n  if (label === null) {\r\n    label = translate(\"product.buy\");\r\n    }\r\n\r\n    const toggleUpsellVisibility = () => {\r\n        const upsellContainer = document.getElementById(\"upsell-products\");\r\n\r\n        if (upsellContainer) {\r\n            if (upsellContainer.classList.contains(\"hidden\")) {\r\n                // Remove 'hidden' class and add 'visible' after a small delay to ensure CSS transition works\r\n                upsellContainer.classList.remove(\"hidden\");\r\n\r\n                requestAnimationFrame(() => {\r\n                    upsellContainer.classList.add(\"visible\");\r\n                });\r\n            } \r\n        }\r\n    };\r\n\r\n  return articleNumber && buyable ? (\r\n    <a\r\n      className={cssClass}\r\n      onClick={() => {\r\n        // Call the passed-in onClick handler\r\n        if (onClick) {\r\n          onClick(articleNumber, quantityFieldId);\r\n        }\r\n        // Toggle visibility of upsell products\r\n        toggleUpsellVisibility();\r\n      }}\r\n    >\r\n      <div>\r\n        <i className=\"icon ion-md-cart product-detail__buy-button--icon\"></i>\r\n        {(showLabel === \"True\" || showLabel === true) && (\r\n          <span className=\"product-detail__buy-button--label\">{label}</span>\r\n        )}\r\n      </div>\r\n    </a>\r\n  ) : href ? (\r\n    <a\r\n      className={cssClass}\r\n      href={href}\r\n      onClick={() => {\r\n        window.location.href = href;\r\n      }}\r\n    >\r\n      <span className=\"product-detail__buy-button--label\">{label}</span>\r\n    </a>\r\n  ) : (\r\n    <a className={cssClass}>\r\n      <span className=\"product-detail__buy-button--label\">{label}</span>\r\n    </a>\r\n  );\r\n};\r\n\r\nexport default BuyButton;\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport BuyButton from '../Components/BuyButton';\r\nimport { add as addToCart } from '../Actions/Cart.action';\r\nimport { translate } from '../Services/translation';\r\n\r\nclass BuyButtonContainer extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        this.buttonRef = React.createRef();\r\n    }\r\n\r\n    render() {\r\n        const { showLabel } = this.props;\r\n        const { isInStock } = this.props;\r\n        const { href } = this.props;\r\n\r\n        return (\r\n            <span ref={this.buttonRef}>\r\n                <BuyButton {...this.props} \r\n                    onClick={(articleNumber, quantityFieldId) => this.props.addToCart(this.buttonRef.current, articleNumber, quantityFieldId, href, showLabel, isInStock)} />\r\n            </span>\r\n        );\r\n    }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n    return { }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n    return {\r\n        addToCart: (buttonDomNode, articleNumber, quantityFieldId, showLabel) => {\r\n            const nodeIdToShowNotification = buttonDomNode.id = Date.now();\r\n            const quantityElement = quantityFieldId ? document.getElementById(quantityFieldId) : null;\r\n            dispatch(addToCart({\r\n                articleNumber,\r\n                quantity: quantityElement ? quantityElement.value : 1,\r\n                nodeIdToShowNotification,\r\n                notificationMessage: translate('tooltip.addedtocart'),\r\n                hash: Date.now(),\r\n                showLabel, \r\n            }));\r\n        }\r\n    }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BuyButtonContainer);\r\n"],"sourceRoot":""}