{"version":3,"sources":["webpack:///src/modules/password-reset-verification/components/password-reset-verification-loading-message.tsx?97ae","webpack:///src/modules/sign-up/components/sign-up-success.tsx?be19","webpack:///./src/themes/gardner-theme-b2c/views/account-profile.view.tsx?2237","webpack:///src/modules/sign-up/components/sign-up-input.tsx?49f8","webpack:///src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?e178","webpack:///src/modules/account-customer-balance-tile/index.ts?038c","webpack:///src/modules/account-address-tile/components/index.ts?24f7","webpack:///src/modules/account-customer-balance-tile/components/account-customer-balance-tile-info.tsx?a91f","webpack:///./src/themes/gardner-theme-b2c/views/content-block.view.tsx?3e51","webpack:///src/modules/account-address-tile/account-address-tile.view.tsx?0b73","webpack:///src/modules/account-address-tile/index.ts?effb","webpack:///src/modules/interactive-feature-item/interactive-feature-item.view.tsx?d4e3","webpack:///src/modules/loyalty-terms/components/index.ts?508b","webpack:///./src/themes/gardner-theme/views/business-organization-list.view.tsx?ad18","webpack:///src/modules/b2b-requests-tile/components/account-b2b-requests-tile-links.tsx?4f55","webpack:///src/modules/b2b-requests-tile/b2b-requests-tile.tsx?ce42","webpack:///src/modules/account-profile/index.ts?8c04","webpack:///./src/themes/gardner-theme-b2c/views/order-confirmation.view.tsx?ff4b","webpack:///./src/themes/gardner-theme-b2c/views/business-organization-list.view.tsx?ec68","webpack:///src/modules/password-reset-verification/components/password-reset-verification-button.tsx?d3bb","webpack:///src/modules/accordion-item/accordion-item.view.tsx?b04f","webpack:///./src/themes/gardner-theme/views/write-review.view.tsx?9fd7","webpack:///src/modules/account-loyalty-tile/components/index.ts?c444","webpack:///src/modules/account-profile-edit/components/account-profile-edit-button.tsx?8f71","webpack:///src/modules/accordion-item/accordion-item.tsx?fc54","webpack:///src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?d781","webpack:///src/modules/loyalty-sign-up/loyalty-sign-up.tsx?f29d","webpack:///src/modules/aad-generic/aad-generic.view.tsx?ecad","webpack:///src/modules/password-reset-verification/components/password-reset-verification-error.tsx?5cfd","webpack:///src/modules/password-reset-verification/components/password-reset-verification-success.tsx?8c35","webpack:///src/modules/account-customer-balance-tile/account-customer-balance-tile.view.tsx?955a","webpack:///./src/themes/gardner-theme/views/order-confirmation.view.tsx?fd9b","webpack:///src/modules/accordion/accordion.view.tsx?8c70","webpack:///./src/themes/gardner-theme/views/sign-up.view.tsx?ffcc","webpack:///src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?c387","webpack:///src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?3c8d","webpack:///src/modules/account-wishlist-tile/account-wishlist-tile.tsx?8a2b","webpack:///src/modules/b2b-requests-status/b2b-requests-status.view.tsx?afa7","webpack:///src/modules/loyalty-sign-up/index.ts?408b","webpack:///src/modules/sign-up/components/sign-up-error.tsx?9100","webpack:///src/modules/sign-in/index.ts?5400","webpack:///src/modules/account-profile-edit/components/account-profile-edit-label.tsx?505c","webpack:///./src/themes/gardner-theme/views/content-block.view.tsx?2e10","webpack:///src/modules/account-loyalty-tile/index.ts?b609","webpack:///src/modules/sign-up/sign-up.tsx?f918","webpack:///src/modules/business-organization-list/business-organization-list.view.tsx?8701","webpack:///src/modules/aad-generic/aad-generic.tsx?d537","webpack:///src/modules/business-organization-list/business-organization-list.tsx?b6f5","webpack:///./src/themes/gardner-theme/views/components/invoice-details-products.component.tsx?1184","webpack:///src/modules/account-customer-balance/components/account-actions.tsx?bbe9","webpack:///src/modules/account-customer-balance/components/account-statement-request-modal.tsx?cf6e","webpack:///src/modules/account-customer-balance/components/index.tsx?9c6a","webpack:///src/modules/account-customer-balance-tile/components/account-customer-balance-tile-links.tsx?5f47","webpack:///src/modules/sign-up/components/sign-up-button.tsx?4a5f","webpack:///src/modules/account-generic-tile/account-generic-tile.tsx?4504","webpack:///src/index.ts?c6ae","webpack:///src/modules/account-address-tile/account-address-tile.tsx?4565","webpack:///src/modules/password-reset-verification/components/password-reset-verification-label.tsx?70a3","webpack:///src/modules/account-profile-edit/components/account-profile-edit-error.tsx?a0b2","webpack:///./src/themes/gardner-theme/views/sign-in.view.tsx?1369","webpack:///src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?5927","webpack:///src/modules/account-customer-balance-tile/account-customer-balance-tile.tsx?9383","webpack:///src/modules/adventureworks/views/business-organization-list.view.tsx?dcc4","webpack:///src/modules/sign-up/components/sign-up-loading-icon.tsx?9dc7","webpack:///src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?ed3f","webpack:///src/modules/account-generic-tile/account-generic-tile.view.tsx?bca1","webpack:///./src/themes/gardner-theme-b2c/views/sign-in.view.tsx?1764","webpack:///src/modules/sign-up/sign-up.view.tsx?e4b6","webpack:///src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?90af","webpack:///src/modules/account-profile-edit/account-profile-edit.view.tsx?72b7","webpack:///src/modules/sign-up/components/index.ts?0666","webpack:///src/modules/password-reset-verification/components/password-reset-verification-loading-icon.tsx?7944","webpack:///./src/modules/payment-container/context/payment-context.tsx?efaa","webpack:///./src/themes/gardner-theme/views/checkout-payment-instrument.view.tsx?6b89","webpack:///src/modules/b2b-requests-status/index.ts?e772","webpack:///src/modules/password-reset-verification/password-reset-verification.tsx?9795","webpack:///src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?58da","webpack:///./src/themes/gardner-theme-b2c/views/write-review.view.tsx?e706","webpack:///src/modules/account-welcome-tile/index.ts?2bd4","webpack:///src/modules/interactive-feature-item/components/links.tsx?8ab2","webpack:///src/modules/interactive-feature-item/interactive-feature-item.tsx?340f","webpack:///src/modules/account-loyalty/index.ts?6823","webpack:///./src/themes/gardner-theme-b2c/views/sign-up.view.tsx?1185","webpack:///src/modules/interactive-feature-collection/interactive-feature-collection.tsx?2538","webpack:///./src/themes/gardner-theme/views/checkout-customer-account-payment.view.tsx?a50a","webpack:///src/modules/sign-up/index.ts?7cfc","webpack:///src/modules/loyalty-terms/components/loyalty-terms-modal.tsx?c84d","webpack:///src/modules/account-customer-balance-tile/components/index.ts?1499","webpack:///src/modules/loyalty-terms/loyalty-terms.tsx?0629","webpack:///./src/themes/gardner-theme/views/invoice-details.view.tsx?aa0d","webpack:///./src/themes/gardner-theme/views/account-profile.view.tsx?fc1f","webpack:///src/modules/account-customer-balance/account-customer-balance.tsx?da17","webpack:///src/modules/business-organization-list/components/small-components.tsx?104e","webpack:///src/modules/account-welcome-tile/account-welcome-tile.tsx?abcf","webpack:///src/modules/account-wishlist-tile/index.ts?b510","webpack:///src/modules/map/map.tsx?e2df","webpack:///src/modules/account-address-tile/components/account-address-tile-description.tsx?88b9","webpack:///src/modules/account-generic-tile/components/account-generic-tile-links.tsx?e4df","webpack:///src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?7b53","webpack:///src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?5371","webpack:///src/modules/account-order-templates-tile/account-order-templates-tile.tsx?db71","webpack:///src/modules/account-profile/components/index.ts?41ea","webpack:///src/modules/b2b-requests-tile/b2b-requests-tile.view.tsx?949e","webpack:///src/modules/accordion/accordion.tsx?45c1","webpack:///src/modules/password-reset-verification/components/password-reset-verification-input.tsx?6596","webpack:///src/modules/account-welcome-tile/account-welcome-tile.view.tsx?a13c","webpack:///src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?2c6f","webpack:///src/modules/loyalty-terms/loyalty-terms.view.tsx?5155","webpack:///src/modules/account-address-tile/components/account-address-tile-links.tsx?7e3f","webpack:///src/modules/map/map.view.tsx?cd35","webpack:///src/modules/sign-up/components/sign-up-loading-message.tsx?1a3b","webpack:///src/modules/account-customer-balance/index.tsx?fe9b","webpack:///src/modules/account-profile-edit/components/account-profile-edit-input.tsx?3bba","webpack:///src/modules/account-order-templates-tile/index.ts?21a3","webpack:///src/modules/sign-in/components/index.ts?3da2","webpack:///src/modules/b2b-requests-status/components/b2b-requests-table.tsx?6d33","webpack:///src/modules/b2b-requests-status/b2b-requests-status.tsx?692d","webpack:///src/modules/password-reset-verification/password-reset-verification.view.tsx?9e1f","webpack:///src/modules/account-customer-balance/account-customer-balance.view.tsx?35d2","webpack:///src/modules/loyalty-terms/index.ts?01e8","webpack:///src/modules/sign-up/components/sign-up-label.tsx?a805","webpack:///src/modules/b2b-requests-tile/index.ts?ef19","webpack:///src/modules/account-profile-edit/account-profile-edit.tsx?a9d6","webpack:///src/modules/adventureworks/views/order-template-list.view.tsx?86a3"],"names":["PasswordResetVerificationLoadingMessage","_ref","className","message","React","SignUpSuccess","id","type","successClassName","classnames","role","AccountPreferencesSection","accountPreferences","heading","personalization","extraPreferences","Node","Object","assign","AccountPreferenceSection","map","preferenceSecton","index","key","_ref2","accountPreference","description","buttonWrapper","buttonYesText","button","buttonNoText","AccountProfileSection","_ref3","AccountProfileItem","links","AccountProfileView","props","AccountProfile","accountProfileWrapper","emailSection","nameSection","preferenceSection","customerAttributesWrapper","customerAttributesSection","Module","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignUpInput","value","pattern","onChange","undefined","AccountProfileEditLoadingIcon","ErrorComponent","error","CreditComponent","verbagePrefix","verbagePostfix","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","item","additionalContentItemContainer","text","additionalContentItemLinks","contentBlockView","contentBlockContainer","imageContainer","detailsContainer","title","image","contentBlockAnchorTag","imageLink","imageAriaLabel","imageClass","src","href","AccountAddressTileView","AccountAddressTile","MagicNumber","FeatureItemViewComponent","isMosaic","featureItem","indexItem","itemCounter","renderMosaic","thisProps","paragraph","interactiveFeatureCollectionMosaicContainer","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","renderCarousel","BusinessFormItemComponent","wrapper","label","errorMessage","input","renderModal","isModalOpen","headingSection","bodySection","footerSection","toggleModal","Modal","wrapClassName","autoFocus","fade","applicationNode","isOpen","toggle","ModalHeader","ModalBody","ModalFooter","BusinessUserFormComponent","modalClassName","FormWrapper","modalHeading","modalDescription","inputs","buttons","modalBody","toString","modalFooter","BusinessUserDetailsComponent","resources","selectedUser","FirstName","LastName","userFullName","tag","keys","data","InputID","BusinessOrganizationListComponent","OrganizationUserList","moduleContainer","noUsersText","addUserButton","organizationListTable","form","formType","requestAccountStatementButton","requestStatementModal","buttonList","headingForEmptyUserOrganizationList","textForEmptyUserOrganizationList","getForm","formProps","B2bRequestsTileLinks","telemetryContent","onTextChange","requestContext","ArrayExtensions","hasElements","editableLinks","_mapEditableLinks","Msdyn365","editProps","linkdata","payLoad","getPayloadObject","link","contentAction","etext","linkText","attributes","getTelemetryAttributes","ariaLabel","linkUrl","destinationUrl","openInNewTab","additionalProperties","B2bRequestsTile","constructor","super","handleHeadingChange","event","this","config","target","handleLinkTextChange","linkIndex","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","isChannelTypeB2B","actionContext","viewProps","_objectSpread","b2bRequestsTile","moduleProps","onEdit","renderView","OrderConfirmationOrderInfomation","orderInformationProps","receiptEmail","createdDate","OrderConfirmationSalesLine","salesLineProps","salesLine","buyAgainButton","OrderConfirmationGroupDelivery","deliveryProps","count","processing","address","trackingInfo","pickupDateTimeslot","OrderConfirmationGroup","_ref4","groupProps","delivery","salesLinesProps","salesLines","shippingItemsToYou","LineId","OrderConfirmationGroups","_ref5","groupsProps","groups","group","OrderConfirmationOrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","OrderConfirmationPayment","_ref7","paymentMethodsProps","methods","totalOnAccount","OrderConfirmationHelp","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","OrderConfirmationView","_props$data$orderHydr","backToShoppingLink","alert","loading","orderInfomation","orderSummary","payment","help","cultureFormatter","formatCurrency","tenderLines","orderHydration","result","salesOrder","TenderLines","tl","AmountInCompanyCurrency","reduce","num","total","console","log","PasswordResetVerificationButton","disabled","onClick","Button","_renderAccordionItemContent","items","length","AccordionItemView","drawer","accordionSlots","AccordionItemContainer","AccordionItemContent","accordionItemContent","renderProductDescription","product","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","apiSettings","Image","fallBackSrc","loadFailureBehavior","gridSettings","imageSettings","viewports","xs","q","w","h","sm","md","lg","xl","lazyload","cropFocalRegion","renderProductImage","Name","ItemId","WriteReviewView","signInMessage","signInButton","modalToggle","isAuthenticated","user","RichTextComponent","reviewModal","modal","modalHeader","inputRow","selectRatingLabel","rating","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","submitButton","cancelButton","createReviewModal","AccountProfileEditButton","AccordionItem","moduleClassName","accordionItemTitle","_onToggle","bind","shouldComponentUpdate","nextProps","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","ControlledDrawer","toggleButtonText","collapseProps","onToggle","state","interactionStyle","accordionState","update","createAccordionStateInput","__decorate","observer","SignUpText","createElement","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","clicked","setState","IssueLoyaltyInput","issueLoyalty","then","MsDyn365","isBrowser","window","location","catch","debug","TelemetryConstant","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","nextState","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","loyaltyCard","hasLoyaltyAccount","CardTenderTypeValue","customerInformation","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","params","isEditor","status","signInLink","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","aadGeneric","aadConainer","aadAPIConainer","PasswordResetVerificationError","errorClassName","PasswordResetVerificationSuccess","AccountCustomerBalanceTileView","AccountCustomerBalanceTile","content","_orderHydration$resul","_orderHydration$resul2","_salesOrder$SalesLine","SalesLines","so","Description","Price","Quantity","TotalAmount","accordionView","AccordionContainer","accordionItems","accordionButtons","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionItemContainer","SignUpItem","SignUpEmailVerification","email","successMessage","SignUpGivenNameVerificationComponent","givenName","SignUpSurnameVerificationComponent","surname","SignUpLoading","icon","SignUpView","signUp","viewState","defaultAADConainer","signUpLocalAccount","isShowLoading","localAccount","emailVerification","givenNameVerification","surnameVerification","disclaimer","isRequired","verificationControlWrapper","LocalAccount","IAccountWishlistTileDescription","forEach","editableLink","push","AccountWishlistTileLinks","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","format","LinksComponent","DescriptionComponent","B2bRequestsStatusView","b2bRequestsStatus","table","SignUpError","AccountProfileEditLabel","forId","htmlFor","handleParagraphChange","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","isInitialized","obj","ID","toLowerCase","isEmailVerificationRequried","templateVersion","emailRegex","PAT","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","newPasswordRegex","reenterPasswordRegex","UX_INPUT_TYPE","PAT_DESC","invalidPasswordError","invalidEmailAddressError","errorMessages","required_field","requiredFieldMissingError","getValue","v1Value","v2Value","EmailRegex","defaultRegex","source","PasswordRegex","componentDidMount","componentDidUpdate","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","loadingMessage","style","display","_renderLocalAccount","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","emailAddressLabelText","passwordLabelText","confirmPasswordLabelText","verificationCodeLabelText","SignUpButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","requiredFieldMissingSummaryError","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","passwordEntryMismatchError","fieldIncorrectError","labelText","cssClassName","SignUpLabelComponent","SignUpInputComponent","observable","BusinessFormItem","BusinessUserForm","_renderModal","BusinessUserDetails","BusinessOrganizationList","ButtonList","_getForm","AadGeneric","$i2e","$element","insertServiceContent","getElementContent","initialize","FormType","InputType","renderInputSection","asteriskAfterLabel","onInputChange","element","customClass","maxChars","isDisabled","fieldReference","FormLabel","asteriskText","FormFieldError","FormInput","placeholder","_this$props$config","BusinessFormDefaultInputs","Text","businessUserFirstNameLabelText","businessUserLastNameLabelText","Email","businessUserEmailAddressLabelText","SpendingLimit","businessUserSpendingLimitLabelText","delayFocus","formChildReference","userFormEditReference","userFormDeleteReference","_handleAddUserButtonClicked","newForm","formItems","newUser","B2BUserId","Random","Guid","generateGuid","isFormActive","Add","referenceBack","addUserButtonReference","current","hasFormError","hasActionError","selectedUserData","_handleAddEditFormSaveButton","async","updatedUser","_createBusinessPartner","Edit","editOrganizationUser","EditOrganizationUserInput","reload","trace","addOrganizationUser","AddOrganizationUserInput","businessUserActionRetailErrorMsg","parseFloat","_handleEditIcon","userData","possibleName","find","cell","fullName","lastSpaceIndex","lastIndexOf","firstName","substring","lastName","possibleCell","dataCell","_handleDeleteIcon","displayedUserData","TableDataType","Remove","_handleViewDetails","View","_handleRemoveUserButton","deleteUserData","deleteOrganizationUser","DeleteOrganizationUserInput","None","callbackRemoveButton","_onInputChange","prev","refresh","isReady","_isFormReady","formItem","match","_formatPrice","price","_getCurrentUrl","reqContext","URL","url","requestUrl","_getViewport","device","Type","innerWidth","_toggleStatementRequestDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_showRequestStatementModal","isFullOrg","statementRequestFullOrg","isStatementRequestModalOpen","_requestStatement","customer","currentUser","users","_getB2BUserId","statementRequest","FromDate","Date","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","callerContext","BusinessPartnerUsersDataActions","requestAccountStatementAsync","_closeStatementRequestModal","_this$statementReques","statementRequestButtonReference","focus","_onSelectRow","records","selectedRow","rowProps","isSelected","row","_toggleModal","mobileExcludedColumns","Status","_viewport","_updateViewport","submitButtonReference","addedReference","statementRequestMaxDateString","toISOString","split","StringExtensions","isNullOrWhitespace","businessUserSelectedUserDisplayName","replace","addEventListener","componentWillUnmount","removeEventListener","_this$formChildRefere","_this$submitButtonRef","_this$props$data$cust","businessUserAddUserButtonText","businessUserLoadingMessage","businessUserEmptyListMessage","businessUserErrorGettingUsersMessage","userAccountStatementLabel","fullOrganizationLabel","requestStatementButtonLabel","statementRequestModalHeaderLabel","cancelLabel","fromDateLabel","toDateLabel","submitRequestLabel","sendToEmailLabel","selectedUserLabel","hasUsers","AddUser","addUserAttributes","errorProps","Heading","headingTag","innerRef","modalState","Table","_createTableProps","_renderUserForm","_renderUserDetails","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","RequestStatementModal","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","canSubmitStatementRequest","modalHeaderLabel","onSubmitRequest","selectedOrganizationLabel","selectedUserName","modalAriaLabel","maxDateString","tableSort","showPagination","paginationItemPerPage","businessUserPaginationNextButtonText","businessUserPaginationPreviousButtonText","businessUserEditButtonText","businessUserViewUserButtonText","businessUserDeleteButtonText","businessUserActionButtonText","businessUserPaginationAriaLabel","columnSortAriaLabel","tableData","_createTableItems","headings","isMobile","includes","name","sortable","rows","editLinkText","deleteLinkText","viewLinkText","editLinkTooltip","deleteLinkTooltip","viewLinkTooltip","enableToModify","actionLinkText","showCheckBoxes","isSortable","resourcePrefix","minifyActions","excludedColumns","paginationProperty","skipCount","query","skip","itemPerPage","prevText","nextText","paginationText","isSingleSelectOnly","tableAriaLabel","tableTabIndex","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","actions","onDelete","onView","formatPrice","checkBoxCallback","businessUserActiveStatusText","businessUserPendingStatusText","businessUserRemovedStatusText","usersList","statusString","StatusValue","FullName","buttonReferences","edit","delete","_this$state$reference","businessUserRemoveModalHeaderText","businessUserRemoveModalDescription","businessUserViewModalHeaderText","businessUserCancelButtonText","businessUserCancelRemoveUserButtonText","businessUserRemoveUserButtonText","businessUserErrorUpdatingUsersMessage","formClassName","typeClassName","handleRemoveButton","businessUserEditUserFormHeadingText","businessUserAddUserFormHeadingText","businessUserSaveButtonArialabel","businessUserSaveButtonText","businessUserCancelButtonArialabel","businessUserFieldIncorrectErrorText","businessUserActionErrorText","businessUserAllFieldsRequiredMessage","FormButton","computed","InvoiceDetailsModel","invoice","invoiceDetails","products","Id","invoiceDate","InvoiceDate","customerName","CustomerName","dueDate","InvoiceDueDate","amountDue","AmountBalance","InvoicePaidStatusValue","lines","SalesInvoiceLine","line","_products$find","primaryImageUrl","RecordId","totalDiscount","TotalDiscount","InvoiceSubtotal","totalCharges","TotalCharges","totalTax","TotalTaxAmount","currencyCode","CurrencyCode","InvoicePaidStatus","Paid","formatAmount","amount","InvoiceDetailsProductsComponent","msdyn365Commerce","createComponent","component","productLineClass","productLineInfoContainerClass","productLineDetailsClass","productLineSmallDetailsClass","quantity","productUrl","ObjectExtensions","isNullOrUndefined","ProductName","getProductPageUrlSync","_renderProductImage","fallbackImage","getFallbackImageUrl","altText","_renderProductDimensions","ColorName","invoiceProductColor","SizeName","invoiceProductSize","StyleName","invoiceProductStyle","invoiceQuantity","NetAmount","ActionBar","onSelectCustomerAccount","onSelectFullOrg","popoverReference","requestStatementDropdownString","Popover","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","isFunction","onBlurToDate","horizontalPosition","verticalPosition","onBlur","max","min","AccountLabels","accountNumber","customerSincePrefix","createdOn","AccountValues","availableCredit","availableCreditLabel","AvailableCreditComponent","BalanceOwedComponent","balanceOwedLabel","balanceOwed","CreditExcessComponent","creditExcessLabel","creditExcess","BackButton","BackToShopping","AccountCustomerBalanceTileLinks","SignUpButton","AccountGenericTile","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","addressCount","accountAddressTileDescription","PasswordResetVerificationLabel","AccountProfileEditError","SignInLoading","SignInView","signIn","signInSection","signInSectionHeading","signInLocalAccount","signInB2BAccount","forgetPassword","socialAccounts","B2BAccount","interactiveFeatureCollectionView","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionDesktopItems","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionMobileContainer","singleSlideCarouselComponentProps","singleSlideCarouselItemContainer","tileItem","keyIndex","_initState","reaction","hasError","apiGenericErrorMessage","get","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BSite","enableCustomerAccountPayment","isCustomerAccountPaymentEnabled","isDetailsLinkDisplayed","account","Balance","CreditLimit","InvoiceAccountBalance","InvoiceAccountCreditLimit","noCreditErrorMessage","accountCreditVerbagePrefix","accountCreditVerbagePostfix","customerCredit","customerCreditFormatted","toFixed","SignUpLoadingIcon","LoyaltySignUpView","AccountGenericTileView","signUpDescription","signUpLink","signUpSection","signUpSectionHeading","AccountOrderTemplatesTileView","AccountOrderTemplatesTile","AccountProfileEditItem","AccountProfileEditLoading","AccountProfileEditView","accountProfileEdit","accountProfileEditLocalAccount","buttonsWrapper","verificationSuccessModal","verificationSuccessModalMessage","PasswordResetVerificationLoadingIcon","_errorMsg","PaymentContext","createContext","paymentModules","selectedPayment","registerPaymentMethod","elementId","tenderTypeList","Error","setSelectedPaymentState","paymentTenderType","Consumer","PaymentConsumer","Provider","PaymentProvider","OverlayModal","CheckoutPaymentInstrumentView","checkoutPaymentInstrument","waiting","paymentInformation","addPaymentForm","overlayModal","tenderType","_objectWithoutProperties","_excluded","paymentContext","paymentTenderTypes","tt","tenderTypeId","tenderId","tenderName","PasswordResetVerification","passwordResetVerification","PasswordResetVerificationLoadingIconComponent","PasswordResetVerificationLoadingMessageComponent","passwordResetVerificationLocalAccount","verifying_blurb","PasswordResetVerificationSuccessComponent","PasswordResetVerificationErrorComponent","verificationButtonsWrapper","verificationButtons","PasswordResetVerificationButtonComponent","continueButtonAriaLabel","continueButtonText","cancelButtonAriaLabel","PasswordResetVerificationLabelComponent","PasswordResetVerificationInputComponent","AccountWishlistTileView","InteractiveFeatureCollectionLinks","onTelemetryClick","InteractiveFeatureItem","_telemetryContent","_this$props$config$li","featureItemLinks","_createHeading","_createParagraph","_renderImage","tabindex","_heading$tag","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$im","verifiedImageSettings","moduleType","typeName","imagePropertyName","InteractiveFeatureCollection","handleTextChange","itemsCounter","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","_getFeatureItem","SummaryForm","paymentAmount","addPaymentButton","appliedLine","bottomBorder","EditForm","inputLabel","inputAmount","customerAccountNumber","customerSince","accountCredit","accountDetails","getInputLabel","customInputLabel","CheckoutCustomerAccountView","checkoutCustomerAccount","summaryView","editView","moduleState","_document$querySelect","sessionStorage","removeItem","processedOnAccountText","document","querySelector","getItem","setItem","checkoutState","checkout","cartTotal","checkoutCart","cart","updateCustomerAccountAmount","newAmount","information","addPayment","LoyaltyTermsModal","LoyaltyTermsCancel","loyaltyTermCancelAttributes","LoyaltyTermsSubmit","loyaltyTermSubmitAttributes","LoyaltyTermsAgree","loyaltyTermCheckboxAttributes","returnFocusRef","returnRef","cancelLoyaltyTermsText","onSubmit","checked","joinLoyaltyTermsText","loyaltyTermsHeading","terms","agreeSection","checkbox","onCheck","agreeText","loyaltyAgreeToTerms","LoyaltyTerms","_toggle","_submit","_checkboxChecked","toggleRef","search","isJoining","qsps","qsp","splitQsp","hideToggle","serviceTerms","joinLoyaltytermsToggleText","CardNumber","card","redirectToLoyalty","getUrlSync","getLoyaltyCardAsync","fullCard","GetLoyaltyCardInput","InvoiceDetailsView","header","paymentDetails","payInvoiceError","setInvoiceDetails","setProducts","getProducts","productInputs","invDetails","invoiceDetailsModel","getInvoiceDetails","filter","ProductInput","channelId","simpleProductsRes","getSimpleProductsAction","renderProducts","AccountCustomerBalance","_toggleDropdown","_adminShowRequestStatementModal","_this$props$data$b2bU","b2bUserInformation","_get","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","myAccountStatementLabel","AccountNumber","_formatJoinDate","CreatedDateTime","customerAccountBalance","excess","_formatCurrency","backLink","emailAddress","actionBar","IsB2bAdmin","accountLabels","accountValues","homeButton","currency","date","Intl","DateTimeFormat","locale","month","day","year","ref","AccountWelcomeTile","accountInfo","accountInformation","Map","mapRef","_initMap","channel","storeSelectorStateManager","isMapApiLoaded","Microsoft","Maps","credentials","BingMapsApiKey","pushpinAccessible","Events","addHandler","setSelectedStoreLocationId","_updateMap","_this$props$data$stor","_storeSelectorStateMa","pushpinOptions","orgUnitStoreInformation","selectedStoreLocationId","mapLocation","entities","clear","pushpins","storeLocationList","store","OrgUnitAvailability","unitStoreInfo","entries","_unitStoreInfo$OrgUni","storeLocation","OrgUnitLocation","Latitude","Longitude","isSelectedLocation","OrgUnitNumber","options","_getPushpinOptions","pushpin","Pushpin","Location","handleClickEvent","unshift","currentLocation","setView","center","bounds","LocationRect","fromShapes","setOptions","orgUnitNumber","showIndex","size","color","selectionColor","_getSvgIcon","_this$props$data$stor2","BingMapsEnabled","when","_this$props$data$stor3","setMapModuleLoaded","_this$props$data$stor4","_this$props$data$stor5","loadMapApi","_this$props$data$stor6","_this$props$context","lang","market","ChannelCountryRegionISOCode","_this$props$data$stor7","_this$props$data$stor8","_this$props$data$stor9","shouldDisplayMap","listMapViewState","displayMap","ModuleProps","show","Header","headerProps","MapProps","IAccountAddressTileDescription","AccountGenericTileLinks","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","B2bRequestsTileView","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","headingComponent","accordionViewProps","_renderAccordionButton","_getAccordionItem","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","_this$collapseAllButt","_this$expandAllButton","PasswordResetVerificationInput","AccountWelcomeTileView","AccountProfileEditLoadingMessage","LoyaltyTermsView","AccountAddressTileLinks","MapHeader","MapView","SignUpLoadingMessage","AccountProfileEditInput","RequestsTableColumnHeader","getUserName","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","formatDate","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","operationRequests","_request$TypeValue","_request$StatusValue","b2bRequestsTypeColumn","b2bRequestsRequestDateColumn","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","createTableItems","b2bRequestsPreviousText","b2bRequestsNextText","B2bRequestsTable","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","PasswordResetVerificationItem","PasswordResetVerificationLoading","PasswordResetVerificationView","creditSummaryLabels","creditSummaryValues","SignUpLabel","AccountProfileEdit","onTextBoxChange","PRE","_htmlDecode","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","str","e","innerHTML","childNodes","nodeValue","AccountProfileEditErrorComponent","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","showEmail","AccountProfileEditLabelComponent","AccountProfileEditInputComponent","OrderTemplateListViewComponent","OrderTemplateList","OrderTemplates","OrderTemplate","statusMessage","createOrderTemplateButton","templateHeaderStatusMessage","headingForEmptyOrderTemplateList","textForEmptyOrderTemplateList","orderTemplate","renderOrderTemplate","orderTemplateNodeProps","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","removeButton","orderTemplateName","orderTemplateImageElement","currentImageListLength","children"],"mappings":"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","file":"static/js/8.55be91f4e4096354150a.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetVerificationLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetVerificationLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface ISignUpSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default SignUpSuccess;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAccountPreference, IAccountPreferences, IAccountProfileItem, IAccountProfileViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/account-profile/./account-profile';\r\n\r\nconst AccountPreferencesSection: React.FC = ({\r\n accountPreferences,\r\n heading,\r\n personalization,\r\n extraPreferences\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n \r\n {\r\n extraPreferences && extraPreferences.map((preferenceSecton, index) => {\r\n return ;\r\n })\r\n }\r\n \r\n );\r\n};\r\n\r\nconst AccountPreferenceSection: React.FC = ({\r\n accountPreference,\r\n heading,\r\n description,\r\n buttonWrapper,\r\n buttonYesText,\r\n button,\r\n buttonNoText\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {description}\r\n \r\n {buttonNoText}\r\n {button}\r\n {buttonYesText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AccountProfileSection: React.FC = ({\r\n AccountProfileItem,\r\n heading,\r\n links,\r\n description\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {description}\r\n {/*{links}*/}\r\n \r\n );\r\n};\r\n\r\nconst AccountProfileView: React.FC = props => {\r\n const { AccountProfile, accountProfileWrapper, heading, emailSection, nameSection, preferenceSection, customerAttributesWrapper, customerAttributesSection } = props;\r\n\r\n return (\r\n \r\n {accountProfileWrapper && (\r\n {heading}\r\n \r\n \r\n \r\n \r\n )}\r\n {customerAttributesWrapper && (\r\n {customerAttributesSection}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AccountProfileView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignUpInputProps {\n id?: string;\n hasFocus?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface ISignUpInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst SignUpInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default SignUpInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountCustomerBalanceTile from './account-customer-balance-tile';\nimport AccountCustomerBalanceTileView from './account-customer-balance-tile.view';\n\nexport * from './account-customer-balance-tile';\nexport * from './account-customer-balance-tile.data';\nexport {\n IAccountCustomerBalanceTileConfig,\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileResources\n} from './account-customer-balance-tile.props.autogenerated';\nexport * from './account-customer-balance-tile.view';\nexport * from './components';\n\nexport { AccountCustomerBalanceTile, AccountCustomerBalanceTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './account-address-tile-description';\nexport * from './account-address-tile-links';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceTileInfo {\n label?: string;\n value?: string;\n verbagePrefix?: string;\n verbagePostfix?: string;\n className?: string;\n error?: string;\n}\n\nexport const ErrorComponent: React.FC = ({ error }) => (\n {error}\n);\n\nexport const CreditComponent: React.FC = ({ verbagePrefix, verbagePostfix, value, className }) => {\n return (\n
\n {verbagePrefix}\n {value}\n {verbagePostfix}\n
\n );\n};\n\nexport const InfoComponent: React.FC = ({ label, value, className }) => (\n
\n {label}\n {value}\n
\n);\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps, IContentBlockViewProps\r\n} from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n \r\n {item.links}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render View.\r\n * @param props - The view props.\r\n * @returns -The JSX Element.\r\n */\r\nconst contentBlockView: React.FC = (props) => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent\r\n } = props;\r\n\r\n // @ts-expect-error HTML element need to be clear on run time.\r\n const hasImage: boolean = image.props.src;\r\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n \r\n {image}\r\n \r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\nexport default contentBlockView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountAddressTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountAddressTile from './account-address-tile';\nimport AccountAddressTileView from './account-address-tile.view';\n\nexport * from './account-address-tile';\nexport * from './account-address-tile.data';\nexport {\n IAccountAddressTileConfig,\n IAccountAddressTileProps,\n IAccountAddressTileResources,\n ILinksData\n} from './account-address-tile.props.autogenerated';\nexport * from './account-address-tile.view';\nexport * from './components';\n\nexport { AccountAddressTile, AccountAddressTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './loyalty-terms-modal';\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IBusinessFormItem, IBusinessOrganizationListViewProps, IFormViewProps, InputID } from '@msdyn365-commerce-modules/business-organization-list';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources }\r\n from '../definition-extensions/business-organization-list.ext.props.autogenerated';\r\n\r\n/**\r\n * Business Form Item component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\r\n const {\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n } = props;\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * To render modal.\r\n * @param className - The modal classname.\r\n * @param isModalOpen - The boolean for modal open status.\r\n * @param headingSection - The heading section of modal.\r\n * @param bodySection - The body section of modal.\r\n * @param footerSection - The footer section of modal.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst renderModal = (className: string, isModalOpen: boolean, headingSection: React.ReactNode, bodySection: React.ReactNode, footerSection: React.ReactNode,\r\n toggleModal?: () => void) => {\r\n return (\r\n \r\n \r\n {headingSection}\r\n \r\n \r\n {bodySection}\r\n \r\n \r\n {footerSection}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Business User Form component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\r\n\r\n const modalBody = (\r\n <>\r\n {modalDescription}\r\n \r\n {inputs && inputs.map((item: IBusinessFormItem) => {\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage?.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n );\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * Selected user interface.\r\n */\r\ninterface ISelectedUser {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n FirstName?: string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n LastName?: string;\r\n}\r\n\r\n/**\r\n * Business User Details component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\r\n let modalBody = null;\r\n const selectedUser = props.selectedUser as ISelectedUser | string;\r\n\r\n if (!selectedUser) {\r\n modalBody = errorMessage;\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { FirstName, LastName } = selectedUser as ISelectedUser;\r\n const userFullName = `${FirstName as string} ${LastName as string}`;\r\n\r\n modalBody = (\r\n <>\r\n { modalDescription }\r\n \r\n \r\n {userFullName}\r\n \r\n { Object.keys(selectedUser).map((data, index) => {\r\n if (data === InputID.FirstName || data === InputID.LastName) {\r\n return null;\r\n }\r\n const label = resources[`table${data}HeadingText`] as string || data;\r\n return (\r\n {label}\r\n {': '}\r\n {selectedUser[data]}\r\n );\r\n\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * To get form.\r\n * @param type - The type of form.\r\n * @param formProps - The form props.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\r\n switch (type) {\r\n case 'ADD':\r\n case 'EDIT':\r\n return ;\r\n case 'VIEW':\r\n case 'REMOVE':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\n/**\r\n * Business Organization List component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessOrganizationListComponent: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { OrganizationUserList, moduleContainer, heading, noUsersText, addUserButton, organizationListTable, form, formType,\r\n toggleModal, requestAccountStatementButton, requestStatementModal } = props;\r\n\r\n const buttonList: React.ReactNode =\r\n (\r\n \r\n {addUserButton}\r\n {requestAccountStatementButton}\r\n \r\n );\r\n\r\n if (noUsersText) {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n \r\n {props.resources.headingForEmptyUserOrganizationList}\r\n \r\n \r\n {props.resources.textForEmptyUserOrganizationList}\r\n \r\n {buttonList}\r\n \r\n {requestStatementModal}\r\n {noUsersText}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {buttonList}\r\n {requestStatementModal}\r\n {organizationListTable}\r\n \r\n { form && getForm(formType, form, toggleModal) }\r\n \r\n );\r\n};\r\n\r\nexport default BusinessOrganizationListComponent;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../../..';\n\nexport interface IB2bRequestsTileLinksProps {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst defaultClassName = 'ms-account-b2b-requests-tile';\n\nexport const B2bRequestsTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (!ArrayExtensions.hasElements(links)) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n return linkdata.map(link => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n ariaLabel: link.ariaLabel,\n className: `${defaultClassName}__link`,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n } as Msdyn365.ILinksData;\n });\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileData } from './b2b-requests-tile.data';\nimport { IB2bRequestsTileProps } from './b2b-requests-tile.props.autogenerated';\nimport { B2bRequestsTileLinks } from './components/account-b2b-requests-tile-links';\n\nexport interface IB2bRequestsTileViewProps extends IB2bRequestsTileProps {\n b2bRequestsTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsTile component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IB2bRequestsTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const defaultClassName = 'ms-account-b2b-requests-tile';\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n b2bRequestsTile: {\n moduleProps: this.props,\n className: classnames(defaultClassName, config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: ArrayExtensions.hasElements(links) && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default B2bRequestsTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountProfile from './account-profile';\nimport AccountProfileView from './account-profile.view';\n\nexport * from './account-profile';\nexport * from './account-profile.data';\nexport {\n EmailAddressSectionHeadingTag,\n IAccountProfileConfig,\n IAccountProfileProps,\n IAccountProfileResources,\n IEmailAddressSectionHeadingData,\n INameSectionHeadingData,\n IPersonalizationSectionHeadingData,\n IPreferencesSectionHeadingData,\n NameSectionHeadingTag,\n PersonalizationSectionHeadingTag,\n PreferencesSectionHeadingTag\n} from './account-profile.props.autogenerated';\nexport * from './account-profile.view';\nexport * from './components';\n\nexport { AccountProfile, AccountProfileView };\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHelp, IOrderSummary, IPaymentMethods } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { IGroup, IGroupDelivery, IGroups } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\n\r\ninterface IPaymentMethodsExt extends IPaymentMethods {\r\n totalOnAccount?: string;\r\n}\r\n\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate\r\n // channelReferenceId\r\n}) => (\r\n \r\n {createdDate}\r\n {/* {channelReferenceId} */}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo, pickupDateTimeslot }) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods, totalOnAccount }) => \r\n {title}\r\n {totalOnAccount ?

