{"version":3,"file":"static/js/4.febdaafcf4fc3aeda8d8.chunk.js","mappings":"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","sources":["webpack://nile.commerce.online/./src/modules/account-loyalty/account-loyalty.tsx?3672","webpack://nile.commerce.online/./src/modules/account-loyalty/account-loyalty.view.tsx?4d8b","webpack://nile.commerce.online/./src/modules/account-loyalty/components/account-loyalty-small-components.tsx?c12b","webpack://nile.commerce.online/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://nile.commerce.online/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://nile.commerce.online/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://nile.commerce.online/./src/modules/loyalty-terms/components/loyalty-terms-modal.tsx?1b8b","webpack://nile.commerce.online/./src/modules/loyalty-terms/loyalty-terms.tsx?babd","webpack://nile.commerce.online/./src/modules/loyalty-terms/loyalty-terms.view.tsx?b3e6","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-button.tsx?8d59","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-description.tsx?54a5","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-error.tsx?a75a","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-input.tsx?d840","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-label.tsx?4560","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-link.tsx?2078","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-loading-icon.tsx?1d7f","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-loading-message.tsx?84ee","webpack://nile.commerce.online/./src/modules/sign-in/components/sign-in-text.tsx?76b9","webpack://nile.commerce.online/./src/modules/sign-in/sign-in.tsx?259c","webpack://nile.commerce.online/./src/modules/sign-in/sign-in.view.tsx?2b3e"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { 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 { 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 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 React from 'react';\n\nexport const SignUpText: React.FC<{ text: string }> = (props: { text: string }) => {\n return

{props.text}

;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, * as Msdyn365 from '@msdyn365-commerce/core';\nimport { issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { SignUpText } from './components/loyalty-sign-up-small-components';\nimport { ILoyaltySignUpData } from './loyalty-sign-up.data';\nimport { ILoyaltySignUpProps } from './loyalty-sign-up.props.autogenerated';\n\nexport interface IAccountLoyaltyJoinState {\n clicked: boolean;\n}\nexport interface ILoyaltySignUpViewProps extends ILoyaltySignUpProps {\n LoyaltySignUp: IModuleProps;\n heading: React.ReactNode;\n memberHeading: React.ReactNode;\n signInLink: React.ReactElement;\n signUpText: React.ReactElement;\n signUpButton: React.ReactElement;\n detailsLink: React.ReactElement;\n termsLink: React.ReactElement;\n loading: boolean;\n infoMessageBar?: React.ReactNode;\n}\n\n/**\n *\n * LoyaltySignUp component.\n * @extends {React.Component>}\n */\n@observer\nclass LoyaltySignUp extends React.Component, IAccountLoyaltyJoinState> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly loyaltySignInAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltySignUpAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyDetailsLinkAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyTermsLinkAttributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: ILoyaltySignUpProps) {\n super(props);\n this.state = { clicked: false };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n this.loyaltySignInAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.SignUp;\n this.loyaltySignUpAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyDetailLink;\n this.loyaltyDetailsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsLink;\n this.loyaltyTermsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltySignUpProps, nextState: IAccountLoyaltyJoinState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className, heading, memberHeading },\n resources,\n context: {\n actionContext,\n request: {\n user: { signInUrl, isAuthenticated }\n }\n },\n data\n } = this.props;\n\n const termsUrl = Msdyn365.getUrlSync('loyaltyTerms', actionContext);\n let loyaltyJoinUrl = `${Msdyn365.getUrlSync('loyaltyJoin', actionContext)}?joiningLoyalty=true`;\n if (MsDyn365.isBrowser) {\n loyaltyJoinUrl = `${window.location.origin}${loyaltyJoinUrl}`;\n }\n const signInurl = `${signInUrl}?ru=${loyaltyJoinUrl}`;\n const completeClass = classname('ms-loyalty-signup', className);\n const loyaltyCard = data.loyaltyCard;\n const hasLoyaltyAccount = loyaltyCard.result && loyaltyCard.result.CardTenderTypeValue !== undefined;\n const customerInformation = data.customerInformation?.result;\n\n const invalidAsyncCustomerState: boolean =\n (this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (customerInformation?.IsAsyncCustomer || false);\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltySignUp: {\n moduleProps: this.props,\n className: completeClass\n },\n infoMessageBar: invalidAsyncCustomerState && (\n \n ),\n loading: !this.props.context.request.params.isEditor && loyaltyCard?.status === 'LOADING',\n heading: !hasLoyaltyAccount && heading && heading.text && (\n \n ),\n memberHeading: hasLoyaltyAccount && memberHeading && memberHeading.text && (\n \n ),\n signInLink: !isAuthenticated && (\n \n ),\n signUpText: !hasLoyaltyAccount && ,\n signUpButton: !hasLoyaltyAccount && isAuthenticated && (\n \n {this.props.resources.joinLoyaltyButtonText}\n \n ),\n detailsLink: hasLoyaltyAccount && (\n \n {this.props.resources.viewLoyaltyPageText}\n \n ),\n termsLink: !hasLoyaltyAccount && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleMemberHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.memberHeading!.text = event.target.value);\n\n private readonly _issueLoyalty = () => {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(() => {\n if (MsDyn365.isBrowser) {\n window.location.assign(Msdyn365.getUrlSync('loyalty', this.props.context.actionContext) || '');\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n };\n}\n\nexport default LoyaltySignUp;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILoyaltySignUpViewProps } from './loyalty-sign-up';\n\nconst LoyaltySignUpView: React.FC = props => {\n const {\n LoyaltySignUp,\n heading,\n memberHeading,\n signInLink,\n signUpText,\n signUpButton,\n detailsLink,\n termsLink,\n loading,\n infoMessageBar\n } = props;\n\n if (loading) {\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\n return null;\n }\n\n return (\n \n {infoMessageBar}\n {memberHeading}\n {heading}\n {detailsLink}\n {signUpText}\n {termsLink}\n {signUpButton}\n {signInLink}\n \n );\n};\n\nexport default LoyaltySignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nexport interface ILoyaltyTermsModalProps {\n resources: ILoyaltyTermsModalResources;\n returnRef: React.RefObject | undefined;\n checked: boolean;\n isOpen: boolean;\n terms: React.ReactNode;\n telemetryContent?: ITelemetryContent;\n onToggle(): void;\n onSubmit(): void;\n onCheck(): void;\n}\n\nexport interface ILoyaltyTermsModalResources {\n loyaltyTermsHeading: string;\n loyaltyAgreeToTerms: string;\n joinLoyaltyTermsText: string;\n cancelLoyaltyTermsText: string;\n}\n\nexport interface ILoyaltyTermsModalViewProps {\n modal: INodeProps;\n modalHeader: INodeProps;\n modalFooter: INodeProps;\n modalBody: INodeProps;\n heading: React.ReactElement;\n cancelButton: React.ReactElement;\n submitButton: React.ReactElement;\n terms: React.ReactNode;\n checkbox: React.ReactElement;\n agreeText: React.ReactElement;\n agreeSection: INodeProps;\n}\n\nexport const LoyaltyTermsModal = (props: ILoyaltyTermsModalProps): ILoyaltyTermsModalViewProps => {\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.LoyaltyTermsCancel);\n const loyaltyTermCancelAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsSubmit;\n const loyaltyTermSubmitAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsAgree;\n const loyaltyTermCheckboxAttributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n return {\n modal: {\n tag: Modal,\n className: 'ms-loyalty-terms__modal',\n toggle: props.onToggle,\n applicationNode: 'renderPage',\n isOpen: props.isOpen,\n returnFocusRef: props.returnRef\n },\n modalHeader: { tag: ModalHeader, className: 'ms-loyalty-terms__modal-header', toggle: props.onToggle },\n modalFooter: { tag: ModalFooter, className: 'ms-loyalty-terms__modal-footer' },\n modalBody: { tag: ModalBody, className: 'ms-loyalty-terms__modal-body' },\n cancelButton: (\n \n ),\n submitButton: (\n \n {props.resources.joinLoyaltyTermsText}\n \n ),\n heading:

{props.resources.loyaltyTermsHeading}

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

{props.resources.loyaltyAgreeToTerms}

\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { getLoyaltyCardAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { GetLoyaltyCardInput, issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport * as React from 'react';\n\nimport { ILoyaltyTermsModalViewProps, LoyaltyTermsModal } from './components/loyalty-terms-modal';\nimport { ILoyaltyTermsData } from './loyalty-terms.data';\nimport { ILoyaltyTermsProps } from './loyalty-terms.props.autogenerated';\n\nexport interface ILoyaltyTermsState {\n checked: boolean;\n clicked: boolean;\n isModalOpen: boolean;\n}\nexport interface ILoyaltyTermsViewProps extends ILoyaltyTermsProps {\n LoyaltyTerms: IModuleProps;\n modalToggle: React.ReactElement;\n modal: ILoyaltyTermsModalViewProps;\n loading: boolean;\n}\n\n/**\n *\n * LoyaltyTerms component.\n * @extends {React.Component>}\n */\nclass LoyaltyTerms extends React.Component, ILoyaltyTermsState> {\n private readonly toggleRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent;\n\n public constructor(props: ILoyaltyTermsProps) {\n super(props);\n this._toggle = this._toggle.bind(this);\n this._submit = this._submit.bind(this);\n this._checkboxChecked = this._checkboxChecked.bind(this);\n this.toggleRef = React.createRef();\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n let search = this.props.context.request.url.requestUrl.search;\n let isJoining = false;\n if (search) {\n search = search.substring(1);\n const qsps = search.split('&');\n for (const qsp of qsps) {\n const splitQsp = qsp.split('=');\n isJoining = splitQsp[0] === 'joiningLoyalty' && splitQsp[1] === 'true';\n if (isJoining) {\n break;\n }\n }\n }\n\n this.state = {\n isModalOpen: isJoining,\n checked: false,\n clicked: false\n };\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltyTermsProps, nextState: ILoyaltyTermsState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className, hideToggle },\n resources,\n slots: { serviceTerms },\n data: { loyaltyCard },\n context: {\n request: {\n user: { isAuthenticated }\n }\n }\n } = this.props;\n const completeClass = classname('ms-loyalty-terms', className);\n\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltyTerms: {\n moduleProps: this.props,\n className: completeClass\n },\n loading: loyaltyCard.status === 'LOADING',\n modalToggle: hideToggle !== true && (\n \n ),\n modal:\n isAuthenticated &&\n loyaltyCard.result &&\n loyaltyCard.result.CardNumber === undefined &&\n LoyaltyTermsModal({\n resources: { ...resources },\n returnRef: this.toggleRef,\n checked: this.state.checked,\n isOpen: this.state.isModalOpen,\n terms: serviceTerms,\n telemetryContent: this.telemetryContent,\n onToggle: this._toggle,\n onSubmit: this._submit,\n onCheck: this._checkboxChecked\n })\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _toggle(): void {\n this.setState({ isModalOpen: !this.state.isModalOpen, checked: false });\n }\n\n private _submit(): void {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(card => {\n if (this.props.config.redirectToLoyalty) {\n window.location.assign(getUrlSync('loyalty', this.props.context.actionContext) || '');\n } else {\n getLoyaltyCardAsync({ callerContext: this.props.context.actionContext }, card.CardNumber || '')\n .then(fullCard => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n fullCard\n );\n })\n .catch((error: Error) => {\n this.props.context.actionContext.update(\n new GetLoyaltyCardInput(this.props.context.request.apiSettings),\n card\n );\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to fetch loyalty card');\n });\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n }\n\n private _checkboxChecked(): void {\n this.setState({ checked: !this.state.checked });\n }\n}\n\nexport default LoyaltyTerms;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILoyaltyTermsViewProps } from './loyalty-terms';\n\nconst LoyaltyTermsView: React.FC = props => {\n const { LoyaltyTerms, modalToggle, modal, loading } = props;\n\n return !loading && modal ? (\n \n {modalToggle}\n \n {modal.heading}\n \n {modal.terms}\n \n {modal.checkbox}\n {modal.agreeText}\n \n \n \n {modal.submitButton}\n {modal.cancelButton}\n \n \n \n ) : null;\n};\n\nexport default LoyaltyTermsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 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 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 { 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 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 { 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 * 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 ISignInLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignInLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignInLoadingMessage;\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 * 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 { 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"],"names":["AccountLoyalty","React","constructor","props","super","decimalPrecision","handleHeadingChange","event","this","config","heading","text","target","value","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","context","telemetry","error","actionContext","setState","isModalOpen","currentModalData","isModalExpiring","modalID","currentFocus","getLoyaltyRewardPointsExpiringSoonAsync","callerContext","queryResultSettings","then","points","pointsActivity","catch","exception","debug","getLoyaltyRewardPointActivityTimelineAsync","message","_closeModal","undefined","_onOpenModal","_this$state$currentFo","state","current","focus","_buttonAvailableRef","_buttonExpireRef","telemetryContent","getTelemetryObject","request","telemetryPageName","friendlyName","payLoad","getPayloadObject","TelemetryConstant","BackToShopping","render","_Msdyn365$getUrlSync","_heading$tag","className","data","loyaltyCardLabel","totalAvailablePointsLabel","backToShoppingText","resources","backToShopAttributes","getTelemetryAttributes","result","loyaltyCardData","rewardPoints","RewardPoints","homeLink","Msdyn365","viewProps","_objectSpread","moduleProps","classnames","modalTransition","onEntered","node","isAppearing","childNode","firstChild","totalPoints","_getTotalPoints","length","_renderRewardPoints","pointsModal","_renderModal","isOpen","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","Button","tag","editProps","onEdit","requestContext","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","toFixed","homeButton","Object","assign","href","title","renderView","date","format","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","map","loyaltyPoints","index","availableId","expiringId","availablePointsLabel","availablePointsAriaLabel","expiringPointsFormatLabel","expiringPointsFormatAriaLabel","contentAction","etext","AvailablePoints","availablePointsAttributes","ExpiringPoints","expiringPointsAttributes","label","AccountLoyaltyModalLabel","Description","availableModalLabel","ActivePoints","labelFor","availableModalTrigger","color","onClick","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","_ref","activity","_toFixed","_ref2","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","Module","Node","key","Modal","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","ModalBody","htmlFor","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","user","isAuthenticated","clicked","input","IssueLoyaltyInput","apiSettings","issueLoyalty","MsDyn365","isBrowser","window","location","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","shouldComponentUpdate","nextProps","nextState","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","hasLoyaltyAccount","CardTenderTypeValue","customerInformation","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","loading","params","isEditor","status","signInLink","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","disabled","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","LoyaltyTermsModal","LoyaltyTermsCancel","loyaltyTermCancelAttributes","LoyaltyTermsSubmit","loyaltyTermSubmitAttributes","LoyaltyTermsAgree","loyaltyTermCheckboxAttributes","modal","onToggle","applicationNode","returnRef","modalFooter","ModalFooter","modalBody","cancelButton","cancelLoyaltyTermsText","submitButton","onSubmit","checked","joinLoyaltyTermsText","loyaltyTermsHeading","terms","agreeSection","checkbox","type","onChange","onCheck","agreeText","loyaltyAgreeToTerms","LoyaltyTerms","_toggle","bind","_submit","_checkboxChecked","toggleRef","search","url","requestUrl","isJoining","qsps","split","qsp","splitQsp","hideToggle","slots","serviceTerms","modalToggle","joinLoyaltytermsToggleText","card","redirectToLoyalty","getUrlSync","getLoyaltyCardAsync","fullCard","update","GetLoyaltyCardInput","id","ariaLabel","attributes","description","errorClassName","role","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","pattern","forId","moduleClassName","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","isInitialized","emailRegex","emailId","SA_FIELDS","AttributeFields","ID","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalidEmailError","invalid_password","invalidPasswordError","unknown_error","unknownError","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","viewState","isShowLoading","signIn","icon","SignInLoadingIconComponent","SignInLoadingMessageComponent","loadingMessage","defaultAADConainer","style","display","aadConainer","signInSection","signInSectionHeading","signInLocalAccount","localAccount","items","_renderInput","emailAddressLabelText","emailAddressAriaLabel","passwordLabelText","forgetPassword","SignInLinkComponent","forgotPasswordButtonAriaLabel","forgotPasswordButtonText","disclaimer","SignInErrorComponent","signInButton","SignInButtonComponent","loginButtonAriaLabel","loginButtonText","signInSocialAccount","socialAccounts","_renderSocialAccount","facebookButtonText","facebookButtonAriaLabel","facebookIcon","microsoftButtonText","microsoftButtonAriaLabel","microsoftIcon","signInB2BAccount","_renderB2BSocialAccount","b2bButtonText","b2bButtonAriaLabel","displayB2bAccountManagerSignin","signUpSection","signUpSectionHeading","signUpDescription","SignInDescriptionComponent","signUpDescriptionText","signUpLink","signUpButtonAriaLabel","signUpButtonText","labelText","wrapper","SignInLabelComponent","SignInInputComponent","iconImage","button","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","observable","SignInLoading","_ref4","item","LocalAccount","SocialAccount","_ref3","B2BAccount"],"sourceRoot":""}