{"version":3,"sources":["webpack:///src/common/components/address-list.tsx?8cb2","webpack:///src/modules/account-management-address/account-management-address.tsx?2c3f","webpack:///src/modules/checkout-customer-account-payment/checkout-customer-account-payment.view.tsx?c009","webpack:///src/modules/checkout-shipping-address/checkout-shipping-address.view.tsx?e155","webpack:///src/modules/checkout-payment-instrument/checkout-payment-instrument.view.tsx?9afd","webpack:///src/common/address-autosuggest.ts?520f","webpack:///src/common/components/address-button.tsx?e3b2","webpack:///src/modules/checkout-terms-and-conditions/components/checkout-terms-and-conditions.check-box.tsx?c1cc","webpack:///src/modules/checkout-terms-and-conditions/components/checkout-terms-and-conditions.error-message.tsx?791f","webpack:///src/modules/checkout-terms-and-conditions/components/checkout-terms-and-conditions.error-title.tsx?1f3c","webpack:///src/modules/checkout-terms-and-conditions/checkout-terms-and-conditions.tsx?0ddf","webpack:///src/modules/checkout-terms-and-conditions/checkout-terms-and-conditions.view.tsx?0931","webpack:///src/common/components/address-error-title.tsx?a723","webpack:///src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode.tsx?4bab","webpack:///src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode.tsx?4664","webpack:///src/modules/checkout-customer-account-payment/checkout-customer-account-payment.tsx?ced5","webpack:///src/modules/business-account-address/business-account-address.tsx?d57d","webpack:///src/modules/checkout-pickup/checkout-pickup.view.tsx?9210","webpack:///src/common/components/address-detail-item.tsx?c5b6","webpack:///src/common/components/address-show.tsx?376c","webpack:///src/modules/checkout-pickup/components/checkout-pickup-group.tsx?4b00","webpack:///src/modules/checkout-pickup/components/checkout-pickup-utility.ts?22a5","webpack:///src/modules/checkout-pickup/components/checkout-pickup-date-dropdown.tsx?4fb2","webpack:///src/modules/checkout-pickup/components/checkout-pickup-timeslot-dropdown.tsx?089a","webpack:///src/modules/checkout-pickup/checkout-pickup.tsx?b7a1","webpack:///src/common/address-meta-data.ts?d29d","webpack:///../../src/index.ts?0e3e","webpack:///src/modules/account-management-address/account-management-address.view.tsx?739e","webpack:///src/common/address-format.data.ts?da4c","webpack:///src/modules/checkout-express/checkout-express.tsx?8e2f","webpack:///../../../src/module-state-manager/with-module-state.tsx?61ca","webpack:///src/common/components/address-select.tsx?e342","webpack:///src/modules/checkout-shipping-address/components/checkout-shipping-cartlines-images.tsx?7802","webpack:///src/modules/checkout-shipping-address/checkout-shipping-address.tsx?bd44","webpack:///../../src/checkout-state.ts?acd8","webpack:///src/common/index.ts?ee63","webpack:///src/modules/business-account-address/business-account-address.view.tsx?dcd1","webpack:///src/modules/checkout-guest-profile/checkout-guest-profile.view.tsx?c89a","webpack:///src/common/error.tsx?f9f6","webpack:///src/common/components/address-billing-checkbox.tsx?1b2a","webpack:///src/common/components/address-billing-heading.tsx?4a5c","webpack:///src/modules/checkout-billing-address/checkout-billing-address.tsx?83e6","webpack:///../../../src/module-state-manager/module-state.ts?7579","webpack:///src/common/iframe.tsx?89ab","webpack:///src/common/address-format.ts?400b","webpack:///src/common/address-common.ts?0583","webpack:///src/common/with-visibility-observer.tsx?6bf2","webpack:///src/common/payment-instrument-message.ts?208d","webpack:///src/modules/checkout-section-container/checkout-section-container.view.tsx?61ae","webpack:///src/modules/checkout-guest-profile/components/get-add-contact-info.tsx?1fcf","webpack:///src/modules/checkout-guest-profile/components/get-show-contact-info.tsx?77e1","webpack:///src/modules/checkout-guest-profile/checkout-guest-profile.tsx?f355","webpack:///src/modules/checkout-section-container/components/loading.tsx?c2e5","webpack:///src/modules/checkout-section-container/checkout-section-container.tsx?9b3a","webpack:///src/modules/checkout-billing-address/checkout-billing-address.view.tsx?d08e","webpack:///../../../src/module-state-manager/index.ts?8e3a","webpack:///src/common/waiting.tsx?8365","webpack:///src/common/components/address-alert.tsx?0da8","webpack:///src/common/components/address-checkbox.tsx?a46e","webpack:///src/common/components/address-dropdown.tsx?3e73","webpack:///src/common/components/address-label.tsx?9ddc","webpack:///src/common/components/address-add.tsx?0cbd","webpack:///src/common/components/address-error-message.tsx?c7bd","webpack:///src/common/add-payment-form.tsx?7e1f","webpack:///src/modules/checkout-payment-instrument/components/payment-information.tsx?3828","webpack:///src/modules/checkout-payment-instrument/checkout-payment-instrument.tsx?0303","webpack:///src/modules/checkout-express/checkout-express.view.tsx?6c99","webpack:///src/common/components/address-input.tsx?ed8f","webpack:///../../src/checkout-state-data-action.ts?8344","webpack:///src/common/address-module.data.ts?1a63"],"names":["getButtonAriaLabel","ariaLabel","addressName","replace","getAddressList","className","addresses","showPrimaryButton","props","heading","resources","isUpdating","addressActionResponse","selectedAddress","addressFormat","onEditAddress","onRemoveAddress","onUpdatePrimaryAddress","addressPurposes","telemetryContent","errorTitle","errorMessage","List","isShowList","length","React","Heading","Object","items","map","address","isSelectedAddress","RecordId","isShowError","Item","key","showItems","AddressShow","getAddressFormat","ThreeLetterISORegionName","error","Error","title","AddressErrorTitleComponent","message","AddressErrorMessageComponent","isShowPrimaryButton","primaryButton","AddressButtonComponent","classname","disabled","text","addressPrimaryButtonText","addressPrimaryButtonAriaLabel","Name","onClick","editButton","addressEditButtonText","addressEditButtonAriaLabel","role","removeButton","addressRemoveButtonText","addressRemoveButtonAriaLabel","getPrimaryAddressList","primaryAddressSectionHeading","primaryAddresses","filter","IsPrimary","getOtherAddressList","otherAddressSectionHeading","otherAddresses","AccountManagementAddress","constructor","super","countryRegionId","countryRegions","defaultAddressType","_onSuggestionSelected","async","this","_clearAddressFields","getTranformedAddress","result","stateProvinceInfo","set","addUpdateAddress","Street","ZipCode","CountyName","City","State","DistrictName","FullAddress","setTimeout","forEach","format","undefined","name","autoSuggest","excludedAddressFields","includes","_clearValidation","validationError","_dataInitialize","data","reaction","customerAddresses","_renderAddOrUpdateAddress","AddressAddUpdate","addressType","AddressType","Shipping","defaultCountryRegionId","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","onSave","_onAddressAddUpdateSubmit","onCancel","_resetView","_renderListAddress","config","headingTag","tag","onAddAddress","handleLineItemHeadingChange","ListAddress","Msdyn365","editProps","onEdit","requestContext","contextRequest","isShowEmptyListMessage","emptyListMessage","addressEmptyListAddressMessage","addButton","addressAddButtonText","addressAddButtonAriaLabel","primaryAddressList","otherAddressList","AddressList","context","request","event","target","value","_goToEditAddress","_onRemoveAddress","_goToAddAddress","_onSubmitUpdatePrimaryAddress","_attachMapAutoSuggest","storeSelectorStateManager","isMapApiLoaded","attachAutoSuggest","onAddressAddUpdate","validateAddressFormat","type","checked","RegExp","AddressItemType","AddressTypeValue","_onCountryChange","_onAddressUpdate","response","onSuccess","then","hasError","addressCommon","isAuthenticatedFlow","currentOperation","AddressOperation","Update","updateCustomerAddress","addCustomerAddress","Promise","resolve","_onAddOrUpdateSuccess","twoLetterISORegionName","getTwoLetterISORegionName","TwoLetterISORegionName","changeAutoSuggestionCountryCode","_getAddressFormatExcludeList","addressFormatExcludeList","showAddressType","push","_getStateProvinces","Add","getStateProvinces","some","state","StateId","_updateCurrentOperation","operation","updateCustomerPrimaryAddress","_onUpdatePrimaryAddressSuccess","Deactivate","removeAddressData","_renderScreenReaderRemoveText","notification","formatNotification","removeAddressNotification","_setDefaultCountryRegionId","telemetry","AddressCommon","AddressFormat","AddressMetaData","getTelemetryObject","telemetryPageName","friendlyName","actionContext","channel","autoSuggestionEnabled","autoSuggestOptions","BingMapsApiKey","BingMapsEnabled","options","AutoSuggest","ChannelCountryRegionISOCode","DefaultLanguageId","loadMapApi","_loadMapAPI","disposeAutoSuggest","shouldComponentUpdate","nextProps","nextState","render","renderView","viewState","isShowAddresList","isShowAddOrUpdateAddress","AccountAddressManagement","moduleProps","classnames","showAddressList","showAddOrUpdateAddress","screenReaderNotification","market","getDefaultCountryRegionId","__decorate","observable","action","observer","SummaryForm","formProps","label","paymentAmount","addPaymentButton","appliedLine","bottomBorder","Node","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","alert","accountDetails","CheckoutCustomerAccountView","checkoutCustomerAccount","summaryView","editView","moduleState","Module","isReady","AddressDetail","item","description","AddressSelect","SelectAddress","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","SelectItem","input","AddressForm","AddressItem","AddressError","CheckoutShippingAddressView","CheckoutShippingAddress","showAddress","showAddressSelect","cartLineImages","isShowAddress","OverlayModal","modal","CheckoutPaymentInstrumentView","checkoutPaymentInstrument","id","waiting","paymentInformation","addPaymentForm","overlayModal","countryCode","defaultLanguageId","inputId","containerId","selectedSuggestionCallback","autoSuggestManager","Microsoft","Maps","loadModule","callback","AutosuggestManager","attachAutosuggest","document","querySelector","setAttribute","errorCallback","debug","credentials","bingMapsApiKey","setOptions","detachAutosuggest","dispose","lang","AddressButtonFunctionComponent","isDisabled","payLoad","getPayloadObject","attributes","getTelemetryAttributes","CheckoutTermsAndConditionsCheckbox","isChecked","onChange","attribute","CheckoutTermsAndConditionsErrorMessage","CheckoutTermsAndConditionsErrorTitle","CheckoutTermsAndConditions","isTermsAccepted","handleTextChange","getTermsAndConditions","showCheckbox","isAutoSave","isTermsAndConditionAccepted","checkboxAriaLabel","termsAndConditionAcceptance","checkBox","CheckboxComponent","MsDyn365","init","hasInvoiceLine","checkout","checkoutCart","updateTermsAndConditionsAcceptance","onSubmit","status","getErrorMessage","errorMessageTitle","ErrorTitleComponent","ErrorMessageComponent","getCancelButton","cancelBtnLabel","cancelBtnAriaLabel","Button","color","getSaveButton","saveBtnLabel","saveBtnAriaLabel","getEditButton","editBtnLabel","editBtnAriaLabel","onUpdating","clearError","onReady","setError","setHasError","newIsTermsAndConditionAccepted","shouldEnableSinglePaymentAuthorizationCheckout","updateIsTermsAndConditionsChecked","newIsTermsAndConditionChecked","showControlButtons","hasExternalSubmitGroup","when","isDataReady","defaultTermsAndConditionAcceptedValue","isError","isShowContent","isShowSelected","viewProps","errorMessageData","isShowButtons","isShowEditButton","checkoutTermsAndConditions","termsAndConditionsContent","computed","withModuleState","TermsAndCondition","ErrorMessage","CheckoutTermsAndConditionsView","AddressErrorTitleFunctionComponent","onAddAccountPayment","onAddPayment","preventDefault","onChangeAmountHandler","onChangePaymentAmount","Number","parseFloat","getAccountPaymentFormEditMode","amount","maxAmount","customer","customerCreatedDate","availableCredit","showCreditLimit","onToggleCreditSection","creditSectionIsExpanded","orderTotal","excessCredit","onRemovePayment","appliedAmount","addPaymentButtonLabel","inputAmountLabel","inputAmountAriaLabel","customerSinceLabel","accountCreditLabel","creditDetailsSectionLabel","orderTotalLabel","availableCreditLabel","creditExcessLabel","appliedCustomerAccountPaymentLabel","removeCustomerAccountPaymentLabel","onInput","min","max","AccountNumber","Alert","assertive","fade","includeAlertClass","isOpen","getAccountPaymentFormSummaryMode","inputAmountSummaryLabel","CheckoutCustomerAccountPayment","baseClassName","getAvailableCredit","creditBalances","InvoiceAccountCreditLimit","CreditLimit","Balance","PendingBalance","InvoiceAccountBalance","InvoiceAccountPendingBalance","addPayment","checkoutState","updateCustomerAccountAmount","newAmount","information","toggleCreditSection","setState","isCreditSectionExpanded","handleCancelOrSubmit","customerAccountAmount","updateMaxAmount","Math","onSkip","removePayment","maxPaymentAmount","customerInfo","get","platform","AllowOnAccountPayment","enableCustomerAccountPayment","IsB2b","loyaltyAmount","giftCards","giftCardAmount","giftCard","cart","amountDue","TotalAmount","getLoyaltyAmount","getGiftCardAmount","customerInformation","MandatoryCreditLimit","invalidAmountMessage","cultureFormatter","formatCurrency","currencyCode","totalAmount","isCustomerAccountPaymentEnabled","locale","customerSinceDate","Date","CreatedDateTime","toLocaleDateString","formattedExcessCredit","BusinessAccountAddress","shouldAutoFocus","excludedList","_resetAddressFields","addressFormatItem","displayType","AddressItemDisplayType","Input","Checkbox","countryStates","Company","_updateAddress","_updateCountryRegionId","updateForm","isRequired","cleanValue","_isEmpty","_isInputRequired","addressItemValue","ObjectExtensions","isNullOrUndefined","validationRules","validationRule","AddressValidationRuleType","Required","componentDidMount","resetAddress","CheckoutPickupView","checkoutPickup","headerError","pickupGroups","isLoading","isHeaderError","pickupGroupViewProps","index","pickupGroupContainer","dateTimeslotContainer","groupDivider","groupHeader","groupErrorMessage","pickupDateDropdown","pickupTimeslotDropdown","selectedDateTimeslot","pickupAddress","isShowDropdown","AddressDetailItemFunctionComponent","isNewLine","isShowLabel","labelText","toLowerCase","isEmpty","mainClass","find","addressTypeValue","toString","AddressDetailItemComponent","Phone","PickupTimeslotAvailabilityState","CheckoutPickupError","CheckoutPickupGroupHeader","moduleClassName","storeInfo","CheckoutPickupTimeslotInfo","content","CheckoutPickupAddress","County","CheckoutPickupCartLines","cartLines","ArrayExtensions","hasElements","prop","showQty","quantity","lineId","Image","imageProps","DefaultImageSettings","viewports","xs","q","w","h","lg","xl","lazyload","quality","getDate","date","Intl","DateTimeFormat","timeZone","getTimeslot","placeHolder","startDate","endDate","formatter","hour","minute","hour12","getUTCDateWithoutTime","UTC","getUTCFullYear","getUTCMonth","getUTCDate","CheckoutPickupDateDropdown","defaultKey","updateDateSelection","pickupStoreId","deliveryMode","setDateHandler","selectedOption","getDateMap","has","mapDatesToOptions","dates","selectedDate","defaultOption","unshift","findIndex","getTime","dropdownOptions","defaultText","bind","Map","availableDates","labelClassname","dropdownId","controlledByParent","toggleColor","dropdownClassname","htmlFor","LabeledDropdown","onSelectOption","CheckoutPickupTimeslotDropdown","updateTimeslotSelection","setTimeslotHandler","getTimeslotMap","mapTimeslotsToOptions","timeslots","selectedTimeslot","timeslotPlaceHolder","StartDateTime","EndDateTime","availableTimeslots","CheckoutPickup","initModuleState","canPickup","isPickupTimeSlotSet","onPending","updateCartLinePickupDateTimeslot","headerErrorMessage","initPickupGroup","pickupCartLines","getCartLinesforPickup","products","getProductsByCartLines","ChannelId","locations","orgUnitLocations","featureState","deliveryOptions","retailMultiplePickUpOptionEnabled","feature","IsEnabled","line","group","x","FulfillmentStoreId","DeliveryMode","product","ProductId","lineDeliverySpecification","LineId","DeliverySpecification","DeliveryModeId","DeliveryPreferenceTypeValue","PickUpStoreId","PickupTimeslotStartDateTime","PickupTimeslotEndDateTime","DeliveryAddress","ShippingAddress","lineDeliverySpecs","cartLine","location","OrgUnitNumber","storeName","getStoreName","newGroup","pickupModeName","getPickupModeDescription","generalPickupText","availabilityState","None","dailyGroupingResults","searchCriteria","DeliveryModeCode","StoreId","SearchOptionValue","getEstimatedPickupTimeslotAvailabilitiesAsync","callerContext","queryResultSettings","getPickupTimeslotAvailabilityState","NotAvailable","noAvailableDateError","AvailableCapacity","timeslotResults","StartDate","EndDate","bypassCache","filteredPickupGroups","Available","validateTimeslot","lineSpecs","concat","lineDeliverySpecifications","genericErrorMessage","setIsCancellable","channelId","productInputs","ProductInput","apiSettings","getSimpleProducts","validationResult","dateErrorMessage","timeslotErrorMessage","pickupDateRequired","pickupTimeslotRequired","pickupDateTimeslotRequired","NotDefined","orgUnitLocation","OrgUnitName","every","CartLines","isPickupLine","isPickupMode","pickupDeliveryModeCode","PickupDeliveryModeCode","channelDeliveryOptionConfig","pickupDeliveryMode","PickupDeliveryModeCodes","isNullOrWhiteSpace","resourceString","deliveryOption","foundProductDeliveryOption","deliveryO","deliveryDesc","DeliveryOptions","option","Code","Description","dailyResult","pickupDateLabel","pickupTimeslotLabel","pickupDateDefaultText","pickupTimeslotDefaultText","itemsText","singleItemText","pickupDateTimeslotText","pickupTimeslotPlaceHolder","pickupLocationLabel","imageSettings","defaultClassName","groupsViewProps","itemText","headerProps","cartlines","altText","src","PrimaryImageUrl","fallBackSrc","getFallbackImageUrl","ItemId","gridSettings","loadFailureBehavior","Quantity","lineImageProps","dateString","timeslotString","timeslotInfoProps","selectedDateTimeslotNode","addressProps","dropdownClassName","labelClassName","dropdownSelectClassName","dateDropdownNode","timeslotDropdownNode","viewProp","Waiting","pickupDate","oldGroup","lineSpec","noAvailableTimeslotError","groups","pickupTimeslot","excluded","required","metaData","requiredFieldRegEx","resourcesPrefix","maxLength","excludedTypes","requiredFields","_init","getItemFormat","_addItem","PhoneRegex","defaultRegex","Dropdown","StreetNumber","BuildingCompliment","Postbox","House_RU","Flat_RU","CountryOKSMCode_RU","nameKey","_validationRules","rule","optionalString","ruleType","keys","itemType","_validationRule","Format","regEx","AddressLists","AccountManagementAddressView","CheckoutExpress","isFetchingPaymentConnector","iframeRef","handlePaymentResult","resultAccessCode","isRedirectedFromPaymentGateway","cardPaymentAcceptPoint","isPrimaryPayment","paymentTenderType","termsAndConditionErrorMessage","cartId","Id","paymentConnectorId","PaymentConnectorId","settings","ReturnUrl","getReturnUrl","cardPaymentAcceptResult","AccessCode","Settings","updateCardPaymentAcceptResult","newCardPaymentAcceptResult","refreshCart","terminalError","setIsSubmitContainer","isTermsAndConditionChecked","updateIsPaymentSectionContainerReady","newIsPaymentSectionContainerReady","setErrorMessage","AsyncResult","catch","updatePaymentAcceptPageData","setTerminalError","CartsDataActions","retrieveCardPaymentAcceptResultAsync","TenderLine","TokenizedPaymentCard","AdditionalContext","saveBillingAddress","handleAdditionalContext","cardPrefix","CardTokenInfo","MaskedCardNumber","updateCardPrefix","newCardPrefix","CardTypeId","cardTypeId","getCardTypeId","updateTenderLine","newTenderLine","updateTokenizedPaymentCard","newTokenizedPaymentCard","updatePaymentTenderType","newPaymentTenderType","finally","isPaymentProcessing","handlePaymentCardPrefix","handlePaymentRedirect","redirectData","isPaymentVerificationRequired","paymentVerificationPostData","onContainerReady","isCancellable","isPaymentVerificationRedirection","isPlaceOrderEnabledInRedirection","asyncResultStatus","AsyncResultStatusCode","FAILED","requestFormData","formData","btoa","JSON","stringify","exception","cardTypeErrorMessage","togglePayment","onDisable","postMessageToIframe","paymentConnectorSubmitMessage","hasSelectedItem","redirectToPaymentVerification","oniFrameMessage","parse","shouldCheckConnectorId","PaymentConnectorPostMessageType","Height","paymentConnectorHeight","Result","String","CardPrefix","handlePaymentError","Redirect","Showoverlay","showOverlayModal","Hideoverlay","isShow","isOverlayModal","StoreOperationsDataActions","resolveCardTypesAsync","CardType","Unknown","TypeId","isPaymentVerificationRequried","saveDataInStorage","url","form","createElement","method","propertyName","element","appendChild","body","submit","defaultSubmitErrorMessage","errorValue","join","returnUrl","getUrlSync","test","window","origin","shouldShowBillingAddress","getCardPaymentAcceptPointAction","GetCardPaymentAcceptPointInput","paymentAcceptPoint","update","AcceptPageContent","AcceptPageUrl","redirectAdditionalContext","postMessage","additionalContext","paymentConnectorExtraContextMessage","tokenizedPaymentCard","Zip","billingAddress","Country","House","Address1","Address2","updateBillingAddress","newBillingAddress","emailDeliveryModeCode","EmailDeliveryModeCode","isRetailMultiplePickUpOptionEnabled","values","LOADING","SUCCESS","query","pv","propsRequestUrl","requestUrl","URL","shouldCollapsePaymentSection","hasInitialized","isPending","iFrameHeightOverride","paymentStyleOverride","visibilityObserver","isVisible","MessageOrigin","paymentTenderTypeClassName","checkoutExpress","WaitingComponent","loadingMessage","ErrorComponent","AddPaymentFormComponent","acceptPageUrl","acceptPageContent","messageOrigin","onIFrameMessage","canSubmit","canCancel","requestUrlOrigin","moduleName","Modal","withVisibilityObserver","WrappedComponent","_super","_this","typeName","states","getModuleStates","updateModuleStates","_a","isSubmitContainer","childIds","validate","isSkipped","isCancelAllowed","shouldSubmitContainer","hasModuleState","setIsRequired","getModule","moduleId","getModuleStateManager","getModuleByTypeName","getModuleStateManagerByTypeName","__assign","moduleStates","_moduleState","modules","source","module","isMatch","allMatched","skipSkippableItem","_validateLeaf","app","childId","_isPaymentSectionContainer","_validateContainer","enableControl","initializeState","__extends","ModuleState","getInput","onAddressOptionChange","ichecked","additionalAttributes","addressChangeCheckboxAriaLabel","AddressInputComponent","additionalAddributes","getAddressSelectItems","itemTitle","isShowQty","productQuantityInfo","defaultImageSettings","addressListSelectedAddress","multiplePickupStoreSwitchName","_initPickupGroup","_getCartLinesforDelivery","_getProductsByCartLines","shippingGroups","formatAddress","_isDelivery","_isNotPickupMode","pickupMode","onSaveHandler","onCancelHandler","_renderSelectAddress","onAddAddressHandler","addressSaveButtonText","addressSaveButtonAriaLabel","addressCancelButtonText","addressCancelButtonAriaLabel","_onAddressOptionChange","_onSelectAddress","addressRecordId","currentTarget","_updateModuleState","newAddress","twoLetterIsoRegionName","_getDefaultAddress","_initModuleState","_canShip","defaultAddress","isExpressCheckoutApplied","shippingAddressFromExpressCheckout","Show","_setShippingAddress","shippingAddress","newShippingAddress","updateShippingAddress","headingImages","_renderShowAddress","showAddressSelectHandler","showAddOrUpdateAddressHandler","_giftCards","_giftCardExtends","_loyaltyAmount","_guestCheckoutEmail","_isTermsAndConditionAccepted","_customerAccountAmount","CheckoutState","_tokenizedPaymentCard","_tenderLine","_billingAddress","_shippingAddress","_cardPrefix","_loyaltyCardNumber","giftCardNumber","__spreadArrays","newLoyaltyCardNumber","newGuestCheckoutEmail","BusinessAccountAddressView","ShowContactInfo","showInfoProps","email","AddContactInfo","addFormProps","submitButton","inputGroupProps","CheckoutGuestProfileView","showContactInfo","addContactInfo","AddressBillingCheckbox","AddressBillingHeading","CheckoutBillingAddress","Billing","_onSubmitAddress","isBillingAddressRequried","isBillingAddressSameAsShippingAddress","isBillingAddressSameAsShipping","isCartContainsItemsForShipping","_onBillingAddressSameAsShippingChange","_setBillingAddress","additionalProperties","removeBillingAddress","isShowSameAsShippingCheckbox","addressBillingAddressHeading","sameAsShippingCheckbox","addressSameAsShippingAddressAriaLabel","addressSameAsShippingAddressText","giftCardExtends","reduce","count","checkoutResult","isPaidByOtherPaymentSource","paymenTenderType","getGiftCardTotalAmount","getCustomerAccountAmount","shouldPaidByCard","getCacheKey","getCacheObjectType","dataCacheType","ctx","cacheKey","ModuleStatesCacheKey","getHostName","split","Iframe","parameters","current","contentWindow","targetOrigin","onEvent","sourceUrl","sourceHost","eventHost","requestHost","messageHost","updateContentDocument","displayContent","css","innerDocument","contentDocument","open","write","style","cssNote","createTextNode","head","close","addEventListener","componentDidUpdate","previousProps","componentWillUnmount","removeEventListener","iframeAriaLabel","height","ref","sandbox","countryRegionsInfo","addressMetaData","stateDefaultSelectionText","defaultStateText","dropdownData","getCountryFormat","getStateFormat","getAddressTypeFormat","_getCountryRegionInfo","ISOCode","validationtor","isValid","_inputValidation","postalCode","selectedState","StateName","adminDistrict","addressLine","locality","district","formattedAddress","_validateRegEx","countryRegionInfo","_getAddressDisplayFormat","countryRegion","CountryRegionId","ShortName","addressPurpose","addressDisplayItem","AddressFormatLines","AddressTypeItem","_extendAddressDisplayFormat","nameDisplayItem","formatLine","AddressComponentNameValue","addressItem","NewLine","phoneDisplayItem","isPrimaryDisplayItem","marketISOCode","currentCountryRegion","parseRetailException","addressErrorMessageTitle","addressGenericErrorMessage","user","isAuthenticated","GetStateProvincesInput","getStateProvinceAction","updateLogisticsLocationRoleRecordId","submitCustomerAddress","addAddress","updateAddress","updatePrimaryAddress","addressAction","AddressManagementInput","execAddressAction","GetAddressPurposesInput","getAddressPurposesAction","purpose","LogisticsLocationRoleRecordId","VisibilityObserver","selfRef","initMutationObserver","targetNode","getElementsByTagName","MutationObserver","mutationObserver","handleVisibilityChange","observe","childList","subtree","stopMutationObserver","disconnect","offsetWidth","offsetHeight","paymentConnectorMessage","messageType","ExtraContext","Submit","ItemComponent","loading","itemProps","CheckoutSectionContainerView","checkoutPlainContainerProps","getAddContactInfo","inputRef","emailLabel","emailErrortext","onInputChangeHandler","getContactInfo","canEdit","CheckoutGuestProfile","emailAddress","emailOnCart","ReceiptEmail","emailAddressFromExpressCheckout","updateGuestProfile","isEmailValid","rowEmail","EmailRegex","updateGuestCheckoutEmail","focus","guestCheckoutEmail","getShowContactInfo","Loading","CheckoutPlainContainer","getItems","slots","primary","getActiveChildModuleStates","isCollapse","isPaymentSectionContainer","shouldTriggerPaymentWithPlaceOrder","updateIsPaymentSectionContainerHasError","newIsPaymentSectionContainerHasError","isCheckoutCallFailed","updateIsCheckoutCallFailed","newIsCheckoutCallFailed","width","container","hidden","LoadingComponent","initialized","skipped","ready","updating","pending","CheckoutBillingAddressView","AddressAlertFunctionComponent","AddressCheckboxFunctionComponent","itemId","autoFocus","shouldBeAutoFocused","AddressDropdownFunctionComponent","displayData","selectedValue","isSelected","getDropdownItem","AddressLabelFunctionComponent","getRequriedAttribute","getAddessItems","elementId","AdressCheckboxComponent","AdressDropdownComponent","AddressLabelComponent","AddressAlertComponent","editAddressHeading","addAddressHeading","AddressErrorMessageFunctionComponent","cancelButtonText","submitButtonText","defaultPaymentConnectorStyle","PaymentInformation","changePaymentButtonText","cardTitle","cardNumberLabel","expiresDateLabel","addressTitle","tenderLine","NameOnCard","ExpirationMonth","ExpirationYear","cardLastNDigit","substr","isValidCardNumber","isNaN","CheckoutPaymentInstrument","updateShouldCollapsePaymentSection","newShouldCollapsePaymentSection","updateIsPaymentVerificationRequired","newIsPaymentVerificationRequired","redirectInfo","_value","Message","isAbsoluteUrl","showBillingAddress","console","log","isSinglePayment","PaymentInformationComponent","CheckoutExpressView","AddressInputFunctionComponent","shouldUseAutoFocus","createObservableDataAction","inputData","CheckoutStateInput"],"mappings":"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","file":"static/js/13.b7fe615b9849f4a890a4.chunk.js","sourcesContent":["/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Heading as HeadingData } from '@msdyn365-commerce-modules/data-types';\nimport { Heading, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport * as React from 'react';\n\nimport { AddressFormat } from '../address-format';\nimport { IAddressResource, IAddressResponse } from '../address-module.data';\nimport AddressButtonComponent from './address-button';\nimport AddressErrorMessageComponent from './address-error-message';\nimport AddressErrorTitleComponent from './address-error-title';\nimport { AddressShow, IAddressShowProps } from './address-show';\n\nexport interface IAddressListError {\n Error: INodeProps;\n isShowError: boolean;\n title: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAddressListItem {\n Item: INodeProps;\n key: number;\n error: IAddressListError;\n showItems: IAddressShowProps;\n isShowPrimaryButton: boolean;\n primaryButton: React.ReactNode;\n editButton: React.ReactNode;\n removeButton: React.ReactNode;\n}\n\nexport interface IAddressList {\n List: INodeProps;\n isShowList: boolean;\n heading: React.ReactNode;\n items: IAddressListItem[];\n}\n\nexport interface IAddressListProps {\n ListAddress: INodeProps;\n heading: React.ReactNode;\n isShowEmptyListMessage: boolean;\n emptyListMessage: React.ReactNode;\n addButton: React.ReactNode;\n primaryAddressList: IAddressList;\n otherAddressList: IAddressList;\n}\n\nexport interface IAddressListInputProps {\n isUpdating?: boolean;\n selectedAddress?: Address;\n addressFormat: AddressFormat;\n addresses: Address[];\n addressPurposes: AddressPurpose[];\n heading?: HeadingData;\n primaryAddressSectionHeading?: HeadingData;\n otherAddressSectionHeading?: HeadingData;\n addressActionResponse?: IAddressResponse;\n resources: IAddressResource;\n contextRequest: Msdyn365.IRequestContext;\n telemetryContent?: ITelemetryContent;\n handleLineItemHeadingChange?(event: Msdyn365.ContentEditableEvent): void;\n onAddAddress(): void;\n onEditAddress(address?: Address): void;\n onRemoveAddress(address?: Address): void;\n onUpdatePrimaryAddress(address: Address): void;\n}\n\nconst getButtonAriaLabel = (ariaLabel: string, addressName?: string): string => {\n return ariaLabel.replace('{addressName}', addressName || '');\n};\n\nconst getAddressList = (className: string, addresses: Address[], showPrimaryButton: boolean, props: IAddressListInputProps, heading?: HeadingData): IAddressList => {\n const { resources, isUpdating, addressActionResponse, selectedAddress, addressFormat, onEditAddress, onRemoveAddress, onUpdatePrimaryAddress, addressPurposes, telemetryContent } = props;\n const { errorTitle = null, errorMessage = null } = addressActionResponse || {};\n\n return {\n List: { className },\n isShowList: addresses.length > 0,\n heading: heading && ,\n items: addresses.map((address: Address): IAddressListItem => {\n const isSelectedAddress = selectedAddress && selectedAddress.RecordId === address.RecordId;\n const isShowError = isSelectedAddress && errorTitle && errorMessage;\n return {\n Item: { className: `${className}-list` },\n key: address.RecordId || 0,\n showItems: AddressShow({ addressFormat: addressFormat.getAddressFormat(address.ThreeLetterISORegionName || ''), address, addressPurposes }),\n error: {\n Error: { className: `${className}-error` },\n isShowError: !!isShowError,\n title: ,\n message: \n },\n isShowPrimaryButton: showPrimaryButton,\n\n primaryButton: (\n {\n onUpdatePrimaryAddress(address);\n }\n }\n }\n />\n ),\n editButton: (\n {\n onEditAddress(address);\n },\n role: 'link'\n }\n }\n />\n ),\n removeButton: (\n {\n onRemoveAddress(address);\n },\n role: 'link'\n }\n }\n />\n )\n };\n })\n };\n};\n\nconst getPrimaryAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, primaryAddressSectionHeading } = props;\n const primaryAddresses = addresses.filter((address: Address) => address.IsPrimary);\n return getAddressList('msc-address-list__primary', primaryAddresses, false, props, primaryAddressSectionHeading);\n};\n\nconst getOtherAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, otherAddressSectionHeading } = props;\n const otherAddresses = addresses.filter((address: Address) => !address.IsPrimary);\n return getAddressList('msc-address-list__primary', otherAddresses, true, props, otherAddressSectionHeading);\n};\n\nexport const AddressList = (props: IAddressListInputProps): IAddressListProps => {\n const { addresses, heading, resources, onAddAddress, telemetryContent, handleLineItemHeadingChange } = props;\n\n const headingComponent = heading?.text && (\n {\n // Required\n }, requestContext: props.contextRequest }}\n />\n );\n\n return {\n ListAddress: { className: 'ms-address-list' },\n heading: headingComponent,\n isShowEmptyListMessage: addresses.length === 0,\n emptyListMessage:

\n {resources.addressEmptyListAddressMessage}\n

,\n addButton: (\n \n ),\n primaryAddressList: getPrimaryAddressList(props),\n otherAddressList: getOtherAddressList(props)\n };\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\nimport { format as formatNotification, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { action, observable, reaction, set } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { AutoSuggest } from '../../common/address-autosuggest';\nimport { IAutoSuggestOptions } from '../../common/address-autosuggest.data';\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemType } from '../../common/address-format.data';\nimport { AddressMetaData } from '../../common/address-meta-data';\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '../../common/address-module.data';\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { AddressList, IAddressListProps } from '../../common/components/address-list';\nimport { IAccountManagementAddressData } from './account-management-address.data';\nimport { IAccountManagementAddressProps } from './account-management-address.props.autogenerated';\n\n/**\n * Account management address view state interface.\n */\nexport interface IAccountManagementAddressViewState {\n isShowAddresList: boolean;\n isShowAddOrUpdateAddress: boolean;\n}\n\n/**\n * Account management address view state interface.\n */\nexport interface IAccountManagementAddressViewProps extends React.Component> {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n customerAddresses: Address[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n viewState: IAccountManagementAddressViewState;\n AccountAddressManagement: IModuleProps;\n isUpdating: boolean;\n showAddressList: IAddressListProps;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n screenReaderNotification: React.ReactNode;\n}\n\n/**\n *\n * Address component.\n * @extends {React.Component>}\n */\n@observer\nclass AccountManagementAddress extends React.Component> {\n @observable private currentOperation: AddressOperation;\n\n @observable private selectedAddress?: Address;\n\n @observable private countryRegionId: string = 'USA';\n\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n\n @observable private customerAddresses: Address[];\n\n @observable private addUpdateAddress: Address;\n\n @observable private validationError: object;\n\n @observable private addressActionResponse?: IAddressResponse;\n\n @observable private isUpdating?: boolean;\n\n @observable private hasError?: boolean;\n\n @observable private removeAddressData?: Address;\n\n private readonly addressCommon: AddressCommon;\n\n private addressFormat: AddressFormat;\n\n private countryRegions: CountryRegionInfo[] = [];\n\n private addressPurposes: AddressPurpose[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly defaultAddressType: number = 6; // Default to Home\n\n private readonly telemetryContent: ITelemetryContent;\n\n private autoSuggest?: AutoSuggest;\n\n public constructor(props: IAccountManagementAddressProps) {\n super(props);\n const { context, data, resources, telemetry } = this.props;\n\n this.resources = resources;\n this.currentOperation = AddressOperation.List;\n this.countryRegions = data.countryRegions.result || [];\n this.addressPurposes = data.addressPurposes.result || [];\n this.customerAddresses = data.address.result || [];\n this.addUpdateAddress = {};\n this.validationError = {};\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\n this.addressPurposes\n );\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName, this.props.telemetry\n );\n }\n\n /**\n * On Suggestion Selected Function.\n * @param result - Microsoft.Maps.ISuggestionResult.\n */\n @action\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\n this._clearAddressFields();\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\n set(this.addUpdateAddress, { Street: '' });\n set(this.addUpdateAddress, { ZipCode: address.ZipCode });\n set(this.addUpdateAddress, { CountyName: address.CountyName });\n set(this.addUpdateAddress, { City: address.City });\n set(this.addUpdateAddress, { State: address.State });\n set(this.addUpdateAddress, { DistrictName: address.DistrictName });\n set(this.addUpdateAddress, { FullAddress: address.FullAddress });\n\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\n setTimeout(() => {\n set(this.addUpdateAddress, { Street: address.Street });\n }, 0);\n\n };\n\n /**\n * Clear Address Fields.\n */\n @action\n private readonly _clearAddressFields = (): void => {\n const addressFormatItem = this.addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId);\n addressFormatItem.forEach(format => {\n if (this.addUpdateAddress[format.name] !== undefined && !this.autoSuggest?.excludedAddressFields.includes(format.name)) {\n this.addressFormat[format.name] = '';\n }\n });\n this._clearValidation();\n };\n\n /**\n * Clear Validation Function.\n */\n @action\n private readonly _clearValidation = (): void => {\n this.validationError = {};\n };\n\n public async componentDidMount(): Promise {\n\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: {\n channel\n }\n }\n },\n config: {\n autoSuggestionEnabled,\n autoSuggestOptions\n }\n } = this.props;\n\n // Initializing data props\n this._dataInitialize(this.props);\n\n this.props.data.countryRegions.then(() => {\n this._setDefaultCountryRegionId();\n });\n\n reaction(\n () => this.countryRegionId,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.currentOperation,\n () => {\n this._getStateProvinces();\n }\n );\n\n if (autoSuggestionEnabled) {\n\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\n this.autoSuggest = new AutoSuggest(telemetry, options, channel?.BingMapsApiKey, channel?.ChannelCountryRegionISOCode, channel?.DefaultLanguageId);\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.loadMapApi !== undefined && (\n this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update\n ),\n async () => {\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n );\n\n reaction(\n () => {\n this.props.data.storeSelectorStateManager.result?.isMapApiLoaded;\n },\n async () => {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n await this._attachMapAutoSuggest();\n }\n }\n );\n }\n }\n\n /**\n * Component did mount function.\n */\n public async componentDidUpdate(): Promise {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n await this._attachMapAutoSuggest();\n }\n } else {\n this.autoSuggest?.disposeAutoSuggest();\n }\n }\n\n /**\n * Should component update function.\n * @param nextProps - Account management address props.\n * @param nextState - Next state.\n * @returns - True if component should update, false otherwise.\n */\n public shouldComponentUpdate(nextProps: IAccountManagementAddressProps,\n nextState: IAccountManagementAddressViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n\n }\n\n public render(): JSX.Element {\n const { renderView, config } = this.props;\n\n const viewProps = {\n ...this.props,\n currentOperation: this.currentOperation,\n selectedAddress: this.selectedAddress,\n addUpdateAddress: this.addUpdateAddress,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n customerAddresses: this.customerAddresses,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n isUpdating: this.isUpdating,\n hasError: this.hasError,\n className: config.className,\n viewState: {\n isShowAddresList: this.currentOperation === AddressOperation.List,\n isShowAddOrUpdateAddress: this.currentOperation !== AddressOperation.List\n },\n AccountAddressManagement: {\n moduleProps: this.props,\n className: classnames('ms-account-management-address', config.className)\n },\n showAddressList: this._renderListAddress(),\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress(),\n screenReaderNotification: this.removeAddressData ? this._renderScreenReaderRemoveText(this.removeAddressData) : null\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Method data initialization.\n * @param props -The account management props.\n */\n private readonly _dataInitialize = (props: IAccountManagementAddressProps): void => {\n const { data } = props;\n\n reaction(\n () => data.countryRegions.result,\n () => {\n this.countryRegions = data.countryRegions.result ?? [];\n }\n );\n\n reaction(\n () => data.addressPurposes.result,\n () => {\n this.addressPurposes = data.addressPurposes.result ?? [];\n }\n );\n\n reaction(\n () => data.address.result,\n () => {\n this.customerAddresses = data.address.result ?? [];\n }\n );\n };\n\n /**\n * Render Add Or Update Address Function.\n * @returns - AddressAddUpdate.\n */\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\n return AddressAddUpdate(\n {\n isUpdating: this.isUpdating,\n resources: this.resources,\n addressType: AddressType.Shipping,\n addressFormat: this.addressFormat.getAddressFormat((this.addUpdateAddress.ThreeLetterISORegionName) || this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n telemetryContent: this.telemetryContent,\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\n onSave: this._onAddressAddUpdateSubmit,\n onCancel: this._resetView\n }\n );\n };\n\n /**\n * Render List Address Function.\n * @returns - AddressList.\n */\n private readonly _renderListAddress = (): IAddressListProps => {\n const { config } = this.props;\n\n /**\n * Render Address ttitle.\n * @param event - Msdyn365.ContentEditableEvent.\n */\n const handleLineItemHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n config.heading!.text = event.target.value;\n };\n const heading = config.heading && {\n text: config.heading.text,\n headingTag: config.heading.tag\n };\n\n return AddressList(\n {\n isUpdating: this.isUpdating,\n selectedAddress: this.selectedAddress,\n addressFormat: this.addressFormat,\n addresses: this.customerAddresses,\n addressPurposes: this.addressPurposes,\n resources: this.resources,\n heading,\n primaryAddressSectionHeading: config.primaryAddressSectionHeading,\n otherAddressSectionHeading: config.otherAddressSectionHeading,\n contextRequest: this.props.context.request,\n telemetryContent: this.telemetryContent,\n handleLineItemHeadingChange,\n onEditAddress: this._goToEditAddress,\n onRemoveAddress: this._onRemoveAddress,\n onAddAddress: this._goToAddAddress,\n onUpdatePrimaryAddress: this._onSubmitUpdatePrimaryAddress\n }\n );\n };\n\n /**\n * Attach Map Auto Suggest Function.\n */\n private readonly _attachMapAutoSuggest = async (): Promise => {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.autoSuggest?.attachAutoSuggest('#shipping_addressstreet', '#shipping_addressstreet_container', this._onSuggestionSelected);\n }\n };\n\n /**\n * On Address Add Update Function.\n * @param name - String.\n * @param value - String | Boolean | Number.\n */\n private readonly onAddressAddUpdate = (name: string, value: string | boolean | number) => {\n set(this.addUpdateAddress, { [name]: value });\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\n };\n\n /**\n * On Address Add Update Input Change.\n * @param event - Input Change Event.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n if (event.target.type === 'checkbox') {\n this.onAddressAddUpdate(event.target.name, event.target.checked);\n } else {\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\n this.onAddressAddUpdate(event.target.name, value);\n }\n };\n\n /**\n * On Address Add Update Dropdown Change.\n * @param event - Dropdown Change Event.\n */\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\n if (event.target.name === AddressItemType[AddressItemType.AddressTypeValue]) {\n this.onAddressAddUpdate(event.target.name, +event.target.value);\n } else {\n this.onAddressAddUpdate(event.target.name, event.target.value);\n }\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n this._onCountryChange(event.target.value);\n }\n };\n\n /**\n * On Address Update Function.\n * @param response - Promise.\n * @param onSuccess - IAddressResponse.\n */\n private readonly _onAddressUpdate = (response: Promise, onSuccess: (response: IAddressResponse) => void): void => {\n\n this.isUpdating = true;\n response.then(\n (result: IAddressResponse) => {\n if (result.address) {\n this.hasError = false;\n onSuccess(result);\n } else {\n this.hasError = true;\n this.addressActionResponse = result;\n }\n this.isUpdating = false;\n },\n () => {\n this.hasError = true;\n this.isUpdating = false;\n }\n );\n };\n\n /**\n * On Address Add Update Submit Function.\n */\n private readonly _onAddressAddUpdateSubmit = (): void => {\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n return;\n }\n let response: Promise;\n if (this.addressCommon.isAuthenticatedFlow()) {\n response = this.currentOperation === AddressOperation.Update ? this.addressCommon.updateCustomerAddress(\n this.addUpdateAddress\n ) : this.addressCommon.addCustomerAddress(\n this.addUpdateAddress\n );\n } else {\n response = Promise.resolve({ address: this.addUpdateAddress });\n }\n\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\n };\n\n /**\n * On Country Change Function.\n * @param countryRegionId - String.\n */\n private readonly _onCountryChange = (countryRegionId: string) => {\n this.countryRegionId = countryRegionId;\n const twoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterISORegionName });\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterISORegionName);\n this._clearAddressFields();\n };\n\n /**\n * Get Address Format Exclude List Function.\n * @returns - Address Format Exclude List.\n */\n private readonly _getAddressFormatExcludeList = (): AddressItemType[] => {\n const { config } = this.props;\n const addressFormatExcludeList: AddressItemType[] = [];\n\n if (!config.showAddressType) {\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\n }\n\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\n\n return addressFormatExcludeList;\n };\n\n /**\n * Get State Provinces Function.\n */\n private readonly _getStateProvinces = (): void => {\n if (!this.countryRegionId || !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)) {\n return;\n }\n\n this.addressCommon.getStateProvinces(this.countryRegionId).then(\n (result: StateProvinceInfo[]) => {\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\n\n // Reset state if selected state not found in the list.\n if (!stateInfo) {\n set(this.addUpdateAddress, { State: '' });\n }\n this.stateProvinceInfo = result;\n });\n };\n\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request && request.channel && request.channel.ChannelCountryRegionISOCode;\n\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\n }\n\n /**\n * Update CurrentOperation Function.\n * @param operation - AddressOperation.\n */\n private readonly _updateCurrentOperation = (operation: AddressOperation) => {\n this.currentOperation = operation;\n this._clearAddressFields();\n };\n\n /**\n * On Submit Update Primary Address Function.\n * @param address - Address.\n */\n private readonly _onSubmitUpdatePrimaryAddress = (address: Address): void => {\n this.selectedAddress = address;\n const response = this.addressCommon.updateCustomerPrimaryAddress(address);\n this._onAddressUpdate(response, this._onUpdatePrimaryAddressSuccess);\n };\n\n /**\n * Go To Edit Address Function.\n * @param address - Address.\n */\n private readonly _goToEditAddress = (address: Address): void => {\n this.addUpdateAddress = { ...address };\n this.countryRegionId = this.addUpdateAddress.ThreeLetterISORegionName || 'USA';\n this._updateCurrentOperation(AddressOperation.Update);\n };\n\n /**\n * On Remove Address Function.\n * @param address - Address.\n */\n private readonly _onRemoveAddress = (address: Address): void => {\n address.Deactivate = true;\n this.removeAddressData = address;\n const response = this.addressCommon.updateCustomerAddress(address);\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\n };\n\n /**\n * Renders Notification screen reader text for removed address.\n * @param address - Address input.\n * @returns Notification for removed address.\n */\n private readonly _renderScreenReaderRemoveText = (address: Address): React.ReactNode => {\n const notification = formatNotification(this.resources.removeAddressNotification!, `${address.Name!}`);\n return (\n
\n {notification}\n
\n );\n };\n\n /**\n * Go To Add Address Function.\n */\n private readonly _goToAddAddress = (): void => {\n this.addUpdateAddress = {};\n this._setDefaultCountryRegionId();\n set(this.addUpdateAddress, { ThreeLetterISORegionName: this.countryRegionId });\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\n this._setDefaultCountryRegionId();\n this._updateCurrentOperation(AddressOperation.Add);\n };\n\n /**\n * On Add Or Update Success Function.\n * @param response - IAddressResponse.\n */\n private readonly _onAddOrUpdateSuccess = (response: IAddressResponse): void => {\n if (response.customerAddresses) {\n this.customerAddresses = response.customerAddresses;\n }\n this._resetView();\n };\n\n /**\n * On Update Primary Address Success Function.\n * @param response - IAddressResponse.\n */\n private readonly _onUpdatePrimaryAddressSuccess = (response: IAddressResponse): void => {\n if (response.customerAddresses) {\n this.customerAddresses = response.customerAddresses;\n }\n };\n\n /**\n * Reset view function.\n */\n private readonly _resetView = (): void => {\n this.selectedAddress = undefined;\n this._updateCurrentOperation(AddressOperation.List);\n };\n}\n\nexport default AccountManagementAddress;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from './checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from './components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from './components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({ formProps, label, paymentAmount, addPaymentButton, appliedLine, bottomBorder }) => (\n \n <>\n {label}\n {paymentAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({ formProps, inputLabel, inputAmount, addPaymentButton, customerName, customerAccountNumber, customerSince, accountCredit, alert, accountDetails, appliedLine, bottomBorder }) => (\n \n <>\n\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, summaryView, editView, moduleState } = props;\n return (\n \n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressSelectItem, IAddressSelectProps } from '../../common/components/address-select';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutShippingAddressViewProps } from './checkout-shipping-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({\n AddressDetail,\n items\n}) => {\n\n return (\n \n {items.map((item: IAddressShowItem) => {\n return (\n <>\n {item.description}\n \n );\n })}\n \n );\n};\n\n/**\n * Address Select Component.\n * @param param0 - Root param.\n * @param param0.SelectAddress - Select address.\n * @param param0.addButton - Add button.\n * @param param0.items - IAddressSelectItem[].\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - SelectAddress Node.\n */\nconst AddressSelect: React.FC = ({\n SelectAddress,\n addButton,\n items,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n\n return (\n \n {addButton}\n {items.map((item: IAddressSelectItem) => {\n const SelectItem = item.SelectItem;\n return (\n {item.input}\n \n );\n })}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n {label}\n {alert}\n {input}\n );\n })}\n {hasError && \n {error.title}\n {error.message}\n }\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Checkout Shipping Address View Component.\n * @param props - Props.\n * @returns - CheckoutShippingAddress Module.\n */\nconst CheckoutShippingAddressView: React.FC = props => {\n const { CheckoutShippingAddress, viewState, showAddress, showAddressSelect, showAddOrUpdateAddress, cartLineImages } = props;\n\n return (\n \n {cartLineImages}\n {viewState.isShowAddress && }\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n \n );\n};\n\nexport default CheckoutShippingAddressView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutPaymentInstrumentViewProps, ICheckoutPaymentOverlayModal } from './checkout-payment-instrument';\n\nconst OverlayModal: React.FC = ({\n modal\n}) => {\n return (\n \n );\n};\n\nconst CheckoutPaymentInstrumentView: React.FC = ({\n checkoutPaymentInstrument,\n className,\n id,\n waiting,\n alert,\n paymentInformation,\n addPaymentForm,\n overlayModal,\n ...restProps\n}) => (\n \n {waiting}\n {alert}\n {paymentInformation}\n {addPaymentForm}\n {overlayModal && }\n \n);\n\nexport default CheckoutPaymentInstrumentView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { ITelemetry } from '@msdyn365-commerce/core';\nimport { IStoreSelectorStateManager } from '@msdyn365-commerce-modules/bopis-utilities';\n\nimport { IAutoSuggestOptions } from './address-autosuggest.data';\n\n/**\n *\n * Auto Suggest.\n */\nexport class AutoSuggest {\n public readonly excludedAddressFields: string[] = ['ThreeLetterISORegionName', 'Name', 'AddressTypeValue', 'Phone'];\n\n private readonly telemetry: ITelemetry;\n\n private readonly countryCode?: string;\n\n private readonly bingMapsApiKey?: string;\n\n private readonly defaultLanguageId?: string;\n\n private autoSuggestManager: Microsoft.Maps.AutosuggestManager | undefined;\n\n private autoSuggestOptions: IAutoSuggestOptions;\n\n constructor(telemetry: ITelemetry, autoSuggestOptions: IAutoSuggestOptions, BingMapsApiKey?: string, countryCode?: string, defaultLanguageId?: string) {\n this.telemetry = telemetry;\n this.autoSuggestOptions = autoSuggestOptions;\n this.bingMapsApiKey = BingMapsApiKey;\n this.countryCode = countryCode;\n this.defaultLanguageId = defaultLanguageId;\n }\n\n public attachAutoSuggest = (inputId: string, containerId: string, selectedSuggestionCallback: (result: Microsoft.Maps.ISuggestionResult) => void): void => {\n if (!this.autoSuggestManager) {\n Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {\n callback: () => {\n const options = { ...this.autoSuggestOptions, countryCode: this.countryCode };\n this.autoSuggestManager = new Microsoft.Maps.AutosuggestManager(options);\n this.autoSuggestManager.attachAutosuggest(inputId, containerId, selectedSuggestionCallback);\n document.querySelector(inputId)?.setAttribute('role', 'combobox');\n setTimeout(() => {\n document.querySelector(inputId)?.setAttribute('type', 'text');\n }, 0);\n },\n errorCallback: () => {\n if (this.telemetry) {\n this.telemetry.debug('Unable to attach map auto suggest.');\n }\n },\n credentials: this.bingMapsApiKey\n });\n }\n };\n\n public changeAutoSuggestionCountryCode = (countryCode?: string): void => {\n if (this.autoSuggestManager) {\n this.autoSuggestOptions.countryCode = countryCode;\n this.autoSuggestManager.setOptions(this.autoSuggestOptions);\n }\n };\n\n public disposeAutoSuggest = (): void => {\n this.autoSuggestManager?.detachAutosuggest();\n this.autoSuggestManager?.dispose();\n this.autoSuggestManager = undefined;\n };\n\n public _loadMapAPI = async (storeSelectorStateManager: IStoreSelectorStateManager): Promise => {\n await storeSelectorStateManager.loadMapApi({\n key: this.bingMapsApiKey,\n lang: this.defaultLanguageId,\n market: this.countryCode\n });\n };\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAddressButton {\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n role?: string;\n onClick(event: React.MouseEvent): void;\n}\n\n/**\n * Address button.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressButtonFunctionComponent: React.FC = (props: IAddressButton) => {\n const { className, text, ariaLabel, disabled: isDisabled, telemetryContent, onClick, role } = props;\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default AddressButtonFunctionComponent;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICheckoutTermsAndConditionsCheckboxProps {\n isChecked: boolean;\n ariaLabel?: string;\n disabled: boolean;\n id?: string;\n telemetryContent?: ITelemetryContent;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * AddPaymentForm SFC.\n * @param root0\n * @param root0.isChecked\n * @param root0.ariaLabel\n * @param root0.disabled\n * @param root0.telemetryContent\n * @param root0.onChange\n * @param root0.id\n * @extends {React.FC}\n */\nconst CheckoutTermsAndConditionsCheckbox: React.FC = ({\n isChecked,\n ariaLabel,\n disabled,\n telemetryContent,\n onChange,\n id\n}) => {\n\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n \n \n );\n};\n\nexport default CheckoutTermsAndConditionsCheckbox;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as React from 'react';\n\nexport interface ICheckoutTermsAndConditionsErrorMessageProps {\n message?: string;\n}\n\n/**\n * AddPaymentForm SFC.\n * @param root0\n * @param root0.message\n * @extends {React.FC}\n */\nconst CheckoutTermsAndConditionsErrorMessage: React.FC = ({\n message\n}) => {\n if (!message) {\n return null;\n }\n\n return (\n

\n {message}\n

\n );\n\n};\n\nexport default CheckoutTermsAndConditionsErrorMessage;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as React from 'react';\n\nexport interface ICheckoutTermsAndConditionsErrorTitleProps {\n title?: string;\n}\n\n/**\n * AddPaymentForm SFC.\n * @param root0\n * @param root0.title\n * @extends {React.FC}\n */\nconst CheckoutTermsAndConditionsErrorTitle: React.FC = ({\n title\n}) => {\n if (!title) {\n return null;\n }\n\n return (\n

\n {title}\n

\n );\n\n};\n\nexport default CheckoutTermsAndConditionsErrorTitle;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport { Button, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { action, computed, observable, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ICheckoutTermsAndConditionsData } from './checkout-terms-and-conditions.data';\nimport {\n ICheckoutTermsAndConditionsProps\n} from './checkout-terms-and-conditions.props.autogenerated';\nimport CheckboxComponent from './components/checkout-terms-and-conditions.check-box';\nimport ErrorMessageComponent from './components/checkout-terms-and-conditions.error-message';\nimport ErrorTitleComponent from './components/checkout-terms-and-conditions.error-title';\n\nexport interface ICheckoutTermsAndConditionsModuleProps extends ICheckoutTermsAndConditionsProps, IModuleStateProps { }\n\nexport interface ICheckoutTermsAndConditions {\n termsAndConditionAcceptance: INodeProps;\n checkBox: React.ReactNode;\n description: React.ReactNode;\n}\n\nexport interface ICheckoutTermsAndConditionsError {\n error: INodeProps;\n title: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ICheckoutTermsAndConditionsViewState {\n isError: boolean;\n isShowSaveButton: boolean;\n isShowEditButton: boolean;\n isShowCancelButton: boolean;\n}\n\nexport interface ICheckoutTermsAndConditionsViewProps extends ICheckoutTermsAndConditionsProps<{}> {\n checkoutTermsAndConditions: IModuleProps;\n isTermsAccepted: boolean;\n errorMessageData: string;\n viewState: ICheckoutTermsAndConditionsViewState;\n termsAndConditionsContent: ICheckoutTermsAndConditions;\n errorMessage?: ICheckoutTermsAndConditionsError;\n saveButton?: React.ReactNode;\n editButton?: React.ReactNode;\n cancelButton?: React.ReactNode;\n onChange(event: React.ChangeEvent): void;\n onSave(): void;\n onEdit(): void;\n onCancel(): void;\n}\n\n/**\n *\n * CheckoutTermsAndConditions component.\n * @extends {React.Component>}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nclass CheckoutTermsAndConditions extends React.Component {\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private isTermsAccepted: boolean = true;\n\n @observable private errorMessage?: string;\n\n constructor(props: ICheckoutTermsAndConditionsModuleProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\n }\n\n @computed get isDataReady(): boolean {\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\n }\n\n @computed get isShowButtons(): boolean {\n const { showControlButtons } = this.props.config;\n return !this.props.moduleState.hasExternalSubmitGroup && (showControlButtons || false);\n }\n\n @computed get isAutoSave(): boolean {\n const { showControlButtons } = this.props.config;\n return !this.props.moduleState.hasExternalSubmitGroup && !showControlButtons;\n }\n\n @computed get defaultTermsAndConditionAcceptedValue(): boolean {\n const { showCheckbox } = this.props.config;\n return !showCheckbox;\n }\n\n public async componentDidMount(): Promise {\n when(\n () => this.isDataReady,\n async () => {\n await this.init();\n }\n );\n\n reaction(\n () => this.props.data.checkout.result && this.props.data.checkout.result.isTermsAndConditionAccepted,\n async () => {\n this.isTermsAccepted = this.props.data.checkout.result?.isTermsAndConditionAccepted || this.defaultTermsAndConditionAcceptedValue;\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: ICheckoutTermsAndConditionsModuleProps,\n nextState: ICheckoutTermsAndConditionsViewState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n moduleState: { isReady, hasError },\n config: { className }\n } = this.props;\n const isTermsAndConditionAccepted = this.props.data.checkout.result?.isTermsAndConditionAccepted;\n const isError = hasError;\n const isShowContent = !isReady;\n const isShowSelected = !hasError && isReady;\n\n const viewProps = {\n ...this.props,\n ...this.state,\n isTermsAccepted: this.isTermsAccepted,\n errorMessageData: this.errorMessage,\n viewState: {\n isError,\n isShowSaveButton: isShowContent && this.isShowButtons,\n isShowEditButton: isShowSelected && this.isShowButtons,\n isShowCancelButton: isShowContent && this.isShowButtons && isTermsAndConditionAccepted\n },\n checkoutTermsAndConditions: {\n moduleProps: this.props,\n className: classname('ms-checkout-terms-and-conditions', className)\n },\n termsAndConditionsContent: this.getTermsAndConditions(),\n errorMessage: this.getErrorMessage(),\n saveButton: this.getSaveButton(),\n editButton: this.getEditButton(),\n cancelButton: this.getCancelButton(),\n onSave: this.onSubmit,\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onChange: this.onChange\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => this.props.config.description = event.target.value;\n\n private readonly getTermsAndConditions = (): ICheckoutTermsAndConditions => {\n const {\n moduleState: { isReady },\n config: { showCheckbox, description }\n } = this.props;\n const isDisabled = isReady && !this.isAutoSave;\n const isTermsAndConditionAccepted = this.isTermsAccepted;\n const { checkboxAriaLabel } = this.props.resources;\n return {\n termsAndConditionAcceptance: { className: 'ms-checkout-terms-and-conditions__container' },\n checkBox: showCheckbox && ,\n description: \n };\n };\n\n @action\n private readonly init = async (): Promise => {\n const {\n data,\n config: { showCheckbox }\n } = this.props;\n\n const hasInvoiceLine = this.props.data.checkout.result?.checkoutCart.hasInvoiceLine;\n\n // If hasInvoiceLine is true, this is for b2b and isTermsAccepted should be true\n if (hasInvoiceLine || data.checkout.result?.isTermsAndConditionAccepted || !showCheckbox) {\n await this.updateTermsAndConditionsAcceptance(true);\n this.isTermsAccepted = true;\n } else if (showCheckbox) {\n await this.updateTermsAndConditionsAcceptance(false);\n this.isTermsAccepted = false;\n }\n\n this.props.moduleState.init({\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onSubmit: this.onSubmit,\n status: hasInvoiceLine ? 'disabled' : (this.isTermsAccepted ? 'ready' : 'updating')\n });\n };\n\n private readonly getErrorMessage = (): ICheckoutTermsAndConditionsError => {\n const { errorMessageTitle } = this.props.resources;\n return {\n error: { tag: 'div', className: 'ms-checkout-terms-and-conditions__error', role: 'alert', 'aria-live': 'assertive' },\n title: ,\n message: \n };\n };\n\n private readonly getCancelButton = (): React.ReactNode => {\n const { cancelBtnLabel = 'Cancel', cancelBtnAriaLabel } = this.props.resources;\n return (\n \n {cancelBtnLabel}\n \n );\n };\n\n private readonly getSaveButton = (): React.ReactNode => {\n const { saveBtnLabel = 'Save', saveBtnAriaLabel } = this.props.resources;\n return (\n \n {saveBtnLabel}\n \n );\n };\n\n private readonly getEditButton = (): React.ReactNode => {\n const { editBtnLabel = 'Change', editBtnAriaLabel } = this.props.resources;\n return (\n \n {editBtnLabel}\n \n );\n };\n\n private readonly onEdit = (): void => {\n this.onUpdating();\n };\n\n private readonly onSubmit = async (): Promise => {\n if (!this.isTermsAccepted) {\n if (this.isAutoSave) {\n await this.updateTermsAndConditionsAcceptance(this.isTermsAccepted);\n } else {\n this.setError(this.props.resources.errorMessage);\n this.props.moduleState.setHasError(true);\n }\n } else {\n this.clearError();\n await this.updateTermsAndConditionsAcceptance(this.isTermsAccepted);\n this.props.moduleState.onReady();\n }\n };\n\n private readonly onUpdating = () => {\n this.props.moduleState.onUpdating();\n };\n\n private readonly setError = (errorMessage: string): void => {\n this.props.telemetry.error(errorMessage);\n this.props.moduleState.setHasError(true);\n this.props.moduleState.onUpdating();\n this.errorMessage = errorMessage;\n };\n\n private readonly onCancel = (): void => {\n // Reset to the saved value\n if (!this.props.data.checkout.result) {\n return;\n }\n\n const isTermsAccepted = this.props.data.checkout.result.isTermsAndConditionAccepted;\n if (!isTermsAccepted) {\n // It has no saved email, set to status updating and request user to fill the email form\n this.props.moduleState.onUpdating();\n\n } else {\n // It has saved email, set to status ready\n this.isTermsAccepted = true;\n this.props.moduleState.setHasError(false);\n this.props.moduleState.onReady();\n }\n };\n\n private readonly updateTermsAndConditionsAcceptance = async (isTermsAccepted: boolean): Promise => {\n if (this.props.data.checkout.result) {\n await this.props.data.checkout.result.updateTermsAndConditionsAcceptance({ newIsTermsAndConditionAccepted: isTermsAccepted });\n }\n };\n\n private readonly clearError = (): void => {\n this.props.moduleState.setHasError(false);\n this.errorMessage = undefined;\n };\n\n private readonly onChange = async (event: React.ChangeEvent) => {\n const checked = event.target.checked;\n this.isTermsAccepted = checked;\n\n if (this.props.data.checkout.result?.shouldEnableSinglePaymentAuthorizationCheckout) {\n await this.props.data.checkout.result.updateIsTermsAndConditionsChecked({ newIsTermsAndConditionChecked: checked });\n }\n\n if (this.isAutoSave) {\n await this.onSubmit();\n }\n };\n\n}\n\nexport default CheckoutTermsAndConditions;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutTermsAndConditions, ICheckoutTermsAndConditionsError, ICheckoutTermsAndConditionsViewProps } from './checkout-terms-and-conditions';\n\nconst TermsAndCondition: React.FC = ({\n termsAndConditionAcceptance,\n checkBox,\n description\n}) => {\n\n return (\n \n {checkBox}\n {description}\n \n );\n};\n\nconst ErrorMessage: React.FC = ({\n error,\n title,\n message\n}) => {\n\n return (\n \n {title}\n {message}\n \n );\n};\n\nconst CheckoutTermsAndConditionsView: React.FC = props => {\n const {\n checkoutTermsAndConditions,\n viewState,\n termsAndConditionsContent,\n errorMessage,\n saveButton,\n editButton,\n cancelButton } = props;\n\n return (\n\n // TODO: All wrapper div should be provided by viewProps. Once SDK provide the sln, update markup.\n \n {viewState.isError && errorMessage && }\n \n {viewState.isShowSaveButton && saveButton}\n {viewState.isShowEditButton && editButton}\n {viewState.isShowCancelButton && cancelButton}\n \n );\n};\n\nexport default CheckoutTermsAndConditionsView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as React from 'react';\n\nexport interface IAdressErrorTitle {\n title: string;\n}\n\n/**\n * Address error title.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressErrorTitleFunctionComponent: React.FC = (props: IAdressErrorTitle) => {\n const { title } = props;\n\n return (\n

\n {title}\n

\n );\n};\n\nexport default AddressErrorTitleFunctionComponent;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Alert, Button, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentResources } from '../checkout-customer-account-payment.props.autogenerated';\n\nexport interface IGetAccountPaymentEditViewFormInput {\n resources: ICheckoutCustomerAccountPaymentResources;\n amount: number;\n maxAmount: number;\n customer: Customer | undefined;\n customerCreatedDate: string;\n availableCredit: string;\n showCreditLimit: boolean;\n errorMessage: string | undefined;\n creditSectionIsExpanded: boolean;\n orderTotal: string;\n excessCredit: string | undefined;\n appliedAmount: string | undefined;\n onAddPayment(): Promise;\n onChangePaymentAmount(newAmount: number): void;\n onToggleCreditSection(): void;\n onRemovePayment(): Promise;\n}\n\nexport interface IAccountPaymentEditViewForm {\n formProps: INodeProps;\n inputLabel: React.ReactNode;\n inputAmount: React.ReactNode;\n addPaymentButton: React.ReactNode;\n customerName: React.ReactNode;\n customerAccountNumber: React.ReactNode;\n customerSince: React.ReactNode;\n accountCredit: React.ReactNode;\n alert: React.ReactNode;\n accountDetails: React.ReactNode;\n appliedLine: React.ReactNode;\n bottomBorder: React.ReactNode;\n}\n\n/**\n * On Add Account Payment Function.\n * @param onAddPayment -On Add Payment Function.\n * @returns Call of Add payment function.\n */\nconst onAddAccountPayment = (onAddPayment: () => Promise) => async (event: React.SyntheticEvent): Promise => {\n event.preventDefault();\n await onAddPayment();\n};\n\n/**\n * On Change Amount Function.\n * @param onChangePaymentAmount -On Change Payment Amount Function.\n * @returns Call of Change payment Amount function.\n */\nconst onChangeAmountHandler = (onChangePaymentAmount: (newAmount: number) => void) => (event: React.ChangeEvent) => {\n const value = Number.parseFloat(event.target.value || '0');\n onChangePaymentAmount(value);\n};\n\nexport const getAccountPaymentFormEditMode = (options: IGetAccountPaymentEditViewFormInput): IAccountPaymentEditViewForm => {\n const {\n resources,\n onAddPayment,\n amount,\n onChangePaymentAmount,\n maxAmount,\n customer,\n customerCreatedDate,\n availableCredit,\n showCreditLimit,\n errorMessage,\n onToggleCreditSection,\n creditSectionIsExpanded,\n orderTotal,\n excessCredit,\n onRemovePayment,\n appliedAmount\n } = options;\n\n const { addPaymentButtonLabel, inputAmountLabel, inputAmountAriaLabel, customerSinceLabel, accountCreditLabel, creditDetailsSectionLabel, orderTotalLabel, availableCreditLabel, creditExcessLabel, appliedCustomerAccountPaymentLabel,\n removeCustomerAccountPaymentLabel } = resources;\n\n const inputLabel = (\n \n {inputAmountLabel}\n \n );\n\n const formProps = {\n className: 'ms-checkout-customer-account__form-edit',\n onSubmit: onAddAccountPayment(onAddPayment),\n tag: 'form' as NodeTag\n };\n\n const addPaymentButton = (\n maxAmount) || (amount < 0)}\n >\n {addPaymentButtonLabel}\n \n );\n\n const inputAmount = (\n \n );\n\n const customerName = (\n \n {customer?.Name}\n \n );\n\n const customerAccountNumber = (\n \n #\n {customer?.AccountNumber}\n \n );\n\n const customerSince = (\n \n {customerSinceLabel}\n {customerCreatedDate}\n \n );\n\n const accountCredit = (\n <>\n \n {accountCreditLabel}\n \n {showCreditLimit && \n {availableCredit}\n }\n \n \n );\n\n const accountDetails = (\n creditSectionIsExpanded ? (\n \n <>\n \n \n \n {creditDetailsSectionLabel}\n \n \n \n \n \n {availableCreditLabel}\n \n \n {availableCredit}\n \n \n \n \n {orderTotalLabel}\n \n \n {orderTotal}\n \n \n \n \n {creditExcessLabel}\n \n \n {excessCredit}\n \n \n \n\n ) : undefined\n );\n\n const alert = (\n \n {errorMessage}\n \n );\n\n const appliedLine = (\n appliedAmount ? (\n \n \n {appliedCustomerAccountPaymentLabel}\n \n \n {appliedAmount}\n \n \n {removeCustomerAccountPaymentLabel}\n \n \n ) : undefined\n );\n\n const bottomBorder = (\n
\n );\n\n return {\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n };\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Button, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentResources } from '../checkout-customer-account-payment.props.autogenerated';\n\nexport interface IGetAccountPaymentSummaryViewFormInput {\n resources: ICheckoutCustomerAccountPaymentResources;\n amount: number;\n appliedAmount: string | undefined;\n}\n\nexport interface IAccountPaymentSummaryViewForm {\n formProps: INodeProps;\n label: React.ReactNode;\n paymentAmount: React.ReactNode;\n addPaymentButton: React.ReactNode;\n appliedLine: React.ReactNode;\n bottomBorder: React.ReactNode;\n}\n\nexport const getAccountPaymentFormSummaryMode = (options: IGetAccountPaymentSummaryViewFormInput): IAccountPaymentSummaryViewForm => {\n const {\n resources,\n amount,\n appliedAmount\n } = options;\n\n const { addPaymentButtonLabel, inputAmountSummaryLabel, appliedCustomerAccountPaymentLabel } = resources;\n\n const label = (\n \n );\n\n const formProps = {\n className: 'ms-checkout-customer-account__form-summary',\n tag: 'form' as NodeTag\n };\n\n const paymentAmount = (\n \n );\n\n const addPaymentButton = (\n \n {addPaymentButtonLabel}\n \n );\n\n const appliedLine = (\n appliedAmount ? (\n \n \n {appliedCustomerAccountPaymentLabel}\n \n \n {appliedAmount}\n \n
\n ) : undefined\n );\n\n const bottomBorder = (\n
\n );\n\n return {\n formProps,\n label,\n paymentAmount,\n addPaymentButton,\n appliedLine,\n bottomBorder\n };\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleStateManager, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentData } from './checkout-customer-account-payment.data';\nimport { ICheckoutCustomerAccountPaymentProps } from './checkout-customer-account-payment.props.autogenerated';\nimport { getAccountPaymentFormEditMode, IAccountPaymentEditViewForm } from './components/get-account-payment-form-edit-mode';\nimport { getAccountPaymentFormSummaryMode, IAccountPaymentSummaryViewForm } from './components/get-account-payment-form-summary-mode';\n\nexport interface ICheckoutCustomerAccountPaymentViewProps extends ICheckoutCustomerAccountPaymentProps {\n checkoutCustomerAccount: IModuleProps;\n summaryView: IAccountPaymentSummaryViewForm;\n editView: IAccountPaymentEditViewForm;\n moduleState: IModuleStateManager;\n}\n\nexport interface ICheckoutCustomerAccountPaymentState {\n paymentAmount: number;\n isCreditSectionExpanded: boolean;\n}\n\n/**\n *\n * CheckoutCustomerAccount component.\n * @extends {React.Component>}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nexport class CheckoutCustomerAccountPayment extends React.Component {\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerInfo = get(this.props, 'data.customerInformation.result');\n const platform = get(this.props, 'context.request.app.platform');\n\n return customerInfo &&\n customerInfo.AllowOnAccountPayment === true &&\n platform &&\n (platform.enableCustomerAccountPayment === 'all' ||\n (platform.enableCustomerAccountPayment === 'b2b' && customerInfo.IsB2b === true) ||\n (platform.enableCustomerAccountPayment === 'b2c' && customerInfo.IsB2b === false));\n }\n\n @computed get getLoyaltyAmount(): number {\n const checkoutState = this.props.data.checkout.result;\n if (!checkoutState || !checkoutState.loyaltyAmount) {\n return 0;\n }\n return checkoutState.loyaltyAmount;\n }\n\n @computed get getGiftCardAmount(): number {\n const checkoutState = this.props.data.checkout.result;\n if (!checkoutState || !checkoutState.giftCards || checkoutState.giftCards.length === 0) {\n return 0;\n }\n\n let giftCardAmount: number = 0;\n checkoutState.giftCards.forEach(giftCard => {\n giftCardAmount += (giftCard.Balance || 0);\n });\n\n return giftCardAmount;\n }\n\n @computed get maxPaymentAmount(): number {\n const cart = this.props.data.checkout.result ? this.props.data.checkout.result.checkoutCart.cart : undefined;\n if (!cart) {\n return 0;\n }\n\n // Use customer account after gift card and loyalty.\n const amountDue = Math.max(0, (cart.TotalAmount || 0) - this.getLoyaltyAmount - this.getGiftCardAmount);\n\n // If the user has a mandatory credit limit, then the max amount must not be more than that\n if (this.props.data.customerInformation?.result?.MandatoryCreditLimit) {\n return Math.min(this.getAvailableCredit(this.props.data.creditBalances?.result), amountDue);\n }\n return amountDue;\n\n }\n\n @computed get errorMessage(): string | undefined {\n if (this.state.paymentAmount > this.maxPaymentAmount || this.state.paymentAmount < 0) {\n return this.props.resources.invalidAmountMessage;\n }\n\n return undefined;\n }\n\n @computed get currencyCode(): string | undefined {\n return get(this.props, 'context.request.channel.Currency');\n }\n\n @computed get availableCredit(): number {\n const creditBalances = get(this.props, 'data.creditBalances.result');\n\n return creditBalances ? this.getAvailableCredit(creditBalances) : 0;\n }\n\n @computed get orderTotal(): number {\n const orderTotal = get(this.props, 'data.checkout.result.checkoutCart.cart.TotalAmount');\n\n return orderTotal ? orderTotal : 0;\n }\n\n @computed get formattedExcessCredit(): string | undefined {\n const excessCredit = this.availableCredit - this.orderTotal;\n return excessCredit < 0 ? this.props.context.cultureFormatter.formatCurrency(excessCredit, this.currencyCode) : undefined;\n }\n\n private readonly baseClassName: string = 'ms-checkout-customer-account';\n\n public constructor(props: ICheckoutCustomerAccountPaymentViewProps) {\n super(props);\n this.state = { paymentAmount: this.maxPaymentAmount, isCreditSectionExpanded: false };\n }\n\n public async componentDidMount(): Promise {\n await this.init();\n\n // When the cart.TotalAmount gets updated (like if selecting the delivery option adds a charge) we need to update the amount based on the new total amount.\n reaction(\n () => this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart && this.props.data.checkout.result.checkoutCart.cart.TotalAmount,\n totalAmount => {\n this.updateMaxAmount(this.maxPaymentAmount);\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: ICheckoutCustomerAccountPaymentProps,\n nextState: ICheckoutCustomerAccountPaymentState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const customerInfo = this.props.data.customerInformation.result;\n\n if (!this.isCustomerAccountPaymentEnabled) {\n this.props.context.telemetry.information('customer account payments will not display, because the feature is disabled or not enabled for this type of customer');\n return null;\n }\n\n const checkoutState = this.props.data.checkout.result;\n const cart = checkoutState ? checkoutState.checkoutCart.cart : undefined;\n const hasInvoiceLine = checkoutState?.checkoutCart.hasInvoiceLine;\n const creditBalances = this.props.data.creditBalances.result;\n\n if (!cart || hasInvoiceLine) {\n return null;\n }\n const resources = this.props.resources;\n const locale = get(this.props, 'context.request.locale') || 'en-us';\n\n const customerSinceDate = new Date(customerInfo?.CreatedDateTime || 0).toLocaleDateString(locale);\n\n const props = {\n ...this.props,\n checkoutCustomerAccount: {\n moduleProps: this.props,\n className: classnames(\n this.baseClassName\n ) },\n editView: getAccountPaymentFormEditMode({\n onAddPayment: this.addPayment,\n resources,\n amount: this.state.paymentAmount,\n onChangePaymentAmount: this.onChangePaymentAmount,\n maxAmount: this.maxPaymentAmount,\n customer: customerInfo,\n customerCreatedDate: customerSinceDate,\n availableCredit: this.props.context.cultureFormatter.formatCurrency(this.getAvailableCredit(creditBalances), this.currencyCode),\n showCreditLimit: customerInfo?.MandatoryCreditLimit || false,\n errorMessage: this.errorMessage,\n onToggleCreditSection: this.toggleCreditSection,\n creditSectionIsExpanded: this.state.isCreditSectionExpanded,\n orderTotal: this.props.context.cultureFormatter.formatCurrency(this.orderTotal, this.currencyCode),\n excessCredit: this.formattedExcessCredit,\n onRemovePayment: this.removePayment,\n appliedAmount: checkoutState && checkoutState.customerAccountAmount > 0 ? this.props.context.cultureFormatter.formatCurrency(checkoutState.customerAccountAmount, this.currencyCode) : undefined\n }),\n summaryView: getAccountPaymentFormSummaryMode({\n resources,\n amount: this.state.paymentAmount,\n appliedAmount: checkoutState && checkoutState.customerAccountAmount > 0 ? this.props.context.cultureFormatter.formatCurrency(checkoutState.customerAccountAmount, this.currencyCode) : undefined\n })\n };\n\n return this.props.renderView(props) as React.ReactElement;\n }\n\n private readonly getAvailableCredit = (creditBalances: CustomerBalances | undefined) => {\n let availableCredit = 0;\n\n if (!creditBalances) {\n return 0;\n }\n\n if (creditBalances.InvoiceAccountCreditLimit === 0) {\n availableCredit = creditBalances.CreditLimit - creditBalances.Balance - creditBalances.PendingBalance;\n } else {\n availableCredit = creditBalances.InvoiceAccountCreditLimit - creditBalances.InvoiceAccountBalance - creditBalances.InvoiceAccountPendingBalance;\n }\n\n return availableCredit;\n };\n\n private readonly addPayment = async (): Promise => {\n const checkoutState = this.props.data.checkout.result;\n\n if (!checkoutState) {\n this.props.context.telemetry.error('checkout state not found');\n return;\n }\n\n await checkoutState.updateCustomerAccountAmount({ newAmount: this.state.paymentAmount });\n this.props.context.telemetry.information('customer account payment amount updated');\n };\n\n private readonly toggleCreditSection = (): void => {\n this.setState({\n isCreditSectionExpanded: !this.state.isCreditSectionExpanded\n });\n };\n\n private readonly init = async (): Promise => {\n this.props.moduleState.init({\n onCancel: this.handleCancelOrSubmit,\n onSubmit: this.handleCancelOrSubmit,\n onEdit: this.onEdit\n });\n\n if (this.props.data.checkout.result && this.props.data.checkout.result.customerAccountAmount !== 0) {\n this.props.moduleState.onReady();\n }\n };\n\n private readonly onChangePaymentAmount = (newAmount: number): void => {\n this.setState({\n paymentAmount: newAmount\n });\n };\n\n private readonly updateMaxAmount = (newAmount: number): void => {\n\n // If the user has already set an amount, we should not override that in the UI because it will be confusing.\n if (this.props.data.checkout.result && this.props.data.checkout.result.customerAccountAmount === 0) {\n this.setState({\n // We should never allow a negative amount.\n paymentAmount: Math.max(0, newAmount)\n });\n }\n };\n\n private readonly onEdit = (): void => {\n this.props.moduleState.onUpdating();\n };\n\n private readonly handleCancelOrSubmit = () => {\n const checkoutState = this.props.data.checkout.result;\n if (checkoutState && checkoutState.customerAccountAmount > 0) {\n this.props.moduleState.onReady();\n } else {\n // Skip the module\n this.props.moduleState.onSkip();\n }\n };\n\n private readonly removePayment = async (): Promise => {\n const checkoutState = this.props.data.checkout.result;\n\n if (!checkoutState) {\n this.props.context.telemetry.error('checkout state not found');\n return;\n }\n\n this.setState({\n paymentAmount: 0\n });\n\n await checkoutState.updateCustomerAccountAmount({ newAmount: 0 });\n this.props.context.telemetry.information('customer account payment removed');\n };\n}\n\nexport default CheckoutCustomerAccountPayment;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable, reaction, set } from 'mobx';\nimport * as React from 'react';\n\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemDisplayType, AddressItemType, AddressValidationRuleType, IAddressItem } from '../../common/address-format.data';\nimport { AddressMetaData } from '../../common/address-meta-data';\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '../../common/address-module.data';\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IBusinessAccountAddressData } from './business-account-address.data';\nimport { IBusinessAccountAddressProps } from './business-account-address.props.autogenerated';\n\n/**\n * Interface for IBusinessAccountAddressExtendedProps.\n */\nexport interface IBusinessAccountAddressExtendedProps extends IBusinessAccountAddressProps {\n hasError: boolean;\n isRequired: boolean;\n resetAddress: boolean;\n updateForm(errors: boolean, currentAddress?: Address): void;\n}\n\n/**\n * Interface for IBusinessAccountAddressState.\n */\nexport interface IBusinessAccountAddressState {\n countryId?: string;\n states?: StateProvinceInfo[];\n}\n\n/**\n * Interface for IBusinessAccountAddressViewProps.\n */\nexport interface IBusinessAccountAddressViewProps {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n addressListSelectedAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n customerAddresses: Address[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n BusinessAccountAddress: IModuleProps;\n isUpdating: boolean;\n hasError: boolean;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n}\n\n/**\n *\n * Address component.\n * @extends {React.Component, IBusinessAccountAddressState>}\n */\nclass BusinessAccountAddress extends React.Component {\n @observable private addUpdateAddress: Address;\n\n @observable private countryRegionId: string = 'USA';\n\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n\n @observable private readonly validationError: object;\n\n private readonly addressActionResponse?: IAddressResponse;\n\n private readonly isUpdating?: boolean;\n\n private readonly addressCommon: AddressCommon;\n\n private addressFormat: AddressFormat;\n\n private countryRegions: CountryRegionInfo[] = [];\n\n private addressPurposes: AddressPurpose[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly defaultAddressType: number = 8; // Default to Business\n\n private readonly shouldAutoFocus?: boolean = false;\n\n private readonly excludedList: AddressItemType[] = [AddressItemType.Name, AddressItemType.AddressTypeValue, AddressItemType.IsPrimary]; // Default to hiding Name and AddressType inputs\n\n private readonly telemetryContent: ITelemetryContent;\n\n public constructor(props: IBusinessAccountAddressExtendedProps) {\n super(props);\n\n const { context, data, resources, telemetry } = this.props;\n this.addUpdateAddress = {};\n this.resources = resources;\n this.countryRegions = data.countryRegions.result || [];\n this.addressPurposes = data.addressPurposes.result || [];\n this.stateProvinceInfo = data.countryStates.result || [];\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources },\n this.excludedList, props.isRequired ? undefined : []),\n this.addressPurposes\n );\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.validationError = {};\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\n }\n\n public componentDidMount(): void {\n // Initializing data props\n this._dataInitialize(this.props);\n\n this._setDefaultCountryRegionId();\n }\n\n public shouldComponentUpdate(nextProps: IBusinessAccountAddressExtendedProps, nextState: IBusinessAccountAddressState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const { renderView, config, hasError, resetAddress } = this.props;\n\n // Business-sign-up will pass this flag when cancel button is clicked\n if (resetAddress) {\n this._resetAddressFields();\n }\n\n const viewProps = {\n ...this.props,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n hasError,\n className: config.className,\n BusinessAccountAddress: {\n moduleProps: this.props,\n className: classnames('ms-business-account-address', config.className)\n },\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress()\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Reset Address.\n */\n public _resetAddressFields = () => {\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\n\n addressFormat.map(addressFormatItem => {\n switch (addressFormatItem.displayType) {\n case AddressItemDisplayType.Input:\n this.addUpdateAddress[addressFormatItem.name] = '';\n break;\n case AddressItemDisplayType.Checkbox:\n this.addUpdateAddress[addressFormatItem.name] = false;\n break;\n default:\n switch (addressFormatItem.type) {\n case AddressItemType.ThreeLetterISORegionName:\n this.addUpdateAddress[addressFormatItem.name] = this.countryRegionId;\n break;\n case AddressItemType.AddressTypeValue:\n this.addUpdateAddress[addressFormatItem.name] = this.defaultAddressType;\n break;\n case AddressItemType.State:\n this.addUpdateAddress[addressFormatItem.name] = '';\n break;\n default:\n this.addUpdateAddress[addressFormatItem.name] = undefined;\n }\n }\n });\n };\n\n /**\n * Method data initialization.\n * @param props -The account management props.\n */\n private readonly _dataInitialize = (props: IBusinessAccountAddressExtendedProps): void => {\n const { data } = props;\n\n reaction(\n () => data.countryRegions.result,\n () => {\n this.countryRegions = data.countryRegions.result ?? [];\n }\n );\n\n reaction(\n () => data.addressPurposes.result,\n () => {\n this.addressPurposes = data.addressPurposes.result ?? [];\n }\n );\n\n reaction(\n () => data.countryStates.result,\n () => {\n this.stateProvinceInfo = data.countryStates.result ?? [];\n }\n );\n };\n\n // Set validationError and hasError to hide error messages since in the B2B\n // request form, no errors would visually show since user wont be able to submit\n // until form is filled and correct\n /**\n * Render Add Or Update Address Function.\n * @returns - AddressAddUpdate.\n */\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\n return AddressAddUpdate({\n isUpdating: this.isUpdating,\n resources: this.resources,\n addressType: AddressType.Company,\n addressFormat: this.addressFormat.getAddressFormat(this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n shouldAutoFocus: this.shouldAutoFocus,\n validationError: this.validationError,\n hasError: this.props.hasError,\n addressActionResponse: this.addressActionResponse,\n telemetryContent: this.telemetryContent,\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange\n });\n };\n\n /**\n * On Address Add Update Input Change Function.\n * @param event - Input event change function.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n this._updateAddress(event.target.name, event.target.value);\n };\n\n /**\n * On Address Add Update Dropdown Change Function.\n * @param event - Change dropdown event.\n */\n private readonly _onAddressAddUpdateDropdownChange = async (event: React.ChangeEvent): Promise => {\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n await this._updateCountryRegionId(event.target.value);\n } else {\n this._updateAddress(event.target.name, event.target.value);\n }\n };\n\n /**\n * Update Address Function.\n * @param name - String.\n * @param value - String.\n */\n private readonly _updateAddress = (name: string, value: string | number) => {\n const { updateForm, isRequired, resources } = this.props;\n let cleanValue = value;\n if (typeof (value) === 'string') {\n cleanValue = (value || '').replace(new RegExp('[<>]', 'gi'), '');\n }\n set(this.addUpdateAddress, { [name]: cleanValue });\n\n if (this._isEmpty()) {\n if (isRequired) {\n updateForm(true, undefined);\n } else {\n // Reset addressFormat as if address was NOT a required field\n this.addressFormat = new AddressFormat(this.countryRegions, new AddressMetaData({ ...resources }, this.excludedList, []), this.addressPurposes);\n updateForm(false, this.addUpdateAddress);\n }\n } else {\n // Get new addressFormat as if address was a required field\n this.addressFormat = new AddressFormat(this.countryRegions,\n new AddressMetaData({ ...resources },\n this.excludedList, undefined\n ),\n this.addressPurposes);\n\n // Verify with new rules\n if (this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n updateForm(false, this.addUpdateAddress);\n } else {\n updateForm(true, undefined);\n }\n }\n };\n\n /**\n * Is empty Function.\n * @returns - Boolean.\n */\n // Walk through array and check if valued is defined or value is not an empty string\n private readonly _isEmpty = () => {\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\n for (const addressFormatItem of addressFormat) {\n if (addressFormatItem.type !== AddressItemType.ThreeLetterISORegionName || this._isInputRequired(addressFormatItem)) {\n const addressItemValue = this.addUpdateAddress[addressFormatItem.name];\n\n // Check each input field, if value is defined and not an empty string --> address is not empty\n if (addressItemValue || (addressItemValue && addressItemValue !== '')) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n /**\n * Is Input Required Function.\n * @param addressFormatItem - IAddressItem.\n * @returns - Boolean.\n */\n private readonly _isInputRequired = (addressFormatItem: IAddressItem): boolean => {\n if (ObjectExtensions.isNullOrUndefined(addressFormatItem) || !addressFormatItem.validationRules || addressFormatItem.validationRules.length === 0) {\n return false;\n }\n\n for (const validationRule of addressFormatItem.validationRules) {\n if (validationRule.type === AddressValidationRuleType.Required) {\n return false;\n }\n }\n\n return true;\n };\n\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request.channel?.ChannelCountryRegionISOCode;\n\n this._updateCountryRegionId(this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market));\n\n // Set default AddressType\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\n }\n\n /**\n * Update Country Region Id Function.\n * @param value - String.\n */\n private readonly _updateCountryRegionId = async (value: string) => {\n this.countryRegionId = value;\n\n await this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\n\n // Reset state if selected state not found in the list.\n if (!stateInfo) {\n this._updateAddress('State', '');\n }\n\n this.stateProvinceInfo = result;\n });\n\n this._updateAddress('ThreeLetterISORegionName', this.countryRegionId);\n };\n}\n\nexport default BusinessAccountAddress;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutPickupViewProps } from './checkout-pickup';\nimport { ICheckoutPickupGroupViewProps } from './components/checkout-pickup-group';\n\nconst CheckoutPickupView: React.FC = props => {\n const {\n checkoutPickup,\n viewState,\n headerError,\n waiting,\n pickupGroups\n } = props;\n\n return (\n \n {viewState.isLoading && waiting}\n {viewState.isHeaderError && headerError}\n {pickupGroups.map((pickupGroupViewProps: ICheckoutPickupGroupViewProps, index: number): React.ReactElement => {\n const {\n pickupGroupContainer,\n dateTimeslotContainer,\n groupDivider,\n groupHeader,\n groupErrorMessage,\n cartLineImages,\n pickupDateDropdown,\n pickupTimeslotDropdown,\n selectedDateTimeslot,\n pickupAddress\n } = pickupGroupViewProps;\n\n return (\n \n {groupDivider}\n {groupHeader}\n {groupErrorMessage}\n {cartLineImages}\n {viewState.isShowDropdown &&\n \n {pickupDateDropdown}\n {pickupTimeslotDropdown}\n }\n {viewState.isShowSelected && pickupAddress}\n {viewState.isShowSelected && selectedDateTimeslot}\n \n );\n })}\n \n );\n\n};\n\nexport default CheckoutPickupView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport classname from 'classnames';\nimport * as React from 'react';\n\nexport interface IAddressDetailItem {\n isNewLine: boolean;\n isShowLabel: boolean;\n labelText: string;\n name: string;\n value: string;\n}\n\n/**\n * Address details item.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressDetailItemFunctionComponent: React.FC = (props: IAddressDetailItem) => {\n const {\n isNewLine,\n isShowLabel,\n labelText,\n name,\n value\n } = props;\n\n const className = `msc-address-detail__item msc-address-detail__item-${name.toLowerCase()}`;\n const isEmpty = !(value && value.length > 0);\n const mainClass = isShowLabel ? `msc-address-detail__item msc-address-detail__item-address-detail_${labelText}` : classname(className, { 'msc-address-detail__item-empty': isEmpty, 'msc-address-detail__item-newline': isNewLine });\n return (\n \n {\n isShowLabel && <>\n \n {labelText}\n \n \n \n }\n {value}\n \n );\n};\n\nexport default AddressDetailItemFunctionComponent;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { AddressItemType, IAddressItem } from '../address-format.data';\nimport AddressDetailItemComponent from './address-detail-item';\n\nexport interface IAddressShowItem {\n key: string;\n description: React.ReactNode;\n}\n\nexport interface IAddressShowProps {\n AddressDetail: INodeProps;\n items: IAddressShowItem[];\n}\n\nexport interface IAddressShowInputProps {\n addressFormat: IAddressItem[];\n address: Address;\n addressPurposes: AddressPurpose[];\n}\n\nexport const AddressShow = (props: IAddressShowInputProps): IAddressShowProps => {\n const { addressFormat, addressPurposes, address } = props;\n\n return {\n AddressDetail: { className: 'msc-address-detail' },\n items: addressFormat.map((item) => {\n if (item.name === AddressItemType[AddressItemType.AddressTypeValue]) {\n const addressType = addressPurposes.find((addressTypeValue) => addressTypeValue.AddressType.toString() === (address[item.name] || '').toString());\n if (addressType) {\n const value = addressType.Name || '';\n return {\n key: item.name,\n description: \n };\n }\n }\n return {\n key: item.name,\n description: \n };\n })\n };\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { IImageProps, IImageSettings, Image, IModule } from '@msdyn365-commerce/core';\nimport {\n Address, CartLine, LineDeliverySpecification, PickupTimeslotAvailability, SimpleProduct\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface ICheckoutPickupGroupKey {\n pickupStoreId: string;\n deliveryMode: string;\n}\n\nexport interface ICheckoutPickupGroup extends ICheckoutPickupGroupKey {\n pickupModeName: string;\n storeName: string;\n pickupAddress?: Address;\n availabilityState: PickupTimeslotAvailabilityState;\n groupErrorMessage?: string;\n dateErrorMessage?: string;\n timeslotErrorMessage?: string;\n lineDeliverySpecs: LineDeliverySpecification[];\n cartLines: ICartLineWithProduct[];\n\n availableDates: Date[];\n availableTimeslots: PickupTimeslotAvailability[];\n\n selectedDate?: Date;\n selectedTimeslot?: PickupTimeslotAvailability;\n}\n\nexport enum PickupTimeslotAvailabilityState {\n None,\n Available,\n NotDefined,\n NotAvailable // All slots occupied\n}\n\nexport interface ICartLineWithProduct {\n cartLine: CartLine;\n product?: SimpleProduct;\n}\n\nexport interface ICheckoutPickupGroupViewProps {\n moduleProps: IModule;\n\n pickupGroupContainer: INodeProps;\n dateTimeslotContainer: INodeProps;\n\n pickupStoreId: string;\n pickupModeName: string;\n deliveryMode: string;\n\n groupDivider: React.ReactNode;\n groupHeader: React.ReactNode;\n groupErrorMessage: React.ReactNode;\n cartLineImages: React.ReactNode;\n pickupDateDropdown: React.ReactNode;\n pickupTimeslotDropdown: React.ReactNode;\n\n selectedDateTimeslot: React.ReactNode;\n pickupAddress: React.ReactNode;\n}\n\nexport interface ICheckoutPickupErrorProps {\n errorMessage?: string;\n}\n\nexport const CheckoutPickupError: React.FC = ({\n errorMessage\n}) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n\nexport interface ICheckoutPickupGroupHeaderProps {\n moduleClassName: string;\n storeInfo: string;\n items: string;\n}\n\nexport const CheckoutPickupGroupHeader: React.FC = ({ moduleClassName, storeInfo, items }) => {\n return (\n
\n
\n {storeInfo}\n
\n
\n {items}\n
\n
\n );\n};\n\nexport interface ICheckoutPickupTimeslotInfoProps {\n moduleClassName: string;\n title: string;\n content: string;\n}\n\nexport const CheckoutPickupTimeslotInfo: React.FC = ({ moduleClassName, title, content }) => {\n return (\n
\n
\n {title}\n
\n
\n {content}\n
\n
\n );\n};\n\nexport interface ICheckoutPickupAddressProps {\n moduleClassName: string;\n title: string;\n address?: Address;\n}\n\nexport const CheckoutPickupAddress: React.FC = ({ moduleClassName, title, address }) => {\n if (!address) {\n return null;\n }\n\n return (\n
\n
\n {title}\n
\n {address.Name && \n {address.Name}\n }\n <>\n {address.Street && \n {address.Street}\n }\n {address.City && \n {address.City}\n }\n {address.State && \n {`, ${address.State}`}\n }\n {address.County && \n {`, ${address.County}`}\n }\n {address.ZipCode && \n {` ${address.ZipCode}`}\n }\n {address.ThreeLetterISORegionName && \n {` ${address.ThreeLetterISORegionName}`}\n }\n \n
\n );\n};\n\nexport interface ICheckoutPickupCartLineInfo {\n lineId: string;\n imageProps: IImageProps;\n quantity: number;\n}\n\nexport interface ICheckoutPickupCartLinesProps {\n moduleClassName: string;\n cartLines: ICheckoutPickupCartLineInfo[];\n}\n\nexport const CheckoutPickupCartLines: React.FC = ({ moduleClassName, cartLines }) => {\n if (!ArrayExtensions.hasElements(cartLines)) {\n return null;\n }\n return (\n
\n {cartLines.map(prop => {\n const showQty = prop.quantity > 1;\n let className = `${moduleClassName}__group-product-image`;\n if (showQty) {\n className = classnames(className, ' product-image-wide');\n }\n return (\n
\n \n {showQty &&
\n {prop.quantity}\n
}\n
\n );\n })}\n
\n );\n};\n\nexport const DefaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=108&h=108&q=80&m=6&f=jpg\"', w: 108, h: 108 },\n lg: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 },\n xl: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 }\n },\n lazyload: true,\n quality: 80\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { format } from '@msdyn365-commerce-modules/utilities';\n\nexport function getDate(date: Date | undefined, locale: string): string {\n if (!date) {\n return '';\n }\n const options: Intl.DateTimeFormatOptions = {\n timeZone: 'UTC'\n };\n const formatter = new Intl.DateTimeFormat(locale, options);\n return formatter.format(new Date(date));\n}\n\nexport const getTimeslot = (placeHolder: string, startDate: Date | undefined, endDate: Date | undefined, locale: string): string => {\n if (!startDate || !endDate) {\n return '';\n }\n const options: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n timeZone: 'UTC'\n };\n const formatter = new Intl.DateTimeFormat(locale, options);\n return format(placeHolder, formatter.format(new Date(startDate)), formatter.format(new Date(endDate)));\n};\n\nexport const getUTCDateWithoutTime = (input: Date): Date => {\n const date: Date = new Date(input);\n return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0));\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { LabeledDropdown } from '@msdyn365-commerce-modules/utilities';\nimport {\n ILabeledDropdownOnChangeNotification, ILabeledDropdownOption\n} from '@msdyn365-commerce-modules/utilities/dist/types/labeled-dropdown/LabeledDropdown.props';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { CheckoutPickupError } from './checkout-pickup-group';\nimport { getDate } from './checkout-pickup-utility';\n\nexport interface IPickupDropdownProps {\n pickupStoreId: string;\n deliveryMode: string;\n\n className: string;\n labelClassname?: string;\n labelText: string;\n defaultText: string;\n errorMessage?: string;\n\n locale: string;\n\n // Props for the LabeledDropdown component\n dropdownId: string;\n controlledByParent: boolean;\n toggleColor?: string;\n dropdownClassname?: string;\n}\n\nexport interface IPickupDateDropdownProps extends IPickupDropdownProps {\n availableDates: Date[];\n selectedDate?: Date;\n setDateHandler(pickupStoreId: string, deliveryMode: string, pickupDate: Date | undefined): void;\n}\n\n/**\n *\n * CheckoutPickupDateDropdown component.\n * @extends {React.Component}\n */\nexport class CheckoutPickupDateDropdown extends React.PureComponent {\n\n private readonly defaultKey: number = -1;\n\n private readonly defaultOption: ILabeledDropdownOption;\n\n // As the LabeledDropdown control only offers key and value, we need to map the key with date and timeslot data\n @computed get getDateMap(): Map {\n const map = new Map();\n this.props.availableDates.forEach((value, index) => {\n map.set(index.toString(), value);\n });\n return map;\n }\n\n constructor(props: IPickupDateDropdownProps) {\n super(props);\n this.defaultOption = { key: this.defaultKey.toString(), value: props.defaultText };\n this.updateDateSelection = this.updateDateSelection.bind(this);\n }\n\n public render(): JSX.Element | null {\n const {\n className,\n labelClassname,\n labelText,\n errorMessage,\n dropdownId,\n availableDates,\n selectedDate,\n controlledByParent,\n toggleColor,\n dropdownClassname\n } = this.props;\n\n const { dropdownOptions, selectedOption } = this.mapDatesToOptions(availableDates, selectedDate);\n\n return (\n
\n \n \n \n
\n );\n }\n\n private readonly updateDateSelection = (notification: ILabeledDropdownOnChangeNotification): void => {\n const {\n pickupStoreId,\n deliveryMode,\n setDateHandler\n } = this.props;\n const date: Date | undefined = this.getDate(notification);\n setDateHandler(pickupStoreId, deliveryMode, date);\n };\n\n private readonly getDate = (notification: ILabeledDropdownOnChangeNotification): Date | undefined => {\n const key: string = notification.selectedOption.key;\n if (key === this.defaultKey.toString() || !this.getDateMap.has(key)) {\n return undefined;\n }\n return this.getDateMap.get(key);\n\n };\n\n private readonly mapDatesToOptions = (dates: Date[], selectedDate: Date | undefined): { dropdownOptions: ILabeledDropdownOption[]; selectedOption: ILabeledDropdownOption | undefined } => {\n const { locale } = this.props;\n let options: ILabeledDropdownOption[] = [];\n let selectedOption: ILabeledDropdownOption = this.defaultOption;\n\n options = dates.map((value: Date, index: number) => {\n return {\n key: index.toString(),\n value: getDate(value, locale)\n };\n });\n options.unshift(this.defaultOption);\n\n const index: number = dates.findIndex((value: Date) => (selectedDate !== undefined && selectedDate.getTime() === value.getTime()));\n if (index >= 0 && selectedDate) {\n selectedOption = {\n key: index.toString(),\n value: getDate(selectedDate, locale)\n };\n }\n\n return {\n dropdownOptions: options,\n selectedOption\n };\n };\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport {\n PickupTimeslotAvailability\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { LabeledDropdown } from '@msdyn365-commerce-modules/utilities';\nimport {\n ILabeledDropdownOnChangeNotification, ILabeledDropdownOption\n} from '@msdyn365-commerce-modules/utilities/dist/types/labeled-dropdown/LabeledDropdown.props';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IPickupDropdownProps } from './checkout-pickup-date-dropdown';\nimport { CheckoutPickupError } from './checkout-pickup-group';\nimport { getTimeslot } from './checkout-pickup-utility';\n\nexport interface IPickupTimeslotDropdownProps extends IPickupDropdownProps {\n availableTimeslots: PickupTimeslotAvailability[];\n selectedTimeslot?: PickupTimeslotAvailability;\n timeslotPlaceHolder: string;\n setTimeslotHandler(pickupStoreId: string, deliveryMode: string, pickupTimeslot: PickupTimeslotAvailability | undefined): void;\n}\n\n/**\n *\n * CheckoutPickupTimeslotDropdown component.\n * @extends {React.Component}\n */\nexport class CheckoutPickupTimeslotDropdown extends React.PureComponent {\n\n private readonly defaultKey: number = -1;\n\n private readonly defaultOption: ILabeledDropdownOption;\n\n // As the LabeledDropdown control only offers key and value, we need to map the key with date and timeslot data\n @computed get getTimeslotMap(): Map {\n const map = new Map();\n this.props.availableTimeslots.forEach((value, index) => {\n map.set(index.toString(), value);\n });\n return map;\n }\n\n constructor(props: IPickupTimeslotDropdownProps) {\n super(props);\n this.defaultOption = { key: this.defaultKey.toString(), value: props.defaultText };\n this.updateTimeslotSelection = this.updateTimeslotSelection.bind(this);\n }\n\n public render(): JSX.Element | null {\n const {\n className,\n labelClassname,\n labelText,\n errorMessage,\n dropdownId,\n availableTimeslots,\n selectedTimeslot,\n controlledByParent,\n toggleColor,\n dropdownClassname\n } = this.props;\n\n const { dropdownOptions, selectedOption } = this.mapTimeslotsToOptions(availableTimeslots, selectedTimeslot);\n\n return (\n
\n \n \n \n
\n );\n }\n\n private readonly updateTimeslotSelection = (notification: ILabeledDropdownOnChangeNotification): void => {\n const {\n pickupStoreId,\n deliveryMode,\n setTimeslotHandler\n } = this.props;\n const timeslot: PickupTimeslotAvailability | undefined = this.getTimeslot(notification);\n setTimeslotHandler(pickupStoreId, deliveryMode, timeslot);\n };\n\n private readonly getTimeslot = (notification: ILabeledDropdownOnChangeNotification): PickupTimeslotAvailability | undefined => {\n const key: string = notification.selectedOption.key;\n if (key === this.defaultKey.toString() || !this.getTimeslotMap.has(key)) {\n return undefined;\n }\n return this.getTimeslotMap.get(key);\n\n };\n\n private readonly mapTimeslotsToOptions = (timeslots: PickupTimeslotAvailability[], selectedTimeslot: PickupTimeslotAvailability | undefined): { dropdownOptions: ILabeledDropdownOption[]; selectedOption: ILabeledDropdownOption | undefined } => {\n const { timeslotPlaceHolder, locale } = this.props;\n let options: ILabeledDropdownOption[] = [];\n let selectedOption: ILabeledDropdownOption = this.defaultOption;\n\n options = timeslots.map((value: PickupTimeslotAvailability, index: number) => {\n return {\n key: index.toString(),\n value: getTimeslot(timeslotPlaceHolder, value.StartDateTime, value.EndDateTime, locale)\n };\n });\n options.unshift(this.defaultOption);\n\n const index: number = timeslots.findIndex(value => (\n selectedTimeslot !== undefined &&\n selectedTimeslot.StartDateTime?.getTime() === value.StartDateTime?.getTime() &&\n selectedTimeslot.EndDateTime?.getTime() === value.EndDateTime?.getTime()\n ));\n if (index >= 0 && selectedTimeslot) {\n selectedOption = {\n key: index.toString(),\n value: getTimeslot(timeslotPlaceHolder, selectedTimeslot.StartDateTime, selectedTimeslot.EndDateTime, locale)\n };\n }\n\n return {\n dropdownOptions: options,\n selectedOption\n };\n };\n\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { ICheckoutState } from '@msdyn365-commerce/global-state';\nimport {\n getEstimatedPickupTimeslotAvailabilitiesAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport {\n CartLine, LineDeliverySpecification, OrgUnitLocation, PickupTimeslotAvailability, PickupTimeslotAvailabilitySearchCriteria,\n ProductDeliveryOptions, SimpleProduct\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport {\n ArrayExtensions, getFallbackImageUrl, getSimpleProducts, ObjectExtensions, ProductInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n format, IModuleProps, isNullOrWhiteSpace, Waiting\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { action, computed, observable, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ICheckoutPickupData } from './checkout-pickup.data';\nimport { ICheckoutPickupProps } from './checkout-pickup.props.autogenerated';\nimport {\n CheckoutPickupDateDropdown, CheckoutPickupError, CheckoutPickupTimeslotDropdown, getDate, getTimeslot,\n getUTCDateWithoutTime\n} from './components';\nimport {\n CheckoutPickupAddress, CheckoutPickupCartLines, CheckoutPickupGroupHeader,\n CheckoutPickupTimeslotInfo, DefaultImageSettings, ICheckoutPickupAddressProps,\n ICheckoutPickupCartLineInfo, ICheckoutPickupCartLinesProps, ICheckoutPickupGroup,\n ICheckoutPickupGroupHeaderProps, ICheckoutPickupGroupViewProps, ICheckoutPickupTimeslotInfoProps, PickupTimeslotAvailabilityState\n} from './components/checkout-pickup-group';\n\nexport interface ICheckoutPickupModuleProps extends ICheckoutPickupProps, IModuleStateProps { }\n\nexport interface ICheckoutPickupState {\n pickupGroups: ICheckoutPickupGroup[];\n}\n\nexport interface ICheckoutPickupViewState {\n isLoading: boolean;\n isHeaderError: boolean;\n isShowDropdown: boolean;\n isShowSelected: boolean;\n}\n\nexport interface ICheckoutPickupViewProps extends ICheckoutPickupProps<{}> {\n checkoutPickup: IModuleProps;\n viewState: ICheckoutPickupViewState;\n headerError: React.ReactNode;\n waiting: React.ReactNode;\n pickupGroups: ICheckoutPickupGroupViewProps[];\n}\n\n/**\n *\n * CheckoutPickup component.\n * @extends {React.Component}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nclass CheckoutPickup extends React.Component {\n @observable private isLoading: boolean = false;\n\n @observable private headerErrorMessage?: string;\n\n @computed get isDataReady(): boolean {\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS' &&\n (this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.status) === 'SUCCESS';\n }\n\n constructor(props: ICheckoutPickupModuleProps) {\n super(props);\n this.state = { pickupGroups: [] };\n\n this.setDateHandler = this.setDateHandler.bind(this);\n this.setTimeslotHandler = this.setTimeslotHandler.bind(this);\n }\n\n public componentDidMount(): void {\n when(\n () => this.isDataReady,\n async () => {\n await this.initPickupGroup();\n this.initModuleState();\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: ICheckoutPickupModuleProps,\n nextState: ICheckoutPickupState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n if (!this.isDataReady || !this.canPickup()) {\n return null;\n }\n\n const { resources, config, context } = this.props;\n\n const {\n pickupDateLabel,\n pickupTimeslotLabel,\n pickupDateDefaultText,\n pickupTimeslotDefaultText,\n itemsText,\n singleItemText,\n pickupDateTimeslotText,\n pickupTimeslotPlaceHolder,\n pickupLocationLabel\n } = resources;\n\n const { locale } = context.request;\n const { className, imageSettings } = config;\n const defaultClassName = 'ms-checkout-pickup';\n const groupsViewProps: ICheckoutPickupGroupViewProps[] = [];\n\n this.state.pickupGroups.forEach((value, index) => {\n // Divider line for each pickup group\n const groupDivider: React.ReactNode = index !== 0 && (\n
\n );\n\n // Heading for each group\n const itemText = value.lineDeliverySpecs.length > 1 ? itemsText : singleItemText;\n const headerProps: ICheckoutPickupGroupHeaderProps = {\n moduleClassName: defaultClassName,\n storeInfo: `${value.pickupModeName}, ${value.storeName}`,\n items: `(${format(itemText, value.lineDeliverySpecs.length)})`\n };\n const groupHeader: React.ReactNode = ;\n\n // Line images\n const cartlines: ICheckoutPickupCartLineInfo[] = value.cartLines.filter(x => !ObjectExtensions.isNullOrUndefined(x.product)).map(line => ({\n lineId: line.cartLine.LineId || '',\n imageProps: {\n requestContext: context.actionContext.requestContext,\n className: `${defaultClassName}__group-line-image`,\n altText: line.product?.Name,\n src: line.product?.PrimaryImageUrl || '',\n fallBackSrc: getFallbackImageUrl(line.product?.ItemId, context.actionContext.requestContext.apiSettings),\n gridSettings: context.request.gridSettings!,\n imageSettings: imageSettings || DefaultImageSettings,\n loadFailureBehavior: 'empty'\n },\n quantity: line.cartLine.Quantity || 0\n })\n );\n const lineImageProps: ICheckoutPickupCartLinesProps = {\n moduleClassName: defaultClassName,\n cartLines: cartlines.filter(x => !ObjectExtensions.isNullOrUndefined(x))\n };\n const cartLineImages: React.ReactNode = ;\n\n // Selected pickup date and timeslot node\n const dateString = getDate(value.selectedDate, locale);\n const timeslotString = getTimeslot(pickupTimeslotPlaceHolder, value.selectedTimeslot?.StartDateTime, value.selectedTimeslot?.EndDateTime, locale);\n const timeslotInfoProps: ICheckoutPickupTimeslotInfoProps = {\n moduleClassName: defaultClassName,\n title: pickupDateTimeslotText,\n content: `${dateString} ${timeslotString}`\n };\n const selectedDateTimeslotNode: React.ReactNode = ;\n\n // Pickup address\n const addressProps: ICheckoutPickupAddressProps = {\n moduleClassName: defaultClassName,\n title: pickupLocationLabel,\n address: value.pickupAddress\n };\n const pickupAddress: React.ReactNode = ;\n\n // Pickup date and timeslot dropdown list\n const dropdownClassName = `${defaultClassName}__group-datetime-dropdown`;\n const labelClassName = `${dropdownClassName}-label`;\n const dropdownSelectClassName = `${dropdownClassName}-select`;\n const dateDropdownNode: React.ReactNode = (\n \n );\n\n const timeslotDropdownNode: React.ReactNode = (\n \n );\n\n const viewProp: ICheckoutPickupGroupViewProps = {\n moduleProps: { ...this.props },\n pickupGroupContainer: { className: `${defaultClassName}__group` },\n dateTimeslotContainer: { className: `${defaultClassName}__group-datetime` },\n pickupStoreId: value.pickupStoreId,\n pickupModeName: value.pickupModeName,\n deliveryMode: value.deliveryMode,\n groupDivider,\n groupHeader,\n groupErrorMessage: ,\n cartLineImages,\n pickupDateDropdown: dateDropdownNode,\n pickupTimeslotDropdown: timeslotDropdownNode,\n selectedDateTimeslot: selectedDateTimeslotNode,\n pickupAddress\n };\n\n groupsViewProps.push(viewProp);\n });\n\n const {\n moduleState: { isReady, hasError }\n } = this.props;\n const isHeaderError = !this.isLoading && this.headerErrorMessage !== undefined;\n const isShowDropdown = !this.isLoading && !isReady;\n const isShowSelected = !this.isLoading && !hasError && isReady;\n\n const viewProps: ICheckoutPickupViewProps = {\n ...this.props,\n checkoutPickup: {\n moduleProps: this.props,\n className: classname(defaultClassName, className)\n },\n viewState: {\n isLoading: this.isLoading,\n isHeaderError,\n isShowSelected,\n isShowDropdown\n },\n headerError: ,\n waiting: ,\n pickupGroups: groupsViewProps\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n @action\n public async setDateHandler(pickupStoreId: string, deliveryMode: string, pickupDate: Date | undefined): Promise {\n const oldGroup = this.state.pickupGroups.find(group => group.pickupStoreId === pickupStoreId && group.deliveryMode === deliveryMode);\n if (!oldGroup) {\n return;\n }\n\n const newGroup: ICheckoutPickupGroup = { ...oldGroup };\n newGroup.selectedDate = pickupDate;\n newGroup.selectedTimeslot = undefined; // Clear the selected timeslot in any case\n newGroup.timeslotErrorMessage = undefined; // Clear the timeslot error message if any\n newGroup.lineDeliverySpecs.forEach((lineSpec: LineDeliverySpecification) => {\n if (lineSpec.DeliverySpecification) {\n lineSpec.DeliverySpecification.PickupTimeslotStartDateTime = undefined;\n lineSpec.DeliverySpecification.PickupTimeslotEndDateTime = undefined;\n }\n });\n\n if (pickupDate) { // Date is set\n const searchCriteria: PickupTimeslotAvailabilitySearchCriteria = {\n DeliveryModeCode: newGroup.deliveryMode,\n StoreId: newGroup.pickupStoreId,\n StartDate: pickupDate,\n EndDate: pickupDate,\n SearchOptionValue: 2 // Test runtime does not recognize PickupTimeslotAvailabilitySearchOption.All\n };\n const timeslotResults: PickupTimeslotAvailability[] = await getEstimatedPickupTimeslotAvailabilitiesAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {}, bypassCache: 'get' }, searchCriteria);\n\n newGroup.availableTimeslots = timeslotResults.filter(value => (value.AvailableCapacity || 0) > 0);\n newGroup.dateErrorMessage = newGroup.availableTimeslots.length === 0 ? this.props.resources.noAvailableTimeslotError : undefined;\n } else { // Date is not set\n newGroup.availableTimeslots = [];\n newGroup.dateErrorMessage = undefined;\n }\n\n const groups = this.state.pickupGroups.map(group => {\n if (group.pickupStoreId === pickupStoreId && group.deliveryMode === deliveryMode) {\n return newGroup;\n }\n return group;\n\n });\n\n this.setState({ pickupGroups: groups });\n }\n\n @action\n public setTimeslotHandler(pickupStoreId: string, deliveryMode: string, pickupTimeslot: PickupTimeslotAvailability | undefined): void {\n const oldGroup = this.state.pickupGroups.find(group => group.pickupStoreId === pickupStoreId && group.deliveryMode === deliveryMode);\n if (!oldGroup) {\n return;\n }\n\n const newGroup: ICheckoutPickupGroup = { ...oldGroup };\n\n newGroup.selectedTimeslot = pickupTimeslot;\n newGroup.lineDeliverySpecs.forEach((lineSpec: LineDeliverySpecification) => {\n if (lineSpec.DeliverySpecification) {\n lineSpec.DeliverySpecification.PickupTimeslotStartDateTime = pickupTimeslot?.StartDateTime;\n lineSpec.DeliverySpecification.PickupTimeslotEndDateTime = pickupTimeslot?.EndDateTime;\n }\n });\n\n if (pickupTimeslot) {\n newGroup.timeslotErrorMessage = undefined;\n }\n\n const groups = this.state.pickupGroups.map(group => {\n if (group.pickupStoreId === pickupStoreId && group.deliveryMode === deliveryMode) {\n return newGroup;\n }\n return group;\n\n });\n\n this.setState({ pickupGroups: groups });\n }\n\n @action\n private readonly initModuleState = (): void => {\n this.props.moduleState.init({\n onEdit: this.onEdit,\n onSubmit: this.onSubmit,\n status: this.canPickup() ? (this.isPickupTimeSlotSet() ? 'ready' : 'updating') : 'disabled'\n });\n };\n\n private readonly onEdit = (): void => {\n this.props.moduleState.onUpdating();\n };\n\n private readonly onReady = (): void => {\n this.props.moduleState.onReady();\n };\n\n private readonly onPending = (): void => {\n this.props.moduleState.onPending();\n };\n\n private readonly onSubmit = async (): Promise => {\n await this.updateCartLinePickupDateTimeslot();\n };\n\n private readonly setError = (errorMessage: string, isHeaderError: boolean = true): void => {\n this.props.telemetry.error(errorMessage);\n this.props.moduleState.setHasError(true);\n this.props.moduleState.onUpdating();\n if (isHeaderError) {\n this.headerErrorMessage = errorMessage;\n }\n };\n\n private readonly clearError = (): void => {\n this.props.moduleState.setHasError(false);\n this.headerErrorMessage = undefined;\n };\n\n @action\n\n private readonly initPickupGroup = async (): Promise => {\n const pickupCartLines: CartLine[] = this.getCartLinesforPickup();\n let products: SimpleProduct[] = [];\n try {\n products = await this.getProductsByCartLines(this.props.data.checkout.result?.checkoutCart.cart.ChannelId || 0, pickupCartLines);\n } catch (error) {\n this.props.telemetry.error(error);\n }\n const pickupGroups: ICheckoutPickupGroup[] = [];\n const locations: OrgUnitLocation[] = this.props.data.orgUnitLocations.result || [];\n this.isLoading = true;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { featureState, deliveryOptions } = this.props?.data;\n const retailMultiplePickUpOptionEnabled = featureState?.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)?.IsEnabled;\n\n for (const line of pickupCartLines) {\n const group: ICheckoutPickupGroup | undefined = pickupGroups.find(x => x.pickupStoreId === line.FulfillmentStoreId && x.deliveryMode === line.DeliveryMode);\n const product: SimpleProduct | undefined = products.find(x => x.RecordId === line.ProductId);\n const lineDeliverySpecification: LineDeliverySpecification = {\n LineId: line.LineId,\n DeliverySpecification: {\n DeliveryModeId: line.DeliveryMode,\n DeliveryPreferenceTypeValue: 2,\n PickUpStoreId: line.FulfillmentStoreId,\n PickupTimeslotStartDateTime: line.PickupTimeslotStartDateTime,\n PickupTimeslotEndDateTime: line.PickupTimeslotEndDateTime,\n DeliveryAddress: line.ShippingAddress\n }\n };\n if (group) {\n group.lineDeliverySpecs.push(lineDeliverySpecification);\n group.cartLines.push({ cartLine: line, product });\n } else { // Group not exists yet\n const location: OrgUnitLocation | undefined = locations.find(x => x.OrgUnitNumber === line.FulfillmentStoreId);\n const storeName: string = this.getStoreName(location, line);\n const selectedDate: Date | undefined = line.PickupTimeslotStartDateTime && getUTCDateWithoutTime(line.PickupTimeslotStartDateTime);\n const selectedTimeslot = (line.PickupTimeslotStartDateTime && line.PickupTimeslotEndDateTime) ? { StartDateTime: line.PickupTimeslotStartDateTime, EndDateTime: line.PickupTimeslotEndDateTime } : undefined;\n const newGroup: ICheckoutPickupGroup = {\n pickupModeName: retailMultiplePickUpOptionEnabled ? this.getPickupModeDescription(this.props.resources.generalPickupText, line.DeliveryMode, deliveryOptions?.result, product) : this.props.resources.generalPickupText,\n pickupStoreId: line.FulfillmentStoreId || '',\n deliveryMode: line.DeliveryMode || '',\n storeName,\n pickupAddress: line.ShippingAddress,\n availabilityState: PickupTimeslotAvailabilityState.None,\n lineDeliverySpecs: [lineDeliverySpecification],\n cartLines: [{ cartLine: line, product }],\n availableDates: [],\n availableTimeslots: [],\n selectedDate,\n selectedTimeslot\n };\n\n let dailyGroupingResults: PickupTimeslotAvailability[] = [];\n try {\n const searchCriteria: PickupTimeslotAvailabilitySearchCriteria = {\n DeliveryModeCode: newGroup.deliveryMode,\n StoreId: newGroup.pickupStoreId,\n SearchOptionValue: 1 // Test runtime does not recognize PickupTimeslotAvailabilitySearchOption.DailyGroupingTimeslotOnly\n };\n dailyGroupingResults = await getEstimatedPickupTimeslotAvailabilitiesAsync({ callerContext: this.props.context.actionContext, queryResultSettings: {} }, searchCriteria);\n } catch (error) {\n this.props.telemetry.error(error);\n }\n newGroup.availabilityState = this.getPickupTimeslotAvailabilityState(dailyGroupingResults);\n if (newGroup.availabilityState === PickupTimeslotAvailabilityState.NotAvailable) {\n newGroup.groupErrorMessage = this.props.resources.noAvailableDateError;\n this.setError(newGroup.groupErrorMessage, false);\n }\n dailyGroupingResults.forEach(value => {\n if (value.StartDateTime && (value.AvailableCapacity || 0) > 0) {\n newGroup.availableDates.push(getUTCDateWithoutTime(value.StartDateTime));\n }\n });\n\n if (selectedDate) {\n let timeslotResults: PickupTimeslotAvailability[] = [];\n try {\n const searchCriteria: PickupTimeslotAvailabilitySearchCriteria = {\n DeliveryModeCode: newGroup.deliveryMode,\n StoreId: newGroup.pickupStoreId,\n StartDate: selectedDate,\n EndDate: selectedDate,\n SearchOptionValue: 2 // Test runtime does not recognize PickupTimeslotAvailabilitySearchOption.All\n };\n timeslotResults = await getEstimatedPickupTimeslotAvailabilitiesAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {}, bypassCache: 'get' },\n searchCriteria);\n } catch (error) {\n this.props.telemetry.error(error);\n }\n newGroup.availableTimeslots = timeslotResults.filter(value => (value.AvailableCapacity || 0) > 0);\n }\n pickupGroups.push(newGroup);\n }\n }\n\n const filteredPickupGroups = pickupGroups.filter(group => group.availabilityState === PickupTimeslotAvailabilityState.Available ||\n group.availabilityState === PickupTimeslotAvailabilityState.NotAvailable);\n\n if (!ArrayExtensions.hasElements(filteredPickupGroups)) {\n this.props.context.telemetry.error('Data is not ready or pickup group is empty, module wont render.');\n }\n this.isLoading = false;\n this.setState({ pickupGroups: filteredPickupGroups });\n };\n\n @action\n private readonly updateCartLinePickupDateTimeslot = async (): Promise => {\n if (!this.validateTimeslot()) {\n return;\n }\n const { resources } = this.props;\n let lineSpecs: LineDeliverySpecification[] = [];\n\n this.state.pickupGroups.forEach(group => {\n lineSpecs = lineSpecs.concat(group.lineDeliverySpecs);\n });\n\n this.clearError();\n this.onPending();\n\n try {\n const checkoutState = this.props.data.checkout.result as ICheckoutState;\n const response = await checkoutState.checkoutCart.updateCartLinePickupDateTimeslot({ lineDeliverySpecifications: lineSpecs });\n\n if (response.status === 'FAILED') {\n this.setError(resources.genericErrorMessage);\n } else {\n this.onReady();\n this.props.moduleState.setIsCancellable(true);\n }\n } catch {\n this.setError(resources.genericErrorMessage);\n }\n };\n\n private readonly getProductsByCartLines = async (channelId: number, cartLines: CartLine[]): Promise => {\n const actionContext = this.props.context.actionContext;\n const productInputs = cartLines.filter(line => !ObjectExtensions.isNullOrUndefined(line.ProductId)).map(line => new ProductInput(line.ProductId || 0, actionContext.requestContext.apiSettings, channelId));\n return getSimpleProducts(productInputs, actionContext);\n };\n\n private readonly validateTimeslot = (): boolean => {\n let validationResult = true;\n this.state.pickupGroups.forEach(group => {\n switch (group.availabilityState) {\n case PickupTimeslotAvailabilityState.NotAvailable:\n // Need customer to select another store in this case\n validationResult = false;\n break;\n case PickupTimeslotAvailabilityState.Available:\n if (!group.selectedDate || !group.selectedTimeslot) {\n if (!group.selectedDate) {\n group.dateErrorMessage = this.props.resources.pickupDateRequired;\n }\n if (!group.selectedTimeslot) {\n group.timeslotErrorMessage = this.props.resources.pickupTimeslotRequired;\n }\n this.setError(this.props.resources.pickupDateTimeslotRequired, false);\n validationResult = false;\n } else {\n group.dateErrorMessage = undefined;\n group.timeslotErrorMessage = undefined;\n }\n break;\n\n // We consider timeslot not defined as fallback case\n case PickupTimeslotAvailabilityState.NotDefined:\n default:\n }\n });\n\n return validationResult;\n };\n\n private readonly getStoreName = (orgUnitLocation: OrgUnitLocation | undefined, cartLine: CartLine): string => {\n return orgUnitLocation?.OrgUnitName || cartLine.ShippingAddress?.Name || cartLine.FulfillmentStoreId || '';\n };\n\n private readonly canPickup = (): boolean => {\n return ArrayExtensions.hasElements(this.state.pickupGroups);\n };\n\n private readonly isPickupTimeSlotSet = (): boolean => {\n return ArrayExtensions.hasElements(this.state.pickupGroups) &&\n this.state.pickupGroups.every(group => !ObjectExtensions.isNullOrUndefined(group.selectedTimeslot?.StartDateTime) && !ObjectExtensions.isNullOrUndefined(group.selectedTimeslot?.EndDateTime));\n };\n\n private readonly getCartLinesforPickup = (): CartLine[] => {\n return this.props.data.checkout.result?.checkoutCart.cart.CartLines?.filter(line => this.isPickupLine(line)) || [];\n };\n\n private readonly isPickupMode = (deliveryMode: string | undefined): boolean => {\n const pickupDeliveryModeCode = this.props.context.request.channel?.PickupDeliveryModeCode;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const retailMultiplePickUpOptionEnabled = featureState?.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)?.IsEnabled;\n if (retailMultiplePickUpOptionEnabled && deliveryMode !== undefined) {\n const pickupDeliveryMode = channelDeliveryOptionConfig?.result?.PickupDeliveryModeCodes?.includes(deliveryMode);\n return pickupDeliveryMode !== undefined ? pickupDeliveryMode : false;\n }\n return deliveryMode !== undefined && pickupDeliveryModeCode !== undefined && (deliveryMode === pickupDeliveryModeCode);\n };\n\n private readonly isPickupLine = (line: CartLine): boolean => {\n return this.isPickupMode(line.DeliveryMode) && line.FulfillmentStoreId !== undefined && !isNullOrWhiteSpace(line.FulfillmentStoreId);\n };\n\n private readonly getPickupModeDescription = (resourceString: string, deliveryMode?: string, deliveryOptions?: ProductDeliveryOptions[], product?: SimpleProduct): string => {\n let deliveryOption: string = resourceString;\n if (ArrayExtensions.hasElements(deliveryOptions) && product !== undefined) {\n let foundProductDeliveryOption;\n foundProductDeliveryOption = deliveryOptions?.find((deliveryO) => {\n return deliveryO && deliveryO.ProductId === product.RecordId;\n });\n const deliveryDesc = foundProductDeliveryOption?.DeliveryOptions ? foundProductDeliveryOption?.DeliveryOptions?.find(option => option.Code === deliveryMode)?.Description : resourceString;\n if (deliveryDesc !== undefined) {\n deliveryOption = deliveryDesc;\n }\n }\n return deliveryOption;\n };\n\n private readonly getPickupTimeslotAvailabilityState = (dailyResult: PickupTimeslotAvailability[]) => {\n let state: PickupTimeslotAvailabilityState = PickupTimeslotAvailabilityState.None;\n if (!ArrayExtensions.hasElements(dailyResult)) {\n state = PickupTimeslotAvailabilityState.NotDefined;\n } else if (dailyResult.every(date => (date.AvailableCapacity || 0) <= 0)) {\n state = PickupTimeslotAvailabilityState.NotAvailable;\n } else {\n state = PickupTimeslotAvailabilityState.Available;\n }\n return state;\n };\n}\n\nexport default CheckoutPickup;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { PhoneRegex } from '@msdyn365-commerce-modules/retail-actions';\n\nimport {\n AddressItemDisplayType, AddressItemType, AddressValidationRuleType, IAddressItem,\n IAddressValidationRule\n} from './address-format.data';\nimport { IAddressResource } from './address-module.data';\n\n/**\n * Address meta data.\n */\nexport class AddressMetaData {\n\n private readonly metaData: IAddressItem[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly requiredFieldRegEx: string = '\\\\S';\n\n private readonly resourcesPrefix: string = 'address';\n\n private readonly maxLength: number = 64;\n\n private readonly requiredFields: AddressItemType[];\n\n private readonly excludedTypes: AddressItemType[];\n\n constructor(resources: IAddressResource, excluded?: AddressItemType[], required?: AddressItemType[]) {\n this.resources = resources || {};\n this.excludedTypes = excluded || [];\n this.requiredFields = required !== undefined ? required : [AddressItemType.Name, AddressItemType.ZipCode, AddressItemType.City, AddressItemType.State, AddressItemType.ThreeLetterISORegionName, AddressItemType.Street];\n this._init();\n }\n\n public getItemFormat(id: number): IAddressItem | undefined {\n return this.metaData.find((item) => {\n return item.type === id;\n });\n }\n\n private _init(): void {\n this._addItem(AddressItemType.Name, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Phone, AddressItemDisplayType.Input, PhoneRegex.defaultRegex);\n this._addItem(AddressItemType.ZipCode, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.City, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.County, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.State, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.ThreeLetterISORegionName, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.Street, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.DistrictName, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.StreetNumber, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.BuildingCompliment, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Postbox, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.House_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Flat_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.CountryOKSMCode_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.AddressTypeValue, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.IsPrimary, AddressItemDisplayType.Checkbox);\n }\n\n private _addItem(type: AddressItemType, displayType: AddressItemDisplayType, format?: string): void {\n if (this.excludedTypes.includes(type)) {\n return;\n }\n\n const nameKey = AddressItemType[type].replace('_', '');\n\n // Find out if currentItem is required field\n const validationRules = this._validationRules(type, nameKey, format);\n const isRequired = validationRules.some(rule => rule.type === AddressValidationRuleType.Required);\n\n // If no optional string is provided in resource file, use the original label text\n const optionalString = this.resources[`${this.resourcesPrefix}${nameKey}LabelOptional`] || this.resources[`${this.resourcesPrefix}${nameKey}Label`];\n const item: IAddressItem = {\n type,\n displayType,\n name: AddressItemType[type],\n label: isRequired ? this.resources[`${this.resourcesPrefix}${nameKey}Label`] : optionalString,\n maxLength: this.maxLength,\n validationRules,\n isNewLine: true\n };\n\n this.metaData.push(item);\n }\n\n private _validationRules(type: AddressItemType, name: string, format?: string): IAddressValidationRule[] {\n const validationRules: IAddressValidationRule[] = [];\n\n for (const ruleType of Object.keys(AddressValidationRuleType)) {\n const key = `${this.resourcesPrefix}${name}${ruleType}`;\n const message: string = this.resources[`${key}ErrorMessage`];\n switch (ruleType) {\n case AddressValidationRuleType.Required: {\n if (this.requiredFields.find((itemType: AddressItemType) => itemType === type)) {\n validationRules.push(this._validationRule(ruleType, this.requiredFieldRegEx, message));\n }\n break;\n }\n case AddressValidationRuleType.Format: {\n validationRules.push(this._validationRule(ruleType, format!, message));\n break;\n }\n default:\n }\n }\n return validationRules;\n }\n\n private _validationRule(type: AddressValidationRuleType, regEx: string, message: string): IAddressValidationRule {\n return {\n type,\n regEx,\n message\n };\n }\n\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport checkoutStateDataAction from './checkout-state-data-action';\n\nexport * from './checkout-state';\nexport * from './checkout-state-data-action';\nexport * from './module-state-manager';\n\nexport { checkoutStateDataAction };\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressList, IAddressListItem, IAddressListProps } from '../../common/components/address-list';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { IAccountManagementAddressViewProps } from './account-management-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({\n AddressDetail,\n items\n}) => {\n\n return (\n \n {items.map((item: IAddressShowItem) => {\n return (\n <>\n {item.description}\n \n );\n })}\n \n );\n};\n\n/**\n * Address List Component.\n * @param param0 - Root param.\n * @param param0.List - Address list.\n * @param param0.isShowList - Boolean.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressListItem[].\n * @returns - AddressListComponent Node.\n */\nconst AddressList: React.FC = ({\n List,\n isShowList,\n heading,\n items\n}) => {\n\n if (!isShowList) {\n return null;\n }\n\n return (\n \n {heading}\n {items.map((item: IAddressListItem) => {\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\n const { Error, isShowError, title, message } = error;\n return (\n \n {isShowError && \n {title}\n {message}\n }\n {isShowPrimaryButton && primaryButton}\n {editButton}\n {removeButton}\n );\n })}\n \n );\n};\n\n/**\n * Address Lists Component.\n * @param param0 - Root param.\n * @param param0.ListAddress - List address.\n * @param param0.heading - List heading.\n * @param param0.isShowEmptyListMessage - Boolean.\n * @param param0.emptyListMessage - Empty list message.\n * @param param0.addButton - Add button.\n * @param param0.primaryAddressList - Primary address.\n * @param param0.otherAddressList - Other address.\n * @returns Address Lists Component Node.\n */\nconst AddressLists: React.FC = ({\n ListAddress,\n heading,\n isShowEmptyListMessage,\n emptyListMessage,\n addButton,\n primaryAddressList,\n otherAddressList\n}) => {\n\n return (\n \n {heading}\n {isShowEmptyListMessage && emptyListMessage}\n {addButton}\n \n \n \n );\n};\n\n/**\n * AddressAddUpdateComponent.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n {label}\n {alert}\n {input}\n );\n })}\n {hasError && \n {error.title}\n {error.message}\n }\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Account Management Address View Component.\n * @param props - Props.\n * @returns - AccountAddressManagement Module.\n */\nconst AccountManagementAddressView: React.FC = props => {\n const { AccountAddressManagement, viewState, showAddressList, showAddOrUpdateAddress, screenReaderNotification } = props;\n\n return (\n \n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {screenReaderNotification}\n \n );\n};\n\nexport default AccountManagementAddressView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nexport enum AddressItemDisplayType {\n Input = 'Input',\n Dropdown = 'Dropdown',\n Checkbox = 'Checkbox'\n}\n\nexport enum AddressValidationRuleType {\n Required = 'Required',\n Format = 'Format'\n}\n\nexport enum AddressItemType {\n Name = 1001,\n Phone = 1002,\n IsPrimary = 1003,\n AddressTypeValue = 1004,\n ZipCode = 1,\n City = 2,\n County = 3,\n State = 4,\n ThreeLetterISORegionName = 5,\n Street = 6,\n DistrictName = 7,\n StreetNumber = 8,\n BuildingCompliment = 9,\n Postbox = 10,\n House_RU = 21,\n Flat_RU = 22,\n CountryOKSMCode_RU = 23\n}\n\nexport interface IAddressItem {\n name: string;\n type: AddressItemType;\n label: string;\n maxLength: number;\n displayType: AddressItemDisplayType;\n validationRules?: IAddressValidationRule[];\n isNewLine: boolean;\n}\n\nexport interface IAddressValidationRule {\n type: AddressValidationRuleType;\n regEx: string;\n message: string;\n}\n\nexport interface IAddressDropdownsData {\n [index: string]: { key?: string | number; value?: string }[];\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { AsyncResultStatus, getUrlSync } from '@msdyn365-commerce/core';\nimport {\n Address, AsyncResult, CardPaymentAcceptResult, CardType, CartLine,\n CartsDataActions, StoreOperationsDataActions, TokenizedPaymentCard\n} from '@msdyn365-commerce/retail-proxy';\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps, Modal } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { get } from 'lodash';\nimport { action, computed, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { AsyncResultStatusCode } from '../../common';\nimport { AddPaymentFormComponent } from '../../common/add-payment-form';\nimport { ErrorComponent } from '../../common/error';\nimport { Iframe } from '../../common/iframe';\nimport {\n paymentConnectorExtraContextMessage, PaymentConnectorPostMessageType,\n paymentConnectorSubmitMessage\n} from '../../common/payment-instrument-message';\nimport { WaitingComponent } from '../../common/waiting';\nimport {\n IVisibilityObserverProps,\n withVisibilityObserver } from '../../common/with-visibility-observer';\nimport getCardPaymentAcceptPointAction, {\n GetCardPaymentAcceptPointInput\n} from './actions/get-card-payment-accept-point';\nimport { ICheckoutExpressData } from './checkout-express.data';\nimport { ICheckoutExpressProps } from './checkout-express.props.autogenerated';\n\n/**\n * Interface for CheckOutExpress Module Props.\n */\nexport interface ICheckoutExpressModuleProps extends ICheckoutExpressProps, IModuleStateProps, IVisibilityObserverProps { }\n\n/**\n * Checkout Express State.\n */\ninterface ICheckoutExpressState {\n errorMessage?: string;\n isFetchingPaymentConnector?: boolean;\n paymentConnectorHeight?: number;\n isPaymentVerificationRequired?: boolean;\n paymentVerificationPostData?: string;\n isPaymentProcessing?: boolean;\n isOverlayModal?: boolean;\n}\n\n/**\n * Checkout Express Overlay Modal.\n */\nexport interface ICheckoutExpressOverlayModal {\n modal: INodeProps;\n}\n\n/**\n * Checkout Express View Props.\n */\nexport interface ICheckoutExpressViewProps extends ICheckoutExpressProps<{}>, ICheckoutExpressState {\n className?: string;\n checkoutExpress: IModuleProps;\n waiting?: React.ReactNode;\n alert?: React.ReactNode;\n addPaymentForm?: React.ReactNode;\n overlayModal?: ICheckoutExpressOverlayModal;\n isVisible?: boolean;\n}\n\nconst zeroAmount = 0;\n\nconst moduleClassName = 'ms-checkout-express';\n\n/**\n *\n * CheckoutExpress component.\n * @extends {React.Component>}\n */\n// @ts-expect-error - existing code.\n@withModuleState\n@observer\nexport class CheckoutExpress extends React.PureComponent {\n\n @computed public get amountDue(): number {\n const {\n data: {\n checkout\n }\n } = this.props;\n if (!checkout.result) {\n return 0;\n }\n\n const checkoutResult = checkout.result;\n const cart = checkoutResult.checkoutCart.cart;\n if (!cart.CartLines || !ArrayExtensions.hasElements(cart.CartLines)) {\n return 0;\n }\n\n // Use the express checkout for all amount.\n return (cart.TotalAmount ?? zeroAmount);\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get isCartContainsItemsForShipping(): boolean {\n const pickupDeliveryModeCode = this.props.context.request.channel?.PickupDeliveryModeCode;\n const emailDeliveryModeCode = this.props.context.request.channel?.EmailDeliveryModeCode;\n\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const isRetailMultiplePickUpOptionEnabled = featureState.result\n ?.find(feature => feature.Name === multiplePickupStoreSwitchName)?.IsEnabled;\n const cartLines = this.props.data.checkout.result?.checkoutCart.cart.CartLines ?? [];\n\n return isRetailMultiplePickUpOptionEnabled ? cartLines.some(\n (cartLine: CartLine) => (cartLine.DeliveryMode !== channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\n deliveryMode => deliveryMode === cartLine.DeliveryMode) && cartLine.DeliveryMode !== emailDeliveryModeCode)\n ) : cartLines.some(\n (cartLine: CartLine) => (cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode)\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get isCartHasSelectedDeliveryMethods(): boolean {\n const cartLines = this.props.data.checkout.result?.checkoutCart.cart.CartLines ?? [];\n\n return cartLines.every(\n (cartLine: CartLine) => !!cartLine.DeliveryMode\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get asyncResultStatus(): AsyncResultStatus | undefined {\n const isLoading = Object.values(this.props.data).some(data => get(data, 'status') === AsyncResultStatusCode.LOADING);\n if (isLoading) {\n return AsyncResultStatusCode.LOADING;\n }\n\n const isSuccess = Object.values(this.props.data).every(data => get(data, 'status') === AsyncResultStatusCode.SUCCESS);\n if (isSuccess) {\n return AsyncResultStatusCode.SUCCESS;\n }\n\n const isFailed = Object.values(this.props.data).some(data => get(data, 'status') === AsyncResultStatusCode.FAILED);\n if (isFailed) {\n return AsyncResultStatusCode.FAILED;\n }\n\n return undefined;\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get hasSelectedItem(): boolean {\n return !!get(this.props.data, 'checkoutState.result.tokenizedPaymentCard');\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get isPaymentVerificationRedirection(): boolean {\n const { requestFormData, query } = this.props.context.request;\n return !!((requestFormData && query && query.pv === '1'));\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility -- Public value.\n @computed get requestUrlOrigin(): string {\n const origin = window.location.origin;\n const propsRequestUrl = this.props.context.request.url.requestUrl;\n const requestUrl =\n typeof propsRequestUrl === 'string' ? new URL(propsRequestUrl) : propsRequestUrl;\n\n return origin || requestUrl.origin;\n }\n\n // eslint-disable-next-line react/state-in-constructor -- Existing code.\n public state: ICheckoutExpressState = {\n isFetchingPaymentConnector: true\n };\n\n private readonly moduleClassName: string = 'ms-checkout-payment-instrument';\n\n private readonly iframeRef: React.RefObject