On Account: {totalOnAccount}

: null}\r\n {methods}\r\n
;\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\n\r\nconst OrderConfirmationView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n context: { cultureFormatter: { formatCurrency }}\r\n } = props;\r\n const tenderLines = props.data.orderHydration.result?.salesOrder.TenderLines;\r\n let totalOnAccount = 0;\r\n if (tenderLines) {\r\n totalOnAccount = tenderLines.map(tl => tl.AmountInCompanyCurrency || 0).reduce((num, total) => num + total, 0);\r\n }\r\n console.log(totalOnAccount);\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && 0 ? formatCurrency(totalOnAccount) : undefined}\r\n />}\r\n {orderSummary && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IBusinessFormItem, IBusinessOrganizationListViewProps, IFormViewProps, InputID } from '@msdyn365-commerce-modules/business-organization-list';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources }\r\n from '../definition-extensions/business-organization-list.ext.props.autogenerated';\r\n\r\n/**\r\n * Business Form Item component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\r\n const {\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n } = props;\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * To render modal.\r\n * @param className - The modal classname.\r\n * @param isModalOpen - The boolean for modal open status.\r\n * @param headingSection - The heading section of modal.\r\n * @param bodySection - The body section of modal.\r\n * @param footerSection - The footer section of modal.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst renderModal = (className: string, isModalOpen: boolean, headingSection: React.ReactNode, bodySection: React.ReactNode, footerSection: React.ReactNode,\r\n toggleModal?: () => void) => {\r\n return (\r\n \r\n \r\n {headingSection}\r\n \r\n \r\n {bodySection}\r\n \r\n \r\n {footerSection}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Business User Form component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\r\n\r\n const modalBody = (\r\n <>\r\n {modalDescription}\r\n \r\n {inputs && inputs.map((item: IBusinessFormItem) => {\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage?.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n );\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * Selected user interface.\r\n */\r\ninterface ISelectedUser {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n FirstName?: string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n LastName?: string;\r\n}\r\n\r\n/**\r\n * Business User Details component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\r\n let modalBody = null;\r\n const selectedUser = props.selectedUser as ISelectedUser | string;\r\n\r\n if (!selectedUser) {\r\n modalBody = errorMessage;\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { FirstName, LastName } = selectedUser as ISelectedUser;\r\n const userFullName = `${FirstName as string} ${LastName as string}`;\r\n\r\n modalBody = (\r\n <>\r\n { modalDescription }\r\n \r\n \r\n {userFullName}\r\n \r\n { Object.keys(selectedUser).map((data, index) => {\r\n if (data === InputID.FirstName || data === InputID.LastName) {\r\n return null;\r\n }\r\n const label = resources[`table${data}HeadingText`] as string || data;\r\n return (\r\n {label}\r\n {': '}\r\n {selectedUser[data]}\r\n );\r\n\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\n const modalFooter = buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n });\r\n\r\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\r\n};\r\n\r\n/**\r\n * To get form.\r\n * @param type - The type of form.\r\n * @param formProps - The form props.\r\n * @param toggleModal - The toggle modal callback function.\r\n * @returns The JSX Element.\r\n */\r\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\r\n switch (type) {\r\n case 'ADD':\r\n case 'EDIT':\r\n return ;\r\n case 'VIEW':\r\n case 'REMOVE':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\n/**\r\n * Business Organization List component.\r\n * @param props - View props.\r\n * @returns The JSX Element.\r\n */\r\nconst BusinessOrganizationListComponent: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n const { OrganizationUserList, moduleContainer, heading, noUsersText, addUserButton, organizationListTable, form, formType,\r\n toggleModal, requestAccountStatementButton, requestStatementModal } = props;\r\n\r\n const buttonList: React.ReactNode =\r\n (\r\n \r\n {addUserButton}\r\n {requestAccountStatementButton}\r\n \r\n );\r\n\r\n if (noUsersText) {\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n \r\n {props.resources.headingForEmptyUserOrganizationList}\r\n \r\n \r\n {props.resources.textForEmptyUserOrganizationList}\r\n \r\n {buttonList}\r\n \r\n {requestStatementModal}\r\n {noUsersText}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {buttonList}\r\n {requestStatementModal}\r\n {organizationListTable}\r\n \r\n { form && getForm(formType, form, toggleModal) }\r\n \r\n );\r\n};\r\n\r\nexport default BusinessOrganizationListComponent;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetVerificationButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n telemetryContent,\n disabled,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetVerificationButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { IWriteReviewData, IWriteReviewViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IWriteReviewProps } from '../definition-extensions/write-review.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Product Image.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst renderProductImage = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\r\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\r\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Product Description.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst renderProductDescription = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const product = props.data.product.result;\r\n return (\r\n \r\n
\r\n {renderProductImage(props)}\r\n
\r\n
\r\n
\r\n {product?.Name}\r\n
\r\n
\r\n {product?.Name}\r\n
\r\n
\r\n {product?.ItemId}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Create Write Review Modal.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst createReviewModal = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const { resources, moduleProps, reviewModal } = props;\r\n\r\n return (\r\n \r\n {reviewModal.modalHeader}\r\n \r\n \r\n \r\n {renderProductDescription(props)}\r\n \r\n
\r\n {resources.selectRatingLabel}\r\n
\r\n {reviewModal.rating}\r\n
\r\n
\r\n \r\n {resources.reviewTitleLabel}\r\n {reviewModal.titleInput}\r\n \r\n \r\n {resources.reviewTextLabel}\r\n {reviewModal.textInput}\r\n \r\n {reviewModal.privacyPolicyUrl}\r\n {reviewModal.error}\r\n
\r\n
\r\n \r\n {reviewModal.submitButton}\r\n {reviewModal.cancelButton}\r\n \r\n
\r\n );\r\n};\r\n\r\n/**\r\n * WriteReview view.\r\n * @param props - WriteReview ViewProps.\r\n * @returns WriteReview view module.\r\n */\r\nconst WriteReviewView: React.FC> = props => {\r\n const { config, heading, signInMessage, signInButton, modalToggle, moduleProps } = props;\r\n const { paragraph } = config;\r\n const isAuthenticated = props.context.request.user.isAuthenticated;\r\n const text = paragraph && ();\r\n\r\n return (\r\n \r\n {heading}\r\n {!isAuthenticated ? <>\r\n {signInMessage}\r\n {signInButton}\r\n : <>\r\n {text}\r\n {modalToggle}\r\n {createReviewModal(props)}\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default WriteReviewView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './account-loyalty-tile-description';\nexport { IAccountLoyaltyTileLinks } from './account-loyalty-tile-links';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport React from 'react';\n\nexport const SignUpText: React.FC<{ text: string }> = (props: { text: string }) => {\n return

{props.text}

;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, * as Msdyn365 from '@msdyn365-commerce/core';\nimport { issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { SignUpText } from './components/loyalty-sign-up-small-components';\nimport { ILoyaltySignUpData } from './loyalty-sign-up.data';\nimport { ILoyaltySignUpProps } from './loyalty-sign-up.props.autogenerated';\n\nexport interface IAccountLoyaltyJoinState {\n clicked: boolean;\n}\nexport interface ILoyaltySignUpViewProps extends ILoyaltySignUpProps {\n LoyaltySignUp: IModuleProps;\n heading: React.ReactNode;\n memberHeading: React.ReactNode;\n signInLink: React.ReactElement;\n signUpText: React.ReactElement;\n signUpButton: React.ReactElement;\n detailsLink: React.ReactElement;\n termsLink: React.ReactElement;\n loading: boolean;\n infoMessageBar?: React.ReactNode;\n}\n\n/**\n *\n * LoyaltySignUp component.\n * @extends {React.Component>}\n */\n@observer\nclass LoyaltySignUp extends React.Component, IAccountLoyaltyJoinState> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly loyaltySignInAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltySignUpAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyDetailsLinkAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyTermsLinkAttributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: ILoyaltySignUpProps) {\n super(props);\n this.state = { clicked: false };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n this.loyaltySignInAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.SignUp;\n this.loyaltySignUpAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyDetailLink;\n this.loyaltyDetailsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsLink;\n this.loyaltyTermsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltySignUpProps, nextState: IAccountLoyaltyJoinState): 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 {\n config: { className, heading, memberHeading },\n resources,\n context: {\n actionContext,\n request: {\n user: { signInUrl, isAuthenticated }\n }\n },\n data\n } = this.props;\n\n const termsUrl = Msdyn365.getUrlSync('loyaltyTerms', actionContext);\n let loyaltyJoinUrl = `${Msdyn365.getUrlSync('loyaltyJoin', actionContext)}?joiningLoyalty=true`;\n if (MsDyn365.isBrowser) {\n loyaltyJoinUrl = `${window.location.origin}${loyaltyJoinUrl}`;\n }\n const signInurl = `${signInUrl}?ru=${loyaltyJoinUrl}`;\n const completeClass = classname('ms-loyalty-signup', className);\n const loyaltyCard = data.loyaltyCard;\n const hasLoyaltyAccount = loyaltyCard.result && loyaltyCard.result.CardTenderTypeValue !== undefined;\n const customerInformation = data.customerInformation?.result;\n\n const invalidAsyncCustomerState: boolean =\n (this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (customerInformation?.IsAsyncCustomer || false);\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltySignUp: {\n moduleProps: this.props,\n className: completeClass\n },\n infoMessageBar: invalidAsyncCustomerState && (\n \n ),\n loading: !this.props.context.request.params.isEditor && loyaltyCard?.status === 'LOADING',\n heading: !hasLoyaltyAccount && heading && heading.text && (\n \n ),\n memberHeading: hasLoyaltyAccount && memberHeading && memberHeading.text && (\n \n ),\n signInLink: !isAuthenticated && (\n \n ),\n signUpText: !hasLoyaltyAccount && ,\n signUpButton: !hasLoyaltyAccount && isAuthenticated && (\n \n {this.props.resources.joinLoyaltyButtonText}\n \n ),\n detailsLink: hasLoyaltyAccount && (\n \n {this.props.resources.viewLoyaltyPageText}\n \n ),\n termsLink: !hasLoyaltyAccount && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleMemberHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.memberHeading!.text = event.target.value);\n\n private readonly _issueLoyalty = () => {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(() => {\n if (MsDyn365.isBrowser) {\n window.location.assign(Msdyn365.getUrlSync('loyalty', this.props.context.actionContext) || '');\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n };\n}\n\nexport default LoyaltySignUp;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationSuccess;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileViewProps } from './account-customer-balance-tile';\n\nconst AccountCustomerBalanceTileView: React.FC = props => {\n const { AccountCustomerBalanceTile, heading, content, links } = props;\n\n return (\n \n {heading}\n {content}\n {links}\n \n );\n};\n\nexport default AccountCustomerBalanceTileView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHelp, IOrderSummary, IPaymentMethods } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { IGroup, IGroupDelivery, IGroups } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { SalesOrder } from \"@msdyn365-commerce/retail-proxy\";\r\n\r\ninterface IPaymentMethodsExt extends IPaymentMethods {\r\n totalOnAccount?: string;\r\n}\r\n\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps\r\n // receiptEmail,\r\n // createdDate\r\n // channelReferenceId\r\n}) => (\r\n \r\n {/* {createdDate} */}\r\n {/* {channelReferenceId} */}\r\n {/* {receiptEmail} */}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({ deliveryProps, heading, count, processing, address, trackingInfo, pickupDateTimeslot }) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods, totalOnAccount }) => \r\n {title}\r\n {totalOnAccount ?

On Account: {totalOnAccount}

: null}\r\n {methods}\r\n
;\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst _renderOrderTable = (salesOrder: SalesOrder) => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {salesOrder.SalesLines?.map(so => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Item IdDescriptionPriceQuantityTotal
{so.ItemId}{so.Description}{so.Price}{so.Quantity}{so.TotalAmount}
\r\n )\r\n}\r\n\r\n\r\nconst OrderConfirmationView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n data: { orderHydration },\r\n context: { cultureFormatter: { formatCurrency }}\r\n } = props;\r\n const tenderLines = props.data.orderHydration.result?.salesOrder.TenderLines;\r\n let totalOnAccount = 0;\r\n if (tenderLines) {\r\n totalOnAccount = tenderLines.map(tl => tl.AmountInCompanyCurrency || 0).reduce((num, total) => num + total, 0);\r\n }\r\n\r\n\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {orderHydration?.result?.salesOrder && _renderOrderTable(orderHydration?.result?.salesOrder)}\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && 0 ? formatCurrency(totalOnAccount) : undefined}\r\n />}\r\n {orderSummary && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpLocalAccount,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/./sign-up';\r\n\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage\r\n}) => {\r\n\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({\r\n givenName,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({\r\n surname,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'surname' && surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountWishlistTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountWishlistTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountWishlistTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-wishlist-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountWishlistTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountWishlistTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport LoyaltySignUp from './loyalty-sign-up';\nimport LoyaltySignUpView from './loyalty-sign-up.view';\n\nexport * from './loyalty-sign-up';\nexport * from './loyalty-sign-up.data';\nexport {\n ILoyaltySignUpConfig,\n ILoyaltySignUpProps,\n ILoyaltySignUpResources,\n IMemberHeadingData,\n MemberHeadingTag\n} from './loyalty-sign-up.props.autogenerated';\nexport * from './loyalty-sign-up.view';\n\nexport { LoyaltySignUp, LoyaltySignUpView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface ISignUpErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default SignUpError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport SignIn from './sign-in';\nimport SignInView from './sign-in.view';\n\nexport * from './components';\nexport * from './sign-in';\nexport * from './sign-in.props.autogenerated';\nexport * from './sign-in.view';\n\nexport { SignIn, SignInView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps, IContentBlockViewProps\r\n} from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n \r\n {item.links}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render View.\r\n * @param props - The view props.\r\n * @returns -The JSX Element.\r\n */\r\nconst contentBlockView: React.FC = (props) => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent\r\n } = props;\r\n\r\n // @ts-expect-error HTML element need to be clear on run time.\r\n const hasImage: boolean = image.props.src;\r\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n \r\n {image}\r\n \r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\nexport default contentBlockView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountLoyaltyTile from './account-loyalty-tile';\nimport AccountLoyaltyTileView from './account-loyalty-tile.view';\n\nexport * from './account-loyalty-tile';\nexport * from './account-loyalty-tile.data';\nexport {\n IAccountLoyaltyTileConfig,\n IAccountLoyaltyTileProps,\n IAccountLoyaltyTileResources\n} from './account-loyalty-tile.props.autogenerated';\nexport * from './account-loyalty-tile.view';\nexport * from './components';\n\nexport { AccountLoyaltyTile, AccountLoyaltyTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport SignUpButtonComponent from './components/sign-up-button';\nimport SignUpErrorComponent from './components/sign-up-error';\nimport SignUpInputComponent from './components/sign-up-input';\nimport SignUpLabelComponent from './components/sign-up-label';\nimport SignUpLoadingIconComponent from './components/sign-up-loading-icon';\nimport SignUpLoadingMessageComponent from './components/sign-up-loading-message';\nimport SignUpSuccessComponent from './components/sign-up-success';\nimport { ISignUpConfig, ISignUpProps, ISignUpResources } from './sign-up.props.autogenerated';\n\nexport interface ISignUpViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignUpItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignUpEmailVerification {\n isRequired: boolean;\n email: ISignUpItem;\n buttonWrapper: INodeProps;\n buttons: React.ReactNode[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Given Name Verification Interface.\n */\nexport interface ISignUpGivenNameVerification {\n isRequired: boolean;\n givenName: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Surname Verification Interface.\n */\nexport interface ISignUpSurnameVerification {\n isRequired: boolean;\n surname: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\nexport interface ISignUpLocalAccount {\n localAccount: INodeProps;\n items: ISignUpItem[];\n emailVerification: ISignUpEmailVerification;\n givenNameVerification: ISignUpGivenNameVerification;\n surnameVerification: ISignUpSurnameVerification;\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n disclaimer: React.ReactNode;\n}\n\nexport interface ISignUpLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignUpViewProps {\n className: string;\n viewState: ISignUpViewState;\n loading: ISignUpLoading;\n signUp: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n signUpLocalAccount: ISignUpLocalAccount;\n}\n\n/**\n *\n * SignUp component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass SignUp extends React.Component> {\n @observable private isGivenNameVerificationRequried: boolean;\n\n @observable private isSurnameVerificationRequried: boolean;\n\n private readonly moduleClassName: string = 'ms-sign-up';\n\n @observable private emailRegex: string;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isEmailVerificationRequried: boolean;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: ISignUpProps) {\n super(props);\n\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isEmailVerificationRequried = false;\n this.isGivenNameVerificationRequried = false;\n this.isSurnameVerificationRequried = false;\n this.isInitialized = false;\n this.templateVersion = '';\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: ISignUpProps, nextState: ISignUpViewState): 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 {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n signUp: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: (\n \n ),\n signUpLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n * @returns - Heading Text.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n * @returns - Paragraph Text.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const resources: ISignUpResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\n switch (obj.ID.toLowerCase()) {\n case 'emailverificationcontrol': {\n this.isEmailVerificationRequried = true;\n this.templateVersion = 'v2';\n break;\n }\n case 'email': {\n this.emailRegex = obj.PAT;\n this.isEmailVerificationRequried = obj.VERIFY;\n this.templateVersion = 'v1';\n break;\n }\n case 'givennameverificationcontrol': {\n this.isGivenNameVerificationRequried = true;\n break;\n }\n case 'givenname': {\n this.isGivenNameVerificationRequried = obj.VERIFY;\n break;\n }\n case 'surnameverificationcontrol': {\n this.isEmailVerificationRequried = true;\n break;\n }\n case 'surname': {\n this.isSurnameVerificationRequried = obj.VERIFY;\n break;\n }\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n\n switch (obj.UX_INPUT_TYPE.toLowerCase()) {\n case 'password': {\n obj.PAT_DESC = resources.invalidPasswordError;\n break;\n }\n case 'emailbox': {\n obj.PAT_DESC = resources.invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const resources: ISignUpResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const errorMessages = {\n required_field: resources.requiredFieldMissingError\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], errorMessages);\n }\n };\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n\n private _renderLocalAccount(): ISignUpLocalAccount {\n const { config, resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', resources.lastNameLabelText, resources.lastNameMaxLength),\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, undefined, this.reenterPasswordRegex)\n ],\n emailVerification: {\n isRequired: this.isEmailVerificationRequried,\n email: this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n buttonWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n buttons: [\n ,\n ,\n ,\n \n ],\n successMessage: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n \n ]\n },\n givenNameVerification: {\n isRequired: this.isGivenNameVerificationRequried,\n givenName: this._renderInput(\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'givenNameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n surnameVerification: {\n isRequired: this.isSurnameVerificationRequried,\n surname: this._renderInput(\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'surnameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n buttons: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n disclaimer: config.disclaimer && (\n \n )\n };\n }\n\n private _renderInput(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): ISignUpItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default SignUp;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListViewProps, IFormViewProps, InputID } from './business-organization-list';\nimport { IBusinessFormItem } from './components/small-components';\n\nconst BusinessFormItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst BusinessUserForm: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\n\n const modalBody = (\n <>\n {modalDescription}\n \n {inputs &&\n inputs.map((item: IBusinessFormItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst BusinessUserDetails: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, selectedUser, buttons, errorMessage, resources, toggle } = props;\n let modalBody = null;\n\n if (!selectedUser) {\n modalBody = errorMessage;\n } else {\n const { FirstName, LastName } = selectedUser;\n const userFullName = `${FirstName} ${LastName}`;\n\n modalBody = (\n <>\n {modalDescription}\n \n \n {userFullName}\n \n {Object.keys(selectedUser).map((data, index) => {\n if (data === InputID.FirstName || data === InputID.LastName) {\n return null;\n }\n const label = resources[`table${data}HeadingText`] || data;\n return (\n \n {label}\n {': '}\n {selectedUser[data]}\n \n );\n })}\n \n \n );\n }\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst _getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\n switch (type) {\n case 'ADD':\n case 'EDIT':\n return ;\n case 'VIEW':\n case 'REMOVE':\n return ;\n default:\n return null;\n }\n};\n\nconst _renderModal = (\n className: string,\n isModalOpen: boolean,\n headingSection: React.ReactNode,\n bodySection: React.ReactNode,\n footerSection: React.ReactNode,\n toggleModal?: () => void\n) => {\n return (\n \n {headingSection}\n {bodySection}\n {footerSection}\n \n );\n};\n\nconst BusinessOrganizationList: React.FC = props => {\n const {\n OrganizationUserList,\n moduleContainer,\n heading,\n noUsersText,\n addUserButton,\n organizationListTable,\n form,\n formType,\n toggleModal,\n requestAccountStatementButton,\n requestStatementModal\n } = props;\n\n const ButtonList: React.ReactNode = (\n \n {addUserButton}\n {requestAccountStatementButton}\n \n );\n\n if (noUsersText) {\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {noUsersText}\n \n \n );\n }\n\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {organizationListTable}\n \n {form && _getForm(formType, form, toggleModal)}\n \n );\n};\n\nexport default BusinessOrganizationList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IRequestContext } from '@msdyn365-commerce/core';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n BusinessPartnerUser,\n BusinessPartnerUsersDataActions\n} from '@msdyn365-commerce/retail-proxy';\nimport { AdminRequestStatementButton, RequestStatementModal } from '@msdyn365-commerce-modules/account-management';\nimport {\n addOrganizationUser,\n AddOrganizationUserInput,\n ArrayExtensions,\n deleteOrganizationUser,\n DeleteOrganizationUserInput,\n editOrganizationUser,\n EditOrganizationUserInput,\n EmailRegex,\n Random,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n IDataTableProps,\n IHeadingsProperty,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITableItemProps,\n ITableRowProps,\n ITelemetryContent,\n Table,\n TableDataType,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListData } from './business-organization-list.data';\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources } from './business-organization-list.props.autogenerated';\nimport { FormButton, FormFieldError, FormInput, FormLabel, IBusinessFormItem, IUserFormItem } from './components';\n\nexport interface IBusinessOrganizationListViewProps extends IBusinessOrganizationListProps {\n OrganizationUserList: IModuleProps;\n moduleContainer: INodeProps;\n heading: React.ReactNode;\n noUsersText?: string;\n addUserButton?: React.ReactNode;\n search?: React.ReactNode;\n organizationListTable: React.ReactNode;\n form?: IFormViewProps;\n formItems?: IUserFormItem[];\n formType: FormType;\n deleteUserForm?: React.ReactNode;\n viewUserDetails?: React.ReactNode;\n modalHeading?: React.ReactNode;\n modalState?: boolean;\n requestAccountStatementButton: React.ReactNode;\n requestStatementModal: React.ReactNode;\n toggleModal?(): void;\n}\n\nexport interface IBusinessOrganizationListState {\n isReady: boolean;\n formItems: IUserFormItem[];\n isFormActive: boolean;\n formType: FormType;\n selectedUserData?: BusinessPartnerUser;\n referenceBack?: HTMLButtonElement | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n displayedUserData?: any;\n refresh: boolean;\n isModalOpen: boolean;\n hasFormError: boolean;\n hasActionError: boolean;\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n businessUserActionRetailErrorMsg: string;\n}\n\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport enum FormType {\n None = 'NONE',\n Edit = 'EDIT',\n Remove = 'REMOVE',\n View = 'VIEW',\n Add = 'ADD'\n}\n\nexport enum InputType {\n Text = 'text',\n Email = 'email'\n}\n\nexport enum InputID {\n FirstName = 'FirstName',\n LastName = 'LastName',\n B2BUserId = 'B2BUserId',\n Email = 'Email',\n SpendingLimit = 'SpendingLimit',\n Status = 'Status',\n FullName = 'Name'\n}\n\nexport interface IFormViewProps {\n modalClassName: string;\n FormWrapper: INodeProps;\n modalHeading?: string;\n modalDescription?: React.ReactNode;\n inputs?: IBusinessFormItem[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedUser?: any;\n buttons?: React.ReactNode[];\n errorMessage?: React.ReactNode[];\n resources: IBusinessOrganizationListResources;\n toggle?(): void;\n}\n\nexport const renderInputSection = (\n inputs: IUserFormItem[],\n className: string,\n asteriskAfterLabel: string,\n onInputChange: (event: React.ChangeEvent) => void\n): IBusinessFormItem[] => {\n return inputs.map(element => {\n const { customClass, id, type, label, maxChars, isRequired, pattern, value, isDisabled, fieldReference } = element;\n return {\n wrapper: {\n className: classnames(className, id, customClass)\n },\n key: id,\n label: ,\n errorMessage: ,\n input: (\n \n )\n };\n });\n};\n\ninterface IUserTableItemProps extends ITableItemProps {\n user: BusinessPartnerUser;\n}\n\n/**\n *\n * BusinessOrganizationList component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass BusinessOrganizationList extends React.Component<\n IBusinessOrganizationListProps,\n IBusinessOrganizationListState\n> {\n public BusinessFormDefaultInputs: IUserFormItem[] = [\n {\n id: InputID.FirstName,\n type: InputType.Text,\n label: this.props.resources.businessUserFirstNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.LastName,\n type: InputType.Text,\n label: this.props.resources.businessUserLastNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.Email,\n type: InputType.Email,\n label: this.props.resources.businessUserEmailAddressLabelText,\n value: '',\n isRequired: true,\n pattern: EmailRegex.defaultRegex.source,\n customClass: 'width-100'\n },\n {\n id: InputID.SpendingLimit,\n type: InputType.Text,\n label: this.props.resources.businessUserSpendingLimitLabelText,\n value: '',\n isRequired: false,\n customClass: 'width-50',\n maxChars: this.props.config?.maxLength\n }\n ];\n\n @observable\n private _viewport: GridSize;\n\n private readonly delayFocus: number = 110;\n\n private formChildReference: React.RefObject[] = [];\n\n private userFormEditReference: React.RefObject[] = [];\n\n private userFormDeleteReference: React.RefObject[] = [];\n\n private readonly submitButtonReference: React.RefObject;\n\n private readonly addUserButtonReference: React.RefObject;\n\n private readonly statementRequestButtonReference: React.RefObject;\n\n private readonly moduleClassName: string = 'ms-business-organization-list';\n\n private readonly mobileExcludedColumns: string[];\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n @computed get canSubmitStatementRequest(): boolean {\n return (\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestFromDateString) &&\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestToDateString)\n );\n }\n\n @computed get selectedUserName(): string {\n const { businessUserSelectedUserDisplayName } = this.props.resources;\n return this.state.selectedUserData\n ? businessUserSelectedUserDisplayName\n .replace('{firstName}', this.state.selectedUserData.FirstName || '')\n .replace('{lastName}', this.state.selectedUserData.LastName || '')\n : '';\n }\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n constructor(props: IBusinessOrganizationListProps) {\n super(props);\n this._toggleModal = this._toggleModal.bind(this);\n this._onInputChange = this._onInputChange.bind(this);\n this._handleRemoveUserButton = this._handleRemoveUserButton.bind(this);\n\n this.mobileExcludedColumns = [InputID.Email, InputID.Status, InputID.SpendingLimit];\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\n this.submitButtonReference = React.createRef();\n this.addUserButtonReference = React.createRef();\n this.statementRequestButtonReference = React.createRef();\n this.state = {\n isReady: false,\n formItems: this.addedReference(),\n isFormActive: false,\n formType: FormType.None,\n refresh: true,\n isModalOpen: false,\n hasFormError: false,\n hasActionError: false,\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0],\n businessUserActionRetailErrorMsg: ''\n };\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n }\n\n public addedReference(): IUserFormItem[] {\n const newFormFields = this.BusinessFormDefaultInputs;\n return newFormFields.map((input, index) => {\n this.formChildReference[Number(index)] = React.createRef();\n input.fieldReference = this.formChildReference[Number(index)];\n return input;\n });\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser && window.addEventListener) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser && window.removeEventListener) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IBusinessOrganizationListProps,\n nextState: IBusinessOrganizationListState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n\n if (!this.state.isModalOpen && this.state.isModalOpen !== nextState.isModalOpen) {\n setTimeout(() => {\n this.formChildReference[0].current?.focus();\n this.submitButtonReference.current?.focus();\n }, this.delayFocus);\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config,\n resources,\n data: { users }\n } = this.props;\n const { className, heading } = config;\n const {\n businessUserAddUserButtonText,\n businessUserLoadingMessage,\n businessUserEmptyListMessage,\n businessUserErrorGettingUsersMessage,\n userAccountStatementLabel,\n fullOrganizationLabel,\n requestStatementButtonLabel,\n statementRequestModalHeaderLabel,\n cancelLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n sendToEmailLabel,\n selectedUserLabel\n } = resources;\n const {\n formItems,\n isFormActive,\n formType,\n isModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n isStatementRequestModalOpen,\n statementRequestMaxDateString\n } = this.state;\n\n const hasUsers = users && users.result && users.result.length > 0;\n this.payLoad.contentAction.etext = TelemetryConstant.AddUser;\n const addUserAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n\n const customer = this.props.data.customerInformation?.result;\n\n if (!hasUsers) {\n let errorMessage = '';\n if (users.status === 'LOADING') {\n errorMessage = businessUserLoadingMessage;\n } else if (users.status === 'FAILED') {\n errorMessage = businessUserErrorGettingUsersMessage;\n } else if (users.result && users.result.length === 0) {\n errorMessage = businessUserEmptyListMessage;\n }\n\n const errorProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n noUsersText:

{errorMessage}

\n };\n\n return this.props.renderView(errorProps) as React.ReactElement;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n modalState: isModalOpen,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n organizationListTable: ,\n toggleModal: this._toggleModal,\n formType,\n form:\n isFormActive && isModalOpen && (formType === FormType.Add || formType === FormType.Edit)\n ? this._renderUserForm()\n : this._renderUserDetails(),\n formItems,\n requestAccountStatementButton: (\n \n ),\n requestStatementModal: (\n \n )\n } as IBusinessOrganizationListViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n // _createTableProps: creates the props for the organization list table\n private _createTableProps(): IDataTableProps {\n const { config, resources, context } = this.props;\n const { tableSort, showPagination, paginationItemPerPage } = config;\n const {\n businessUserPaginationNextButtonText,\n businessUserPaginationPreviousButtonText,\n businessUserEditButtonText,\n businessUserViewUserButtonText,\n businessUserDeleteButtonText,\n businessUserActionButtonText,\n businessUserPaginationAriaLabel,\n columnSortAriaLabel\n } = resources;\n\n const tableData = this._createTableItems();\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row.map(item => {\n if (this.isMobile && this.mobileExcludedColumns.includes(item.id)) {\n return undefined;\n }\n return {\n name: item.id,\n sortable: (tableSort && tableSort) || false,\n ariaLabel: columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources,\n headings: tableHeading,\n rows: tableData,\n className: `${this.moduleClassName}__table`,\n editLinkText: this.isMobile ? businessUserEditButtonText : '', // '' === showing just icon\n deleteLinkText: this.isMobile ? businessUserDeleteButtonText : '', // '' === showing just icon\n viewLinkText: businessUserViewUserButtonText,\n editLinkTooltip: businessUserEditButtonText,\n deleteLinkTooltip: businessUserDeleteButtonText,\n viewLinkTooltip: businessUserViewUserButtonText,\n enableToModify: true,\n actionLinkText: businessUserActionButtonText,\n showCheckBoxes: true,\n isSortable: tableSort,\n resourcePrefix: 'businessUser',\n showPagination,\n minifyActions: this.isMobile,\n excludedColumns: this.isMobile ? this.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context &&\n context.request &&\n context.request.query &&\n context.request.query.skip &&\n !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: paginationItemPerPage || 10,\n prevText: businessUserPaginationPreviousButtonText,\n nextText: businessUserPaginationNextButtonText,\n paginationText: businessUserPaginationAriaLabel,\n url: (context && this._getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n tableAriaLabel: resources.tableAriaLabel,\n tableTabIndex: 0,\n businessUserSelectCheckBoxAriaLabelText: resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: resources.sortByAscending,\n sortByDescending: resources.sortByDescending,\n actions: {\n onDelete: this._handleDeleteIcon,\n onEdit: this._handleEditIcon,\n onView: (this.isMobile && this._handleViewDetails) || undefined\n },\n formatPrice: this._formatPrice,\n checkBoxCallback: this._onSelectRow\n };\n }\n\n // _createTableItems: converts users recieved from the data-action(IBusinessParterUser[]) to tableRows(ITableItemProps[])\n private _createTableItems(): ITableRowProps[] {\n const {\n resources,\n data: { users }\n } = this.props;\n const { businessUserActiveStatusText, businessUserPendingStatusText, businessUserRemovedStatusText } = resources;\n const usersList = users && users.result;\n\n if (!ArrayExtensions.hasElements(usersList)) {\n return [];\n }\n\n return usersList.map((user, index) => {\n let statusString = '';\n this.userFormEditReference[index] = React.createRef();\n this.userFormDeleteReference[index] = React.createRef();\n\n switch (user.StatusValue) {\n case 0:\n statusString = businessUserPendingStatusText;\n break;\n case 1:\n statusString = businessUserActiveStatusText;\n break;\n case 2:\n default:\n statusString = businessUserRemovedStatusText;\n }\n\n return {\n row: [\n {\n id: InputID.FullName,\n type: TableDataType.Text,\n value: `${user.FirstName} ${user.LastName}`,\n user\n } as IUserTableItemProps,\n {\n id: InputID.Email,\n type: TableDataType.Text,\n value: user.Email || '',\n className: `${this.moduleClassName}__padRight`\n } as IUserTableItemProps,\n {\n id: InputID.Status,\n type: TableDataType.Text,\n value: statusString\n } as IUserTableItemProps,\n {\n id: InputID.SpendingLimit,\n type: TableDataType.Price,\n value: user.SpendingLimit || 0\n } as IUserTableItemProps\n ],\n isSelected: false,\n buttonReferences: {\n edit: this.userFormEditReference[index],\n delete: this.userFormDeleteReference[index]\n }\n };\n });\n }\n\n // _toggleModal: closes the modal and resets the form states\n private _toggleModal(): void {\n this.state.referenceBack?.focus();\n this.setState({\n isModalOpen: false,\n isFormActive: false,\n referenceBack: undefined,\n formType: FormType.None\n });\n }\n\n // _handleAddUserButtonClicked: resets input fields, opens the modal, and sets the form states\n private readonly _handleAddUserButtonClicked = () => {\n // Reset form\n const newForm = this.state.formItems;\n newForm.forEach(input => {\n if (input.id === InputID.Email) {\n // Make sure email input is re enabled (it gets disabled when admin is editing user)\n input.isDisabled = false;\n }\n\n input.value = '';\n });\n\n const newUser = { B2BUserId: Random.Guid.generateGuid() } as BusinessPartnerUser;\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n formType: FormType.Add,\n referenceBack: this.addUserButtonReference.current,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: newUser\n });\n };\n\n // _handleAddEditFormSaveButton: triggered on the save button for both add/edit forms. Calls the appropriate data-action and reloads the page when successful\n private readonly _handleAddEditFormSaveButton = async () => {\n const { context } = this.props;\n const { formType, formItems } = this.state;\n\n const updatedUser = this._createBusinessPartner(formItems);\n\n if (formType === FormType.Edit) {\n editOrganizationUser(new EditOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true\n });\n });\n } else {\n addOrganizationUser(new AddOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true,\n businessUserActionRetailErrorMsg: error.message\n });\n });\n }\n };\n\n // _createBusinessPartner: attempts to convert input values(IUserFormItem) to a new user(BusinessPartnerUser)\n private readonly _createBusinessPartner = (inputs: IUserFormItem[]): BusinessPartnerUser => {\n const newUser: BusinessPartnerUser = { ...this.state.selectedUserData! };\n\n inputs.forEach(input => {\n // Deals with input values need need to be converted into numbers\n if (input.id === InputID.SpendingLimit) {\n newUser[input.id] = Number.parseFloat(input.value) || 0;\n } else {\n newUser[input.id] = input.value;\n }\n });\n\n return newUser;\n };\n\n // _handleEditIcon: converts the table row data(ITableItemProps[]) to input fields(IUserFormItem) and opens the edit form\n private readonly _handleEditIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n // Split full name into first and last\n const possibleName = userData.find(cell => {\n return cell.id === 'Name';\n });\n const fullName = (possibleName && (possibleName.value as string)) || '';\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n const firstName = fullName.substring(0, lastSpaceIndex);\n\n const lastName = fullName.substring(lastSpaceIndex + 1);\n\n // Create clone of formItems, map users information, update state\n const { formItems } = this.state;\n const newForm = formItems;\n\n newForm.forEach(input => {\n switch (input.id) {\n case InputID.FirstName:\n input.value = firstName;\n break;\n case InputID.LastName:\n input.value = lastName;\n break;\n case InputID.Email: // Email can never be null/undefined as it is a required field\n input.isDisabled = true;\n const possibleCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (possibleCell && (possibleCell.value as string)) || '';\n break;\n default:\n const dataCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (dataCell && (dataCell.value as string)) || '';\n }\n });\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n referenceBack,\n formType: FormType.Edit,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: (userData[0] as IUserTableItemProps).user\n });\n };\n\n // _handleDeleteIcon: opens removeUser confirmation window\n private readonly _handleDeleteIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n referenceBack,\n selectedUserData: newUser,\n formType: FormType.Remove,\n isModalOpen: true,\n isFormActive: false\n });\n };\n\n // _handleViewDetails: opens user details window\n private readonly _handleViewDetails = (userData: ITableItemProps[]) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n selectedUserData: newUser,\n formType: FormType.View,\n isModalOpen: true,\n isFormActive: false\n });\n };\n\n // _handleRemoveUserButton: triggered on confirmation of removing a user.\n private readonly _handleRemoveUserButton = () => {\n // TODO\n const { context } = this.props;\n const { selectedUserData: deleteUserData } = this.state;\n\n if (deleteUserData) {\n deleteOrganizationUser(new DeleteOrganizationUserInput(deleteUserData), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n });\n }\n this.setState({\n formType: FormType.None,\n isModalOpen: false\n });\n };\n\n private readonly callbackRemoveButton = () => {\n this._handleRemoveUserButton();\n };\n\n // _renderUserDetails: creates the remove/view form props\n private _renderUserDetails(): IFormViewProps {\n const { resources } = this.props;\n const { formType, displayedUserData } = this.state;\n const {\n businessUserRemoveModalHeaderText,\n businessUserRemoveModalDescription,\n businessUserViewModalHeaderText,\n businessUserCancelButtonText,\n businessUserCancelRemoveUserButtonText,\n businessUserRemoveUserButtonText,\n businessUserErrorUpdatingUsersMessage\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Remove ? 'type-remove' : 'type-view';\n const handleRemoveButton = this.callbackRemoveButton;\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Remove ? businessUserRemoveModalHeaderText : businessUserViewModalHeaderText,\n modalDescription: formType === FormType.Remove && (\n

{businessUserRemoveModalDescription}

\n ),\n selectedUser: displayedUserData,\n buttons: [\n formType === FormType.Remove && (\n \n {businessUserRemoveUserButtonText}\n \n ),\n \n ],\n errorMessage: [\n \n ],\n resources\n };\n }\n\n // _renderUserForm: creates the add/edit form props\n private _renderUserForm(): IFormViewProps {\n const { resources } = this.props;\n const { formType, formItems, hasFormError, hasActionError, isReady, businessUserActionRetailErrorMsg } = this.state;\n const {\n businessUserEditUserFormHeadingText,\n businessUserAddUserFormHeadingText,\n businessUserSaveButtonArialabel,\n businessUserSaveButtonText,\n businessUserCancelButtonArialabel,\n businessUserCancelButtonText,\n businessUserFieldIncorrectErrorText,\n businessUserActionErrorText,\n businessUserAllFieldsRequiredMessage,\n asteriskAfterLabel\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Add ? 'type-add' : 'type-edit';\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Add ? businessUserAddUserFormHeadingText : businessUserEditUserFormHeadingText,\n modalDescription: formType === FormType.Add && (\n

{businessUserAllFieldsRequiredMessage}

\n ),\n inputs: renderInputSection(formItems, `${formClassName}-item`, asteriskAfterLabel, this._onInputChange),\n buttons: [\n ,\n \n ],\n errorMessage: [\n hasFormError && (\n \n ),\n hasActionError && (\n \n )\n ],\n resources\n };\n }\n\n // _onInputChange: updates the fomrItems state on every input change\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\n const newForm = this.state.formItems;\n\n newForm.forEach(item => {\n if (item.id === event.target.id) {\n item.value = event.target.value;\n }\n });\n\n // Update state object with latest values and check if form is ready\n // TODO: remove !refresh\n this.setState(prev => ({\n refresh: !prev.refresh,\n isReady: this._isFormReady(),\n formItems: newForm,\n hasFormError: false,\n hasActionError: false\n }));\n };\n\n // _isFormReady: checks whether the current values in the input fields are valid for submission, this will also disable/enable the submit button.\n private readonly _isFormReady = (): boolean => {\n const { formItems } = this.state;\n\n for (const formItem of formItems) {\n // Will return TRUE if:\n // - input field is required and EMPTY\n // OR\n // - pattern provided and value does not match pattern\n // OR\n // - if spendingLimit input --> make sure value can be parsed into an NUMBER\n if (formItem.isRequired && formItem.value.length === 0) {\n return false;\n } else if (formItem.pattern !== undefined && formItem.value.match(formItem.pattern) === null) {\n return false;\n } else if (formItem.id === InputID.SpendingLimit && formItem.value !== '' && isNaN(Number.parseFloat(formItem.value))) {\n this.setState({\n hasFormError: true\n });\n return false;\n }\n }\n\n return true;\n };\n\n private readonly _formatPrice = (price: number): string => {\n return this.props.context.cultureFormatter ? this.props.context.cultureFormatter.formatCurrency(price) : price.toString();\n };\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n\n return 'xs';\n };\n\n private readonly _toggleStatementRequestDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _showRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestModalOpen: true\n });\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const businessPartnerUsers = this.props.data.users.result!;\n\n const currentUser = businessPartnerUsers.find(element => element.Email === customer.Email);\n const B2BUserId = this._getB2BUserId(currentUser);\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType?.Email || 1\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this._closeStatementRequestModal();\n };\n\n private readonly _getB2BUserId = (currentUser: BusinessPartnerUser | undefined) => {\n if (this.state.statementRequestFullOrg || !this.state.selectedUserData) {\n return currentUser ? currentUser.B2BUserId : '';\n }\n return this.state.selectedUserData.B2BUserId;\n };\n\n private readonly _closeStatementRequestModal = () => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.statementRequestButtonReference.current?.focus();\n };\n\n private readonly _onSelectRow = (records: ITableRowProps[]) => {\n const selectedRow = records.find(rowProps => rowProps.isSelected);\n\n this.setState({\n selectedUserData: selectedRow ? (selectedRow.row[0] as IUserTableItemProps).user : undefined\n });\n };\n}\n\nexport default BusinessOrganizationList;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IComponent, IComponentProps, ICoreContext, IImageSettings, Image, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { getFallbackImageUrl, getProductPageUrlSync, ObjectExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport React from 'react';\r\n\r\nimport { InvoicePaidStatus, OrderInvoice, SalesInvoice, SalesInvoiceLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { IPayableInvoice } from '@msdyn365-commerce-modules/invoice';\r\n\r\n// import { IInvoiceProductLine, InvoiceDetailsModel } from '../helpers/invoice-data';\r\n\r\nexport interface IInvoicePaymentDetails {\r\n totalDiscount?: number;\r\n subtotal?: number;\r\n totalCharges?: number;\r\n totalTax?: number;\r\n totalAmount?: number;\r\n currencyCode?: string;\r\n}\r\n\r\nexport interface IInvoiceProductLine extends SalesInvoiceLine {\r\n primaryImageUrl?: string;\r\n}\r\n\r\n/**\r\n * Represents invoice details data model.\r\n */\r\nexport class InvoiceDetailsModel implements IPayableInvoice, IInvoicePaymentDetails {\r\n public id: string;\r\n\r\n public invoiceDate?: Date;\r\n\r\n public customerAccountNumber?: string;\r\n\r\n public customerName?: string;\r\n\r\n public dueDate?: Date;\r\n\r\n public amountDue?: number;\r\n\r\n public status?: InvoicePaidStatus;\r\n\r\n public lines: IInvoiceProductLine[];\r\n\r\n public totalDiscount?: number;\r\n\r\n public subtotal?: number;\r\n\r\n public totalCharges?: number;\r\n\r\n public totalTax?: number;\r\n\r\n public totalAmount?: number;\r\n\r\n public currencyCode?: string;\r\n\r\n public constructor(invoice: OrderInvoice, invoiceDetails: SalesInvoice, products: SimpleProduct[]) {\r\n this.id = invoice.Id || '';\r\n this.invoiceDate = invoice.InvoiceDate ? new Date(invoice.InvoiceDate) : undefined;\r\n this.customerName = invoice.CustomerName;\r\n this.dueDate = invoice.InvoiceDueDate ? new Date(invoice.InvoiceDueDate) : undefined;\r\n this.amountDue = invoice.AmountBalance;\r\n this.status = invoice.InvoicePaidStatusValue;\r\n this.lines = (invoiceDetails.SalesInvoiceLine || []).map(line => {\r\n const productLine: IInvoiceProductLine = {\r\n ...line,\r\n primaryImageUrl: products.find(product => product.RecordId === line.RecordId)?.PrimaryImageUrl\r\n };\r\n return productLine;\r\n });\r\n\r\n this.totalDiscount = invoiceDetails.TotalDiscount;\r\n this.subtotal = invoiceDetails.InvoiceSubtotal;\r\n this.totalCharges = invoiceDetails.TotalCharges;\r\n this.totalTax = invoiceDetails.TotalTaxAmount;\r\n this.totalAmount = invoice.TotalAmount;\r\n this.currencyCode = invoice.CurrencyCode;\r\n }\r\n\r\n public get canBePaid(): boolean {\r\n return this.status !== InvoicePaidStatus.Paid;\r\n }\r\n}\r\n\r\n\r\nexport interface IInvoiceDetailsProductsData {\r\n invoiceDetails: InvoiceDetailsModel;\r\n}\r\n\r\nexport interface IInvoiceDetailsProductsResources {\r\n invoiceProductColor: string;\r\n invoiceProductSize: string;\r\n invoiceProductStyle: string;\r\n invoiceQuantity: string;\r\n}\r\n\r\nexport interface IInvoiceDetailsProductsProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n imageSettings?: IImageSettings;\r\n resources: IInvoiceDetailsProductsResources;\r\n}\r\n\r\nexport interface IInvoiceDetailsProductsComponent extends IComponent {\r\n}\r\n\r\nconst _renderProductDimensions = (className: string, resources: IInvoiceDetailsProductsResources, product: SalesInvoiceLine): JSX.Element => {\r\n return (\r\n
\r\n {StringExtensions.isNullOrWhitespace(product.ColorName) ? null :
\r\n {resources.invoiceProductColor.replace('{0}', product.ColorName!)}\r\n
}\r\n {StringExtensions.isNullOrWhitespace(product.SizeName) ? null :
\r\n {resources.invoiceProductSize.replace('{0}', product.SizeName!)}\r\n
}\r\n {StringExtensions.isNullOrWhitespace(product.StyleName) ? null :
\r\n {resources.invoiceProductStyle.replace('{0}', product.StyleName!)}\r\n
}\r\n
\r\n );\r\n};\r\n\r\nconst _renderProductImage = (className: string, context: ICoreContext, product: IInvoiceProductLine, imageSettings?: IImageSettings): JSX.Element | null => {\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=315&h=315&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=315&h=315&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=315&h=315&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n };\r\n\r\n if (imageSettings) {\r\n imageSettings.cropFocalRegion = true;\r\n }\r\n\r\n const fallbackImage = getFallbackImageUrl(product.ItemId, context.actionContext.requestContext.apiSettings);\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\r\n if (amount === undefined) {\r\n return '';\r\n }\r\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\r\n};\r\n\r\nconst InvoiceDetailsProducts: React.FC = (props: IInvoiceDetailsProductsProps): JSX.Element => {\r\n const { className, data: { invoiceDetails }, resources } = props;\r\n\r\n const productLineClass = `${className}__product-line`;\r\n const productLineInfoContainerClass = `${productLineClass}__product-info-container`;\r\n const productLineDetailsClass = `${productLineInfoContainerClass}__product-details`;\r\n const productLineSmallDetailsClass = `${productLineDetailsClass}__small-details`;\r\n\r\n return (\r\n
\r\n {\r\n invoiceDetails.lines.map(product => {\r\n const quantity = product.Quantity || 1;\r\n\r\n let productUrl = '';\r\n if (!ObjectExtensions.isNullOrUndefined(product.ProductName) &&\r\n !ObjectExtensions.isNullOrUndefined(product.RecordId)) {\r\n productUrl = getProductPageUrlSync(product.ProductName, product.RecordId, props.context.actionContext);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {_renderProductImage(`${productLineInfoContainerClass}__product-image`, props.context, product)}\r\n
\r\n \r\n {`${product.ItemId} - ${product.ProductName}`}\r\n \r\n
\r\n {_renderProductDimensions(`${productLineSmallDetailsClass}__dimensions`, resources, product)}\r\n
\r\n {formatAmount(props.context, product.Price, invoiceDetails.currencyCode)}\r\n
\r\n
\r\n {resources.invoiceQuantity.replace('{0}', quantity.toString())}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {formatAmount(props.context, product.NetAmount, invoiceDetails.currencyCode)}\r\n
\r\n
\r\n );\r\n })\r\n }\r\n
\r\n );\r\n};\r\n\r\n// @ts-expect-error\r\nexport const InvoiceDetailsProductsComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'InvoiceDetailsProductsComponent',\r\n { component: InvoiceDetailsProducts }\r\n);\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceActions {\n className?: string;\n requestStatementButtonLabel: string;\n onRequestStatement(): void;\n}\n\ninterface IAdminRequestStatementProps {\n className?: string;\n requestStatementButtonLabel: string;\n myUserAccountLabel: string;\n fullOrganizationLabel: string;\n isDropdownShowing: boolean;\n buttonReference?: React.RefObject;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n}\n\nexport const ActionBar: React.FC = ({ className, onRequestStatement, requestStatementButtonLabel }) => {\n return (\n
\n \n
\n );\n};\n\nexport const AdminRequestStatementButton: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n onToggleDropdown,\n myUserAccountLabel,\n fullOrganizationLabel,\n isDropdownShowing,\n buttonReference\n}) => {\n const onSelectCustomerAccount = React.useCallback(() => {\n onRequestStatement(false);\n }, [onRequestStatement]);\n\n const onSelectFullOrg = React.useCallback(() => {\n onRequestStatement(true);\n }, [onRequestStatement]);\n\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n
\n \n {requestStatementButtonLabel}\n \n \n \n {myUserAccountLabel}\n \n \n \n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * The interface for the props for the account statement request modal.\n */\ninterface IAccountStatementRequestModalProps {\n email: string;\n isModalOpen: boolean;\n fromDateString: string;\n toDateString: string;\n canSubmitRequest: boolean;\n modalHeaderLabel: string;\n sendToEmailLabel: string;\n fromDateLabel: string;\n toDateLabel: string;\n submitRequestLabel: string;\n cancelLabel: string;\n className: string;\n selectedUser: string;\n selectedUserLabel: string;\n toggle(): void;\n onChangeFromDate(newFromDate: string): void;\n onChangeToDate(newToDate: string): void;\n onSubmitRequest(): void;\n modalAriaLabel?: string;\n maxDateString?: string;\n}\n\nexport const RequestStatementModal: React.FC = ({\n className,\n email,\n isModalOpen,\n toggle,\n fromDateString,\n toDateString,\n onChangeFromDate,\n onChangeToDate,\n canSubmitRequest,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n onSubmitRequest,\n selectedUser,\n selectedUserLabel,\n modalAriaLabel,\n maxDateString\n}) => {\n const onChangeFromDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n },\n [onChangeFromDate]\n );\n\n const onChangeToDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeToDate(value);\n },\n [onChangeToDate]\n );\n\n /**\n * If the onBlur is called on the fromDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurFromDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== fromDateString) {\n event.target.focus();\n }\n },\n [fromDateString]\n );\n\n /**\n * If the onBlur is called on the toDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurToDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n },\n [toDateString]\n );\n\n return (\n \n {modalHeaderLabel}\n \n {selectedUser && (\n
\n \n
\n
{selectedUser}
\n
\n )}\n \n
\n {email}\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {submitRequestLabel}\n \n {` `}\n \n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { AdminRequestStatementButton } from './account-actions';\nimport { RequestStatementModal } from './account-statement-request-modal';\n\nexport * from './account-actions';\nexport * from './account-statement-request-modal';\n\ninterface IAccountLabel {\n name: string;\n accountNumber: string;\n createdOn: string;\n customerSincePrefix: string;\n}\n\ninterface IAccountValues {\n availableCredit: string;\n availableCreditLabel: string;\n}\n\n/**\n * Prop for Available credit component.\n */\ninterface ICreditSummaryAvailableCredit {\n availableCreditLabel: string;\n availableCredit: string;\n}\n\n/**\n * Prop for Balanced owed component.\n */\ninterface ICreditSummaryBalanceOwed {\n balanceOwedLabel: string;\n balanceOwed: string;\n}\n\n/**\n * Prop for credit excess component.\n */\ninterface ICreditSummaryCreditExcess {\n creditExcessLabel: string | null;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryLabel {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryValues {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface IBackButton {\n link: string;\n label: string;\n telemetryContent?: ITelemetryContent;\n}\n\nexport const AccountLabels: React.FC = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n
\n

{name}

\n
#{accountNumber}
\n
\n {customerSincePrefix} {createdOn}\n
\n
\n);\n\nexport const AccountValues: React.FC = ({ availableCredit, availableCreditLabel }) => (\n
\n
{availableCreditLabel}
\n
{availableCredit}
\n
\n);\n\nexport const CreditSummaryLabels: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n
{creditExcess}
\n
\n);\n\nexport const CreditSummaryValues: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n {creditExcess &&
{creditExcess}
}\n
\n);\n\n/**\n * Available credit component.\n * @param props - ICreditSummaryAvailableCredit.\n * @param props.availableCreditLabel - Available credit label.\n * @param props.availableCredit - Available credit value.\n * @returns - React Node for available credit component.\n */\nexport const AvailableCreditComponent: React.FC = ({ availableCreditLabel, availableCredit }) => (\n
\n
\n
{availableCreditLabel}
\n
\n
\n
{availableCredit}
\n
\n
\n);\n\n/**\n * Balance Owed Component.\n * @param props - ICreditSummaryBalanceOwed.\n * @param props.balanceOwedLabel - Balance Owed label.\n * @param props.balanceOwed - Balance Owed value.\n * @returns - React Node for balance owed component.\n */\nexport const BalanceOwedComponent: React.FC = ({ balanceOwedLabel, balanceOwed }) => (\n
\n
\n
{balanceOwedLabel}
\n
\n
\n
{balanceOwed}
\n
\n
\n);\n\n/**\n * Credit Excess Component.\n * @param props - ICreditSummaryCreditExcess.\n * @param props.creditExcessLabel - Credit excess label.\n * @param props.creditExcess - Credit excess value.\n * @returns - React Node for credit excess component.\n */\nexport const CreditExcessComponent: React.FC = ({ creditExcessLabel, creditExcess }) => (\n
\n {creditExcess && (\n
\n
{creditExcessLabel}
\n
\n )}\n
\n {creditExcess &&
{creditExcess}
}\n
\n
\n);\nexport const BackButton: React.FC = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {label}\n \n );\n};\n\nexport { AdminRequestStatementButton, RequestStatementModal };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountCustomerBalanceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountCustomerBalanceTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-customer-balance-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountCustomerBalanceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignUpButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\n \n);\n\nexport default SignUpButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountGenericTileConfig, IAccountGenericTileProps } from './account-generic-tile.props.autogenerated';\nimport LinksComponent from './components/account-generic-tile-links';\n\nexport interface IAccountGenericTileViewProps extends IAccountGenericTileProps {\n AccountGenericTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * AccountGeneric component.\n * @extends {React.PureComponent>}\n */\nclass AccountGenericTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountGenericTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const viewProps = {\n ...this.props,\n className,\n AccountGenericTile: {\n moduleProps: this.props,\n className: classnames('ms-account-generic-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountGenericTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAccordionExpandedState } from './data-actions/accordion-state';\nimport { createAccordionStateInput } from './data-actions/accordion-state-data-action';\nimport accordion from './modules/accordion/accordion';\nimport { interactionStyle } from './modules/accordion/accordion.props.autogenerated';\nimport accordionView from './modules/accordion/accordion.view';\n\nexport * from './modules/accordion/accordion';\nexport * from './modules/accordion/accordion.view';\n\nexport { accordion, accordionView, createAccordionStateInput, IAccordionExpandedState, interactionStyle };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps {\n AccountAddressTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountAddress component.\n * @extends {React.PureComponent>}\n */\nclass AccountAddressTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountAddressTileDescriptionForSingleAddress, accountAddressTileDescriptionForMultipleAddresses } = resources;\n const { address } = data;\n const addressCount = (address && address.result && address.result.length) || 0;\n const accountAddressTileDescription =\n addressCount === 1 ? accountAddressTileDescriptionForSingleAddress : accountAddressTileDescriptionForMultipleAddresses;\n const description = format(accountAddressTileDescription, addressCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountAddressTile: {\n moduleProps: this.props,\n className: classnames('ms-account-address-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountAddressTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetVerificationLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetVerificationLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n // ISignInSocialAccount,\r\n // ISignInSocialItem,\r\n ISignInB2BAccount,\r\n ISignInB2BItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management';\r\n\r\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\n// const SocialAccount: React.FC = ({ socialAccounts, items }) => {\r\n// return (\r\n// \r\n// {items &&\r\n// items.map((item: ISignInSocialItem) => {\r\n// return (\r\n// \r\n// {item.image}\r\n// {item.text}\r\n// \r\n// );\r\n// })}\r\n// \r\n// );\r\n// };\r\n\r\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInB2BItem) => {\r\n return (\r\n item && (\r\n \r\n {item.text}\r\n \r\n )\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n // signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n // signInSocialAccount,\r\n // signUpSectionHeading,\r\n signInB2BAccount,\r\n // signUpDescription,\r\n // signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {/*{SocialAccount(signInSocialAccount)}*/}\r\n {B2BAccount(signInB2BAccount)}\r\n \r\n {/**/}\r\n {/* {signUpSectionHeading}*/}\r\n {/* {signUpDescription}*/}\r\n {/* {signUpLink}*/}\r\n {/**/}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignInView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { getTelemetryObject, Heading, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileData } from './account-customer-balance-tile.data';\nimport { IAccountCustomerBalanceTileProps } from './account-customer-balance-tile.props.autogenerated';\nimport { CreditComponent, ErrorComponent } from './components/account-customer-balance-tile-info';\nimport LinksComponent from './components/account-customer-balance-tile-links';\n\nexport interface IAccountCustomerBalanceTileViewProps extends IAccountCustomerBalanceTileProps {\n AccountCustomerBalanceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n content: React.ReactNode;\n links: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceTileViewState {\n isDetailsLinkDisplayed: boolean;\n content: React.ReactNode;\n}\n\n/**\n *\n * AccountCustomerBalanceTile component.\n * @extends {React.Component>}\n */\nclass AccountCustomerBalanceTile extends React.Component<\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileViewState\n> {\n @computed get hasError(): boolean {\n return get(this.props, 'data.balance.status') !== 'SUCCESS';\n }\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountCustomerBalanceTileProps) {\n super(props);\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = { ...this._initState() };\n\n reaction(\n () => this.hasError,\n () => {\n this.props.context.telemetry.error('Error retrieving customer account balance');\n this.setState({\n content: \n });\n }\n );\n }\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerResult = get(this.props, 'data.customerInformation.result');\n\n const allowOnAccountPayment = customerResult ? customerResult.AllowOnAccountPayment : false;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const enableCustomerAccountPayment = get(this.props, 'context.request.app.platform.enableCustomerAccountPayment');\n\n return (\n allowOnAccountPayment &&\n (enableCustomerAccountPayment === 'all' ||\n (enableCustomerAccountPayment === 'b2b' && isB2BSite) ||\n (enableCustomerAccountPayment === 'b2c' && !isB2BSite))\n );\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountCustomerBalanceTileProps,\n nextState: IAccountCustomerBalanceTileViewState\n ): 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 {\n if (!this.isCustomerAccountPaymentEnabled) {\n return <>;\n }\n\n const { className, heading, links } = this.props.config;\n const viewProps = {\n ...this.props,\n AccountCustomerBalanceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-customer-balance-tile', className)\n },\n heading: heading && (\n \n ),\n content: this.state.content,\n links: this.state.isDetailsLinkDisplayed && (\n (event: Msdyn365.ContentEditableEvent) => void 0,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initState(): IAccountCustomerBalanceTileViewState {\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n\n let content: React.ReactNode;\n let isDetailsLinkDisplayed = false;\n\n if (this.hasError) {\n this.props.telemetry.error('Error retrieving customer account balance');\n content = ;\n } else if (\n account.Balance === 0 &&\n account.CreditLimit === 0 &&\n account.InvoiceAccountBalance === 0 &&\n account.InvoiceAccountCreditLimit === 0\n ) {\n // Non-established credit\n content = ;\n } else {\n // Successfully retrieved balance\n const { accountCreditVerbagePrefix, accountCreditVerbagePostfix } = this.props.resources;\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n let customerCredit = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n }\n\n const customerCreditFormatted = `${formatCurrency(customerCredit.toFixed(2), currencyCode)}`;\n\n isDetailsLinkDisplayed = true;\n content = (\n \n );\n }\n\n return { content, isDetailsLinkDisplayed };\n }\n}\n\nexport default AccountCustomerBalanceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IBusinessFormItem,\n IBusinessOrganizationListViewProps,\n IFormViewProps,\n InputID\n} from '@msdyn365-commerce-modules/business-organization-list';\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBusinessOrganizationListProps,\n IBusinessOrganizationListResources\n} from '../definition-extensions/business-organization-list.ext.props.autogenerated';\n\n/**\n * Business Form Item component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessFormItemComponent: React.FC = (props: IBusinessFormItem) => {\n const { wrapper, label, errorMessage, input } = props;\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\n/**\n * To render modal.\n * @param className - The modal classname.\n * @param isModalOpen - The boolean for modal open status.\n * @param headingSection - The heading section of modal.\n * @param bodySection - The body section of modal.\n * @param footerSection - The footer section of modal.\n * @param toggleModal - The toggle modal callback function.\n * @returns The JSX Element.\n */\nconst renderModal = (\n className: string,\n isModalOpen: boolean,\n headingSection: React.ReactNode,\n bodySection: React.ReactNode,\n footerSection: React.ReactNode,\n toggleModal?: () => void\n) => {\n return (\n \n {headingSection}\n {bodySection}\n {footerSection}\n \n );\n};\n\n/**\n * Business User Form component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessUserFormComponent: React.FC = (props: IFormViewProps) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\n\n const modalBody = (\n <>\n {modalDescription}\n \n {inputs &&\n inputs.map((item: IBusinessFormItem) => {\n return ;\n })}\n {errorMessage?.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\n/**\n * Selected user interface.\n */\ninterface ISelectedUser {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n FirstName?: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n LastName?: string;\n}\n\n/**\n * Business User Details component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessUserDetailsComponent: React.FC = (props: IFormViewProps) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { modalClassName, FormWrapper, modalHeading, modalDescription, buttons, errorMessage, resources, toggle } = props;\n let modalBody = null;\n const selectedUser = props.selectedUser as ISelectedUser | string;\n\n if (!selectedUser) {\n modalBody = errorMessage;\n } else {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const { FirstName, LastName } = selectedUser as ISelectedUser;\n const userFullName = `${FirstName as string} ${LastName as string}`;\n\n modalBody = (\n <>\n {modalDescription}\n \n \n {userFullName}\n \n {Object.keys(selectedUser).map((data, index) => {\n if (data === InputID.FirstName || data === InputID.LastName) {\n return null;\n }\n const label = (resources[`table${data}HeadingText`] as string) || data;\n return (\n \n {label}\n {': '}\n {selectedUser[data]}\n \n );\n })}\n \n \n );\n }\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\n/**\n * To get form.\n * @param type - The type of form.\n * @param formProps - The form props.\n * @param toggleModal - The toggle modal callback function.\n * @returns The JSX Element.\n */\nconst getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\n switch (type) {\n case 'ADD':\n case 'EDIT':\n return ;\n case 'VIEW':\n case 'REMOVE':\n return ;\n default:\n return null;\n }\n};\n\n/**\n * Business Organization List component.\n * @param props - View props.\n * @returns The JSX Element.\n */\nconst BusinessOrganizationListComponent: React.FC> = props => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\n const {\n OrganizationUserList,\n moduleContainer,\n heading,\n noUsersText,\n addUserButton,\n organizationListTable,\n form,\n formType,\n toggleModal,\n requestAccountStatementButton,\n requestStatementModal\n } = props;\n\n const buttonList: React.ReactNode = (\n \n {addUserButton}\n {requestAccountStatementButton}\n \n );\n\n if (noUsersText) {\n return (\n \n \n {heading}\n \n \n {props.resources.headingForEmptyUserOrganizationList}\n \n \n {props.resources.textForEmptyUserOrganizationList}\n \n {buttonList}\n \n {requestStatementModal}\n {noUsersText}\n \n \n );\n }\n\n return (\n \n \n {heading}\n {buttonList}\n {requestStatementModal}\n {organizationListTable}\n \n {form && getForm(formType, form, toggleModal)}\n \n );\n};\n\nexport default BusinessOrganizationListComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface ISignUpLoadingIcon {\n className: string;\n}\n\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default SignUpLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILoyaltySignUpViewProps } from './loyalty-sign-up';\n\nconst LoyaltySignUpView: React.FC = props => {\n const {\n LoyaltySignUp,\n heading,\n memberHeading,\n signInLink,\n signUpText,\n signUpButton,\n detailsLink,\n termsLink,\n loading,\n infoMessageBar\n } = props;\n\n if (loading) {\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\n return null;\n }\n\n return (\n \n {infoMessageBar}\n {memberHeading}\n {heading}\n {detailsLink}\n {signUpText}\n {termsLink}\n {signUpButton}\n {signInLink}\n \n );\n};\n\nexport default LoyaltySignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountGenericTileViewProps } from './account-generic-tile';\n\nconst AccountGenericTileView: React.FC = props => {\n const { AccountGenericTile, heading, links } = props;\n\n return (\n \n {heading}\n {links}\n \n );\n};\n\nexport default AccountGenericTileView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignInItem, ISignInLoading, ISignInLocalAccount,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/./sign-in';\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n forgetPassword,\r\n disclaimer,\r\n error,\r\n signInButton\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n//\r\n// const SocialAccount: React.FC = ({\r\n// socialAccounts,\r\n// items\r\n// }) => {\r\n//\r\n// return (\r\n// \r\n// {items && items.map((item: ISignInSocialItem) => {\r\n// return (\r\n// \r\n// {item.image}\r\n// {item.text}\r\n// \r\n// );\r\n// })}\r\n// \r\n// );\r\n// };\r\n\r\nconst SignInLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signUpDescription,\r\n signUpLink,\r\n signUpSection,\r\n signUpSectionHeading\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {/*{SocialAccount(signInSocialAccount)}*/}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignInView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ISignUpEmailVerification,\n ISignUpGivenNameVerification,\n ISignUpItem,\n ISignUpLoading,\n ISignUpLocalAccount,\n ISignUpSurnameVerification,\n ISignUpViewProps\n} from './sign-up';\n\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\n return (\n <>\n {successMessage &&\n successMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {errorMessage &&\n errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode) => {\n return <>{button};\n })}\n \n \n );\n};\n\n/**\n * Handles validation of sign-up givenName.\n * @param event - Content editable event.\n * @param event.givenName - Event Given Name.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for Given Name.\n */\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\n/**\n * Handles validation of signUp surname.\n * @param event - Content editable event.\n * @param event.surname - Event surname.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for surname.\n */\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n emailVerification,\n givenNameVerification,\n surnameVerification,\n buttons,\n errorMessage,\n disclaimer\n}) => {\n return (\n \n {items &&\n items.map((item: ISignUpItem) => {\n if (item.key === 'email' && emailVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'surname' && surnameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n );\n};\n\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignUpView: React.FC = props => {\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading, signUpLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(signUpLocalAccount)}\n \n \n );\n};\n\nexport default SignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './sign-up-button';\nexport * from './sign-up-error';\nexport * from './sign-up-input';\nexport * from './sign-up-label';\nexport * from './sign-up-loading-icon';\nexport * from './sign-up-loading-message';\nexport * from './sign-up-success';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLoadingIcon {\n className: string;\n}\n\nconst PasswordResetVerificationLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default PasswordResetVerificationLoadingIcon;\n","import { createContext } from 'react';\r\n\r\n// each payment type will have an ID and a name, both will be strings\r\nexport interface IPaymentTenderType {\r\n tenderName: string;\r\n tenderTypeId: string;\r\n}\r\n\r\n// stores the payment modules element ID as a key and an array of Payment Tender Types for each tender type ID and name the module is associated with\r\ninterface IPaymentContextState {\r\n paymentModules: Record;\r\n selectedPayment: IPaymentTenderType;\r\n}\r\n\r\ninterface IPaymentContext extends IPaymentContextState {\r\n registerPaymentMethod: (elementId: string, tenderTypeList: IPaymentTenderType[]) => void;\r\n setSelectedPaymentState: (paymentTenderType: IPaymentTenderType) => void;\r\n}\r\n\r\nconst _errorMsg = 'Must be used within a provider';\r\n\r\nconst paymentModules: Record = {};\r\nconst selectedPayment: IPaymentTenderType = {} as IPaymentTenderType;\r\nconst registerPaymentMethod = (elementId: string, tenderTypeList: IPaymentTenderType[]) => {\r\n throw Error(_errorMsg);\r\n};\r\nconst setSelectedPaymentState = (paymentTenderType: IPaymentTenderType) => {\r\n throw Error(_errorMsg);\r\n};\r\n\r\nexport const PaymentContext = createContext({\r\n paymentModules,\r\n selectedPayment,\r\n registerPaymentMethod,\r\n setSelectedPaymentState\r\n});\r\n\r\nconst { Consumer: PaymentConsumer, Provider: PaymentProvider } = PaymentContext;\r\nexport { PaymentConsumer, PaymentProvider };\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICheckoutPaymentInstrumentViewProps, ICheckoutPaymentOverlayModal } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-payment-instrument/./checkout-payment-instrument';\r\nimport { ICheckoutPaymentInstrumentProps as ICheckoutPaymentInstrumentExtensionProps } from '../definition-extensions/checkout-payment-instrument.ext.props.autogenerated';\r\n\r\nimport { PaymentContext, IPaymentTenderType } from '../../../modules/payment-container/context/payment-context';\r\n\r\nconst OverlayModal: React.FC = ({\r\n modal\r\n}) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst CheckoutPaymentInstrumentView: React.FC> = ({\r\n checkoutPaymentInstrument,\r\n className,\r\n id,\r\n waiting,\r\n alert,\r\n paymentInformation,\r\n addPaymentForm,\r\n overlayModal,\r\n config: { tenderType },\r\n ...restProps\r\n}) => {\r\n\r\n const paymentContext = React.useContext(PaymentContext);\r\n const paymentTenderTypes: IPaymentTenderType[] = [];\r\n\r\n React.useEffect(() => {\r\n tenderType?.map(tt => {\r\n paymentTenderTypes.push({ tenderTypeId: tt.tenderId, tenderName: tt.tenderName });\r\n });\r\n paymentContext.registerPaymentMethod(id, paymentTenderTypes);\r\n }, []);\r\n\r\n return (\r\n \r\n {waiting}\r\n {alert}\r\n {paymentInformation}\r\n {addPaymentForm}\r\n {overlayModal && }\r\n \r\n );\r\n}\r\n\r\nexport default CheckoutPaymentInstrumentView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport B2bRequestsStatus from './b2b-requests-status';\nimport B2bRequestsStatusView from './b2b-requests-status.view';\n\nexport * from './b2b-requests-status';\nexport * from './b2b-requests-status.data';\nexport { IB2bRequestsStatusConfig, IB2bRequestsStatusProps } from './b2b-requests-status.props.autogenerated';\nexport * from './b2b-requests-status.view';\n\nexport { B2bRequestsStatus, B2bRequestsStatusView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetVerificationButtonComponent from './components/password-reset-verification-button';\nimport PasswordResetVerificationErrorComponent from './components/password-reset-verification-error';\nimport PasswordResetVerificationInputComponent from './components/password-reset-verification-input';\nimport PasswordResetVerificationLabelComponent from './components/password-reset-verification-label';\nimport PasswordResetVerificationLoadingIconComponent from './components/password-reset-verification-loading-icon';\nimport PasswordResetVerificationLoadingMessageComponent from './components/password-reset-verification-loading-message';\nimport PasswordResetVerificationSuccessComponent from './components/password-reset-verification-success';\nimport { IPasswordResetVerificationConfig, IPasswordResetVerificationProps } from './password-reset-verification.props.autogenerated';\n\nexport interface IPasswordResetVerificationViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetVerificationItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationLocalAccount {\n localAccount: INodeProps;\n verificationControlWrapper: INodeProps;\n items: IPasswordResetVerificationItem[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationButtonsWrapper: INodeProps;\n verificationButtons: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetVerificationLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationViewProps {\n className: string;\n viewState: IPasswordResetVerificationViewState;\n loading: IPasswordResetVerificationLoading;\n passwordResetVerification: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetVerificationLocalAccount: IPasswordResetVerificationLocalAccount;\n}\n\n/**\n *\n * PasswordResetVerification component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordResetVerification extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset-verification';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetVerificationProps) {\n super(props);\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.templateVersion = '';\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IPasswordResetVerificationProps,\n nextState: IPasswordResetVerificationViewState\n ): 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 {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordResetVerification: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: (\n \n )\n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetVerificationLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private _prePopulateData(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n if (obj.ID.toLowerCase() === 'email') {\n this.emailRegex = obj.PAT;\n } else if (obj.ID.toLowerCase() === 'emailverificationcontrol') {\n this.templateVersion = 'v2';\n }\n });\n if (!this.templateVersion) {\n this.templateVersion = 'v1';\n }\n }\n }\n\n private _updateErrorMessage(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: this.props.resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n }\n\n private _renderLocalAccount(): IPasswordResetVerificationLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n items: [\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n )\n ],\n successMessage: [\n ,\n\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n \n ],\n verificationButtonsWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n verificationButtons: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): IPasswordResetVerificationItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n}\n\nexport default PasswordResetVerification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { IWriteReviewData, IWriteReviewViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IWriteReviewProps } from '../definition-extensions/write-review.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Product Image.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst renderProductImage = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\r\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\r\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\r\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Product Description.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst renderProductDescription = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const product = props.data.product.result;\r\n return (\r\n \r\n
\r\n {renderProductImage(props)}\r\n
\r\n
\r\n
\r\n {product?.Name}\r\n
\r\n
\r\n {product?.Name}\r\n
\r\n
\r\n {product?.ItemId}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Create Write Review Modal.\r\n * @param props - WriteReview ViewProps.\r\n * @returns JSX Element.\r\n */\r\nconst createReviewModal = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\r\n const { resources, moduleProps, reviewModal } = props;\r\n\r\n return (\r\n \r\n {reviewModal.modalHeader}\r\n \r\n \r\n \r\n {renderProductDescription(props)}\r\n \r\n
\r\n {resources.selectRatingLabel}\r\n
\r\n {reviewModal.rating}\r\n
\r\n
\r\n \r\n {resources.reviewTitleLabel}\r\n {reviewModal.titleInput}\r\n \r\n \r\n {resources.reviewTextLabel}\r\n {reviewModal.textInput}\r\n \r\n {reviewModal.privacyPolicyUrl}\r\n {reviewModal.error}\r\n
\r\n
\r\n \r\n {reviewModal.submitButton}\r\n {reviewModal.cancelButton}\r\n \r\n
\r\n );\r\n};\r\n\r\n/**\r\n * WriteReview view.\r\n * @param props - WriteReview ViewProps.\r\n * @returns WriteReview view module.\r\n */\r\nconst WriteReviewView: React.FC> = props => {\r\n const { config, heading, signInMessage, signInButton, modalToggle, moduleProps } = props;\r\n const { paragraph } = config;\r\n const isAuthenticated = props.context.request.user.isAuthenticated;\r\n const text = paragraph && ();\r\n\r\n return (\r\n \r\n {heading}\r\n {!isAuthenticated ? <>\r\n {signInMessage}\r\n {signInButton}\r\n : <>\r\n {text}\r\n {modalToggle}\r\n {createReviewModal(props)}\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default WriteReviewView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountWelcomeTile from './account-welcome-tile';\nimport AccountWelcomeTileView from './account-welcome-tile.view';\n\nexport * from './account-welcome-tile';\nexport * from './account-welcome-tile.data';\nexport { IAccountWelcomeTileConfig, IAccountWelcomeTileProps } from './account-welcome-tile.props.autogenerated';\nexport * from './account-welcome-tile.view';\n\nexport { AccountWelcomeTile, AccountWelcomeTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n }\n\n /**\n * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-interactive-feature-collection__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n }\n\n return editableLinks;\n };\n}\nexport default InteractiveFeatureCollectionLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem extends React.PureComponent {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountLoyalty from './account-loyalty';\nimport AccountLoyaltyView from './account-loyalty.view';\n\nexport * from './account-loyalty';\nexport * from './account-loyalty.data';\nexport { IAccountLoyaltyConfig, IAccountLoyaltyProps, IAccountLoyaltyResources } from './account-loyalty.props.autogenerated';\nexport * from './account-loyalty.view';\nexport * from './components';\n\nexport { AccountLoyalty, AccountLoyaltyView };\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpLocalAccount,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/./sign-up';\r\n\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage\r\n}) => {\r\n\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({\r\n givenName,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({\r\n surname,\r\n errorMessage\r\n}) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n if (item.key === 'surname' && surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/./checkout-customer-account-payment';\r\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/./components/get-account-payment-form-edit-mode';\r\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/./components/get-account-payment-form-summary-mode';\r\nimport { ICheckoutCustomerAccountPaymentProps as ICheckoutCustomerAccountPaymentExtensionProps } from '../definition-extensions/checkout-customer-account-payment.ext.props.autogenerated';\r\n\r\nimport { PaymentContext, IPaymentTenderType } from '../../../modules/payment-container/context/payment-context';\r\n// import { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\r\nimport MsDyn365 from \"@msdyn365-commerce/core\";\r\n\r\nexport const SummaryForm: React.FC = ({ formProps, label, paymentAmount, addPaymentButton, appliedLine, bottomBorder }) => (\r\n \r\n <>\r\n {label}\r\n {appliedLine}\r\n {bottomBorder}\r\n \r\n \r\n);\r\n\r\nexport const EditForm: React.FC = ({ formProps, inputLabel, inputAmount, customerName, customerAccountNumber, addPaymentButton, customerSince, accountCredit, alert, accountDetails, appliedLine, bottomBorder }, props) => {\r\n return (\r\n \r\n <>\r\n\r\n {customerName}\r\n {customerAccountNumber}\r\n {customerSince}\r\n {/* {accountCredit} */}\r\n {/* {accountDetails} */}\r\n {/* {inputLabel} */}\r\n {getInputLabel()}\r\n {/* {alert} */}\r\n {appliedLine}\r\n {bottomBorder}\r\n \r\n \r\n)};\r\n\r\nlet customInputLabel = '';\r\n\r\nconst getInputLabel = () => {\r\n return (\r\n \r\n {customInputLabel}\r\n \r\n );\r\n}\r\n\r\n// const getAvailableCredit = (creditBalances: CustomerBalances | undefined) => {\r\n// let availableCredit = 0;\r\n\r\n// if (!creditBalances) {\r\n// return 0;\r\n// }\r\n\r\n// if (creditBalances.InvoiceAccountCreditLimit === 0) {\r\n// availableCredit = creditBalances.CreditLimit - creditBalances.Balance - creditBalances.PendingBalance;\r\n// } else {\r\n// availableCredit = creditBalances.InvoiceAccountCreditLimit - creditBalances.InvoiceAccountBalance - creditBalances.InvoiceAccountPendingBalance;\r\n// }\r\n\r\n// return availableCredit;\r\n// };\r\n\r\nconst addPayment = async (props: ICheckoutCustomerAccountPaymentViewProps): Promise => {\r\n const checkoutState = props.data.checkout.result;\r\n\r\n if (!checkoutState) {\r\n props.context.telemetry.error('checkout state not found');\r\n return;\r\n }\r\n\r\n // const availableCredit = getAvailableCredit(props.data.creditBalances?.result);\r\n const cartTotal = (await props.data.checkout).checkoutCart.cart.TotalAmount;\r\n\r\n // console.log(availableCredit);\r\n // console.log(cartTotal);\r\n // if (cartTotal && availableCredit >= cartTotal) {\r\n if (cartTotal) {\r\n await checkoutState.updateCustomerAccountAmount({ newAmount: cartTotal });\r\n props.context.telemetry.information('customer account payment amount updated');\r\n }\r\n};\r\n\r\nconst CheckoutCustomerAccountView: React.FC> = props => {\r\n const { checkoutCustomerAccount, summaryView, editView, moduleState, id, config: { tenderType } } = props;\r\n \r\n const paymentContext = React.useContext(PaymentContext);\r\n const paymentTenderTypes: IPaymentTenderType[] = [];\r\n // console.log(props);\r\n\r\n React.useEffect(() => {\r\n tenderType?.map(tt => {\r\n paymentTenderTypes.push({ tenderTypeId: tt.tenderId, tenderName: tt.tenderName });\r\n });\r\n paymentContext.registerPaymentMethod(id, paymentTenderTypes);\r\n sessionStorage.removeItem('ON_ACCOUNT_APPLIED');\r\n customInputLabel = props.config.processedOnAccountText || '';\r\n }, []);\r\n\r\n if (MsDyn365.isBrowser) {\r\n document.querySelector('.payment-selector__button-container--on-account')?.addEventListener('click', () => {\r\n if (sessionStorage.getItem('ON_ACCOUNT_APPLIED') === '1') {\r\n return;\r\n }\r\n sessionStorage.setItem('ON_ACCOUNT_APPLIED', '1');\r\n addPayment(props);\r\n });\r\n }\r\n\r\n return (\r\n \r\n {moduleState.isReady && summaryView && }\r\n {!moduleState.isReady && editView && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutCustomerAccountView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport SignUp from './sign-up';\nimport SignUpView from './sign-up.view';\n\nexport * from './components';\nexport * from './sign-up';\nexport * from './sign-up.props.autogenerated';\nexport * from './sign-up.view';\n\nexport { SignUp, SignUpView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nexport interface ILoyaltyTermsModalProps {\n resources: ILoyaltyTermsModalResources;\n returnRef: React.RefObject | undefined;\n checked: boolean;\n isOpen: boolean;\n terms: React.ReactNode;\n telemetryContent?: ITelemetryContent;\n onToggle(): void;\n onSubmit(): void;\n onCheck(): void;\n}\n\nexport interface ILoyaltyTermsModalResources {\n loyaltyTermsHeading: string;\n loyaltyAgreeToTerms: string;\n joinLoyaltyTermsText: string;\n cancelLoyaltyTermsText: string;\n}\n\nexport interface ILoyaltyTermsModalViewProps {\n modal: INodeProps;\n modalHeader: INodeProps;\n modalFooter: INodeProps;\n modalBody: INodeProps;\n heading: React.ReactElement;\n cancelButton: React.ReactElement;\n submitButton: React.ReactElement;\n terms: React.ReactNode;\n checkbox: React.ReactElement;\n agreeText: React.ReactElement;\n agreeSection: INodeProps;\n}\n\nexport const LoyaltyTermsModal = (props: ILoyaltyTermsModalProps): ILoyaltyTermsModalViewProps => {\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.LoyaltyTermsCancel);\n const loyaltyTermCancelAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsSubmit;\n const loyaltyTermSubmitAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsAgree;\n const loyaltyTermCheckboxAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n return {\n modal: {\n tag: Modal,\n className: 'ms-loyalty-terms__modal',\n toggle: props.onToggle,\n applicationNode: 'renderPage',\n isOpen: props.isOpen,\n returnFocusRef: props.returnRef\n },\n modalHeader: { tag: ModalHeader, className: 'ms-loyalty-terms__modal-header', toggle: props.onToggle },\n modalFooter: { tag: ModalFooter, className: 'ms-loyalty-terms__modal-footer' },\n modalBody: { tag: ModalBody, className: 'ms-loyalty-terms__modal-body' },\n cancelButton: (\n \n ),\n submitButton: (\n \n {props.resources.joinLoyaltyTermsText}\n \n ),\n heading:

{props.resources.loyaltyTermsHeading}

,\n terms: props.terms,\n agreeSection: { className: 'ms-loyalty-terms__agree-section' },\n checkbox: (\n \n ),\n agreeText:

{props.resources.loyaltyAgreeToTerms}

\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './account-customer-balance-tile-info';\nexport * from './account-customer-balance-tile-links';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { getLoyaltyCardAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { GetLoyaltyCardInput, issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport * as React from 'react';\n\nimport { ILoyaltyTermsModalViewProps, LoyaltyTermsModal } from './components/loyalty-terms-modal';\nimport { ILoyaltyTermsData } from './loyalty-terms.data';\nimport { ILoyaltyTermsProps } from './loyalty-terms.props.autogenerated';\n\nexport interface ILoyaltyTermsState {\n checked: boolean;\n clicked: boolean;\n isModalOpen: boolean;\n}\nexport interface ILoyaltyTermsViewProps extends ILoyaltyTermsProps {\n LoyaltyTerms: IModuleProps;\n modalToggle: React.ReactElement;\n modal: ILoyaltyTermsModalViewProps;\n loading: boolean;\n}\n\n/**\n *\n * LoyaltyTerms component.\n * @extends {React.Component>}\n */\nclass LoyaltyTerms extends React.Component, ILoyaltyTermsState> {\n private readonly toggleRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent;\n\n public constructor(props: ILoyaltyTermsProps) {\n super(props);\n this._toggle = this._toggle.bind(this);\n this._submit = this._submit.bind(this);\n this._checkboxChecked = this._checkboxChecked.bind(this);\n this.toggleRef = React.createRef();\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n let search = this.props.context.request.url.requestUrl.search;\n let isJoining = false;\n if (search) {\n search = search.substring(1);\n const qsps = search.split('&');\n for (const qsp of qsps) {\n const splitQsp = qsp.split('=');\n isJoining = splitQsp[0] === 'joiningLoyalty' && splitQsp[1] === 'true';\n if (isJoining) {\n break;\n }\n }\n }\n\n this.state = {\n isModalOpen: isJoining,\n checked: false,\n clicked: false\n };\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltyTermsProps, nextState: ILoyaltyTermsState): 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 {\n config: { className, hideToggle },\n resources,\n slots: { serviceTerms },\n data: { loyaltyCard },\n context: {\n request: {\n user: { isAuthenticated }\n }\n }\n } = this.props;\n const completeClass = classname('ms-loyalty-terms', className);\n\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltyTerms: {\n moduleProps: this.props,\n className: completeClass\n },\n loading: loyaltyCard.status === 'LOADING',\n modalToggle: hideToggle !== true && (\n \n ),\n modal:\n isAuthenticated &&\n loyaltyCard.result &&\n loyaltyCard.result.CardNumber === undefined &&\n LoyaltyTermsModal({\n resources: { ...resources },\n returnRef: this.toggleRef,\n checked: this.state.checked,\n isOpen: this.state.isModalOpen,\n terms: serviceTerms,\n telemetryContent: this.telemetryContent,\n onToggle: this._toggle,\n onSubmit: this._submit,\n onCheck: this._checkboxChecked\n })\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _toggle(): void {\n this.setState({ isModalOpen: !this.state.isModalOpen, checked: false });\n }\n\n private _submit(): void {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(card => {\n if (this.props.config.redirectToLoyalty) {\n window.location.assign(getUrlSync('loyalty', this.props.context.actionContext) || '');\n } else {\n getLoyaltyCardAsync({ callerContext: this.props.context.actionContext }, card.CardNumber || '')\n .then(fullCard => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n fullCard\n );\n })\n .catch((error: Error) => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n card\n );\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to fetch loyalty card');\n });\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n }\n\n private _checkboxChecked(): void {\n this.setState({ checked: !this.state.checked });\n }\n}\n\nexport default LoyaltyTerms;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport { SalesInvoice, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getSimpleProductsAction, ProductInput } from '@msdyn365-commerce-modules/retail-actions';\r\nimport * as React from 'react';\r\n\r\nimport { IInvoiceDetailsViewProps } from '@msdyn365-commerce-modules/invoice-details/src/modules/invoice-details/./invoice-details';\r\nimport { InvoiceDetailsProductsComponent, InvoiceDetailsModel } from './components/invoice-details-products.component';\r\n\r\n\r\n\r\nexport const InvoiceDetailsView: React.FC = props => {\r\n const {\r\n config,\r\n header,\r\n /*products,*/\r\n paymentDetails,\r\n payInvoiceError,\r\n context,\r\n resources,\r\n typeName\r\n } = props;\r\n const baseClassName: string = 'msc-invoice-details';\r\n const [invoiceDetails, setInvoiceDetails] = React.useState();\r\n const [products, setProducts] = React.useState([]);\r\n\r\n const getInvoiceDetails = async (): Promise => {\r\n const invoice = await props.data.invoice;\r\n const invDetails = await props.data.invoiceDetails;\r\n const invoiceDetailsModel = new InvoiceDetailsModel(invoice, invDetails, products);\r\n setInvoiceDetails(invoiceDetailsModel);\r\n return invDetails;\r\n };\r\n\r\n const getProducts = async (channelId?: number): Promise => {\r\n const invDetails = await getInvoiceDetails();\r\n const invoiceLines = invDetails.SalesInvoiceLine || [];\r\n const productInputs = invoiceLines.filter(product => product.RecordId).map(product => new ProductInput(\r\n product.RecordId!, context.request.apiSettings, channelId, undefined, context.actionContext.requestContext));\r\n const simpleProductsRes = await getSimpleProductsAction(productInputs, context.actionContext);\r\n setProducts(simpleProductsRes);\r\n return getSimpleProductsAction(productInputs, context.actionContext);\r\n }\r\n\r\n const renderProducts = (): JSX.Element | null => {\r\n const { imageSettings } = config;\r\n\r\n if (!invoiceDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n React.useEffect(() => {\r\n void getProducts();\r\n }, []);\r\n \r\n return (\r\n \r\n {header}\r\n {/* {products} */}\r\n {renderProducts()}\r\n {paymentDetails}\r\n {payInvoiceError}\r\n \r\n );\r\n};\r\n\r\nexport default InvoiceDetailsView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAccountPreference, IAccountPreferences, IAccountProfileItem, IAccountProfileViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/account-profile/./account-profile';\r\n\r\nconst AccountPreferencesSection: React.FC = ({\r\n accountPreferences,\r\n heading,\r\n personalization,\r\n extraPreferences\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n \r\n {\r\n extraPreferences && extraPreferences.map((preferenceSecton, index) => {\r\n return ;\r\n })\r\n }\r\n \r\n );\r\n};\r\n\r\nconst AccountPreferenceSection: React.FC = ({\r\n accountPreference,\r\n heading,\r\n description,\r\n buttonWrapper,\r\n buttonYesText,\r\n button,\r\n buttonNoText\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {description}\r\n \r\n {buttonNoText}\r\n {button}\r\n {buttonYesText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AccountProfileSection: React.FC = ({\r\n AccountProfileItem,\r\n heading,\r\n links,\r\n description\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {description}\r\n {/*{links}*/}\r\n \r\n );\r\n};\r\n\r\nconst AccountProfileView: React.FC = props => {\r\n const { AccountProfile, accountProfileWrapper, heading, emailSection, nameSection, preferenceSection, customerAttributesWrapper, customerAttributesSection } = props;\r\n\r\n return (\r\n \r\n {accountProfileWrapper && (\r\n {heading}\r\n \r\n \r\n \r\n \r\n )}\r\n {customerAttributesWrapper && (\r\n {customerAttributesSection}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AccountProfileView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n CustomerBalances\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps {\n heading: string;\n homeButton: React.ReactNode;\n accountSectionHeading: React.ReactNode;\n accountLabels: React.ReactNode;\n accountValues: React.ReactNode;\n creditSummarySectionHeading: React.ReactNode;\n creditSummaryLabels?: React.ReactNode;\n creditSummaryValues?: React.ReactNode;\n actions: React.ReactNode;\n requestStatementModal: React.ReactNode;\n availableCredit?: React.ReactNode;\n balanceOwed?: React.ReactNode;\n creditExcess?: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceState {\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n}\n\n/**\n *\n * AccountCustomerBalance component.\n * @extends {React.PureComponent>}\n */\nclass AccountCustomerBalance extends React.PureComponent<\n IAccountCustomerBalanceProps,\n IAccountCustomerBalanceState\n> {\n private readonly telemetryContent?: ITelemetryContent;\n\n @computed get canSubmitStatementRequest(): boolean {\n return this.state.statementRequestFromDateString !== '' && this.state.statementRequestToDateString !== '';\n }\n\n constructor(props: IAccountCustomerBalanceProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.state = {\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0]\n };\n }\n\n public render(): JSX.Element | null {\n const customer = get(this.props, 'data.customerInformation.result');\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n if ([customer, account].includes(undefined)) {\n this.props.context.telemetry.error('Customer data is unavailable, module will not render');\n return null;\n }\n\n const { config, resources, context } = this.props;\n const { heading } = config;\n const {\n creditSummarySectionHeading,\n accountSectionHeading,\n backToShoppingText,\n customerSincePrefix,\n availableCreditLabel,\n balanceOwedLabel,\n creditExcessLabel,\n requestStatementButtonLabel,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n myAccountStatementLabel,\n fullOrganizationLabel,\n modalAriaLabel\n } = resources;\n\n const {\n isStatementRequestModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n statementRequestMaxDateString\n } = this.state;\n\n const accountNumber = customer.AccountNumber;\n const createdOn = this._formatJoinDate(new Date(customer.CreatedDateTime));\n const name = `${customer.FirstName} ${customer.LastName}`;\n let customerCredit = 0;\n let customerAccountBalance = 0;\n let excess = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n customerAccountBalance = account.Balance;\n excess = account.Balance - account.CreditLimit;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n customerAccountBalance = account.InvoiceAccountBalance;\n excess = account.InvoiceAccountBalance - account.InvoiceAccountCreditLimit;\n }\n\n const creditExcess = excess > 0 ? this._formatCurrency(excess) : null;\n const availableCredit = this._formatCurrency(customerCredit);\n const balanceOwed = this._formatCurrency(customerAccountBalance);\n const backLink = Msdyn365.getUrlSync('home', context.actionContext) || '';\n const emailAddress = customer.Email;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const isB2BAdmin = isB2BSite && customer.IsB2bAdmin;\n\n const actionBar = isB2BAdmin ? (\n \n ) : (\n isB2BSite && (\n \n )\n );\n\n const viewProps = {\n ...this.props,\n heading: ,\n accountSectionHeading: (\n \n ),\n accountLabels: (\n \n ),\n accountValues: ,\n creditSummarySectionHeading: (\n \n ),\n availableCredit: ,\n balanceOwed: ,\n creditExcess: ,\n homeButton: ,\n actions: actionBar,\n requestStatementModal: isB2BSite && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n };\n}\n\nexport default AccountCustomerBalance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { InputType } from '../business-organization-list';\n\nexport interface IBusinessForm {\n FormWrapper: INodeProps;\n message?: React.ReactNode;\n items: IBusinessFormItem[];\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n}\n\nexport interface IBusinessFormItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IBusinessFormInput {\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IUserFormItem {\n id: string;\n type: InputType;\n label: string;\n value: string;\n maxChars?: string;\n isRequired: boolean;\n pattern?: string;\n isDisabled?: boolean;\n customClass?: string;\n fieldReference?: React.RefObject;\n}\n\nexport interface IBusinessFormInputProps {\n id?: string;\n type: string;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n isRequired: boolean;\n isDisabled?: boolean;\n placeholder?: string;\n fieldReference?: React.RefObject;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport const FormInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n isRequired,\n isDisabled,\n onChange,\n fieldReference,\n placeholder\n}) => (\n \n);\n\nexport interface IBusinessFormLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n asteriskText: string;\n}\n\nexport const FormLabel: React.FC = ({ id, forId, className, text, asteriskText }) => (\n \n);\n\nexport interface IBusinessFormButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nexport const FormButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, disabled, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport interface IBusinessFormErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nexport const FormFieldError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileData } from './account-welcome-tile.data';\nimport { IAccountWelcomeTileProps } from './account-welcome-tile.props.autogenerated';\n\nexport interface IAccountWelcomeTileViewProps extends IAccountWelcomeTileProps {\n AccountWelcomeTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AccountWelcome component.\n * @extends {React.PureComponent>}\n */\nclass AccountWelcomeTile extends React.PureComponent> {\n public render(): JSX.Element {\n const { config, data } = this.props;\n const { className } = config;\n\n const accountInfo = data.accountInformation.result;\n const heading = {\n ...config.heading,\n ...{\n text: `${config.heading.text ? config.heading.text : ''} ${\n accountInfo && accountInfo.FirstName ? accountInfo.FirstName : ''\n }`\n }\n };\n\n const viewProps = {\n ...this.props,\n className,\n AccountWelcomeTile: {\n moduleProps: this.props,\n className: classnames('ms-account-welcome-tile', config.className)\n },\n heading: heading && heading.text && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n}\n\nexport default AccountWelcomeTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountWishlistTile from './account-wishlist-tile';\nimport AccountWishlistTileView from './account-wishlist-tile.view';\n\nexport * from './account-wishlist-tile';\nexport * from './account-wishlist-tile.data';\nexport {\n IAccountWishlistTileConfig,\n IAccountWishlistTileProps,\n IAccountWishlistTileResources\n} from './account-wishlist-tile.props.autogenerated';\nexport * from './account-wishlist-tile.view';\n\nexport { AccountWishlistTile, AccountWishlistTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IMapData } from './map.data';\nimport { IMapProps, IPushpinOptionsData } from './map.props.autogenerated';\n\n/**\n * Header Interface.\n */\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n}\n\n/**\n * MapViewProps Interface.\n */\nexport interface IMapViewProps extends IMapProps {\n ModuleProps: IModuleProps;\n Header: IHeader;\n MapProps: INodeProps;\n Map: Microsoft.Maps.Map | undefined;\n}\n\n/**\n *\n * Map component.\n * @extends {React.Component>}\n */\n@observer\nclass Map extends React.PureComponent> {\n @observable public map: Microsoft.Maps.Map | undefined;\n\n private readonly mapRef: React.RefObject = React.createRef();\n\n public constructor(props: IMapProps) {\n super(props);\n }\n\n public componentDidMount(): void {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n }\n } = this.props;\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 if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n this._initMap();\n this._updateMap();\n }\n\n when(\n () => !!this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded,\n () => {\n this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded(true);\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.loadMapApi,\n () => {\n this.props.data.storeSelectorStateManager.result?.loadMapApi({\n key: channel?.BingMapsApiKey,\n lang: this.props.context.actionContext.requestContext.locale,\n market: this.props.context?.actionContext?.requestContext?.channel?.ChannelCountryRegionISOCode\n });\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\n () => {\n this._initMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\n this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\n this.map\n ];\n },\n () => {\n this._updateMap();\n }\n );\n }\n\n public render(): JSX.Element | null {\n const {\n config: { heading, className },\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n const shouldDisplayMap = storeSelectorStateManager?.listMapViewState.displayMap;\n\n const viewProps: IMapViewProps = {\n ...this.props,\n ModuleProps: {\n tag: 'div',\n moduleProps: this.props,\n className: classname('ms-map', { show: shouldDisplayMap }, className)\n },\n Header: {\n headerProps: { className: 'ms-map__header' },\n heading: heading?.text && (\n \n )\n },\n MapProps: {\n tag: 'div',\n className: 'ms-map__body',\n ref: this.mapRef\n },\n Map: this.map\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Method to be called on heading change.\n * @param event -Content Edit Event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Initialize the map.\n */\n private readonly _initMap = () => {\n const {\n context: {\n actionContext: {\n requestContext: { channel }\n }\n },\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, {\n credentials: channel?.BingMapsApiKey,\n pushpinAccessible: true\n });\n Microsoft.Maps.Events.addHandler(this.map, 'click', async () => {\n await storeSelectorStateManager.setSelectedStoreLocationId(undefined);\n });\n }\n };\n\n /**\n * Update the map.\n */\n private readonly _updateMap = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\n const orgUnitStoreInformation = storeSelectorStateManager?.context?.orgUnitStoreInformation;\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\n\n if (this.map && orgUnitStoreInformation) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const storeLocationList = orgUnitStoreInformation.filter(store => store.OrgUnitAvailability !== undefined);\n\n for (const [index, unitStoreInfo] of storeLocationList.entries()) {\n const storeLocation = unitStoreInfo.OrgUnitAvailability?.OrgUnitLocation;\n\n if (storeLocation?.Latitude && storeLocation.Longitude) {\n const isSelectedLocation = selectedStoreLocationId === storeLocation.OrgUnitNumber;\n const options = this._getPushpinOptions(isSelectedLocation, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(\n new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude),\n options\n );\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleClickEvent(storeLocation.OrgUnitNumber);\n });\n isSelectedLocation ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isSelectedLocation) {\n mapLocation = storeLocation;\n }\n }\n }\n\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n // Create a LocationRect from array of pushpins and set the map view.\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Handle click event.\n * @param orgUnitNumber - Organization unit number.\n */\n private readonly handleClickEvent = (orgUnitNumber: string | undefined): void => {\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager.result;\n storeSelectorStateManager?.setSelectedStoreLocationId(undefined);\n if (orgUnitNumber) {\n setTimeout(() => {\n storeSelectorStateManager?.setSelectedStoreLocationId(orgUnitNumber);\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- Time out.\n }, 500);\n }\n };\n\n /**\n * Get the pushpin option.\n * @param isSelectedLocation - Is selected location.\n * @param index - Index.\n * @param pushpinOptions - PushpinOptions.\n * @returns - The pushpin options.\n */\n private readonly _getPushpinOptions = (isSelectedLocation: boolean, index: number, pushpinOptions?: IPushpinOptionsData) => {\n const text = pushpinOptions?.showIndex ? (index + 1).toString() : undefined;\n\n const size = pushpinOptions?.size || 1;\n const color = isSelectedLocation ? pushpinOptions?.selectionColor || pushpinOptions?.color : pushpinOptions?.color;\n const icon = this._getSvgIcon(size, color, text);\n\n return {\n // Fallback if icon doesn't render properly\n color: isSelectedLocation ? pushpinOptions?.selectionColor : pushpinOptions?.color,\n icon\n };\n };\n\n private readonly _getSvgIcon = (size: number, color?: string, text?: string) => {\n const baseValue: number = 32;\n return `\n \n ${text ? `${text}` : ''}\n `;\n };\n}\n\nexport default Map;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountAddressTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-generic-tile.props.autogenerated';\n\nexport interface IAccountGenericTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountGenericTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-generic-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountGenericTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-order-templates-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n\n if (!this.props.context.request.params.isEditor && !isChannelTypeB2B(this.props.context.request)) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountOrderTemplatesTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './account-profile-description';\nexport { IAccountProfileLinks } from './account-profile-links';\nexport * from './account-profile-text';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileViewProps } from './b2b-requests-tile';\n\nconst B2bRequestsTileView: React.FC = props => {\n const { b2bRequestsTile, heading, links } = props;\n\n return (\n \n {heading}\n {links}\n \n );\n};\n\nexport default B2bRequestsTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetVerificationInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetVerificationInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n onChange\n}) => (\n \n);\n\nexport default PasswordResetVerificationInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileViewProps } from './account-welcome-tile';\n\nconst AccountWelcomeTileView: React.FC = props => {\n const { AccountWelcomeTile, heading } = props;\n\n return {heading};\n};\n\nexport default AccountWelcomeTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILoyaltyTermsViewProps } from './loyalty-terms';\n\nconst LoyaltyTermsView: React.FC = props => {\n const { LoyaltyTerms, modalToggle, modal, loading } = props;\n\n return !loading && modal ? (\n \n {modalToggle}\n \n {modal.heading}\n \n {modal.terms}\n \n {modal.checkbox}\n {modal.agreeText}\n \n \n \n {modal.submitButton}\n {modal.cancelButton}\n \n \n \n ) : null;\n};\n\nexport default LoyaltyTermsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-address-tile.props.autogenerated';\n\nexport interface IAccountAddressTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountAddressTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-address-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountAddressTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IHeader, IMapViewProps } from './map';\n\n/**\n * Render the heading.\n * @param param0 -- Heading props.\n * @param param0.headerProps -- Heading Props.\n * @param param0.heading -- Heading Node.\n * @returns -- Returns the node.\n */\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\n\n/**\n * Renders the map view props.\n * @param param0 -- Map view props.\n * @param param0.ModuleProps -- Module props.\n * @param param0.Header -- Header props.\n * @param param0.MapProps -- Map props.\n * @returns -- Returns the map module.\n */\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\n \n {Header && }\n \n \n);\n\nexport default MapView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface ISignUpLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignUpLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AdminRequestStatementButton, RequestStatementModal } from './components';\n\nexport { AdminRequestStatementButton, RequestStatementModal };\n\nexport * from './account-customer-balance';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport AccountOrderTemplatesTile from './account-order-templates-tile';\nimport AccountOrderTemplatesTileView from './account-order-templates-tile.view';\n\nexport * from './account-order-templates-tile';\nexport * from './account-order-templates-tile.data';\nexport {\n IAccountOrderTemplatesTileConfig,\n IAccountOrderTemplatesTileProps,\n IAccountOrderTemplatesTileResources\n} from './account-order-templates-tile.props.autogenerated';\nexport * from './account-order-templates-tile.view';\n\nexport { AccountOrderTemplatesTile, AccountOrderTemplatesTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './sign-in-button';\nexport * from './sign-in-description';\nexport * from './sign-in-error';\nexport * from './sign-in-input';\nexport * from './sign-in-label';\nexport * from './sign-in-link';\nexport * from './sign-in-loading-icon';\nexport * from './sign-in-loading-message';\nexport * from './sign-in-text';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n IDataTableProps,\n IHeadingsProperty,\n ITableItemProps,\n ITableRowProps,\n Table,\n TableDataType\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay.replace('{0}', request.UserFirstName!).replace('{1}', request.UserLastName!);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (\n !StringExtensions.isNullOrEmpty(accountStatementStartDateTime) &&\n !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)\n ) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails.replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (\n operationRequests: BusinessPartnerOperationRequest[] | undefined,\n props: IB2bRequestsStatusProps\n): ITableRowProps[] => {\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map(request => {\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row\n .filter(item => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n })\n .map(item => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: (context && getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n {this.getItemNumberDisplayString(itemCount)}\n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IPasswordResetVerificationItem,\n IPasswordResetVerificationLoading,\n IPasswordResetVerificationLocalAccount,\n IPasswordResetVerificationViewProps\n} from './password-reset-verification';\n\nconst PasswordResetVerificationItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n verificationControlWrapper,\n items,\n successMessage,\n errorMessage,\n verificationButtonsWrapper,\n verificationButtons,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n \n {successMessage &&\n successMessage.map((message: React.ReactNode, index: number) => {\n return {message};\n })}\n {items &&\n items.map((item: IPasswordResetVerificationItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {verificationButtons &&\n verificationButtons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n \n );\n};\n\nconst PasswordResetVerificationLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetVerificationView: React.FC = props => {\n const {\n passwordResetVerification,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n heading,\n passwordResetVerificationLocalAccount\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetVerificationLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetVerificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceViewProps } from './account-customer-balance';\n\nexport default (props: IAccountCustomerBalanceViewProps) => {\n const {\n heading,\n accountSectionHeading,\n creditSummarySectionHeading,\n accountLabels,\n accountValues,\n creditSummaryLabels,\n creditSummaryValues,\n homeButton,\n actions,\n requestStatementModal,\n availableCredit,\n balanceOwed,\n creditExcess\n } = props;\n\n return (\n \n {heading}\n {requestStatementModal}\n {actions}\n {accountSectionHeading}\n
\n {accountLabels}\n {accountValues}\n
\n {creditSummarySectionHeading}\n
\n {creditSummaryLabels}\n {creditSummaryValues}\n {availableCredit}\n {balanceOwed}\n {creditExcess}\n
\n {homeButton}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport LoyaltyTerms from './loyalty-terms';\nimport LoyaltyTermsView from './loyalty-terms.view';\n\nexport * from './components';\nexport * from './loyalty-terms';\nexport * from './loyalty-terms.data';\nexport { ILoyaltyTermsConfig, ILoyaltyTermsProps, ILoyaltyTermsResources } from './loyalty-terms.props.autogenerated';\nexport * from './loyalty-terms.view';\n\nexport { LoyaltyTerms, LoyaltyTermsView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface ISignUpLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignUpLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport B2bRequestsTile from './b2b-requests-tile';\nimport B2bRequestsTileView from './b2b-requests-tile.view';\n\nexport * from './b2b-requests-tile';\nexport * from './b2b-requests-tile.data';\nexport { IB2bRequestsTileConfig, IB2bRequestsTileProps } from './b2b-requests-tile.props.autogenerated';\nexport * from './b2b-requests-tile.view';\n\nexport { B2bRequestsTile, B2bRequestsTileView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): 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 {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateListProps, IOrderTemplateListResources } from '../definition-extensions/order-template-list.ext.props.autogenerated';\n\n/**\n * Interface for OrderTemplateImage.\n */\ninterface IOrderTemplateImage {\n props: {\n children: React.ReactElement[];\n };\n}\n\n/**\n * To render order template.\n * @param orderTemplate - The order template view props.\n * @param orderTemplateNodeProps - The order template node props.\n * @returns The JSX Element.\n */\nconst renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, orderTemplateNodeProps?: INodeProps): JSX.Element | null => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n\n const orderTemplateImageElement: IOrderTemplateImage = orderTemplateImage as React.ReactElement;\n const currentImageListLength = orderTemplateImageElement.props.children.length;\n const defaultNumberImagesInTile = 4;\n\n if (currentImageListLength < defaultNumberImagesInTile) {\n for (let index = 0; index < defaultNumberImagesInTile - currentImageListLength; index++) {\n orderTemplateImageElement.props.children.push();\n }\n }\n\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\n/**\n * Order Template List View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nexport const OrderTemplateListViewComponent: React.FC> = props => {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n OrderTemplateList,\n OrderTemplates,\n OrderTemplate,\n status,\n statusMessage,\n heading,\n orderTemplates,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n \n {status === 'SUCCESS' && (!OrderTemplates || !orderTemplates || !ArrayExtensions.hasElements(orderTemplates)) ? (\n
\n

{props.resources.headingForEmptyOrderTemplateList}

\n

{props.resources.textForEmptyOrderTemplateList}

\n {createOrderTemplateButton}\n
\n ) : (\n createOrderTemplateButton\n )}\n {templateHeaderStatusMessage}\n
\n {status !== 'SUCCESS' && statusMessage}\n {OrderTemplates && orderTemplates && ArrayExtensions.hasElements(orderTemplates) && (\n \n {orderTemplates.map(orderTemplate => {\n return renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n
\n );\n};\n\nexport default OrderTemplateListViewComponent;\n"],"sourceRoot":""}