UNPKG

@shopgate/engage

Version:
5 lines 2.7 kB
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState}from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import{i18n}from'@shopgate/engage/core';import{Image}from'@shopgate/engage/components';import{useCheckoutContext}from'@shopgate/engage/checkout/hooks/common';import ShippingMethodIcon from'@shopgate/pwa-ui-shared/icons/ShippingMethodIcon';var styles={root:css({display:'flex',alignItems:'center',fontSize:15}).toString(),rootDisabled:css({opacity:0.5}).toString(),imageContainer:css({width:32,heigh:32,marginRight:8,flexShrink:0}).toString(),image:css({width:'100%',height:'100%'}).toString(),label:css({display:'flex',width:'100%',justifyContent:'space-between'}).toString(),name:css({marginRight:8}).toString()};/** * The shipping methods component. * @param {Object} props The component props. * @returns {JSX} */var ShippingMethod=function ShippingMethod(_ref){var shippingMethod=_ref.shippingMethod;var _useCheckoutContext=useCheckoutContext(),currencyCode=_useCheckoutContext.currencyCode;var serviceLevel=shippingMethod.serviceLevel;var _useState=useState(!!(serviceLevel===null||serviceLevel===void 0?void 0:serviceLevel.iconUrl)),_useState2=_slicedToArray(_useState,2),useImage=_useState2[0],setUseImage=_useState2[1];return React.createElement("div",{className:classNames(styles.root)},React.createElement("div",{className:styles.imageContainer},useImage?React.createElement(Image,{className:styles.image,src:serviceLevel===null||serviceLevel===void 0?void 0:serviceLevel.iconUrl,onError:function onError(){return setUseImage(false);}}):React.createElement(ShippingMethodIcon,{className:styles.image})),React.createElement("div",{className:styles.label},React.createElement("span",{className:styles.name},serviceLevel===null||serviceLevel===void 0?void 0:serviceLevel.name),React.createElement("span",null,(serviceLevel===null||serviceLevel===void 0?void 0:serviceLevel.cost)?i18n.price(serviceLevel===null||serviceLevel===void 0?void 0:serviceLevel.cost,currencyCode,2):i18n.text('shipping.free_short'))));};export default ShippingMethod;