{"version":3,"sources":["webpack:///src/modules/password-reset-verification/components/password-reset-verification-loading-message.tsx?97ae","webpack:///src/modules/account-customer-balance-tile/components/account-customer-balance-tile-info.tsx?a91f","webpack:///src/modules/sign-in/sign-in.view.tsx?a753","webpack:///src/modules/sign-in/components/sign-in-loading-icon.tsx?3d5a","webpack:///src/modules/password-reset-verification/components/password-reset-verification-button.tsx?d3bb","webpack:///src/modules/sign-in/components/sign-in-text.tsx?92d7","webpack:///src/modules/password-reset-verification/components/password-reset-verification-error.tsx?5cfd","webpack:///src/modules/password-reset-verification/components/password-reset-verification-success.tsx?8c35","webpack:///src/modules/sign-in/components/sign-in-button.tsx?a9cc","webpack:///src/modules/account-customer-balance-tile/account-customer-balance-tile.view.tsx?955a","webpack:///src/modules/sign-in/components/sign-in-label.tsx?d42c","webpack:///src/modules/account-customer-balance-tile/components/account-customer-balance-tile-links.tsx?5f47","webpack:///src/modules/account-generic-tile/account-generic-tile.tsx?4504","webpack:///src/modules/sign-in/sign-in.tsx?44ed","webpack:///src/modules/password-reset-verification/components/password-reset-verification-label.tsx?70a3","webpack:///src/modules/account-customer-balance-tile/account-customer-balance-tile.tsx?9383","webpack:///src/modules/account-generic-tile/account-generic-tile.view.tsx?bca1","webpack:///src/modules/password-reset-verification/components/password-reset-verification-loading-icon.tsx?7944","webpack:///src/modules/password-reset-verification/password-reset-verification.tsx?9795","webpack:///src/modules/sign-in/components/sign-in-input.tsx?eb41","webpack:///src/modules/account-generic-tile/components/account-generic-tile-links.tsx?e4df","webpack:///src/modules/account-loyalty/account-loyalty.tsx?82db","webpack:///src/modules/sign-in/components/sign-in-link.tsx?fc9f","webpack:///src/modules/password-reset-verification/components/password-reset-verification-input.tsx?6596","webpack:///src/modules/sign-in/components/sign-in-error.tsx?2f11","webpack:///src/modules/account-loyalty/components/account-loyalty-small-components.tsx?9694","webpack:///src/modules/sign-in/components/sign-in-description.tsx?196e","webpack:///src/modules/account-loyalty/account-loyalty.view.tsx?06f4","webpack:///src/modules/password-reset-verification/password-reset-verification.view.tsx?9e1f","webpack:///src/modules/sign-in/components/sign-in-loading-message.tsx?7f4d"],"names":["PasswordResetVerificationLoadingMessage","_ref","className","message","React","ErrorComponent","error","CreditComponent","_ref2","verbagePrefix","verbagePostfix","value","SignInLoading","_ref4","modal","modalBody","icon","Node","Object","assign","SignInView","props","signIn","viewState","loading","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","signUpLink","Module","isShowLoading","localAccount","items","forgetPassword","disclaimer","signInButton","map","item","key","wrapper","label","input","LocalAccount","socialAccounts","button","image","text","SocialAccount","_ref3","B2BAccount","SignInLoadingIcon","PasswordResetVerificationButton","id","ariaLabel","telemetryContent","disabled","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","Button","SignInText","PasswordResetVerificationError","type","errorClassName","classnames","role","PasswordResetVerificationSuccess","successClassName","SignInButton","AccountCustomerBalanceTileView","AccountCustomerBalanceTile","heading","content","links","SignInLabel","forId","htmlFor","_mapEditableLinks","linkdata","length","editableLinks","forEach","link","index","contentAction","etext","linkText","editableLink","linkUrl","destinationUrl","openInNewTab","additionalProperties","push","AccountCustomerBalanceTileLinks","onTextChange","requestContext","Msdyn365","editProps","AccountGenericTile","constructor","super","handleHeadingChange","event","this","config","target","handleLinkTextChange","linkIndex","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","viewProps","_objectSpread","moduleProps","tag","onEdit","LinksComponent","renderView","SignIn","moduleClassName","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","emailRegex","emailId","SA_FIELDS","AttributeFields","ID","resources","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalidEmailError","invalid_password","invalidPasswordError","unknown_error","unknownError","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","Modal","isOpen","ModalBody","SignInLoadingIconComponent","SignInLoadingMessageComponent","loadingMessage","style","display","_renderInput","emailAddressLabelText","emailAddressAriaLabel","passwordLabelText","SignInLinkComponent","href","forgotPasswordButtonAriaLabel","forgotPasswordButtonText","SignInErrorComponent","SignInButtonComponent","loginButtonAriaLabel","loginButtonText","_renderSocialAccount","facebookButtonText","facebookButtonAriaLabel","facebookIcon","microsoftButtonText","microsoftButtonAriaLabel","microsoftIcon","_renderB2BSocialAccount","b2bButtonText","b2bButtonAriaLabel","displayB2bAccountManagerSignin","SignInDescriptionComponent","description","signUpDescriptionText","signUpButtonAriaLabel","signUpButtonText","labelText","pattern","SignInLabelComponent","SignInInputComponent","iconImage","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","__decorate","observable","observer","PasswordResetVerificationLabel","_initState","reaction","hasError","setState","apiGenericErrorMessage","get","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BSite","isChannelTypeB2B","enableCustomerAccountPayment","isCustomerAccountPaymentEnabled","Heading","headingTag","isDetailsLinkDisplayed","account","Balance","CreditLimit","InvoiceAccountBalance","InvoiceAccountCreditLimit","noCreditErrorMessage","accountCreditVerbagePrefix","accountCreditVerbagePostfix","currencyCode","formatCurrency","customerCredit","customerCreditFormatted","toFixed","computed","AccountGenericTileView","PasswordResetVerificationLoadingIcon","PasswordResetVerification","getValue","v1Value","v2Value","templateVersion","passwordResetVerification","PasswordResetVerificationLoadingIconComponent","PasswordResetVerificationLoadingMessageComponent","passwordResetVerificationLocalAccount","_renderLocalAccount","obj","toLowerCase","PAT","verifying_blurb","verificationControlWrapper","undefined","verificationCodeLabelText","successMessage","PasswordResetVerificationSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","errorMessage","PasswordResetVerificationErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","verificationButtonsWrapper","verificationButtons","PasswordResetVerificationButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","buttonsWrapper","buttons","continueButtonAriaLabel","continueButtonText","cancelButtonAriaLabel","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","maxLength","cssClassName","PasswordResetVerificationLabelComponent","PasswordResetVerificationInputComponent","GetMaxLength","parsedMaxLength","Number","parseInt","isNaN","SignInInput","onChange","AccountGenericTileLinks","AccountLoyalty","decimalPrecision","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","actionContext","isModalOpen","currentModalData","isModalExpiring","modalID","currentFocus","getLoyaltyRewardPointsExpiringSoonAsync","callerContext","queryResultSettings","then","points","pointsActivity","catch","exception","debug","getLoyaltyRewardPointActivityTimelineAsync","_closeModal","_onOpenModal","_this$state$currentFo","current","focus","_buttonAvailableRef","_buttonExpireRef","TelemetryConstant","BackToShopping","_Msdyn365$getUrlSync","_heading$tag","loyaltyCardLabel","totalAvailablePointsLabel","backToShoppingText","backToShopAttributes","result","loyaltyCardData","rewardPoints","RewardPoints","homeLink","modalTransition","onEntered","node","isAppearing","childNode","firstChild","totalPoints","_getTotalPoints","_renderRewardPoints","pointsModal","_renderModal","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","homeButton","title","date","format","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","loyaltyPoints","availableId","expiringId","availablePointsLabel","availablePointsAriaLabel","expiringPointsFormatLabel","expiringPointsFormatAriaLabel","AvailablePoints","availablePointsAttributes","ExpiringPoints","expiringPointsAttributes","AccountLoyaltyModalLabel","Description","availableModalLabel","ActivePoints","labelFor","availableModalTrigger","color","innerRef","expiringModalLabel","PointsExpiringSoon","expiringModalTrigger","_currentModalData$Des","loyaltyActivityDateLabel","loyaltyActivityBalanceLabel","horizontalPosition","verticalPosition","modalClassName","modalHeaderClassName","modalHeader","modalBodyClassName","ModalBodyTop","ModalBodyHeaders","rewardPointsActivity","_renderPointsActivity","pointsDescription","_getPoints","balanceLabel","onClose","total","_loyaltyPoints$Active","activity","_toFixed","Activity","activityType","_getTimelineType","activityDate","cultureFormatter","formatDate","ActivityDate","activityPoints","LoyaltyPoints","dateString","toString","replace","substring","getUTCFullYear","getUTCMonth","getUTCDate","pointActivity","LoyaltyRewardPointTimelineEntryType","earnedPointsLabel","redeemedPointsLabel","adjustedPointsLabel","refundedPointsLabel","ExtensibleLoyaltyRewardPointActivityEntryTypeValue","SignInLink","PasswordResetVerificationInput","SignInError","SignInDescription","AccountLoyaltyView","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","PasswordResetVerificationItem","PasswordResetVerificationLoading","PasswordResetVerificationView","SignInLoadingMessage"],"mappings":"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","file":"static/js/4.cef13ff401368d92fc45.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetVerificationLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetVerificationLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceTileInfo {\n label?: string;\n value?: string;\n verbagePrefix?: string;\n verbagePostfix?: string;\n className?: string;\n error?: string;\n}\n\nexport const ErrorComponent: React.FC = ({ error }) => (\n {error}\n);\n\nexport const CreditComponent: React.FC = ({ verbagePrefix, verbagePostfix, value, className }) => {\n return (\n
\n {verbagePrefix}\n {value}\n {verbagePostfix}\n
\n );\n};\n\nexport const InfoComponent: React.FC = ({ label, value, className }) => (\n
\n {label}\n {value}\n
\n);\n","/*!\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 ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps\n} from './sign-in';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignInView: React.FC = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription,\n signUpLink\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n {B2BAccount(signInB2BAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpLink}\n \n \n \n );\n};\n\nexport default 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 ISignInLoadingIcon {\n className: string;\n}\n\nconst SignInLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default SignInLoadingIcon;\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 ISignInText {\n className: string;\n text: string;\n}\n\nconst SignInText: React.FC = ({ className, text }) => {text};\n\nexport default SignInText;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationSuccess;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInButton {\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 SignInButton: 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 default SignInButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileViewProps } from './account-customer-balance-tile';\n\nconst AccountCustomerBalanceTileView: React.FC = props => {\n const { AccountCustomerBalanceTile, heading, content, links } = props;\n\n return (\n \n {heading}\n {content}\n {links}\n \n );\n};\n\nexport default AccountCustomerBalanceTileView;\n","/*!\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 ISignInLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignInLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignInLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountCustomerBalanceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountCustomerBalanceTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-customer-balance-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountCustomerBalanceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 * 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 SignInButtonComponent from './components/sign-in-button';\nimport SignInDescriptionComponent from './components/sign-in-description';\nimport SignInErrorComponent from './components/sign-in-error';\nimport SignInInputComponent from './components/sign-in-input';\nimport SignInLabelComponent from './components/sign-in-label';\nimport SignInLinkComponent from './components/sign-in-link';\nimport SignInLoadingIconComponent from './components/sign-in-loading-icon';\nimport SignInLoadingMessageComponent from './components/sign-in-loading-message';\nimport SignInTextComponent from './components/sign-in-text';\nimport { ISignInConfig, ISignInProps, ISignInResources } from './sign-in.props.autogenerated';\n\nexport interface ISignInViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignInItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n error: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignInSocialItem {\n key: string;\n button: INodeProps;\n image: React.ReactNode;\n text: React.ReactNode;\n}\n\nexport interface ISignInB2BItem {\n key: string;\n button: INodeProps;\n text: React.ReactNode;\n}\n\nexport interface ISignInSocialAccount {\n socialAccounts: INodeProps;\n items: ISignInSocialItem[];\n}\n\nexport interface ISignInB2BAccount {\n socialAccounts: INodeProps;\n items: ISignInB2BItem[];\n}\nexport interface ISignInLocalAccount {\n localAccount: INodeProps;\n items: ISignInItem[];\n forgetPassword: React.ReactNode;\n disclaimer: React.ReactNode;\n error: React.ReactNode;\n signInButton: React.ReactNode;\n}\n\nexport interface ISignInLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignInViewProps {\n className: string;\n viewState: ISignInViewState;\n signIn: IModuleProps;\n loading: ISignInLoading;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n signInSection: INodeProps;\n signInSectionHeading: React.ReactNode;\n signInLocalAccount: ISignInLocalAccount;\n signInSocialAccount: ISignInSocialAccount;\n signInB2BAccount: ISignInB2BAccount;\n signUpSection: INodeProps;\n signUpSectionHeading: React.ReactNode;\n signUpDescription: React.ReactNode;\n signUpLink: React.ReactNode;\n}\n\n/**\n * SignIn 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 SignIn extends React.Component> {\n private readonly moduleClassName: string = 'ms-sign-in';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private emailId: 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: ISignInProps) {\n super(props);\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 this.emailId = 'logonIdentifier';\n }\n\n public componentDidMount(): void {\n this._prePopulateData();\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: ISignInProps, nextState: ISignInViewState): 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: ISignInConfig = this.props.config || {};\n const resources: ISignInResources = this.props.resources || {};\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n signIn: {\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 signInSection: {\n className: `${this.moduleClassName}__sign-in-section`\n },\n signInSectionHeading: (\n \n ),\n signInLocalAccount: {\n localAccount: {\n className: `${this.moduleClassName}__account-items localAccount`\n },\n items: [\n this._renderInput(\n this.emailId,\n 'email',\n resources.emailAddressLabelText,\n resources.emailAddressAriaLabel,\n this.emailRegex\n ),\n this._renderInput('password', 'password', resources.passwordLabelText)\n ],\n forgetPassword: (\n \n ),\n disclaimer: config.signInDisclaimer && (\n \n ),\n error: ,\n signInButton: (\n \n )\n },\n signInSocialAccount: {\n socialAccounts: {\n className: `${this.moduleClassName}__social-accounts`\n },\n items: [\n this._renderSocialAccount(\n 'FacebookExchange',\n resources.facebookButtonText,\n resources.facebookButtonAriaLabel,\n config.facebookIcon\n ),\n this._renderSocialAccount(\n 'MicrosoftAccountExchange',\n resources.microsoftButtonText,\n resources.microsoftButtonAriaLabel,\n config.microsoftIcon\n )\n ]\n },\n signInB2BAccount: {\n socialAccounts: {\n className: `${this.moduleClassName}__b2b-social-accounts`\n },\n items: [\n this._renderB2BSocialAccount(\n 'StoreManagerB2BSignin',\n resources.b2bButtonText,\n resources.b2bButtonAriaLabel,\n config.displayB2bAccountManagerSignin\n )\n ]\n },\n signUpSection: {\n className: `${this.moduleClassName}__sign-up-section`\n },\n signUpSectionHeading: (\n \n ),\n signUpDescription: (\n \n ),\n signUpLink: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.signInDisclaimer = event.target.value);\n\n public handleSignInHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.signInHeading.text = event.target.value);\n\n public handleSignUpHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.signUpHeading.text = event.target.value);\n\n private readonly _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 && window['CONTENT'] && window['CONTENT']['email_pattern']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n this.emailRegex = window['CONTENT']['email_pattern'];\n }\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 // @ts-expect-error\n this.emailId = (window.SA_FIELDS.AttributeFields || [])[0].ID || this.emailId;\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const resources: ISignInResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const errorMessages = {\n requiredField_email: resources.requriedEmailError,\n requiredField_password: resources.requriedPasswordError,\n invalid_email: resources.invalidEmailError,\n invalid_password: resources.invalidPasswordError,\n unknown_error: resources.unknownError\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], errorMessages);\n }\n };\n\n private _renderInput(id: string, type: string, labelText: string, ariaLabel?: string, pattern?: string): ISignInItem {\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 error: (\n \n ),\n input: (\n \n )\n };\n }\n\n private _renderSocialAccount(id: string, text: string, ariaLabel: string, iconImage?: Msdyn365.IImageData): ISignInSocialItem {\n return {\n key: id,\n button: {\n id,\n tag: 'button',\n className: classnames(\n `${this.moduleClassName}__social-account`,\n `${this.moduleClassName}__social-account-${id}`,\n 'accountButton',\n 'msc-btn'\n ),\n 'aria-label': ariaLabel\n },\n image: this._createImageMarkup(iconImage),\n text: \n };\n }\n\n private _renderB2BSocialAccount(\n id: string,\n text: string,\n ariaLabel: string,\n _displayB2bAccountManagerSignin: boolean | undefined\n ): ISignInB2BItem | null {\n if (_displayB2bAccountManagerSignin) {\n return {\n key: id,\n button: {\n id,\n tag: 'button',\n className: classnames(\n `${this.moduleClassName}__social-account`,\n `${this.moduleClassName}__social-account-${id}`,\n 'accountButton',\n 'msc-btn'\n ),\n 'aria-label': ariaLabel\n },\n text: \n };\n }\n return null;\n }\n\n private _createImageMarkup(iconImage?: Msdyn365.IImageData): React.ReactNode | null {\n if (iconImage) {\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings || {},\n imageSettings: iconImage && iconImage.imageSettings\n };\n const pictureClassName = `${this.moduleClassName}__social-account-picture`;\n return (\n
\n \n
\n );\n }\n return null;\n }\n}\n\nexport default SignIn;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { getTelemetryObject, Heading, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileData } from './account-customer-balance-tile.data';\nimport { IAccountCustomerBalanceTileProps } from './account-customer-balance-tile.props.autogenerated';\nimport { CreditComponent, ErrorComponent } from './components/account-customer-balance-tile-info';\nimport LinksComponent from './components/account-customer-balance-tile-links';\n\nexport interface IAccountCustomerBalanceTileViewProps extends IAccountCustomerBalanceTileProps {\n AccountCustomerBalanceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n content: React.ReactNode;\n links: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceTileViewState {\n isDetailsLinkDisplayed: boolean;\n content: React.ReactNode;\n}\n\n/**\n *\n * AccountCustomerBalanceTile component.\n * @extends {React.Component>}\n */\nclass AccountCustomerBalanceTile extends React.Component<\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileViewState\n> {\n @computed get hasError(): boolean {\n return get(this.props, 'data.balance.status') !== 'SUCCESS';\n }\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountCustomerBalanceTileProps) {\n super(props);\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = { ...this._initState() };\n\n reaction(\n () => this.hasError,\n () => {\n this.props.context.telemetry.error('Error retrieving customer account balance');\n this.setState({\n content: \n });\n }\n );\n }\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerResult = get(this.props, 'data.customerInformation.result');\n\n const allowOnAccountPayment = customerResult ? customerResult.AllowOnAccountPayment : false;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const enableCustomerAccountPayment = get(this.props, 'context.request.app.platform.enableCustomerAccountPayment');\n\n return (\n allowOnAccountPayment &&\n (enableCustomerAccountPayment === 'all' ||\n (enableCustomerAccountPayment === 'b2b' && isB2BSite) ||\n (enableCustomerAccountPayment === 'b2c' && !isB2BSite))\n );\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountCustomerBalanceTileProps,\n nextState: IAccountCustomerBalanceTileViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n if (!this.isCustomerAccountPaymentEnabled) {\n return <>;\n }\n\n const { className, heading, links } = this.props.config;\n const viewProps = {\n ...this.props,\n AccountCustomerBalanceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-customer-balance-tile', className)\n },\n heading: heading && (\n \n ),\n content: this.state.content,\n links: this.state.isDetailsLinkDisplayed && (\n (event: Msdyn365.ContentEditableEvent) => void 0,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initState(): IAccountCustomerBalanceTileViewState {\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n\n let content: React.ReactNode;\n let isDetailsLinkDisplayed = false;\n\n if (this.hasError) {\n this.props.telemetry.error('Error retrieving customer account balance');\n content = ;\n } else if (\n account.Balance === 0 &&\n account.CreditLimit === 0 &&\n account.InvoiceAccountBalance === 0 &&\n account.InvoiceAccountCreditLimit === 0\n ) {\n // Non-established credit\n content = ;\n } else {\n // Successfully retrieved balance\n const { accountCreditVerbagePrefix, accountCreditVerbagePostfix } = this.props.resources;\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n let customerCredit = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n }\n\n const customerCreditFormatted = `${formatCurrency(customerCredit.toFixed(2), currencyCode)}`;\n\n isDetailsLinkDisplayed = true;\n content = (\n \n );\n }\n\n return { content, isDetailsLinkDisplayed };\n }\n}\n\nexport default AccountCustomerBalanceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 * 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 * 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 { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInInputProps {\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 ariaLabel?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface ISignInInput {\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 SignInInput: React.FC = ({ id, type, value, pattern, className, maxLength, ariaLabel, onChange }) => (\n \n);\n\nexport default SignInInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-generic-tile.props.autogenerated';\n\nexport interface IAccountGenericTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountGenericTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-generic-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountGenericTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { LoyaltyCard, LoyaltyRewardPoint, LoyaltyRewardPointActivity } from '@msdyn365-commerce/retail-proxy';\nimport {\n getLoyaltyRewardPointActivityTimelineAsync,\n getLoyaltyRewardPointsExpiringSoonAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyData } from './account-loyalty.data';\nimport { IAccountLoyaltyProps } from './account-loyalty.props.autogenerated';\nimport { AccountLoyaltyLabel, AccountLoyaltyModalLabel } from './components';\n\nexport interface IAccountLoyaltyViewProps extends IAccountLoyaltyProps<{}> {\n AccountLoyalty: IModuleProps;\n className: string;\n totalPoints: number;\n heading?: React.ReactNode;\n Info: INodeProps;\n infoLabel: React.ReactNode;\n cardNumber: React.ReactNode;\n joinDate: React.ReactNode;\n Points: INodeProps;\n pointsLabel: React.ReactNode;\n points: React.ReactNode;\n Breakdown: INodeProps;\n RewardPoints: INodeProps;\n PointsBreakdown: INodeProps;\n rewardPoints?: IAccountLoyaltyRewardPointProps[];\n Button: INodeProps;\n homeButton: React.ReactNode;\n pointsModal: IAccountLoyaltyModalProps;\n}\n\nexport interface IAccountLoyaltyState {\n isModalOpen: boolean;\n currentModalData?: LoyaltyRewardPoint;\n isModalExpiring: boolean;\n modalID: string;\n currentFocus?: React.RefObject;\n pointsActivity: LoyaltyRewardPointActivity[] | undefined;\n}\n\nexport interface IAccountLoyaltyRewardPointProps {\n label: React.ReactNode;\n availableModalLabel: React.ReactNode;\n availableModalTrigger: React.ReactNode;\n expiringModalLabel: React.ReactNode;\n expiringModalTrigger: React.ReactNode;\n}\n\nexport type horizontalModalPosition = 'left' | 'center' | 'right';\nexport type verticalModalPosition = 'top' | 'center' | 'bottom';\n\nexport interface IAccountLoyaltyModalProps {\n isOpen: boolean;\n horizontalPosition?: horizontalModalPosition;\n verticalPosition?: verticalModalPosition;\n modalClassName?: string;\n modalHeaderClassName?: string;\n modalHeader?: string;\n modalBodyClassName?: string;\n ModalBodyTop: INodeProps;\n pointsDescription?: React.ReactNode;\n totalPoints?: React.ReactNode;\n ModalBodyHeaders: INodeProps;\n date?: React.ReactNode;\n balanceLabel?: React.ReactNode;\n rewardPointsActivity?: IAccountLoyaltyActivityProps[];\n returnFocusRef?: React.RefObject;\n onClose(): void;\n onOpened?(): void;\n}\n\nexport interface IAccountLoyaltyActivityProps {\n Activity: INodeProps;\n activityType: React.ReactNode;\n activityDate: React.ReactNode;\n activityPoints: React.ReactNode;\n}\n\nexport interface IProps extends IAccountLoyaltyProps {}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.Component>}\n */\n@observer\nclass AccountLoyalty extends React.PureComponent {\n private readonly _buttonAvailableRef: React.RefObject;\n\n private readonly _buttonExpireRef: React.RefObject;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly decimalPrecision = 2;\n\n constructor(props: IAccountLoyaltyProps) {\n super(props);\n this._buttonAvailableRef = React.createRef();\n this._buttonExpireRef = React.createRef();\n this.state = {\n isModalOpen: false,\n currentModalData: undefined,\n isModalExpiring: false,\n modalID: '',\n pointsActivity: undefined\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, TelemetryConstant.BackToShopping);\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n const { loyaltyCard } = this.props.data;\n const { loyaltyCardLabel, totalAvailablePointsLabel, backToShoppingText } = this.props.resources;\n const { actionContext } = this.props.context;\n const { isModalOpen } = this.state;\n const backToShopAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n\n if (!loyaltyCard || !loyaltyCard.result || !loyaltyCard.result.CardNumber) {\n this.props.context.telemetry.error('Loyalty card content is empty, module wont render');\n return null;\n }\n\n const loyaltyCardData = loyaltyCard.result;\n const rewardPoints = loyaltyCard && loyaltyCardData.RewardPoints;\n const homeLink = Msdyn365.getUrlSync('home', actionContext) ?? '';\n\n const viewProps = {\n ...this.props,\n AccountLoyalty: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty', className),\n modalTransition: {\n /**\n * On Entered in Modal function.\n * @param node - The current node element.\n * @param isAppearing - The Boolean value.\n */\n onEntered: (node: HTMLElement, isAppearing: boolean) => {\n const childNode = node.firstChild as HTMLElement;\n if (isAppearing) {\n childNode.focus();\n }\n }\n }\n },\n totalPoints: rewardPoints && this._getTotalPoints(),\n className: classnames('msc-account-loyalty', className),\n rewardPoints:\n loyaltyCardData.RewardPoints && loyaltyCardData.RewardPoints.length > 0 && this._renderRewardPoints(loyaltyCardData),\n pointsModal: (isModalOpen && this._renderModal()) || {\n isOpen: false,\n returnFocusRef: this.state.currentFocus,\n onOpened: this._onOpenModal\n },\n Info: { className: 'ms-account-loyalty__info' },\n Points: { className: 'ms-account-loyalty__points' },\n Breakdown: { className: 'ms-account-loyalty__breakdown' },\n RewardPoints: { className: 'ms-account-loyalty__reward-points' },\n PointsBreakdown: { className: 'ms-account-loyalty__point-breakdown' },\n Button: { className: 'ms-account-loyalty__link' },\n heading: heading && (\n \n ),\n\n // Account info\n infoLabel: ,\n cardNumber: ,\n joinDate: (\n \n ),\n\n // Points\n pointsLabel: ,\n points: rewardPoints && (\n \n ),\n\n homeButton: rewardPoints && (\n \n {backToShoppingText}\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 private _formatJoinDate(date: Date): string {\n return format(\n this.props.resources.joinDateFormatted,\n new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }).format(new Date(date))\n );\n }\n\n private _renderRewardPoints(loyaltyCard: LoyaltyCard): IAccountLoyaltyRewardPointProps[] {\n return loyaltyCard.RewardPoints!.map((loyaltyPoints, index) => {\n const availableId = (loyaltyPoints.RewardPointId && `${loyaltyPoints.RewardPointId}-available-${index}`) || 'available-points';\n const expiringId = (loyaltyPoints.RewardPointId && `${loyaltyPoints.RewardPointId}-expiring-${index}`) || 'expiring-points';\n const {\n availablePointsLabel,\n availablePointsAriaLabel,\n expiringPointsFormatLabel,\n expiringPointsFormatAriaLabel\n } = this.props.resources;\n this.payLoad.contentAction.etext = TelemetryConstant.AvailablePoints;\n const availablePointsAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.ExpiringPoints;\n const expiringPointsAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n const expireDaysDefaultValue = 30;\n\n return {\n label: ,\n availableModalLabel: loyaltyPoints.ActivePoints !== undefined && (\n \n ),\n availableModalTrigger: loyaltyPoints.ActivePoints !== undefined && (\n \n {loyaltyPoints.ActivePoints.toFixed(this.decimalPrecision)}\n \n ),\n expiringModalLabel: loyaltyPoints.PointsExpiringSoon !== undefined && (\n \n ),\n expiringModalTrigger: loyaltyPoints.PointsExpiringSoon !== undefined && (\n \n {loyaltyPoints.PointsExpiringSoon.toFixed(this.decimalPrecision)}\n \n )\n };\n });\n }\n\n private _renderModal(): IAccountLoyaltyModalProps | null {\n const { totalAvailablePointsLabel, loyaltyActivityDateLabel, loyaltyActivityBalanceLabel } = this.props.resources;\n const { isModalOpen, currentModalData } = this.state;\n\n if (!isModalOpen || !currentModalData) {\n // Return empty modal\n this.props.context.telemetry.error('Account loyalty modal content is empty, module wont render');\n return null;\n }\n\n return {\n isOpen: isModalOpen,\n returnFocusRef: this.state.currentFocus,\n horizontalPosition: 'center',\n verticalPosition: 'center',\n modalClassName: 'ms-account-loyalty__points-modal',\n modalHeaderClassName: 'ms-account-loyalty__points-modal-header',\n modalHeader: currentModalData.Description ?? '',\n modalBodyClassName: 'ms-account-loyalty__points-modal-body',\n ModalBodyTop: { className: 'ms-account-loyalty__points-modal-body-top' },\n ModalBodyHeaders: { className: 'ms-account-loyalty__points-modal-body-header' },\n rewardPointsActivity: this._renderPointsActivity(),\n pointsDescription: ,\n totalPoints: ,\n date: ,\n balanceLabel: ,\n onClose: this._closeModal,\n onOpened: this._onOpenModal\n };\n }\n\n private _getTotalPoints(): number {\n const rewardPoints = this.props.data.loyaltyCard.result && this.props.data.loyaltyCard.result.RewardPoints;\n\n let total = 0;\n rewardPoints &&\n rewardPoints.forEach(loyaltyPoints => {\n total += loyaltyPoints.ActivePoints ?? 0;\n });\n\n return total;\n }\n\n private _getPoints(): string {\n const { currentModalData, isModalExpiring } = this.state;\n const rewardPoints: number = (isModalExpiring ? currentModalData!.PointsExpiringSoon : currentModalData!.ActivePoints) ?? 0;\n\n return `${rewardPoints.toFixed(this.decimalPrecision)}`;\n }\n\n private _renderPointsActivity(): IAccountLoyaltyActivityProps[] | undefined {\n const { pointsActivity } = this.state;\n\n if (!pointsActivity) {\n this.props.context.telemetry.error('Points activity content is empty, module wont render');\n return undefined;\n }\n\n return pointsActivity.map(activity => {\n return {\n Activity: { className: 'ms-account-loyalty__points-modal-activity' },\n activityType: (\n \n ),\n activityDate: (\n \n ),\n activityPoints: (\n \n )\n };\n });\n }\n\n private _parseDate(date: Date | string): Date {\n /* Dates for loyalty are coming as formatted strings yyyy-mm-ddT:00:00.000z\n Javascript was interpreting this as an iso format, thus causing the wrong date to be rendered */\n if (typeof date === 'string') {\n let dateString = date.toString();\n dateString = dateString.replace(/-/g, '/');\n dateString = dateString.substring(0, 10);\n return new Date(dateString);\n }\n return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n private _getTimelineType(pointActivity: LoyaltyRewardPointActivity): string {\n if (pointActivity.LoyaltyRewardPointTimelineEntryType) {\n return pointActivity.LoyaltyRewardPointTimelineEntryType;\n }\n\n const { earnedPointsLabel, redeemedPointsLabel, adjustedPointsLabel, refundedPointsLabel } = this.props.resources;\n switch (pointActivity.ExtensibleLoyaltyRewardPointActivityEntryTypeValue) {\n case 1:\n return earnedPointsLabel;\n case 2:\n return refundedPointsLabel;\n case 3:\n return redeemedPointsLabel;\n case 5:\n return adjustedPointsLabel;\n default:\n return '';\n }\n }\n\n private readonly _populateModalData = (\n focusRef: React.RefObject,\n loyaltyCard: LoyaltyCard,\n currentLoyaltyPoints: LoyaltyRewardPoint,\n expiring: boolean\n ) => () => {\n if (!loyaltyCard || !loyaltyCard.CardNumber || !currentLoyaltyPoints.RewardPointId) {\n this.props.context.telemetry.error('Modal data is empty, module wont render');\n return null;\n }\n\n const { actionContext } = this.props.context;\n\n // Open modal\n this.setState({\n isModalOpen: true,\n currentModalData: currentLoyaltyPoints,\n isModalExpiring: expiring,\n modalID: '',\n currentFocus: focusRef\n });\n\n if (expiring) {\n getLoyaltyRewardPointsExpiringSoonAsync(\n { callerContext: actionContext, queryResultSettings: {} },\n loyaltyCard.CardNumber,\n currentLoyaltyPoints.RewardPointId,\n 30\n )\n .then((points: LoyaltyRewardPointActivity[]) => {\n this.setState({ pointsActivity: points });\n })\n .catch((error: Error) => {\n this.props.telemetry.exception(error);\n this.props.telemetry.debug('Failed to get reward point activity');\n });\n } else {\n getLoyaltyRewardPointActivityTimelineAsync(\n { callerContext: actionContext, queryResultSettings: {} },\n loyaltyCard.CardNumber,\n currentLoyaltyPoints.RewardPointId\n )\n .then((points: LoyaltyRewardPointActivity[]) => {\n this.setState({ pointsActivity: points });\n })\n .catch((error: Error) => {\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Failed to get reward point activity');\n });\n }\n // eslint-disable-next-line no-useless-return, consistent-return -- Auto-suppressed.\n return;\n };\n\n private readonly _closeModal = () => {\n this.setState({\n isModalOpen: false,\n currentModalData: undefined,\n pointsActivity: undefined\n });\n };\n\n /**\n * On open modal function.\n */\n private readonly _onOpenModal = () => {\n if (this.state.currentFocus?.current) {\n this.state.currentFocus.current.focus();\n }\n };\n}\n\nexport default AccountLoyalty;\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 } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignInLink {\n id?: string;\n className: string;\n href: string;\n ariaLabel: string;\n text: string;\n telemetryContent?: ITelemetryContent;\n}\n\nconst SignInLink: React.FC = ({ id, className, href, telemetryContent, ariaLabel, text }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default SignInLink;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface ISignInErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignInError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default SignInError;\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 IAccountLoyaltyLabel {\n className?: string;\n text?: string | number;\n}\n\nexport const AccountLoyaltyLabel: React.FC = ({ className, text }) =>

