{"version":3,"file":"static/js/4.3a660cf14ac60991b634.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-generic-tile/account-generic-tile.tsx?4353","webpack://Msdyn365.Commerce.Online/./src/modules/account-generic-tile/account-generic-tile.view.tsx?4b58","webpack://Msdyn365.Commerce.Online/./src/modules/account-generic-tile/components/account-generic-tile-links.tsx?2bc7","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-terms/components/loyalty-terms-modal.tsx?1b8b","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-terms/loyalty-terms.tsx?babd","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-terms/loyalty-terms.view.tsx?b3e6","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"],"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 { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { CustomerBalances } from '@msdyn365-commerce/retail-proxy';\nimport { getTelemetryObject, Heading, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport { computed, reaction } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceTileData } from './account-customer-balance-tile.data';\nimport { IAccountCustomerBalanceTileProps } from './account-customer-balance-tile.props.autogenerated';\nimport { CreditComponent, ErrorComponent } from './components/account-customer-balance-tile-info';\nimport LinksComponent from './components/account-customer-balance-tile-links';\n\nexport interface IAccountCustomerBalanceTileViewProps extends IAccountCustomerBalanceTileProps {\n AccountCustomerBalanceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n content: React.ReactNode;\n links: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceTileViewState {\n isDetailsLinkDisplayed: boolean;\n content: React.ReactNode;\n}\n\n/**\n *\n * AccountCustomerBalanceTile component.\n * @extends {React.Component>}\n */\nclass AccountCustomerBalanceTile extends React.Component<\n IAccountCustomerBalanceTileProps,\n IAccountCustomerBalanceTileViewState\n> {\n @computed get hasError(): boolean {\n return get(this.props, 'data.balance.status') !== 'SUCCESS';\n }\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountCustomerBalanceTileProps) {\n super(props);\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = { ...this._initState() };\n\n reaction(\n () => this.hasError,\n () => {\n this.props.context.telemetry.error('Error retrieving customer account balance');\n this.setState({\n content: \n });\n }\n );\n }\n\n @computed get isCustomerAccountPaymentEnabled(): boolean {\n const customerResult = get(this.props, 'data.customerInformation.result');\n\n const allowOnAccountPayment = customerResult ? customerResult.AllowOnAccountPayment : false;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const enableCustomerAccountPayment = get(this.props, 'context.request.app.platform.enableCustomerAccountPayment');\n\n return (\n allowOnAccountPayment &&\n (enableCustomerAccountPayment === 'all' ||\n (enableCustomerAccountPayment === 'b2b' && isB2BSite) ||\n (enableCustomerAccountPayment === 'b2c' && !isB2BSite))\n );\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountCustomerBalanceTileProps,\n nextState: IAccountCustomerBalanceTileViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n if (!this.isCustomerAccountPaymentEnabled) {\n return <>;\n }\n\n const { className, heading, links } = this.props.config;\n const viewProps = {\n ...this.props,\n AccountCustomerBalanceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-customer-balance-tile', className)\n },\n heading: heading && (\n \n ),\n content: this.state.content,\n links: this.state.isDetailsLinkDisplayed && (\n (event: Msdyn365.ContentEditableEvent) => void 0,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initState(): IAccountCustomerBalanceTileViewState {\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n\n let content: React.ReactNode;\n let isDetailsLinkDisplayed = false;\n\n if (this.hasError) {\n this.props.telemetry.error('Error retrieving customer account balance');\n content = ;\n } else if (\n account.Balance === 0 &&\n account.CreditLimit === 0 &&\n account.InvoiceAccountBalance === 0 &&\n account.InvoiceAccountCreditLimit === 0\n ) {\n // Non-established credit\n content = ;\n } else {\n // Successfully retrieved balance\n const { accountCreditVerbagePrefix, accountCreditVerbagePostfix } = this.props.resources;\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n let customerCredit = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n }\n\n const customerCreditFormatted = `${formatCurrency(customerCredit.toFixed(2), currencyCode)}`;\n\n isDetailsLinkDisplayed = true;\n content = (\n \n );\n }\n\n return { content, isDetailsLinkDisplayed };\n }\n}\n\nexport default AccountCustomerBalanceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { 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 { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountGenericTileConfig, IAccountGenericTileProps } from './account-generic-tile.props.autogenerated';\nimport LinksComponent from './components/account-generic-tile-links';\n\nexport interface IAccountGenericTileViewProps extends IAccountGenericTileProps {\n AccountGenericTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * AccountGeneric component.\n * @extends {React.PureComponent>}\n */\nclass AccountGenericTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountGenericTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const viewProps = {\n ...this.props,\n className,\n AccountGenericTile: {\n moduleProps: this.props,\n className: classnames('ms-account-generic-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountGenericTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountGenericTileViewProps } from './account-generic-tile';\n\nconst AccountGenericTileView: React.FC = props => {\n const { AccountGenericTile, heading, links } = props;\n\n return (\n \n {heading}\n {links}\n \n );\n};\n\nexport default AccountGenericTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-generic-tile.props.autogenerated';\n\nexport interface IAccountGenericTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountGenericTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-generic-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountGenericTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport 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":["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","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BSite","isChannelTypeB2B","enableCustomerAccountPayment","shouldComponentUpdate","nextProps","nextState","data","render","isCustomerAccountPaymentEnabled","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","AccountGenericTile","handleHeadingChange","target","handleLinkTextChange","linkIndex","onEdit","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","user","isAuthenticated","clicked","input","IssueLoyaltyInput","apiSettings","issueLoyalty","actionContext","then","MsDyn365","isBrowser","window","location","catch","message","debug","TelemetryConstant","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","loyaltyCard","hasLoyaltyAccount","result","undefined","CardTenderTypeValue","customerInformation","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","loading","params","isEditor","status","signInLink","Button","href","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","disabled","onClick","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","observer","LoyaltyTermsModal","LoyaltyTermsCancel","loyaltyTermCancelAttributes","LoyaltyTermsSubmit","loyaltyTermSubmitAttributes","LoyaltyTermsAgree","loyaltyTermCheckboxAttributes","modal","Modal","toggle","onToggle","applicationNode","isOpen","returnFocusRef","returnRef","modalHeader","ModalHeader","modalFooter","ModalFooter","modalBody","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","substring","qsps","split","qsp","splitQsp","isModalOpen","hideToggle","slots","serviceTerms","modalToggle","innerRef","joinLoyaltytermsToggleText","CardNumber","card","redirectToLoyalty","getUrlSync","getLoyaltyCardAsync","callerContext","fullCard","update","GetLoyaltyCardInput","Node","id","description","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","pattern","forId","htmlFor","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","key","label","SignInLabelComponent","SignInInputComponent","iconImage","button","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","observable","SignInLoading","_ref4","map","item","LocalAccount","SocialAccount","_ref3","B2BAccount"],"sourceRoot":""}