UNPKG

@shopgate/engage

Version:
3 lines 2.65 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,{Fragment,useCallback,useState,useMemo}from'react';import PropTypes from'prop-types';import{FulfillmentSheet}from"../FulfillmentSheet";import{STAGE_SELECT_STORE,MULTI_LINE_RESERVE}from"../../constants";import GlobalLocationSwitcherDefault from"./GlobalLocationSwitcherDefault";import GlobalLocationSwitcherBar from"./GlobalLocationSwitcherBar";import connect from"./GlobalLocationSwitcher.connector";/** * @returns {JSX} */var GlobalLocationSwitcher=function GlobalLocationSwitcher(_ref){var isLocationBasedShopping=_ref.isLocationBasedShopping,preferredLocation=_ref.preferredLocation,renderBar=_ref.renderBar,standalone=_ref.standalone,selectGlobalLocation=_ref.selectGlobalLocation,editable=_ref.editable;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),sheetOpen=_useState2[0],setSheetOpen=_useState2[1];var changeLocationHandler=useCallback(function(){setSheetOpen(true);},[]);var closeSheetHandler=useCallback(function(location){setSheetOpen(false);if(location){selectGlobalLocation(location);}},[selectGlobalLocation]);var locationName=useMemo(function(){return(preferredLocation===null||preferredLocation===void 0?void 0:preferredLocation.name)||null;},[preferredLocation]);if(!isLocationBasedShopping||!preferredLocation){return null;}return React.createElement(Fragment,null,renderBar?React.createElement(GlobalLocationSwitcherBar,{locationName:locationName,handleChange:changeLocationHandler,standalone:standalone}):React.createElement(GlobalLocationSwitcherDefault,{locationName:locationName,handleChange:changeLocationHandler,standalone:standalone,editable:editable}),sheetOpen&&React.createElement(FulfillmentSheet,{stage:STAGE_SELECT_STORE,fulfillmentPath:MULTI_LINE_RESERVE,allowClose:true,onClose:closeSheetHandler,isInitialized:true,noProduct:true,noInventory:true,changeOnly:true,open:true}));};GlobalLocationSwitcher.defaultProps={isLocationBasedShopping:false,preferredLocation:null,renderBar:false,editable:true,standalone:false};export default connect(GlobalLocationSwitcher);