{"version":3,"sources":["webpack:///src/modules/password-reset/password-reset.tsx?2fc7","webpack:///src/modules/password-reset-verification/components/password-reset-verification-loading-message.tsx?97ae","webpack:///src/modules/password-reset/components/password-reset-error.tsx?5bd3","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/themes/gardner-theme/views/order-template.view.tsx?a850","webpack:///src/modules/password-reset/password-reset.view.tsx?f872","webpack:///./src/themes/gardner-theme-b2c/views/content-block.view.tsx?3e51","webpack:///src/modules/site-picker/site-picker.view.tsx?dcff","webpack:///src/modules/account-address-tile/account-address-tile.view.tsx?0b73","webpack:///src/modules/account-address-tile/index.ts?effb","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/account-invoice-tile/components/account-invoice-tile-description.tsx?0029","webpack:///src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?d307","webpack:///src/modules/account-invoice-tile/account-invoice-tile.tsx?9a78","webpack:///src/modules/adventureworks/views/reviews-list.view.tsx?ebec","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/themes/gardner-theme-b2c/views/order-template.view.tsx?56b4","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/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/password-reset/components/password-reset-loading-message.tsx?a735","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/business-organization-list/business-organization-list.tsx?b6f5","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/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/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?5927","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/account-generic-tile/account-generic-tile.view.tsx?bca1","webpack:///src/modules/sign-up/sign-up.view.tsx?e4b6","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/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/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/modules/sign-up/index.ts?7cfc","webpack:///src/modules/account-customer-balance-tile/components/index.ts?1499","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/password-reset/components/password-reset-input.tsx?7f32","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-profile/components/index.ts?41ea","webpack:///src/modules/footer-item/footer-item.tsx?f8b4","webpack:///src/modules/site-picker/site-picker.tsx?35ca","webpack:///src/modules/b2b-requests-tile/b2b-requests-tile.view.tsx?949e","webpack:///src/modules/password-reset/components/password-reset-button.tsx?7c39","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-invoice-tile/account-invoice-tile.view.tsx?4620","webpack:///src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?2c6f","webpack:///src/modules/account-address-tile/components/account-address-tile-links.tsx?7e3f","webpack:///src/modules/password-reset/components/password-reset-label.tsx?2eed","webpack:///src/modules/map/map.view.tsx?cd35","webpack:///src/modules/sign-up/components/sign-up-loading-message.tsx?1a3b","webpack:///src/modules/footer-item/footer-item.view.tsx?235e","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/password-reset/components/password-reset-loading-icon.tsx?29cc","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"],"names":["PasswordReset","React","constructor","props","super","moduleClassName","handleHeadingChange","event","this","config","heading","text","target","value","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","map","obj","ID","toLowerCase","newPasswordRegex","PAT","reenterPasswordRegex","resources","message","verifying_blurb","loadingMessage","Object","assign","PasswordRegex","defaultRegex","source","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","render","viewProps","_objectSpread","viewState","isShowLoading","passwordReset","moduleProps","className","classnames","loading","modal","tag","Modal","isOpen","modalBody","ModalBody","icon","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","defaultAADConainer","id","style","display","aadConainer","Msdyn365","editProps","onEdit","requestContext","passwordResetLocalAccount","_renderLocalAccount","renderView","localAccount","items","_renderInput","newPasswordLabelText","confirmPasswordLabelText","errorMessage","PasswordResetErrorComponent","key","passwordEntryMismatchError","requiredFieldMissingError","fieldIncorrectError","buttonsWrapper","buttons","PasswordResetButtonComponent","ariaLabel","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","type","labelText","pattern","wrapper","label","PasswordResetLabelComponent","forId","input","PasswordResetInputComponent","__decorate","observable","observer","PasswordResetVerificationLoadingMessage","_ref","PasswordResetError","errorClassName","role","SignUpSuccess","successClassName","AccountPreferencesSection","accountPreferences","personalization","extraPreferences","Node","AccountPreferenceSection","preferenceSecton","index","_ref2","accountPreference","description","buttonWrapper","buttonYesText","button","buttonNoText","AccountProfileSection","_ref3","AccountProfileItem","links","AccountProfileView","AccountProfile","accountProfileWrapper","emailSection","nameSection","preferenceSection","customerAttributesWrapper","customerAttributesSection","Module","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignUpInput","onChange","undefined","AccountProfileEditLoadingIcon","_renderItem","product","quantityLabel","ProductsTableRow","selectLine","productImage","productPrice","productNumber","addToBagButton","removeButton","productInfo","productUnitOfMeasure","productQuantityView","productQuantity","popUp","isMobile","OrderTemplateLinesView","OrderTemplateLines","status","statusMessage","ProductsTable","ProductsTableHeading","orderLines","productsStatusMessage","OrderTemplateActions","orderActions","pagination","itemAddedToCartDialog","bulkOrderLineActions","isDetailsDisplayed","detailedProductView","toggleDetailsDisplayed","cancelBtnLabel","productNumberText","productText","productUnitPriceText","productUOMText","productQuantityText","toggleDetails","addTemplateToBag","renameTemplate","removeTemplate","wrapClassName","autoFocus","fade","applicationNode","toggle","ModalHeader","ModalFooter","Button","onClick","PasswordResetItem","PasswordResetLoading","PasswordResetView","item","error","LocalAccount","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","additionalContentItemContainer","additionalContentItemLinks","contentBlockView","contentBlockContainer","imageContainer","detailsContainer","title","image","contentBlockAnchorTag","imageLink","imageAriaLabel","imageClass","src","href","_renderSitePicker","_renderSiteOptionsList","SitePickerMenuList","SitePickerMenuListItem","SitePickerMenuListItemArray","options","onMouseLeave","resetSiteOptionsState","isMobileView","SitePicker","_props$SitePickerMenu","SitePickerMobileContainer","renderSiteOptions","_renderMobileView","_props$config$heading","SitePickerMenu","SitePickerMenuSpan","siteOptionsState","_renderDesktopView","AccountAddressTileView","AccountAddressTile","BusinessFormItemComponent","renderModal","isModalOpen","headingSection","bodySection","footerSection","toggleModal","BusinessUserFormComponent","modalClassName","FormWrapper","modalHeading","modalDescription","inputs","toString","modalFooter","BusinessUserDetailsComponent","selectedUser","FirstName","LastName","userFullName","keys","InputID","BusinessOrganizationListComponent","OrganizationUserList","moduleContainer","noUsersText","addUserButton","organizationListTable","form","formType","requestAccountStatementButton","requestStatementModal","buttonList","headingForEmptyUserOrganizationList","textForEmptyUserOrganizationList","getForm","formProps","B2bRequestsTileLinks","onTextChange","ArrayExtensions","hasElements","editableLinks","_mapEditableLinks","linkdata","payLoad","getPayloadObject","link","contentAction","etext","linkText","attributes","getTelemetryAttributes","linkUrl","destinationUrl","openInNewTab","additionalProperties","B2bRequestsTile","handleLinkTextChange","linkIndex","isChannelTypeB2B","actionContext","b2bRequestsTile","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","orderInfomation","orderSummary","payment","help","cultureFormatter","formatCurrency","tenderLines","orderHydration","result","salesOrder","TenderLines","tl","AmountInCompanyCurrency","reduce","num","total","console","log","PasswordResetVerificationButton","disabled","AccountInvoiceTileDescription","length","forEach","editableLink","push","AccountInvoiceTileLinks","AccountInvoiceTile","_data$customerBalance","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","toFixed","format","LinksComponent","buildReviewCard","isUserReview","cardProps","headerProps","rating","date","name","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","apiSettings","Image","gridSettings","imageSettings","viewports","xs","q","w","h","sm","md","lg","xl","lazyload","cropFocalRegion","renderProductImage","Name","ItemId","ReviewsListview","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modalHeader","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","submitButton","cancelButton","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","_renderAccordionItemContent","AccordionItemView","drawer","accordionSlots","AccordionItemContainer","AccordionItemContent","accordionItemContent","fallBackSrc","loadFailureBehavior","WriteReviewView","signInMessage","signInButton","modalToggle","paragraph","isAuthenticated","user","RichTextComponent","AccountProfileEditButton","AccordionItem","accordionItemTitle","_onToggle","bind","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","ControlledDrawer","toggleButtonText","collapseProps","onToggle","interactionStyle","accordionState","update","createAccordionStateInput","PasswordResetVerificationError","PasswordResetVerificationSuccess","_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","SignUpView","signUp","signUpLocalAccount","emailVerification","givenNameVerification","surnameVerification","disclaimer","isRequired","verificationControlWrapper","IAccountWishlistTileDescription","AccountWishlistTileLinks","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","DescriptionComponent","B2bRequestsStatusView","b2bRequestsStatus","table","createElement","SignUpError","PasswordResetLoadingMessage","AccountProfileEditLabel","htmlFor","SignUp","handleParagraphChange","isEmailVerificationRequried","templateVersion","emailRegex","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","UX_INPUT_TYPE","PAT_DESC","invalidPasswordError","invalidEmailAddressError","errorMessages","required_field","getValue","v1Value","v2Value","EmailRegex","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","emailAddressLabelText","passwordLabelText","verificationCodeLabelText","SignUpButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","requiredFieldMissingSummaryError","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cssClassName","SignUpLabelComponent","SignUpInputComponent","BusinessFormItem","BusinessUserForm","_renderModal","BusinessUserDetails","BusinessOrganizationList","ButtonList","_getForm","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","setState","isFormActive","Add","referenceBack","addUserButtonReference","current","hasFormError","hasActionError","selectedUserData","_handleAddEditFormSaveButton","async","updatedUser","_createBusinessPartner","Edit","editOrganizationUser","EditOrganizationUserInput","then","location","reload","catch","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","MsDyn365","isBrowser","URL","url","requestUrl","_getViewport","device","Type","innerWidth","_toggleStatementRequestDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_showRequestStatementModal","isFullOrg","statementRequestFullOrg","isStatementRequestModalOpen","_requestStatement","customer","customerInformation","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","TelemetryConstant","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","includes","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","delete","_this$state$reference","businessUserRemoveModalHeaderText","businessUserRemoveModalDescription","businessUserViewModalHeaderText","businessUserCancelButtonText","businessUserCancelRemoveUserButtonText","businessUserRemoveUserButtonText","businessUserErrorUpdatingUsersMessage","formClassName","typeClassName","handleRemoveButton","businessUserEditUserFormHeadingText","businessUserAddUserFormHeadingText","businessUserSaveButtonArialabel","businessUserSaveButtonText","businessUserCancelButtonArialabel","businessUserFieldIncorrectErrorText","businessUserActionErrorText","businessUserAllFieldsRequiredMessage","FormButton","computed","ActionBar","onSelectCustomerAccount","onSelectFullOrg","popoverReference","requestStatementDropdownString","Popover","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","onBlurToDate","horizontalPosition","verticalPosition","onBlur","max","min","AccountLabels","accountNumber","customerSincePrefix","createdOn","AccountValues","availableCredit","availableCreditLabel","AvailableCreditComponent","BalanceOwedComponent","balanceOwedLabel","balanceOwed","CreditExcessComponent","creditExcessLabel","creditExcess","BackButton","BackToShopping","SignUpButton","AccountGenericTile","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","addressCount","accountAddressTileDescription","PasswordResetVerificationLabel","AccountProfileEditError","interactiveFeatureCollectionView","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionDesktopItems","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionMobileContainer","singleSlideCarouselComponentProps","singleSlideCarouselItemContainer","tileItem","keyIndex","SignUpLoadingIcon","AccountGenericTileView","AccountProfileEditItem","AccountProfileEditLoading","AccountProfileEditView","accountProfileEdit","accountProfileEditLocalAccount","PasswordResetVerificationLoadingIcon","PasswordResetVerification","passwordResetVerification","PasswordResetVerificationLoadingIconComponent","PasswordResetVerificationLoadingMessageComponent","passwordResetVerificationLocalAccount","PasswordResetVerificationSuccessComponent","PasswordResetVerificationErrorComponent","verificationButtonsWrapper","verificationButtons","PasswordResetVerificationButtonComponent","continueButtonAriaLabel","continueButtonText","cancelButtonAriaLabel","PasswordResetVerificationLabelComponent","PasswordResetVerificationInputComponent","AccountWishlistTileView","InteractiveFeatureCollection","_telemetryContent","handleTextChange","itemsCounter","indexItem","itemCounter","isMosaic","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","_getFeatureItem","AccountCustomerBalance","_toggleDropdown","_adminShowRequestStatementModal","_this$props$data$b2bU","b2bUserInformation","_get","account","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","myAccountStatementLabel","AccountNumber","_formatJoinDate","CreatedDateTime","customerCredit","customerAccountBalance","excess","InvoiceAccountCreditLimit","CreditLimit","Balance","InvoiceAccountBalance","_formatCurrency","backLink","emailAddress","isB2BSite","actionBar","IsB2bAdmin","accountLabels","accountValues","homeButton","currency","Intl","DateTimeFormat","locale","month","day","year","ref","PasswordResetInput","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","filter","store","OrgUnitAvailability","unitStoreInfo","entries","_unitStoreInfo$OrgUni","storeLocation","OrgUnitLocation","Latitude","Longitude","isSelectedLocation","OrgUnitNumber","_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","reaction","_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","classname","show","Header","MapProps","IAccountAddressTileDescription","AccountGenericTileLinks","FooterItem","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","onTelemetryClick","ariaHiddenAttr","shouldSkipToMainImage","PureComponent","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","document","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","createRef","_renderSiteOptions","viewport","_document","_document2","body","resizeThrottledEventHandler","addThrottledEvent","_document3","_document4","_this$props$config$he","_this$props$config$he2","Drawer","openGlyph","closeGlyph","glyphPlacement","_renderSitePickerImage","expandSiteOptionsState","e","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","set","defaultImageSettings","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","imageProps","tabIndex","siteRedirectUrl","siteName","altText","B2bRequestsTileView","PasswordResetButton","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","headingComponent","accordionViewProps","_renderAccordionButton","_getAccordionItem","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","_this$collapseAllButt","_this$expandAllButton","PasswordResetVerificationInput","AccountWelcomeTileView","AccountProfileEditLoadingMessage","AccountAddressTileLinks","PasswordResetLabel","MapHeader","MapView","SignUpLoadingMessage","FooterItemView","_renderElement","AccountProfileEditInput","PasswordResetLoadingIcon","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","innerHTML","childNodes","nodeValue","AccountProfileEditErrorComponent","AccountProfileEditButtonComponent","showEmail","AccountProfileEditLabelComponent","AccountProfileEditInputComponent"],"mappings":"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","file":"static/js/10.e05321ac034d1a09a237.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 Msdyn365 from '@msdyn365-commerce/core';\nimport { PasswordRegex } 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 PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: 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: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.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(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): 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 passwordReset: {\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 && (\n \n ),\n passwordResetLocalAccount: 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 readonly _prePopulateData = () => {\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 switch (obj.ID.toLowerCase()) {\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 }\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 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(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\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(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\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 PasswordReset;\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 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 IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\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","/*--------------------------------------------------------------\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 { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./components';\r\nimport { IOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./order-template';\r\n\r\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\r\n const {\r\n OrderTemplateLines,\r\n status,\r\n statusMessage,\r\n heading,\r\n ProductsTable,\r\n ProductsTableHeading,\r\n orderLines,\r\n ProductsTableRow,\r\n productsStatusMessage,\r\n OrderTemplateActions,\r\n orderActions,\r\n pagination,\r\n itemAddedToCartDialog,\r\n bulkOrderLineActions,\r\n isDetailsDisplayed,\r\n detailedProductView,\r\n toggleDetailsDisplayed,\r\n resources: {\r\n cancelBtnLabel,\r\n productNumberText,\r\n productText,\r\n productUnitPriceText,\r\n productUOMText,\r\n productQuantityText\r\n }\r\n } = props;\r\n\r\n const toggleDetails = React.useCallback(() => {\r\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\r\n }, [toggleDetailsDisplayed]);\r\n return (\r\n \r\n {heading}\r\n {OrderTemplateActions && (\r\n \r\n {orderActions?.addTemplateToBag}\r\n {orderActions?.renameTemplate}\r\n {orderActions?.removeTemplate}\r\n {!isDetailsDisplayed && productsStatusMessage}\r\n \r\n )}\r\n {bulkOrderLineActions}\r\n {status !== 'SUCCESS' && statusMessage}\r\n {ProductsTable && (\r\n \r\n \r\n {ProductsTableHeading}\r\n \r\n {orderLines &&\r\n orderLines.map(product => {\r\n return _renderItem(product, productQuantityText, ProductsTableRow);\r\n })}\r\n \r\n \r\n {pagination}\r\n \r\n )}\r\n {itemAddedToCartDialog}\r\n \r\n \r\n Product Details\r\n \r\n \r\n
    \r\n
  • \r\n {detailedProductView?.productImage}\r\n
  • \r\n
  • \r\n \r\n {productText}\r\n :\r\n \r\n {detailedProductView?.productInfo}\r\n
  • \r\n
  • \r\n \r\n {productNumberText}\r\n :\r\n \r\n {detailedProductView?.productNumber}\r\n
  • \r\n
  • \r\n \r\n {productUnitPriceText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productPrice}\r\n
  • \r\n
  • \r\n \r\n {productUOMText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productUnitOfMeasure}\r\n
  • \r\n
  • \r\n \r\n {productQuantityText}\r\n :\r\n \r\n {detailedProductView?.productQuantityView}\r\n
  • \r\n {productsStatusMessage &&
  • \r\n {productsStatusMessage}\r\n
  • }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst _renderItem = (\r\n product: IOrderTemplateLineViewProps,\r\n quantityLabel: string,\r\n ProductsTableRow?: INodeProps\r\n): JSX.Element | null => {\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const {\r\n key,\r\n selectLine,\r\n productImage,\r\n productPrice,\r\n productNumber,\r\n addToBagButton,\r\n removeButton,\r\n productInfo,\r\n productUnitOfMeasure,\r\n productQuantityView,\r\n productQuantity,\r\n popUp,\r\n isMobile\r\n } = product;\r\n\r\n return (\r\n \r\n \r\n {selectLine}\r\n \r\n \r\n {productImage}\r\n \r\n {isMobile ? \r\n
\r\n {productNumber}\r\n
\r\n
\r\n {quantityLabel}\r\n :\r\n {' '}\r\n {productQuantity}\r\n
\r\n : \r\n {productNumber}\r\n }\r\n {!isMobile && \r\n {productInfo}\r\n }\r\n {!isMobile && \r\n {productPrice}\r\n }\r\n {!isMobile && \r\n {productUnitOfMeasure}\r\n }\r\n {!isMobile && \r\n {productQuantityView}\r\n }\r\n {isMobile && \r\n {popUp}\r\n }\r\n {!isMobile &&\r\n \r\n {addToBagButton}\r\n {removeButton}\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\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 { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: 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: IPasswordResetItem) => {\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 PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\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, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\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\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 * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: 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-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\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 AccountInvoiceTileLinks: 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-invoice-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 AccountInvoiceTileLinks;\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 { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\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 {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: 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 AccountInvoiceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\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","/*--------------------------------------------------------------\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 { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./components';\r\nimport { IOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template/src/modules/order-template/./order-template';\r\n\r\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\r\n const {\r\n OrderTemplateLines,\r\n status,\r\n statusMessage,\r\n heading,\r\n ProductsTable,\r\n ProductsTableHeading,\r\n orderLines,\r\n ProductsTableRow,\r\n productsStatusMessage,\r\n OrderTemplateActions,\r\n orderActions,\r\n pagination,\r\n itemAddedToCartDialog,\r\n bulkOrderLineActions,\r\n isDetailsDisplayed,\r\n detailedProductView,\r\n toggleDetailsDisplayed,\r\n resources: {\r\n cancelBtnLabel,\r\n productNumberText,\r\n productText,\r\n productUnitPriceText,\r\n productUOMText,\r\n productQuantityText\r\n }\r\n } = props;\r\n\r\n const toggleDetails = React.useCallback(() => {\r\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\r\n }, [toggleDetailsDisplayed]);\r\n return (\r\n \r\n {heading}\r\n {OrderTemplateActions && (\r\n \r\n {orderActions?.addTemplateToBag}\r\n {orderActions?.renameTemplate}\r\n {orderActions?.removeTemplate}\r\n {!isDetailsDisplayed && productsStatusMessage}\r\n \r\n )}\r\n {bulkOrderLineActions}\r\n {status !== 'SUCCESS' && statusMessage}\r\n {ProductsTable && (\r\n \r\n \r\n {ProductsTableHeading}\r\n \r\n {orderLines &&\r\n orderLines.map(product => {\r\n return _renderItem(product, productQuantityText, ProductsTableRow);\r\n })}\r\n \r\n \r\n {pagination}\r\n \r\n )}\r\n {itemAddedToCartDialog}\r\n \r\n \r\n Product Details\r\n \r\n \r\n
    \r\n
  • \r\n {detailedProductView?.productImage}\r\n
  • \r\n
  • \r\n \r\n {productText}\r\n :\r\n \r\n {detailedProductView?.productInfo}\r\n
  • \r\n
  • \r\n \r\n {productNumberText}\r\n :\r\n \r\n {detailedProductView?.productNumber}\r\n
  • \r\n
  • \r\n \r\n {productUnitPriceText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productPrice}\r\n
  • \r\n
  • \r\n \r\n {productUOMText}\r\n :\r\n \r\n {' '}\r\n {detailedProductView?.productUnitOfMeasure}\r\n
  • \r\n
  • \r\n \r\n {productQuantityText}\r\n :\r\n \r\n {detailedProductView?.productQuantityView}\r\n
  • \r\n {productsStatusMessage &&
  • \r\n {productsStatusMessage}\r\n
  • }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst _renderItem = (\r\n product: IOrderTemplateLineViewProps,\r\n quantityLabel: string,\r\n ProductsTableRow?: INodeProps\r\n): JSX.Element | null => {\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const {\r\n key,\r\n selectLine,\r\n productImage,\r\n productPrice,\r\n productNumber,\r\n addToBagButton,\r\n removeButton,\r\n productInfo,\r\n productUnitOfMeasure,\r\n productQuantityView,\r\n productQuantity,\r\n popUp,\r\n isMobile\r\n } = product;\r\n\r\n return (\r\n \r\n \r\n {selectLine}\r\n \r\n \r\n {productImage}\r\n \r\n {isMobile ? \r\n
\r\n {productNumber}\r\n
\r\n
\r\n {quantityLabel}\r\n :\r\n {' '}\r\n {productQuantity}\r\n
\r\n : \r\n {productNumber}\r\n }\r\n {!isMobile && \r\n {productInfo}\r\n }\r\n {!isMobile && \r\n {productPrice}\r\n }\r\n {!isMobile && \r\n {productUnitOfMeasure}\r\n }\r\n {!isMobile && \r\n {productQuantityView}\r\n }\r\n {isMobile && \r\n {popUp}\r\n }\r\n {!isMobile &&\r\n \r\n {addToBagButton}\r\n {removeButton}\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\r\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","/*--------------------------------------------------------------\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 * as React from 'react';\n\nexport interface IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\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 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","/*!\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 { 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","/*!\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 {\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 { 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","/*!\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, 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","/*!\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 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","/*!\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\nexport * from './account-customer-balance-tile-info';\nexport * from './account-customer-balance-tile-links';\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 { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetInputProps {\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 IPasswordResetInput {\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 PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\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\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\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 handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && 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 return 'xs';\n }\n}\n\nexport default SitePicker;\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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\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 PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\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 * 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 * 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 * as React from 'react';\n\nexport interface IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\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 * as React from 'react';\n\nexport interface IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\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"],"sourceRoot":""}