{"version":3,"file":"static/js/5.63f9e236bb30a80e279c.chunk.js","mappings":"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","sources":["webpack://lds-commerce/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://lds-commerce/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://lds-commerce/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://lds-commerce/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://lds-commerce/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://lds-commerce/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://lds-commerce/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://lds-commerce/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://lds-commerce/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://lds-commerce/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://lds-commerce/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://lds-commerce/./src/modules/password-reset/password-reset.tsx?0983","webpack://lds-commerce/./src/modules/password-reset/password-reset.view.tsx?b341"],"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 { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\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 AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\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 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-loyalty-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 AccountLoyaltyTileLinks;\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 { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\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, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \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.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\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 { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\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 IAccountLoyaltyTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountLoyaltyTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountLoyaltyTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport 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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\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 PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\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 IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\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 IPasswordResetInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetInput {\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 PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\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 IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\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 IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\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 IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\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 { PasswordRegex } 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 PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: 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: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\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 { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\n"],"names":["_mapEditableLinks","linkdata","telemetryContent","length","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","className","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","_ref","links","onTextChange","requestContext","React","Msdyn365","editProps","AccountLoyaltyTile","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleLinkTextChange","linkIndex","signUpLinkText","viewLinkText","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","data","resources","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","description","url","actionContext","result","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","format","toFixed","viewProps","_objectSpread","moduleProps","classnames","tag","onEdit","LinksComponent","Object","assign","DescriptionComponent","renderView","Module","AccountProfileEdit","moduleClassName","onTextBoxChange","id","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","map","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","message","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","viewState","isShowLoading","accountProfileEdit","loading","modal","Modal","isOpen","modalBody","ModalBody","icon","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","style","display","aadConainer","accountProfileEditLocalAccount","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","localAccount","items","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","errorMessage","AccountProfileEditErrorComponent","key","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","undefined","type","labelText","maxLength","pattern","wrapper","label","AccountProfileEditLabelComponent","forId","input","AccountProfileEditInputComponent","onChange","__decorate","observable","observer","AccountProfileEditItem","Node","AccountProfileEditLoading","_ref3","_ref2","item","error","button","LocalAccount","disabled","onClick","Button","errorClassName","GetMaxLength","parsedMaxLength","Number","parseInt","isNaN","htmlFor","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","user","isAuthenticated","clicked","setState","IssueLoyaltyInput","apiSettings","issueLoyalty","then","MsDyn365","isBrowser","location","catch","debug","TelemetryConstant","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","hasLoyaltyAccount","CardTenderTypeValue","customerInformation","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","params","isEditor","status","signInLink","href","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading"],"sourceRoot":""}