UNPKG

@shopgate/engage

Version:
4 lines 1.14 kB
import React,{useMemo,useCallback}from'react';import PropTypes from'prop-types';import classNames from'classnames';import{i18n,generateGoogleMapsDirectionsUrl}from'@shopgate/engage/core';import{RippleButton}from'@shopgate/engage/components';import{container,button}from"./StoreFinderGetDirectionsButton.style";import connect from"./StoreFinderGetDirectionsButton.connector";/** * @param {Object} props The component props * @returns {JSX} */var StoreFinderGetDirectionsButton=function StoreFinderGetDirectionsButton(_ref){var address=_ref.address,openMap=_ref.openMap,className=_ref.className;var url=useMemo(function(){return address&&generateGoogleMapsDirectionsUrl(address);},[address]);var handleClick=useCallback(function(){openMap(url);},[openMap,url]);if(!address){return null;}return React.createElement("div",{className:classNames(container,className)},React.createElement(RippleButton,{onClick:handleClick,className:button},i18n.text('locations.get_directions')));};StoreFinderGetDirectionsButton.defaultProps={address:null,openMap:function openMap(){},className:null};export default connect(StoreFinderGetDirectionsButton);