{"version":3,"sources":["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/sign-in/components/sign-in-text.tsx?92d7","webpack:///src/modules/sign-in/components/sign-in-button.tsx?a9cc","webpack:///src/modules/sign-in/components/sign-in-label.tsx?d42c","webpack:///src/modules/sign-in/sign-in.tsx?44ed","webpack:///src/modules/sign-in/components/sign-in-input.tsx?eb41","webpack:///src/modules/account-loyalty/account-loyalty.tsx?82db","webpack:///src/modules/sign-in/components/sign-in-link.tsx?fc9f","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/sign-in/components/sign-in-loading-message.tsx?7f4d"],"names":["SignInLoading","_ref4","modal","modalBody","icon","message","React","Node","Object","assign","SignInView","props","signIn","viewState","loading","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","signUpLink","Module","isShowLoading","_ref","localAccount","items","forgetPassword","disclaimer","error","signInButton","map","item","key","wrapper","label","input","LocalAccount","_ref2","socialAccounts","button","image","text","SocialAccount","_ref3","B2BAccount","SignInLoadingIcon","className","SignInText","SignInButton","id","ariaLabel","telemetryContent","disabled","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","Button","SignInLabel","forId","htmlFor","SignIn","constructor","super","moduleClassName","handleParagraphChange","event","this","config","signInDisclaimer","target","value","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","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","render","viewProps","_objectSpread","moduleProps","classnames","tag","Modal","isOpen","ModalBody","SignInLoadingIconComponent","SignInLoadingMessageComponent","loadingMessage","style","display","Msdyn365","editProps","onEdit","requestContext","_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","renderView","type","labelText","pattern","SignInLabelComponent","SignInInputComponent","iconImage","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","__decorate","observable","observer","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignInInput","onChange","undefined","AccountLoyalty","decimalPrecision","handleHeadingChange","heading","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","actionContext","setState","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","length","_renderRewardPoints","pointsModal","_renderModal","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","toFixed","homeButton","title","date","format","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","loyaltyPoints","index","availableId","expiringId","availablePointsLabel","availablePointsAriaLabel","expiringPointsFormatLabel","expiringPointsFormatAriaLabel","contentAction","etext","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","forEach","_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","SignInError","errorClassName","role","SignInDescription","AccountLoyaltyView","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","SignInLoadingMessage"],"mappings":"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","file":"static/js/5.ddf4c6f936fb7bce13bf.chunk.js","sourcesContent":["/*!\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 * 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 { 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 * 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 { 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 { 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 { 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 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 * 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":""}