{"version":3,"sources":["webpack:///src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?e178","webpack:///src/modules/account-profile-edit/components/account-profile-edit-button.tsx?8f71","webpack:///src/modules/account-profile-edit/components/account-profile-edit-label.tsx?505c","webpack:///src/modules/account-profile-edit/components/account-profile-edit-error.tsx?a0b2","webpack:///src/modules/account-profile-edit/account-profile-edit.view.tsx?72b7","webpack:///src/modules/account-loyalty/account-loyalty.tsx?82db","webpack:///src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?2c6f","webpack:///src/modules/account-loyalty/components/account-loyalty-small-components.tsx?9694","webpack:///src/modules/account-loyalty/account-loyalty.view.tsx?06f4","webpack:///src/modules/account-profile-edit/components/account-profile-edit-input.tsx?3bba","webpack:///src/modules/account-profile-edit/account-profile-edit.tsx?a9d6"],"names":["AccountProfileEditLoadingIcon","_ref","className","React","AccountProfileEditButton","id","text","ariaLabel","disabled","telemetryContent","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","Button","Object","assign","AccountProfileEditLabel","forId","htmlFor","AccountProfileEditError","type","message","errorClassName","classnames","role","AccountProfileEditItem","wrapper","label","errorMessage","input","Node","AccountProfileEditLoading","_ref3","modal","modalBody","icon","AccountProfileEditView","props","accountProfileEdit","viewState","loading","defaultAADConainer","aadConainer","heading","accountProfileEditLocalAccount","Module","isShowLoading","_ref2","localAccount","items","buttonsWrapper","buttons","verificationSuccessModal","verificationSuccessModalMessage","map","item","error","index","key","button","LocalAccount","AccountLoyalty","constructor","super","decimalPrecision","handleHeadingChange","event","this","config","target","value","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","context","telemetry","actionContext","setState","isModalOpen","currentModalData","isModalExpiring","modalID","currentFocus","getLoyaltyRewardPointsExpiringSoonAsync","callerContext","queryResultSettings","then","points","pointsActivity","catch","exception","debug","getLoyaltyRewardPointActivityTimelineAsync","_closeModal","undefined","_onOpenModal","_this$state$currentFo","state","current","focus","_buttonAvailableRef","_buttonExpireRef","getTelemetryObject","request","telemetryPageName","friendlyName","TelemetryConstant","BackToShopping","render","_Msdyn365$getUrlSync","_heading$tag","data","loyaltyCardLabel","totalAvailablePointsLabel","backToShoppingText","resources","backToShopAttributes","result","loyaltyCardData","rewardPoints","RewardPoints","homeLink","Msdyn365","viewProps","_objectSpread","moduleProps","modalTransition","onEntered","node","isAppearing","childNode","firstChild","totalPoints","_getTotalPoints","length","_renderRewardPoints","pointsModal","_renderModal","isOpen","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","tag","editProps","onEdit","requestContext","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","toFixed","homeButton","href","title","renderView","date","format","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","loyaltyPoints","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","__decorate","observer","AccountProfileEditLoadingMessage","AccountLoyaltyView","Modal","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","ModalBody","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","AccountProfileEditInput","pattern","onChange","AccountProfileEdit","moduleClassName","onTextBoxChange","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","style","display","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","showEmail","push","emailAddressLabelText","labelText","AccountProfileEditLabelComponent","AccountProfileEditInputComponent","observable"],"mappings":"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","file":"static/js/5.deca97ea543a17136926.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 IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\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 * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as 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 { 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 { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\n"],"sourceRoot":""}