{text}

;\n\nexport interface IAccountLoyaltyModalLabel {\n className?: string;\n text?: string | number;\n labelFor?: string;\n}\n\nexport const AccountLoyaltyModalLabel: React.FC = ({ className, text, labelFor }) => (\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 ISignInDescription {\n className: string;\n description: string;\n}\n\nconst SignInDescription: React.FC = ({ className, description }) =>

{description}

;\n\nexport default SignInDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Modal, ModalBody, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyViewProps } from './account-loyalty';\n\nconst AccountLoyaltyView: React.FC = props => {\n const {\n AccountLoyalty,\n Info,\n Points,\n Breakdown,\n RewardPoints,\n PointsBreakdown,\n Button,\n heading,\n infoLabel,\n cardNumber,\n joinDate,\n pointsLabel,\n points,\n rewardPoints,\n homeButton,\n pointsModal\n } = props;\n const { ModalBodyTop, ModalBodyHeaders } = pointsModal;\n return (\n \n {heading}\n \n {infoLabel}\n {cardNumber}\n {joinDate}\n \n \n {pointsLabel}\n {points}\n\n \n {rewardPoints &&\n rewardPoints.map((activity, index) => {\n return (\n \n {activity.label}\n \n {activity.availableModalLabel}\n {activity.availableModalTrigger}\n \n\n \n {activity.expiringModalLabel}\n {activity.expiringModalTrigger}\n \n \n );\n })}\n \n \n\n {homeButton}\n\n {(!pointsModal.isOpen && ) || (\n \n \n {pointsModal.modalHeader}\n \n \n \n {pointsModal.pointsDescription}\n {pointsModal.totalPoints}\n \n \n {pointsModal.date}\n {pointsModal.balanceLabel}\n \n {pointsModal.rewardPointsActivity &&\n pointsModal.rewardPointsActivity.map((activity, index) => {\n const { Activity, activityType, activityDate, activityPoints } = activity;\n return (\n \n {activityType}\n {activityDate}\n {activityPoints}\n \n );\n })}\n \n \n )}\n \n );\n};\n\nexport default AccountLoyaltyView;\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 * as React from 'react';\n\nexport interface ISignInLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignInLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignInLoadingMessage;\n"],"sourceRoot":""}