(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{"+9Nf":function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=(r("ES/9"),r("LR6M"),r("9VTn"),r("mrSG")),s=r("TSYQ"),n=r.n(s),o=r("mwIZ"),c=r.n(o),l=r("2vnA"),d=r("okNM"),u=r("cDcd"),p=r("K542"),m=r("Hxoz"),h=r("hBpL"),g=r("57kZ");r("5uHv");var y=e=>{let{description:t}=e;return t?u.createElement("span",{className:"ms-checkout-delivery-options__description"},t):null};var b=e=>{let{message:t}=e;return t?u.createElement("p",{className:"ms-checkout-delivery-options__error-message"},t):null};var f=e=>{let{title:t}=e;return t?u.createElement("p",{className:"ms-checkout-delivery-options__error-title"},t):null};var v=e=>{let{isChecked:t,value:r,ariaSetSize:a,ariaPosInSet:i,ariaLabel:s,telemetryContent:n,onChange:o}=e;if(!r)return null;const c=Object(m.getPayloadObject)("click",n,m.TelemetryConstant.DeliveryOptions),l=Object(m.getTelemetryAttributes)(n,c);return u.createElement("input",Object.assign({className:"ms-checkout-delivery-options__input-radio",checked:t,"aria-checked":t,type:"radio","aria-setsize":a,"aria-posinset":i,"aria-label":s,value:r,name:"deliveryOptions"},l,{onChange:o}))};function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _(e){for(var t=1;t{this.props.moduleState.init({onEdit:this.onEdit,onCancel:this.onCancel,onSubmit:this.onSubmit,status:this.canShip()?"updating":"disabled"}),this.cartDeliveryMode=this.getSavedDeliveryOption(),await this.loadDeliveryOptions()},this.canShip=()=>{var e;return!(null===(e=this.props.data.checkout.result)||void 0===e?void 0:e.checkoutCart.hasInvoiceLine)&&this.getCartLinesForShipping().length>0},this.isDeliveryModeExists=e=>!(!e||!this.deliveryOptions.find(t=>t.Code===e)),this.getDeliveryOptionSelected=()=>{const e=this.deliveryOptions.find(e=>e.Code===this.selectedItemId);if(!e)return this.props.context.telemetry.error("Checkout delivery options content is empty, module wont render"),null;const{id:t,typeName:r,context:a}=this.props,{priceFree:i}=this.props.resources,s=c()(e,"ShippingChargeAmount",0);return{DeliveryOption:{className:"ms-checkout-delivery-options__option-selected"},description:u.createElement(y,Object.assign({},{description:e.Description})),price:u.createElement(h.k,{id:t,typeName:r,context:a,className:"ms-checkout-delivery-options__price",data:{price:{CustomerContextualPrice:s}},freePriceText:i})}},this.getErrorMessage=()=>{const{errorMessageTitle:e}=this.props.resources;return{CheckoutDeliveryOptionsError:{tag:"span",className:"ms-address-form__error",role:"alert","aria-live":"assertive"},title:u.createElement(f,Object.assign({},{title:e})),message:u.createElement(b,Object.assign({},{message:this.errorMessage}))}},this.getDeliveryOptionList=()=>{const e=this.deliveryOptions.length,{priceFree:t}=this.props.resources,{id:r,typeName:a,context:i}=this.props;return this.deliveryOptions.map((s,n)=>({DeliveryOption:{className:"ms-checkout-delivery-options__option"},code:s.Code||"",radioButton:u.createElement(v,Object.assign({},{isChecked:s.Code===this.selectedItemId,value:s.Code,ariaSetSize:e,ariaPosInSet:n+1,ariaLabel:`${s.Description} ${t}`,onChange:this.onDeliveryOptionChange,telemetryContent:this.telemetryContent})),description:u.createElement(y,Object.assign({},{description:s.Description})),price:u.createElement(h.k,{id:r,typeName:a,context:i,className:"ms-checkout-delivery-options__price",data:{price:{CustomerContextualPrice:c()(s,"ShippingChargeAmount",0)}},freePriceText:t})}))},this.getSaveButton=()=>{const{saveBtnLabel:e="Save"}=this.props.resources;return u.createElement(m.Button,{className:"ms-checkout-delivery-options__btn-save",title:e,color:"primary",disabled:!this.selectedItemId,onClick:this.onSave},e)},this.getEditButton=()=>{const{editBtnLabel:e="Change"}=this.props.resources;return u.createElement(m.Button,{className:"ms-checkout-delivery-options__btn-edit",title:e,color:"primary",onClick:this.onEdit},e)},this.getCancelButton=()=>{const{cancelBtnLabel:e="Cancel"}=this.props.resources;return u.createElement(m.Button,{className:"ms-checkout-delivery-options__btn-cancel",title:e,color:"secondary",onClick:this.onCancel},e)},this.setError=e=>{this.props.telemetry.error(e),this.props.moduleState.setHasError(!0),this.props.moduleState.onUpdating(),this.errorMessage=e},this.clearError=()=>{this.props.moduleState.setHasError(!1),this.errorMessage=void 0},this.onSave=()=>{this.onSubmit()},this.onEdit=()=>{this.onUpdating()},this.onSubmit=()=>{this.updateCartDeliverySpecification(this.selectedItemId)},this.onCancel=()=>{const e=this.getSavedDeliveryOption();e?(this.selectedItemId=e,this.onReady()):this.onUpdating()},this.getSavedDeliveryOption=()=>{const e=this.getCartLinesForShipping();return e[0]&&e[0].DeliveryMode},this.updateCartDeliverySpecification=async e=>{if(""===e.trim())return;const{resources:t}=this.props,r=this.props.data.checkout.result,a={deliveryModeId:e,shippingAddress:r.shippingAddress,channelDeliveryOptionConfig:this.retailMultiplePickUpOptionEnabled?this.channelDeliveryOptionConfig:void 0};this.clearError(),this.onPending(),await r.checkoutCart.updateCartDeliverySpecification(a).then(e=>{"FAILED"===e.status?this.setError(t.genericErrorMessage):(this.onReady(),this.props.moduleState.setIsCancellable(!0))}).catch(()=>{this.setError(t.genericErrorMessage)})},this.getCartLinesForShipping=()=>{const{request:e}=this.props.context,t=e&&e.channel&&e.channel.PickupDeliveryModeCode,r=e&&e.channel&&e.channel.EmailDeliveryModeCode;return this.retailMultiplePickUpOptionEnabled?(this.props.data.checkout.result&&this.props.data.checkout.result.checkoutCart.cart.CartLines||[]).filter(e=>{var t,a;return e.DeliveryMode&&""!==e.DeliveryMode?e.DeliveryMode!==(null===(t=this.channelDeliveryOptionConfig)||void 0===t||null===(a=t.PickupDeliveryModeCodes)||void 0===a?void 0:a.find(t=>t===e.DeliveryMode))&&e.DeliveryMode!==r:e}):(this.props.data.checkout.result&&this.props.data.checkout.result.checkoutCart.cart.CartLines||[]).filter(e=>e.DeliveryMode&&""!==e.DeliveryMode?e.DeliveryMode!==t&&e.DeliveryMode!==r:e)},this.getDeliveryOptions=async e=>{var t;if(!this.props.data.checkout.result)return;const{context:r,resources:a,config:i}=this.props,s=null===(t=this.props.data.checkout.result)||void 0===t?void 0:t.checkoutCart,n=s.cart.Id;if(r){this.isLoading=!0,this.deliveryOptions=[],this.selectedItemId="",this.clearError();try{let t="";const a=this.getCartLinesForShipping(),o=a&&a.length>0&&a[0].DeliveryMode;if(o){t=a[0].DeliveryMode||"";const e=s.cart;await s.clearCartLinesDeliveryInformation({cart:e})}let c;switch(i.filterDeliveryModeOption){case"none":c=0;break;case"filterOutNonCarrierDeliveryMode":c=1;break;default:c=1}const l=await Object(g.l)({callerContext:r.actionContext,queryResultSettings:{}},n,e,[],c,!0);o&&await this.updateCartDeliverySpecification(t),l&&l.length&&(this.deliveryOptions=l)}catch(c){this.setError(a.genericErrorMessage)}var o;if(0===this.deliveryOptions.length)this.setError(a.deliveryOptionsNotFound);else!this.cartDeliveryMode||!this.isDeliveryModeExists(this.cartDeliveryMode)||null!==(o=this.props.data.checkout.result)&&void 0!==o&&o.checkoutCart.cart.ShippingAddress?(this.onUpdating(),this.selectedItemId=this.deliveryOptions.length>0&&this.deliveryOptions[0].Code||""):(this.selectedItemId=this.cartDeliveryMode,this.cartDeliveryMode=void 0,this.onReady());this.isLoading=!1}},this.loadDeliveryOptions=async()=>{const e=this.props.data.checkout.result&&this.props.data.checkout.result.shippingAddress;this.canShip()&&e&&await this.getDeliveryOptions(e)},this.onDeliveryOptionChange=e=>{const t=e.currentTarget.value;this.selectedItemId=t},this.onReady=()=>{this.props.moduleState.onReady()},this.onUpdating=()=>{this.props.moduleState.onUpdating()},this.onPending=()=>{this.props.moduleState.onPending()},this.telemetryContent=Object(m.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry)}async componentDidMount(){this.props.data.checkout.then(async()=>{await this.init()}),Object(l.o)(()=>this.props.data.checkout.result&&this.props.data.checkout.result.shippingAddress,async()=>{await this.loadDeliveryOptions(),this.props.moduleState.setIsCancellable(!1)})}render(){var e,t,r,a;if(!this.canShip())return this.props.context.telemetry.error("Checkout delivery options content is empty, module wont render"),null;const{moduleState:{isReady:i,isUpdating:s,hasError:o}}=this.props,c=!this.isLoading&&o,l=!this.isLoading&&!o&&s,d=!this.isLoading&&!o&&i;this.channelDeliveryOptionConfig=null===(e=this.props.data.channelDeliveryOptionConfig)||void 0===e?void 0:e.result,this.retailMultiplePickUpOptionEnabled=null===(t=this.props.data.featureState)||void 0===t||null===(r=t.result)||void 0===r||null===(a=r.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===a?void 0:a.IsEnabled;const p=_(_({},this.props),{},{onDeliveryOptionChange:this.onDeliveryOptionChange,selectedItemId:this.selectedItemId,deliveryOptionsData:this.deliveryOptions,isLoading:this.isLoading,errorMessageData:this.errorMessage,viewState:{isLoading:this.isLoading,isError:c,isShowList:l,isShowSelected:d,isShowSaveButton:l&&!this.props.moduleState.hasExternalSubmitGroup,isShowEditButton:d&&!this.props.moduleState.hasExternalSubmitGroup,isShowCancelButton:l&&!this.props.moduleState.hasExternalSubmitGroup&&!!this.getSavedDeliveryOption()},CheckoutDeliveryOptions:{moduleProps:this.props,className:n()("ms-checkout-delivery-options",this.props.config.className)},deliveryOptions:{DeliveryOptionsList:{className:"ms-checkout-delivery-options__list"},list:this.getDeliveryOptionList()},deliveryOptionSelected:this.getDeliveryOptionSelected(),errorMessage:this.getErrorMessage(),waiting:u.createElement(m.Waiting,null),saveButton:this.getSaveButton(),editButton:this.getEditButton(),cancelButton:this.getCancelButton(),onSave:this.onSave,onEdit:this.onEdit,onCancel:this.onCancel});return this.props.renderView(p)}};Object(i.__decorate)([l.n],O.prototype,"selectedItemId",void 0),Object(i.__decorate)([l.n],O.prototype,"deliveryOptions",void 0),Object(i.__decorate)([l.n],O.prototype,"isLoading",void 0),Object(i.__decorate)([l.n],O.prototype,"errorMessage",void 0),Object(i.__decorate)([l.d],O.prototype,"init",void 0),O=Object(i.__decorate)([p.a,d.a],O);t.default=O},"+YIh":function(e,t,r){"use strict";r.d(t,"a",(function(){return h}));r("BDvt"),r("WVYb"),r("oLpx"),r("LR6M"),r("9VTn"),r("y/s1");var a=r("UdvX"),i=r("Hxoz"),s=r("hBpL"),n=r("xT9B"),o=r("TSYQ"),c=r.n(o),l=r("mwIZ"),d=r.n(l),u=r("bt/X"),p=r.n(u),m=r("cDcd");const h=(e,t)=>{var r,o;const l=d()(e,"context.request.channel.PickupDeliveryModeCode"),u=d()(e,"context.request.channel.EmailDeliveryModeCode"),{channelDeliveryOptionConfig:h,featureState:g}=e.data,y=null==g||null===(r=g.result)||void 0===r||null===(o=r.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===o?void 0:o.IsEnabled,b=t=>{const r=d()(e,"data.orgUnitLocations.result");if(!t.FulfillmentStoreId||!r)return"";const a=(r||[]).find(e=>e.OrgUnitNumber===t.FulfillmentStoreId);return a&&a.OrgUnitName},f=r=>{const i=r.ProductId&&(n=r.ProductId,(d()(e,"data.products.result")||[]).find(e=>n===e.RecordId));var n;const{id:o,typeName:c,context:l,config:{imageSettings:u,showShippingChargesForLineItems:p},resources:{quantityDisplayString:g,productDimensionTypeColor:y,productDimensionTypeSize:b,productDimensionTypeStyle:f,productDimensionTypeAmount:v,configString:C,inputQuantityAriaLabel:_,discountStringText:O,shippingCharges:x},context:{request:{gridSettings:S}}}=e;if(i)return m.createElement(s.g,{id:o,typeName:c,context:l,resources:{sizeString:b,colorString:y,styleString:f,amountString:v,quantityDisplayString:g,configString:C,inputQuantityAriaLabel:_,discountStringText:O,originalPriceText:"",currentPriceText:"",shippingChargesText:x},isQuantityEditable:!1,imageSettings:u,gridSettings:S,productUrl:Object(a.getProductUrlSync)(i,l.actionContext,void 0),primaryImageUrl:i.PrimaryImageUrl,data:{cartLine:r,product:i},showShippingChargesForLineItems:p,telemetryContent:t,channelDeliveryOptionConfig:null==h?void 0:h.result})},v=t=>{const{resources:{pickUpAtStoreWithLocationText:r}}=e;return{PickUpAtStore:{className:"ms-checkout__pick-up-at-store"},label:m.createElement("span",{className:"ms-checkout__store-label"},r),location:m.createElement("div",{className:"ms-checkout__store-location"},t)}},C=()=>{const{resources:{emailDeliveryText:t}}=e;return{EmailDelivery:{className:"ms-checkout__email-delivery"},label:m.createElement("span",{className:"ms-checkout__email-label"},t)}},_=e=>e.map(e=>{const t=b(e),r=O(e),a=!(!e.DeliveryMode||""===e.DeliveryMode)&&e.DeliveryMode===u;return{LineId:e.LineId||"",LineItem:{className:"ms-checkout__line-item"},item:f(e),pickUpAtStore:r?v(t):void 0,emailDelivery:a?C():void 0}}),O=e=>{var t,r;return!a.StringExtensions.isNullOrWhitespace(e.DeliveryMode)&&(y?e.DeliveryMode===(null==h||null===(t=h.result)||void 0===t||null===(r=t.PickupDeliveryModeCodes)||void 0===r?void 0:r.find(t=>t===e.DeliveryMode)):e.DeliveryMode===l)},x=e=>e.reduce((e,t)=>e+(t.Quantity||0),0),S=t=>{const r=d()(e,"data.checkout.result.checkoutCart.cart");return"ship"===t?r.CartLines.filter(e=>{return e.DeliveryMode&&""!==e.DeliveryMode?(t=e,!a.StringExtensions.isNullOrWhitespace(t.DeliveryMode)&&(y?t.DeliveryMode!==(null==h||null===(r=h.result)||void 0===r||null===(i=r.PickupDeliveryModeCodes)||void 0===i?void 0:i.find(e=>e===t.DeliveryMode)):t.DeliveryMode!==l)&&e.DeliveryMode!==u):e;var t,r,i}):"pickup"===t?r.CartLines.filter(e=>e.DeliveryMode&&""!==e.DeliveryMode?O(e):null):r.CartLines.filter(e=>e.DeliveryMode===u)},E=t=>{if(!(""!==l&&void 0!==l||"pickup"!==t&&"email"!==t))return;const r=S(t);if(0===r.length)return;const a=((t,r)=>{var a;const{resources:{itemLabel:i,itemsLabel:s,inStorePickUpLabel:n,shippingCountCheckoutLineItem:o}}=e;let c="";null===(a=e.data.deliveryOptions.result)||void 0===a||a.find(e=>{var t,r;c=c||(null===(t=e.DeliveryOptions)||void 0===t||null===(r=t.find(e=>e.Code===u))||void 0===r?void 0:r.Description)});const l=t>1?s:i;return("ship"===r?o:"pickup"===r?n:`${c} (${t} ${l})`).replace("{count}",t.toString()).replace("{suffix}",l)})(x(r),t);return{LineItemDeliveryGroup:{className:c()("ms-checkout__line-items-delivery-group",t)},LineItemList:{className:"ms-checkout__line-items-list"},heading:m.createElement("div",{className:"ms-checkout__line-items-group-title"},a),lineItems:_(r)}},w=t=>{const{config:{lineItemsHeading:r}}=e;r.text=t.target.value},T=()=>{if(""===l||void 0===l)return;const{resources:{multiplePickUpLabel:t,shippingLable:r}}=e,a=(()=>{const t=d()(e,"data.checkout.result.checkoutCart.cart"),r=e=>p()(e,e=>e.FulfillmentStoreId),a=(i=t.CartLines,p()(i,e=>e.DeliveryMode));var i;const s=[],n=[];return Object.entries(a).forEach(e=>{let[t,i]=e;a[t]=r(i),s.push(r(i))}),Object.keys(s).forEach(e=>{const t=s[e];Object.keys(t).forEach(e=>{const r=t[e];n.push(r)})}),n})();if(0===a.length)return;const i=[];return a.map(a=>{const s=x(a),n=a[0],o=b(n),l=n.FulfillmentStoreId&&n.DeliveryMode?"pickup":""===n.FulfillmentStoreId&&n.DeliveryMode===u?"email":"ship",d=((t,r,a,i)=>{var s,n;const{resources:{itemLabel:o,itemsLabel:c}}=e;let l="",d="";null===(s=e.data.deliveryOptions.result)||void 0===s||s.find(e=>{var t,r;l=l||(null===(t=e.DeliveryOptions)||void 0===t||null===(r=t.find(e=>e.Code===u))||void 0===r?void 0:r.Description)}),null===(n=e.data.deliveryOptions.result)||void 0===n||n.find(e=>{var t,r;d=d||(null===(t=e.DeliveryOptions)||void 0===t||null===(r=t.find(e=>e.Code===a))||void 0===r?void 0:r.Description)});const p=t>1?c:o;return("ship"===r?`(${t} ${p})`:"pickup"===r?`${`${d}, ${i}`} (${t} ${p})`:`${l} (${t} ${p})`).replace("{count}",t.toString()).replace("{suffix}",p)})(s,l,n.DeliveryMode,o),p="pickup"===l?t:"ship"===l?r:"email",h=`ms-checkout__line-items-group-title-multiple-pickup-${l}icon`;i.push({LineItemDeliveryGroup:{className:c()("ms-checkout__line-items-delivery-group multiple-pickup",l)},LineItemList:{className:"ms-checkout__line-items-list"},lineItemWraperIcon:m.createElement("div",{className:h}),lineItemWraper:m.createElement("div",{className:"ms-checkout__line-items-group-title-multiple-pickup-heading"},p),heading:m.createElement("div",{className:"ms-checkout__line-items-group-title-multiple-pickup-subheading"},d),lineItems:_(a)})}),i};return(()=>{const{context:r,config:{lineItemsHeading:a},data:{products:s},resources:{editCartText:o}}=e,c=Object(i.getPayloadObject)("click",t,i.TelemetryConstant.EditCart),l=Object(i.getTelemetryAttributes)(t,c),u=d()(e,"data.checkout.result.checkoutCart.cart"),p=y?" multiple-pickup-enabled":"";if(u&&u.CartLines&&u.CartLines.length&&s)return{LineItems:{className:"ms-checkout__line-items"+p},Header:{className:"ms-checkout__line-items-header"},heading:a&&a.text&&m.createElement(n.Text,Object.assign({className:"ms-checkout__line-items-heading"},a,{tag:a.tag||"h2",text:a.text,editProps:{onEdit:w,requestContext:r.request}})),editLink:m.createElement(i.Button,Object.assign({className:"ms-checkout__line-items-edit-cart-link",title:o,color:"link",href:n.getUrlSync("cart",r.actionContext)||""},l),o),itemsForPickup:E("pickup"),itemsForShip:E("ship"),itemsForEmail:E("email"),itemsGroupWithMulitplePickupMode:y?T():void 0}})()}},"/gOl":function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return l}));r("LR6M");var a=r("hBpL"),i=r("mwIZ"),s=r.n(i),n=r("cDcd"),o=r("x1rJ");const c=e=>{let{moduleName:t,channelReferenceId:r,channelName:i,channelAddress:s,showChannelInfo:o,receiptEmail:c,createdDate:l,amount:d,priceContext:u,salesId:p,receiptId:m,count:h,resources:{receiptEmailMessage:g,orderItemLabel:y,orderItemsLabel:b,orderIdLabel:f,receiptIdLabel:v,confirmationIdLabel:C,posChannelNameText:_,onlineStoreChannelNameText:O,orderPlacedOnLabel:x},isSalesInvoice:S}=e;return{orderInformationProps:{className:t+"__order-information"},channelName:o&&i&&(s?n.createElement("span",{className:t+"__order-information-channel-name"},`${_} ${i}`):n.createElement("span",{className:t+"__order-information-channel-name"},O)),channelAddress:o&&s&&n.createElement("span",{className:t+"__order-information-channel-address"},s),salesId:p?n.createElement("span",{className:t+"__order-information-sales-id"},`${f} ${p}`):"",receiptId:m?n.createElement("span",{className:t+"__order-information-receipt-id"},`${v} ${m}`):"",receiptEmail:c&&n.createElement("span",{className:t+"__order-information-receipt-email"},g,n.createElement("span",null,c)),createdDate:!S&&l&&n.createElement("span",{className:t+"__order-information-created-date"},x," ",l),count:!S&&void 0!==h&&h>0&&n.createElement("span",{className:t+"__order-information-count"},1===h?`${h} ${y}`:`${h} ${b}`),amount:!S&&(d||0===d)&&n.createElement(a.k,Object.assign({},u,{className:t+"__order-information-amount",data:{price:{CustomerContextualPrice:d}}})),channelReferenceId:r&&n.createElement("span",{className:t+"__order-information-channel-reference-id"},C+" ",n.createElement("span",null,r))}},l=(e,t,r,a,i,n,c,l)=>{const{resources:d,context:{request:{apiSettings:{channelId:u}}}}=e,p=(!!r.ChannelId&&r.ChannelId,s()(e,"context.request.locale")||"en-US"),m=r.SalesLines&&r.SalesLines.length?Object(o.a)(r.SalesLines):0,h=i?i.filter(e=>e.RecordId===r.ChannelId):"",g=n?n.filter(e=>e.ChannelId===r.ChannelId):"";return{moduleName:t,createdDate:r.CreatedDateTime&&new Date(r.CreatedDateTime).toLocaleDateString(p)||"",salesId:r.SalesId,receiptId:r.ReceiptId,showChannelInfo:c,receiptEmail:r.ReceiptEmail,channelReferenceId:r.ChannelReferenceId,channelName:h&&h.length>0?h[0].Name:"",channelAddress:g&&g.length>0?g[0].Address:"",amount:r.TotalAmount||0,priceContext:a,count:m,resources:d,isSalesInvoice:l}}},"1rmY":function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=r("hBpL"),s=r("xT9B"),n=r("cDcd");function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:"";try{const r=await Object(n.u)({callerContext:e},t,-1);if(r&&r.length>0)return r[0].TypeId}catch(r){e.telemetry.error("Call to resolveCardTypesAsync failed.",r)}},u=(e,t)=>{const r=e.find(e=>e.OperationId===t);if(r)return r.TenderTypeId},p=e=>Number(e.toFixed(2));t.b=async(e,t)=>{const r=await Object(i.b)(e).catch(e=>{throw e}),a=r.checkoutCart,o=e.requestContext.channel;if(!(a&&Object.keys(a).length&&r&&o))throw new Error("Fail to placeOrder");const{giftCardExtends:m,tokenizedPaymentCard:h,cardPrefix:g,guestCheckoutEmail:y,billingAddress:b,loyaltyAmount:f}=r,{Currency:v}=o;let C,_=a.cart.AmountDue||0;const O=[],x=a.cart.LoyaltyCardId;if(f&&x){const t=p(Math.min(f,_)),r=async function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"USD";const i=await Object(n.s)({callerContext:e,queryResultSettings:{}}).catch(e=>{throw e});if(!i)throw new Error("Fail to get gift card tender line");const s=u(i,l.PayLoyalty);return{"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CartTenderLine","Amount@odata.type":"#Decimal",Currency:a,TenderTypeId:s,Amount:r,LoyaltyCardId:t}}(e,x,t,v);O.push(r),_=p(_-t)}if(m&&m.length&&m.some(t=>{if(t.Balance&&_>0){var r,a;const i=p(Math.min(t.Balance,_)),s=t.TenderTypeId,o=t.Pin,c=t.ExpirationDate?parseInt(null===(r=t.ExpirationDate)||void 0===r?void 0:r.split("/")[1],10):void 0,d=t.ExpirationDate?parseInt(null===(a=t.ExpirationDate)||void 0===a?void 0:a.split("/")[0],10):void 0,m=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"USD",i=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0,c=arguments.length>7?arguments[7]:void 0,d=i;if(!d){const t=await Object(n.s)({callerContext:e,queryResultSettings:{}}).catch(e=>{throw e});if(!t)throw new Error("Fail to get gift card tender line");d=u(t,l.PayGiftCertificate)}return{"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CartTenderLine","Amount@odata.type":"#Decimal",Currency:a,TenderTypeId:d,Amount:r,GiftCardId:t,GiftCardPin:s,GiftCardExpirationYear:o,GiftCardExpirationMonth:c}}(e,t.Id,i,v,s,o,c,d);O.push(m),_=p(_-i)}return 0===_}),r.customerAccountAmount>0){const t=p(Math.min(r.customerAccountAmount,_)),a=async function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"USD";const a=null;e.requestContext.user.isAuthenticated||e.telemetry.error("A customer id is required to pay with customer account");const i=await Object(n.s)({callerContext:e,queryResultSettings:{}}).catch(e=>{throw e});i||e.telemetry.error("No tender types found for this channel");const s=u(i,l.PayCustomerAccount);return s||e.telemetry.error("No customer account tender type"),{"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CartTenderLine","Amount@odata.type":"#Decimal",Currency:r,TenderTypeId:s,Amount:t,CustomerId:a}}(e,t,v);O.push(a),_=p(_-t)}if(_>0){if(!h)throw new Error("Fail to placeOrder: no token found");const t=async function(e,t){var r;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"USD",o=arguments.length>5?arguments[5]:void 0;const p=await Object(n.s)({callerContext:e,queryResultSettings:{}}).catch(e=>{throw e});let m=t.CardTypeId;if(m||(m=await d(e,a)),!p)throw new Error("Fail to get card tender type");if(!m)throw new Error("Fail to get card type id");const h=null!==(r=t.TenderType)&&void 0!==r?r:u(p,l.PayCard),g={"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CartTenderLine","Amount@odata.type":"#Decimal",Currency:s,Amount:i,TenderTypeId:h,CardTypeId:m};return g.TokenizedPaymentCard=c(c(c({},t),{},{CardTypeId:m,"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TokenizedPaymentCard",House:t.House||"N/A"},t.CardTokenInfo&&{CardTokenInfo:c(c({},t.CardTokenInfo),{},{"@odata.type":"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CardTokenInfo"})}),o&&{Phone:o.Phone,Country:o.ThreeLetterISORegionName,Address1:o.Street,City:o.City,State:o.State,Zip:o.ZipCode}),g}(e,h,g,_,v,b);O.push(t)}if(O.length>0&&(C=await Promise.all(O).catch(e=>{throw e}),!C||!C.length))throw new Error("Fail to placeOrder: fail to get cart tender lines");const S=t||a.cart.Version,E=await Object(s.f)({callerContext:e,bypassCache:"get"},a.cart.Id,y,void 0,void 0,C||null,S).catch(e=>{throw e});if(!E)throw new Error("Fail to placeOrder: fail to checkout");return E}},"9+G5":function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return i}));const a="reviewproductid",i="ms-reviews-list__edit"},C8NF:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));r("LR6M");var a=r("Hxoz"),i=r("cDcd");const s=e=>{let{needHelpLabel:t,helpLineNumberLabel:r,contactNumber:s,helpLineContactAriaLabel:n,telemetryContent:o}=e;const c=Object(a.getPayloadObject)("click",o,""),l=Object(a.getTelemetryAttributes)(o,c);return{helpProps:{className:"ms-order-confirmation__help"},needHelpLabel:i.createElement("p",{className:"ms-order-confirmation__help-title"},t),helpLineNumberLabel:i.createElement("span",{className:"ms-order-confirmation__help-label"},r),contactNumber:i.createElement("a",Object.assign({className:"ms-order-confirmation__help-content-number","aria-label":n,href:"tel:"+s},l),s)}}},CpM2:function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=(r("9VTn"),r("LR6M"),r("mrSG")),s=r("Hxoz"),n=r("xT9B"),o=r("TSYQ"),c=r.n(o),l=r("mwIZ"),d=r.n(l),u=r("2vnA"),p=r("cDcd"),m=r("F9+a"),h=r("/gOl"),g=r("WRUG"),y=r("hxuE"),b=r("x1rJ"),f=r("C8NF"),v=r("mMTO"),C=r("NmHG");r.d(t,"getGroups",(function(){return m.a})),r.d(t,"getOrderInformation",(function(){return h.b})),r.d(t,"getOrderInfomationInput",(function(){return h.a}));var _=r("d6et");function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function x(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this.getDeliveryMode=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;var i;return t?null==r||null===(i=r.PickupDeliveryModeCodes)||void 0===i?void 0:i.find(t=>t===e.DeliveryMode):a},this.telemetryContent=Object(s.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry);const t=Object(s.getPayloadObject)("click",this.telemetryContent,s.TelemetryConstant.BackToShopping);this.backToShoppingAttributes=Object(s.getTelemetryAttributes)(this.telemetryContent,t)}get isCurrentChannel(){return!!this.order&&this.order.ChannelId===d()(this.props,"context.request.apiSettings.channelId")}get isDataReady(){return"SUCCESS"===d()(this.props,"data.orderHydration.status")}get hasError(){return"FAILED"===d()(this.props,"data.orderHydration.status")}get order(){return d()(this.props,"data.orderHydration.result.salesOrder")}get products(){return d()(this.props,"data.orderHydration.result.products")||[]}get deliveryOptions(){return d()(this.props,"data.orderHydration.result.deliveryOptions")||[]}get priceContext(){const{id:e,typeName:t,context:r,telemetry:a,resources:{freePriceText:i}}=this.props;return{id:e,typeName:t,context:r,telemetry:a,freePriceText:i}}get earnedPoints(){const e=this.props.data.loyaltyCard.result;if(e&&e.RewardPoints&&this.order){const t=e.RewardPoints.map(e=>e.RewardPointId),r=this.order.LoyaltyRewardPointLines||[];let a=0;return r.forEach(e=>{(e.RewardPointAmountQuantity||0)>0&&t.indexOf(e.RewardPointId)>-1&&(a+=e.RewardPointAmountQuantity)}),a}return 0}get orderSummaryProps(){var e,t,r,a;if(!this.order)return;const{request:i}=this.props.context,{channelDeliveryOptionConfig:s,featureState:n}=null===(e=this.props)||void 0===e?void 0:e.data,o=null==n||null===(t=n.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled,c=i&&i.channel&&i.channel.PickupDeliveryModeCode,l=i&&i.channel&&i.channel.EmailDeliveryModeCode,d=null===(a=this.order)||void 0===a?void 0:a.SalesLines,u=null==d?void 0:d.some(e=>e.DeliveryMode&&""!==e.DeliveryMode?e.DeliveryMode!==this.getDeliveryMode(e,o,null==s?void 0:s.result,c)&&e.DeliveryMode!==l:e),{resources:{orderSummaryHeading:p,orderSummaryItemsTotalLabel:m,orderSummaryShippingFeeLabel:h,orderSummaryTaxLabel:g,orderSummaryGrandTotalLabel:y,pointsEarnedLabel:b}}=this.props;return{order:this.order,earnedPoints:this.earnedPoints,priceContext:this.priceContext,resource:{orderSummaryHeading:p,orderSummaryItemsTotalLabel:m,orderSummaryShippingFeeLabel:h,orderSummaryTaxLabel:g,pointsEarnedLabel:b,orderSummaryGrandTotalLabel:y},canShip:u}}get paymentMethodsProps(){const e=this.props.data.tenderTypes.result;if(!this.order||!this.order.TenderLines||!e)return;const t=d()(this.props,"context.request.locale")||"en-US",{resources:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}=this.props;return{priceContext:this.priceContext,tenderLines:this.order.TenderLines,tenderIdOperationIdMap:Object(b.f)(e),locale:t,resource:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}}render(){var e,t,r;const{resources:{noSalesOrderText:a,genericErrorMessage:i,needHelpLabel:o,helpLineNumberLabel:l,loadingLabel:d,backToShopping:u,orderItemLabel:b,orderItemsLabel:_,pickupItemsHeader:O,pickingItemsLabel:S,shippingAddressTitle:E,shippingItemToYouLabel:w,helpLineContactAriaLabel:T,emailItemsHeader:P,emailingItemsLabel:I},config:{heading:N,contactNumber:k,showTimeslot:j}}=this.props,L={moduleProps:this.props,className:c()("ms-order-confirmation",this.props.config.className)},R=n.getUrlSync("home",this.props.context.actionContext)||"",{channelDeliveryOptionConfig:D,featureState:A}=null===(e=this.props)||void 0===e?void 0:e.data,M=null==A||null===(t=A.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled;let B=x(x({},this.props),{},{moduleProps:L,heading:N&&N.text&&p.createElement(n.Text,Object.assign({},N,{className:"ms-order-confirmation__heading",text:N.text,tag:N.tag||"h2",editProps:{onEdit:this.handleOrderConfirmationHeadingChange,requestContext:this.props.context.request}})),backToShoppingLink:R&&p.createElement(s.Button,Object.assign({className:"ms-order-confirmation__btn-keep-shopping",href:R},this.backToShoppingAttributes),u),footerProps:{className:"ms-order-confirmation__footer"}});if(this.hasError)return B=x(x({},B),{},{alert:p.createElement(y.a,{className:"ms-order-confirmation__alert",label:i})}),this.props.renderView(B);if(!this.isDataReady)return B=x(x({},B),{},{loading:p.createElement(y.a,{className:"ms-order-confirmation__loading",label:d})}),this.props.renderView(B);if(!this.order)return B=x(x({},B),{},{alert:p.createElement(y.a,{className:"ms-order-confirmation__alert",label:a})}),this.props.renderView(B);const F=15===this.order.TransactionTypeValue,U=Object(g.b)(this.props,this.moduleName,this.order,this.products,this.priceContext,!0,j,void 0,M,null==D?void 0:D.result,this.deliveryOptions),q=U&&Object(g.a)(U),G=this.order&&Object(h.a)(this.props,this.moduleName,this.order,this.priceContext,void 0,void 0,void 0,F),H=G&&Object(h.b)(G);return B=x(x({},B),{},{salesOrder:this.order,orderInfomation:H,salesLines:q,groups:!F&&q?Object(m.a)({moduleName:this.moduleName,salesLines:q,resources:{orderItemLabel:b,orderItemsLabel:_,pickupItemsHeader:O,pickingItemsLabel:S,shippingAddressTitle:E,shippingItemToYouLabel:w,emailItemsHeader:P,emailingItemsLabel:I},showTimeslot:j,isConfirmationView:!0,retailMultiplePickUpOptionEnabled:M}):void 0,orderSummary:!F&&this.orderSummaryProps?Object(v.a)(this.orderSummaryProps):void 0,payment:!F&&this.paymentMethodsProps?Object(C.a)(this.paymentMethodsProps):void 0,help:!F&&k?Object(f.a)({needHelpLabel:o,helpLineNumberLabel:l,contactNumber:k,helpLineContactAriaLabel:T,telemetryContent:this.telemetryContent}):void 0}),this.props.renderView(B)}}Object(i.__decorate)([u.e],S.prototype,"isCurrentChannel",null),Object(i.__decorate)([u.e],S.prototype,"isDataReady",null),Object(i.__decorate)([u.e],S.prototype,"hasError",null),Object(i.__decorate)([u.e],S.prototype,"order",null),Object(i.__decorate)([u.e],S.prototype,"products",null),Object(i.__decorate)([u.e],S.prototype,"deliveryOptions",null),Object(i.__decorate)([u.e],S.prototype,"priceContext",null),Object(i.__decorate)([u.e],S.prototype,"earnedPoints",null),Object(i.__decorate)([u.e],S.prototype,"orderSummaryProps",null),Object(i.__decorate)([u.e],S.prototype,"paymentMethodsProps",null),t.default=S},"F9+a":function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r("Hxoz"),i=r("cDcd"),s=r("x1rJ");const n=e=>{let{moduleName:t,salesLines:r,showAddress:n,showTimeslot:o,isConfirmationView:c,retailMultiplePickUpOptionEnabled:l,resources:{orderItemLabel:d,orderItemsLabel:u,pickupItemsHeader:p,pickingItemsLabel:m,shippingAddressTitle:h,shippingItemToYouLabel:g,emailItemsHeader:y,emailingItemsLabel:b}}=e;const f=Object(s.g)(r).map(e=>{const{deliveryType:r,salesStatus:s,count:f,salesLines:v}=e,C=1===f?d:u,_=m&&Object(a.format)(m,f,C),O=g&&Object(a.format)(g,f,C),x=b&&Object(a.format)(b,f,C),S={className:`${t}__group-deliveryType-${"ship"===r?"ship":"email"===r?"email":"pickup"} salesStatus-${s}`},E={className:t+"__sales-lines"},w=v[0].address,T=v[0].trackingInfo,P="processing"===v[0].data.salesStatus,I=v[0].pickupDateTimeslot,N=v[0].data.salesStatus;return{groupProps:S,salesLinesProps:E,delivery:{deliveryProps:{className:`${t}__group-delivery ${l?"multiple-pickUp":""}`},pickupProps:{className:t+"__delivery-container"},heading:i.createElement("span",{className:t+"__group-delivery-heading"},P?c?"pickUp"===r?p:"ship"===r?h:"email"===r?y:r:v[0].deliveryType:v[0].salesStatus),processing:P?i.createElement("span",{className:t+"__group-delivery-processing-label"},v[0].salesStatus):void 0,count:!c&&i.createElement("span",{className:t+"__group-delivery-total-items"},`(${f} ${C})`),shippingItemsToYou:c&&"ship"===r?i.createElement("span",{className:t+"__sales-lines-shipping-items-label"},O):"pickUp"===r?i.createElement("span",{className:t+"__sales-lines-picking-items-label"},_):"email"===r?i.createElement("span",{className:t+"__sales-lines-emailing-items-label"},x):i.createElement("span",{className:t+"__sales-lines-picking-items-label"},_),trackingInfo:T,address:w,pickupDateTimeslot:I,showTimeslot:o||!1,shippedStatusCheck:N},salesLines:v,address:n&&w,data:{count:f,deliveryType:r,salesStatus:s}}});return{groupsProps:{className:t+"__groups"},groups:f}}},HjCV:function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=(r("y/s1"),r("ES/9"),r("mrSG")),s=r("UdvX"),n=r("Hxoz"),o=r("hBpL"),c=r("xT9B"),l=r("TSYQ"),d=r.n(l),u=r("2vnA"),p=r("okNM"),m=r("cDcd"),h=r.n(m),g=r("d9ud"),y=r("3riU");class b{constructor(e,t,r,a,i,s){this.getCacheKey=()=>"ReportReviewConcern",this.getCacheObjectType=()=>"ReportReviewConcern",this.dataCacheType=()=>"none",this.reviewId=e,this.tenantId=t,this.locale=r,this.concernCategory=a,this.authToken=i,this.serviceEndpoint=s}}class f{constructor(e,t,r,a,i,s){this.getCacheKey=()=>"SubmitHelpfulnessVote",this.getCacheObjectType=()=>"SubmitHelpfulnessVote",this.dataCacheType=()=>"none",this.reviewId=e,this.tenantId=t,this.locale=r,this.isHelpful=a,this.authToken=i,this.serviceEndpoint=s}}var v=Object(c.createObservableDataAction)({id:"@msdyn365-commerce-modules/ratings-reviews/report-review-concern",action:async function(e,t){if(!function(e){return e&&e.reviewId.length>0&&e.tenantId.length>0&&e.locale.length>0&&e.authToken.length>0}(e))throw new Error(`[SubmitHelpfulnessVote] Invalid input. ReviewId=${e.reviewId},tenantId=${e.tenantId},locale= ${e.locale},`);const r=`${e.serviceEndpoint}/v2.0/concerns/review/${e.reviewId}?tenantId=`+e.tenantId+"&locale="+e.locale,a={concernCategory:e.concernCategory},i={headers:{Authorization:"id_token "+e.authToken}};return Object(c.sendRequest)(r,"post",a,i).then(e=>200===e.status||201===e.status).catch(e=>(t.trace("[ReportReviewConcernInput] Failed to report a concern"),t.telemetry.exception(e),t.telemetry.debug("[ReportReviewConcernInput] Failed to report a concern"),!1))}});var C=Object(c.createObservableDataAction)({id:"@msdyn365-commerce-modules/ratings-reviews/submit-helpfulness-vote",action:async function(e,t){if(!function(e){return e&&e.reviewId.length>0&&e.tenantId.length>0&&e.locale.length>0&&e.authToken.length>0}(e))throw new Error(`[SubmitHelpfulnessVote] Invalid input. ReviewId=${e.reviewId},tenantId=${e.tenantId}, locale= ${e.locale},`);const r=`${e.serviceEndpoint}/v2.0/votes/review/${e.reviewId}?tenantId=`+e.tenantId+"&locale="+e.locale,a={isHelpful:!!e.isHelpful},i={headers:{Authorization:"id_token "+e.authToken}};return Object(c.sendRequest)(r,"post",a,i).then(e=>200===e.status||201===e.status).catch(e=>(t.trace("[SubmitHelpfulnessVote] Failed to vote on a review"),t.telemetry.exception(e),t.telemetry.debug("[SubmitHelpfulnessVote] Failed to vote on a review"),!1))}}),_=r("aSkU");r("LR6M");const O=e=>{const{currentPage:t,resources:r,reviewsCount:a,reviewsShownOnEachPage:i}=e;return m.createElement("span",{"aria-live":"polite",className:"sr-only"},Object(n.format)(r.pageReviewCountText,I(t,i),N(t,a,i),a))},x=e=>{const{currentPage:t,resources:r,reviewsCount:a,reviewsShownOnEachPage:i}=e,s=Object(n.getPayloadObject)("click",e.telemetryContent,n.TelemetryConstant.Next),o=Object(n.getTelemetryAttributes)(e.telemetryContent,s);s.contentAction.etext=n.TelemetryConstant.Previous;const c=Object(n.getTelemetryAttributes)(e.telemetryContent,s);return m.createElement("div",{className:"ms-reviews-list__page-controls"},S(t)&&m.createElement("button",Object.assign({onClick:()=>k(e),className:"ms-reviews-list__previous","aria-label":P(r.pageReviewAriaLabel,t,a,i,!1)},c),r.previousButtonText),E(t,a,i)&&m.createElement("button",Object.assign({onClick:()=>j(e),className:"ms-reviews-list__next","aria-label":P(r.pageReviewAriaLabel,t,a,i,!0)},o),r.nextButtonText))},S=e=>e>1,E=(e,t,r)=>T(t,r)>e,w=e=>Math.min(25,e),T=(e,t)=>Math.ceil(e/w(t)),P=(e,t,r,a,i,s)=>{const o=i?1:-1;return Object(n.format)(e,I(t,a,t+o),N(t,r,a,t+o),r)},I=(e,t,r)=>((r||e)-1)*w(t)+1,N=(e,t,r,a)=>{const i=(a||e)*w(r);return i{await e.updateReviews(I(e.currentPage,e.reviewsShownOnEachPage)-1-w(e.reviewsShownOnEachPage),e.selectedSortByOption,e.selectedFilterByOption,e.currentPage-1,!1)},j=async e=>{await e.updateReviews(N(e.currentPage,e.reviewsCount,e.reviewsShownOnEachPage),e.selectedSortByOption,e.selectedFilterByOption,e.currentPage+1,!1)};let L;const R=e=>{const t=[];for(const r of L){const a="report-review-"+r.key,i=r.key===e.reportedKey;t.push(h.a.createElement("div",{className:"ms-report-review-modal-pair",key:r.key},h.a.createElement("input",{className:"msc-radio-input",type:"radio",name:"report-error",id:a,"data-key":r.key,value:r.value,checked:i,"aria-checked":i,onChange:e.onRadioChange}),h.a.createElement("label",{className:"msc-radio-label",htmlFor:a},r.value)))}return h.a.createElement("fieldset",null,t)};var D=r("9+G5");const A=e=>h.a.createElement(o.n,{readOnly:!0,avgRating:e.review.rating,ariaLabel:Object(n.format)(e.resources.reviewRatingNarratorText||"",e.review.rating,"5"),context:e.context,className:"ms-reviews-list__rating",id:e.parentId,typeName:e.parentType,data:{}}),M=(e,t)=>{const r=((e,t)=>{for(let r=0;r{e.updateReviewHelpfulness(e.review.reviewId,t)};return l.isAuthenticated?h.a.createElement(n.Button,{"aria-label":s,className:i,title:c,onClick:d},c):h.a.createElement(n.Button,{href:l.signInUrl,"aria-label":s,className:i,title:c,tag:"a"},c)},B=e=>{if(e.isUserReview)return h.a.createElement(n.Button,{id:D.a,className:"ms-reviews-list__edit",onClick:e.toggleWriteReviewModal},e.resources.editReviewCardText)},F=(e,t)=>{if(!t)return"";try{return new Intl.DateTimeFormat(e.context.request.locale,{month:"long",day:"numeric",year:"numeric"}).format(new Date(t))}catch(r){return t}},U=e=>{const t=e.context.request.user;if(e.isUserReview)return;if(!t.isAuthenticated)return h.a.createElement(n.Button,{href:t.signInUrl,className:"ms-reviews-list__report",tag:"a"}," ",e.resources.reportConcernText);if(e.reportedReviews.indexOf(e.review.reviewId)>-1)return h.a.createElement("p",{className:"ms-reviews-list__reported"},e.resources.reportedText);const r=e.review.reviewId===e.reportedReviewId?e.returnRef:void 0;return h.a.createElement(n.Button,{className:"ms-reviews-list__report",onClick:()=>{e.toggleReportReviewModal(e.review.reviewId)},innerRef:r},e.resources.reportConcernText)};function q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function G(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this._userReview=()=>{const e=this.props.data.userReview.result;return e&&this._reviewCard(e,!0)},this._reviewCards=e=>{const t=this.props.data.userReview.result,r=[];for(const a of e)!a.isTakenDown&&a.isPublished&&t&&a.reviewId===t.reviewId||r.push(this._reviewCard(a,!1));return r},this._reviewCard=(e,t)=>(e=>({cardProps:{className:e.isUserReview?"ms-reviews-list__card ms-reviews-list__user-review":"ms-reviews-list__card",key:e.review.reviewId},name:h.a.createElement("p",{className:"ms-reviews-list__name"},e.review.userName),rating:A(e),date:h.a.createElement("p",{className:"ms-reviews-list__date"},F(e,e.review.submittedDateTime)),reviewTitle:h.a.createElement("h4",{className:"ms-reviews-list__title"},e.review.title),reviewText:h.a.createElement("p",{className:"ms-reviews-list__text"},e.review.reviewText),ratingHelpfulLabel:e.isUserReview?void 0:h.a.createElement("p",{className:"ms-reviews-list__helpful"},e.resources.wasReviewHelpfulText),like:e.isUserReview?void 0:M(e,!0),dislike:e.isUserReview?void 0:M(e,!1),edit:B(e),report:U(e),responseName:e.review.userResponse?h.a.createElement("p",{className:"ms-reviews-list__response-name"},e.review.userResponse.responderName):void 0,responseText:e.review.userResponse?h.a.createElement("p",{className:"ms-reviews-list__response-text"},e.review.userResponse.responseText):void 0,responseDate:e.review.userResponse?h.a.createElement("p",{className:"ms-reviews-list__response-date"},F(e,e.review.userResponse.submittedDateTime)):void 0,cardBodyProps:{className:"ms-reviews-list__card-body"},responseProps:{className:"ms-reviews-list__response"},reviewProps:{className:"ms-reviews-list__review"},controlsProps:{className:"ms-reviews-list__card-controls"},headerProps:{className:"ms-reviews-list__card-header"}}))({review:e,resources:G({},this.props.resources),context:this.props.context,isUserReview:t,parentId:this.props.id,parentType:this.props.typeName,reportedReviews:this.state.reportedReviews,returnRef:this._userReportModalToggle,reportedReviewId:this.state.reportingReviewId,toggleWriteReviewModal:this._toggleReviewModal,toggleReportReviewModal:this._onReportModalOpen,updateReviewHelpfulness:this.updateReviewHelpfulnessVote,votedReviews:this.state.votedReviews}),this._userReviewModal=()=>Object(_.a)({userReview:this.props.data.userReview.result,product:this.props.data.product.result,resources:G({},this.props.resources),context:this.props.context,parentId:this.props.id,parentType:this.props.typeName,isOpen:this.state.isReviewModalOpen,rating:this.state.userReviewRating,reviewTitle:this.state.userReviewTitle,reviewText:this.state.userReviewText,onModalToggle:this._toggleReviewModal,onTitleChange:this._onTitleChange,onTextChange:this._onTextChange,onRatingChange:this._onRatingChange,onReviewComplete:this._onReviewComplete,renderContextId:"writeReview-list",returnRef:this._userReviewModalToggle,hasError:this.state.hasReviewError}),this._onTitleChange=e=>{this.reviewsListCallbacks.updateReviewTitle(e.target.value)},this._onTextChange=e=>{this.reviewsListCallbacks.updateReviewText(e.target.value)},this._onRatingChange=e=>{this.reviewsListCallbacks.updateRating(e)},this._toggleReviewModal=()=>{const e=this.props.data.userReview.result;this.state.isReviewModalOpen?this.setState({isReviewModalOpen:!1,hasReviewError:!1}):this.setState({isReviewModalOpen:!0,userReviewText:e.reviewText,userReviewTitle:e.title,userReviewRating:e.rating})},this._onReviewComplete=e=>{e?this.setState({isReviewModalOpen:!1,hasReviewError:!1}):this.setState({hasReviewError:!0})},this._reportReviewModal=()=>(e=>{const t=Object(n.getPayloadObject)("click",e.telemetryContent,n.TelemetryConstant.SubmitReview),r=Object(n.getTelemetryAttributes)(e.telemetryContent,t);t.contentAction.etext=n.TelemetryConstant.SuccessButton;const a=Object(n.getTelemetryAttributes)(e.telemetryContent,t);t.contentAction.etext=n.TelemetryConstant.Cancel;const i=Object(n.getTelemetryAttributes)(e.telemetryContent,t);return L=[{key:"8",value:e.resources.reportSpamText},{key:"1",value:e.resources.offensiveContentText},{key:"9",value:e.resources.profanityContentText}],{modal:{tag:n.Modal,className:"ms-report-review-modal msc-modal-input-required",toggle:e.onModalToggle,applicationNode:"renderPage",isOpen:e.isOpen,returnFocusRef:e.returnRef},modalHeader:{tag:n.ModalHeader,toggle:e.onModalToggle,className:"ms-report-review-modal-header"},modalFooter:{tag:n.ModalFooter,className:"ms-report-review-modal-footer"},modalBody:{tag:n.ModalBody,className:"ms-report-review-modal-body"},header:h.a.createElement("p",{className:"ms-reviews-list__report-header"},e.resources.reportConcernText),headerSubmitted:h.a.createElement("p",{className:"ms-reviews-list__report-header"},e.resources.feedbackThankYouText),cancelButton:h.a.createElement("button",Object.assign({className:"msc-btn ms-reviews-list__cancel",onClick:e.onModalToggle},i),e.resources.cancelReportReviewText),submitButton:h.a.createElement("button",Object.assign({className:"msc-btn ms-reviews-list__submit",onClick:e.reportReview},r)," ",e.resources.reportReviewButtonText||"Report"),succesfulButton:h.a.createElement("button",Object.assign({className:"msc-btn ms-reviews-list__success",onClick:e.onModalToggle},a),e.resources.okReportReviewText),reportMessage:h.a.createElement("p",{className:"ms-reviews-list__report-message"},e.resources.reportModalMessage),reportSubmittedMessage:h.a.createElement("p",{className:"ms-reviews-list__report-message"},e.resources.reportSubmittedMessage),radioButtons:R(e),error:h.a.createElement(n.Alert,{className:"ms-reviews-list__report-error",isOpen:e.hasError,color:"danger"},e.resources.errorMessageText)}})({resources:G({},this.props.resources),context:this.props.context,isOpen:this.state.isReportModalOpen,returnRef:this._userReportModalToggle,reportedKey:this.state.reportedKey,onModalToggle:this._onReportModalClose,onRadioChange:this._onRadioChange,reportReview:this._reportReview,hasError:this.state.hasReportError,telemetryContent:this.telemetryContent}),this._onReportModalOpen=e=>{this.setState({isReportModalOpen:!0,reportingReviewId:e,reported:!1,reportedKey:"8"})},this._onReportModalClose=()=>{this.setState({isReportModalOpen:!1,hasReportError:!1})},this._onRadioChange=e=>{this.setState({reportedKey:e.currentTarget.getAttribute("data-key")||""})},this._reportReviewCallback=(e,t)=>{v(new b(e,Object(s.getRnrPartnerId)(this.props.context.actionContext),this.props.context.request.locale,t,this.getUserToken(this.props.context.request),Object(s.getRnrAuthEndpointId)(this.props.context.actionContext)),this.props.context.actionContext).then(t=>{const r=this.state.reportedReviews;r.push(e),this.setState({reported:!0,reportedReviews:r,hasReportError:!1})}).catch(e=>{this.setState({hasReportError:!0})})},this._reportReview=()=>{this._reportReviewCallback(this.state.reportingReviewId,this.state.reportedKey)},this.updateSortByDropdown=async e=>{await this.updateReviews(0,e.selectedOption,this.state.selectedFilterByOption,1,this.state.isFilterApplied)},this.updateFilterByDropdown=async e=>{await this.updateReviews(0,this.state.selectedSortByOption,e.selectedOption,1,!0)},this.updateReviews=async(e,t,r,a,i)=>{const n=Object(s.getSelectedProductIdFromActionInput)(this.props.context.actionContext);if(void 0===n)return;const o=await Object(g.getReviewsForGivenProduct)(new y.a(n,Object(s.getRnrPartnerId)(this.props.context.actionContext),this.props.context.request.locale,Object(s.getRnrEndpointId)(this.props.context.actionContext),t.key,r.key,e<0?0:e),this.props.context.actionContext);o&&o.items&&o.pagingInfo&&void 0!==o.pagingInfo.totalItems&&this.setState({currentPage:a,listOfReviews:o.items,selectedSortByOption:t,selectedFilterByOption:r,reviewsCount:o.pagingInfo.totalItems,isFilterApplied:i})},this._updateVoteUi=(e,t)=>{let r=!1,a=this.state.votedReviews.map(a=>(a.reviewId===e&&(a.approved=t,r=!0),a));r||(a=a.concat({reviewId:e,approved:t})),this.setState({votedReviews:a})},this.updateReviewHelpfulnessVote=(e,t)=>{C(new f(e,Object(s.getRnrPartnerId)(this.props.context.actionContext),this.props.context.request.locale,t,this.getUserToken(this.props.context.request),Object(s.getRnrAuthEndpointId)(this.props.context.actionContext)),this.props.context.actionContext).then(()=>{this._updateVoteUi(e,t)})},this.getUserToken=e=>e&&e.user&&e.user.token,this.reviewsListCallbacks={updateReviewTitle:e=>{this.setState({userReviewTitle:e})},updateReviewText:e=>{this.setState({userReviewText:e})},updateRating:e=>{this.setState({userReviewRating:e})},onReviewSubmitted:e=>{e?this.setState({isReviewModalOpen:!1,hasReviewError:!1}):this.setState({hasReviewError:!0})},submitReview:_.b,toggleModal:this._toggleReviewModal,updateReviewHelpfulnessVote:this.updateReviewHelpfulnessVote,toggleReportModal:e=>{this.state.isReportModalOpen?this._onReportModalOpen(e):this._onReportModalClose()},reportReview:this._reportReviewCallback,updateFilterByDropdown:this.updateFilterByDropdown,updateSortByDropdown:this.updateSortByDropdown,updateReviews:this.updateReviews};const{userReview:{result:t}}=this.props.data;this.state={skipItems:0,reviewsCount:0,listOfReviews:[],currentPage:1,showSpinner:!1,isFilterApplied:!1,selectedSortByOption:this.sortByDropdownOptions[0],selectedFilterByOption:this.filterByDropdownOptions[0],userReviewRating:t?t.rating:0,userReviewText:t?t.reviewText:"",userReviewTitle:t?t.title:"",isReviewModalOpen:!1,hasReviewError:!1,isReportModalOpen:!1,hasReportError:!1,reported:!1,reportedKey:"8",reportingReviewId:"",reportedReviews:[],votedReviews:[]},this._userReviewModalToggle=m.createRef(),this._userReportModalToggle=m.createRef(),this.telemetryContent=Object(n.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry)}componentDidMount(){this.props.data.reviewsList.then(e=>{e&&e.pagingInfo&&e.pagingInfo.totalItems&&e.items&&e.items.length>0&&this.setState({listOfReviews:e.items,reviewsCount:e.pagingInfo.totalItems})}),Object(u.o)(()=>this.props.data.ratingsReviewsState.result&&this.props.data.ratingsReviewsState.result.filterKey,async e=>{const t=Number(e),r=this.filterByDropdownOptions.length;if(e&&!isNaN(t)&&tt.key===e);if(a){await this.updateReviews(0,this.state.selectedSortByOption,a,1,!0);const e=r-t;this.setState({selectedFilterByOption:this.filterByDropdownOptions[e]})}else this.props.telemetry.warning("[reviews-list] cannot find filter with key "+e)}})}render(){const{className:e,heading:t,reviewsShownOnEachPage:r}=this.props.config,{currentPage:a,reviewsCount:i,selectedFilterByOption:s,selectedSortByOption:l}=this.state,{ratingsSummary:{result:u}}=this.props.data,p=this.props.resources,h=d()("ms-reviews-list",e),g=G(G({},this.props),{},{state:this.state,className:h,moduleProps:{moduleProps:this.props,className:h},callbacks:this.reviewsListCallbacks,reviewModal:this._userReviewModal(),reportReviewModal:this._reportReviewModal(),filterByDropdown:m.createElement(n.LabeledDropdown,{labelText:p.filterByDropdownText,dropdownId:"reviewsListFilterBy",dropdownOptions:this.filterByDropdownOptions,selectedOption:s,onSelectOption:this.updateFilterByDropdown,controlledByParent:!0}),sortByDropdown:m.createElement(n.LabeledDropdown,{labelText:p.sortByDropdownText,dropdownId:"reviewsListSortBy",dropdownOptions:this.sortByDropdownOptions,selectedOption:l,onSelectOption:this.updateSortByDropdown}),averageRating:u&&m.createElement(o.n,{avgRating:u.averageRating||0,readOnly:!0,ariaLabel:Object(n.format)(p.averageRatingAriaLabel,u.averageRating,"5"),ratingCount:""+u.reviewsCount,data:{},context:this.props.context,id:this.props.id,typeName:this.props.typeName}),reviewCount:m.createElement(O,{resources:G({},this.props.resources),currentPage:a,reviewsCount:i,reviewsShownOnEachPage:r}),refineReviewsProps:{className:"ms-reviews-list__refiners"},reviewsListProps:{className:"ms-reviews-list__reviews"},reviewCards:this._reviewCards(this.state.listOfReviews),userReview:this._userReview(),pageControls:m.createElement(x,{resources:G({},this.props.resources),currentPage:a,reviewsShownOnEachPage:r,selectedSortByOption:l,selectedFilterByOption:s,updateReviews:this.updateReviews,reviewsCount:i,telemetryContent:this.telemetryContent}),noReviewsMessage:m.createElement("span",{className:"ms-reviews-list__empty-message","aria-live":"polite"},p.noReviewsMessage),noReviewsWithFilterMessage:m.createElement("span",{className:"ms-reviews-list__filter-message","aria-live":"polite"},p.noReviewsWithSelectedFilterMessage),heading:t&&t.text&&m.createElement(c.Text,{className:"ms-reviews-list__heading",tag:t.tag||"h2",text:t.text,editProps:{onEdit:this.handleHeadingChange,requestContext:this.props.context.request}}),sortByOptions:this.sortByDropdownOptions,filterByOptions:this.filterByDropdownOptions});return this.props.renderView(g)}};H=Object(i.__decorate)([p.a],H);t.default=H},IRZC:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));r("9VTn");var a=r("rePB"),i=(r("oLpx"),r("hBpL")),s=r("cDcd");function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t{let{price:t,label:r,context:a,id:n,typeName:o,toBeCalculatedText:c,freeText:l,cssLabel:d}=e;return s.createElement("p",{className:"msc-order-summary__line-"+d},s.createElement("span",{className:"msc-order-summary__label"},r),t||0===t?s.createElement(i.k,{data:{price:{CustomerContextualPrice:t}},freePriceText:l,context:a,id:n,typeName:o,className:"msc-order-summary__value"}):s.createElement("span",{className:"msc-order-summary__value"},c))},l=function(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";return s.createElement(c,{price:t,label:a,context:e.context,id:e.id,typeName:e.typeName,toBeCalculatedText:e.toBeCalculatedText,freeText:e.freeText,telemetry:e.telemetry,cssLabel:r})},d=e=>e&&e.loyaltyAmount||0,u=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;var i;return t?null==r||null===(i=r.PickupDeliveryModeCodes)||void 0===i?void 0:i.find(t=>t===e):a},p=e=>{const{SubtotalAmount:t,TaxAmount:r,DiscountAmountWithoutTax:a=0,TotalAmount:i,OtherChargeAmount:s}=e.cart,{canShip:n,hasDeliveryMethod:c,hasShippingMethod:p,freightFee:m}=((e,t,r,a)=>{const i=t&&t.PickupDeliveryModeCode,s=t&&t.EmailDeliveryModeCode,n=(e.CartLines||[]).map(e=>e.DeliveryMode),o=e.ShippingChargeAmount;return{canShip:n.some(e=>""===e||e!==u(e,a,r,i)&&e!==s),hasDeliveryMethod:n.some(e=>!!e&&e!==s),hasShippingMethod:n.some(e=>!!e&&e!==u(e,a,r,i)&&e!==s),freightFee:o}})(e.cart,e.channelConfiguration,e.channelDeliveryOptionConfig,e.retailMultiplePickUpOptionEnabled),h={subtotal:l(e,t,"sub-total",e.subTotalLabel),tax:l(e,c?r:void 0,"tax-amount",e.taxLabel),orderTotal:l(e,i,"total",e.orderTotalLabel),otherCharge:s&&l(e,s,"other-charges",e.otherChargeLabel)||void 0};if(n&&(h.shipping=l(e,p?m:void 0,"shipping",e.shippingLabel)),e.checkoutState){const t=((e,t)=>{const r=(e.giftCardExtends||[]).reduce((e,t)=>e+(t.Balance||0),0),a=(t.TotalAmount||0)-d(e);return Math.min(r,a)})(e.checkoutState,e.cart),r=d(e.checkoutState),a=(i||0)-t-r;r>0&&(h.loyalty=l(e,-r,"loyalty",e.loyaltyLabel||"Loyalty amount")),t>0&&(h.giftCard=l(e,-t,"gift-card",e.giftcardLabel||"Gift card amount")),h.orderTotal=l(o(o({},e),{},{freeText:void 0}),a,"total",e.orderTotalLabel)}return a>0&&(h.totalDiscounts=l(e,-a,"total-discounts",e.totalDiscountsLabel)),h}},K542:function(e,t,r){"use strict";r.d(t,"a",(function(){return g}));var a=r("mrSG"),i=r("UdvX"),s=r("xT9B"),n=r("2vnA"),o=function(){function e(){this._giftCards=[],this._giftCardExtends=[],this._loyaltyAmount=0,this._guestCheckoutEmail="",this._isTermsAndConditionAccepted=!1,this._customerAccountAmount=0}return Object.defineProperty(e.prototype,"tokenizedPaymentCard",{get:function(){return this._tokenizedPaymentCard},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tenderLine",{get:function(){return this._tenderLine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"billingAddress",{get:function(){return this._billingAddress},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shippingAddress",{get:function(){return this._shippingAddress},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cardPrefix",{get:function(){return this._cardPrefix},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"giftCards",{get:function(){return this._giftCards},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"giftCardExtends",{get:function(){return this._giftCardExtends},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loyaltyCardNumber",{get:function(){return this._loyaltyCardNumber},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loyaltyAmount",{get:function(){return this._loyaltyAmount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"guestCheckoutEmail",{get:function(){return this._guestCheckoutEmail},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isTermsAndConditionAccepted",{get:function(){return this._isTermsAndConditionAccepted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"customerAccountAmount",{get:function(){return this._customerAccountAmount},enumerable:!0,configurable:!0}),e.prototype.updateTokenizedPaymentCard=function(e){this._tokenizedPaymentCard=e},e.prototype.updateTenderLine=function(e){this._tenderLine=e},e.prototype.updateShippingAddress=function(e){this._shippingAddress=e},e.prototype.updateBillingAddress=function(e){this._billingAddress=e},e.prototype.updateCardPrefix=function(e){this._cardPrefix=e},e.prototype.removeGiftCard=function(e){this._giftCards=this._giftCards.filter((function(t){return t.Id!==e}))},e.prototype.removeGiftCardExtend=function(e){this._giftCardExtends=this._giftCardExtends.filter((function(t){return t.Id!==e}))},e.prototype.addGiftCard=function(e){this._giftCards=Object(a.__spreadArrays)([e],this._giftCards)},e.prototype.addGiftCardExtend=function(e){this._giftCardExtends=Object(a.__spreadArrays)([e],this._giftCards)},e.prototype.updateLoyaltyCardNumber=function(e){this._loyaltyCardNumber=e},e.prototype.updateLoyaltyAmount=function(e){this._loyaltyAmount=e},e.prototype.updateGuestCheckoutEmail=function(e){this._guestCheckoutEmail=e},e.prototype.updateTermsAndConditionsAcceptance=function(e){this._isTermsAndConditionAccepted=e},e.prototype.updateCustomerAccountAmount=function(e){this._customerAccountAmount=e},Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Object)],e.prototype,"_tokenizedPaymentCard",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"tokenizedPaymentCard",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Object)],e.prototype,"_tenderLine",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"tenderLine",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Object)],e.prototype,"_billingAddress",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"billingAddress",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Object)],e.prototype,"_shippingAddress",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"shippingAddress",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",String)],e.prototype,"_cardPrefix",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"cardPrefix",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Array)],e.prototype,"_giftCards",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"giftCards",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Array)],e.prototype,"_giftCardExtends",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"giftCardExtends",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",String)],e.prototype,"_loyaltyCardNumber",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"loyaltyCardNumber",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Number)],e.prototype,"_loyaltyAmount",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"loyaltyAmount",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",String)],e.prototype,"_guestCheckoutEmail",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"guestCheckoutEmail",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Boolean)],e.prototype,"_isTermsAndConditionAccepted",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"isTermsAndConditionAccepted",null),Object(a.__decorate)([n.n,Object(a.__metadata)("design:type",Number)],e.prototype,"_customerAccountAmount",void 0),Object(a.__decorate)([n.e,Object(a.__metadata)("design:type",Object),Object(a.__metadata)("design:paramtypes",[])],e.prototype,"customerAccountAmount",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateTokenizedPaymentCard",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateTenderLine",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateShippingAddress",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateBillingAddress",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[String]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateCardPrefix",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[String]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"removeGiftCard",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[String]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"removeGiftCardExtend",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"addGiftCard",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Object]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"addGiftCardExtend",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[String]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateLoyaltyCardNumber",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Number]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateLoyaltyAmount",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[String]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateGuestCheckoutEmail",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Boolean]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateTermsAndConditionsAcceptance",null),Object(a.__decorate)([n.d,Object(a.__metadata)("design:type",Function),Object(a.__metadata)("design:paramtypes",[Number]),Object(a.__metadata)("design:returntype",void 0)],e.prototype,"updateCustomerAccountAmount",null),e}(),c=function(e){var t=this;this.getCacheKey=function(){return Object(i.buildCacheKey)("CheckoutState",t.apiSettings)},this.getCacheObjectType=function(){return"CheckoutState"},this.dataCacheType=function(){return"request"},this.apiSettings=e};Object(s.createObservableDataAction)({action:function(e,t){return Object(a.__awaiter)(this,void 0,void 0,(function(){return Object(a.__generator)(this,(function(e){return[2,new o]}))}))},input:function(e){return new c(e.requestContext.apiSettings)}});var l=function(){this.getCacheKey=function(){return"ModuleState"},this.getCacheObjectType=function(){return"ModuleState"},this.dataCacheType=function(){return"none"}};function d(e){var t=new l,r=e.get(t.getCacheObjectType(),t.getCacheKey());return r||(e.update(t,{}),r=e.get(t.getCacheObjectType(),t.getCacheKey()))}var u=r("s+su"),p=r.n(u),m=r("okNM"),h=r("cDcd"),g=function(e){return function(t){function r(e){var r=t.call(this,e)||this;return r.initializeState=function(){var e,t,i,s,n=r.props,o=n.id,c=n.typeName,u=n.context,p=d(u.actionContext);p?p[o]||(t=Object(a.__assign)(Object(a.__assign)({},p),((e={})[o]={id:o,typeName:c,hasInitialized:!1,hasError:!1,isRequired:!0,isCancellable:!0,isSubmitContainer:!1,status:void 0,childIds:[]},e)),i=u.actionContext,s=new l,i.update(s,t)):r.props.telemetry.error("withModuleState initializeState() - states not found")},r.getModuleStateManager=function(e){var t=r.get()[e];return Object(a.__assign)(Object(a.__assign)({},t),{hasInitialized:r.validate(e,{hasInitialized:!0},!0),hasError:r.validate(e,{hasError:!0}),isReady:r.validate(e,{status:"ready"},!0,!0),isUpdating:r.validate(e,{status:"updating"}),isPending:r.validate(e,{status:"pending"}),isSkipped:r.validate(e,{status:"skipped"},!0,!0),isDisabled:r.validate(e,{status:"disabled"},!0),isCancelAllowed:r.validate(e,{isCancellable:!0},!0,!0),shouldSubmitContainer:r.validate(e,{isSubmitContainer:!0}),hasExternalSubmitGroup:r.hasExternalSubmitGroup(),hasModuleState:r.hasModuleState(e),setIsRequired:function(t){return r.update(e,{isRequired:t})},setIsCancellable:function(t){return r.update(e,{isCancellable:t})},setIsSubmitContainer:function(t){return r.update(e,{isSubmitContainer:t})},setHasError:function(t){return r.update(e,{hasError:t})},onReady:function(){return r.update(e,{status:"ready"})},onUpdating:function(){return r.update(e,{status:"updating"})},onPending:function(){return r.update(e,{status:"pending"})},onSkip:function(){return r.update(e,{status:"skipped"})},onDisable:function(){return r.update(e,{status:"disabled"})},getModule:function(e){return r.getModuleStateManager(e)},getModuleByTypeName:function(e){return r.getModuleStateManagerByTypeName(e)},init:function(i){t.hasInitialized||r.update(e,Object(a.__assign)({hasInitialized:!0},i))}})},r.getModuleStateManagerByTypeName=function(e){var t=d(r.props.context.actionContext),a=Object.values(t).find((function(t){return t.typeName===e}));return r.getModuleStateManager(a&&a.id||"")},r.get=function(){return d(r.props.context.actionContext)},r.update=function(e,t){var i=r.get();i[e]?i[e]=Object(a.__assign)(Object(a.__assign)({},i[e]),t):r.props.telemetry.error("withModuleState update() - Module state with id "+e+" is not found.")},r._validateLeaf=function(e,t){var a=r.get()[e];return!!a&&p()(a,t)},r._validateContainer=function(e,t,a,i){var s=r.get()[e];if(!s)return!!a;if(i&&("disabled"===s.status||"skipped"===s.status))return!!a;if(!s.childIds||!s.childIds.length)return r._validateLeaf(e,t);var n=a?"every":"some";return s.childIds[n]((function(e){return r._validateContainer(e,t,a,i)}))},r.validate=function(e,t,a,i){var s=r.get()[e];return!!s&&(s.childIds&&s.childIds.length?r._validateContainer(e,t,a,i):r._validateLeaf(e,t))},r.hasExternalSubmitGroup=function(){return!!r.props.enableControl},r.hasModuleState=function(e){return!!r.get()[e]},r.initializeState(),r}return Object(a.__extends)(r,t),r.prototype.render=function(){var t=this.props.id;return h.createElement(e,Object(a.__assign)({},this.props,{moduleState:this.getModuleStateManager(t)}))},r=Object(a.__decorate)([m.a,Object(a.__metadata)("design:paramtypes",[Object])],r)}(h.Component)}},KPP9:function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=(r("y/s1"),r("LR6M"),r("ES/9"),r("9VTn"),r("TSYQ")),s=r.n(i),n=r("2vnA"),o=r("cDcd"),c=r("hBpL"),l=r("Hxoz"),d=r("xT9B"),u=(r("BDvt"),r("UdvX"));async function p(e,t,r,a){const i=new u.MediaLocationsForSelectedVariantInput(e,t);return Object(u.getMediaLocationsForSelectedVariant)(i,r).then(e=>e?Promise.all(e.map(e=>m(e,a))).then(e=>e.filter(e=>e[1]).map(e=>e[0])):[]).catch(e=>(r.telemetry.exception(e),r.telemetry.debug("Unable to get Media Locations for Selected Variant"),[]))}async function m(e,t){var r;const a={src:e.Uri||"",altText:e.AltText||""},i=(null===(r=t.viewports)||void 0===r?void 0:r.lg.q).replace(/['"]+/g,"");if(""===a.src)return[a,!1];const s=a.src+"&"+i;return new Promise(e=>{try{const t=new XMLHttpRequest;t.open("HEAD",s,!0),t.onload=()=>{e([a,200===t.status||201===t.status])},t.onerror=()=>{e([a,!1])},t.send()}catch(t){e([a,!1])}})}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function g(e){for(var t=1;t{this.setState({animating:!0})},this.onExited=()=>{this.setState({animating:!1})},this.next=()=>{if(void 0===this.isLastItem())return;const e=this.isLastItem()?0:this.state.activeIndex+1;this.goToIndex(e)},this.previous=()=>{const e=this.isFirstItem()?this.state.mediaGalleryItems?this.state.mediaGalleryItems.length-1:0:this.state.activeIndex-1;this.goToIndex(e)},this.goToIndex=e=>{this.setState({activeIndex:e})},this._getCarouselItem=(e,t,r)=>o.createElement(d.Image,Object.assign({className:"ms-media-gallery__item"},e,{gridSettings:this.props.context.request.gridSettings,imageSettings:t,loadFailureBehavior:"default",role:"tabpanel",id:`${this.props.id}__carousel-item__${r}`})),this._getThumbnailItem=(e,t,r,a)=>({ThumbnailItemContainerProps:{tag:"li",className:s()("ms-media-gallery__thumbnail-item",a===r?"ms-media-gallery__thumbnail-item-active":""),role:"tab",tabIndex:0,key:r,"aria-label":e.altText,"aria-selected":a===r,"aria-controls":`${this.props.id}__carousel-item__${r}`,onClick:this._generateOnThumbnailClick(r),onKeyDown:this._generateOnThumbnailKeyDown(r)},Picture:o.createElement(d.Image,Object.assign({className:"ms-media-gallery__thumbnail"},e,{gridSettings:this.props.context.request.gridSettings,imageSettings:t,loadFailureBehavior:"default"}))}),this._generateOnThumbnailKeyDown=e=>t=>{13!==t.which&&32!==t.which||(t.preventDefault(),this.goToIndex(e))},this._generateOnThumbnailClick=e=>t=>{t.preventDefault(),this.goToIndex(e)},this.isFirstItem=()=>0===this.state.activeIndex,this.isLastItem=()=>this.state.mediaGalleryItems&&this.state.activeIndex===this.state.mediaGalleryItems.length-1,this.openModalDialog=()=>{this._toggleModal()},this.imageModalSlider=e=>{const{data:{product:{result:t}},resources:r,config:a}=this.props;let i=this.state.mediaGalleryItems;!i&&t&&(i=[this._mapProductToImageData(t)]);const s=a.galleryImageSettings;s&&(s.cropFocalRegion=!0);const n={tag:c.e,className:"ms-media-gallery__carousel",items:i&&i.map((t,r)=>this._renderCarouselItemImageView(e,t,s||this.defaultGalleryImageSettings,r)),activeIndex:this.state.activeIndex,next:this.next,previous:this.previous,interval:!1,directionTextPrev:r.previousScreenshotFlipperText,directionTextNext:r.nextScreenshotFlipperText,onIndicatorsClickHandler:this.goToIndex,showPaginationTooltip:!0,hideIndicator:!0,handleOnExited:this.onExited,handleOnExiting:this.onExiting},d=o.createElement(c.e,Object.assign({},n)),u={modalIsOpen:this.state.modalIsOpen,ontoggle:this._toggleModal,galleryCarousel:d};return Object(l.ImagefullView)(u)},this._toggleModal=this._toggleModal.bind(this),this.state={activeIndex:0,animating:!1,mediaGalleryItems:void 0,isImageZoomed:!1,modalIsOpen:!1},this._onImageMouseOut=this._onImageMouseOut.bind(this),this._inlineZoomImageOnHover=this._inlineZoomImageOnHover.bind(this),this._onInlineImageClick=this._onInlineImageClick.bind(this),this._onContainerZoomImageClick=this._onContainerZoomImageClick.bind(this),this._onMouseOutLensContainer=this._onMouseOutLensContainer.bind(this)}async componentDidMount(){const e=this.props.config.imageSource||"pageContext",t=this.props.config.images||[];if("pageContext"===e&&Object(n.o)(()=>this.props.data.product.result?this.props.data.product.result.RecordId:null,async()=>{if(this.props.data.product.result){const e=await p(this.props.data.product.result.RecordId,+this.props.context.request.apiSettings.channelId,this.props.context.actionContext,this.props.config.thumbnailImageSettings||this.defaultThumbnailImageSettings);this.setState({mediaGalleryItems:[...e,...t],activeIndex:0,lastUpdate:Date.now()})}else this.setState({mediaGalleryItems:[...t],activeIndex:0,lastUpdate:Date.now()})}),"productId"===e&&this.props.data.mediaLocations.result){const e=await async function(e,t,r){return Promise.all(e.map(e=>m(e,r))).then(e=>e.filter(e=>e[1]).map(e=>e[0])).catch(e=>(t.telemetry.exception(e),t.telemetry.debug("Unable to validate prodcut images"),[]))}(this.props.data.mediaLocations.result,this.props.context.actionContext,this.props.config.thumbnailImageSettings||this.defaultThumbnailImageSettings);this.setState({mediaGalleryItems:[...e,...t],activeIndex:0,lastUpdate:Date.now()})}else if("pageContext"===e&&this.props.data.product.result){const e=await p(this.props.data.product.result.RecordId,+this.props.context.request.apiSettings.channelId,this.props.context.actionContext,this.props.config.thumbnailImageSettings||this.defaultThumbnailImageSettings);this.setState({mediaGalleryItems:[...e,...t],activeIndex:0,lastUpdate:Date.now()})}else this.setState({mediaGalleryItems:[...t],activeIndex:0,lastUpdate:Date.now()})}render(){const{id:e,config:t,resources:r}=this.props,a=this.state.mediaGalleryItems,{className:i,showPaginationTooltip:n}=t,o=t.galleryImageSettings;o&&(o.cropFocalRegion=!0);const d=t.thumbnailImageSettings;d&&(d.cropFocalRegion=!0);const u="vertical"===t.thumbnailsOrientation,p=t.allowFullScreen||!1,m="inline"===t.imageZoom?"inline":"container"===t.imageZoom?"container":"",h=p?"fullscreen":m,y=g(g({},this.props),{},{state:this.state,MediaGallery:{moduleProps:this.props,className:s()("ms-media-gallery "+(u?"vertical":""),i)},Modal:p?this.imageModalSlider(m):null,CarouselProps:{tag:c.e,className:"ms-media-gallery__carousel",items:a&&a.map((e,t)=>this._renderCarouselItemImageView(h,e,o||this.defaultGalleryImageSettings,t)),activeIndex:this.state.activeIndex,next:this.next,previous:this.previous,interval:!1,directionTextPrev:r.previousScreenshotFlipperText,directionTextNext:r.nextScreenshotFlipperText,onIndicatorsClickHandler:this.goToIndex,showPaginationTooltip:!0===n,handleOnExited:this.onExited,handleOnExiting:this.onExiting,key:this.state.lastUpdate},Thumbnails:{ThumbnailsContainerProps:{className:"ms-media-gallery__thumbnails-container"},SingleSlideCarouselComponentProps:{tag:l.SingleSlideCarousel,className:"ms-media-gallery__thumbnails",vertical:u,flipperPrevLabel:r.previousScreenshotFlipperText,flipperNextLabel:r.nextScreenshotFlipperText,parentId:e,useTabList:!0,key:this.state.lastUpdate},items:a&&a.map((e,t)=>this._getThumbnailItem(e,d||this.defaultThumbnailImageSettings,t,this.state.activeIndex))}});return this.props.renderView(y)}_renderCarouselItemImageView(e,t,r,a){return"container"===e?this._renderImageInContainerOnZoom(t,r,a):"inline"===e?this._renderImageInlineOnZoom(t,r,a):"fullscreen"===e?this._renderImageFullScreenOnZoom(t,r,a):o.createElement(o.Fragment,null,this._getCarouselItem(t,r,a))}_renderImageInlineOnZoom(e,t,r){return o.createElement("div",{className:"ms-inline-zoom "+(this.state.isImageZoomed?"zoomed":""),ref:e=>this._inlineZoomDivRef.set(r,e),"data-scale":this.props.config.dataScale},o.createElement(d.Image,Object.assign({className:"ms-media-gallery__item"},e,{gridSettings:this.props.context.request.gridSettings,imageSettings:t,loadFailureBehavior:"default",role:"tabpanel",onClick:this._onInlineImageClick,onMouseOver:this.state.isImageZoomed&&this._inlineZoomImageOnHover||void 0,id:`${this.props.id}__carousel-item__${r}`})),o.createElement(d.Image,Object.assign({role:"presentation",className:"ms-inline-zoom__zoomedImg"},e,{onClick:this._onImageMouseOut,gridSettings:this.props.context.request.gridSettings,imageSettings:t,loadFailureBehavior:"default",id:`${this.props.id}__zoom__${r}`,onMouseMove:this.state.isImageZoomed&&l.inlineZoomImageOnMouseMove||void 0})))}_inlineZoomImageOnHover(e){Object(l.inlineZoomImageOnHover)(e,this.props.config.dataScale)}_onInlineImageClick(e){window.innerWidth<=768||(Object(l.inlineZoomInit)(e,this.props.config.dataScale),this.setState({isImageZoomed:!0}))}_onImageMouseOut(e){Object(l.inlineZoomImageOnMouseOut)(e),this.setState({isImageZoomed:!1})}_onContainerZoomImageClick(e){window.innerWidth<=768||(Object(l.onContainerZoomInit)(e),this.setState({isImageZoomed:!0}))}_onMouseOutLensContainer(e){Object(l.onMouseOutLensContainer)(e),this.setState({isImageZoomed:!1})}_renderImageInContainerOnZoom(e,t,r){return o.createElement("div",{className:"ms-containerZoom__container"},o.createElement("div",{className:"ms-containerZoom__zoom-lens",role:"presentation",onMouseOut:this._onMouseOutLensContainer,onClick:this._onMouseOutLensContainer,onMouseMove:this.state.isImageZoomed&&l.onMouseMoveLensContainer||void 0}),o.createElement(d.Image,Object.assign({className:"ms-media-gallery__item"},e,{gridSettings:this.props.context.request.gridSettings,onClick:this._onContainerZoomImageClick,imageSettings:t,loadFailureBehavior:"default",onMouseOver:this.state.isImageZoomed&&l.onMouseOverImageContainer||void 0,id:`${this.props.id}__carousel-item__${r}`})))}_renderImageFullScreenOnZoom(e,t,r){return o.createElement("div",{className:"ms-fullscreen-section"},o.createElement(d.Image,Object.assign({className:"ms-media-gallery__item"},e,{gridSettings:this.props.context.request.gridSettings,imageSettings:t,loadFailureBehavior:"default",role:"tabpanel"})),o.createElement("div",{className:"ms-fullscreen-section__overlay"},o.createElement("a",{href:"javascript:void(0);",title:this.props.resources.fullScreenTitleText,role:"button",onClick:this.openModalDialog,className:"ms-fullscreen-section__magnifying-glass-icon"})))}_mapProductToImageData(e){return{src:e.PrimaryImageUrl||""}}_toggleModal(){if(this.state.modalIsOpen){const e=this._inlineZoomDivRef.get(this.state.activeIndex);if(e&&e.children&&e.children.length>=2){const t=e.children[1].querySelector("img");t&&t.removeAttribute("style")}this.setState({isImageZoomed:!1})}this.setState({isImageZoomed:!1,modalIsOpen:!this.state.modalIsOpen}),Object(l.removeInlineZoomStyle)()}}t.default=y},M9ds:function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=(r("ES/9"),r("y/s1"),r("UdvX")),s=r("Hxoz"),n=r("TSYQ"),o=r.n(n),c=r("cDcd"),l=(r("BDvt"),r("HBRN"),r("LR6M"),r("WVYb"),r("hBpL")),d=r("xT9B");function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e,t,r,i,s,n,o){if("EMPTYINPUT"===e.failureReason)return r.addedToCartFailureMessage;if("CARTACTIONFAILED"===e.failureReason){if(e.cartActionResult&&"MAXQUANTITY"===e.cartActionResult.substatus){let e=-1;const l=null==s?void 0:s.RecordId;for(let r=0;r{a[e.DimensionTypeValue]=function(e,t,r){switch(e){case 1:return t.productDimensionTypeColorErrorMessage;case 2:return t.productDimensionTypeConfigurationErrorMessage;case 3:return t.productDimensionTypeSizeErrorMessage;case 4:return r?t.productDimensionTypeAmountErrorMessage:t.productDimensionTypeStyleErrorMessage;default:return""}}(e.DimensionTypeValue,t,r)}),a}function h(e){const{data:{productAvailableQuantity:{result:t}}}=e;if(t&&t.length&&t&&t.length&&t[0].StockLevelLabel){const e=t[0].StockLevelCode?"ms-buybox__inventory-label ms-buybox__inventory-code-"+t[0].StockLevelCode.toLowerCase():"ms-buybox__inventory-label";return c.createElement("div",{className:"ms-buybox__inventory-info"},c.createElement("span",{className:e},t[0].StockLevelLabel))}}function g(e){const{data:{product:{result:t}},config:{titleHeadingTag:r="h1"}}=e;return t&&c.createElement(s.Heading,{className:"ms-buybox__product-title",headingTag:r,text:t.Name||""})}function y(e){const{data:{product:{result:t}}}=e;return t&&c.createElement("p",{className:"ms-buybox__product-description"},t.Description)}let b;function f(e,t,r,a,n){var o,u,h;const{id:g,typeName:y,context:f,data:{cart:{result:v},product:{result:C},productAvailableQuantity:{result:_}},resources:O,config:{minimumKeyInPrice:x,maximumKeyInPrice:S}}=e,{quantity:E,errorState:{configureErrors:w,quantityError:T,customAmountError:P,otherError:I,errorHost:k},selectedProduct:j,isUpdatingDimension:L,isUpdatingDeliveryOptions:D,isServiceItem:A,keyInPriceAmount:M}=t,B=t.productAvailableQuantity?t.productAvailableQuantity.ProductAvailableQuantity:_&&_.length?_[0].ProductAvailableQuantity:void 0,F={goToCartText:O.buyBoxGoToCartText,continueShoppingText:O.buyBoxContinueShoppingText,headerItemOneText:O.buyBoxSingleItemText,headerItemFormatText:O.buyBoxMultiLineItemFormatText,headerMessageText:O.buyBoxHeaderMessageText,freePriceText:O.priceFree,originalPriceText:O.originalPriceText,currentPriceText:O.currentPriceText},U={viewports:{xs:{q:"w=240&h=240&m=6",w:0,h:0},lg:{q:"w=240&h=240&m=6",w:0,h:0},xl:{q:"w=240&h=240&m=6",w:0,h:0}},lazyload:!0},q="LOADING"===e.data.productAvailableQuantity.status;q&&r.changeUpdatingDimension(!1);const G="quickview"!==y&&"LOADING"===(null===(o=e.data.deliveryOptions)||void 0===o?void 0:o.status);G&&r.changeUpdatingDeliveryOptions&&r.changeUpdatingDeliveryOptions(!1),b=Object(s.getTelemetryObject)(e.context.request.telemetryPageName,e.friendlyName,e.telemetry);const H=null===(u=e.context.actionContext.requestContext.channel)||void 0===u?void 0:u.EmailDeliveryModeCode,V=null===(h=e.data.deliveryOptions)||void 0===h?void 0:h.result,Q=V&&V.DeliveryOptions&&i.ArrayExtensions.hasElements(V.DeliveryOptions)&&V.DeliveryOptions[0].Code===H;return{ContainerProps:{className:"ms-buybox__add-to-cart-container"},button:C&&c.createElement(l.b,{addToCartText:O.addToCartText,outOfStockText:O.outOfStockText,navigationUrl:Object(d.getUrlSync)("cart",f.actionContext),quantity:E,data:{product:C,price:t.productPrice},context:f,id:g,typeName:y,onError:t=>{let i,s,o=p(t,v,O,f,C,B,void 0);if("OUTOFSTOCK"===t.failureReason?i="OUTOFSTOCK"===t.failureReason?function(e,t){return!e||e<=0?t.errorMessageOutOfStock:1===e?t.errorMessageOutOfRangeOneLeft:t.errorMessageOutOfRangeFormat.replace("{numLeft}",e.toString())}(t.stockLeft,O):void 0:"CARTACTIONFAILED"!==t.failureReason||!t.cartActionResult||"MAXQUANTITY"!==t.cartActionResult.substatus&&"QUANTITYLIMITS"!==t.cartActionResult.substatus||(i=p(t,v,O,f,C,B,void 0),o=void 0),"INVALIDCUSTOMAMOUNT"===t.failureReason)if(void 0===M||M<(x||a)){const t=e.context.cultureFormatter.formatCurrency(x||a);s=O.invalidSmallCustomAmountText.replace("{minAmount}",t)}else if(M>(S||n)){const t=e.context.cultureFormatter.formatCurrency(S||n);s=O.invalidLargeCustomAmountText.replace("{maxAmount}",t)}r.updateErrorState({errorHost:"ADDTOCART",quantityError:i,configureErrors:"MISSINGDIMENSION"===t.failureReason?m(t.missingDimensions,O,null==C?void 0:C.IsGiftCard):{},customAmountError:s,otherError:o})},getSelectedProduct:j,productAvailability:B,isLoading:q,isUpdatingDimension:L,changeUpdatingDimension:r.changeUpdatingDimension,isLoadingDeliveryOptions:G,isUpdatingDeliveryOptions:D,changeUpdatingDeliveryOptions:r.changeUpdatingDeliveryOptions,dialogStrings:F,gridSettings:e.context.request.gridSettings,imageSettings:U,telemetryContent:b,isAddServiceItemToCart:A,isPriceKeyedIn:t.isPriceKeyedIn,customPriceAmount:t.keyInPriceAmount,isCustomPriceSelected:t.isCustomPriceSelected,maximumKeyInPrice:e.config.maximumKeyInPrice,minimumKeyInPrice:e.config.minimumKeyInPrice,defaultMinimumKeyInPrice:a,defaultMaximumKeyInPrice:n,isOrderQuantityLimitsFeatureEnabled:R(e),isAddEmailDeliveryItemToCart:Q}),errorBlock:c.createElement(N,{configureErrors:w,quantityError:T,customAmountError:P,otherError:I,resources:O,showError:"ADDTOCART"===k})}}function v(e,t){const{id:r,typeName:a,context:i,resources:s}=e;return t.productPrice&&c.createElement(l.k,{id:r,typeName:a,context:i,data:{price:t.productPrice},freePriceText:s.priceFree,originalPriceText:s.originalPriceText,currentPriceText:s.currentPriceText})}function C(e){const{id:t,typeName:r,context:a,data:{ratingsSummary:{result:i}},resources:n}=e,o=i&&i.averageRating&&c.createElement(l.n,{avgRating:i.averageRating||0,readOnly:!0,ariaLabel:Object(s.format)(n.averageRatingAriaLabel,i.averageRating,"5"),ratingCount:""+i.reviewsCount,data:{},context:a,id:t,typeName:r})||void 0;return i&&o&&o}function _(e){return{addToOrderTemplateHeader:e.addToOrderTemplateHeader,noOrderTemplatesMessage:e.noOrderTemplatesMessage,noOrderTemplatesDescription:e.noOrderTemplatesDescription,createAnOrderTemplateButtonText:e.createAnOrderTemplateButtonText,createNewOrderTemplateButtonText:e.createNewOrderTemplateButtonText,cancelOrderTemplateCreationButtonText:e.cancelOrderTemplateCreationButtonText,selectTemplatesText:e.selectTemplatesText,addToTemplateButtonText:e.addToTemplateButtonText,lineItemsText:e.lineItemsText}}function O(e){return{orderTemplateHeaderLabel:e.createOrderTemplateHeader,orderTemplateTitleLabel:e.orderTemplateTitle,orderTemplateNameAriaLabel:e.orderTemplateNameAriaLabel,orderTemplateDescription:e.createOrderTemplateDescription,defaultOrderTemplateName:e.defaultOrderTemplateName,orderTemplateButtonLabel:e.createOrderTemplateButtonText,orderTemplateCancelButtonLabel:e.cancelNewOrderTemplateCreationButtonText}}function x(e){return{viewOrderTemplateButtonText:e.viewOrderTemplateButtonText,continueShoppingButtonText:e.continueShoppingButtonText,itemAddedToOrderTemplateHeaderItemOneText:e.itemAddedToOrderTemplateHeaderItemOneText,itemAddedToOrderTemplateHeaderItemFormatText:e.itemAddedToOrderTemplateHeaderItemFormatText,itemAddedToOrderTemplateHeaderMessageText:e.itemAddedToOrderTemplateHeaderMessageText,freePriceText:e.priceFree,originalPriceText:e.originalPriceText,currentPriceText:e.currentPriceText}}function S(e){return{duplicatedProductsHeader:e.duplicatedProductsHeader,duplicatedProductsDescription:e.duplicatedProductsDescription,updateQuantityButtonText:e.updateQuantityButtonText,cancelDuplicateItemsButtonText:e.cancelDuplicateItemsButtonText}}function E(e,t,r){const{id:a,typeName:i,context:s,data:{product:{result:n},orderTemplates:{result:o},customerInformation:{result:d}},resources:u}=e,{errorState:{configureErrors:p,quantityError:h,customAmountError:g,otherError:y,errorHost:b},quantity:f}=t;if(t.isCustomPriceSelected)return;return{ContainerProps:{className:"ms-buybox__add-to-order-template-container"},button:n&&o&&c.createElement(l.c,{className:"msc-add-to-cart-extra-actions",addToOrderTemplateButtonText:u.addToOrderTemplateButtonText,addToOrderTemplateDialogResources:_(u),createOrderTemplateDialogResources:O(u),itemAddedToOrderTemplateDialogResources:x(u),duplicateItemsWhenAddingToOrderTemplateDialogResources:S(u),data:{product:n,quantity:f,orderTemplates:o,customerInformation:d},context:s,id:a,typeName:i,onError:e=>{r.updateErrorState({errorHost:"ORDER_TEMPLATE",configureErrors:"MISSING_DIMENSION"===e.status?m(e.missingDimensions,u,null==n?void 0:n.IsGiftCard):{}})}}),errorBlock:c.createElement(N,{configureErrors:p,quantityError:h,customAmountError:g,otherError:y,resources:u,showError:"ORDER_TEMPLATE"===b})}}function w(e,t,r){const{id:a,typeName:i,context:s,data:{product:{result:n},wishlists:{result:o}},resources:d}=e,{errorState:{configureErrors:u,quantityError:p,customAmountError:h,otherError:g,errorHost:y},selectedProduct:b}=t;if(t.isCustomPriceSelected)return;return{ContainerProps:{className:"ms-buybox__add-to-wishlist-container"},button:n&&c.createElement(l.d,{className:"msc-add-to-cart-extra-actions",addToWishlistButtonText:d.addToWishlistButtonText,removeFromWishlistButtonText:d.removeFromWishlistButtonText,addToWishlistMessage:d.addToWishlistMessage,removedFromWishlistMessage:d.removedFromWishlistMessage,addItemToWishlistError:d.addItemToWishlistError,removeItemFromWishlistError:d.removeItemFromWishlistError,nameOfWishlist:d.nameOfWishlist,data:{product:n,wishlists:o},context:s,id:a,typeName:i,onError:e=>{r.updateErrorState({errorHost:"WISHLIST",configureErrors:"MISSINGDIMENSION"===e.status?m(e.missingDimensions,d,null==n?void 0:n.IsGiftCard):{}})},getSelectedProduct:b}),errorBlock:c.createElement(N,{configureErrors:u,quantityError:p,customAmountError:h,otherError:g,resources:d,showError:"WISHLIST"===y})}}function T(e,t,r){const{resources:a}=e,{quantity:i,max:n,errorState:{quantityError:o}}=t;return{ContainerProps:{className:"ms-buybox__quantity"},LabelContainerProps:{tag:"label",className:"ms-buybox__product-quantity-label",htmlFor:"ms-buybox__product-quantity-input"},heading:c.createElement("div",{className:"ms-buybox__product-quantity-label-heading"},a.productQuantityHeading),errors:o&&c.createElement("span",{className:"msc-alert msc-alert-noborder msc-alert-danger"},c.createElement("span",{className:"msi-exclamation-triangle","aria-hidden":"true"}),c.createElement("span",null,o)),input:c.createElement(s.Quantity,{id:"ms-buybox__product-quantity-input",max:n,currentCount:i,onChange:e=>{r.updateQuantity&&r.updateQuantity(e)},inputQuantityAriaLabel:a.inputQuantityAriaLabel,telemetryContent:b})}}function P(e,t,r){const{resources:a,context:i,data:{product:{result:n}}}=e,{errorState:{}}=t,o=Object(s.getPayloadObject)("click",b,s.TelemetryConstant.ShopSimliarLooks),l=Object(s.getTelemetryAttributes)(b,o);return{ContainerProps:{className:"ms-buybox__shopsimilarlooks"},input:c.createElement(s.Button,Object.assign({title:a.shopSimilarLooksText,className:"ms-buybox__shop-similar-looks-button","aria-label":a.shopSimilarLooksText,onClick:()=>{const e=Object(d.getUrlSync)("search",i&&i.actionContext),t=e.includes("?")?"&":"?";document.location.href=`${e}${t}productId=${n&&n.RecordId}`}},l),a.shopSimilarLooksText)}}function I(e,t,r){const{config:a,resources:i}=e,{errorState:{}}=t;return{ContainerProps:{className:"ms-buybox__key_in_price"},LabelContainerProps:{tag:"label",className:"ms-buybox__key_in_price-label",htmlFor:"ms-buybox__key_in_price"},heading:c.createElement("div",{className:"ms-buybox__key_in_price-label-heading"},i.buyboxKeyInPriceLabelHeading),input:c.createElement("input",{type:"number",className:"ms-buybox__key_in_price_custom-amount__input",onChange:e=>{const t=e.currentTarget.value;r.updateKeyInPrice(t.length?Number(t):parseFloat(t))},"aria-label":i.buyboxKeyInPriceLabelHeading,"aria-valuemin":a.minimumKeyInPrice,"aria-valuemax":a.minimumKeyInPrice,"aria-valuenow":t.keyInPriceAmount,value:t.keyInPriceAmount,min:a.minimumKeyInPrice,max:a.minimumKeyInPrice})}}const N=e=>{let{showError:t,configureErrors:r,quantityError:a,customAmountError:i,otherError:n,resources:o}=e,l=[];return l=Object.values(r).filter(e=>void 0!==e),a&&l.push(a),i&&l.push(i),n&&l.push(n),c.createElement(s.Alert,{isOpen:t&&l.length>0,color:"danger",assertive:!0,"aria-label":o.buyboxErrorMessageHeader},c.createElement("div",{className:"msc-alert__header","aria-hidden":"true"},c.createElement("span",{className:"msi-exclamation-triangle"}),c.createElement("span",null,o.buyboxErrorMessageHeader)),l.map((e,t)=>c.createElement("div",{key:t,className:"msc-alert__line"},e)))};function k(e,t){const{resources:r}=e,{min:a,max:i}=t;if(R(e))return c.createElement(s.Node,{className:"quantity_text_message"},j(i,r.maxQuantityText),L(a,r.minQuantityText))}const j=(e,t)=>e&&0!==e&&e!==Number.MAX_VALUE?c.createElement("p",{className:"ms-buybox__minmax_label_text"},t.replace("{max}",e.toString())):void 0,L=(e,t)=>e&&e>1?c.createElement("p",{className:"ms-buybox__minmax_label_text"},t.replace("{min}",e.toString())):void 0,R=e=>{var t,r,a,i,s,n;if(!(null===(t=e.data.featureState.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature"===e.Name))||void 0===r?void 0:r.IsEnabled))return!1;const o=null===(a=e.context)||void 0===a||null===(i=a.request)||void 0===i||null===(s=i.app)||void 0===s||null===(n=s.platform)||void 0===n?void 0:n.enableDefaultOrderQuantityLimits;if("none"===o)return!1;if("all"===o)return!0;const c=e.data.customerInformation.result;return c&&("b2b"===o&&c.IsB2b||"b2c"===o&&!c.IsB2b)};function D(e,t,r){var a,i,n,o,u,h,g,y,b,f;const{data:v,slots:{storeSelector:C},resources:{priceFree:_,originalPriceText:O,currentPriceText:x,findInStoreHeaderText:S,findInStoreDescriptionText:E,findInStoreLinkText:w,buyBoxGoToCartText:T,buyBoxContinueShoppingText:P,buyBoxSingleItemText:I,buyBoxMultiLineItemFormatText:k,buyBoxHeaderMessageText:j,descriptionTextToShowAllPickupOptions:L},context:{request:{channel:{PickupDeliveryModeCode:R}={PickupDeliveryModeCode:void 0}}}}=e,D=null==v||null===(a=v.product)||void 0===a?void 0:a.result,A=null==v||null===(i=v.productPrice)||void 0===i?void 0:i.result,M=null==v||null===(n=v.storeSelectorStateManager)||void 0===n?void 0:n.result,B=null==v||null===(o=v.cart)||void 0===o?void 0:o.result,F=null==v||null===(u=v.deliveryOptions)||void 0===u?void 0:u.result,U=null==v||null===(h=v.featureState)||void 0===h||null===(g=h.result)||void 0===g||null===(y=g.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===y?void 0:y.IsEnabled,{errorState:{configureErrors:q,quantityError:G,otherError:H,errorHost:V},modalOpen:Q,quantity:$}=t,z=()=>async function(e,t,r){var a,i,s,n;const{data:{storeSelectorStateManager:{result:o},cart:{result:c},productAvailableQuantity:{result:l}},resources:u,context:h,modules:g}=e,{selectedProduct:y,quantity:b}=t;let f=e.data.product.result;const v=null===(a=e.data)||void 0===a||null===(i=a.featureState)||void 0===i||null===(s=i.result)||void 0===s||null===(n=s.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===n?void 0:n.IsEnabled;y&&(f=await y||f);if(!f||!o)return;const C=f,_=C.Dimensions&&C.Dimensions.filter(e=>!(e.DimensionValue&&e.DimensionValue.Value));let O="";g&&Object.keys(g).length>0&&g.storeSelector&&g.storeSelector.length>0&&(O=g.storeSelector[0].id);_&&_.length>0?r.updateErrorState&&r.updateErrorState({errorHost:"FINDINSTORE",configureErrors:m(_,u)}):o.openDialog({product:C,id:O,deliveryOptions:v?e.data.deliveryOptions.result:void 0,onLocationSelected:(a,i)=>{var s,n,o;if(!c)return Promise.resolve();const m=null===(s=e.context)||void 0===s||null===(n=s.app)||void 0===n||null===(o=n.config)||void 0===o?void 0:o.addToCartBehavior;return c.addProductToCart({product:C,count:b,location:a,deliveryMode:i}).then(e=>{if("FAILED"===e.status&&"MAXQUANTITY"===e.substatus){r.changeModalOpen(!1);const i=t.productAvailableQuantity?t.productAvailableQuantity.ProductAvailableQuantity:l&&l.length?l[0].ProductAvailableQuantity:void 0,s={failureReason:"CARTACTIONFAILED",cartActionResult:{status:e.status,substatus:e.substatus}};r.updateErrorState({errorHost:"ADDTOCART",configureErrors:{},otherError:p(s,c,u,h,C,i,a)})}else if(void 0===m||"goToCart"===m){const t=Object(d.getUrlSync)("cart",h.actionContext);"SUCCESS"===e.status&&t&&window.location.assign(t)}else"showModal"===m&&(r.updateErrorState({configureErrors:{}}),r.changeModalOpen(!0))}).catch(t=>{e.telemetry&&(e.telemetry.exception(t),e.telemetry.debug("Unable to add product to cart"))})}}).catch(t=>{e.telemetry&&(e.telemetry.error(t.message),e.telemetry.debug("Unable to find in store"))});return}(e,t,r);if(!D||!M||0===C.length)return;if(!(F&&F.DeliveryOptions&&R&&F.DeliveryOptions.find(e=>e.Code===R)))return;const W={goToCartText:T,continueShoppingText:P,headerItemOneText:I,headerItemFormatText:k,headerMessageText:j,freePriceText:_,originalPriceText:O,currentPriceText:x},Z=A?c.createElement(l.k,{data:{price:A},context:e.context,id:e.id,typeName:e.typeName,freePriceText:W.freePriceText,originalPriceText:W.originalPriceText,currentPriceText:W.currentPriceText}):"",K={viewports:{xs:{q:"w=240&h=240&m=6",w:0,h:0},lg:{q:"w=240&h=240&m=6",w:0,h:0},xl:{q:"w=240&h=240&m=6",w:0,h:0}},lazyload:!0},Y={context:e.context,className:"ms-buybox",id:e.id,typeName:e.typeName,data:{product:null===(b=e.data.product)||void 0===b?void 0:b.result,price:null===(f=e.data.productPrice)||void 0===f?void 0:f.result},dialogStrings:W,imageSettings:K,gridSettings:e.context.request.gridSettings,productQuantity:$,priceComponent:Z,navigationUrl:Object(d.getUrlSync)("cart",e.context.actionContext),modalOpen:Q,setModalOpen:r.changeModalOpen},X=c.createElement(s.Popup,Object.assign({},Y));return{ContainerProps:{className:"ms-buybox__find-in-store"},storeSelector:C[0],openFindInStoreDialog:z,heading:c.createElement(s.Heading,{className:"ms-buybox__find-in-store-heading",headingTag:"h4",text:S}),description:c.createElement("p",{className:"ms-buybox__find-in-store-description"},E),productPickupOptionList:U?c.createElement(c.Fragment,null,c.createElement("p",{className:"ms-buybox__find-in-store-description"},L),c.createElement("ul",{role:"menu",className:"ms-buybox__find-in-store-pickup"},F.DeliveryOptions.map(e=>c.createElement("li",{role:"presentation",className:"ms-buybox__find-in-store-pickup-option",key:e.Code},e.Description)))):null,errors:c.createElement(N,{configureErrors:q,quantityError:G,otherError:H,resources:e.resources,showError:"FINDINSTORE"===V}),button:c.createElement("button",{className:"ms-buybox__find-in-store-button",onClick:z,color:"secondary","aria-label":w,disabled:void 0===B},w),modal:X}}class A extends c.PureComponent{constructor(e,t){super(e),this.selectMenu=c.createRef(),this._onChanged=async e=>{this.setState({selectedIndex:e.target.value}),this.props.onChange&&await this.props.onChange({dropdownId:this.props.dropdownId,selectId:e.target.value,selectedValue:e.target.innerText})},this.state={selectedIndex:""},this.payLoad=Object(s.getPayloadObject)("click",e.telemetryContent,this.props.dropdownName)}componentDidMount(){this.selectMenu.current&&(this.selectMenu.current.selectedIndex=0)}render(){const{dropdownId:e,dropdownList:t,dropdownName:r,dropdownToggleName:a}=this.props,i=Object(s.getTelemetryAttributes)(this.props.telemetryContent,this.payLoad);return c.createElement("select",Object.assign({id:"msc-dropdown__entry-"+e,ref:this.selectMenu,"aria-label":r,className:"msc-dropdown__select",onChange:this._onChanged},i),c.createElement("option",{value:"","aria-selected":""===this.state.selectedIndex,selected:""===this.state.selectedIndex,hidden:!0,disabled:!0},a),t.map(e=>e&&c.createElement("option",{value:e.id,key:e.id,selected:this.state.selectedIndex===e.id.toString(),"aria-selected":this.state.selectedIndex===e.id.toString()},e.value)))}}let M;function B(e,t,r){const{data:{product:{result:a},productDimensions:{result:i}},resources:n}=e,{errorState:{configureErrors:o}}=t,{getDropdownName:c}=r;if(!a||!i)return;const l=async e=>F(e,r.dimensionSelectedAsync);M=Object(s.getTelemetryObject)(e.context.request.telemetryPageName,e.friendlyName,e.telemetry);const d=i.map(e=>U(e,n,o,c,l));return d&&0!==d.length?{ContainerProps:{className:"ms-buybox__configure"},dropdowns:d}:void 0}const F=async(e,t)=>{await t(+e.dropdownId,e.selectId)},U=(e,t,r,a,i)=>{const s=a(e.DimensionTypeValue,t),n=e.DimensionTypeValue.toString(),o=t.selectDimensionFormatString.replace("{0}",s.toLocaleLowerCase()),l=e.DimensionValues?e.DimensionValues.map(e=>({value:e.Value||"",id:e.RecordId.toString()})):[],d=r[n];return{ContainerProps:{className:"ms-buybox__dropdown"},LabelContainerProps:{tag:"label",className:"ms-buybox__dropdown-quantity-label",htmlFor:"ms-buybox__dropown-quantity-input-"+n},errors:d&&c.createElement("span",{className:"msc-alert msc-alert-noborder msc-alert-danger"},c.createElement("span",{className:"msi-exclamation-triangle","aria-hidden":"true"}),c.createElement("span",null,d)),heading:c.createElement("div",null,s),select:c.createElement(A,{dropdownId:n,dropdownName:s,dropdownToggleName:o,dropdownList:l,onChange:i,telemetryContent:M})}};function q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function G(e){for(var t=1;t{const t=G({},this.state.errorState);return t.quantityError=void 0,t.otherError=void 0,this.setState({quantity:e,errorState:t}),!0},updateErrorState:e=>{this.setState({errorState:e})},updateSelectedProduct:(e,t,r,a)=>{this.setState({selectedProduct:e,productAvailableQuantity:t,productDeliveryOptions:a}),this._updatePrice(r)},dimensionSelectedAsync:(e,t)=>(this.dimensions[e]=t,this.dimensionUpdateQueue.enqueue(()=>this._updateDimensions()).catch(e=>{if(e!==i.FinitePromiseQueueError.ProcessWasDiscardedFromTheQueue)throw e})),getDropdownName:(e,t)=>this._getDropdownName(e,t),changeModalOpen:e=>{this.setState({modalOpen:e})},changeUpdatingDimension:e=>{this.setState({isUpdatingDimension:e})},changeUpdatingDeliveryOptions:e=>{this.setState({isUpdatingDeliveryOptions:e})},updateKeyInPrice:e=>{const t=G({},this.state.errorState);t.customAmountError=void 0,this.setState({isPriceKeyedIn:!0,keyInPriceAmount:e,errorState:t}),this._updatePrice(this.state.productPrice,e)}},this._updateDimensions=async()=>{const{data:{product:{result:e},productDimensions:{result:t}},context:{actionContext:r,request:{apiSettings:{channelId:a}}}}=this.props;if(!e||!t)return;const s=G({},this.dimensions);if(this.setState({isUpdatingDimension:!0,isUpdatingDeliveryOptions:!0}),this.state.errorState.otherError){const e=G({},this.state.errorState);e.otherError=void 0,this.setState({errorState:e})}for(const i of Object.keys(s))if(this.state.errorState.configureErrors[i]){const e=G({},this.state.errorState);e.configureErrors[i]=void 0,this.setState({errorState:e})}const n=t.map(e=>({DimensionTypeValue:e.DimensionTypeValue,DimensionValue:this._updateDimensionValue(e,s[e.DimensionTypeValue])||e.DimensionValue,ExtensionProperties:e.ExtensionProperties})).filter(e=>e&&e.DimensionValue),o=new Promise(async(t,s)=>{const o=await Object(i.getSelectedVariant)(new i.SelectedVariantInput(e.MasterProductId?e.MasterProductId:e.RecordId,a,n),r);o&&await Object(i.getDimensionsForSelectedVariant)(new i.GetDimensionsForSelectedVariantInput(o.MasterProductId?o.MasterProductId:o.RecordId,a,n),r),t(o)});this.setState({selectedProduct:o});const c=await o;if(c){var l;const e=await Object(i.getProductAvailabilitiesForSelectedVariant)(new i.ProductAvailabilitiesForSelectedVariantInput(c.RecordId,a),r);if(c&&c.Dimensions&&c.Dimensions.find(e=>4===e.DimensionTypeValue&&e.DimensionValue&&"Custom"===e.DimensionValue.Value))this.setState({isCustomPriceSelected:!0});else{const e=G({},this.state.errorState);e.customAmountError=void 0,this.setState({isCustomPriceSelected:!1,isPriceKeyedIn:!1,errorState:e})}e&&e.length?this.setState({productAvailableQuantity:e[0]}):this.setState({productAvailableQuantity:void 0});const t=await Object(i.getPriceForSelectedVariant)(new i.PriceForSelectedVariantInput(c.RecordId,a),r);t&&this._updatePrice(t);const s=null===(l=this.props.data.featureState.result)||void 0===l?void 0:l.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name),n=await Object(i.getDeliveryOptionsForSelectedVariant)(new i.GetDeliveryOptionsForSelectedVariantInput(c.RecordId,a,void 0,void 0,null==s?void 0:s.IsEnabled),r);n&&this.setState({productDeliveryOptions:n}),await this._updateQuantitiesInState(c)}},this._updateDimensionValue=(e,t)=>{if(t&&e.DimensionValues)return e.DimensionValues.find(e=>e.RecordId===+t)},this._getDropdownName=(e,t)=>{var r;const a=null===(r=this.props.data.product.result)||void 0===r?void 0:r.IsGiftCard;switch(e){case 1:return t.productDimensionTypeColor;case 2:return t.productDimensionTypeConfiguration;case 3:return t.productDimensionTypeSize;case 4:return a?t.productDimensionTypeAmount:t.productDimensionTypeStyle;default:return""}},this.state={errorState:{configureErrors:{}},quantity:1,min:void 0,max:void 0,selectedProduct:void 0,productPrice:void 0,productDeliveryOptions:void 0,modalOpen:!1,isUpdatingDimension:!1,isUpdatingDeliveryOptions:!1},this.telemetryContent=Object(s.getTelemetryObject)(e.context.request.telemetryPageName,e.friendlyName,e.telemetry)}async componentDidMount(){const{data:{product:{result:e},productPrice:t}}=this.props;if(t.then(async e=>{this._updatePrice(e)}),e){const t=2;e.ItemTypeValue===t&&this.setState({isServiceItem:!0}),await this._updateQuantitiesInState(e)}}render(){const{slots:{mediaGallery:e},data:{product:{result:t}},config:{className:r=""}}=this.props,{max:a}=this.state;if(!t)return this.props.context.telemetry.error("Product content is empty, module wont render"),null;const i=G(G({},this.props),{},{state:this.state,mediaGallery:e&&e.length>0?e[0]:void 0,ModuleProps:{moduleProps:this.props,className:o()("ms-buybox",r)},ProductInfoContainerProps:{className:"ms-buybox__content"},MediaGalleryContainerProps:{className:"ms-buybox__media-gallery"},telemetryContent:this.telemetryContent,callbacks:this.buyboxCallbacks,title:g(this.props),description:y(this.props),configure:B(this.props,this.state,this.buyboxCallbacks),findInStore:D(this.props,this.state,this.buyboxCallbacks),price:v(this.props,this.state),addToCart:f(this.props,this.state,this.buyboxCallbacks,10,100),addToOrderTemplate:E(this.props,this.state,this.buyboxCallbacks),addToWishlist:w(this.props,this.state,this.buyboxCallbacks),rating:!this.props.context.app.config.hideRating&&C(this.props),quantity:t.IsGiftCard?void 0:T(this.props,this.state,this.buyboxCallbacks),inventoryLabel:h(this.props),shopSimilarLook:this.props.config.enableShopSimilarLooks&&!t.IsGiftCard?P(this.props,this.state,this.buyboxCallbacks):void 0,keyInPrice:this.props.config.enableKeyInPrice&&this.state.isCustomPriceSelected?I(this.props,this.state,this.buyboxCallbacks):void 0,quantityLimitsMessages:k(this.props,this.state),max:a});return this.props.renderView(i)}_updatePrice(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.keyInPriceAmount;this.state.isCustomPriceSelected&&e&&(e.CustomerContextualPrice=t),this.setState({productPrice:e})}async _updateQuantitiesInState(e){var t,r,a,i,s;await this._isOrderQuantityLimitsFeatureEnabled()&&e?this.setState({quantity:(null===(t=e.Behavior)||void 0===t?void 0:t.DefaultQuantity)||1,min:(null===(r=e.Behavior)||void 0===r?void 0:r.MinimumQuantity)||1,max:null!==(a=e.Behavior)&&void 0!==a&&a.MaximumQuantity&&(null===(i=e.Behavior)||void 0===i?void 0:i.MaximumQuantity)>0?null===(s=e.Behavior)||void 0===s?void 0:s.MaximumQuantity:Number.MAX_VALUE}):this.setState({min:1,max:this.props.context.app.config.maxQuantityForCartLineItem||10})}async _isOrderQuantityLimitsFeatureEnabled(){var e,t,r,a,i;const s=null===(e=this.props.context)||void 0===e||null===(t=e.request)||void 0===t||null===(r=t.app)||void 0===r||null===(a=r.platform)||void 0===a?void 0:a.enableDefaultOrderQuantityLimits;if("none"===s)return!1;const n=await this.props.data.featureState;if(!(null==n||null===(i=n.find(e=>"Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature"===e.Name))||void 0===i?void 0:i.IsEnabled))return!1;if("all"===s)return!0;let o;try{o=await this.props.data.customerInformation}catch(c){return this.props.telemetry.information(c),this.props.telemetry.debug("Unable to receive Customer Information. May be user is not authorized"),!1}return o&&("b2b"===s&&o.IsB2b||"b2c"===s&&!o.IsB2b)}}t.default=H},Mqml:function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=(r("9VTn"),r("LR6M"),r("mrSG")),s=r("Hxoz"),n=r("xT9B"),o=r("TSYQ"),c=r.n(o),l=r("mwIZ"),d=r.n(l),u=r("2vnA"),p=r("cDcd"),m=r("F9+a"),h=r("/gOl"),g=r("WRUG"),y=r("hxuE"),b=r("x1rJ"),f=r("C8NF"),v=r("mMTO"),C=r("NmHG");r.d(t,"getGroups",(function(){return m.a})),r.d(t,"getOrderInformation",(function(){return h.b})),r.d(t,"getOrderInfomationInput",(function(){return h.a}));var _=r("d6et");function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function x(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this.telemetryContent=Object(s.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry);const t=Object(s.getPayloadObject)("click",this.telemetryContent,s.TelemetryConstant.BackToShopping);this.backToShoppingAttributes=Object(s.getTelemetryAttributes)(this.telemetryContent,t)}get isCurrentChannel(){return!!this.order&&this.order.ChannelId===d()(this.props,"context.request.apiSettings.channelId")}get isDataReady(){return"SUCCESS"===d()(this.props,"data.checkout.status")}get hasError(){return"FAILED"===d()(this.props,"data.checkout.status")}get order(){return d()(this.props,"data.checkout.result.salesOrder")}get products(){return d()(this.props,"data.checkout.result.orderedProducts")||[]}get priceContext(){const{id:e,typeName:t,context:r,telemetry:a,resources:{freePriceText:i}}=this.props;return{id:e,typeName:t,context:r,telemetry:a,freePriceText:i}}get earnedPoints(){const e=this.props.data.loyaltyCard.result;if(e&&e.RewardPoints&&this.order){const t=e.RewardPoints.map(e=>e.RewardPointId),r=this.order.LoyaltyRewardPointLines||[];let a=0;return r.forEach(e=>{(e.RewardPointAmountQuantity||0)>0&&t.indexOf(e.RewardPointId)>-1&&(a+=e.RewardPointAmountQuantity)}),a}return 0}get orderSummaryProps(){if(!this.order)return;const{resources:{orderSummaryHeading:e,orderSummaryItemsTotalLabel:t,orderSummaryShippingFeeLabel:r,orderSummaryTaxLabel:a,orderSummaryGrandTotalLabel:i,pointsEarnedLabel:s}}=this.props;return{order:this.order,earnedPoints:this.earnedPoints,priceContext:this.priceContext,resource:{orderSummaryHeading:e,orderSummaryItemsTotalLabel:t,orderSummaryShippingFeeLabel:r,orderSummaryTaxLabel:a,pointsEarnedLabel:s,orderSummaryGrandTotalLabel:i}}}get paymentMethodsProps(){const e=this.props.data.tenderTypes.result;if(!this.order||!this.order.TenderLines||!e)return;const t=d()(this.props,"context.request.locale")||"en-US",{resources:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}=this.props;return{priceContext:this.priceContext,tenderLines:this.order.TenderLines,tenderIdOperationIdMap:Object(b.f)(e),locale:t,resource:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}}render(){var e,t,r;const{resources:{noSalesOrderText:a,genericErrorMessage:i,needHelpLabel:o,helpLineNumberLabel:l,loadingLabel:d,backToShopping:u,orderItemLabel:b,orderItemsLabel:_,helpLineContactAriaLabel:O},config:{heading:S,contactNumber:E,showTimeslot:w}}=this.props,T={moduleProps:this.props,className:c()("ms-order-confirmation",this.props.config.className)},P=n.getUrlSync("home",this.props.context.actionContext)||"",{channelDeliveryOptionConfig:I,featureState:N}=null===(e=this.props)||void 0===e?void 0:e.data,k=null==N||null===(t=N.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled;let j=x(x({},this.props),{},{moduleProps:T,heading:S&&S.text&&p.createElement(n.Text,Object.assign({},S,{className:"ms-order-confirmation__heading",text:S.text,tag:S.tag||"h2",editProps:{onEdit:this.handleCheckoutOrderConfirmationHeadingChange,requestContext:this.props.context.request}})),backToShoppingLink:P&&p.createElement(s.Button,Object.assign({className:"ms-order-confirmation__btn-keep-shopping",href:P},this.backToShoppingAttributes),u),footerProps:{className:"ms-order-confirmation__footer"}});if(this.hasError)return j=x(x({},j),{},{alert:p.createElement(y.a,{className:"ms-order-confirmation__alert",label:i})}),this.props.renderView(j);if(!this.isDataReady)return j=x(x({},j),{},{loading:p.createElement(y.a,{className:"ms-order-confirmation__loading",label:d})}),this.props.renderView(j);if(!this.order)return j=x(x({},j),{},{alert:p.createElement(y.a,{className:"ms-order-confirmation__alert",label:a})}),this.props.renderView(j);const L=Object(g.b)(this.props,this.moduleName,this.order,this.products,this.priceContext,!1,w,void 0,k,null==I?void 0:I.result),R=L&&Object(g.a)(L),D=this.order&&Object(h.a)(this.props,this.moduleName,this.order,this.priceContext),A=D&&Object(h.b)(D);return j=x(x({},j),{},{salesOrder:this.order,orderInfomation:A,salesLines:R,groups:R?Object(m.a)({moduleName:this.moduleName,salesLines:R,resources:{orderItemLabel:b,orderItemsLabel:_},showTimeslot:w,retailMultiplePickUpOptionEnabled:k}):void 0,orderSummary:this.orderSummaryProps?Object(v.a)(this.orderSummaryProps):void 0,payment:this.paymentMethodsProps?Object(C.a)(this.paymentMethodsProps):void 0,help:E?Object(f.a)({needHelpLabel:o,helpLineNumberLabel:l,contactNumber:E,helpLineContactAriaLabel:O,telemetryContent:this.telemetryContent}):void 0}),this.props.renderView(j)}}Object(i.__decorate)([u.e],S.prototype,"isCurrentChannel",null),Object(i.__decorate)([u.e],S.prototype,"isDataReady",null),Object(i.__decorate)([u.e],S.prototype,"hasError",null),Object(i.__decorate)([u.e],S.prototype,"order",null),Object(i.__decorate)([u.e],S.prototype,"products",null),Object(i.__decorate)([u.e],S.prototype,"priceContext",null),Object(i.__decorate)([u.e],S.prototype,"earnedPoints",null),Object(i.__decorate)([u.e],S.prototype,"orderSummaryProps",null),Object(i.__decorate)([u.e],S.prototype,"paymentMethodsProps",null),t.default=S},NmHG:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));r("LR6M"),r("oLpx");var a=r("hBpL"),i=r("cDcd");const s=e=>{let{priceContext:t,tenderLines:r,tenderIdOperationIdMap:s,resource:{paymentMethodsTitle:n,creditCardEndingLabel:o,giftCardEndingLabel:c,amountCoveredLabel:l,loyaltyCardUsedLabel:d,cashUsedLabel:u}}=e;const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.substr(-4)};return{paymentMethodsProps:{className:"ms-order-confirmation__payment-methods"},title:i.createElement("div",{className:"ms-order-confirmation__payment-methods-title"},n),methods:r.reduce((e,n)=>{if(!n.TenderTypeId)return e;switch(s[n.TenderTypeId]){case 201:e.push(function(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=p(e.MaskedCardNumber),n=s&&!isNaN(s),c=(e.AuthorizedAmount||0)>0?e.AuthorizedAmount:e.Amount,d=!!(r&&c&&c>0);return i.createElement("div",{className:"ms-order-confirmation__payment-methods-line",key:e.TenderTypeId},i.createElement("p",{className:"ms-order-confirmation__payment-methods-card"},`${e.CardTypeId} ${n?`${o} ${s}`:""}`),d&&i.createElement("p",{className:"ms-order-confirmation__payment-methods-card-amount-info"},l,i.createElement(a.k,Object.assign({},t,{className:"ms-order-confirmation__payment-methods-card-amount",data:{price:{CustomerContextualPrice:c||0}}}))))}(n,r.length>1));break;case 214:e.push((e=>i.createElement("div",{className:"ms-order-confirmation__payment-methods-line",key:e.TenderTypeId},i.createElement("p",{className:"ms-order-confirmation__payment-methods-gift-card-number"},c," ",p(e.GiftCardId)),i.createElement("p",{className:"ms-order-confirmation__payment-methods-gift-card-amount-info"},l,i.createElement(a.k,Object.assign({},t,{className:"ms-order-confirmation__payment-methods-gift-card-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(n));break;case 207:e.push((e=>i.createElement("div",{className:"ms-order-confirmation__payment-methods-line",key:e.TenderTypeId},i.createElement("p",{className:"ms-order-confirmation__payment-methods-loyalty-number"},d," ",e.LoyaltyCardId),i.createElement("p",{className:"ms-order-confirmation__payment-methods-loyalty-amount-info"},l,i.createElement(a.k,Object.assign({},t,{className:"ms-order-confirmation__payment-methods-loyalty-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(n));break;case 200:e.push((e=>i.createElement("div",{className:"ms-order-confirmation__payment-methods-line",key:e.TenderTypeId},i.createElement("p",{className:"ms-order-confirmation__payment-methods-cash"},u),i.createElement("p",{className:"ms-order-confirmation__payment-methods-cash-amount-info"},l,i.createElement(a.k,Object.assign({},t,{className:"ms-order-confirmation__payment-methods-cash-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(n))}return e},[])}}},NwXc:function(e,t,r){"use strict";r.r(t);r("LR6M");var a=r("Hxoz"),i=r("hBpL"),s=r("TSYQ"),n=r.n(s),o=r("cDcd");t.default=e=>o.createElement(a.Module,Object.assign({},e.carouselContainer,e.renderModuleAttributes(e)),o.createElement(i.e,{className:n()(e.closeAnimation),activeIndex:e.activeIndex,next:e.next,previous:e.previous,pause:!!e.config.pauseOnHover&&"hover",ride:e.config.autoplay?"carousel":void 0,autoplay:e.config.autoplay,interval:e.config.interval,transitionType:e.config.transitionType?e.config.transitionType:void 0,items:e.slots&&e.slots.content&&e.slots.content.length?e.slots.content:[],hideFlipper:e.config.hideFlipper,dismissEnabled:e.config.dismissEnabled,onIndicatorsClickHandler:e.onIndicatorsClickHandler,handleDismissCarousel:e.handleDismissCarousel,dismissCarouselAriaText:e.resources&&e.resources.ariaLabelForDismissButton,indicatorAriaText:e.resources&&e.resources.ariaLabelForSlide,directionTextPrev:e.resources&&e.resources.flipperPrevious,directionTextNext:e.resources&&e.resources.flipperNext,handleOnExited:e.handleOnExited,handleOnExiting:e.handleOnExiting,telemetryContent:e.telemetryContent}))},Ps6Z:function(e,t,r){"use strict";r.r(t),r.d(t,"getGroups",(function(){return m.a})),r.d(t,"getOrderInformation",(function(){return h.b})),r.d(t,"getOrderInfomationInput",(function(){return h.a})),r.d(t,"getSalesLine",(function(){return x.c})),r.d(t,"getPickupDeliveryMode",(function(){return x.a})),r.d(t,"getdeliveryTypeString",(function(){return x.f})),r.d(t,"getdeliveryTypeClassName",(function(){return x.e})),r.d(t,"getPickupModeDesc",(function(){return x.b})),r.d(t,"getStoreName",(function(){return x.d})),r.d(t,"getSalesLines",(function(){return g.a})),r.d(t,"getSalesLinesInput",(function(){return g.b})),r.d(t,"getTenderIdOperationIdMap",(function(){return b.f})),r.d(t,"countItems",(function(){return b.a})),r.d(t,"getSalesLinesByDelivery",(function(){return b.d})),r.d(t,"defaultImageSettings",(function(){return b.b})),r.d(t,"getSalesStatusCode",(function(){return b.e})),r.d(t,"groupSalesLines",(function(){return b.g})),r.d(t,"getDateTimeslot",(function(){return b.c})),r.d(t,"getOrderDetailsHelp",(function(){return f})),r.d(t,"getOrderDetailsOrderSummary",(function(){return _})),r.d(t,"getOrderDetailsPaymentMethods",(function(){return O}));var a=r("rePB"),i=(r("9VTn"),r("LR6M"),r("mrSG")),s=r("Hxoz"),n=r("xT9B"),o=r("TSYQ"),c=r.n(o),l=r("mwIZ"),d=r.n(l),u=r("2vnA"),p=r("cDcd"),m=r("F9+a"),h=r("/gOl"),g=r("WRUG"),y=r("hxuE"),b=r("x1rJ");const f=e=>{let{needHelpLabel:t,helpLineNumberLabel:r,contactNumber:a,helpLineContactAriaLabel:i,telemetryContent:n}=e;const o=Object(s.getPayloadObject)("click",n,s.TelemetryConstant.ContactNumber),c=Object(s.getTelemetryAttributes)(n,o);return{helpProps:{className:"ms-order-details__help"},needHelpLabel:p.createElement("p",{className:"ms-order-details__help-title"},t),helpLineNumberLabel:p.createElement("span",{className:"ms-order-details__help-label"},r),contactNumber:p.createElement("a",Object.assign({className:"ms-order-details__help-content-number","aria-label":`${i} ${a}`,href:"tel:"+a},c),a)}};var v=r("hBpL");const C=e=>{let{name:t,label:r,value:a=0,priceContext:i}=e;return p.createElement("p",{className:"ms-order-details__order-summary-line-"+t},p.createElement("span",{className:"ms-order-details__order-summary-label"},r),i?p.createElement(v.k,Object.assign({},i,{className:"ms-order-details__order-summary-price",data:{price:{CustomerContextualPrice:a}}})):p.createElement("span",{className:"ms-order-details__order-summary-price"},a))},_=e=>{let{order:t,priceContext:r,earnedPoints:a,resource:{orderSummaryHeading:i,orderSummaryItemsTotalLabel:s,orderSummaryShippingFeeLabel:n,orderSummaryTaxLabel:o,orderSummaryGrandTotalLabel:c,pointsEarnedLabel:l},canShip:d}=e;return{orderSummaryProps:{className:"ms-order-details__order-summary"},heading:p.createElement("p",{className:"ms-order-details__order-summary-heading"},i),subtotal:p.createElement(C,{name:"subtotal",label:s,value:t.SubtotalAmount,priceContext:r}),shipping:d?p.createElement(C,{name:"shipping",label:n,value:t.ChargeAmount,priceContext:r}):"",tax:p.createElement(C,{name:"tax-amount",label:o,value:t.TaxAmount,priceContext:r}),totalAmount:p.createElement(C,{name:"total-amount",label:c,value:t.TotalAmount,priceContext:r}),earnedPoints:a?p.createElement(C,{name:"earned-points",label:l,value:a}):void 0}};r("oLpx");const O=e=>{let{priceContext:t,tenderLines:r,tenderIdOperationIdMap:a,resource:{paymentMethodsTitle:i,creditCardEndingLabel:s,giftCardEndingLabel:n,amountCoveredLabel:o,loyaltyCardUsedLabel:c,cashUsedLabel:l,customerAccountUsedLabel:d}}=e;const u=201,m=214,h=207,g=200,y=202,b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.substr(-4)};return{paymentMethodsProps:{className:"ms-order-details__payment-methods"},title:p.createElement("div",{className:"ms-order-details__payment-methods-title"},i),methods:r.reduce((e,i)=>{if(!i.TenderTypeId)return e;switch(a[i.TenderTypeId]){case u:e.push(function(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=b(e.MaskedCardNumber),i=a&&!isNaN(a),n=(e.AuthorizedAmount||0)>0?e.AuthorizedAmount:e.Amount,c=!!(r&&n&&n>0);return p.createElement("div",{className:"ms-order-details__payment-methods-line",key:e.TenderTypeId},p.createElement("p",{className:"ms-order-details__payment-methods-card"},`${e.CardTypeId} ${i?`${s} ${a}`:""}`),c&&p.createElement("p",{className:"ms-order-details__payment-methods-card-amount-info"},o,p.createElement(v.k,Object.assign({},t,{className:"ms-order-details__payment-methods-card-amount",data:{price:{CustomerContextualPrice:n||0}}}))))}(i,r.length>1));break;case m:e.push((e=>p.createElement("div",{className:"ms-order-details__payment-methods-line",key:e.TenderTypeId},p.createElement("p",{className:"ms-order-details__payment-methods-gift-card-number"},n," ",b(e.GiftCardId)),p.createElement("p",{className:"ms-order-details__payment-methods-gift-card-amount-info"},o,p.createElement(v.k,Object.assign({},t,{className:"ms-order-details__payment-methods-gift-card-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(i));break;case h:e.push((e=>p.createElement("div",{className:"ms-order-details__payment-methods-line",key:e.TenderTypeId},p.createElement("p",{className:"ms-order-details__payment-methods-loyalty-number"},c," ",e.LoyaltyCardId),p.createElement("p",{className:"ms-order-details__payment-methods-loyalty-amount-info"},o,p.createElement(v.k,Object.assign({},t,{className:"ms-order-details__payment-methods-loyalty-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(i));break;case g:e.push((e=>p.createElement("div",{className:"ms-order-details__payment-methods-line",key:e.TenderTypeId},p.createElement("p",{className:"ms-order-details__payment-methods-cash"},l),p.createElement("p",{className:"ms-order-details__payment-methods-cash-amount-info"},o,p.createElement(v.k,Object.assign({},t,{className:"ms-order-details__payment-methods-cash-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(i));break;case y:e.push((e=>p.createElement("div",{className:"ms-order-details__payment-methods-line",key:e.TenderTypeId},p.createElement("p",{className:"ms-order-details__payment-methods-customer-account"},d," ",e.CustomerId),p.createElement("p",{className:"ms-order-details__payment-methods-customer-account-info"},o,p.createElement(v.k,Object.assign({},t,{className:"ms-order-details__payment-methods-customer-account-amount",data:{price:{CustomerContextualPrice:e.Amount||0}}})))))(i))}return e},[])}};var x=r("d6et");function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function E(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this.getDeliveryMode=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;var i;return t?null==r||null===(i=r.PickupDeliveryModeCodes)||void 0===i?void 0:i.find(t=>t===e.DeliveryMode):a},this.telemetryContent=Object(s.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry)}get isCurrentChannel(){return!!this.order&&this.order.ChannelId===d()(this.props,"context.request.apiSettings.channelId")}get isDataReady(){return"SUCCESS"===d()(this.props,"data.orderHydration.status")}get hasError(){return"FAILED"===d()(this.props,"data.orderHydration.status")}get order(){return d()(this.props,"data.orderHydration.result.salesOrder")}get products(){return d()(this.props,"data.orderHydration.result.products")||[]}get deliveryOptions(){return d()(this.props,"data.orderHydration.result.deliveryOptions")||[]}get priceContext(){const{id:e,typeName:t,context:r,telemetry:a,resources:{freePriceText:i}}=this.props;return{id:e,typeName:t,context:r,telemetry:a,freePriceText:i}}get earnedPoints(){const e=this.props.data.loyaltyCard.result;if(e&&e.RewardPoints&&this.order){const t=e.RewardPoints.map(e=>e.RewardPointId),r=this.order.LoyaltyRewardPointLines||[];let a=0;return r.forEach(e=>{(e.RewardPointAmountQuantity||0)>0&&t.indexOf(e.RewardPointId)>-1&&(a+=e.RewardPointAmountQuantity)}),a}return 0}get orderSummaryProps(){var e,t,r,a;if(!this.order)return;const{request:i}=this.props.context,{channelDeliveryOptionConfig:s,featureState:n}=null===(e=this.props)||void 0===e?void 0:e.data,o=null==n||null===(t=n.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled,c=i&&i.channel&&i.channel.PickupDeliveryModeCode,l=i&&i.channel&&i.channel.EmailDeliveryModeCode,d=null===(a=this.order)||void 0===a?void 0:a.SalesLines,u=null==d?void 0:d.some(e=>e.DeliveryMode&&""!==e.DeliveryMode?e.DeliveryMode!==this.getDeliveryMode(e,o,null==s?void 0:s.result,c)&&e.DeliveryMode!==l:e),{resources:{orderSummaryHeading:p,orderSummaryItemsTotalLabel:m,orderSummaryShippingFeeLabel:h,orderSummaryTaxLabel:g,orderSummaryGrandTotalLabel:y,pointsEarnedLabel:b}}=this.props;return{order:this.order,earnedPoints:this.earnedPoints,priceContext:this.priceContext,resource:{orderSummaryHeading:p,orderSummaryItemsTotalLabel:m,orderSummaryShippingFeeLabel:h,orderSummaryTaxLabel:g,pointsEarnedLabel:b,orderSummaryGrandTotalLabel:y},canShip:u}}get paymentMethodsProps(){const e=this.props.data.tenderTypes.result;if(!this.order||!this.order.TenderLines||!e)return;const t=d()(this.props,"context.request.locale")||"en-US",{resources:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}=this.props;return{priceContext:this.priceContext,tenderLines:this.order.TenderLines,tenderIdOperationIdMap:Object(b.f)(e),locale:t,resource:{paymentMethodsTitle:r,creditCardEndingLabel:a,giftCardEndingLabel:i,amountCoveredLabel:s,cashUsedLabel:n,loyaltyCardUsedLabel:o,customerAccountUsedLabel:c}}}render(){var e,t,r;const{resources:{noSalesOrderDetailsText:a,genericErrorMessage:i,needHelpLabel:o,helpLineNumberLabel:l,loadingLabel:d,backToShopping:u,orderItemLabel:b,orderItemsLabel:v,helpLineContactAriaLabel:C},config:{heading:x,contactNumber:S,showChannelInfo:w,showTimeslot:T}}=this.props,P=void 0!==this.props.config.addressOptions&&"showAddressWithSingleLine"===this.props.config.addressOptions||"showAddressWithMultiplelines"===this.props.config.addressOptions,I=void 0!==this.props.config.addressOptions&&"showAddressWithMultiplelines"===this.props.config.addressOptions,N={moduleProps:this.props,className:c()("ms-order-details",this.props.config.className)},k=n.getUrlSync("home",this.props.context.actionContext)||"",j=this.props.data.channels.result&&this.props.data.channels.result.channelIdentities,L=this.props.data.orgUnitLocations.result&&this.props.data.orgUnitLocations.result.orgUnitLocations,{channelDeliveryOptionConfig:R,featureState:D}=null===(e=this.props)||void 0===e?void 0:e.data,A=null==D||null===(t=D.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled;let M=E(E({},this.props),{},{moduleProps:N,heading:x&&p.createElement(n.Text,Object.assign({},x,{className:"ms-order-details__heading",text:x.text,tag:x.tag||"h2",editProps:{onEdit:this.handleOrderDetailsHeadingChange,requestContext:this.props.context.request}})),backToShoppingLink:k&&p.createElement(s.Button,{className:"ms-order-details__btn-keep-shopping",href:k},u),footerProps:{className:"ms-order-details__footer"}});if(this.hasError)return M=E(E({},M),{},{alert:p.createElement(y.a,{className:"ms-order-details__alert",label:i})}),this.props.renderView(M);if(!this.isDataReady)return M=E(E({},M),{},{loading:p.createElement(y.a,{className:"ms-order-details__loading",label:d})}),this.props.renderView(M);if(!this.order)return M=E(E({},M),{},{alert:p.createElement(y.a,{className:"ms-order-details__alert",label:a})}),this.props.renderView(M);const B=Object(g.b)(this.props,this.moduleName,this.order,this.products,this.priceContext,I,T,this.telemetryContent,A,null==R?void 0:R.result,this.deliveryOptions),F=B&&Object(g.a)(B),U=this.order&&Object(h.a)(this.props,this.moduleName,this.order,this.priceContext,j,L,w),q=U&&Object(h.b)(U);return M=E(E({},M),{},{salesOrder:this.order,orderInfomation:q,salesLines:F,groups:F?Object(m.a)({moduleName:this.moduleName,salesLines:F,resources:{orderItemLabel:b,orderItemsLabel:v},showAddress:P,showTimeslot:T,retailMultiplePickUpOptionEnabled:A}):void 0,orderSummary:this.orderSummaryProps?_(this.orderSummaryProps):void 0,payment:this.paymentMethodsProps?O(this.paymentMethodsProps):void 0,help:S?f({needHelpLabel:o,helpLineNumberLabel:l,contactNumber:S,helpLineContactAriaLabel:C,telemetryContent:this.telemetryContent}):void 0}),this.props.renderView(M)}}Object(i.__decorate)([u.e],w.prototype,"isCurrentChannel",null),Object(i.__decorate)([u.e],w.prototype,"isDataReady",null),Object(i.__decorate)([u.e],w.prototype,"hasError",null),Object(i.__decorate)([u.e],w.prototype,"order",null),Object(i.__decorate)([u.e],w.prototype,"products",null),Object(i.__decorate)([u.e],w.prototype,"deliveryOptions",null),Object(i.__decorate)([u.e],w.prototype,"priceContext",null),Object(i.__decorate)([u.e],w.prototype,"earnedPoints",null),Object(i.__decorate)([u.e],w.prototype,"orderSummaryProps",null),Object(i.__decorate)([u.e],w.prototype,"paymentMethodsProps",null);t.default=w},QoU8:function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=(r("WVYb"),r("ES/9"),r("BDvt"),r("LR6M"),r("EawV"),r("mrSG")),s=r("Hxoz"),n=r("hBpL"),o=r("xT9B"),c=r("TSYQ"),l=r.n(c),d=r("2vnA"),u=r("okNM"),p=r("cDcd"),m=r.n(p),h=r("UdvX");const g=(e,t)=>{if(e&&e.FulfillmentStoreId){const r=y(e.FulfillmentStoreId,t.orgUnitLocations);if(r)return p.createElement("div",{className:"msc-cart-line__bopis-method"},p.createElement("span",{className:"pick-up"},r))}return null},y=(e,t)=>{if(!(t&&e&&t.length>0))return"";const r=t.find(t=>t.OrgUnitNumber===e);return r?r.OrgUnitName:e},b=(e,t,r)=>{const a=[];return t&&0!==t.length?(e.map((e,i)=>{const o=((e,t)=>{if(void 0!==e&&t)return t.find(t=>e===t.RecordId)})(e.ProductId,t);let c,l;var d;(r.productAvailabilites&&r.productAvailabilites.length>0&&(c=r.productAvailabilites.find(t=>{var r;return(null===(r=t.ProductAvailableQuantity)||void 0===r?void 0:r.ProductId)===e.ProductId})),r.productDeliveryOptions&&r.productDeliveryOptions.length>0&&(l=r.productDeliveryOptions.find(t=>t&&t.ProductId===e.ProductId)),o)&&a.push(((e,t,r,a,i,o)=>{const{imageSettings:c,gridSettings:l,id:d,typeName:u,context:m,resources:y,removeButtonText:b,removeItemClickHandler:f}=r,v=(C=r.outOfStockThreshold,_=r.maxCartlineQuantity,O=r.isStockCheckEnabled,x=i,O?!x||!x.AvailableQuantity||x.AvailableQuantity<=0||x.AvailableQuantity<=C?0:x.AvailableQuantity-C:_);var C,_,O,x;const S=2===t.ItemTypeValue,E=Object(s.getPayloadObject)("click",r.telemetryContent,s.TelemetryConstant.RemoveCartItem),w=Object(s.getTelemetryAttributes)(r.telemetryContent,E);return{data:{product:t,cartline:e},hasError:!(S||!r.isStockCheckEnabled)&&e.Quantity>v,cartline:p.createElement(n.g,{data:{cartLine:e,product:t},currentQuantity:e.Quantity,maxQuantity:v,isOutOfStock:!(S||!r.isStockCheckEnabled)&&v<=0,gridSettings:l,imageSettings:c,id:d,typeName:u,productUrl:Object(h.getProductUrlSync)(t,r.context.actionContext,void 0),context:m,resources:y,key:a,isQuantityEditable:!1,primaryImageUrl:t.PrimaryImageUrl,displayMode:"COMPACT",telemetryContent:r.telemetryContent,channelDeliveryOptionConfig:r.channelDeliveryOptionConfig}),remove:p.createElement(s.Button,Object.assign({className:"msc-cart-line__remove-item",onClick:t=>{f(e)},title:b},w),b),storeLocation:g(e,r)}})(e,o,r,i,null===(d=c)||void 0===d?void 0:d.ProductAvailableQuantity))}),a):(r.context.telemetry.error("Cartlines content is empty, module wont render"),null)};async function f(e,t){const r={},a=t.cart;return a&&a.CartLines&&a.CartLines.length&&!t.hasInvoiceLine&&(await Object(h.getActiveCartProductsAction)(new h.ActiveCartProductsInput,e).then(e=>{e&&(r.products=e)}).catch(t=>{throw e.telemetry.exception(t),new Error("[getActiveCartWithProdcuts]Unable to hydrate cart with product information")}),await Object(h.getAvailabilitiesForCartLineItems)(new h.ProductAvailabilitiesForCartLineItems(e.requestContext.apiSettings),e).then(e=>{e&&(r.productAvailabilites=e)}).catch(t=>{throw e.telemetry.exception(t),new Error("[getActiveCartWithProdcuts]Unable to hydrate cart with product information")}),await Object(h.getDeliveryOptionsForCartLineItems)(new h.ProductDeliveryOptionsForCartLineItems(e.requestContext.apiSettings),e).then(e=>{e&&(r.deliveryOptions=e)}).catch(t=>{throw e.telemetry.exception(t),new Error("[getActiveCartWithProdcuts]Unable to hydrate cart with product information")})),r}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function C(e){for(var t=1;te||{viewports:{xs:{q:"w=80&h=94&m=6",w:0,h:0},sm:{q:"w=148&h=174&m=6",w:0,h:0},lg:{q:"w=148&h=174&m=6",w:0,h:0}},lazyload:!0},this._removeItemFromCartHandler=e=>{if(this.props.data.cart.result){const t={cartLineIds:[e.LineId.toString()]};this.props.data.cart.result.removeCartLines(t).catch(e=>{this.props.telemetry.warning(e),this.props.telemetry.debug("Unable to Remove Cart Line")})}},this.state={miniCartData:{}},this.telemetryContent=Object(s.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry);const t=Object(s.getPayloadObject)(o.TelemetryEvent.CheckOut,this.telemetryContent,s.TelemetryConstant.Checkout);this.checkoutBySignInAttributes=Object(s.getTelemetryAttributes)(this.telemetryContent,t),t.contentAction.etext=s.TelemetryConstant.GuestCheckout,this.checkoutByGuestAttributes=Object(s.getTelemetryAttributes)(this.telemetryContent,t),t.contentAction.etext=s.TelemetryConstant.ViewShoppingBag,this.viewShoppingBagAttributes=Object(s.getTelemetryAttributes)(this.telemetryContent,t)}async componentDidMount(){const e=this.props.context.actionContext;Object(d.o)(()=>{var e;return null===(e=this.props.data.cart.result)||void 0===e?void 0:e.cart.CartLines},async()=>{this.setState({miniCartData:await f(e,this.props.data.cart.result)})}),this.setState({orgUnitLocations:this.props.data.orgUnitLocations.result})}render(){var e,t,r,a;const{id:i,typeName:c,config:{enableHoverCart:d},context:{request:{user:{isAuthenticated:u,signInUrl:p}}},context:h,resources:g}=this.props,y=this.props.data.cart&&this.props.data.cart.result||void 0,b=Object(o.getUrlSync)("checkout",this.props.context.actionContext)||"",f=Object(o.getUrlSync)("cart",this.props.context.actionContext)||"",v=this._getCheckoutURL(u,b,p||""),_=y&&y.cart.CartLines&&0===y.cart.CartLines.length,O=y&&y.hasInvoiceLine,x=this._getCartLines(),S=!!x&&x.some(e=>e.hasError),E=this.props.data.cart&&"SUCCESS"===this.props.data.cart.status&&d,w=x?x.length:0,T=g.goToCartButtonTitle.replace("{count}",w.toString()),P=g.flyoutTitle,I=y&&!y.hasInvoiceLine&&y.cart.TotalAmount||void 0,N=I?g.totalPriceFormatString.replace("{price}",h.cultureFormatter.formatCurrency(I)):"";this.channelDeliveryOptionConfig=null===(e=this.props.data.channelDeliveryOptionConfig)||void 0===e?void 0:e.result,this.retailMultiplePickUpOptionEnabled=null===(t=this.props.data.featureState)||void 0===t||null===(r=t.result)||void 0===r||null===(a=r.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===a?void 0:a.IsEnabled;const k=C(C({},this.props),{},{cartIcon:m.a.createElement(n.f,{cartLabel:g.cartLabel,cartQtyLabel:g.cartQtyLabel,context:h,id:i,typeName:c,data:{cart:y},telemetryContent:this.telemetryContent}),cartlines:x,FlyoutContainer:E?{tag:s.UncontrolledTooltip,placement:"bottom-end",hideArrow:!0,className:"ms-cart-icon__flyout-container",trigger:"hover focus",displayMode:"FLYOUT",target:i}:void 0,CartlinesWrapper:{className:"ms-cart-icon__cart-lines"},miniCartWrapper:{className:l()("ms-cart-icon"),id:this.props.id},miniCartItemWrapper:{className:l()("msc-cart-lines-item")},checkoutAsSignInUserButton:_||O?null:m.a.createElement(s.Button,Object.assign({disabled:S,className:"ms-cart-icon__btn-checkout",href:v,title:g.checkoutButtonTitle},this.checkoutBySignInAttributes),g.checkoutButtonTitle),checkoutAsGuestButton:_||u?null:m.a.createElement(s.Button,Object.assign({disabled:S,className:"ms-cart-icon__btn-guestcheckout",href:b,title:g.guestCheckoutButtonTitle},this.checkoutByGuestAttributes),g.guestCheckoutButtonTitle),goToCartButton:m.a.createElement(s.Button,Object.assign({className:"ms-cart-icon__btn-gotocart",href:f,title:T},this.viewShoppingBagAttributes),T),flyoutTitle:m.a.createElement("span",{className:"ms-cart-icon__flyout-title"},P),totalPrice:m.a.createElement("div",{className:"ms-cart-icon__subtotal"},N)});return this.props.renderView(k)}_getCheckoutURL(e,t,r){if(e)return t;const a=new RegExp("^(?:[a-z]+:)?//","i").test(t);let i=t;return o.msdyn365Commerce.isBrowser&&!a&&(i=`${window.location.origin}${t}`),`${r}${-1===r.indexOf("?")?"?":"&"}ru=${i}`}_getCartLines(){const{context:{request:{channel:{PickupDeliveryModeCode:e}={PickupDeliveryModeCode:void 0}}},config:t,telemetry:r,resources:a}=this.props,i=this._getImageSettings(t.imageSettings),s=this.props.data.cart&&this.props.data.cart.result;return this.state.miniCartData.products&&s&&s.cart.CartLines&&s.cart.CartLines.length>0?(e=>{const{products:t,cartlines:r}=e;return b(r,t,e)})({cartlines:s.cart.CartLines,products:this.state.miniCartData.products,productAvailabilites:this.state.miniCartData.productAvailabilites,productDeliveryOptions:this.state.miniCartData.deliveryOptions,imageSettings:i,outOfStockThreshold:this.props.context.app.config.outOfStockThreshold||0,isStockCheckEnabled:this.props.context.app.config.enableStockCheck||!1,maxCartlineQuantity:this.props.context.app.config.maxQuantityForCartLineItem,gridSettings:this.props.context.request.gridSettings,context:this.props.context,typeName:this.props.typeName,id:this.props.id,resources:{sizeString:a.productDimensionTypeSize,colorString:a.productDimensionTypeColor,configString:a.productDimensionTypeConfiguration,styleString:a.productDimensionTypeStyle,quantityDisplayString:a.quantityDisplayText,inputQuantityAriaLabel:"",discountStringText:"",originalPriceText:"",currentPriceText:"",shippingChargesText:""},telemetry:r,removeButtonText:a.removeCartButtonText,outOfStockText:"",outOfRangeOneText:"",outOfRangeFormatText:"",cartState:s,orgUnitLocations:this.state.orgUnitLocations,removeItemClickHandler:this._removeItemFromCartHandler,pickupDeliveryModeCode:e,telemetryContent:this.telemetryContent,channelDeliveryOptionConfig:this.retailMultiplePickUpOptionEnabled?this.channelDeliveryOptionConfig:void 0}):null}};_=Object(i.__decorate)([u.a],_);t.default=_},U2zq:function(e,t,r){"use strict";r.r(t),r.d(t,"getForm",(function(){return h})),r.d(t,"getItem",(function(){return g})),r.d(t,"getList",(function(){return y})),r.d(t,"CheckoutGiftCard",(function(){return C}));r("9VTn");var a=r("rePB"),i=(r("y/s1"),r("ES/9"),r("HBRN"),r("C7n2"),r("mrSG")),s=r("K542"),n=r("MVz4"),o=r("TSYQ"),c=r.n(o),l=r("2vnA"),d=r("okNM"),u=r("cDcd"),p=r("Vhie"),m=(r("BDvt"),r("EawV"),r("WVYb"),r("Hxoz"));const h=e=>{const{errorMessage:t,inputRef:r,inputPinRef:a,inputExpRef:i,giftCardNumber:s,giftCardPin:n,giftCardExp:o,onEnterGiftCardNumber:l,onEnterGiftCardPin:d,onEnterGiftCardExp:p,onApplyGiftCard:h,supportExternalGiftCard:g,additionalFields:y,resources:{applyGiftCardButton:b,giftCardFormLabel:f,giftCardNumberLabel:v,giftCardPinLabel:C,giftCardExpLabel:_,giftCardAlertLabel:O,giftCardPinPlaceholderText:x,giftCardExpPlaceholderText:S}}=e,E=async e=>{e.preventDefault(),await h()},w={className:c()("ms-checkout-gift-card__form",{"is-invalid":!!t}),onSubmit:E,tag:"form"},T=u.createElement("label",{id:"ms-checkout-gift-card__label",className:"ms-checkout-gift-card__input-label"},f),P=u.createElement("label",{id:"ms-checkout-gift-card__input-pin-label",className:"ms-checkout-gift-card__input-pin-label"},C),I=u.createElement("label",{id:"ms-checkout-gift-card__input-exp-label",className:"ms-checkout-gift-card__input-exp-label"},_),N=u.createElement("label",{id:"ms-checkout-gift-card__input-alert",className:"ms-checkout-gift-card__input-alert-label"},O),k=u.createElement(m.Alert,{tag:"span",id:"ms-checkout-gift-card__error",className:"ms-checkout-gift-card__input-error",role:"alert",assertive:!1,fade:!1,includeAlertClass:!1,isOpen:!!t},t),j=u.createElement("input",{ref:r,type:"text",className:"ms-checkout-gift-card__input-text form-control","aria-label":v,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");l(t)},value:s,"aria-labelledby":"ms-checkout-gift-card__label ms-checkout-gift-card__error"}),L=u.createElement("input",{ref:a,type:"text",className:"ms-checkout-gift-card__input-pin-text form-contol","aria-label":C,placeholder:x,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");d(t)},value:n,"aria-labelledby":"ms-checkout-gift-card__label ms-checkout-gift-card__error"}),R=u.createElement("input",{ref:i,type:"text",className:"ms-checkout-gift-card__input-exp-text form-contol","aria-label":_,placeholder:S,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");p(t)},value:o,"aria-labelledby":"ms-checkout-gift-card__label ms-checkout-gift-card__error"}),D=u.createElement(m.Button,{className:"ms-checkout-gift-card__btn-apply",onClick:E,"aria-label":b,disabled:!s},b);let A=!1,M=!1;switch(y){case"pin":A=!0;break;case"expirationDate":M=!0;break;case"pinAndExpirationDate":A=!0,M=!0}return{formProps:w,label:T,inputPinLabel:P,inputExpLabel:I,alert:k,inputProps:{className:"ms-checkout-gift-card__input-fields"},inputNumProps:{className:"ms-checkout-gift-card__input-num-fields"},inputPinProps:{className:"ms-checkout-gift-card__input-pin-fields"},inputExpProps:{className:"ms-checkout-gift-card__input-exp-fields"},inputNumber:j,inputPin:L,inputExp:R,applyButton:D,supportExternalGiftCard:g,showGiftCardPinInput:A,showGiftCardExpInput:M,alertFieldLabel:N}},g=e=>{let{giftCard:t,getFormattedPrice:r,canRemove:a,onRemoveGiftCard:i,resources:{enteredGiftCardLabel:s,giftCardAvailableBalanceLabel:n,removeGiftCardButton:o}}=e;const c=r(t.Balance,t.CardCurrencyCode),l=(t.Id||"").substr(-4),d=u.createElement("span",{className:"ms-checkout-gift-card__item-text"},s," ",l," (",n," ",u.createElement("span",{className:"ms-checkout-gift-card__balance"},c),")"),p=a&&u.createElement(m.Button,{className:"ms-checkout-gift-card__btn-remove",onClick:()=>i(t.Id||"")},o);return{itemProps:{className:"ms-checkout-gift-card__item"},id:t.Id,selectedGiftCard:d,removeButton:p}},y=e=>{let{giftCards:t,canRemove:r,resources:a,getFormattedPrice:i,onRemoveGiftCard:s}=e;if(!t||!t.length)return;return{listProps:{className:"ms-checkout-gift-card__list"},list:t.map(e=>g({canRemove:r,getFormattedPrice:i,giftCard:e,onRemoveGiftCard:s,resources:a}))}};var b=e=>{let{title:t}=e;return u.createElement("label",{className:"ms-checkout-gift-card__title"},t)};function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function v(e){for(var t=1;t{var e;this.props.moduleState.init(v({onEdit:this.onEdit,onCancel:this.onCancel,onSubmit:this.onSubmit,isRequired:!1},!this.isEnabled()&&{status:"disabled"}));const t=null===(e=this.props.data.checkout.result)||void 0===e?void 0:e.giftCardExtends;t&&t.length>0?this.props.moduleState.onReady():this.isPaymentVerificationRedirection&&this.props.moduleState.onSkip()},this.couldPaidByGiftCard=()=>{const e=this.props.data.checkout.result?this.props.data.checkout.result.checkoutCart.cart:void 0;return!!e&&(e.TotalAmount||0)>0},this.isEnabled=()=>!(!this.props.context.request.user.isAuthenticated&&"external"!==this.props.context.app.config.giftCardSupported)&&this.couldPaidByGiftCard(),this.onEdit=()=>{this.props.moduleState.onUpdating()},this.onCancel=()=>{this.handleCancelOrSubmit()},this.onSubmit=()=>{this.handleCancelOrSubmit()},this.handleCancelOrSubmit=()=>{this.hasSelectedItem?this.props.moduleState.onReady():this.props.moduleState.onSkip()},this.getFormattedPrice=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return e.props.context.cultureFormatter.formatCurrency(t,r)},this.enterGiftCardNumber=e=>{this.setState({giftCardNumber:e}),this.clearError()},this.enterGiftCardPin=e=>{this.setState({giftCardPin:e}),this.clearError()},this.enterGiftCardExp=e=>{this.setState({giftCardExp:e}),this.clearError()},this.setError=e=>{this.props.telemetry.error("Error",e),this.props.telemetry.debug("Error",e),this.props.moduleState.setHasError(!0),this.setState({errorMessage:e})},this.clearError=()=>{this.props.moduleState.setHasError(!1),this.setState({errorMessage:""})},this.removeGiftCard=async e=>{const t=this.props.data.checkout.result;t&&await t.removeGiftCard({giftCardNumber:e})},this.applyGiftCard=async()=>{if(this.state.isFetchingGiftCard)return;this.setState({isFetchingGiftCard:!0});const e=this.props.data.checkout.result,t=this.state.giftCardNumber.trim(),r=this.state.giftCardPin.trim(),a=this.state.giftCardExp.trim(),i=await this.getGiftCardTypes(t),s=i&&i[0],n=s&&s.IsPinRequired,o=s&&s.IsExpirationDateRequired,c=s&&s.PaymentMethodId,l=await this.getGiftCard(t,r,a,n,o,c);if(e&&l)return await e.addGiftCard({giftCard:l,additionalProperties:{Pin:r,ExpirationDate:a,TenderTypeId:c}}),this.clearError(),this.setState({giftCardNumber:"",giftCardPin:"",giftCardExp:"",isFetchingGiftCard:!1}),Promise.resolve();{const e=this.inputRef&&this.inputRef.current&&this.inputRef.current.focus&&this.inputRef.current;e&&e.focus(),this.setState({isFetchingGiftCard:!1})}},this.findGiftcardTenderTypes=(e,t,r)=>{let a;switch(r){case"internal":a=e.filter(e=>e.OperationId===t&&""===e.ConnectorId);break;case"external":a=e.filter(e=>e.OperationId===t&&""!==e.ConnectorId);break;default:throw new Error("Invalid gift card type")}if(a)return a.map(e=>e.TenderTypeId||"")},this.getGiftCard=async(e,t,r,a,i,s)=>{const{resources:{noBalanceError:o,invalidCardInfoError:c,invalidCardTypeError:l,noCardPinError:d,noCardExpError:u}}=this.props,m=this.props.context.app.config.giftCardSupported;if(!s)return;const h=await Object(n.s)({callerContext:this.props.context.actionContext,queryResultSettings:{}}).catch(e=>{throw e});if(!h)throw new Error("Fail to get gift card tender line");const g=this.findGiftcardTenderTypes(h,p.OPERATIONS.PayGiftCertificate,"internal"),y=this.findGiftcardTenderTypes(h,p.OPERATIONS.PayGiftCertificate,"external");switch(m){case void 0:case"internal":if(null==g||!g.includes(s))return void this.setError(l);break;case"external":if(null==y||!y.includes(s))return void this.setError(l);break;case"both":if(!(null!=g&&g.includes(s)||null!=y&&y.includes(s)))return void this.setError(l);break;default:throw new Error("Unsupported gift card type")}if(a&&""===t)return void this.setError(d);if(i&&""===r)return void this.setError(u);const b=parseInt(r.split("/")[0],10),f=parseInt(r.split("/")[1],10);return Object(n.l)({callerContext:this.props.context.actionContext},e,s,t,b,f).then(e=>{if(e.Balance&&0!==e.Balance)return e;this.setError(o)}).catch(e=>{this.setError(c)})},this.getGiftCardTypes=async e=>{const{resources:{emptyInputError:t,duplicatedCodeError:r,invalidCodeError:a},data:{checkout:i}}=this.props;if(!e)return void this.setError(t);if(i.result&&i.result.giftCardExtends.some(t=>t.Id===e))return void this.setError(r);return Object(n.u)({callerContext:this.props.context.actionContext},e,7).then(e=>{if(e&&0!==e.length&&void 0!==e[0])return e;this.setError(a)}).catch(e=>{this.setError(a)})}}get isDataReady(){return"SUCCESS"===(this.props.data.checkout.result&&this.props.data.checkout.status)}get getLoyaltyAmount(){const e=this.props.data.checkout.result;return e&&e.loyaltyAmount?e.loyaltyAmount:0}get shouldPayGiftCard(){const e=this.props.data.checkout.result?this.props.data.checkout.result.checkoutCart.cart:void 0;if(!e)return!1;return(e.TotalAmount||0)-this.getLoyaltyAmount>0}get hasSelectedItem(){const{data:{checkout:e}}=this.props,t=e.result&&e.result.giftCardExtends;return!!t&&t.length>0}get isPaymentVerificationRedirection(){const{requestFormData:e,query:t}=this.props.context.request;return!(!e||!t||"1"!==t.pv)}componentDidMount(){Object(l.u)(()=>this.isDataReady,()=>{this.init()})}render(){const{moduleState:{isReady:e},data:{checkout:t},config:{className:r,showAdditionalFields:a},resources:i}=this.props,{errorMessage:s,giftCardNumber:n,giftCardPin:o,giftCardExp:l}=this.state,d=t.result&&t.result.giftCardExtends,p=a,m=this.props.context.app.config.giftCardSupported;if(!this.isEnabled()||!this.shouldPayGiftCard&&!e)return this.props.context.telemetry.error("Checkout giftcard content is empty, module wont render"),null;const g="internal"!==m,f=c()("ms-checkout-gift-card",r,e?"show":"add"),C=v(v(v({},this.props),this.state),{},{className:f,checkoutGiftCardProps:{moduleProps:this.props,className:f},couldPaidByGiftCard:this.couldPaidByGiftCard(),isEnabled:this.isEnabled(),onEdit:this.onEdit,onCancel:this.onCancel,onSubmit:this.onSubmit,enterGiftCardNumber:this.enterGiftCardNumber,enterGiftCardPin:this.enterGiftCardPin,enterGiftCardExp:this.enterGiftCardExp,removeGiftCard:this.removeGiftCard,applyGiftCard:this.applyGiftCard,showGiftCard:e?{title:u.createElement(b,{title:i.giftCardFormLabel}),list:y({canRemove:!1,getFormattedPrice:this.getFormattedPrice,giftCards:d&&[...d],onRemoveGiftCard:this.removeGiftCard,resources:i})}:void 0,addGiftCard:e?void 0:{form:h({errorMessage:s,giftCardNumber:n,giftCardPin:o,giftCardExp:l,inputRef:this.inputRef,inputPinRef:this.inputPinRef,inputExpRef:this.inputExpRef,resources:i,onEnterGiftCardNumber:this.enterGiftCardNumber,onEnterGiftCardPin:this.enterGiftCardPin,onEnterGiftCardExp:this.enterGiftCardExp,onApplyGiftCard:this.applyGiftCard,supportExternalGiftCard:g,additionalFields:p}),list:y({canRemove:!0,getFormattedPrice:this.getFormattedPrice,giftCards:d&&[...d],onRemoveGiftCard:this.removeGiftCard,resources:i})}});return this.props.renderView(C)}};Object(i.__decorate)([l.e],C.prototype,"isDataReady",null),Object(i.__decorate)([l.e],C.prototype,"getLoyaltyAmount",null),Object(i.__decorate)([l.e],C.prototype,"shouldPayGiftCard",null),Object(i.__decorate)([l.e],C.prototype,"hasSelectedItem",null),Object(i.__decorate)([l.e],C.prototype,"isPaymentVerificationRedirection",null),C=Object(i.__decorate)([d.a],C);t.default=Object(s.a)(C)},Vhie:function(e,t,r){"use strict";r("ab1B"),r("aMQC"),r("z4NE"),r("2vvq");var a=r("tLQB");r.d(t,"OPERATIONS",(function(){return a.a}));r("kwwc")},WRUG:function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return s}));var a=r("d6et");const i=e=>{let{moduleName:t,moduleComponentProps:r,salesLines:i,products:s,shipments:n,resources:o,isCurrentChannel:c,imageOnly:l,showCompleteAddress:d,showTimeslot:u,telemetryContent:p,retailMultiplePickUpOptionEnabled:m,channelDeliveryOptionConfig:h,productDeliveryOptions:g}=e;return i.map(e=>{const i=s.find(t=>t.RecordId===e.ProductId)||{},y=n&&n.find(e=>{var t;return null===(t=e.ShipmentLines)||void 0===t?void 0:t.find(e=>e.ItemId===i.ItemId)});return Object(a.c)({moduleName:t,moduleComponentProps:r,product:i,shipment:y,salesLine:e,isCurrentChannel:c,resources:o,imageOnly:l,showCompleteAddress:d,showTimeslot:u,telemetryContent:p,retailMultiplePickUpOptionEnabled:m,channelDeliveryOptionConfig:h,productDeliveryOptions:g})})},s=(e,t,r,a,i,s,n,o,c,l,d)=>{if(!r||!r.SalesLines||!r.SalesLines.length)return;const{resources:u,config:{imageSettings:p},context:{actionContext:m,request:{gridSettings:h,apiSettings:{channelId:g}}}}=e;return{moduleName:t,moduleComponentProps:e,isCurrentChannel:!r.ChannelId||r.ChannelId===g,salesLines:r.SalesLines,products:a,shipments:r.Shipments,priceContext:i,resources:u,actionContext:m,gridSettings:h,imageSettings:p,showCompleteAddress:s,showTimeslot:n||!1,telemetryContent:o,retailMultiplePickUpOptionEnabled:c,channelDeliveryOptionConfig:l,productDeliveryOptions:d}}},aMQC:function(e,t,r){"use strict";r.r(t),r.d(t,"PickUpAtStoreComponent",(function(){return s})),r.d(t,"EmailDeliveryComponent",(function(){return n})),r.d(t,"LineItemComponent",(function(){return o})),r.d(t,"LineItemGroupComponent",(function(){return c})),r.d(t,"LineItemGroupComponentWithMultiplePickUp",(function(){return l})),r.d(t,"LineItemComponentWithMultiplePickUp",(function(){return d})),r.d(t,"PickUpAtStoreComponentWithMultiplePickUp",(function(){return u})),r.d(t,"LineItemsComponent",(function(){return p}));r("LR6M");var a=r("Hxoz"),i=r("cDcd");const s=e=>{let{PickUpAtStore:t,label:r,location:s}=e;return i.createElement(a.Node,Object.assign({},t),r,s)},n=e=>{let{EmailDelivery:t,label:r}=e;return i.createElement(a.Node,Object.assign({},t),r)},o=e=>{let{LineItem:t,item:r,pickUpAtStore:o,emailDelivery:c}=e;return i.createElement(a.Node,Object.assign({},t),r,o&&i.createElement(s,Object.assign({},o)),c&&i.createElement(n,Object.assign({},c)))},c=e=>{let{LineItemDeliveryGroup:t,LineItemList:r,heading:s,lineItems:n}=e;return i.createElement(a.Node,Object.assign({},t),s,i.createElement(a.Node,Object.assign({},r),n.map(e=>i.createElement(o,Object.assign({key:e.LineId},e)))))},l=e=>{let{LineItemDeliveryGroup:t,LineItemList:r,heading:s,lineItems:n,lineItemWraper:o,lineItemWraperIcon:c}=e;return i.createElement(a.Node,Object.assign({},t),c,o,s,i.createElement(a.Node,Object.assign({},r),n.map(e=>i.createElement(d,Object.assign({key:e.LineId},e)))))},d=e=>{let{LineItem:t,item:r,pickUpAtStore:s,emailDelivery:o}=e;return i.createElement(a.Node,Object.assign({},t),r,o&&i.createElement(n,Object.assign({},o)))},u=e=>{let{PickUpAtStore:t,label:r,location:s}=e;return i.createElement(a.Node,Object.assign({},t),r,s)},p=e=>{let{LineItems:t,Header:r,heading:s,editLink:n,itemsForPickup:o,itemsForShip:d,itemsForEmail:u,itemsGroupWithMulitplePickupMode:p}=e;return i.createElement(a.Node,Object.assign({},t),i.createElement(a.Node,Object.assign({},r),s,n),void 0===p&&o&&i.createElement(c,Object.assign({},o)),void 0===p&&u&&i.createElement(c,Object.assign({},u)),void 0===p&&d&&i.createElement(c,Object.assign({},d)),void 0!==p?p.map((e,t)=>i.createElement(l,Object.assign({},e,{key:t}))):null)},m=e=>{let{heading:t,lines:r}=e;return i.createElement("div",{className:"msc-order-summary-wrapper"},t,i.createElement("div",{className:"msc-order-summary__items"},r&&i.createElement(i.Fragment,null,r.subtotal,r.shipping,r.otherCharge,r.tax,r.totalDiscounts,r.loyalty,r.giftCard,r.orderTotal)))};t.default=e=>{const{canShow:t,checkoutProps:r,headerProps:s,hasSalesOrder:n,bodyProps:o,mainProps:c,mainControlProps:l,sideProps:d,sideControlFirstProps:u,sideControlSecondProps:h,termsAndConditionsProps:g,orderConfirmation:y,loading:b,alert:f,title:v,guidedForm:C,orderSummary:_,lineItems:O,placeOrderButton:x,termsAndConditions:S,keepShoppingButton:E}=e;return i.createElement(a.Module,Object.assign({},r),!n&&i.createElement(a.Node,Object.assign({},s),v),!n&&i.createElement(a.Node,Object.assign({},o),b,f,t&&i.createElement(i.Fragment,null,i.createElement(a.Node,Object.assign({},c),C,i.createElement(a.Node,Object.assign({},g),S),i.createElement(a.Node,Object.assign({},l),x,E)),i.createElement(a.Node,Object.assign({},d),_&&i.createElement(m,Object.assign({},_)),i.createElement(a.Node,Object.assign({},u),i.createElement(a.Node,Object.assign({},g),S),x,E),O&&i.createElement(p,Object.assign({},O)),i.createElement(a.Node,Object.assign({},h),i.createElement(a.Node,Object.assign({},g),S),x,E)))),n&&y)}},aSkU:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return S}));r("LR6M"),r("C7n2"),r("pSu0"),r("Hz0C"),r("BDvt"),r("EawV"),r("WVYb");var a=r("cDcd"),i=r.n(a),s=r("UdvX"),n=r("Hxoz"),o=r("hBpL"),c=r("xT9B"),l=r("Y+6K");class d{constructor(e,t,r,a,i,s,n){this.getCacheKey=()=>"SubmitUserReview",this.getCacheObjectType=()=>"SubmitUserReview",this.dataCacheType=()=>"none",this.productId=e,this.tenantId=t,this.channelId=r,this.locale=a,this.userReviewData=i,this.authorization=s,this.serviceEndpoint=n}}r("ES/9");var u=Object(c.createObservableDataAction)({id:"@msdyn365-commerce-modules/ratings-reviews/submit-user-review",action:async function(e,t){if(!function(e){return e&&!!e.productId&&!!e.tenantId}(e))return t.trace("[SubmitUserReview] Failed to submit reviews for product due to bad input "+e),"";const r=`${e.serviceEndpoint}/v2.0/reviews/product/${e.productId}/user?tenantId=${e.tenantId}&channelId=${e.channelId}&locale=`+e.locale;return Object(c.sendRequest)(r,"post",e.userReviewData,{headers:{Authorization:"id_token "+e.authorization}}).then(e=>200!==e.status&&201!==e.status?(t.trace("[SubmitUserReview] Failed to submit reviews for product"),t.trace(e.data),""):e.data).catch(e=>(t.trace("[SubmitUserReview] Failed to submit reviews for product"),t.telemetry.exception(e),t.telemetry.debug("[SubmitUserReview] Failed to submit reviews for product"),t.trace(e),""))}});const p=e=>{const t=Object(n.getPayloadObject)("click",e.telemetryContent,n.TelemetryConstant.SubmitReview),r=Object(n.getTelemetryAttributes)(e.telemetryContent,t);t.contentAction.etext=n.TelemetryConstant.Cancel;const a=Object(n.getTelemetryAttributes)(e.telemetryContent,t);return{modal:{tag:n.Modal,className:"ms-review-modal msc-modal-input-required",toggle:e.onModalToggle,applicationNode:"renderPage",isOpen:e.isOpen,returnFocusRef:e.returnRef},modalHeader:m(e),modalFooter:{tag:n.ModalFooter,className:"ms-review-modal-footer"},modalBody:{tag:n.ModalBody,className:"ms-review-modal-body"},cancelButton:i.a.createElement(n.Button,Object.assign({className:"ms-review-modal-cancel",onClick:e.onModalToggle},r),e.resources.discardReviewButtonText),submitButton:i.a.createElement(n.Button,Object.assign({className:"ms-review-modal-submit",onClick:()=>O(e)},a,{disabled:h(e)}),e.resources.submitReviewButtonText),rating:g(e),ratingLabel:y(e),titleInput:b(e),titleLabel:f(e),textInput:v(e),textLabel:C(e),privacyPolicyUrl:_(e),form:{tag:"form",className:"ms-review-modal-form",autoComplete:"off"},inputRow:{tag:"div",className:"ms-review-modal-row",autoComplete:"off"},error:i.a.createElement(n.Alert,{className:"ms-review-modal-error",isOpen:e.hasError,color:"danger"},e.resources.errorMessageText)}},m=e=>i.a.createElement(n.ModalHeader,{toggle:e.onModalToggle,className:"ms-review-modal-header"},e.userReview&&e.userReview.reviewId?e.resources.editReviewModalTitle:e.resources.writeReviewModalTitle),h=e=>!e.rating||!x(e.reviewText)||!x(e.reviewTitle),g=e=>i.a.createElement(o.n,{readOnly:!1,avgRating:0,ariaLabel:e.resources.selectRatingAriaLabel,initialRating:e.rating,context:e.context,id:e.parentId,typeName:e.parentType,data:{},key:"ratings",onChange:e.onRatingChange}),y=e=>i.a.createElement("label",{className:"ms-review-modal-rating-label",key:"ratingsLabel"},e.resources.selectRatingLabel,"*"),b=e=>{const t=e.context.app.config.reviewTitleMaxLength;return i.a.createElement("input",{maxLength:t,id:"reviewTitle-"+e.renderContextId,onChange:e.onTitleChange,value:e.reviewTitle,"aria-required":"true",className:"ms-review-modal-title"})},f=e=>i.a.createElement("label",{className:"ms-review-modal-title-label",htmlFor:"reviewTitle-"+e.renderContextId},e.resources.reviewTitleLabel),v=e=>{const t=e.context.app.config.reviewTextMaxLength;return i.a.createElement("textarea",{maxLength:t,className:"ms-review-modal-text",id:"reviewTextArea-"+e.renderContextId,onChange:e.onTextChange,rows:t/50,value:e.reviewText,"aria-required":"true"})},C=e=>i.a.createElement("label",{htmlFor:"reviewTextArea-"+e.renderContextId,className:"ms-review-modal-text-label"},e.resources.reviewTextLabel),_=e=>{const t=e.resources.privacyPolicyTextFormat.split("{0}"),r=e.resources.privacyPolicyTextFormat.startsWith("{0}"),a=e.resources.privacyPolicyTextFormat.endsWith("{0}"),s=Object(c.getUrlSync)("rnrPrivacyPolicy",e.context.actionContext),o=Object(n.getPayloadObject)("click",e.telemetryContent,n.TelemetryConstant.PrivacyPolicy),l=Object(n.getTelemetryAttributes)(e.telemetryContent,o);return i.a.createElement("p",{className:"ms-review-modal-policy"},r?"":t[0],i.a.createElement("a",Object.assign({href:s,target:"_blank",className:"msc-link"},l),e.resources.privacyPolicyTitle),a?"":r?t[0]:t[1])},O=e=>{e.product&&S(e.product,e.reviewTitle,e.reviewText,e.rating,e.context,e.userReview,e.onReviewComplete)},x=e=>e.replace(new RegExp("\\r?\\n|\\r+","g")," ").replace(new RegExp("\\s+","g")," ").trim(),S=(e,t,r,a,i,n,o)=>{const{request:c}=i,{user:p}=c;if(p&&c){const m=new d(e.RecordId.toString(),Object(s.getRnrPartnerId)(i.actionContext),c.apiSettings.channelId.toString(),c.locale,{productName:e&&e.Name,rating:a,reviewText:x(r),title:x(t),userEmail:p.emailAddress,userName:p.name},c.user.token,Object(s.getRnrAuthEndpointId)(i.actionContext));u(m,i.actionContext).then(e=>{const s=e?{rating:a,title:x(t),reviewText:x(r),submittedDateTime:new Date,helpfulPositive:n?n.helpfulPositive:0,helpfulNegative:n?n.helpfulNegative:0,reviewId:e,userName:c.user.firstName||c.user.name}:n,d=new l.a(m.productId,m.tenantId,m.authorization,m.serviceEndpoint);i.actionContext.update(d,s),o&&o(!!e)}).catch(()=>{const t=e.RecordId;i.telemetry.error("Failed to submit review for product with recordId: "+t),i.telemetry.debug("Failed to submit review for product with recordId: "+t),o&&o(!1)})}}},ab1B:function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=(r("y/s1"),r("ES/9"),r("9VTn"),r("LR6M"),r("mrSG")),s=r("K542"),n=r("UdvX"),o=r("Hxoz"),c=r("xT9B"),l=r("57kZ"),d=r("TSYQ"),u=r.n(d),p=r("E+oP"),m=r.n(p),h=r("2vnA"),g=r("okNM"),y=r("cDcd"),b=r("pIYa"),f=r("+YIh"),v=r("skq5"),C=r("xZro"),_=r("qTyw"),O=r("zn29");function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function S(e){for(var t=1;tthis.props.config.checkoutHeading.text=e.target.value,this.isLoading=()=>!this.cartStatus||"LOADING"===this.cartStatus||this.isEmptyCart||!this.state.isValidationPassed,this.getSlotItems=e=>{const{slots:t}=this.props;return t&&t[e]&&t[e].length?t[e]:void 0},this.onPlaceOrder=async()=>{var e;const{resources:{checkoutOutOfStockErrorMessage:t,genericErrorMessage:r,invalidCartVersionErrorMessage:a},context:{actionContext:i,app:{config:{enableStockCheck:s=!1}}},slots:{orderConfirmation:n},data:{checkout:o}}=this.props;if(null!==(e=this.props.data.checkout.result)&&void 0!==e&&e.checkoutCart.hasInvoiceLine||!s||!(await this.isOverMaxQuantity((await o).checkoutCart.cart))){var c;const e=n&&n.length>0,t=await this.updateCartLineEmailAddress((null===(c=this.props.data.checkout.result)||void 0===c?void 0:c.guestCheckoutEmail)||"");await Object(O.a)(i,this.props.data.checkout.result,this.props.data.products.result,!e,t).catch(e=>{let t=r;e&&"Microsoft_Dynamics_Commerce_Runtime_InvalidCartVersion"===e.name&&(t=a),this.setState({errorMessage:t}),this.props.telemetry.exception(e)})}else this.setState({errorMessage:t}),this.props.context.telemetry.error(t)},this.updateCartLineEmailAddress=async e=>{var t,r,a;const i=null===(t=this.props.context.request.channel)||void 0===t?void 0:t.EmailDeliveryModeCode,s=null===(r=this.props.data.checkout.result)||void 0===r||null===(a=r.checkoutCart.cart.CartLines)||void 0===a?void 0:a.filter(e=>e.DeliveryMode&&""!==e.DeliveryMode&&e.DeliveryMode===i);let n;if(s&&s.length>0){const t=s.map(t=>({LineId:t.LineId,DeliverySpecification:{DeliveryModeId:i,DeliveryPreferenceTypeValue:3,ElectronicDeliveryEmailAddress:e}}));await Object(l.u)({callerContext:this.props.context.actionContext},(await this.props.data.checkout).checkoutCart.cart.Id,t).then(e=>{n=e.Version}).catch(e=>{throw this.props.context.actionContext.telemetry.exception(e),new Error("[updateLineDeliverySpecificationsAsync] Unable to update electronic delivery email address in cart")})}return n},this.isOverMaxQuantity=async e=>{var t;let r=!1;const a=null===(t=this.props.context.request.channel)||void 0===t?void 0:t.EmailDeliveryModeCode;return await Object(n.getAvailabilitiesForCartLineItems)(new n.ProductAvailabilitiesForCartLineItems(this.props.context.actionContext.requestContext.apiSettings),this.props.context.actionContext).then(t=>{var i;null===(i=e.CartLines)||void 0===i||i.map(e=>{if(e.DeliveryMode!==a&&t&&t.length>0){const a=t.find(t=>{var r;return(null===(r=t.ProductAvailableQuantity)||void 0===r?void 0:r.ProductId)===e.ProductId});null!=a&&a.IsProductAvailable&&void 0!==a.ProductAvailableQuantity.AvailableQuantity&&e.Quantity&&e.Quantity<=a.ProductAvailableQuantity.AvailableQuantity||(r=!0)}})}).catch(e=>{throw this.props.context.actionContext.telemetry.exception(e),new Error("[getAvailabilitiesForCartLineItems] Unable to get availabilities for products in checkout cart")}),r},this.getActiveChildModuleStates=()=>{const{childIds:e,getModule:t}=this.props.moduleState;return e.map(t).filter(e=>!!e&&!e.isDisabled&&e.hasModuleState)},this.onContainerReady=()=>{this.getActiveChildModuleStates().forEach(e=>{e.isReady&&e.onContainerReady&&e.onContainerReady()})},this.redirectToCartPage=e=>{const t=c.getUrlSync("cart",this.props.context.actionContext)||"";window&&t?window.location.assign(t):(this.setState({errorMessage:this.props.resources.genericErrorMessage}),this.props.context.telemetry.error(e))},this.validateForCheckout=function(){var t,r,a,i,s,n;let o=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const c="Cart doesn't pass validation, but no editCartLink found",d=e.props.data.checkout.result.checkoutCart.cart,{Id:u,Version:p}=d,m=(null===(t=e.props.data.featureState.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature"===e.Name))||void 0===r?void 0:r.IsEnabled)||!1,h=null===(a=e.props.context)||void 0===a||null===(i=a.request)||void 0===i||null===(s=i.app)||void 0===s||null===(n=s.platform)||void 0===n?void 0:n.enableDefaultOrderQuantityLimits,g=e.props.data.customerInformation.result,y="all"===h||g&&("b2b"===h&&g.IsB2b||"b2c"===h&&!g.IsB2b);m&&y?p&&u?Object(l.v)({callerContext:e.props.context.actionContext},u,p).then(t=>{var r;0!==(null===(r=t.ValidationFailuresByCartLines)||void 0===r?void 0:r.length)?e.redirectToCartPage(c):e.setState({isValidationPassed:!0})}).catch(t=>{if(e.props.telemetry.warning(t),e.props.telemetry.debug("Unable to validate Cart"),o&&"Microsoft_Dynamics_Commerce_Runtime_InvalidCartVersion"===t.name){var r;const t=null===(r=e.props.data.checkout.result)||void 0===r?void 0:r.checkoutCart;null==t||t.refreshCart({}).then(()=>e.validateForCheckout(!1)).catch(t=>{e.props.telemetry.warning(t.message),e.props.telemetry.debug("Unable to refresh Cart")})}else e.redirectToCartPage(c)}):e.redirectToCartPage(c):e.setState({isValidationPassed:!0})}}get cartStatus(){return this.props.data.checkout.status}get isEmptyCart(){var e,t;if(this.isEditorialMode)return!1;const r=null===(e=this.props.data.checkout.result)||void 0===e||null===(t=e.checkoutCart)||void 0===t?void 0:t.cart;return!("SUCCESS"!==this.cartStatus||!r||m()(r)||r.CartLines&&0!==r.CartLines.length)}get hasError(){var e,t;const r=null===(e=this.props.data.checkout.result)||void 0===e||null===(t=e.checkoutCart)||void 0===t?void 0:t.cart;return"FAILED"===this.cartStatus||"SUCCESS"===this.cartStatus&&(!r||m()(r))}get isEditorialMode(){return this.props.context.request.params.isEditor}get canPlaceOrder(){var e;const t=this.props.data.checkout.result&&(null===(e=this.props.data.checkout.result)||void 0===e?void 0:e.isTermsAndConditionAccepted);return this.props.moduleState.isReady&&(void 0===t||t)&&""===this.state.errorMessage}get isCartReady(){var e,t;return!(null===(e=this.props.data.checkout.result)||void 0===e||null===(t=e.checkoutCart)||void 0===t||!t.cart)&&"LOADING"!==this.props.data.customerInformation.status&&"LOADING"!==this.props.data.featureState.status}componentDidMount(){const{resources:{genericErrorMessage:e}}=this.props;Object(h.u)(()=>this.hasError,()=>{this.setState({errorMessage:e}),this.props.context.telemetry.error("Failed to get cart")}),Object(h.u)(()=>this.isEmptyCart,()=>{this.redirectToCartPage("Cart is empty, but no editCartLink found")}),Object(h.u)(()=>this.isCartReady,()=>{this.validateForCheckout()}),Object(h.o)(()=>this.props.moduleState.isReady,()=>{this.onContainerReady()})}render(){var e;const{moduleState:t,config:{className:r,checkoutHeading:a,disableGuidedCheckoutFlow:i},resources:s}=this.props,{errorMessage:n}=this.state,{backToShopping:l,placeOrderText:d,confirmPaymentText:p,cookieConsentRequiredMessage:m,genericErrorMessage:h}=s,g=u()("ms-checkout",r),O=this.getSlotItems("checkoutInformation"),x=this.props.context.request&&this.props.context.request.cookies&&this.props.context.request.cookies.isConsentGiven&&this.props.context.request.cookies.isConsentGiven(),E=this.props.context.request&&this.props.context.request.device&&"Mobile"===this.props.context.request.device.Type,w=c.getUrlSync("home",this.props.context.actionContext)||"",T=c.getUrlSync("cart",this.props.context.actionContext)||"",P=this.props.slots.termsAndConditions&&this.props.slots.termsAndConditions.length>0&&this.props.slots.termsAndConditions[0],I=Object(o.getPayloadObject)("click",this.telemetryContent,o.TelemetryConstant.BackToShopping),N=Object(o.getTelemetryAttributes)(this.telemetryContent,I),k=this.props.data.checkout&&(null===(e=this.props.data.checkout.result)||void 0===e?void 0:e.checkoutCart.hasInvoiceLine),j=k?p:d;let L=S(S({},this.props),{},{className:g,isEmptyCart:this.isEmptyCart,isConsentGiven:x,hasError:this.hasError,hasSalesOrder:this.props.data.checkout&&void 0!==this.props.data.checkout.result&&void 0!==this.props.data.checkout.result.salesOrder,cartStatus:this.cartStatus,isMobile:E,backToShoppingUrl:w,editCartLink:T,isEditorialMode:this.isEditorialMode,orderConfirmation:this.props.slots.orderConfirmation&&this.props.slots.orderConfirmation.length>0?this.props.slots.orderConfirmation[0]:void 0,checkoutProps:{moduleProps:this.props,className:g},headerProps:{className:"ms-checkout__head"},bodyProps:{className:"ms-checkout__body"},mainProps:{className:"ms-checkout__main"},mainControlProps:{className:"ms-checkout__main-control"},sideProps:{className:"ms-checkout__side"},sideControlFirstProps:{className:"ms-checkout__side-control-first"},sideControlSecondProps:{className:"ms-checkout__side-control-second"},termsAndConditionsProps:{className:"ms-checkout__terms-and-conditions"},title:a&&this.renderMsdyn365Text(a)});return L=!1===x?S(S({},L),{},{alert:y.createElement(b.a,Object.assign({},{message:m}))}):this.isLoading()?S(S({},L),{},{loading:y.createElement(o.Waiting,{className:"msc-waiting-circular msc-waiting-lg"})}):this.hasError?S(S({},L),{},{alert:y.createElement(b.a,Object.assign({},{message:h}))}):S(S({},L),{},{alert:n&&y.createElement(b.a,Object.assign({},{message:n})),canShow:!0,guidedForm:O?y.createElement(C.a,Object.assign({},{items:O,moduleState:t,disableGuidedCheckoutFlow:i,resource:s,requestContext:this.props.context,isMobile:E,isEditor:this.isEditorialMode,telemetryContent:this.telemetryContent})):void 0,orderSummary:Object(v.a)(this.props),lineItems:k?void 0:Object(f.a)(this.props,this.telemetryContent),placeOrderButton:y.createElement(_.a,Object.assign({},{checkoutBtnText:j,placeOrder:this.onPlaceOrder,canPlaceOrder:this.canPlaceOrder,telemetryContent:this.telemetryContent})),termsAndConditions:P,keepShoppingButton:w&&y.createElement(o.Button,Object.assign({className:"ms-checkout__btn-keep-shopping msc-btn",title:l,color:"secondary",href:w},N),l)}),this.props.renderView(L)}renderMsdyn365Text(e){return y.createElement(c.Text,Object.assign({},e,{tag:e.tag||"h2",className:"ms-checkout__title",text:e.text,editProps:{onEdit:this.handleCheckoutHeadingChange,requestContext:this.props.context.request}}))}};Object(i.__decorate)([h.e],E.prototype,"cartStatus",null),Object(i.__decorate)([h.e],E.prototype,"isEmptyCart",null),Object(i.__decorate)([h.e],E.prototype,"hasError",null),Object(i.__decorate)([h.e],E.prototype,"isEditorialMode",null),Object(i.__decorate)([h.e],E.prototype,"canPlaceOrder",null),Object(i.__decorate)([h.e],E.prototype,"isCartReady",null),E=Object(i.__decorate)([s.a,g.a],E),t.default=E},d6et:function(e,t,r){"use strict";r.d(t,"c",(function(){return p})),r.d(t,"a",(function(){return m})),r.d(t,"f",(function(){return h})),r.d(t,"e",(function(){return g})),r.d(t,"b",(function(){return y})),r.d(t,"d",(function(){return b}));r("LR6M"),r("BDvt");var a=r("UdvX"),i=r("Hxoz"),s=r("hBpL"),n=r("xT9B"),o=r("cDcd");const c=e=>{let{moduleName:t,address:r,deliveryType:a,showCompleteAddress:i,resource:{shipToLabel:s,storeLabel:n,phoneLabel:c}}=e;return o.createElement("div",{className:`${t}__address deliveryType-${a}`},o.createElement("div",{className:t+"__address-header"},"ship"!==a?n:s),r.Name&&o.createElement("span",{className:t+"__address-name"},r.Name),i?o.createElement(o.Fragment,null,r.Street&&o.createElement("span",{className:t+"__address-street"},r.Street," "),r.City&&o.createElement("span",{className:t+"__address-city"},r.City),r.State&&o.createElement("span",{className:t+"__address-state"},", "+r.State),r.County&&o.createElement("span",{className:t+"__address-county"},", "+r.County),r.ZipCode&&o.createElement("span",{className:t+"__address-zipcode"}," "+r.ZipCode),r.ThreeLetterISORegionName&&o.createElement("span",{className:t+"__address-threeletterisoregionname"}," "+r.ThreeLetterISORegionName),r.Phone&&o.createElement("span",{className:t+"__address-phone"},o.createElement("span",{className:t+"__address-phone-label"},c),o.createElement("span",{className:t+"__address-phone-icon","aria-hidden":"true"}),r.Phone)):r.FullAddress&&o.createElement("span",{className:t+"__address-full-address"},r.FullAddress))};var l=o.memo(c),d=r("hxuE"),u=r("x1rJ");const p=e=>{let{moduleName:t,moduleComponentProps:{id:r,typeName:c,context:p,telemetry:f,config:{imageSettings:v,showShippingChargesForLineItems:C}},showCompleteAddress:_,product:O,shipment:x,salesLine:S,isCurrentChannel:E,imageOnly:w,showTimeslot:T,resources:{productDimensionTypeSize:P,productDimensionTypeColor:I,productDimensionTypeStyle:N,salesLineQuantityText:k,configString:j,shipToLabel:L,storeLabel:R,phoneLabel:D,phoneAriaLabel:A,buyItAgainLabel:M,buyItAgainAriaLabel:B,orderStatusReadyForPickup:F,orderStatusProcessing:U,orderStatusShipped:q,orderStatusPickedUp:G,orderStatusCanceled:H,orderStatusEmailed:V,pickedUpSalesLines:Q,deliveredSalesLines:$,carryOutSalesLines:z,emailSalesLines:W,trackingLabel:Z,trackingAriaLabel:K,trackingComingSoonLabel:Y,discountStringText:X,pickupDateTimeslotText:J,pickupTimeslotPlaceHolder:ee,shippingCharges:te},telemetryContent:re,retailMultiplePickUpOptionEnabled:ae,channelDeliveryOptionConfig:ie,productDeliveryOptions:se}=e;const ne={canceled:H,readyForPickup:F,pickedUp:G,processing:U,shipped:q,unknown:void 0,emailed:V},oe={pickUp:Q,ship:$,carryOut:z,email:W},ce=p.request.gridSettings,le=p.request.channel&&p.request.channel.PickupDeliveryModeCode,de=p.request.channel&&p.request.channel.EmailDeliveryModeCode,ue=Object(a.getProductUrlSync)(O,p.actionContext,void 0),pe=y(O,S.DeliveryMode,se,ae),me=m(S.DeliveryMode,le,ae,ie)?pe:de&&""!==de&&de===S.DeliveryMode?"email":S.DeliveryMode?"ship":"carryOut",he=Object(u.e)(me,S.SalesStatusValue,pe),ge=ne[he],ye=ge&&o.createElement(d.a,{className:t+"__sales-status",label:ge}),be=h(me,oe,ae),fe=g(me,oe),ve=ae?b(S,me):null,Ce=ae?be&&o.createElement(d.a,{className:`${t}__devliery-type ${fe}-icon`,label:`${be} ${ve}`}):be&&o.createElement(d.a,{className:t+"__devliery-type",label:be}),_e=E&&"ship"===me&&o.createElement("span",{className:t+"__tracking-info"},Z,x?o.createElement("a",{className:t+"__tracking-link",href:x.TrackingUrl,"aria-label":K},x.TrackingNumber):o.createElement(o.Fragment,null,Y)),Oe=Object(i.getPayloadObject)("click",re,i.TelemetryConstant.BuyItAgain),xe=Object(i.getTelemetryAttributes)(re,Oe),Se=Object(a.getFallbackImageUrl)(O.ItemId,p.actionContext.requestContext.apiSettings),Ee=T&&me===pe&&void 0!==S.PickupTimeslotStartDateTime&&void 0!==S.PickupTimeslotEndDateTime,we=Ee?Object(u.c)(ee,S.PickupTimeslotStartDateTime,S.PickupTimeslotEndDateTime,p.request.locale):"",Te=Ee&&o.createElement("div",{className:t+"__pickup-date-timeslot"},o.createElement("div",{className:t+"__pickup-date-timeslot-title"},J),o.createElement("div",{className:t+"__pickup-date-timeslot-content"},we));return v&&(v.cropFocalRegion=!0),{data:{salesLine:S,productUrl:ue,deliveryType:me,salesStatus:he,product:O,shipment:x},salesLineProps:{className:t+"__sales-line"},salesLine:w?o.createElement("div",{className:t+"__sales-line-picture"},o.createElement(n.Image,{className:t+"__sales-line-image",altText:O.Name,src:O.PrimaryImageUrl||"",fallBackSrc:Se,gridSettings:ce,imageSettings:v||u.b,loadFailureBehavior:"empty"})):o.createElement(s.g,{id:r,typeName:c,context:p,resources:{sizeString:P,colorString:I,styleString:N,quantityDisplayString:k,configString:j,discountStringText:X,inputQuantityAriaLabel:"",originalPriceText:"",currentPriceText:"",shippingChargesText:te||""},primaryImageUrl:O.PrimaryImageUrl,productUrl:ue,imageSettings:v||u.b,gridSettings:ce,isSalesLine:!0,data:{cartLine:S,product:O},showShippingChargesForLineItems:C,channelDeliveryOptionConfig:ae?ie:void 0}),address:S.ShippingAddress&&o.createElement(l,{moduleName:t,address:S.ShippingAddress,resource:{shipToLabel:L,storeLabel:R,phoneLabel:D,phoneAriaLabel:A},deliveryType:me,showCompleteAddress:_}),deliveryType:Ce,salesStatus:ye,trackingInfo:_e,buyAgainButton:ae?E&&o.createElement("a",Object.assign({href:ue,"aria-label":null!=O&&O.Name&&B?(B||"").replace("{productName}",null==O?void 0:O.Name):"",className:t+"__sales-line-btn-buy-it-again-link"},xe),M):E&&o.createElement(i.Button,Object.assign({href:ue,"aria-label":null!=O&&O.Name&&B?(B||"").replace("{productName}",null==O?void 0:O.Name):"",className:t+"__sales-line-btn-buy-it-again"},xe),M),pickupDateTimeslot:Te}},m=(e,t,r,a,i)=>{var s;return r?e===(null==a||null===(s=a.PickupDeliveryModeCodes)||void 0===s?void 0:s.find(t=>t===e)):!!t&&""!==t&&t===e},h=(e,t,r)=>{if(!r)return t[e];switch(e){case"ship":case"carryout":case"email":return t[e];default:return e}},g=(e,t,r)=>{switch(e){case"ship":case"carryout":case"email":return e;default:return"pickUp"}},y=(e,t,r,i)=>{let s="pickup";if(a.ArrayExtensions.hasElements(r)&&void 0!==e){var n,o,c,l;let a;a=null==r?void 0:r.find(t=>t&&t.ProductId===e.RecordId);const i=null!==(n=a)&&void 0!==n&&n.DeliveryOptions?null===(o=a)||void 0===o||null===(c=o.DeliveryOptions)||void 0===c||null===(l=c.find(e=>e.Code===t))||void 0===l?void 0:l.Description:s;void 0!==i&&(s=i)}return s},b=(e,t)=>{var r;switch(t){case"ship":case"email":case"carryout":return"";default:return", "+(null===(r=e.ShippingAddress)||void 0===r?void 0:r.Name)}}},dBm0:function(e,t,r){"use strict";r.r(t),r.d(t,"GiftCardBalanceCheck",(function(){return h}));var a=r("rePB"),i=(r("y/s1"),r("ES/9"),r("HBRN"),r("C7n2"),r("9VTn"),r("cDcd")),s=r("MVz4"),n=r("TSYQ"),o=r.n(n),c=r("Vhie"),l=(r("BDvt"),r("EawV"),r("WVYb"),r("Hxoz"));const d=e=>{const{errorMessage:t,inputRef:r,inputPinRef:a,inputExpRef:s,giftCardNumber:n,giftCardPin:c,giftCardExp:d,onEnterGiftCardNumber:u,onEnterGiftCardPin:p,onEnterGiftCardExp:m,onApplyGiftCard:h,supportExternalGiftCard:g,additionalFields:y,resources:{balanceCheckButton:b,giftCardFormLabel:f,giftCardNumberLabel:v,giftCardPinLabel:C,giftCardExpLabel:_,giftCardAlertLabel:O,giftCardPinPlaceholderText:x,giftCardExpPlaceholderText:S}}=e,E=async e=>{e.preventDefault(),await h()},w={className:o()("ms-gift-card-balance-check__form",{"is-invalid":!!t}),onSubmit:E,tag:"form"},T=i.createElement("label",{id:"ms-gift-card-balance-check__label",className:"ms-gift-card-balance-check__input-label"},f),P=i.createElement("label",{id:"ms-gift-card-balance-check__input-pin-label",className:"ms-gift-card-balance-check__input-pin-label"},C),I=i.createElement("label",{id:"ms-gift-card-balance-check__input-exp-label",className:"ms-gift-card-balance-check__input-exp-label"},_),N=i.createElement("label",{id:"ms-gift-card-balance-check__input-alert",className:"ms-gift-card-balance-check__input-alert-label"},O),k=i.createElement(l.Alert,{tag:"span",id:"ms-gift-card-balance-check__error",className:"ms-gift-card-balance-check__input-error",role:"alert",assertive:!1,fade:!1,includeAlertClass:!1,isOpen:!!t},t),j=i.createElement("input",{ref:r,type:"text",className:"ms-gift-card-balance-check__input-text form-control","aria-label":v,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");u(t)},value:n,"aria-labelledby":"ms-gift-card-balance-check__label ms-gift-card-balance-check__error"}),L=i.createElement("input",{ref:a,type:"text",className:"ms-gift-card-balance-check__input-pin-text form-contol","aria-label":C,placeholder:x,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");p(t)},value:c,"aria-labelledby":"ms-gift-card-balance-check__label ms-gift-card-balance-check__error"}),R=i.createElement("input",{ref:s,type:"text",className:"ms-gift-card-balance-check__input-exp-text form-contol","aria-label":_,placeholder:S,onChange:e=>{const t=(e.target.value||"").replace(new RegExp("[<>]","gi"),"");m(t)},value:d,"aria-labelledby":"ms-gift-card-balance-check__label ms-gift-card-balance-check__error"}),D=i.createElement(l.Button,{className:"ms-gift-card-balance-check__btn-apply",onClick:E,"aria-label":b,disabled:!n},b);let A=!1,M=!1;switch(y){case"pin":A=!0;break;case"expirationDate":M=!0;break;case"pinAndExpirationDate":A=!0,M=!0}return{formProps:w,label:T,inputPinLabel:P,inputExpLabel:I,alert:k,inputProps:{className:"ms-gift-card-balance-check__input-fields"},inputNumProps:{className:"ms-gift-card-balance-check__input-num-fields"},inputPinProps:{className:"ms-gift-card-balance-check__input-pin-fields"},inputExpProps:{className:"ms-gift-card-balance-check__input-exp-fields"},inputNumber:j,inputPin:L,inputExp:R,applyButton:D,supportExternalGiftCard:g,showGiftCardPinInput:A,showGiftCardExpInput:M,alertFieldLabel:N}},u=e=>{let{giftCard:t,getFormattedPrice:r,resources:{enteredGiftCardLabel:a,giftCardAvailableBalanceLabel:s}}=e;const n=r(t.Balance,t.CardCurrencyCode),o=(t.Id||"").substr(-4),c=i.createElement("span",{className:"ms-gift-card-balance-check__item-text"},a," ",o," (",s," ",i.createElement("span",{className:"ms-gift-card-balance-check__balance"},n),")");return{itemProps:{className:"ms-gift-card-balance-check__item"},id:t&&t.Id,selectedGiftCard:c}};function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function m(e){for(var t=1;t!(!this.props.context.request.user.isAuthenticated&&"external"!==this.props.context.app.config.giftCardSupported),this._getFormattedPrice=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return e.props.context.cultureFormatter.formatCurrency(t,r)},this._enterGiftCardNumber=e=>{this.setState({giftCardNumber:e}),this._clearError()},this._enterGiftCardPin=e=>{this.setState({giftCardPin:e}),this._clearError()},this._enterGiftCardExp=e=>{this.setState({giftCardExp:e}),this._clearError()},this._clearError=()=>{this.setState({errorMessage:""})},this._setError=e=>{this.props.telemetry.error("Error",e),this.props.telemetry.debug("Error",e),this.setState({errorMessage:e})},this._applyGiftCard=async()=>{if(this.state.isFetchingGiftCard)return;this.setState({isFetchingGiftCard:!0});const e=this.state.giftCardNumber.trim(),t=this.state.giftCardPin.trim(),r=this.state.giftCardExp.trim(),a=await this._getGiftCardTypes(e),i=a&&a[0],s=i&&i.IsPinRequired,n=i&&i.IsExpirationDateRequired,o=i&&i.PaymentMethodId,c=await this._getGiftCard(e,t,r,s,n,o);if(c)return this._clearError(),this.setState({giftCardNumber:"",giftCardPin:"",giftCardExp:"",isFetchingGiftCard:!1,giftCard:c}),Promise.resolve();{const e=this.inputRef&&this.inputRef.current&&this.inputRef.current.focus&&this.inputRef.current;e&&e.focus(),this.setState({isFetchingGiftCard:!1,giftCard:void 0})}},this._findGiftcardTenderTypes=(e,t,r)=>{let a;switch(r){case"internal":a=e.filter(e=>e.OperationId===t&&""===e.ConnectorId);break;case"external":a=e.filter(e=>e.OperationId===t&&""!==e.ConnectorId);break;default:throw new Error("Invalid gift card type")}if(a)return a.map(e=>e.TenderTypeId||"")},this._getGiftCard=async(e,t,r,a,i,n)=>{const{resources:{invalidCardTypeError:o,noBalanceError:l,invalidCardInfoError:d,noCardPinError:u,noCardExpError:p}}=this.props,m=this.props.context.app.config.giftCardSupported;if(!n)return;const h=await Object(s.s)({callerContext:this.props.context.actionContext,queryResultSettings:{}}).catch(e=>{throw e});if(!h)throw new Error("Fail to get gift card tender line");const g=this._findGiftcardTenderTypes(h,c.OPERATIONS.PayGiftCertificate,"internal"),y=this._findGiftcardTenderTypes(h,c.OPERATIONS.PayGiftCertificate,"external");switch(m){case void 0:case"internal":if(null==g||!g.includes(n))return void this._setError(o);break;case"external":if(null==y||!y.includes(n))return void this._setError(o);break;case"both":if(!(null!=g&&g.includes(n)||null!=y&&y.includes(n)))return void this._setError(o);break;default:throw new Error("Unsupported gift card type")}if(!this.props.context.request.user.isAuthenticated&&null!=g&&g.includes(n))return void this._setError(o);if(a&&""===t)return void this._setError(u);if(i&&""===r)return void this._setError(p);const b=parseInt(r.split("/")[0],10),f=parseInt(r.split("/")[1],10);return Object(s.l)({callerContext:this.props.context.actionContext},e,n,t,b,f).then(e=>{if(e.Balance&&0!==e.Balance)return e;this._setError(l)}).catch(e=>{this._setError(d)})},this._getGiftCardTypes=async e=>{const{resources:{emptyInputError:t,invalidCodeError:r}}=this.props;if(!e)return void this._setError(t);return Object(s.u)({callerContext:this.props.context.actionContext},e,7).then(e=>{if(e&&0!==e.length&&void 0!==e[0])return e;this._setError(r)}).catch(e=>{this._setError(r)})}}render(){const{config:{className:e,showAdditionalFields:t},resources:r}=this.props,{errorMessage:a,giftCardNumber:i,giftCardPin:s,giftCardExp:n}=this.state,c=this.props.context.app.config.giftCardSupported;if(!this._isEnabled())return this.props.context.telemetry.error("Gift card balance check is not supported, module wont render"),null;const l="internal"!==c,p=o()("ms-gift-card-balance-check",e),h=m(m(m({},this.props),this.state),{},{className:p,giftCardBalanceCheckProps:{moduleProps:this.props,className:p},enterGiftCardNumber:this._enterGiftCardNumber,enterGiftCardPin:this._enterGiftCardPin,enterGiftCardExp:this._enterGiftCardExp,applyGiftCard:this._applyGiftCard,form:d({errorMessage:a,giftCardNumber:i,giftCardPin:s,giftCardExp:n,inputRef:this.inputRef,inputPinRef:this.inputPinRef,inputExpRef:this.inputExpRef,resources:r,supportExternalGiftCard:l,additionalFields:t,onEnterGiftCardNumber:this._enterGiftCardNumber,onEnterGiftCardPin:this._enterGiftCardPin,onEnterGiftCardExp:this._enterGiftCardExp,onApplyGiftCard:this._applyGiftCard}),item:this.state.giftCard&&u({giftCard:this.state.giftCard,getFormattedPrice:this._getFormattedPrice,resources:r})});return this.props.renderView(h)}}t.default=h},gA8i:function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=r("Hxoz"),s=r("xT9B"),n=r("TSYQ"),o=r.n(n),c=r("cDcd"),l=r.n(c),d=r("aSkU"),u=r("9+G5");r("LR6M");const p=e=>l.a.createElement("p",{className:"ms-write-review__sign-in"},e.text),m=e=>{const{text:t,href:r,ariaLabel:a,telemetryContent:s}=e,n=Object(i.getPayloadObject)("click",s,i.TelemetryConstant.SignIn),o=Object(i.getTelemetryAttributes)(s,n);return l.a.createElement("a",Object.assign({href:r,className:"ms-write-review__sign-in-btn msc-btn","aria-label":a},o),t)},h=e=>{const{text:t,onClick:r,ariaLabel:a,innerRef:s,telemetryContent:n,id:o}=e,c=Object(i.getPayloadObject)("click",n,i.TelemetryConstant.WriteReview),d=Object(i.getTelemetryAttributes)(n,c);return l.a.createElement("button",Object.assign({id:o,className:"ms-write-review__toggle msc-btn","aria-label":a,onClick:r,ref:s},d),t)};function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function y(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this._onTitleChange=e=>{this.writeReviewCallbacks.updateReviewTitle(e.target.value)},this._onTextChange=e=>{this.writeReviewCallbacks.updateReviewText(e.target.value)},this._onRatingChange=e=>{this.writeReviewCallbacks.updateRating(e)},this._toggleReviewModal=()=>{const e=this.props.data.userReview.result;this.state.isReviewModalOpen?this.setState({isReviewModalOpen:!1,hasReviewError:!1}):e?this.setState({isReviewModalOpen:!0,reviewText:e.reviewText,reviewTitle:e.title,rating:e.rating}):this.setState({isReviewModalOpen:!0,reviewText:"",reviewTitle:"",rating:0})},this.writeReviewCallbacks={toggleModal:this._toggleReviewModal,updateReviewTitle:e=>{this.setState({reviewTitle:e})},updateReviewText:e=>{this.setState({reviewText:e})},updateRating:e=>{this.setState({rating:e})},onReviewSubmitted:e=>{e?this.setState({isReviewModalOpen:!1,hasReviewError:!1}):this.setState({hasReviewError:!0})},submitReview:d.b};const{userReview:{result:t}}=this.props.data;this._toggleReviewModal=this._toggleReviewModal.bind(this),this._modalToggleRef=l.a.createRef();const r=t?t.rating:0,a=t?t.title:"",s=t?t.reviewText:"";this.state={isReviewModalOpen:!1,rating:r,reviewTitle:a,reviewText:s,hasReviewError:!1},this.telemetryContent=Object(i.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry)}render(){const{resources:e}=this.props,{className:t,heading:r}=this.props.config,{product:{result:a},userReview:{result:i}}=this.props.data,n=this.props.context&&this.props.context.request&&this.props.context.request.user,c=o()("ms-write-review","msc-modal-input-required",t),d=y(y({},this.props),{},{state:this.state,className:c,moduleProps:{moduleProps:this.props,className:c,id:null},callbacks:this.writeReviewCallbacks,signInMessage:l.a.createElement(p,{text:e.signInMessage}),signInButton:l.a.createElement(m,{text:e.signInLabel,ariaLabel:e.signInAriaLabel,href:n.signInUrl,telemetryContent:this.telemetryContent}),modalToggle:a&&l.a.createElement(h,{text:i?e.editReviewButtonText:e.reviewButtonLabel,ariaLabel:e.reviewButtonLabel,innerRef:this._modalToggleRef,onClick:this._toggleReviewModal,id:u.b,telemetryContent:this.telemetryContent}),reviewModal:this._buildUserReviewModal(),heading:r&&r.text&&l.a.createElement(s.Text,{className:"ms-write-review__heading",tag:r.tag||"h2",text:r.text,editProps:{onEdit:this.handleHeadingChange,requestContext:this.props.context.request}})});return this.props.renderView(d)}_buildUserReviewModal(){return Object(d.a)({userReview:this.props.data.userReview.result,product:this.props.data.product.result,resources:y({},this.props.resources),context:this.props.context,parentId:this.props.id,parentType:this.props.typeName,isOpen:this.state.isReviewModalOpen,rating:this.state.rating,reviewTitle:this.state.reviewTitle,reviewText:this.state.reviewText,onModalToggle:this._toggleReviewModal,onTitleChange:this._onTitleChange,onTextChange:this._onTextChange,onRatingChange:this._onRatingChange,onReviewComplete:this.writeReviewCallbacks.onReviewSubmitted,renderContextId:"writeReview",returnRef:this._modalToggleRef,hasError:this.state.hasReviewError,telemetryContent:this.telemetryContent})}}t.default=b},hxuE:function(e,t,r){"use strict";var a=r("cDcd");t.a=e=>{let{className:t,label:r}=e;return a.createElement("span",{className:t},r)}},kwwc:function(e,t){},mMTO:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));r("LR6M");var a=r("hBpL"),i=r("cDcd");const s=e=>{let{name:t,label:r,value:s=0,priceContext:n}=e;return i.createElement("p",{className:"ms-order-confirmation__order-summary-line-"+t},i.createElement("span",{className:"ms-order-confirmation__order-summary-label"},r),n?i.createElement(a.k,Object.assign({},n,{className:"ms-order-confirmation__order-summary-price",data:{price:{CustomerContextualPrice:s}}})):i.createElement("span",{className:"ms-order-confirmation__order-summary-price"},s))},n=e=>{let{order:t,priceContext:r,earnedPoints:a,resource:{orderSummaryHeading:n,orderSummaryItemsTotalLabel:o,orderSummaryShippingFeeLabel:c,orderSummaryTaxLabel:l,orderSummaryGrandTotalLabel:d,pointsEarnedLabel:u},canShip:p}=e;return{orderSummaryProps:{className:"ms-order-confirmation__order-summary"},heading:i.createElement("p",{className:"ms-order-confirmation__order-summary-heading"},n),subtotal:i.createElement(s,{name:"subtotal",label:o,value:t.SubtotalAmount,priceContext:r}),shipping:p?i.createElement(s,{name:"shipping",label:c,value:t.ChargeAmount,priceContext:r}):"",tax:i.createElement(s,{name:"tax-amount",label:l,value:t.TaxAmount,priceContext:r}),totalAmount:i.createElement(s,{name:"total-amount",label:d,value:t.TotalAmount,priceContext:r}),earnedPoints:a?i.createElement(s,{name:"earned-points",label:u,value:a}):void 0}}},pIYa:function(e,t,r){"use strict";var a=r("cDcd");t.a=e=>{let{message:t}=e;return a.createElement("p",{className:"ms-checkout__error-message",role:"alert","aria-live":"assertive"},t)}},pmjI:function(e,t,r){"use strict";r.r(t);r("LR6M"),r("y/s1"),r("oLpx");var a=r("cDcd"),i=r("Hxoz"),s=r("hBpL");class n extends a.Component{constructor(e,t){super(e),this._onInputChange=e=>{const t=""===e.target.value?"":this.state.error;this.setState({promoCodeInputValue:e.target.value,error:t,canApply:!!e.target.value})},this._applyPromotion=e=>{if(!e||!e.cart)return;const t=this.state.promoCodeInputValue;e.addPromoCode({promoCode:t}).then(e=>{"SUCCESS"===e.status?this.setState({promoCodeInputValue:"",error:"",canApply:!1}):"ALREADYADDED"===e.substatus?this.setState({error:this.props.duplicatePromoCodeErrorText}):this.setState({error:this.props.invalidPromoCodeErrorText})}).catch(e=>{this.setState({error:this.props.failedToAddPromoCodeErrorText})})},this._renderForm=(e,t,r)=>{const s=Object(i.getTelemetryAttributes)(this.props.telemetryContent,this.payLoad);return a.createElement("form",{onSubmit:e=>{e.preventDefault(),this._applyPromotion(r)},className:"msc-promo-code__form-container"},a.createElement("div",{className:"msc-promo-code__group"},a.createElement("input",{className:"msc-promo-code__input-box","aria-label":e,onChange:this._onInputChange,value:this.state.promoCodeInputValue,placeholder:e}),a.createElement(i.Button,Object.assign({title:t,className:"msc-promo-code__apply-btn btn",onClick:e=>{this._applyPromotion(r)},disabled:!this.state.canApply},s),t)))},this._removePromotion=(e,t)=>{if(!e)return;const r=t.currentTarget.getAttribute("data-value")||"";e.removePromoCodes({promoCodes:[r]}).then(e=>{"SUCCESS"===e.status&&this.setState({error:""})}).catch(()=>{this.setState({error:this.props.failedToRemovePromoCodeErrorText})})},this._calculateDiscount=(e,t)=>{if(!(t&&t.cart&&t.cart.CartLines&&0!==t.cart.CartLines.length&&e))return;let r=0;for(const a of t.cart.CartLines)if(a.DiscountLines)for(const t of a.DiscountLines)t.DiscountCode===e&&(r+=t.DiscountCost);return-1*r},this._renderAppliedPromoCode=e=>{if(!(e.cart&&e.cart.cart&&e.cart.cart.Coupons&&e.cart.cart.Coupons.length>0))return;const t=t=>{this._removePromotion(e.cart,t)},r=e.cart.cart.Coupons.reduce((t,r)=>t+(this._calculateDiscount(r.Code||"",e.cart)||0),0);return a.createElement(a.Fragment,null,a.createElement("div",{className:"msc-promo-code__discount"},a.createElement("div",{className:"msc-promo-code__discount-heading"},this.props.appliedPromoCodeHeadingText),a.createElement(s.k,{data:{price:{CustomerContextualPrice:r}},context:e.context,id:e.id,typeName:e.typeName,className:"msc-promo-code__discount-value"})),e.cart.cart.Coupons.map(r=>{const n=e.removePromoAriaLabelFormat?Object(i.format)(e.removePromoAriaLabelFormat,e.removePromoText,r.Code):"";return a.createElement("div",{key:r.Code,className:"msc-promo-code__line-container"},a.createElement("div",{className:"msc-promo-code__line-value"},r.Code," (",a.createElement(s.k,{data:{price:{CustomerContextualPrice:this._calculateDiscount(r.Code||"",e.cart)}},context:e.context,id:e.id,typeName:e.typeName,className:"msc-promo-code__line-discount-value"}),")"),a.createElement(i.Button,{title:e.removePromoText,className:"msc-promo-code__line__btn-remove",onClick:t,"data-value":r.Code,"aria-label":n},e.removePromoText))}))},this.payLoad=Object(i.getPayloadObject)("click",this.props.telemetryContent,i.TelemetryConstant.ApplyPromoCode),this.state={isCollapseOpen:!1,promoCodeInputValue:"",error:"",canApply:!1}}render(){return a.createElement("div",null,a.createElement("div",{className:"msc-promo-code-heading"},this.props.promoCodeHeadingText),this._renderForm(this.props.promoPlaceholderText,this.props.promoCodeApplyButtonText,this.props.cart),a.createElement("p",{className:this.state.error?"msc-alert-danger":"","aria-live":"assertive"},this.state.error),this._renderAppliedPromoCode(this.props))}}t.default=n},qTyw:function(e,t,r){"use strict";r("y/s1"),r("ES/9"),r("LR6M");var a=r("Hxoz"),i=r("xT9B"),s=r("TSYQ"),n=r.n(s),o=r("cDcd"),c=r.n(o);t.a=e=>{let{checkoutBtnText:t,canPlaceOrder:r,placeOrder:s,telemetryContent:l}=e;const[d,u]=Object(o.useState)(!1),p=Object(a.getPayloadObject)(i.TelemetryEvent.Purchase,l,t,""),m=Object(a.getTelemetryAttributes)(l,p);return c.a.createElement(a.Button,Object.assign({className:n()("ms-checkout__btn-place-order",{"is-busy":d}),color:"primary",onClick:async()=>{!d&&r&&(u(!0),await s(),u(!1))},title:t},m,{disabled:!r}),t)}},skq5:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));r("LR6M");var a=r("IRZC"),i=r("xT9B"),s=r("mwIZ"),n=r.n(s),o=r("cDcd");const c=e=>{var t,r;const{config:{orderSummaryHeading:s},data:{checkout:c},resources:{subTotalLabel:l,shippingLabel:d,taxLabel:u,orderTotalLabel:p,loyaltyLabel:m,giftcardLabel:h,totalDiscountsLabel:g,freeText:y,toBeCalculatedText:b,otherCharges:f},context:v,typeName:C,id:_,telemetry:O}=e,x=n()(c,"result"),S=n()(c,"result.checkoutCart.cart"),E=S.CartLines&&S.CartLines.length>0,w=v.request.channel,{channelDeliveryOptionConfig:T,featureState:P}=e.data,I=null==P||null===(t=P.result)||void 0===t||null===(r=t.find(e=>"Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature"===e.Name))||void 0===r?void 0:r.IsEnabled;return{orderSummaryProps:{className:"ms-checkout-guest-profile__selected-item"},heading:s&&s.text&&o.createElement(i.Text,Object.assign({className:"msc-order-summary__heading"},s,{tag:s.tag||"h2",text:s.text,editProps:{onEdit:t=>{const{config:{orderSummaryHeading:r}}=e;r.text=t.target.value},requestContext:v.request}})),lines:E?Object(a.a)({checkoutState:x,cart:S,subTotalLabel:l,shippingLabel:d,taxLabel:u,orderTotalLabel:p,loyaltyLabel:m,giftcardLabel:h,totalDiscountsLabel:g,freeText:y,toBeCalculatedText:b,context:v,typeName:C,id:_,channelConfiguration:w,telemetry:O,otherChargeLabel:f,retailMultiplePickUpOptionEnabled:I,channelDeliveryOptionConfig:null==T?void 0:T.result}):void 0}}},tLQB:function(e,t,r){"use strict";var a=r("5qyE");r.d(t,"a",(function(){return a.a}));r("25kz"),r("zn29")},usH6:function(e,t,r){"use strict";r.r(t);r("9VTn");var a=r("rePB"),i=(r("ES/9"),r("WVYb"),r("Mqeb"),r("mrSG")),s=r("TSYQ"),n=r.n(s),o=r("2vnA"),c=r("okNM"),l=r("cDcd"),d=r("K542"),u=r("UdvX"),p=r("Hxoz"),m=r("hBpL"),h=r("OtQ+"),g=r("57kZ");var y=e=>{let{className:t,type:r,value:a,min:i,max:s,step:n,ariaValueMax:o,ariaValueMin:c,ariaValueNow:d,onChange:u,onBlur:p,id:m}=e;return l.createElement("input",{className:t,type:r,value:a,min:i,max:s,step:n,"aria-valuemax":o,"aria-valuemin":c,"aria-valuenow":d,onChange:u,onBlur:p,id:m})};var b=e=>{let{className:t,text:r,htmlFor:a}=e;return l.createElement("label",{className:t,htmlFor:a},r)};var f=e=>{let{className:t,text:r}=e;return r?l.createElement("span",{className:t},r):null};function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function C(e){for(var t=1;t{var e;this.props.moduleState.init(C({onEdit:this.onEdit,onCancel:this.onCancel,onSubmit:this.onSubmit,isRequired:!1},!this.isEnabled()&&{status:"disabled"}));(null===(e=this.props.data.checkout.result)||void 0===e?void 0:e.loyaltyAmount)?this.props.moduleState.onReady():this.isPaymentVerificationRedirection?this.props.moduleState.onSkip():this.props.data.loyaltyCard.result&&this.props.data.checkout.result&&this.props.data.loyaltyCard.result.CardNumber!==this.props.data.checkout.result.checkoutCart.cart.LoyaltyCardId&&this.props.data.checkout.result.checkoutCart.updateLoyaltyCardId({loyaltyCardNumber:this.props.data.loyaltyCard.result.CardNumber}).catch(e=>{this.context.telemetry&&(this.context.telemetry.warning(e),this.context.telemetry.debug("Unable to update the loyalty card"))})},this.onEdit=()=>{this.props.moduleState.onUpdating()},this.onCancel=()=>{this.handleCancelOrSubmit()},this.onSubmit=()=>{this.handleCancelOrSubmit()},this.handleCancelOrSubmit=()=>{const e=this.props.data.checkout.result;e&&e.loyaltyAmount>0?this.props.moduleState.onReady():this.props.moduleState.onSkip()},this.isEnabled=()=>this.props.context.request.user.isAuthenticated&&this.props.data.loyaltyCard.result&&this.props.data.loyaltyCard.result.CardNumber&&this.shouldPayLoyalty,this._dialogToggleRef=l.createRef(),this._applyLoyaltyPoints=this._applyLoyaltyPoints.bind(this),this._removeLoyaltyPoints=this._removeLoyaltyPoints.bind(this),this._onInputChange=this._onInputChange.bind(this),this._onBlur=this._onBlur.bind(this),this.state={dollarsApplied:this.maxDollars,isFetchingLoyaltyCard:!1}}get shouldPayLoyalty(){const e=this.props.data.checkout.result?this.props.data.checkout.result.checkoutCart.cart:void 0;if(!e)return!1;return(e.TotalAmount||0)>0}get isDataReady(){return"SUCCESS"===(this.props.data.checkout.result&&this.props.data.checkout.status)&&"LOADING"!==(this.props.data.loyaltyCard&&this.props.data.loyaltyCard.status)&&"LOADING"!==(this.props.data.loyaltyTransactionEstimation&&this.props.data.loyaltyTransactionEstimation.status)}get maxDollars(){return this.props.data.loyaltyTransactionEstimation.result&&this.props.data.loyaltyTransactionEstimation.result.MaxCurrencyValueOfLoyaltyPoints?this.props.data.loyaltyTransactionEstimation.result.MaxCurrencyValueOfLoyaltyPoints:0}get isPaymentVerificationRedirection(){const{requestFormData:e,query:t}=this.props.context.request;return!(!e||!t||"1"!==t.pv)}async componentDidMount(){Object(o.u)(()=>this.isDataReady,async()=>{await this.init()}),Object(o.o)(()=>this.props.data.checkout.result&&this.props.data.checkout.result.checkoutCart.cart,async()=>{this._updateEstimate()}),Object(o.o)(()=>this.props.data.loyaltyCard.result,async()=>{this._updateLoyalty()})}render(){const{resources:e,renderView:t,moduleState:{isReady:r}}=this.props;if(this.props.data.loyaltyCard&&this.props.data.loyaltyCard.result&&this.props.data.loyaltyCard.result.CardNumber&&this.shouldPayLoyalty){const a=this.props.data.loyaltyCard.result,i=this.props.data.checkout.result;let s=!1;if(r){if(!i||0===i.loyaltyAmount)return null;s=!0}return t(C(C({},this.props),{},{viewState:{isShowLoyalty:s,isShowAddLoyalty:!r},checkoutLoyalty:{moduleProps:this.props,className:n()(this.moduleClassName,{[this.moduleClassName+"__applied"]:s},this.props.config.className)},showLoyalty:{heading:l.createElement(p.Heading,{headingTag:"h3",className:this.moduleClassName+"__heading",text:e.loyaltyHeadingText}),coveredAmountText:l.createElement(f,{className:this.moduleClassName+"__text",text:e.loyaltyCoveredAmountText}),amount:l.createElement(m.k,{className:this.moduleClassName+"__applied-value",id:this.props.id,typeName:this.props.typeName,context:this.props.context,data:{price:{CustomerContextualPrice:i&&i.loyaltyAmount}}})},addLoyalty:{heading:l.createElement(p.Heading,{headingTag:"h3",className:this.moduleClassName+"__heading",text:e.loyaltyHeadingText}),drawer:{tag:p.Drawer,className:this.moduleClassName+"__drawer",toggleButtonText:this._drawerHeader(),openGlyph:this.moduleClassName+"__drawer-open",closeGlyph:this.moduleClassName+"__drawer-close",glyphPlacement:"end"},cardNumber:l.createElement(f,{className:this.moduleClassName+"__card-number",text:a.CardNumber||""}),rewardPoints:a.RewardPoints&&a.RewardPoints.map((t,r)=>this._renderPointSection(t,e.availablePointsLabel,e.expiringLoyaltyPointsLabel)),loyaltyAmountContainer:{className:this.moduleClassName+"__amount"},appliedLoyaltyAmountContainer:{className:this.moduleClassName+"__applied-amount"},loyaltyAmountLabel:l.createElement(b,{className:this.moduleClassName+"__amount-label",text:e.payWithLoyaltyAmountLabel,htmlFor:this.props.id+"-label"}),loyaltyAmountInput:l.createElement(y,{className:this.moduleClassName+"__amount-input",onChange:this._onInputChange,onBlur:this._onBlur,type:"number",step:".01",value:this.state.dollarsApplied,min:0,max:this.maxDollars,ariaValueMax:this.maxDollars,ariaValueMin:0,ariaValueNow:this.state.dollarsApplied,id:this.props.id+"-label"}),loyaltyAmountApplyButton:l.createElement(p.Button,{className:this.moduleClassName+"__amount-button",title:this.props.resources.applyCheckoutLoyaltyPaymentText,onClick:this._applyLoyaltyPoints,disabled:this.state.dollarsApplied>this.maxDollars||this.state.dollarsApplied<=0||this.state.isFetchingLoyaltyCard},this.props.resources.applyCheckoutLoyaltyPaymentText),showAppliedAmount:i&&i.loyaltyAmount>0,loyaltyAmountAppliedText:l.createElement(f,{className:this.moduleClassName+"__applied-text",text:e.loyaltyCoveredAmountText}),loyaltyAmountAppliedPrice:l.createElement(m.k,{className:this.moduleClassName+"__applied-value",id:this.props.id,typeName:this.props.typeName,context:this.props.context,data:{price:{CustomerContextualPrice:i&&i.loyaltyAmount}}}),loyaltyAmountRemoveButton:l.createElement(p.Button,{className:"ms-checkout-loyalty-remove-btn",title:this.props.resources.removeCheckoutLoyaltyPaymentText,onClick:this._removeLoyaltyPoints,innerRef:this._dialogToggleRef},this.props.resources.removeCheckoutLoyaltyPaymentText)}}))}return this.props.context.telemetry.error("Checkout loyalty content is empty, module wont render"),null}_drawerHeader(){return l.createElement(l.Fragment,null,l.createElement("p",{className:this.moduleClassName+"__covered-text"},this.props.resources.loyaltyCoveredAmountText),l.createElement(m.k,{className:this.moduleClassName+"__applied-value",id:this.props.id,typeName:this.props.typeName,context:this.props.context,data:{price:{CustomerContextualPrice:this.maxDollars}}}))}_renderPointSection(e,t,r){return{key:e.RewardPointId||"",checkoutLoyaltyRewardPoint:{className:this.moduleClassName+"__program"},title:l.createElement(f,{className:this.moduleClassName+"__program-title",text:e.Description}),availablePointsText:l.createElement(f,{className:this.moduleClassName+"__program-available",text:t}),activePoints:l.createElement(f,{className:this.moduleClassName+"__program-points",text:(e&&e.ActivePoints).toString()}),expiringPointsText:l.createElement(f,{className:this.moduleClassName+"__program-expiring",text:r}),expiringPoints:l.createElement(f,{className:this.moduleClassName+"__program-points",text:(e&&e.PointsExpiringSoon).toString()})}}async _applyLoyaltyPoints(){const e=this.props.data.checkout.result;e&&(await e.updateLoyaltyAmount({newAmount:parseFloat(this.state.dollarsApplied.toString())}),this.setState({isFetchingLoyaltyCard:!0}))}async _removeLoyaltyPoints(){const e=this.props.data.checkout.result;e&&(await e.updateLoyaltyAmount({newAmount:0}),this.setState({dollarsApplied:0}))}_onInputChange(e){const t=e.currentTarget.value;this.setState({dollarsApplied:t.length?Number(t):parseFloat(t),isFetchingLoyaltyCard:!1})}_onBlur(e){const t=parseFloat(e.currentTarget.value).toFixed(2),r=document.getElementById(this.props.id+"-label");r&&t&&(r.value=t,this.setState({dollarsApplied:parseFloat(t)}))}_updateLoyalty(){this.props.moduleState.isDisabled&&this.isEnabled()&&(this._updateEstimate(),this.props.moduleState.onUpdating())}_updateEstimate(){const e=this.props.data.loyaltyCard.result,t=this.props.data.checkout.result?this.props.data.checkout.result.checkoutCart.cart:void 0,r=this.props.context.request.channel;if(e&&e.CardNumber&&t&&r){const a=r.Currency||"",i=Object(g.i)(t.Id,e.CardNumber,a);i._query.options.bypassCache="get",Object(h.callActionOrExecute)(i,this.props.context.actionContext).then(async e=>{this.props.context.actionContext.update(new u.GetLoyaltyTransactionEstimationInput(this.props.context.request.apiSettings),e);const t=e&&e.MaxCurrencyValueOfLoyaltyPoints||0;this.props.data.checkout.result&&this.props.data.checkout.result.loyaltyAmount>t&&await this.props.data.checkout.result.updateLoyaltyAmount({newAmount:t}),this.state.dollarsApplied>t&&this.setState({dollarsApplied:t})}).catch(e=>{this.props.context.actionContext.telemetry.exception(e),this.props.context.actionContext.telemetry.debug("Error getting Loyalty Point Redemption Estimate")})}}};Object(i.__decorate)([o.e],_.prototype,"shouldPayLoyalty",null),Object(i.__decorate)([o.e],_.prototype,"isDataReady",null),Object(i.__decorate)([o.e],_.prototype,"maxDollars",null),Object(i.__decorate)([o.e],_.prototype,"isPaymentVerificationRedirection",null),_=Object(i.__decorate)([d.a,c.a],_);t.default=_},x1rJ:function(e,t,r){"use strict";r.d(t,"f",(function(){return n})),r.d(t,"a",(function(){return o})),r.d(t,"d",(function(){return c})),r.d(t,"b",(function(){return l})),r.d(t,"e",(function(){return d})),r.d(t,"g",(function(){return u})),r.d(t,"c",(function(){return p}));r("oLpx"),r("9VTn"),r("y/s1");var a=r("Hxoz"),i=r("bt/X"),s=r.n(i);const n=e=>e.reduce((e,t)=>(t.TenderTypeId&&(e[t.TenderTypeId]=t.OperationId),e),{}),o=e=>e.reduce((e,t)=>e+(t.Quantity||0),0),c=(e,t)=>e&&e.length?e.filter(e=>t&&""!==t?e.DeliveryMode===t:e.DeliveryMode!==t):[],l={viewports:{xs:{q:"w=80&h=80&m=6",w:0,h:0},lg:{q:"w=147&h=147&m=6",w:0,h:0}},lazyload:!0,cropFocalRegion:!0},d=(e,t,r)=>{if(7===t)return"canceled";if(void 0!==r)switch(t){case 3:return"readyForPickup";case 4:return"pickedUp";default:return"processing"}if("pickUp"===e)switch(t){case 3:return"readyForPickup";case 4:return"pickedUp";default:return"processing"}else if("ship"===e)switch(t){case 3:return"processing";case 4:return"shipped";default:return"processing"}else{if("email"!==e)return"carryOut"===e?"processing":"unknown";switch(t){case 3:return"processing";case 4:return"emailed";default:return"processing"}}},u=e=>{const t=[],r=(a=e,s()(a,e=>e.data.deliveryType));var a;return Object.entries(r).forEach(e=>{let[a,i]=e;r[a]=(e=>s()(e,e=>e.data.salesStatus))(i),Object.entries(r[a]).forEach(e=>{let[r,i]=e;i[r]=(e=>s()(e,e=>e.data.salesLine.ShippingAddress&&e.data.salesLine.ShippingAddress.RecordId||"unknown"))(i),Object.entries(i[r]).forEach(e=>{let[i,n]=e;n[i]=(e=>s()(e,e=>e.data.salesLine.TrackingId||"unknown"))(n),Object.entries(n[i]).forEach(e=>{let[s,n]=e;t.push({deliveryType:a,salesStatus:r,addressId:i,trackingId:s,count:o(n.map(e=>e.data.salesLine)),salesLines:n})})})})}),t},p=(e,t,r,i)=>{if(!t||!r)return"";const s=new Intl.DateTimeFormat(i,{timeZone:"UTC"}).format(new Date(t)),n=new Intl.DateTimeFormat(i,{hour:"numeric",minute:"numeric",hour12:!0,timeZone:"UTC"});return`${s} ${Object(a.format)(e,n.format(new Date(t)),n.format(new Date(r)))}`}},"x5+1":function(e,t,r){"use strict";r("LR6M");var a=r("Hxoz"),i=r("TSYQ"),s=r.n(i),n=r("cDcd"),o=r("faye"),c=r.n(o);class l extends n.PureComponent{constructor(e){super(e),this.editButtonRef=n.createRef(),this.formCardRef=n.createRef(),this.renderFooder=()=>{const{isVisted:e,isReady:t,isSubmitting:r,isCancelAllowed:i,hasControlGroup:o,onCancel:c,onSubmit:l,resource:d}=this.props,{saveBtnLabel:u,cancelBtnLabel:p,saveAndContinueBtnLabel:m}=d,h=!t&&l,g=!t&&e&&i&&c;if(!o||!h&&!g)return null;this.payLoad.contentAction.etext=e?a.TelemetryConstant.Save:a.TelemetryConstant.SaveContinue;const y=Object(a.getTelemetryAttributes)(this.props.telemetryContent,this.payLoad);this.payLoad.contentAction.etext=a.TelemetryConstant.Cancel;const b=Object(a.getTelemetryAttributes)(this.props.telemetryContent,this.payLoad);return n.createElement("div",{className:"ms-checkout__guided-card-footer"},h&&n.createElement(a.Button,Object.assign({className:s()("ms-checkout__guided-card-btn-save",{"is-submitting":r}),title:e?u:m,color:"primary",disabled:r,onClick:l},y),e&&i?u:m),g&&n.createElement(a.Button,Object.assign({className:"ms-checkout__guided-card-btn-cancel",title:p,color:"secondary",onClick:c},b),p))},this.focusOnFirstFocusableElement=()=>{const e=c.a.findDOMNode(this),t=e&&e.querySelector&&e.querySelector('\n a:not([disabled]),\n button:not([disabled]),\n input[type=submit]:not([disabled]),\n input[type=checkbox]:not([disabled]),\n input[type=text]:not([disabled]),\n input[type=radio]:not([disabled]),\n input[type=password]:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n [tabindex]:not([disabled]):not([tabindex="-1"])\n ');t&&t.focus&&t.focus()},this.focusOnEditButton=()=>{const e=this.editButtonRef&&this.editButtonRef.current&&this.editButtonRef.current.focus&&this.editButtonRef.current;e&&e.focus()},this.scrollToTitle=()=>{const e=this.props.isMobile&&this.formCardRef&&this.formCardRef.current&&this.formCardRef.current;e&&e.scrollIntoView()},this.getTitle=()=>{const{step:e,title:t}=this.props,{headingTag:r="h2",text:a=""}=t||{};return n.createElement(r,{className:"ms-checkout__guided-card-title"},n.createElement("span",{className:"ms-checkout__guided-card-title-step"},e+1,". "),a&&n.createElement("span",{className:"ms-checkout__guided-card-title-text"},a))},this.payLoad=Object(a.getPayloadObject)("click",e.telemetryContent,"")}componentDidUpdate(e){const{isActive:t,isReady:r,onNext:a,isVisted:i,onEdit:s}=this.props;t&&r&&a();!(e.isReady&&e.isVisted&&!!e.onEdit)&&(r&&i&&!!s)&&(this.focusOnEditButton(),this.scrollToTitle()),e.isReady&&!r&&this.focusOnFirstFocusableElement()}render(){const{title:e,disabled:t,isExpanded:r,isActive:i,isVisted:o,children:c,isReady:l,isPending:d,isUpdating:u,hasInitialized:p,hasControlGroup:m,onEdit:h,resource:g}=this.props,{changeBtnLabel:y}=g;this.payLoad.contentAction.etext=a.TelemetryConstant.CheckoutChange;const b=Object(a.getTelemetryAttributes)(this.props.telemetryContent,this.payLoad),f=m&&l&&o&&h;return n.createElement("div",{className:s()("ms-checkout__guided-card",{active:i,expanded:r,closed:!r,visted:o,hidden:t,initialized:p,disabled:t,ready:l,pending:d,updating:u}),ref:this.formCardRef},n.createElement("div",{className:"ms-checkout__guided-card-header"},this.getTitle(),f&&n.createElement(a.Button,Object.assign({innerRef:this.editButtonRef,className:"ms-checkout__guided-card-btn-edit",title:y,color:"link",onClick:h,"aria-label":e&&e.text?`${y} ${e.text}`:""},b),y)),n.createElement("div",{className:s()("ms-checkout__guided-card-body",{hidden:!r})},n.createElement("div",{className:"ms-checkout__guided-card-content"},c),this.renderFooder()))}}t.a=l},xWAN:function(e,t,r){"use strict";r.r(t);var a=r("rePB"),i=r("sEfC"),s=r.n(i),n=(r("9VTn"),r("ES/9"),r("sXI4")),o=r("mrSG"),c=r("2vnA");class l{}Object(o.__decorate)([c.n],l.prototype,"searchText",void 0),Object(o.__decorate)([c.n],l.prototype,"defaultBasicSearchUrl",void 0),Object(o.__decorate)([c.n],l.prototype,"searchQueryStringParameter",void 0);var d=r("Hxoz"),u=r("xT9B"),p=r("Y2vv"),m=r("TSYQ"),h=r.n(m),g=r("cDcd"),y=(r("y/s1"),r("UdvX")),b=r("MVz4");class f{constructor(e,t,r,a,i){this.getCacheKey=()=>"AutoSuggestSearchSuggestions",this.getCacheObjectType=()=>"AutoSuggestSearchSuggestions",this.dataCacheType=()=>"none",this.searchQuery=e,this.topResultsCount=t,this.suggestionType=r,this.hitPrefix=a,this.hitSuffix=i}}async function v(e,t,r){const a={ProductSearchCriteria:{SearchCondition:e.searchQuery&&e.searchQuery.length>0?e.searchQuery:"",Context:{ChannelId:+r.requestContext.apiSettings.channelId,CatalogId:+r.requestContext.apiSettings.catalogId}},HitPrefix:e.hitPrefix,HitSuffix:e.hitSuffix,SuggestionType:e.suggestionType},i=await Object(b.q)({callerContext:r,queryResultSettings:{Paging:{Top:e.topResultsCount}}},a);i&&i.length>0?(i.map(e=>e.ImageUrl=e.ImageUrl?Object(y.generateImageUrl)(e.ImageUrl,r.requestContext.apiSettings):""),t.AllSearchResults=i):r.telemetry.error("[getSearchSuggestionsAction] unable to get availabilites for search with suggestion type "+a.SuggestionType)}var C=Object(u.createObservableDataAction)({id:"@msdyn365-commerce-modules/search/get-auto-suggest-suggestions",action:async function(e,t){if(!e||!e.searchQuery)throw new Error("[getSearchSuggestionsAction]No valid Input was provided, failing");const r={},a=[v(e,r,t)];return Promise.all(a).then(()=>r)},input:e=>new f});r("BDvt"),r("EawV"),r("WVYb"),r("LR6M");let _;const O=e=>{const{suggestions:t,hitPrefix:r,hitSuffix:a}=e;if(!t)return;_=Object(d.getPayloadObject)("click",e.telemetryContent,"");const i=[];return t.map(t=>{i.push(x(t,r,a,e))}),{text:i}},x=(e,t,r,a)=>{const i=e.Value&&e.Value.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");_.contentAction.etext=i;const s=Object(d.getTelemetryAttributes)(a.telemetryContent,_);return g.createElement("li",{className:"msc-autoSuggest__keywordResults-item",key:e.Id},g.createElement("a",Object.assign({"aria-label":i,href:S(e,t,r,a)},s),S(e,t,r,a)&&E(e.Value?e.Value:"",t,r)))},S=(e,t,r,a)=>{const{searchPageURL:i,searchQsp:s}=a,n=e.Value.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),""),o=i||"";return n&&n.length>0?`${o}${-1===o.indexOf("?")?"?":"&"}${s}=${n}`:o},E=(e,t,r)=>{const a=e.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");return g.createElement("span",{dangerouslySetInnerHTML:Object(u.getRichTextHtml)(a)})};var w=r("hBpL");function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}let P,I;const N=e=>{const{suggestions:t,hitSuffix:r,hitPrefix:a,autoSuggestProps:{context:{actionContext:i},resources:{productSuggestionHeading:s}},moduleType:n,moduleId:o}=e,c=[];if(I=e.telemetryContent,P=Object(d.getPayloadObject)("click",e.telemetryContent,""),!t)return;t.map(t=>{c.push(j(t,a,r,i,e,n,o))});return{title:k(s),items:c}},k=e=>{const t=e||"Go to products";return g.createElement("li",{className:"msc-autoSuggest__productResults-title"},t)},j=(e,t,r,a,i,s,n)=>{const o=e.Value&&e.Value.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");return{text:A(e.Value?e.Value:"",t,r),thumbnail:B(e,o||"",i),price:e.Id&&e.Value3&&e.Value3.Value&&e.Value3.Value.DecimalValue&&M(e.Value3.Value.DecimalValue,e.Value3.Value.DecimalValue,n,s,i),LiProduct:L(),AProduct:R(e,t,r,a),id:e.Id}},L=()=>({className:"msc-autoSuggest__productResults-item",tag:"li"}),R=(e,t,r,i)=>{const s=e.Value&&e.Value.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");P.contentAction.recid=e.Id;const n=Object(d.getTelemetryAttributes)(I,P);return function(e){for(var t=1;t{const i=e.Value.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");return e.Value&&e.Id?Object(y.getProductPageUrlSync)(i,e.Id,a,void 0):""},A=(e,t,r)=>{const a=e.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");return g.createElement("span",{className:"msc-price msc-autoSuggest__productResults-item-text",dangerouslySetInnerHTML:Object(u.getRichTextHtml)(a)})},M=(e,t,r,a,i)=>{const{autoSuggestProps:{context:s}}=i;return g.createElement(w.k,{id:r,typeName:a,context:s,data:{price:{CustomerContextualPrice:e,BasePrice:t}},className:"msc-autoSuggest__productResults-item-price"})},B=(e,t,r)=>{const{autoSuggestProps:{context:{request:{gridSettings:a}},config:{imageSettings:i}}}=r;if(i&&(i.cropFocalRegion=!0),!e||!e.ImageUrl)return r.telemetry.error("Search suggestion content is empty, module wont render."),null;const s={viewports:{xs:{q:"w=40&h=40&m=6",w:0,h:0},lg:{q:"w=40&h=40&m=6",w:0,h:0},xl:{q:"w=40&h=40&m=6",w:0,h:0}},lazyload:!0,cropFocalRegion:!0};return g.createElement(u.Image,{altText:t,className:"msc-autoSuggest__productResults-item-img",src:e.ImageUrl,gridSettings:a,imageSettings:i||s,loadFailureBehavior:"hide"})};r("C7n2");let F;const U=e=>{const{suggestions:t,searchText:r,autoSuggestProps:{resources:{categorySuggestionHeading:a}}}=e;if(!t)return;const i=[];F=Object(d.getPayloadObject)("click",e.telemetryContent,""),t.map(t=>{i.push(G(t,e))});return{title:q(a,r),text:i}},q=(e,t)=>{const r=e?Object(d.format)(e,t):`Search "${t}" in categories`;return g.createElement("li",{className:"msc-autoSuggest__categoryResults-title"},r)},G=(e,t)=>{const{searchText:r,hitPrefix:a,hitSuffix:i}=t,s=e.Value&&e.Value.split("|").pop(),n=s?s.replace(new RegExp(`[${a}]`,"gi"),"").replace(new RegExp(`[${i}]`,"gi"),""):e.Value&&e.Value.replace(new RegExp(`[${a}]`,"gi"),"").replace(new RegExp(`[${i}]`,"gi"),"");F.contentAction.etext=e.Value;const o=Object(d.getTelemetryAttributes)(t.telemetryContent,F);return g.createElement("li",{className:"msc-autoSuggest__categoryResults-item",key:e.Id},g.createElement("a",Object.assign({"aria-label":n,href:H(e,r,t)},o),H(e,r,t)&&Q(e.Value?e.Value:"",a,i)))},H=(e,t,r)=>e&&e.Id?V(e.Id,t,r):"",V=(e,t,r)=>{const{searchPageURL:a,searchQsp:i,searchRefiners:s}=r,n=a||"",o=`${n}${-1===n.indexOf("?")?"?":"&"}${i}=${t}`,c=s&&s.find(e=>"Category"===e.KeyName),l=c&&c.Values&&c.Values.find(t=>t.RefinerRecordId===parseInt(e,10)),d=l&&encodeURIComponent(JSON.stringify(z([l])));return d?`${o}&refiners=${d}`:o},Q=(e,t,r)=>{let a=e.replace(new RegExp(`[${t}]`,"gi"),"").replace(new RegExp(`[${r}]`,"gi"),"");return a=a.split("|").pop()||"",g.createElement("span",{dangerouslySetInnerHTML:Object(u.getRichTextHtml)(a)})},$=["DataTypeValue","LeftValueBoundString","RefinerRecordId","RefinerSourceValue","RightValueBoundString","UnitText"],z=e=>{const t=[];return e.forEach(e=>{const r=[];$.forEach(t=>{r.push(e[t])}),t.push(r)}),t},W=e=>{const{searchQsp:t,searchPlaceholder:r,hideSearchLabel:a,isSearchFormExpanded:i,searchTextInput:s,handleInputChange:n,maxChars:o,disableSubmitSearch:c,handleCancelSearchChange:l,query:u,ariaLabelCancel:p,ariaLabelSearch:m,ariaLabelSubmit:h}=e,y=e=>{n(e.target.value||"")},b=a?g.createElement("input",{className:"ms-search__form-control",type:"text","aria-label":m,name:t,placeholder:r,ref:s,onChange:y,value:u}):g.createElement("input",{className:"ms-search__form-control",type:"text","aria-label":i?"Search expanded":"Search collapsed",name:t,placeholder:r,ref:s,onChange:y,maxLength:o,value:u}),f=!c&&g.createElement(d.Button,{className:"ms-search__form-submitSearch","aria-label":h});return{input:b,cancelBtn:g.createElement(d.Button,{className:c?"ms-search__form-cancelSearchNoSumbit":"ms-search__form-cancelSearch","aria-label":p,onClick:l,type:"button"}),submitBtn:f}},Z=e=>{const{searchLabelClass:t,searchLabelArialLabel:r,isSearchFormExpanded:a,searchtext:i,searchCollapsedLabel:s,hideSearchLabel:n,handleCancelSearchChange:o,telemetryContent:c}=e,l=Object(d.getPayloadObject)("click",c,i,""),u=Object(d.getTelemetryAttributes)(c,l);return g.createElement("div",{className:t},g.createElement(d.Button,Object.assign({className:"ms-search__icon","aria-expanded":a,"aria-label":r,onClick:o,innerRef:s},u),!n&&g.createElement("span",{className:"ms-search__icon-text","aria-hidden":!0},i)))};function K(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function Y(e){for(var t=1;t{const{suggestions:t}=this.state;t&&t.AllSearchResults&&null===e.target.closest(".ms-search")&&this._clearAutoSuggestState()},this._keyup=e=>{const{suggestions:t}=this.state;t&&t.AllSearchResults&&27===e.keyCode?this._clearAutoSuggestState():this.state.isSearchFormExpanded&&27===e.keyCode&&this.state.isSearchFormExpanded&&this.setState({isSearchFormExpanded:!1}),this.formReference.current&&this.formReference.current.contains(e.target)||this.autoSuggestResultDiv.current&&this.autoSuggestResultDiv.current.contains(e.target)||(t&&t.AllSearchResults&&this._clearAutoSuggestState(),this.state.isSearchFormExpanded&&this.setState({isSearchFormExpanded:!1}))},this._clearAutoSuggestState=()=>{const{context:{actionContext:e},data:{searchState:t}}=this.props;this.searchTextInput.current&&this.searchTextInput.current.value.length>0&&(t.searchText="",t.defaultBasicSearchUrl="",t.searchQueryStringParameter="",e&&e.update(Object(n.createSearchStateInput)(t),t),this.searchTextInput.current.value=""),this.setState({searchText:"",suggestions:void 0,searchRefiners:void 0})},this._handleInputChange=e=>{(!e||e.length0){if(e.length>this.maxChars)return;this.cancellabelDebounce=s()(()=>{C(new f(e,this.topResultsCount,this._getSuggestionType(this.inputSuggestionType),this.hitPrefix,this.hitSuffix),r.actionContext).then(r=>{this._getSearchRefiners(e).then(e=>{this.setState({suggestions:r,searchRefiners:e,autoSuggestAriaLabel:this._setAutoSuggestResultCount(r)})}).catch(e=>{this.setState({suggestions:r,searchRefiners:void 0,autoSuggestAriaLabel:this._setAutoSuggestResultCount(r)}),t.exception(e),t.debug("Unable to get refiners results")})}).catch(e=>{this.setState({suggestions:void 0,searchRefiners:void 0,autoSuggestAriaLabel:this._setAutoSuggestResultCount()}),t.exception(e),t.debug("Unable to get auto suggest results")})},this.waitTime),setTimeout(()=>{this.cancellabelDebounce()},0),a.searchText=e}else this.setState({suggestions:void 0,searchRefiners:void 0}),a.searchText="";r.actionContext.update(Object(n.createSearchStateInput)(a),a)}},this._getSuggestionType=e=>{if(e&&e.length>0){const t=[];return e&&e.forEach((e,r)=>{e.SuggestionType&&t.push(e.SuggestionType.charAt(0).toUpperCase()+e.SuggestionType.slice(1))}),t.join(",")}return"Keyword, Product, ScopedCategory"},this._handleSubmit=e=>{const{config:{disableSubmitSearch:t},context:{actionContext:r,app:{config:{searchQueryStringParameter:a}}}}=this.props,i=this.searchTextInput.current&&this.searchTextInput.current.value;if(e.preventDefault(),!i||i&&0===i.length||t)this.searchTextInput&&this.searchTextInput.current&&this.searchTextInput.current.focus();else{const e=a||"q",t=this._appendQueryParams(Object(u.getUrlSync)("search",r)||"",i,e);document.location.href=t}},this._handleCancelSearchChange=()=>{const{isSearchFormExpanded:e,suggestions:t}=this.state;e?(t&&t.AllSearchResults&&this._clearAutoSuggestState(),this.setState({isSearchFormExpanded:!1})):this.setState({isSearchFormExpanded:!0,searchText:"",isInitialState:!1})},this._appendQueryParams=(e,t,r)=>e&&e.length>0?t&&t.length>0?`${e}${-1===e.indexOf("?")?"?":"&"}${r}=${t}`:e:"",this._setAutoSuggestResultCount=e=>{if(null!==this.autoSuggestResultScreenReaderDiv.current){const t=this.autoSuggestResultScreenReaderDiv.current,r=this.props.resources.autoSuggestFoundMessage,a=this.props.resources.noAutoSuggestionMessage;return t.innerText=e&&e.AllSearchResults&&e.AllSearchResults.length>0?r:a,t.setAttribute("aria-live","assertive"),t.innerText}return""},this.searchTextInput=g.createRef(),this.searchCollapsedLabel=g.createRef(),this.autoSuggestResultScreenReaderDiv=g.createRef(),this.autoSuggestResultDiv=g.createRef(),this.formReference=g.createRef(),this.state={isSearchFormExpanded:!1,searchText:"",searchKeywordSuggestClass:"ms-search__autoSuggest__keyword",searchProductSuggestClass:"ms-search__autoSuggest__product",searchCategorySuggestClass:"ms-search__autoSuggest__category",suggestions:void 0,searchRefiners:void 0,autoSuggestAriaLabel:"",isInitialState:!0},this.maxChars=this.props.context&&this.props.context.app&&this.props.context.app.config&&this.props.context.app.config.searchInputMaxLength||50,this.inputSuggestionType=this.props.config&&this.props.config.suggestionTypeCriterion,this.topResultsCount=this.props.config&&this.props.config.topResultsCount?this.props.config.topResultsCount:5,this.searchFormClass="ms-search__form",this.searchLabelClass="ms-search__label",this.telemetryContent=Object(d.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry)}async componentDidMount(){document.body&&document.body.addEventListener("mousedown",this._focusOutTarget),window&&window.addEventListener("keyup",this._keyup)}componentWillUnmount(){document.body&&document.body.removeEventListener("mousedown",this._focusOutTarget,!1),window&&window.removeEventListener("keyup",this._keyup,!1)}componentDidUpdate(){const{config:{hideSearchLabel:e}}=this.props,{isSearchFormExpanded:t,isInitialState:r}=this.state;this.props.context.request.params.isEditor||(!e&&t?this.searchTextInput&&this.searchTextInput.current&&this.searchTextInput.current.focus():r||this.searchCollapsedLabel&&this.searchCollapsedLabel.current&&this.searchCollapsedLabel.current.focus())}render(){const{context:e,resources:{searchtext:t,searchLabelArialLabel:r,cancelBtnAriaLabel:a,searchBtnAriaLabel:i,submitBtnAriaLabel:s},config:{hideSearchLabel:n,disableSubmitSearch:o,searchplaceholderText:c,className:l=""}}=this.props,{isSearchFormExpanded:d,searchText:p,searchKeywordSuggestClass:m,searchProductSuggestClass:g,searchCategorySuggestClass:y,suggestions:b,searchRefiners:f}=this.state,v=e&&e.app&&e.app.config&&e.app.config.searchQueryStringParameter||"q",C=Object(u.getUrlSync)("search",e&&e.actionContext)||"",_=this._appendQueryParams(C,p,v),x=c&&c.length>0?c:"Search in Fabrikam",S=b&&b.AllSearchResults&&b.AllSearchResults.filter(e=>"Keyword"===e.SuggestionType||"None"===e.SuggestionType),E=b&&b.AllSearchResults&&b.AllSearchResults.filter(e=>"Product"===e.SuggestionType),w=b&&b.AllSearchResults&&b.AllSearchResults.filter(e=>"ScopedCategory"===e.SuggestionType),T=Y(Y({},this.props),{},{Search:{moduleProps:this.props,className:`${h()("ms-search",l)} ${o?"no-submit":"with-submit"}`},AutoSuggestAriaLabel:{tag:"div",className:"msc-autoSuggest__screen-reader","aria-live":"assertive",ref:this.autoSuggestResultScreenReaderDiv},AutoSuggestAriaLabelText:this.state.autoSuggestAriaLabel,searchText:this.state.searchText,AutoSuggest:{ref:this.autoSuggestResultDiv,className:"ms-search__autoSuggest"},KeywordSuggest:{className:m},ProductSuggest:{className:g},CategorySuggest:{className:y},SearchForm:{className:`${this.searchFormClass} ${d?"bx-show":"bx-hide"}`},FormWrapper:{tag:"form",ref:this.formReference,className:"ms-search__searchForm","aria-label":"Search",name:"searchForm",role:"Search",action:_,autoComplete:"off",onSubmit:this._handleSubmit},UlKeyword:{tag:"ul",className:h()("msc-autoSuggest__keywordResults-items",l)},UlProduct:{tag:"ul",className:h()("msc-autoSuggest__productResults-items",l)},UlCategory:{tag:"ul",className:h()("msc-autoSuggest__categoryResults-items",l)},label:Z({isSearchFormExpanded:d,searchLabelClass:`${this.searchLabelClass} ${d?"bx-hide":"bx-show"}`,searchtext:t,searchLabelArialLabel:r,searchCollapsedLabel:this.searchCollapsedLabel,hideSearchLabel:n,handleCancelSearchChange:this._handleCancelSearchChange,telemetryContent:this.telemetryContent}),form:W({ariaLabelCancel:a,ariaLabelSearch:i,ariaLabelSubmit:s,hideSearchLabel:n,searchTextInput:this.searchTextInput,isSearchFormExpanded:d,disableSubmitSearch:o,handleInputChange:this._handleInputChange,handleCancelSearchChange:this._handleCancelSearchChange,maxChars:this.maxChars,searchQsp:v,searchPlaceholder:x,query:p}),autosuggestKeyword:p&&p.length>0&&S&&S.length>0?O({searchKeywordSuggestClass:m,searchPageURL:C,searchQsp:v,hitPrefix:this.hitPrefix,hitSuffix:this.hitSuffix,autoSuggestProps:this.props,searchText:p,suggestions:S,telemetryContent:this.telemetryContent}):void 0,autosuggestProduct:p&&p.length>0&&E&&E.length>0?N({searchProductSuggestClass:g,searchPageURL:C,searchQsp:v,hitPrefix:this.hitPrefix,hitSuffix:this.hitSuffix,autoSuggestProps:this.props,searchText:p,suggestions:E,telemetry:this.props.telemetry,moduleType:this.props.typeName,moduleId:this.props.id,telemetryContent:this.telemetryContent}):void 0,autosuggestCategory:p&&p.length>0&&w&&w.length>0?U({searchCategorySuggestClass:y,searchPageURL:C,searchQsp:v,hitPrefix:this.hitPrefix,hitSuffix:this.hitSuffix,autoSuggestProps:this.props,searchText:p,suggestions:w,searchRefiners:f,telemetryContent:this.telemetryContent}):void 0,callbacks:{handleCancelSearchChange:this._handleCancelSearchChange},isSearchFormExpanded:this.state.isSearchFormExpanded});return this.props.renderView(T)}async _getSearchRefiners(e){const{actionContext:t}=this.props.context;return Object(p.n)({callerContext:t},{SearchCondition:e,Context:{ChannelId:+t.requestContext.apiSettings.channelId,CatalogId:+t.requestContext.apiSettings.catalogId}})}}t.default=X},xZro:function(e,t,r){"use strict";r("y/s1");var a=r("mrSG"),i=r("mwIZ"),s=r.n(i),n=r("okNM"),o=r("cDcd"),c=r("x5+1");let l=class extends o.Component{constructor(){super(...arguments),this.state={currentStep:0},this.getEnabledModules=()=>{const{moduleState:{childIds:e,getModule:t}}=this.props;return e.filter(e=>{const r=t(e);return!!r&&!r.isDisabled})},this.getStep=e=>this.getEnabledModules().indexOf(e),this.getId=e=>s()(e,"props.id")||"",this.getHeading=e=>s()(e,"props.config.heading")||"",this.isExpanded=e=>!!this.props.isEditor||e>-1&&e<=this.state.currentStep,this.isActive=e=>e===this.state.currentStep,this.isVisted=e=>e>-1&&e{this.setState({currentStep:this.state.currentStep+1})}}componentDidMount(){const e=this.props.items.map(e=>s()(e,"props.id"));this.props.moduleState.init({childIds:e})}render(){const{moduleState:e,items:t,resource:r}=this.props;return t&&e?o.createElement("div",{className:"ms-checkout__guided-form"},t.map(e=>{const t=this.getId(e),a=this.getStep(t),i=this.getHeading(e),s=this.props.moduleState.getModule(t),{isReady:n,isPending:l,isUpdating:d,isDisabled:u,isCancelAllowed:p,onEdit:m,onCancel:h,onSubmit:g,hasModuleState:y,hasInitialized:b}=s||{};return o.createElement(c.a,{key:t,step:a,title:i,resource:r,disabled:!y||u,isActive:this.isActive(a),isVisted:this.isVisted(a),isExpanded:this.isExpanded(a),isSubmitting:l,isMobile:this.props.isMobile,isPending:l,isUpdating:d,hasInitialized:b,isReady:n,isCancelAllowed:p,onSubmit:g,onCancel:h,onEdit:m,onNext:this.onNext,hasControlGroup:!this.props.disableGuidedCheckoutFlow&&b,telemetryContent:this.props.telemetryContent},o.cloneElement(e,{enableControl:!0}))})):null}};l=Object(a.__decorate)([n.a],l),t.a=l},zIdZ:function(e,t,r){"use strict";r.r(t),r.d(t,"getGroups",(function(){return _.a})),r.d(t,"getOrderInformation",(function(){return O.b})),r.d(t,"getOrderInfomationInput",(function(){return O.a})),r.d(t,"getSalesLine",(function(){return T.c})),r.d(t,"getPickupDeliveryMode",(function(){return T.a})),r.d(t,"getdeliveryTypeString",(function(){return T.f})),r.d(t,"getdeliveryTypeClassName",(function(){return T.e})),r.d(t,"getPickupModeDesc",(function(){return T.b})),r.d(t,"getStoreName",(function(){return T.d})),r.d(t,"getSalesLines",(function(){return x.a})),r.d(t,"getSalesLinesInput",(function(){return x.b})),r.d(t,"getTenderIdOperationIdMap",(function(){return P.f})),r.d(t,"countItems",(function(){return P.a})),r.d(t,"getSalesLinesByDelivery",(function(){return P.d})),r.d(t,"defaultImageSettings",(function(){return P.b})),r.d(t,"getSalesStatusCode",(function(){return P.e})),r.d(t,"groupSalesLines",(function(){return P.g})),r.d(t,"getDateTimeslot",(function(){return P.c})),r.d(t,"getSalesOrder",(function(){return w}));r("9VTn");var a,i=r("rePB"),s=(r("ES/9"),r("y/s1"),r("LR6M"),r("mrSG")),n=r("TSYQ"),o=r.n(n),c=r("2vnA"),l=r("okNM"),d=r("cDcd"),u=r.n(d),p=r("Hxoz"),m=r("xT9B"),h=r("hxuE"),g=(r("oLpx"),r("UdvX")),y=r("tngn");!function(e){e[e.CurrentUser=0]="CurrentUser",e[e.OrganizationWide=1]="OrganizationWide"}(a||(a={}));const b=(e,t)=>{switch(e){case a.CurrentUser:return t.orderHistoryFilterYourOrderHistory;case a.OrganizationWide:return t.orderHistoryFilterOrganizationWide;default:throw new Error("Failed to retrieve resource description for unknown order history filter state.")}},f=m.msdyn365Commerce.createComponent("OrderHistoryFilterComponent",{component:e=>{if(!e.data.customerInformation.IsB2bAdmin)return null;const t=u.a.createRef(),[r,i]=u.a.useState(!1),s=()=>{i(!r)},[n,o]=u.a.useState(e.currentState),c=t=>{o(t),i(!1),e.onFilterStateChanged(t)};return u.a.createElement("div",{className:e.className},u.a.createElement(p.Button,{className:e.className+"__expand-filter-button",innerRef:t,"aria-expanded":r,"aria-describedby":e.className,onClick:s},b(n,e.resources)),u.a.createElement(p.Popover,{id:e.className,placement:"bottom-end",isOpen:r,target:t,toggle:s},g.EnumExtensions.getEnumValues(a).map(t=>((e,t,r,i)=>{const s=a[e];return u.a.createElement("a",{role:"button",className:`${r}__item__${s}`,onClick:()=>i(e)},b(e,t))})(t,e.resources,e.className,c))))}});class v{constructor(e,t,r){this.getCacheKey=()=>Object(g.buildCacheKey)("OrderHistory",this.apiSettings),this.getCacheObjectType=()=>"OrderHistory",this.dataCacheType=()=>"request",this.apiSettings=t,this.paging=e,this.filterState=r||a.CurrentUser}}async function C(e,t){if(!t)throw new Error("getSalesOrderWithHydrationsAction - Action context cannot be null/undefined");const r=t.requestContext.apiSettings.channelId;let i=[];switch(e.filterState){case a.CurrentUser:i=await(s=e.paging,async e=>Object(y.c)({callerContext:e,queryResultSettings:{Paging:{Top:s.top,Skip:s.skip}}},""))(t);break;case a.OrganizationWide:i=await(e=>async t=>{const r={Paging:{Top:e.top,Skip:e.skip}};return Object(g.getOrganizationWideOrderHistory)(new g.GetOrganizationWideOrderHistoryInput(r),t)})(e.paging)(t);break;default:throw new Error("getSalesOrderWithHydrationsAction - Invalid OrderHistoryFilterState passed")}var s;if(!i||!i.length)return{salesOrders:[],products:[]};const n=((e,t)=>{const r={};return e.forEach(e=>{var a;return null==e||null===(a=e.SalesLines)||void 0===a?void 0:a.forEach(a=>{const i=a.ProductId||0,s=e.ChannelId||t;r[s]||(r[s]=[]),r[s].push(i)})}),r})(i,r),o=Object.entries(n).map(e=>{let[r,a]=e;return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return r=>{const a=e.map(e=>new g.ProductInput(e,r.requestContext.apiSettings,t));return Object(g.getSimpleProducts)(a,r)}}(a,Number(r))(t)});return Promise.all(o).then(e=>{const t=e.reduce((e,t)=>[...e,...t],[]);return{salesOrders:i,products:t}}).catch(e=>{throw t.telemetry.exception(e),t.telemetry.debug("Failed to get products"),e})}Object(m.createObservableDataAction)({id:"@msdyn365-commerce-modules/order-management/order-history/get-order-shipment-history",action:C}),r("HBRN"),r("BDvt");var _=r("F9+a"),O=r("/gOl"),x=r("WRUG");function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function E(e){for(var t=1;t{const{id:t,typeName:r,context:a,telemetry:i,products:s,salesOrder:n,showChannelInfo:o,channelIdentities:c,orgUnitLocations:l,telemetryContent:u,resources:{freePriceText:h,detailsAriaLabel:g,detailsLabel:y,orderItemLabel:b,orderItemsLabel:f},context:{actionContext:v},retailMultiplePickUpOptionEnabled:C,channelDeliveryOptionConfig:S}=e,w={id:t,typeName:r,context:a,telemetry:i,freePriceText:h},T={className:"ms-order-history__sales-order",key:n.SalesId||n.TransactionId},P=Object(O.a)(e,"ms-order-history",n,w,c,l,o),I=Object(O.b)(P),N=s&&Object(x.b)(e,"ms-order-history",n,s,w,void 0,void 0,void 0,C,S),k=N&&Object(x.a)(E(E({},N),{},{imageOnly:!0})),j=Object(p.getPayloadObject)("click",u,p.TelemetryConstant.OrderDetails),L=Object(p.getTelemetryAttributes)(u,j);return{salesOrderProps:T,orderInfomation:I,groups:k&&Object(_.a)({moduleName:"ms-order-history",salesLines:k,resources:{orderItemLabel:b,orderItemsLabel:f},retailMultiplePickUpOptionEnabled:C}),orderDetailsLink:d.createElement(p.Button,Object.assign({href:(()=>{const e=Object(m.getUrlSync)("orderDetails",v)||"",t=e.includes("?")?"&":"?";return n.SalesId?`${e}${t}salesId=${n.SalesId}`:`${e}${t}transactionId=${n.TransactionId}`})(),"aria-label":n.ChannelReferenceId&&g?g.replace("{orderId}",n.ChannelReferenceId):"",className:"ms-order-history__btn-order-details"},L),y)}};var T=r("d6et"),P=r("x1rJ");function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function N(e){for(var t=1;tthis.props.config.heading.text=e.target.value,this.onMoreButtonClick=()=>{this.getOrderHistory()},this.renderExtraActions=()=>this.props.data.customerInformation&&this.props.data.customerInformation.result&&d.createElement(f,{id:this.props.id,typeName:this.props.typeName,context:this.props.context,className:"ms-order-history__ms-order-history-filter",resources:this.props.resources,data:{customerInformation:this.props.data.customerInformation.result},currentState:this.filterState,onFilterStateChanged:this.onFilterStateChanged}),this.initState=()=>{this.orderHistory={salesOrders:[],products:[]},this.viewState={isDataReady:!1,hasError:!1,isShowMoreButton:(this.props.config.pageSize||0)>0,isLoading:!1},this.pageSize=this.props.config.pageSize||10,this.paging={top:this.pageSize,skip:0}},this.onFilterStateChanged=e=>{this.initState(),this.filterState=e,this.getOrderHistory().then(()=>{this.viewState.isDataReady=!0}).catch(e=>{this.viewState.hasError=!0})},this.getOrderHistory=async()=>{const e=this.props.context.actionContext,t=new v(this.paging,this.props.context.request.apiSettings,this.filterState);try{this.viewState.isLoading=!0;const r=await C(t,e);if(r){const{products:e,salesOrders:t}=r;this.orderHistory.products.push(...e),this.orderHistory.salesOrders.push(...t),this.viewState.isShowMoreButton=this.viewState.isShowMoreButton&&r.salesOrders.length>0&&r.salesOrders.length===this.pageSize,this.paging.skip+=this.pageSize}return this.viewState.isLoading=!1,Promise.resolve()}catch(r){return Promise.reject()}},this.initState(),this.filterState=a.CurrentUser,this.telemetryContent=Object(p.getTelemetryObject)(this.props.context.request.telemetryPageName,this.props.friendlyName,this.props.telemetry),this.payLoad=Object(p.getPayloadObject)("click",this.telemetryContent,"")}componentDidMount(){this.props.context.actionContext.requestContext.user.isAuthenticated?this.getOrderHistory().then(()=>{this.viewState.isDataReady=!0}).catch(e=>{this.viewState.hasError=!0}):this.viewState.isDataReady=!0}render(){const{config:{heading:e,className:t,showChannelInfo:r},resources:{genericErrorMessage:a,noOrderHistoryLable:i,moreButtonText:s,backToShopping:n,orderCountLabel:c,ordersCountLabel:l,loadingLabel:u}}=this.props,{salesOrders:g,products:y}=this.orderHistory,{isDataReady:b,hasError:f,isShowMoreButton:v,isLoading:C}=this.viewState,_=m.getUrlSync("home",this.props.context.actionContext)||"",O=this.props.data.channels.result&&this.props.data.channels.result.channelIdentities,x=this.props.data.orgUnitLocations.result&&this.props.data.orgUnitLocations.result.orgUnitLocations;let S=N(N({},this.props),{},{orderHistory:this.orderHistory,viewState:this.viewState,orderHistoryProps:{moduleProps:this.props,className:o()("ms-order-history",t)},header:{headerProps:{className:"ms-order-history__header"},heading:e&&e.text&&d.createElement(m.Text,Object.assign({},e,{className:"ms-order-history__heading",text:e.text,tag:e.tag||"h2",editProps:{onEdit:this.handleOrderHistoryHeadingChange,requestContext:this.props.context.request}}))},backToShoppingLink:_&&d.createElement(p.Button,{className:"ms-order-history__btn-keep-shopping",href:_},n)});if(f)return S=N(N({},S),{},{alert:d.createElement(h.a,{className:"ms-order-history__alert",label:a})}),this.props.renderView(S);if(!b)return S=N(N({},S),{},{loading:d.createElement(h.a,{className:"ms-order-history__loading",label:u})}),this.props.renderView(S);if(!g||0===g.length)return S=N(N({},S),{},{emptyMessage:d.createElement("p",{className:"ms-order-history__empty-message"},i)}),this.props.renderView(S);const E=1===g.length?c:l;this.payLoad.contentAction.etext=p.TelemetryConstant.ViewMore;const T=Object(p.getTelemetryAttributes)(this.telemetryContent,this.payLoad);return S=N(N({},S),{},{header:N(N({},S.header),{},{orderCountLabel:d.createElement("span",{className:"ms-order-history__order-count"},`(${g.length} ${E})`),extraActions:this.renderExtraActions()}),list:{listProps:{className:"ms-order-history__sales-order-list"},salesOrders:g.map(e=>w(N(N({},this.props),{},{products:y,salesOrder:e,channelIdentities:O,orgUnitLocations:x,showChannelInfo:r,telemetryContent:this.telemetryContent})))},moreButton:v&&d.createElement(p.Button,Object.assign({className:"ms-order-history__btn-more "+(C?"is-busy":"")},T,{disabled:C,onClick:this.onMoreButtonClick}),s)}),this.props.renderView(S)}};Object(s.__decorate)([c.n],k.prototype,"orderHistory",void 0),Object(s.__decorate)([c.n],k.prototype,"viewState",void 0),k=Object(s.__decorate)([l.a],k);t.default=k},zn29:function(e,t,r){"use strict";r("ES/9"),r("HBRN");var a=r("xT9B"),i=r("5qyE"),s=r("25kz");t.a=async(e,t,r,n,o)=>{let c;try{c=await Object(i.b)(e,o)}catch(l){throw l}try{await Object(s.a)(e)}catch(l){throw l}if(n){const t=Object(a.getUrlSync)("orderConfirmation",e)||"";if(!t)throw new Error("Error: No orderConfirmationUrl");const r=t.includes("?")?"&":"?",i=`${t}${r}transactionId=${c.Id}`;window.location.assign(i)}else{if(!t)throw new Error("Error: No checkout state");if("FAILED"===(await t.updateSalesOrder({newSalesOrder:c,newOrderedProducts:r||[]})).status)throw new Error("Error: Updating error state failed")}}}}]); //# sourceMappingURL=6.ac74dbd1e455db21.chunk.js.map