{"version":3,"file":"static/js/5752.9e0cc6d7.chunk.js","mappings":"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","sources":["shared/merchant/merchant-page/contact-us/merchant-page-contact-us.jsx","shared/merchant/merchant-page/contact-us/merchant-page-contact-us-module.js"],"sourcesContent":["import React, { Component } from \"react\"\nimport * as SelectionFactoryHelper from \"../../../helpers/SelectionFactoryHelper\"\nimport Svg from \"../../../../shared/_svgs/svg\"\nimport { Link } from \"react-scroll\"\nimport { isMobile } from \"react-device-detect\"\nimport Emitter from \"../../../../helpers/emitter\"\nimport * as emits from \"../../../../constants/emits\"\n\nexport default class MerchantPageContactUs extends Component {\n  getCoordinateString(coordinate) {\n    const coordinateString = coordinate?.toString()\n    return coordinateString?.substring(0, 2) + \".\" + coordinateString?.substring(2, coordinateString?.length) || \"\"\n  }\n\n  openModal() {\n    console.debug(\"clicked\")\n    Emitter.emit(\"*\", {\n      type: emits.REQUEST_MERCHANT_CONTACT_MODAL,\n      modalJson: {\n        shopName: this.props.pageTitle,\n        ...this.props.contactUsSettings,\n      },\n    })\n  }\n\n  render() {\n    const locationIcon = SelectionFactoryHelper.getFromSelectionFactory(this.props.locationIcon)\n    const phoneIcon = SelectionFactoryHelper.getFromSelectionFactory(this.props.telephoneIcon)\n    const mapIcon = SelectionFactoryHelper.getFromSelectionFactory(this.props.mapIcon)\n    const shopLocation = SelectionFactoryHelper.getFromSelectionFactory(this.props.shopLocation)\n    const scrollOffset = document.querySelector(\".js--site-header\").offsetHeight + 10\n\n    const latitude = this.getCoordinateString(this.props.latitude)\n    const longitude = this.getCoordinateString(this.props.longitude)\n\n    const pointer = { cursor: \"pointer\" }\n\n    var mapLink = (\n      <Link style={pointer} to=\"mapSection\" smooth={true} offset={-scrollOffset}>\n        <li data-epi-edit=\"MapPlacementLabel\">\n          <Svg iconName={mapIcon || \"arrowright\"} />\n          {this.props.mapPlacementLabel}\n        </li>\n      </Link>\n    )\n\n    if (latitude && longitude && isMobile) {\n      mapLink = (\n        <a style={pointer} href={`https://www.google.com/maps/search/?api=1&query=${latitude},${longitude}`}>\n          <li data-epi-edit=\"MapPlacementLabel\">\n            <Svg iconName={mapIcon || \"arrowright\"} />\n            {this.props.mapPlacementLabel}\n          </li>\n        </a>\n      )\n    }\n\n    let grabIcon = SelectionFactoryHelper.getFromSelectionFactory(this.props.grabButtonIcon)\n\n    return (\n      <div className=\"shoppage__contactbox\">\n        <div className=\"shoppage__contactbox__content\">\n          <div className=\"left-side\">\n            <div className=\"store-image\">\n              <img src={this.props.image} data-epi-edit=\"Image\" />\n            </div>\n          </div>\n          <div className=\"right-side\">\n            <div className=\"description\">\n              <h2 data-epi-edit=\"Headline\">{this.props.headline}</h2>\n              <div className=\"maintext\" data-epi-edit=\"Text\">\n                {this.props.text}\n              </div>\n            </div>\n            {this.props.buttonLink ? (\n              <a href={this.props.buttonLink}>\n                <div className=\"button button--small button--general\">\n                  <span className=\"text\" data-epi-edit=\"ButtonText\">\n                    {this.props.buttonText}\n                  </span>\n                </div>\n              </a>\n            ) : (\n              <div className=\"button button--small button--general\" onClick={() => this.openModal()}>\n                <span className=\"text\" data-epi-edit=\"ButtonText\">\n                  {this.props.buttonText}\n                </span>\n              </div>\n            )}\n            <ul>\n              {this.props.location && (\n                <li data-epi-edit=\"Location\">\n                  <Svg iconName={locationIcon || \"pin\"} />\n                  {this.props.location} {shopLocation ? ` - ${shopLocation}` : \"\"}\n                </li>\n              )}\n              {this.props.otherLocations && this.props.otherLocations.hasOtherLocations ? (\n                <a href={this.props.otherLocations.otherLocationsLink}>\n                  <li>\n                    <Svg iconName={this.props.otherLocations.otherLocationsIcon || \"pin\"} />\n                    {this.props.otherLocations.otherLocationsLabel}\n                  </li>\n                </a>\n              ) : (\n                \"\"\n              )}\n              {this.props.phone && (\n                <li>\n                  <Svg iconName={phoneIcon || \"telephone\"} />\n                  {this.props.phone}\n                </li>\n              )}\n              {this.props.mapPlacementLabel && mapLink}\n            </ul>\n          </div>\n          <ul className=\"usp-buttons\">\n            {this.props.buttonContentArea &&\n              this.props.buttonContentArea.map((button, index) => {\n                const icon = SelectionFactoryHelper.getFromSelectionFactory(button.uspIcon)\n                return (\n                  <li key={index}>\n                    <a href={button.uspLink || undefined}>\n                      <div className=\"button button--small button--general no-shadow has-icon\">\n                        <Svg iconName={icon} />\n                        <span className=\"text\" data-epi-edit=\"UspText\">\n                          {button.uspText}\n                        </span>\n                      </div>\n                    </a>\n                  </li>\n                )\n              })}\n            {this.props.grabLink && this.props.grabPreOrderText ? (\n              <li>\n                <a href={this.props.grabLink}>\n                  <div className=\"button button--small button--general no-shadow has-icon\">\n                    <Svg iconName={grabIcon ?? \"fooddrink\"} />\n                    <span className=\"text\">{this.props.grabPreOrderText}</span>\n                  </div>\n                </a>\n              </li>\n            ) : (\n              \"\"\n            )}\n          </ul>\n        </div>\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport MerchantPageContactUs from \"./merchant-page-contact-us\"\n\nexport default class MerchantPageContactUsModule {\n  constructor(elem) {\n    const self = this\n    self.elem = elem\n    self.modelJson = elem.dataset.modelJson && JSON.parse(elem.dataset.modelJson)\n    self.contactUsSettings = elem.dataset.contactUsSettings && JSON.parse(elem.dataset.contactUsSettings)\n    self.currentPageJson = elem.dataset.currentPageJson && JSON.parse(elem.dataset.currentPageJson)\n    self.otherLocations = elem.dataset.otherLocations && JSON.parse(elem.dataset.otherLocations)\n    self.init()\n    return self\n  }\n\n  init() {\n    const self = this\n    ReactDOM.unmountComponentAtNode(self.elem)\n    ReactDOM.render(\n      <MerchantPageContactUs\n        {...self.modelJson}\n        {...self.currentPageJson}\n        otherLocations={self.otherLocations}\n        contactUsSettings={self.contactUsSettings}\n      />,\n      self.elem,\n    )\n  }\n}\n"],"names":["MerchantPageContactUs","_Component","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","coordinate","coordinateString","toString","substring","length","console","debug","Emitter","emit","type","emits","modalJson","_objectSpread","shopName","this","props","pageTitle","contactUsSettings","_this","locationIcon","SelectionFactoryHelper","phoneIcon","telephoneIcon","mapIcon","shopLocation","scrollOffset","document","querySelector","offsetHeight","latitude","getCoordinateString","longitude","pointer","cursor","mapLink","_jsx","Link","style","to","smooth","offset","children","_jsxs","Svg","iconName","mapPlacementLabel","isMobile","href","concat","grabIcon","grabButtonIcon","className","src","image","headline","text","buttonLink","buttonText","onClick","openModal","location","otherLocations","hasOtherLocations","otherLocationsLink","otherLocationsIcon","otherLocationsLabel","phone","buttonContentArea","map","button","index","icon","uspIcon","uspLink","undefined","uspText","grabLink","grabPreOrderText","Component","MerchantPageContactUsModule","elem","self","modelJson","dataset","JSON","parse","currentPageJson","init","ReactDOM"],"sourceRoot":""}