@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 1.75 kB
JavaScript
import React,{Fragment,useCallback}from'react';import PropTypes from'prop-types';import{css}from'glamor';import FulfillmentSlotSwitcherDefault from"./FulfillmentSlotSwitcherDefault";import FulfillmentSlotSwitcherBar from"./FulfillmentSlotSwitcherBar";import connect from"./FulfillmentSlotSwitcher.connector";import{forceOpenFulfillmentSlotDialog}from"./FulfillmentSlotProvider";var styles={card:css({boxShadow:'0px 4px 2px rgba(0, 0, 0, 0.05)',marginBottom:16,' > div > div':{borderBottom:0},' > div':{borderRadius:5,margin:-1,background:'#fff',border:'1px solid #eaeaea'}}).toString()};/**
* @returns {JSX}
*/var FulfillmentSlotSwitcher=function FulfillmentSlotSwitcher(_ref){var fulfillmentSlot=_ref.fulfillmentSlot,renderBar=_ref.renderBar,isFulfillmentScheduling=_ref.isFulfillmentScheduling,isFulfillmentSlotValid=_ref.isFulfillmentSlotValid,standalone=_ref.standalone,card=_ref.card,editable=_ref.editable;// Handle sheet.
var handleOpen=useCallback(function(){forceOpenFulfillmentSlotDialog();},[]);if(!isFulfillmentScheduling){return null;}return React.createElement(Fragment,null,renderBar?React.createElement("div",{className:card?styles.card:undefined},React.createElement(FulfillmentSlotSwitcherBar,{fulfillmentSlot:isFulfillmentSlotValid?fulfillmentSlot:null,handleChange:handleOpen,standalone:standalone,editable:editable})):React.createElement(FulfillmentSlotSwitcherDefault,{fulfillmentSlot:isFulfillmentSlotValid?fulfillmentSlot:null,handleChange:handleOpen,standalone:standalone,editable:editable}));};FulfillmentSlotSwitcher.defaultProps={isFulfillmentScheduling:false,fulfillmentSlot:null,renderBar:false,editable:true,card:false,standalone:false,isFulfillmentSlotValid:true};export default connect(FulfillmentSlotSwitcher);