{"version":3,"file":"static/js/4.e577ac55410c53b3c57d.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/account-customer-balance-tile.tsx?8281","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/account-customer-balance-tile.view.tsx?95a8","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-info.tsx?44e9","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-links.tsx?95ac","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty/account-loyalty.tsx?3672","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty/account-loyalty.view.tsx?4d8b","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty/components/account-loyalty-small-components.tsx?c12b","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-button.tsx?8d59","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-description.tsx?54a5","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-error.tsx?a75a","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-input.tsx?d840","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-label.tsx?4560","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-link.tsx?2078","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-loading-icon.tsx?1d7f","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-loading-message.tsx?84ee","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/components/sign-in-text.tsx?76b9","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/sign-in.tsx?259c","webpack://Msdyn365.Commerce.Online/./src/modules/sign-in/sign-in.view.tsx?2b3e","webpack://Msdyn365.Commerce.Online/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.string.match.js?a69e"],"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 { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { getTelemetryObject, Heading, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileData } from './account-customer-balance-tile.data';\nimport { IAccountCustomerBalanceTileProps } from './account-customer-balance-tile.props.autogenerated';\nimport { CreditComponent, ErrorComponent } from './components/account-customer-balance-tile-info';\nimport LinksComponent from './components/account-customer-balance-tile-links';\n\nexport interface IAccountCustomerBalanceTileViewProps extends IAccountCustomerBalanceTileProps {\n AccountCustomerBalanceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n content: React.ReactNode;\n links: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceTileViewState {\n isDetailsLinkDisplayed: boolean;\n content: React.ReactNode;\n}\n\n/**\n *\n * AccountCustomerBalanceTile component.\n * @extends {React.Component>}\n */\nclass AccountCustomerBalanceTile extends React.Component<\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileViewState\n> {\n @computed get hasError(): boolean {\n return get(this.props, 'data.balance.status') !== 'SUCCESS';\n }\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountCustomerBalanceTileProps) {\n super(props);\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = { ...this._initState() };\n\n reaction(\n () => this.hasError,\n () => {\n this.props.context.telemetry.error('Error retrieving customer account balance');\n this.setState({\n content: \n });\n }\n );\n }\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerResult = get(this.props, 'data.customerInformation.result');\n\n const allowOnAccountPayment = customerResult ? customerResult.AllowOnAccountPayment : false;\n const isB2BCustomer = customerResult ? customerResult.IsB2b : false;\n const enableCustomerAccountPayment = get(this.props, 'context.request.app.platform.enableCustomerAccountPayment');\n\n return (\n allowOnAccountPayment &&\n (enableCustomerAccountPayment === 'all' ||\n (enableCustomerAccountPayment === 'b2b' && isB2BCustomer) ||\n (enableCustomerAccountPayment === 'b2c' && !isB2BCustomer))\n );\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountCustomerBalanceTileProps,\n nextState: IAccountCustomerBalanceTileViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n if (!this.isCustomerAccountPaymentEnabled) {\n return <>;\n }\n\n const { className, heading, links } = this.props.config;\n const viewProps = {\n ...this.props,\n AccountCustomerBalanceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-customer-balance-tile', className)\n },\n heading: heading && (\n \n ),\n content: this.state.content,\n links: this.state.isDetailsLinkDisplayed && (\n (event: Msdyn365.ContentEditableEvent) => void 0,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initState(): IAccountCustomerBalanceTileViewState {\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n\n let content: React.ReactNode;\n let isDetailsLinkDisplayed = false;\n\n if (this.hasError) {\n this.props.telemetry.error('Error retrieving customer account balance');\n content = ;\n } else if (\n account.Balance === 0 &&\n account.CreditLimit === 0 &&\n account.InvoiceAccountBalance === 0 &&\n account.InvoiceAccountCreditLimit === 0\n ) {\n // Non-established credit\n content = ;\n } else {\n // Successfully retrieved balance\n const { accountCreditVerbagePrefix, accountCreditVerbagePostfix } = this.props.resources;\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n let customerCredit = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n }\n\n const customerCreditFormatted = `${formatCurrency(customerCredit.toFixed(2), currencyCode)}`;\n\n isDetailsLinkDisplayed = true;\n content = (\n \n );\n }\n\n return { content, isDetailsLinkDisplayed };\n }\n}\n\nexport default AccountCustomerBalanceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileViewProps } from './account-customer-balance-tile';\n\nconst AccountCustomerBalanceTileView: React.FC = props => {\n const { AccountCustomerBalanceTile, heading, content, links } = props;\n\n return (\n \n {heading}\n {content}\n {links}\n \n );\n};\n\nexport default AccountCustomerBalanceTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceTileInfo {\n label?: string;\n value?: string;\n verbagePrefix?: string;\n verbagePostfix?: string;\n className?: string;\n error?: string;\n}\n\nexport const ErrorComponent: React.FC = ({ error }) => (\n {error}\n);\n\nexport const CreditComponent: React.FC = ({ verbagePrefix, verbagePostfix, value, className }) => {\n return (\n
\n {verbagePrefix}\n {value}\n {verbagePostfix}\n
\n );\n};\n\nexport const InfoComponent: React.FC = ({ label, value, className }) => (\n
\n {label}\n {value}\n
\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountCustomerBalanceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountCustomerBalanceTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-customer-balance-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountCustomerBalanceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { 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 { 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","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["AccountCustomerBalanceTile","React","constructor","props","super","this","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","state","_objectSpread","_initState","reaction","hasError","error","setState","content","ErrorComponent","value","resources","apiGenericErrorMessage","get","isCustomerAccountPaymentEnabled","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BCustomer","IsB2b","enableCustomerAccountPayment","shouldComponentUpdate","nextProps","nextState","data","render","className","heading","links","config","viewProps","moduleProps","classnames","Heading","headingTag","tag","text","isDetailsLinkDisplayed","LinksComponent","Object","assign","onTextChange","index","event","requestContext","renderView","account","Balance","CreditLimit","InvoiceAccountBalance","InvoiceAccountCreditLimit","noCreditErrorMessage","accountCreditVerbagePrefix","accountCreditVerbagePostfix","currencyCode","formatCurrency","customerCredit","customerCreditFormatted","toFixed","CreditComponent","verbagePrefix","verbagePostfix","__decorate","computed","Module","_ref","_ref2","_mapEditableLinks","linkdata","length","editableLinks","payLoad","getPayloadObject","forEach","link","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","Msdyn365","editProps","AccountLoyalty","decimalPrecision","handleHeadingChange","target","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","actionContext","isModalOpen","currentModalData","isModalExpiring","modalID","currentFocus","getLoyaltyRewardPointsExpiringSoonAsync","callerContext","queryResultSettings","then","points","pointsActivity","catch","exception","debug","getLoyaltyRewardPointActivityTimelineAsync","message","_closeModal","undefined","_onOpenModal","_this$state$currentFo","current","focus","_buttonAvailableRef","_buttonExpireRef","TelemetryConstant","BackToShopping","_Msdyn365$getUrlSync","_heading$tag","loyaltyCardLabel","totalAvailablePointsLabel","backToShoppingText","backToShopAttributes","result","loyaltyCardData","rewardPoints","RewardPoints","homeLink","modalTransition","onEntered","node","isAppearing","childNode","firstChild","totalPoints","_getTotalPoints","_renderRewardPoints","pointsModal","_renderModal","isOpen","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","Button","onEdit","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","homeButton","href","title","date","format","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","map","loyaltyPoints","availableId","expiringId","availablePointsLabel","availablePointsAriaLabel","expiringPointsFormatLabel","expiringPointsFormatAriaLabel","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","_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","observer","Node","key","Modal","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","ModalBody","htmlFor","id","disabled","description","type","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","pattern","onChange","forId","SignIn","moduleClassName","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","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","loading","modal","modalBody","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","input","SignInInputComponent","iconImage","button","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","observable","SignInLoading","_ref4","item","LocalAccount","SocialAccount","_ref3","B2BAccount","call","fixRegExpWellKnownSymbolLogic","anObject","isNullOrUndefined","toLength","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","string","rx","S","res","done","global","fullUnicode","unicode","lastIndex","A","n","matchStr"],"sourceRoot":""}