{"version":3,"file":"static/js/3.28e3cb138588d23fb88b.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://Citta2.0/./src/modules/account-customer-balance-tile/account-customer-balance-tile.tsx?8281","webpack://Citta2.0/./src/modules/account-generic-tile/account-generic-tile.tsx?4353","webpack://Citta2.0/./src/modules/account-loyalty/account-loyalty.tsx?3672","webpack://Citta2.0/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Citta2.0/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Citta2.0/./src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Citta2.0/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Citta2.0/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Citta2.0/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://Citta2.0/./src/modules/account-welcome-tile/account-welcome-tile.tsx?2115","webpack://Citta2.0/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://Citta2.0/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://Citta2.0/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://Citta2.0/./src/modules/b2b-requests-status/components/b2b-requests-table.tsx?06fc","webpack://Citta2.0/./src/modules/b2b-requests-status/b2b-requests-status.tsx?c1aa","webpack://Citta2.0/./src/modules/b2b-requests-tile/components/account-b2b-requests-tile-links.tsx?d6f5","webpack://Citta2.0/./src/modules/b2b-requests-tile/b2b-requests-tile.tsx?9498","webpack://Citta2.0/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://Citta2.0/./src/modules/account-customer-balance-tile/account-customer-balance-tile.view.tsx?95a8","webpack://Citta2.0/./src/modules/account-generic-tile/account-generic-tile.view.tsx?4b58","webpack://Citta2.0/./src/modules/account-loyalty/account-loyalty.view.tsx?4d8b","webpack://Citta2.0/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Citta2.0/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","webpack://Citta2.0/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Citta2.0/./src/modules/account-welcome-tile/account-welcome-tile.view.tsx?e5e3","webpack://Citta2.0/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://Citta2.0/./src/modules/b2b-requests-status/b2b-requests-status.view.tsx?6b7c","webpack://Citta2.0/./src/modules/b2b-requests-tile/b2b-requests-tile.view.tsx?3f4e","webpack://Citta2.0/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://Citta2.0/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://Citta2.0/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://Citta2.0/./src/modules/loyalty-terms/loyalty-terms.tsx?babd","webpack://Citta2.0/./src/modules/loyalty-terms/loyalty-terms.view.tsx?b3e6","webpack://Citta2.0/./src/modules/password-reset/password-reset.tsx?0983","webpack://Citta2.0/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Citta2.0/./src/modules/password-reset-verification/password-reset-verification.tsx?691f","webpack://Citta2.0/./src/modules/password-reset-verification/password-reset-verification.view.tsx?dffa","webpack://Citta2.0/./src/modules/sign-in/sign-in.tsx?259c","webpack://Citta2.0/./src/modules/sign-in/sign-in.view.tsx?2b3e","webpack://Citta2.0/./src/modules/sign-up/sign-up.tsx?5ad1","webpack://Citta2.0/./src/modules/sign-up/sign-up.view.tsx?08eb","webpack://Citta2.0/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Citta2.0/./src/modules/account-customer-balance/account-customer-balance.tsx?8d5a","webpack://Citta2.0/./src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://Citta2.0/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://Citta2.0/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","webpack://Citta2.0/./src/modules/business-organization-list/components/small-components.tsx?c4b5","webpack://Citta2.0/./src/modules/business-organization-list/business-organization-list.tsx?0823","webpack://Citta2.0/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Citta2.0/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Citta2.0/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Citta2.0/./src/modules/business-sign-up/components/sign-up-button.tsx?e1d9","webpack://Citta2.0/./src/modules/business-sign-up/components/sign-up-error.tsx?7f8a","webpack://Citta2.0/./src/modules/business-sign-up/components/sign-up-input.tsx?5bbe","webpack://Citta2.0/./src/modules/business-sign-up/components/sign-up-label.tsx?4988","webpack://Citta2.0/./src/modules/business-sign-up/components/sign-up-radio-button.tsx?f8c1","webpack://Citta2.0/./src/modules/business-sign-up/business-sign-up.tsx?13a2","webpack://Citta2.0/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Citta2.0/./src/modules/account-customer-balance/account-customer-balance.view.tsx?70d2","webpack://Citta2.0/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Citta2.0/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Citta2.0/./src/modules/business-sign-up/business-sign-up.view.tsx?e2f8","webpack://Citta2.0/./src/modules/business-organization-list/business-organization-list.view.tsx?c050","webpack://Citta2.0/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.string.match.js?f0c8","webpack://Citta2.0/./src/modules/account-customer-balance/components/account-actions.tsx?e021","webpack://Citta2.0/./src/modules/account-customer-balance/components/account-statement-request-modal.tsx?18c0","webpack://Citta2.0/./src/modules/account-customer-balance/components/index.tsx?fba9","webpack://Citta2.0/./src/modules/account-address-tile/components/account-address-tile-description.tsx?4911","webpack://Citta2.0/./src/modules/account-address-tile/components/account-address-tile-links.tsx?bee7","webpack://Citta2.0/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-info.tsx?44e9","webpack://Citta2.0/./src/modules/account-customer-balance-tile/components/account-customer-balance-tile-links.tsx?95ac","webpack://Citta2.0/./src/modules/account-generic-tile/components/account-generic-tile-links.tsx?2bc7","webpack://Citta2.0/./src/modules/account-loyalty/components/account-loyalty-small-components.tsx?c12b","webpack://Citta2.0/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://Citta2.0/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://Citta2.0/./src/modules/loyalty-terms/components/loyalty-terms-modal.tsx?1b8b","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Citta2.0/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-button.tsx?c1c2","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-error.tsx?347f","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-input.tsx?fd25","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-label.tsx?aab5","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-loading-icon.tsx?d70e","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-loading-message.tsx?d239","webpack://Citta2.0/./src/modules/password-reset-verification/components/password-reset-verification-success.tsx?3c81","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-button.tsx?8d59","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-description.tsx?54a5","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-error.tsx?a75a","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-input.tsx?d840","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-label.tsx?4560","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-link.tsx?2078","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-loading-icon.tsx?1d7f","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-loading-message.tsx?84ee","webpack://Citta2.0/./src/modules/sign-in/components/sign-in-text.tsx?76b9","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-button.tsx?33d4","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-error.tsx?b9c0","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-input.tsx?27a8","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-label.tsx?3142","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-loading-icon.tsx?96eb","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-loading-message.tsx?9245","webpack://Citta2.0/./src/modules/sign-up/components/sign-up-success.tsx?7f30"],"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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps {\n AccountAddressTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountAddress component.\n * @extends {React.PureComponent>}\n */\nclass AccountAddressTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps) {\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, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountAddressTileDescriptionForSingleAddress, accountAddressTileDescriptionForMultipleAddresses } = resources;\n const { address } = data;\n const addressCount = (address && address.result && address.result.length) || 0;\n const accountAddressTileDescription =\n addressCount === 1 ? accountAddressTileDescriptionForSingleAddress : accountAddressTileDescriptionForMultipleAddresses;\n const description = format(accountAddressTileDescription, addressCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountAddressTile: {\n moduleProps: this.props,\n className: classnames('ms-account-address-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\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.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountAddressTile;\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 { 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 * 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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { LoyaltyCard, LoyaltyRewardPoint, LoyaltyRewardPointActivity } from '@msdyn365-commerce/retail-proxy';\nimport {\n getLoyaltyRewardPointActivityTimelineAsync,\n getLoyaltyRewardPointsExpiringSoonAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyData } from './account-loyalty.data';\nimport { IAccountLoyaltyProps } from './account-loyalty.props.autogenerated';\nimport { AccountLoyaltyLabel, AccountLoyaltyModalLabel } from './components';\n\nexport interface IAccountLoyaltyViewProps extends IAccountLoyaltyProps<{}> {\n AccountLoyalty: IModuleProps;\n className: string;\n totalPoints: number;\n heading?: React.ReactNode;\n Info: INodeProps;\n infoLabel: React.ReactNode;\n cardNumber: React.ReactNode;\n joinDate: React.ReactNode;\n Points: INodeProps;\n pointsLabel: React.ReactNode;\n points: React.ReactNode;\n Breakdown: INodeProps;\n RewardPoints: INodeProps;\n PointsBreakdown: INodeProps;\n rewardPoints?: IAccountLoyaltyRewardPointProps[];\n Button: INodeProps;\n homeButton: React.ReactNode;\n pointsModal: IAccountLoyaltyModalProps;\n}\n\nexport interface IAccountLoyaltyState {\n isModalOpen: boolean;\n currentModalData?: LoyaltyRewardPoint;\n isModalExpiring: boolean;\n modalID: string;\n currentFocus?: React.RefObject;\n pointsActivity: LoyaltyRewardPointActivity[] | undefined;\n}\n\nexport interface IAccountLoyaltyRewardPointProps {\n label: React.ReactNode;\n availableModalLabel: React.ReactNode;\n availableModalTrigger: React.ReactNode;\n expiringModalLabel: React.ReactNode;\n expiringModalTrigger: React.ReactNode;\n}\n\nexport type horizontalModalPosition = 'left' | 'center' | 'right';\nexport type verticalModalPosition = 'top' | 'center' | 'bottom';\n\nexport interface IAccountLoyaltyModalProps {\n isOpen: boolean;\n horizontalPosition?: horizontalModalPosition;\n verticalPosition?: verticalModalPosition;\n modalClassName?: string;\n modalHeaderClassName?: string;\n modalHeader?: string;\n modalBodyClassName?: string;\n ModalBodyTop: INodeProps;\n pointsDescription?: React.ReactNode;\n totalPoints?: React.ReactNode;\n ModalBodyHeaders: INodeProps;\n date?: React.ReactNode;\n balanceLabel?: React.ReactNode;\n rewardPointsActivity?: IAccountLoyaltyActivityProps[];\n returnFocusRef?: React.RefObject;\n onClose(): void;\n onOpened?(): void;\n}\n\nexport interface IAccountLoyaltyActivityProps {\n Activity: INodeProps;\n activityType: React.ReactNode;\n activityDate: React.ReactNode;\n activityPoints: React.ReactNode;\n}\n\nexport interface IProps extends IAccountLoyaltyProps {}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.Component>}\n */\n@observer\nclass AccountLoyalty extends React.PureComponent {\n private readonly _buttonAvailableRef: React.RefObject;\n\n private readonly _buttonExpireRef: React.RefObject;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly decimalPrecision = 2;\n\n constructor(props: IAccountLoyaltyProps) {\n super(props);\n this._buttonAvailableRef = React.createRef();\n this._buttonExpireRef = React.createRef();\n this.state = {\n isModalOpen: false,\n currentModalData: undefined,\n isModalExpiring: false,\n modalID: '',\n pointsActivity: undefined\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.BackToShopping);\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n const { loyaltyCard } = this.props.data;\n const { loyaltyCardLabel, totalAvailablePointsLabel, backToShoppingText } = this.props.resources;\n const { actionContext } = this.props.context;\n const { isModalOpen } = this.state;\n const backToShopAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n\n if (!loyaltyCard || !loyaltyCard.result || !loyaltyCard.result.CardNumber) {\n this.props.context.telemetry.error('Loyalty card content is empty, module wont render');\n return null;\n }\n\n const loyaltyCardData = loyaltyCard.result;\n const rewardPoints = loyaltyCard && loyaltyCardData.RewardPoints;\n const homeLink = Msdyn365.getUrlSync('home', actionContext) ?? '';\n\n const viewProps = {\n ...this.props,\n AccountLoyalty: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty', className),\n modalTransition: {\n /**\n * On Entered in Modal function.\n * @param node - The current node element.\n * @param isAppearing - The Boolean value.\n */\n onEntered: (node: HTMLElement, isAppearing: boolean) => {\n const childNode = node.firstChild as HTMLElement;\n if (isAppearing) {\n childNode.focus();\n }\n }\n }\n },\n totalPoints: rewardPoints && this._getTotalPoints(),\n className: classnames('msc-account-loyalty', className),\n rewardPoints:\n loyaltyCardData.RewardPoints && loyaltyCardData.RewardPoints.length > 0 && this._renderRewardPoints(loyaltyCardData),\n pointsModal: (isModalOpen && this._renderModal()) || {\n isOpen: false,\n returnFocusRef: this.state.currentFocus,\n onOpened: this._onOpenModal\n },\n Info: { className: 'ms-account-loyalty__info' },\n Points: { className: 'ms-account-loyalty__points' },\n Breakdown: { className: 'ms-account-loyalty__breakdown' },\n RewardPoints: { className: 'ms-account-loyalty__reward-points' },\n PointsBreakdown: { className: 'ms-account-loyalty__point-breakdown' },\n Button: { className: 'ms-account-loyalty__link' },\n heading: heading && (\n \n ),\n\n // Account info\n infoLabel: ,\n cardNumber: ,\n joinDate: (\n \n ),\n\n // Points\n pointsLabel: ,\n points: rewardPoints && (\n \n ),\n\n homeButton: rewardPoints && (\n \n {backToShoppingText}\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _formatJoinDate(date: Date): string {\n return format(\n this.props.resources.joinDateFormatted,\n new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }).format(new Date(date))\n );\n }\n\n private _renderRewardPoints(loyaltyCard: LoyaltyCard): IAccountLoyaltyRewardPointProps[] {\n return loyaltyCard.RewardPoints!.map((loyaltyPoints, index) => {\n const availableId = (loyaltyPoints.RewardPointId && `${loyaltyPoints.RewardPointId}-available-${index}`) || 'available-points';\n const expiringId = (loyaltyPoints.RewardPointId && `${loyaltyPoints.RewardPointId}-expiring-${index}`) || 'expiring-points';\n const {\n availablePointsLabel,\n availablePointsAriaLabel,\n expiringPointsFormatLabel,\n expiringPointsFormatAriaLabel\n } = this.props.resources;\n this.payLoad.contentAction.etext = TelemetryConstant.AvailablePoints;\n const availablePointsAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.ExpiringPoints;\n const expiringPointsAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n const expireDaysDefaultValue = 30;\n\n return {\n label: ,\n availableModalLabel: loyaltyPoints.ActivePoints !== undefined && (\n \n ),\n availableModalTrigger: loyaltyPoints.ActivePoints !== undefined && (\n \n {loyaltyPoints.ActivePoints.toFixed(this.decimalPrecision)}\n \n ),\n expiringModalLabel: loyaltyPoints.PointsExpiringSoon !== undefined && (\n \n ),\n expiringModalTrigger: loyaltyPoints.PointsExpiringSoon !== undefined && (\n \n {loyaltyPoints.PointsExpiringSoon.toFixed(this.decimalPrecision)}\n \n )\n };\n });\n }\n\n private _renderModal(): IAccountLoyaltyModalProps | null {\n const { totalAvailablePointsLabel, loyaltyActivityDateLabel, loyaltyActivityBalanceLabel } = this.props.resources;\n const { isModalOpen, currentModalData } = this.state;\n\n if (!isModalOpen || !currentModalData) {\n // Return empty modal\n this.props.context.telemetry.error('Account loyalty modal content is empty, module wont render');\n return null;\n }\n\n return {\n isOpen: isModalOpen,\n returnFocusRef: this.state.currentFocus,\n horizontalPosition: 'center',\n verticalPosition: 'center',\n modalClassName: 'ms-account-loyalty__points-modal',\n modalHeaderClassName: 'ms-account-loyalty__points-modal-header',\n modalHeader: currentModalData.Description ?? '',\n modalBodyClassName: 'ms-account-loyalty__points-modal-body',\n ModalBodyTop: { className: 'ms-account-loyalty__points-modal-body-top' },\n ModalBodyHeaders: { className: 'ms-account-loyalty__points-modal-body-header' },\n rewardPointsActivity: this._renderPointsActivity(),\n pointsDescription: ,\n totalPoints: ,\n date: ,\n balanceLabel: ,\n onClose: this._closeModal,\n onOpened: this._onOpenModal\n };\n }\n\n private _getTotalPoints(): number {\n const rewardPoints = this.props.data.loyaltyCard.result && this.props.data.loyaltyCard.result.RewardPoints;\n\n let total = 0;\n rewardPoints &&\n rewardPoints.forEach(loyaltyPoints => {\n total += loyaltyPoints.ActivePoints ?? 0;\n });\n\n return total;\n }\n\n private _getPoints(): string {\n const { currentModalData, isModalExpiring } = this.state;\n const rewardPoints: number = (isModalExpiring ? currentModalData!.PointsExpiringSoon : currentModalData!.ActivePoints) ?? 0;\n\n return `${rewardPoints.toFixed(this.decimalPrecision)}`;\n }\n\n private _renderPointsActivity(): IAccountLoyaltyActivityProps[] | undefined {\n const { pointsActivity } = this.state;\n\n if (!pointsActivity) {\n this.props.context.telemetry.error('Points activity content is empty, module wont render');\n return undefined;\n }\n\n return pointsActivity.map(activity => {\n return {\n Activity: { className: 'ms-account-loyalty__points-modal-activity' },\n activityType: (\n \n ),\n activityDate: (\n \n ),\n activityPoints: (\n \n )\n };\n });\n }\n\n private _parseDate(date: Date | string): Date {\n /* Dates for loyalty are coming as formatted strings yyyy-mm-ddT:00:00.000z\n Javascript was interpreting this as an iso format, thus causing the wrong date to be rendered */\n if (typeof date === 'string') {\n let dateString = date.toString();\n dateString = dateString.replace(/-/g, '/');\n dateString = dateString.substring(0, 10);\n return new Date(dateString);\n }\n return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n private _getTimelineType(pointActivity: LoyaltyRewardPointActivity): string {\n if (pointActivity.LoyaltyRewardPointTimelineEntryType) {\n return pointActivity.LoyaltyRewardPointTimelineEntryType;\n }\n\n const { earnedPointsLabel, redeemedPointsLabel, adjustedPointsLabel, refundedPointsLabel } = this.props.resources;\n switch (pointActivity.ExtensibleLoyaltyRewardPointActivityEntryTypeValue) {\n case 1:\n return earnedPointsLabel;\n case 2:\n return refundedPointsLabel;\n case 3:\n return redeemedPointsLabel;\n case 5:\n return adjustedPointsLabel;\n default:\n return '';\n }\n }\n\n private readonly _populateModalData = (\n focusRef: React.RefObject,\n loyaltyCard: LoyaltyCard,\n currentLoyaltyPoints: LoyaltyRewardPoint,\n expiring: boolean\n ) => () => {\n if (!loyaltyCard || !loyaltyCard.CardNumber || !currentLoyaltyPoints.RewardPointId) {\n this.props.context.telemetry.error('Modal data is empty, module wont render');\n return null;\n }\n\n const { actionContext } = this.props.context;\n\n // Open modal\n this.setState({\n isModalOpen: true,\n currentModalData: currentLoyaltyPoints,\n isModalExpiring: expiring,\n modalID: '',\n currentFocus: focusRef\n });\n\n if (expiring) {\n getLoyaltyRewardPointsExpiringSoonAsync(\n { callerContext: actionContext, queryResultSettings: {} },\n loyaltyCard.CardNumber,\n currentLoyaltyPoints.RewardPointId,\n 30\n )\n .then((points: LoyaltyRewardPointActivity[]) => {\n this.setState({ pointsActivity: points });\n })\n .catch((error: Error) => {\n this.props.telemetry.exception(error);\n this.props.telemetry.debug('Failed to get reward point activity');\n });\n } else {\n getLoyaltyRewardPointActivityTimelineAsync(\n { callerContext: actionContext, queryResultSettings: {} },\n loyaltyCard.CardNumber,\n currentLoyaltyPoints.RewardPointId\n )\n .then((points: LoyaltyRewardPointActivity[]) => {\n this.setState({ pointsActivity: points });\n })\n .catch((error: Error) => {\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Failed to get reward point activity');\n });\n }\n // eslint-disable-next-line no-useless-return, consistent-return -- Auto-suppressed.\n return;\n };\n\n private readonly _closeModal = () => {\n this.setState({\n isModalOpen: false,\n currentModalData: undefined,\n pointsActivity: undefined\n });\n };\n\n /**\n * On open modal function.\n */\n private readonly _onOpenModal = () => {\n if (this.state.currentFocus?.current) {\n this.state.currentFocus.current.focus();\n }\n };\n}\n\nexport default AccountLoyalty;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as 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 * as React from 'react';\n\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: React.FC = ({ description }) => (\n

{description}

\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\nimport { ILinksData } from '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\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\nexport const AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\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};\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-order-templates-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","/*!\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\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, resources, data } = this.props;\n\n if (!this.props.context.request.params.isEditor && !isChannelTypeB2B(this.props.context.request)) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\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 AccountOrderTemplatesTile;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileData } from './account-welcome-tile.data';\nimport { IAccountWelcomeTileProps } from './account-welcome-tile.props.autogenerated';\n\nexport interface IAccountWelcomeTileViewProps extends IAccountWelcomeTileProps {\n AccountWelcomeTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AccountWelcome component.\n * @extends {React.PureComponent>}\n */\nclass AccountWelcomeTile extends React.PureComponent> {\n public render(): JSX.Element {\n const { config, data } = this.props;\n const { className } = config;\n\n const accountInfo = data.accountInformation.result;\n const heading = {\n ...config.heading,\n ...{\n text: `${config.heading.text ? config.heading.text : ''} ${\n accountInfo && accountInfo.FirstName ? accountInfo.FirstName : ''\n }`\n }\n };\n\n const viewProps = {\n ...this.props,\n className,\n AccountWelcomeTile: {\n moduleProps: this.props,\n className: classnames('ms-account-welcome-tile', config.className)\n },\n heading: heading && heading.text && (\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\nexport default AccountWelcomeTile;\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 IAccountWishlistTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountWishlistTileDescription;\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-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\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 AccountWishlistTileLinks: 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};\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-wishlist-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 AccountWishlistTileLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\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, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\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.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountWishlistTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n IDataTableProps,\n IHeadingsProperty,\n ITableItemProps,\n ITableRowProps,\n Table,\n TableDataType\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay.replace('{0}', request.UserFirstName!).replace('{1}', request.UserLastName!);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (\n !StringExtensions.isNullOrEmpty(accountStatementStartDateTime) &&\n !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)\n ) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails.replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (\n operationRequests: BusinessPartnerOperationRequest[] | undefined,\n props: IB2bRequestsStatusProps\n): ITableRowProps[] => {\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map(request => {\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row\n .filter(item => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n })\n .map(item => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: (context && getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return ;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n {this.getItemNumberDisplayString(itemCount)}\n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../../..';\n\nexport interface IB2bRequestsTileLinksProps {\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 defaultClassName = 'ms-account-b2b-requests-tile';\n\nexport const B2bRequestsTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (!ArrayExtensions.hasElements(links)) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n return linkdata.map(link => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n ariaLabel: link.ariaLabel,\n className: `${defaultClassName}__link`,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n } as Msdyn365.ILinksData;\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 { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileData } from './b2b-requests-tile.data';\nimport { IB2bRequestsTileProps } from './b2b-requests-tile.props.autogenerated';\nimport { B2bRequestsTileLinks } from './components/account-b2b-requests-tile-links';\n\nexport interface IB2bRequestsTileViewProps extends IB2bRequestsTileProps {\n b2bRequestsTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsTile component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IB2bRequestsTileProps) {\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 | null {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const defaultClassName = 'ms-account-b2b-requests-tile';\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n b2bRequestsTile: {\n moduleProps: this.props,\n className: classnames(defaultClassName, config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: ArrayExtensions.hasElements(links) && (\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 B2bRequestsTile;\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 { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountAddressTileView;\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 { 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 { Modal, ModalBody, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyViewProps } from './account-loyalty';\n\nconst AccountLoyaltyView: React.FC = props => {\n const {\n AccountLoyalty,\n Info,\n Points,\n Breakdown,\n RewardPoints,\n PointsBreakdown,\n Button,\n heading,\n infoLabel,\n cardNumber,\n joinDate,\n pointsLabel,\n points,\n rewardPoints,\n homeButton,\n pointsModal\n } = props;\n const { ModalBodyTop, ModalBodyHeaders } = pointsModal;\n return (\n \n {heading}\n \n {infoLabel}\n {cardNumber}\n {joinDate}\n \n \n {pointsLabel}\n {points}\n\n \n {rewardPoints &&\n rewardPoints.map((activity, index) => {\n return (\n \n {activity.label}\n \n {activity.availableModalLabel}\n {activity.availableModalTrigger}\n \n\n \n {activity.expiringModalLabel}\n {activity.expiringModalTrigger}\n \n \n );\n })}\n \n \n\n {homeButton}\n\n {(!pointsModal.isOpen && ) || (\n \n \n {pointsModal.modalHeader}\n \n \n \n {pointsModal.pointsDescription}\n {pointsModal.totalPoints}\n \n \n {pointsModal.date}\n {pointsModal.balanceLabel}\n \n {pointsModal.rewardPointsActivity &&\n pointsModal.rewardPointsActivity.map((activity, index) => {\n const { Activity, activityType, activityDate, activityPoints } = activity;\n return (\n \n {activityType}\n {activityDate}\n {activityPoints}\n \n );\n })}\n \n \n )}\n \n );\n};\n\nexport default AccountLoyaltyView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileViewProps } from './account-welcome-tile';\n\nconst AccountWelcomeTileView: React.FC = props => {\n const { AccountWelcomeTile, heading } = props;\n\n return {heading};\n};\n\nexport default AccountWelcomeTileView;\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 { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\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 React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\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 { IB2bRequestsTileViewProps } from './b2b-requests-tile';\n\nconst B2bRequestsTileView: React.FC = props => {\n const { b2bRequestsTile, heading, links } = props;\n\n return (\n \n {heading}\n {links}\n \n );\n};\n\nexport default B2bRequestsTileView;\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 { 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 * 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","/*!\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 PasswordResetVerificationButtonComponent from './components/password-reset-verification-button';\nimport PasswordResetVerificationErrorComponent from './components/password-reset-verification-error';\nimport PasswordResetVerificationInputComponent from './components/password-reset-verification-input';\nimport PasswordResetVerificationLabelComponent from './components/password-reset-verification-label';\nimport PasswordResetVerificationLoadingIconComponent from './components/password-reset-verification-loading-icon';\nimport PasswordResetVerificationLoadingMessageComponent from './components/password-reset-verification-loading-message';\nimport PasswordResetVerificationSuccessComponent from './components/password-reset-verification-success';\nimport { IPasswordResetVerificationConfig, IPasswordResetVerificationProps } from './password-reset-verification.props.autogenerated';\n\nexport interface IPasswordResetVerificationViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetVerificationItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationLocalAccount {\n localAccount: INodeProps;\n verificationControlWrapper: INodeProps;\n items: IPasswordResetVerificationItem[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationButtonsWrapper: INodeProps;\n verificationButtons: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetVerificationLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationViewProps {\n className: string;\n viewState: IPasswordResetVerificationViewState;\n loading: IPasswordResetVerificationLoading;\n passwordResetVerification: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetVerificationLocalAccount: IPasswordResetVerificationLocalAccount;\n}\n\n/**\n *\n * PasswordResetVerification component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordResetVerification extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset-verification';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetVerificationProps) {\n super(props);\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.templateVersion = '';\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: IPasswordResetVerificationProps,\n nextState: IPasswordResetVerificationViewState\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 passwordResetVerification: {\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 )\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 passwordResetVerificationLocalAccount: 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 _prePopulateData(): void {\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 if (obj.ID.toLowerCase() === 'email') {\n this.emailRegex = obj.PAT;\n } else if (obj.ID.toLowerCase() === 'emailverificationcontrol') {\n this.templateVersion = 'v2';\n }\n });\n if (!this.templateVersion) {\n this.templateVersion = 'v1';\n }\n }\n }\n\n private _updateErrorMessage(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: this.props.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(): IPasswordResetVerificationLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n items: [\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n )\n ],\n successMessage: [\n ,\n\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n \n ],\n verificationButtonsWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n verificationButtons: [\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(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): IPasswordResetVerificationItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n}\n\nexport default PasswordResetVerification;\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 IPasswordResetVerificationItem,\n IPasswordResetVerificationLoading,\n IPasswordResetVerificationLocalAccount,\n IPasswordResetVerificationViewProps\n} from './password-reset-verification';\n\nconst PasswordResetVerificationItem: 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 verificationControlWrapper,\n items,\n successMessage,\n errorMessage,\n verificationButtonsWrapper,\n verificationButtons,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n \n {successMessage &&\n successMessage.map((message: React.ReactNode, index: number) => {\n return {message};\n })}\n {items &&\n items.map((item: IPasswordResetVerificationItem) => {\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 {verificationButtons &&\n verificationButtons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \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};\n\nconst PasswordResetVerificationLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetVerificationView: React.FC = props => {\n const {\n passwordResetVerification,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n heading,\n passwordResetVerificationLocalAccount\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetVerificationLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetVerificationView;\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","/*!\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, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps, 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 SignUpButtonComponent from './components/sign-up-button';\nimport SignUpErrorComponent from './components/sign-up-error';\nimport SignUpInputComponent from './components/sign-up-input';\nimport SignUpLabelComponent from './components/sign-up-label';\nimport SignUpLoadingIconComponent from './components/sign-up-loading-icon';\nimport SignUpLoadingMessageComponent from './components/sign-up-loading-message';\nimport SignUpSuccessComponent from './components/sign-up-success';\nimport { ISignUpConfig, ISignUpProps, ISignUpResources } from './sign-up.props.autogenerated';\n\nexport interface ISignUpViewState {\n isShowLoading: boolean;\n}\n\nexport interface ISignUpItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface ISignUpEmailVerification {\n isRequired: boolean;\n email: ISignUpItem;\n buttonWrapper: INodeProps;\n buttons: React.ReactNode[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Given Name Verification Interface.\n */\nexport interface ISignUpGivenNameVerification {\n isRequired: boolean;\n givenName: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\n/**\n * SignUp Surname Verification Interface.\n */\nexport interface ISignUpSurnameVerification {\n isRequired: boolean;\n surname: ISignUpItem;\n errorMessage: React.ReactNode[];\n verificationControlWrapper: INodeProps;\n}\n\nexport interface ISignUpLocalAccount {\n localAccount: INodeProps;\n items: ISignUpItem[];\n emailVerification: ISignUpEmailVerification;\n givenNameVerification: ISignUpGivenNameVerification;\n surnameVerification: ISignUpSurnameVerification;\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n disclaimer: React.ReactNode;\n}\n\nexport interface ISignUpLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface ISignUpViewProps {\n className: string;\n viewState: ISignUpViewState;\n loading: ISignUpLoading;\n signUp: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n signUpLocalAccount: ISignUpLocalAccount;\n}\n\n/**\n *\n * SignUp 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 SignUp extends React.Component> {\n @observable private isGivenNameVerificationRequried: boolean;\n\n @observable private isSurnameVerificationRequried: boolean;\n\n private readonly moduleClassName: string = 'ms-sign-up';\n\n @observable private emailRegex: string;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isEmailVerificationRequried: boolean;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: ISignUpProps) {\n super(props);\n\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isEmailVerificationRequried = false;\n this.isGivenNameVerificationRequried = false;\n this.isSurnameVerificationRequried = false;\n this.isInitialized = false;\n this.templateVersion = '';\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: ISignUpProps, nextState: ISignUpViewState): 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 signUp: {\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: (\n \n ),\n signUpLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n * @returns - Heading Text.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n * @returns - Paragraph Text.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = 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 const resources: ISignUpResources = this.props.resources || {};\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; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\n switch (obj.ID.toLowerCase()) {\n case 'emailverificationcontrol': {\n this.isEmailVerificationRequried = true;\n this.templateVersion = 'v2';\n break;\n }\n case 'email': {\n this.emailRegex = obj.PAT;\n this.isEmailVerificationRequried = obj.VERIFY;\n this.templateVersion = 'v1';\n break;\n }\n case 'givennameverificationcontrol': {\n this.isGivenNameVerificationRequried = true;\n break;\n }\n case 'givenname': {\n this.isGivenNameVerificationRequried = obj.VERIFY;\n break;\n }\n case 'surnameverificationcontrol': {\n this.isEmailVerificationRequried = true;\n break;\n }\n case 'surname': {\n this.isSurnameVerificationRequried = obj.VERIFY;\n break;\n }\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 switch (obj.UX_INPUT_TYPE.toLowerCase()) {\n case 'password': {\n obj.PAT_DESC = resources.invalidPasswordError;\n break;\n }\n case 'emailbox': {\n obj.PAT_DESC = resources.invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const resources: ISignUpResources = this.props.resources || {};\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const errorMessages = {\n required_field: resources.requiredFieldMissingError\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], errorMessages);\n }\n };\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n\n private _renderLocalAccount(): ISignUpLocalAccount {\n const { config, resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', resources.lastNameLabelText, resources.lastNameMaxLength),\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, undefined, this.reenterPasswordRegex)\n ],\n emailVerification: {\n isRequired: this.isEmailVerificationRequried,\n email: this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n buttonWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n buttons: [\n ,\n ,\n ,\n \n ],\n successMessage: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n \n ]\n },\n givenNameVerification: {\n isRequired: this.isGivenNameVerificationRequried,\n givenName: this._renderInput(\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'givenNameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n surnameVerification: {\n isRequired: this.isSurnameVerificationRequried,\n surname: this._renderInput(\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n ),\n verificationControlWrapper: {\n id: 'surnameVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n errorMessage: [\n \n ]\n },\n buttons: [\n ,\n \n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n disclaimer: config.disclaimer && (\n \n )\n };\n }\n\n private _renderInput(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): ISignUpItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default SignUp;\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 ISignUpEmailVerification,\n ISignUpGivenNameVerification,\n ISignUpItem,\n ISignUpLoading,\n ISignUpLocalAccount,\n ISignUpSurnameVerification,\n ISignUpViewProps\n} from './sign-up';\n\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\n return (\n <>\n {successMessage &&\n successMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {errorMessage &&\n errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode) => {\n return <>{button};\n })}\n \n \n );\n};\n\n/**\n * Handles validation of sign-up givenName.\n * @param event - Content editable event.\n * @param event.givenName - Event Given Name.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for Given Name.\n */\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\n/**\n * Handles validation of signUp surname.\n * @param event - Content editable event.\n * @param event.surname - Event surname.\n * @param event.errorMessage - Event Error Message.\n * @returns - Error Message for surname.\n */\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\n return (\n <>\n \n {errorMessage.map((message: React.ReactNode) => {\n return <>{message};\n })}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n emailVerification,\n givenNameVerification,\n surnameVerification,\n buttons,\n errorMessage,\n disclaimer\n}) => {\n return (\n \n {items &&\n items.map((item: ISignUpItem) => {\n if (item.key === 'email' && emailVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'givenName' && givenNameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\n if (item.key === 'surname' && surnameVerification.isRequired) {\n return (\n \n \n \n \n );\n }\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 {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n );\n};\n\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst SignUpView: React.FC = props => {\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading, signUpLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(signUpLocalAccount)}\n \n \n );\n};\n\nexport default SignUpView;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\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 { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n CustomerBalances\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps {\n heading: string;\n homeButton: React.ReactNode;\n accountSectionHeading: React.ReactNode;\n accountLabels: React.ReactNode;\n accountValues: React.ReactNode;\n creditSummarySectionHeading: React.ReactNode;\n creditSummaryLabels?: React.ReactNode;\n creditSummaryValues?: React.ReactNode;\n actions: React.ReactNode;\n requestStatementModal: React.ReactNode;\n availableCredit?: React.ReactNode;\n balanceOwed?: React.ReactNode;\n creditExcess?: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceState {\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n}\n\n/**\n *\n * AccountCustomerBalance component.\n * @extends {React.PureComponent>}\n */\nclass AccountCustomerBalance extends React.PureComponent<\n IAccountCustomerBalanceProps,\n IAccountCustomerBalanceState\n> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly requestStatementButtonRef: React.RefObject = React.createRef();\n\n @computed get canSubmitStatementRequest(): boolean {\n return this.state.statementRequestFromDateString !== '' && this.state.statementRequestToDateString !== '';\n }\n\n constructor(props: IAccountCustomerBalanceProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.state = {\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0]\n };\n }\n\n public render(): JSX.Element | null {\n const customer = get(this.props, 'data.customerInformation.result');\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n if ([customer, account].includes(undefined)) {\n this.props.context.telemetry.error('Customer data is unavailable, module will not render');\n return null;\n }\n\n const { config, resources, context } = this.props;\n const { heading } = config;\n const {\n creditSummarySectionHeading,\n accountSectionHeading,\n backToShoppingText,\n customerSincePrefix,\n availableCreditLabel,\n balanceOwedLabel,\n creditExcessLabel,\n requestStatementButtonLabel,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n myAccountStatementLabel,\n fullOrganizationLabel,\n modalAriaLabel\n } = resources;\n\n const {\n isStatementRequestModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n statementRequestMaxDateString\n } = this.state;\n\n const accountNumber = customer.AccountNumber;\n const createdOn = this._formatJoinDate(new Date(customer.CreatedDateTime));\n const name = `${customer.FirstName} ${customer.LastName}`;\n let customerCredit = 0;\n let customerAccountBalance = 0;\n let excess = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n customerAccountBalance = account.Balance;\n excess = account.Balance - account.CreditLimit;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n customerAccountBalance = account.InvoiceAccountBalance;\n excess = account.InvoiceAccountBalance - account.InvoiceAccountCreditLimit;\n }\n\n const creditExcess = excess > 0 ? this._formatCurrency(excess) : null;\n const availableCredit = this._formatCurrency(customerCredit);\n const balanceOwed = this._formatCurrency(customerAccountBalance);\n const backLink = Msdyn365.getUrlSync('home', context.actionContext) || '';\n const emailAddress = customer.Email;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const isB2BAdmin = isB2BSite && customer.IsB2bAdmin;\n\n const actionBar = isB2BAdmin ? (\n \n ) : (\n isB2BSite && (\n \n )\n );\n\n const viewProps = {\n ...this.props,\n heading: ,\n accountSectionHeading: (\n \n ),\n accountLabels: (\n \n ),\n accountValues: ,\n creditSummarySectionHeading: (\n \n ),\n availableCredit: ,\n balanceOwed: ,\n creditExcess: ,\n homeButton: ,\n actions: actionBar,\n requestStatementModal: isB2BSite && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.requestStatementButtonRef.current?.focus();\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n\n this.requestStatementButtonRef.current?.focus();\n };\n}\n\nexport default AccountCustomerBalance;\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 IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\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\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\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 AccountInvoiceTileLinks: 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-invoice-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 AccountInvoiceTileLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\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 {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: 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.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\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 format,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { InputType } from '../business-organization-list';\n\nexport interface IBusinessForm {\n FormWrapper: INodeProps;\n message?: React.ReactNode;\n items: IBusinessFormItem[];\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n}\n\nexport interface IBusinessFormItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IBusinessFormInput {\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IUserFormItem {\n id: string;\n type: InputType;\n label: string;\n value: string;\n maxChars?: string;\n isRequired: boolean;\n pattern?: string;\n isDisabled?: boolean;\n customClass?: string;\n fieldReference?: React.RefObject;\n}\n\nexport interface IBusinessFormInputProps {\n id?: string;\n type: string;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n isRequired: boolean;\n isDisabled?: boolean;\n placeholder?: string;\n fieldReference?: React.RefObject;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport const FormInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n isRequired,\n isDisabled,\n onChange,\n fieldReference,\n placeholder\n}) => (\n \n);\n\nexport interface IBusinessFormLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n asteriskText: string;\n}\n\nexport const FormLabel: React.FC = ({ id, forId, className, text, asteriskText }) => (\n \n);\n\nexport interface IBusinessFormButton {\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\nexport const FormButton: 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 interface IBusinessFormErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nexport const FormFieldError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IRequestContext, getUrlSync } from '@msdyn365-commerce/core';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n BusinessPartnerUser,\n BusinessPartnerUsersDataActions\n} from '@msdyn365-commerce/retail-proxy';\nimport { AdminRequestStatementButton, RequestStatementModal } from '@msdyn365-commerce-modules/account-management';\nimport {\n addOrganizationUser,\n AddOrganizationUserInput,\n ArrayExtensions,\n deleteOrganizationUser,\n DeleteOrganizationUserInput,\n editOrganizationUser,\n EditOrganizationUserInput,\n EmailRegex,\n Random,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n IDataTableProps,\n IHeadingsProperty,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITableItemProps,\n ITableRowProps,\n ITelemetryContent,\n Table,\n TableDataType,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListData } from './business-organization-list.data';\nimport { IBusinessOrganizationListProps, IBusinessOrganizationListResources } from './business-organization-list.props.autogenerated';\nimport { FormButton, FormFieldError, FormInput, FormLabel, IBusinessFormItem, IUserFormItem } from './components';\n\nexport interface IBusinessOrganizationListViewProps extends IBusinessOrganizationListProps {\n OrganizationUserList: IModuleProps;\n moduleContainer: INodeProps;\n heading: React.ReactNode;\n noUsersText?: string;\n addUserButton?: React.ReactNode;\n search?: React.ReactNode;\n organizationListTable: React.ReactNode;\n form?: IFormViewProps;\n formItems?: IUserFormItem[];\n formType: FormType;\n deleteUserForm?: React.ReactNode;\n viewUserDetails?: React.ReactNode;\n modalHeading?: React.ReactNode;\n modalState?: boolean;\n requestAccountStatementButton: React.ReactNode;\n requestStatementModal: React.ReactNode;\n toggleModal?(): void;\n}\n\nexport interface IBusinessOrganizationListState {\n isReady: boolean;\n formItems: IUserFormItem[];\n isFormActive: boolean;\n formType: FormType;\n selectedUserData?: BusinessPartnerUser;\n referenceBack?: HTMLButtonElement | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n displayedUserData?: any;\n refresh: boolean;\n isModalOpen: boolean;\n hasFormError: boolean;\n hasActionError: boolean;\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n businessUserActionRetailErrorMsg: string;\n}\n\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport enum FormType {\n None = 'NONE',\n Edit = 'EDIT',\n Remove = 'REMOVE',\n View = 'VIEW',\n Add = 'ADD'\n}\n\nexport enum InputType {\n Text = 'text',\n Email = 'email'\n}\n\nexport enum InputID {\n FirstName = 'FirstName',\n LastName = 'LastName',\n B2BUserId = 'B2BUserId',\n Email = 'Email',\n SpendingLimit = 'SpendingLimit',\n Status = 'Status',\n FullName = 'Name'\n}\n\nexport interface IFormViewProps {\n modalClassName: string;\n FormWrapper: INodeProps;\n modalHeading?: string;\n modalDescription?: React.ReactNode;\n inputs?: IBusinessFormItem[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedUser?: any;\n buttons?: React.ReactNode[];\n errorMessage?: React.ReactNode[];\n resources: IBusinessOrganizationListResources;\n toggle?(): void;\n}\n\nexport const renderInputSection = (\n inputs: IUserFormItem[],\n className: string,\n asteriskAfterLabel: string,\n onInputChange: (event: React.ChangeEvent) => void\n): IBusinessFormItem[] => {\n return inputs.map(element => {\n const { customClass, id, type, label, maxChars, isRequired, pattern, value, isDisabled, fieldReference } = element;\n return {\n wrapper: {\n className: classnames(className, id, customClass)\n },\n key: id,\n label: ,\n errorMessage: ,\n input: (\n \n )\n };\n });\n};\n\ninterface IUserTableItemProps extends ITableItemProps {\n user: BusinessPartnerUser;\n}\n\n/**\n *\n * BusinessOrganizationList component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass BusinessOrganizationList extends React.Component<\n IBusinessOrganizationListProps,\n IBusinessOrganizationListState\n> {\n public BusinessFormDefaultInputs: IUserFormItem[] = [\n {\n id: InputID.FirstName,\n type: InputType.Text,\n label: this.props.resources.businessUserFirstNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.LastName,\n type: InputType.Text,\n label: this.props.resources.businessUserLastNameLabelText,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.Email,\n type: InputType.Email,\n label: this.props.resources.businessUserEmailAddressLabelText,\n value: '',\n isRequired: true,\n pattern: EmailRegex.defaultRegex.source,\n customClass: 'width-100'\n },\n {\n id: InputID.SpendingLimit,\n type: InputType.Text,\n label: this.props.resources.businessUserSpendingLimitLabelText,\n value: '',\n isRequired: false,\n customClass: 'width-50',\n maxChars: this.props.config?.maxLength\n }\n ];\n\n @observable\n private _viewport: GridSize;\n\n private readonly delayFocus: number = 110;\n\n private formChildReference: React.RefObject[] = [];\n\n private userFormEditReference: React.RefObject[] = [];\n\n private userFormDeleteReference: React.RefObject[] = [];\n\n private readonly submitButtonReference: React.RefObject;\n\n private readonly addUserButtonReference: React.RefObject;\n\n private readonly statementRequestButtonReference: React.RefObject;\n\n private readonly moduleClassName: string = 'ms-business-organization-list';\n\n private readonly mobileExcludedColumns: string[];\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n @computed get canSubmitStatementRequest(): boolean {\n return (\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestFromDateString) &&\n !StringExtensions.isNullOrWhitespace(this.state.statementRequestToDateString)\n );\n }\n\n @computed get selectedUserName(): string {\n const { businessUserSelectedUserDisplayName } = this.props.resources;\n return this.state.selectedUserData\n ? businessUserSelectedUserDisplayName\n .replace('{firstName}', this.state.selectedUserData.FirstName || '')\n .replace('{lastName}', this.state.selectedUserData.LastName || '')\n : '';\n }\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n constructor(props: IBusinessOrganizationListProps) {\n super(props);\n this._toggleModal = this._toggleModal.bind(this);\n this._onInputChange = this._onInputChange.bind(this);\n this._handleRemoveUserButton = this._handleRemoveUserButton.bind(this);\n\n this.mobileExcludedColumns = [InputID.Email, InputID.Status, InputID.SpendingLimit];\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\n this.submitButtonReference = React.createRef();\n this.addUserButtonReference = React.createRef();\n this.statementRequestButtonReference = React.createRef();\n this.state = {\n isReady: false,\n formItems: this.addedReference(),\n isFormActive: false,\n formType: FormType.None,\n refresh: true,\n isModalOpen: false,\n hasFormError: false,\n hasActionError: false,\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0],\n businessUserActionRetailErrorMsg: ''\n };\n\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n }\n\n public addedReference(): IUserFormItem[] {\n const newFormFields = this.BusinessFormDefaultInputs;\n return newFormFields.map((input, index) => {\n this.formChildReference[Number(index)] = React.createRef();\n input.fieldReference = this.formChildReference[Number(index)];\n return input;\n });\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser && window.addEventListener) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser && window.removeEventListener) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IBusinessOrganizationListProps,\n nextState: IBusinessOrganizationListState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n\n if (!this.state.isModalOpen && this.state.isModalOpen !== nextState.isModalOpen) {\n setTimeout(() => {\n this.formChildReference[0].current?.focus();\n this.submitButtonReference.current?.focus();\n }, this.delayFocus);\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config,\n resources,\n data: { users }\n } = this.props;\n const { className, heading, showBecomeSellerLink } = config;\n const {\n businessUserActionButtonText,\n businessUserAddUserButtonText,\n businessUserLoadingMessage,\n businessUserEmptyListMessage,\n businessUserErrorGettingUsersMessage,\n userAccountStatementLabel,\n fullOrganizationLabel,\n requestStatementButtonLabel,\n promoteToSellerActionLabel,\n requestAccountStatementActionLabel,\n requestOrganizationStatementActionLabel,\n statementRequestModalHeaderLabel,\n cancelLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n sendToEmailLabel,\n selectedUserLabel\n } = resources;\n const {\n formItems,\n isFormActive,\n formType,\n isModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n isStatementRequestModalOpen,\n statementRequestMaxDateString\n } = this.state;\n\n const hasUsers = users && users.result && users.result.length > 0;\n this.payLoad.contentAction.etext = TelemetryConstant.AddUser;\n const addUserAttributes = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n\n const customer = this.props.data.customerInformation?.result;\n\n if (!hasUsers) {\n let errorMessage = '';\n if (users.status === 'LOADING') {\n errorMessage = businessUserLoadingMessage;\n } else if (users.status === 'FAILED') {\n errorMessage = businessUserErrorGettingUsersMessage;\n } else if (users.result && users.result.length === 0) {\n errorMessage = businessUserEmptyListMessage;\n }\n\n const errorProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n noUsersText:

{errorMessage}

\n };\n\n return this.props.renderView(errorProps) as React.ReactElement;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUserList: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n moduleContainer: {\n className: `${this.moduleClassName}__container`\n },\n heading: heading && ,\n modalState: isModalOpen,\n addUserButton: (\n \n {businessUserAddUserButtonText}\n \n ),\n organizationListTable:
,\n toggleModal: this._toggleModal,\n formType,\n form:\n isFormActive && isModalOpen && (formType === FormType.Add || formType === FormType.Edit)\n ? this._renderUserForm()\n : this._renderUserDetails(),\n formItems,\n requestAccountStatementButton: showBecomeSellerLink ? (\n \n ) : (\n \n ),\n requestStatementModal: (\n \n )\n } as IBusinessOrganizationListViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n // _createTableProps: creates the props for the organization list table\n private _createTableProps(): IDataTableProps {\n const { config, resources, context } = this.props;\n const { tableSort, showPagination, paginationItemPerPage } = config;\n const {\n businessUserPaginationNextButtonText,\n businessUserPaginationPreviousButtonText,\n businessUserEditButtonText,\n businessUserViewUserButtonText,\n businessUserDeleteButtonText,\n businessUserActionButtonText,\n businessUserPaginationAriaLabel,\n columnSortAriaLabel\n } = resources;\n\n const tableData = this._createTableItems();\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row.map(item => {\n if (this.isMobile && this.mobileExcludedColumns.includes(item.id)) {\n return undefined;\n }\n return {\n name: item.id,\n sortable: (tableSort && tableSort) || false,\n ariaLabel: columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources,\n headings: tableHeading,\n rows: tableData,\n className: `${this.moduleClassName}__table`,\n editLinkText: this.isMobile ? businessUserEditButtonText : '', // '' === showing just icon\n deleteLinkText: this.isMobile ? businessUserDeleteButtonText : '', // '' === showing just icon\n viewLinkText: businessUserViewUserButtonText,\n editLinkTooltip: businessUserEditButtonText,\n deleteLinkTooltip: businessUserDeleteButtonText,\n viewLinkTooltip: businessUserViewUserButtonText,\n enableToModify: true,\n actionLinkText: businessUserActionButtonText,\n showCheckBoxes: true,\n isSortable: tableSort,\n resourcePrefix: 'businessUser',\n showPagination,\n minifyActions: this.isMobile,\n excludedColumns: this.isMobile ? this.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context &&\n context.request &&\n context.request.query &&\n context.request.query.skip &&\n !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: paginationItemPerPage || 10,\n prevText: businessUserPaginationPreviousButtonText,\n nextText: businessUserPaginationNextButtonText,\n paginationText: businessUserPaginationAriaLabel,\n url: (context && this._getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n tableAriaLabel: resources.tableAriaLabel,\n tableTabIndex: 0,\n businessUserSelectCheckBoxAriaLabelText: resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: resources.sortByAscending,\n sortByDescending: resources.sortByDescending,\n actions: {\n onDelete: this._handleDeleteIcon,\n onEdit: this._handleEditIcon,\n onView: (this.isMobile && this._handleViewDetails) || undefined\n },\n formatPrice: this._formatPrice,\n checkBoxCallback: this._onSelectRow\n };\n }\n\n // _createTableItems: converts users recieved from the data-action(IBusinessParterUser[]) to tableRows(ITableItemProps[])\n private _createTableItems(): ITableRowProps[] {\n const {\n resources,\n data: { users }\n } = this.props;\n const { businessUserActiveStatusText, businessUserPendingStatusText, businessUserRemovedStatusText } = resources;\n const usersList = users && users.result;\n\n if (!ArrayExtensions.hasElements(usersList)) {\n return [];\n }\n\n return usersList.map((user, index) => {\n let statusString = '';\n this.userFormEditReference[index] = React.createRef();\n this.userFormDeleteReference[index] = React.createRef();\n\n switch (user.StatusValue) {\n case 0:\n statusString = businessUserPendingStatusText;\n break;\n case 1:\n statusString = businessUserActiveStatusText;\n break;\n case 2:\n default:\n statusString = businessUserRemovedStatusText;\n }\n\n return {\n row: [\n {\n id: InputID.FullName,\n type: TableDataType.Text,\n value: `${user.FirstName} ${user.LastName}`,\n user\n } as IUserTableItemProps,\n {\n id: InputID.Email,\n type: TableDataType.Text,\n value: user.Email || '',\n className: `${this.moduleClassName}__padRight`\n } as IUserTableItemProps,\n {\n id: InputID.Status,\n type: TableDataType.Text,\n value: statusString\n } as IUserTableItemProps,\n {\n id: InputID.SpendingLimit,\n type: TableDataType.Price,\n value: user.SpendingLimit || 0\n } as IUserTableItemProps\n ],\n isSelected: false,\n buttonReferences: {\n edit: this.userFormEditReference[index],\n delete: this.userFormDeleteReference[index]\n }\n };\n });\n }\n\n // _toggleModal: closes the modal and resets the form states\n private _toggleModal(): void {\n this.state.referenceBack?.focus();\n this.setState({\n isModalOpen: false,\n isFormActive: false,\n referenceBack: undefined,\n formType: FormType.None\n });\n }\n\n // _handleAddUserButtonClicked: resets input fields, opens the modal, and sets the form states\n private readonly _handleAddUserButtonClicked = () => {\n // Reset form\n const newForm = this.state.formItems;\n newForm.forEach(input => {\n if (input.id === InputID.Email) {\n // Make sure email input is re enabled (it gets disabled when admin is editing user)\n input.isDisabled = false;\n }\n\n input.value = '';\n });\n\n const newUser = { B2BUserId: Random.Guid.generateGuid() } as BusinessPartnerUser;\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n formType: FormType.Add,\n referenceBack: this.addUserButtonReference.current,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: newUser\n });\n };\n\n // _handleAddEditFormSaveButton: triggered on the save button for both add/edit forms. Calls the appropriate data-action and reloads the page when successful\n private readonly _handleAddEditFormSaveButton = async () => {\n const { context } = this.props;\n const { formType, formItems } = this.state;\n\n const updatedUser = this._createBusinessPartner(formItems);\n\n if (formType === FormType.Edit) {\n editOrganizationUser(new EditOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true\n });\n });\n } else {\n addOrganizationUser(new AddOrganizationUserInput(updatedUser), context.actionContext)\n .then(() => {\n window.location.reload(false);\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true,\n businessUserActionRetailErrorMsg: error.message\n });\n });\n }\n };\n\n // _createBusinessPartner: attempts to convert input values(IUserFormItem) to a new user(BusinessPartnerUser)\n private readonly _createBusinessPartner = (inputs: IUserFormItem[]): BusinessPartnerUser => {\n const newUser: BusinessPartnerUser = { ...this.state.selectedUserData! };\n\n inputs.forEach(input => {\n // Deals with input values need need to be converted into numbers\n if (input.id === InputID.SpendingLimit) {\n newUser[input.id] = Number.parseFloat(input.value) || 0;\n } else {\n newUser[input.id] = input.value;\n }\n });\n\n return newUser;\n };\n\n // _handleEditIcon: converts the table row data(ITableItemProps[]) to input fields(IUserFormItem) and opens the edit form\n private readonly _handleEditIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n // Split full name into first and last\n const possibleName = userData.find(cell => {\n return cell.id === 'Name';\n });\n const fullName = (possibleName && (possibleName.value as string)) || '';\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n const firstName = fullName.substring(0, lastSpaceIndex);\n\n const lastName = fullName.substring(lastSpaceIndex + 1);\n\n // Create clone of formItems, map users information, update state\n const { formItems } = this.state;\n const newForm = formItems;\n\n newForm.forEach(input => {\n switch (input.id) {\n case InputID.FirstName:\n input.value = firstName;\n break;\n case InputID.LastName:\n input.value = lastName;\n break;\n case InputID.Email: // Email can never be null/undefined as it is a required field\n input.isDisabled = true;\n const possibleCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (possibleCell && (possibleCell.value as string)) || '';\n break;\n default:\n const dataCell = userData.find(cell => {\n return input.id === cell.id;\n });\n input.value = (dataCell && (dataCell.value as string)) || '';\n }\n });\n\n this.setState({\n formItems: newForm,\n isFormActive: true,\n referenceBack,\n formType: FormType.Edit,\n isModalOpen: true,\n hasFormError: false,\n hasActionError: false,\n selectedUserData: (userData[0] as IUserTableItemProps).user\n });\n };\n\n // _handleDeleteIcon: opens removeUser confirmation window\n private readonly _handleDeleteIcon = (userData: ITableItemProps[], referenceBack?: HTMLButtonElement | null) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n referenceBack,\n selectedUserData: newUser,\n formType: FormType.Remove,\n isModalOpen: true,\n hasActionError: false,\n isFormActive: false\n });\n };\n\n // _handleViewDetails: opens user details window\n private readonly _handleViewDetails = (userData: ITableItemProps[]) => {\n const newUser: BusinessPartnerUser = { ...(userData[0] as IUserTableItemProps).user };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const displayedUserData: any = {};\n\n userData.forEach((cell: ITableItemProps) => {\n if (cell.id === 'Name') {\n // Split full name into first and last\n const fullName = cell.value as string;\n const lastSpaceIndex = fullName.lastIndexOf(' ');\n displayedUserData.FirstName = fullName.substring(0, lastSpaceIndex);\n\n displayedUserData.LastName = fullName.substring(lastSpaceIndex + 1);\n } else if (cell.type === TableDataType.Price) {\n displayedUserData[cell.id] = this.props.context.cultureFormatter.formatCurrency(cell.value as string);\n } else {\n displayedUserData[cell.id] = cell.value;\n }\n });\n\n this.setState({\n displayedUserData,\n selectedUserData: newUser,\n formType: FormType.View,\n isModalOpen: true,\n isFormActive: false\n });\n };\n\n // _handleRemoveUserButton: triggered on confirmation of removing a user.\n private readonly _handleRemoveUserButton = () => {\n // TODO\n const { context } = this.props;\n const { selectedUserData: deleteUserData } = this.state;\n\n if (deleteUserData) {\n deleteOrganizationUser(new DeleteOrganizationUserInput(deleteUserData), context.actionContext)\n .then(() => {\n window.location.reload(false);\n this.setState({\n formType: FormType.None,\n isModalOpen: false\n });\n })\n .catch(error => {\n context.telemetry.trace(error);\n this.setState({\n hasActionError: true\n });\n });\n }\n };\n\n private readonly callbackRemoveButton = () => {\n this._handleRemoveUserButton();\n };\n\n // _renderUserDetails: creates the remove/view form props\n private _renderUserDetails(): IFormViewProps {\n const { resources } = this.props;\n const { formType, displayedUserData, hasActionError } = this.state;\n const {\n businessUserRemoveModalHeaderText,\n businessUserRemoveModalDescription,\n businessUserViewModalHeaderText,\n businessUserCancelButtonText,\n businessUserCancelRemoveUserButtonText,\n businessUserRemoveUserButtonText,\n businessUserErrorUpdatingUsersMessage\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Remove ? 'type-remove' : 'type-view';\n const handleRemoveButton = this.callbackRemoveButton;\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Remove ? businessUserRemoveModalHeaderText : businessUserViewModalHeaderText,\n modalDescription: formType === FormType.Remove && (\n

{businessUserRemoveModalDescription}

\n ),\n selectedUser: displayedUserData,\n buttons: [\n formType === FormType.Remove && (\n \n {businessUserRemoveUserButtonText}\n \n ),\n \n ],\n errorMessage: [\n hasActionError && (\n \n )\n ],\n resources\n };\n }\n\n // _renderUserForm: creates the add/edit form props\n private _renderUserForm(): IFormViewProps {\n const { resources } = this.props;\n const { formType, formItems, hasFormError, hasActionError, isReady, businessUserActionRetailErrorMsg } = this.state;\n const {\n businessUserEditUserFormHeadingText,\n businessUserAddUserFormHeadingText,\n businessUserSaveButtonArialabel,\n businessUserSaveButtonText,\n businessUserCancelButtonArialabel,\n businessUserCancelButtonText,\n businessUserFieldIncorrectErrorText,\n businessUserActionErrorText,\n businessUserAllFieldsRequiredMessage,\n asteriskAfterLabel\n } = resources;\n\n const formClassName = `${this.moduleClassName}__form`;\n const typeClassName = formType === FormType.Add ? 'type-add' : 'type-edit';\n\n return {\n modalClassName: classnames(`${this.moduleClassName}__modal`, typeClassName),\n FormWrapper: {\n className: formClassName\n },\n modalHeading: formType === FormType.Add ? businessUserAddUserFormHeadingText : businessUserEditUserFormHeadingText,\n modalDescription: formType === FormType.Add && (\n

{businessUserAllFieldsRequiredMessage}

\n ),\n inputs: renderInputSection(formItems, `${formClassName}-item`, asteriskAfterLabel, this._onInputChange),\n buttons: [\n ,\n \n ],\n errorMessage: [\n hasFormError && (\n \n ),\n hasActionError && (\n \n )\n ],\n resources\n };\n }\n\n // _onInputChange: updates the fomrItems state on every input change\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\n const newForm = this.state.formItems;\n\n newForm.forEach(item => {\n if (item.id === event.target.id) {\n item.value = event.target.value;\n }\n });\n\n // Update state object with latest values and check if form is ready\n // TODO: remove !refresh\n this.setState(prev => ({\n refresh: !prev.refresh,\n isReady: this._isFormReady(),\n formItems: newForm,\n hasFormError: false,\n hasActionError: false\n }));\n };\n\n // _isFormReady: checks whether the current values in the input fields are valid for submission, this will also disable/enable the submit button.\n private readonly _isFormReady = (): boolean => {\n const { formItems } = this.state;\n\n for (const formItem of formItems) {\n // Will return TRUE if:\n // - input field is required and EMPTY\n // OR\n // - pattern provided and value does not match pattern\n // OR\n // - if spendingLimit input --> make sure value can be parsed into an NUMBER\n if (formItem.isRequired && formItem.value.length === 0) {\n return false;\n } else if (formItem.pattern !== undefined && formItem.value.match(formItem.pattern) === null) {\n return false;\n } else if (formItem.id === InputID.SpendingLimit && formItem.value !== '' && isNaN(Number.parseFloat(formItem.value))) {\n this.setState({\n hasFormError: true\n });\n return false;\n }\n }\n\n return true;\n };\n\n private readonly _formatPrice = (price: number): string => {\n return this.props.context.cultureFormatter ? this.props.context.cultureFormatter.formatCurrency(price) : price.toString();\n };\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n\n return 'xs';\n };\n\n private readonly _toggleStatementRequestDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _showRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestModalOpen: true\n });\n };\n\n private readonly _promoteToSeller = () => {\n const promoteToSellerUrl = getUrlSync('businessPartnerPromotion', this.props.context.actionContext);\n if (promoteToSellerUrl && MsDyn365.isBrowser) {\n window.location.href = promoteToSellerUrl;\n }\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const businessPartnerUsers = this.props.data.users.result!;\n\n const currentUser = businessPartnerUsers.find(element => element.Email === customer.Email);\n const B2BUserId = this._getB2BUserId(currentUser);\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType?.Email || 1\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this._closeStatementRequestModal();\n };\n\n private readonly _getB2BUserId = (currentUser: BusinessPartnerUser | undefined) => {\n if (this.state.statementRequestFullOrg || !this.state.selectedUserData) {\n return currentUser ? currentUser.B2BUserId : '';\n }\n return this.state.selectedUserData.B2BUserId;\n };\n\n private readonly _closeStatementRequestModal = () => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.statementRequestButtonReference.current?.focus();\n };\n\n private readonly _onSelectRow = (records: ITableRowProps[]) => {\n const selectedRow = records.find(rowProps => rowProps.isSelected);\n\n this.setState({\n selectedUserData: selectedRow ? (selectedRow.row[0] as IUserTableItemProps).user : undefined\n });\n };\n}\n\nexport default BusinessOrganizationList;\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 IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\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\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\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\nexport const AccountOrganizationUsersTileLinks: 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};\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-organization-users-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","/*!\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\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 | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\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 OrganizationUsersTile;\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 IBusinessSignUpButtonProps {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n link?: string;\n telemetryContent: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nexport const SignUpButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n telemetryContent,\n disabled,\n link,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent, text);\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\n return (\n \n {text}\n \n );\n};\n\nexport default SignUpButton;\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 IBusinessSignUpErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nexport const SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n

{message}

\n \n );\n};\n\nexport default SignUpError;\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\nimport { InputType } from '../business-sign-up';\n\nexport interface IBusinessSignUpInputProps {\n id?: string;\n type: InputType;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n isRequired: boolean;\n fieldReference?: React.RefObject;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IBusinessSignUpInput {\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\nexport const SignUpInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n isRequired,\n onChange,\n fieldReference\n}) => {\n if (type === InputType.TextArea) {\n return (\n \n );\n }\n\n return (\n \n );\n};\n\nexport default SignUpInput;\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 IBusinessSignUpLabelProps {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nexport const SignUpLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignUpLabel;\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 IBusinessSignUpRadioButtonProps {\n id: string;\n isRequired: boolean;\n options: IBusinessSignUpRadioButtonOptionProps[];\n}\n\nexport interface IBusinessSignUpRadioButtonOptionProps {\n id: string;\n name: string;\n value: string;\n label: string;\n className: string;\n onChange(event: React.ChangeEvent): void;\n}\n\nexport const BusinessSignUpRadioButtonOption: React.FC = props => {\n const { id, name, value, label, className, onChange } = props;\n return (\n
\n \n \n
\n );\n};\n\nexport default BusinessSignUpRadioButtonOption;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, getUrlSync, RichTextComponent, Text } from '@msdyn365-commerce/core';\nimport { Address, BusinessPartnerProspect } from '@msdyn365-commerce/retail-proxy';\nimport { createProspectAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBusinessSignUpConfig, IBusinessSignUpProps } from './business-sign-up.props.autogenerated';\nimport { SignUpButton, SignUpError, SignUpInput, SignUpLabel } from './components';\nimport { IBusinessSignUpRadioButtonOptionProps, BusinessSignUpRadioButtonOption } from './components/sign-up-radio-button';\n\nexport interface IBusinessSignUpExtendedProps extends IBusinessSignUpProps {\n formItems?: IFormItem[];\n}\n\nexport interface IBusinessSignUpItem {\n wrapper: INodeProps;\n isAddressInput?: boolean;\n id: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input?: React.ReactNode;\n}\n\nexport interface IBusinessState {\n isReady: boolean;\n formItems: IFormItem[];\n addressHasErrors: boolean;\n showAddressErrors: boolean;\n hasSubmitErrors: boolean;\n}\n\nexport interface IBusinessSignUpLocalAccount {\n FormWrapper: INodeProps;\n items: IBusinessSignUpItem[];\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n disclaimer: React.ReactNode;\n}\n\nexport interface IBusinessSignUpViewProps {\n className: string;\n businessSignUp: IModuleProps;\n ContainerWrapper: INodeProps;\n heading: React.ReactNode;\n businessSignUpForm: IBusinessSignUpLocalAccount;\n formItems: IFormItem[];\n}\n\nexport interface IFormItem {\n id: string;\n type: InputType;\n label: string;\n value: string;\n maxChars?: string;\n isRequired: boolean;\n pattern?: string;\n address?: Address;\n customClass?: string;\n fieldReference?: React.RefObject;\n radioButtonOptions?: IBusinessSignUpRadioButtonOptionProps[];\n radioButtonGroupClass?: string;\n}\n\nexport enum InputType {\n // eslint-disable-next-line @typescript-eslint/no-shadow -- Text enum doesn't override the imported Text\n Text = 'text',\n Address = 'address',\n Email = 'email',\n TextArea = 'textarea',\n RadioButton = 'radiobutton'\n}\n\nexport enum InputID {\n FirstName = 'FirstName',\n LastName = 'LastName',\n Email = 'CompanyEmail',\n CompanyName = 'CompanyName',\n Address = 'CompanyAddress',\n JobTitle = 'JobTitle',\n Size = 'CompanySize',\n Department = 'Department',\n Comment = 'Comment',\n ProspectType = 'ProspectType'\n}\n\nexport const renderInputSection = (\n inputs: IFormItem[],\n className: string,\n needToReset: boolean,\n onInputChange: (event: React.ChangeEvent) => void,\n showErrors: boolean,\n addressForm?: React.ReactNode,\n updateAddress?: (errors: boolean, currAddress?: Address) => void\n): IBusinessSignUpItem[] => {\n return inputs.map((element, index) => {\n const {\n id,\n type,\n label,\n maxChars,\n isRequired,\n pattern,\n customClass,\n value,\n fieldReference,\n radioButtonOptions,\n radioButtonGroupClass\n } = element;\n\n const baseSignUpItem: IBusinessSignUpItem = {\n wrapper: {\n className: classnames(className, `${className}-${id}`, customClass)\n },\n id,\n label: ,\n errorMessage: \n };\n\n if (type === InputType.Address) {\n if (addressForm) {\n baseSignUpItem.isAddressInput = true;\n baseSignUpItem.input = (\n <>\n {React.cloneElement(addressForm as React.ReactElement, {\n updateForm: updateAddress,\n hasError: showErrors,\n isRequired: isRequired === undefined ? false : isRequired,\n resetAddress: needToReset\n })}\n \n );\n } else {\n // If the address slot is not filled, remove this input from the form\n inputs.splice(index, 1);\n }\n } else if (type === InputType.RadioButton) {\n baseSignUpItem.input = (\n
\n {radioButtonOptions &&\n radioButtonOptions.map((element, index) => {\n return ;\n })}\n
\n );\n } else {\n baseSignUpItem.input = (\n \n );\n }\n\n return baseSignUpItem;\n });\n};\n\n/**\n *\n * Business Request Form Modules\n * Form that a business can use to submit a request to become a partner with Microsoft.\n * @extends {React.Component>}\n */\nclass BusinessSignUp extends React.Component {\n private readonly moduleClassName: string = 'ms-business-sign-up';\n private readonly prospectRadioButtonName: string = 'business-sign-up-radio-button';\n\n // Used as default data\n // eslint-disable-next-line @typescript-eslint/member-ordering\n public BusinessSignUpDefaultInputs: IFormItem[] = [\n {\n id: InputID.ProspectType,\n type: InputType.RadioButton,\n label: this.props.resources.prospectTypeLabel,\n value: '',\n isRequired: true,\n customClass: 'width-100',\n radioButtonGroupClass: 'radio-option-container',\n radioButtonOptions: [\n {\n id: `${InputID.ProspectType}-buyer`,\n name: this.prospectRadioButtonName,\n value: '1', // Buyer\n label: this.props.resources.prospectTypeBuyerLabel,\n className: `${this.moduleClassName}__form-item-radio-button-option`,\n onChange: this._onInputChange.bind(this)\n },\n {\n id: `${InputID.ProspectType}-seller`,\n name: this.prospectRadioButtonName,\n value: '2', // Seller\n className: `${this.moduleClassName}__form-item-radio-button-option`,\n label: this.props.resources.prospectTypeSellerLabel,\n onChange: this._onInputChange.bind(this)\n }\n ]\n },\n {\n id: InputID.FirstName,\n type: InputType.Text,\n label: this.props.resources.firstNameLabel,\n value: '',\n isRequired: true,\n customClass: 'width-25'\n },\n {\n id: InputID.LastName,\n type: InputType.Text,\n label: this.props.resources.lastNameLabel,\n value: '',\n isRequired: true,\n customClass: 'width-25'\n },\n {\n id: InputID.Email,\n type: InputType.Email,\n label: this.props.resources.emailAddressLabel,\n value: '',\n isRequired: true,\n pattern: EmailRegex.defaultRegex.source,\n customClass: 'width-50'\n },\n {\n id: InputID.CompanyName,\n type: InputType.Text,\n label: this.props.resources.companyLabel,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.Department,\n type: InputType.Text,\n label: this.props.resources.departmentLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.JobTitle,\n type: InputType.Text,\n label: this.props.resources.jobTitleLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.Size,\n type: InputType.Text,\n label: this.props.resources.companySizeLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.Address,\n type: InputType.Address,\n label: this.props.resources.companyAddressLabel,\n value: '',\n isRequired: false,\n customClass: 'width-100'\n },\n {\n id: InputID.Comment,\n type: InputType.TextArea,\n label: this.props.resources.commentLabel,\n value: '',\n isRequired: false,\n customClass: 'width-100'\n }\n ];\n\n private readonly formChildReference: React.RefObject = React.createRef();\n\n private needsToReset: boolean = false;\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IBusinessSignUpExtendedProps) {\n super(props);\n\n this.state = {\n isReady: false,\n formItems: this.props.formItems || this._addedReference(),\n addressHasErrors: false,\n showAddressErrors: false,\n hasSubmitErrors: false\n };\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.formChildReference.current?.focus();\n }\n\n public shouldComponentUpdate(nextProps: IBusinessSignUpExtendedProps, nextState: IBusinessState): 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 } = this.props;\n const { formItems } = this.state;\n const { className, heading } = config;\n\n const viewProps = {\n ...this.props,\n businessSignUp: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n ContainerWrapper: {\n className: `${this.moduleClassName}__container`\n },\n heading: (\n \n ),\n businessSignUpForm: this._renderForm(),\n formItems\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle the heading change event.\n * @param event - Content Editable Event.\n */\n public handleHeadingChange = (event: ContentEditableEvent): void => {\n this.props.config.heading.text = event.target.value;\n };\n\n private _renderForm(): IBusinessSignUpLocalAccount {\n const { config, resources, slots } = this.props;\n const { showAddressErrors, hasSubmitErrors, isReady, formItems } = this.state;\n const {\n signUpButtonArialabel,\n signUpButtonText,\n cancelButtonArialabel,\n cancelButtonText,\n errorMessage,\n partialAddressErrorMessage\n } = resources;\n const addressForm = (slots && slots.addressSlot && slots.addressSlot.length > 0 && slots.addressSlot[0]) || undefined;\n\n const form = {\n FormWrapper: {\n className: `${this.moduleClassName}__form `\n },\n items: renderInputSection(\n formItems,\n `${this.moduleClassName}__form-item`,\n this.needsToReset,\n this._onInputChange.bind(this),\n showAddressErrors,\n addressForm,\n this._onAddressChange\n ),\n buttons: [\n ,\n \n ],\n errorMessage: [\n hasSubmitErrors && ,\n showAddressErrors && (\n \n )\n ],\n disclaimer: config.disclaimer && (\n \n )\n };\n\n if (this.needsToReset) {\n this.needsToReset = false;\n }\n\n return form;\n }\n\n private _onInputChange(event: React.ChangeEvent): void {\n const newForm = this.state.formItems;\n newForm.forEach(item => {\n if (item.type === InputType.RadioButton && event.target.name === this.prospectRadioButtonName) {\n item.value = event.target.value;\n } else if (item.id === event.target.id) {\n item.value = event.target.value;\n }\n });\n\n // Check if form is ready, update state object with latest values, values have changed so reset hasSubmitErrros\n this.setState({\n isReady: this._isFormReady(),\n formItems: newForm,\n hasSubmitErrors: false\n });\n }\n\n private _addedReference(): IFormItem[] {\n const newFormFields = this.BusinessSignUpDefaultInputs;\n newFormFields[0].fieldReference = this.formChildReference;\n return newFormFields;\n }\n\n private readonly _onAddressChange = (errors: boolean, currentAddress?: Address): void => {\n // Find address item\n const newForm = this.state.formItems;\n const addressItem = newForm.find(item => {\n return item.type === InputType.Address;\n });\n\n // If found --> set to currentAddress\n if (addressItem) {\n addressItem.address = currentAddress;\n\n // Update state with new values and set errors to false if address is not required field\n this.setState(\n {\n formItems: newForm,\n addressHasErrors: errors,\n showAddressErrors: false\n },\n () => {\n this.setState({ isReady: this._isFormReady() });\n }\n );\n }\n };\n\n private readonly _isFormReady = (): boolean => {\n const { formItems } = this.state;\n\n for (const currentInput of formItems) {\n // Will return FALSE if:\n // - input field is required\n // IF is address AND addressHasErrors === true\n // ELSE value is undefined OR empty\n // OR\n // - pattern provided and value does not match pattern\n\n if (currentInput.isRequired) {\n if (currentInput.type === InputType.Address) {\n if (this.state.addressHasErrors) {\n return false;\n }\n } else if (currentInput.value === undefined || currentInput.value === '') {\n return false;\n }\n }\n if (currentInput.pattern !== undefined && currentInput.value.match(currentInput.pattern) === null) {\n return false;\n }\n }\n\n return true;\n };\n\n private readonly _onSubmit = (event: React.MouseEvent) => {\n if (this.state.addressHasErrors) {\n this.setState({\n showAddressErrors: true\n });\n\n event.preventDefault();\n return;\n }\n\n const { config, context } = this.props;\n\n // Check for matching id and if not empty\n const firstName = this._getItem(InputID.FirstName);\n const lastName = this._getItem(InputID.LastName);\n const companyName = this._getItem(InputID.CompanyName);\n const companyEmail = this._getItem(InputID.Email);\n const companyAddress = this._getItem(InputID.Address, true);\n const jobTitle = this._getItem(InputID.JobTitle);\n const department = this._getItem(InputID.Department);\n const companySize = this._getItem(InputID.Size);\n const comments = this._getItem(InputID.Comment);\n const prospectType = this._getItem(InputID.ProspectType);\n\n // API gets email as part of the address object, but I do not use the email input from the address component, thus we need to copy it over\n if (companyEmail && companyEmail.value && companyAddress && companyAddress.address) {\n companyAddress.address.Email = companyEmail.value;\n }\n\n const newPartner: BusinessPartnerProspect = {\n FirstName: firstName && firstName.value,\n LastName: lastName && lastName.value,\n CompanyName: companyName && companyName.value,\n Address: companyAddress && companyAddress.address && companyAddress.address,\n JobTitle: jobTitle && jobTitle.value,\n Department: department && department.value,\n CompanySize: (companySize && Number.parseInt(companySize.value, 10)) || 0,\n Comments: comments && comments.value,\n ProspectTypeValue: (prospectType && Number.parseInt(prospectType.value, 10)) || 0\n };\n\n this.setState({\n isReady: false\n });\n\n // Create business partner request\n createProspectAsync({ callerContext: context.actionContext }, newPartner)\n .then(() => {\n const successPageURL =\n (config.confirmationLink && config.confirmationLink.linkUrl && config.confirmationLink.linkUrl.destinationUrl) ||\n getUrlSync('home', this.props.context.actionContext) ||\n '';\n window.location.href = successPageURL;\n })\n .catch(() => {\n this.setState({\n hasSubmitErrors: true\n });\n });\n };\n\n private readonly _onCancel = () => {\n // Reset values of the form\n const cleanForm = this.state.formItems;\n cleanForm.forEach(input => {\n input.value = '';\n });\n\n // Set reset flag so address input will get reset on next renderInputSection() call\n this.needsToReset = true;\n\n this.setState({\n isReady: false,\n formItems: cleanForm,\n addressHasErrors: true,\n showAddressErrors: false,\n hasSubmitErrors: false\n });\n };\n\n private readonly _getItem = (id: string, isAddress: boolean = false) => {\n if (isAddress) {\n return this.state.formItems.find(item => {\n return item.id === id && item.address;\n });\n }\n return this.state.formItems.find(item => {\n return item.id === id && item.value !== '';\n });\n };\n}\n\nexport default BusinessSignUp;\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 { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceViewProps } from './account-customer-balance';\n\nexport default (props: IAccountCustomerBalanceViewProps) => {\n const {\n heading,\n accountSectionHeading,\n creditSummarySectionHeading,\n accountLabels,\n accountValues,\n creditSummaryLabels,\n creditSummaryValues,\n homeButton,\n actions,\n requestStatementModal,\n availableCredit,\n balanceOwed,\n creditExcess\n } = props;\n\n return (\n \n {heading}\n {requestStatementModal}\n {actions}\n {accountSectionHeading}\n
\n {accountLabels}\n {accountValues}\n
\n {creditSummarySectionHeading}\n
\n {creditSummaryLabels}\n {creditSummaryValues}\n {availableCredit}\n {balanceOwed}\n {creditExcess}\n
\n {homeButton}\n
\n );\n};\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 { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\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 { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\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 { IBusinessSignUpItem, IBusinessSignUpViewProps } from './business-sign-up';\n\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\n // Hide label and error message if rendering address section\n return (\n \n {!isAddressInput && label}\n {!isAddressInput && errorMessage}\n {input}\n \n );\n};\n\nconst BusinesSignUpView: React.FC = props => {\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } = props;\n\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\n\n return (\n \n \n {heading}\n \n {items &&\n items.map((item: IBusinessSignUpItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n \n \n );\n};\n\nexport default BusinesSignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessOrganizationListViewProps, IFormViewProps, InputID } from './business-organization-list';\nimport { IBusinessFormItem } from './components/small-components';\n\nconst BusinessFormItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst BusinessUserForm: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, inputs, buttons, errorMessage, toggle } = props;\n\n const modalBody = (\n <>\n {modalDescription}\n \n {inputs &&\n inputs.map((item: IBusinessFormItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n \n );\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst BusinessUserDetails: React.FC = (props: IFormViewProps) => {\n const { modalClassName, FormWrapper, modalHeading, modalDescription, selectedUser, buttons, errorMessage, resources, toggle } = props;\n let modalBody = null;\n\n if (!selectedUser) {\n modalBody = errorMessage;\n } else {\n const { FirstName, LastName } = selectedUser;\n const userFullName = `${FirstName} ${LastName}`;\n\n modalBody = (\n <>\n {modalDescription}\n \n \n {userFullName}\n \n {Object.keys(selectedUser).map((data, index) => {\n if (data === InputID.FirstName || data === InputID.LastName) {\n return null;\n }\n const label = resources[`table${data}HeadingText`] || data;\n return (\n \n {label}\n {': '}\n {selectedUser[data]}\n \n );\n })}\n \n \n );\n }\n\n const modalFooter =\n buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n });\n\n return _renderModal(modalClassName, true, modalHeading, modalBody, modalFooter, toggle);\n};\n\nconst _getForm = (type: string, formProps: IFormViewProps, toggleModal?: () => void) => {\n switch (type) {\n case 'ADD':\n case 'EDIT':\n return ;\n case 'VIEW':\n case 'REMOVE':\n return ;\n default:\n return null;\n }\n};\n\nconst _renderModal = (\n className: string,\n isModalOpen: boolean,\n headingSection: React.ReactNode,\n bodySection: React.ReactNode,\n footerSection: React.ReactNode,\n toggleModal?: () => void\n) => {\n return (\n \n {headingSection}\n {bodySection}\n {footerSection}\n \n );\n};\n\nconst BusinessOrganizationList: React.FC = props => {\n const {\n OrganizationUserList,\n moduleContainer,\n heading,\n noUsersText,\n addUserButton,\n organizationListTable,\n form,\n formType,\n toggleModal,\n requestAccountStatementButton,\n requestStatementModal\n } = props;\n\n const ButtonList: React.ReactNode = (\n \n {addUserButton}\n {requestAccountStatementButton}\n \n );\n\n if (noUsersText) {\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {noUsersText}\n \n \n );\n }\n\n return (\n \n \n {heading}\n {ButtonList}\n {requestStatementModal}\n {organizationListTable}\n \n {form && _getForm(formType, form, toggleModal)}\n \n );\n};\n\nexport default BusinessOrganizationList;\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceActions {\n className?: string;\n buttonReference?: React.RefObject;\n requestStatementButtonLabel: string;\n onRequestStatement(): void;\n}\n\ninterface IAdminRequestStatementProps {\n className?: string;\n requestStatementButtonLabel: string;\n myUserAccountLabel: string;\n fullOrganizationLabel: string;\n isDropdownShowing: boolean;\n buttonReference?: React.RefObject;\n promoteToSellerLabel?: string;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n onPromoteToSeller?(): void;\n}\n\nexport const ActionBar: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n buttonReference\n}) => {\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n return (\n
\n \n
\n );\n};\n\nexport const AdminRequestStatementButton: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n onToggleDropdown,\n onPromoteToSeller,\n promoteToSellerLabel,\n myUserAccountLabel,\n fullOrganizationLabel,\n isDropdownShowing,\n buttonReference\n}) => {\n const onSelectCustomerAccount = React.useCallback(() => {\n onRequestStatement(false);\n }, [onRequestStatement]);\n\n const onSelectFullOrg = React.useCallback(() => {\n onRequestStatement(true);\n }, [onRequestStatement]);\n\n const onSelectPromoteToSeller = React.useCallback(() => {\n onPromoteToSeller?.();\n }, [onPromoteToSeller]);\n\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n
\n \n {requestStatementButtonLabel}\n \n \n \n {myUserAccountLabel}\n \n \n {promoteToSellerLabel && (\n \n {promoteToSellerLabel}\n \n )}\n \n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * The interface for the props for the account statement request modal.\n */\ninterface IAccountStatementRequestModalProps {\n email: string;\n isModalOpen: boolean;\n fromDateString: string;\n toDateString: string;\n canSubmitRequest: boolean;\n modalHeaderLabel: string;\n sendToEmailLabel: string;\n fromDateLabel: string;\n toDateLabel: string;\n submitRequestLabel: string;\n cancelLabel: string;\n className: string;\n selectedUser: string;\n selectedUserLabel: string;\n toggle(): void;\n onChangeFromDate(newFromDate: string): void;\n onChangeToDate(newToDate: string): void;\n onSubmitRequest(): void;\n modalAriaLabel?: string;\n maxDateString?: string;\n}\n\nexport const RequestStatementModal: React.FC = ({\n className,\n email,\n isModalOpen,\n toggle,\n fromDateString,\n toDateString,\n onChangeFromDate,\n onChangeToDate,\n canSubmitRequest,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n onSubmitRequest,\n selectedUser,\n selectedUserLabel,\n modalAriaLabel,\n maxDateString\n}) => {\n const onChangeFromDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n },\n [onChangeFromDate]\n );\n\n const onChangeToDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeToDate(value);\n },\n [onChangeToDate]\n );\n\n /**\n * If the onBlur is called on the fromDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurFromDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== fromDateString) {\n event.target.focus();\n }\n },\n [fromDateString]\n );\n\n /**\n * If the onBlur is called on the toDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurToDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n },\n [toDateString]\n );\n\n return (\n \n {modalHeaderLabel}\n \n {selectedUser && (\n
\n \n
\n
{selectedUser}
\n
\n )}\n \n
\n {email}\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {submitRequestLabel}\n \n {` `}\n \n \n \n );\n};\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, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { AdminRequestStatementButton } from './account-actions';\nimport { RequestStatementModal } from './account-statement-request-modal';\n\nexport * from './account-actions';\nexport * from './account-statement-request-modal';\n\ninterface IAccountLabel {\n name: string;\n accountNumber: string;\n createdOn: string;\n customerSincePrefix: string;\n}\n\ninterface IAccountValues {\n availableCredit: string;\n availableCreditLabel: string;\n}\n\n/**\n * Prop for Available credit component.\n */\ninterface ICreditSummaryAvailableCredit {\n availableCreditLabel: string;\n availableCredit: string;\n}\n\n/**\n * Prop for Balanced owed component.\n */\ninterface ICreditSummaryBalanceOwed {\n balanceOwedLabel: string;\n balanceOwed: string;\n}\n\n/**\n * Prop for credit excess component.\n */\ninterface ICreditSummaryCreditExcess {\n creditExcessLabel: string | null;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryLabel {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryValues {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface IBackButton {\n link: string;\n label: string;\n telemetryContent?: ITelemetryContent;\n}\n\nexport const AccountLabels: React.FC = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n
\n

{name}

\n
#{accountNumber}
\n
\n {customerSincePrefix} {createdOn}\n
\n
\n);\n\nexport const AccountValues: React.FC = ({ availableCredit, availableCreditLabel }) => (\n
\n
{availableCreditLabel}
\n
{availableCredit}
\n
\n);\n\nexport const CreditSummaryLabels: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n
{creditExcess}
\n
\n);\n\nexport const CreditSummaryValues: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n {creditExcess &&
{creditExcess}
}\n
\n);\n\n/**\n * Available credit component.\n * @param props - ICreditSummaryAvailableCredit.\n * @param props.availableCreditLabel - Available credit label.\n * @param props.availableCredit - Available credit value.\n * @returns - React Node for available credit component.\n */\nexport const AvailableCreditComponent: React.FC = ({ availableCreditLabel, availableCredit }) => (\n
\n
\n
{availableCreditLabel}
\n
\n
\n
{availableCredit}
\n
\n
\n);\n\n/**\n * Balance Owed Component.\n * @param props - ICreditSummaryBalanceOwed.\n * @param props.balanceOwedLabel - Balance Owed label.\n * @param props.balanceOwed - Balance Owed value.\n * @returns - React Node for balance owed component.\n */\nexport const BalanceOwedComponent: React.FC = ({ balanceOwedLabel, balanceOwed }) => (\n
\n
\n
{balanceOwedLabel}
\n
\n
\n
{balanceOwed}
\n
\n
\n);\n\n/**\n * Credit Excess Component.\n * @param props - ICreditSummaryCreditExcess.\n * @param props.creditExcessLabel - Credit excess label.\n * @param props.creditExcess - Credit excess value.\n * @returns - React Node for credit excess component.\n */\nexport const CreditExcessComponent: React.FC = ({ creditExcessLabel, creditExcess }) => (\n
\n {creditExcess && (\n
\n
{creditExcessLabel}
\n
\n )}\n
\n {creditExcess &&
{creditExcess}
}\n
\n
\n);\nexport const BackButton: React.FC = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {label}\n \n );\n};\n\nexport { AdminRequestStatementButton, RequestStatementModal };\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 IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountAddressTileDescription;\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-address-tile.props.autogenerated';\n\nexport interface IAccountAddressTileLinks {\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 AccountAddressTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\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-address-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 AccountAddressTileLinks;\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 { 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 * as React from 'react';\n\nexport interface IAccountLoyaltyLabel {\n className?: string;\n text?: string | number;\n}\n\nexport const AccountLoyaltyLabel: React.FC = ({ className, text }) =>

{text}

;\n\nexport interface IAccountLoyaltyModalLabel {\n className?: string;\n text?: string | number;\n labelFor?: string;\n}\n\nexport const AccountLoyaltyModalLabel: React.FC = ({ className, text, labelFor }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 { 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 {\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 { 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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationButton {\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 PasswordResetVerificationButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n telemetryContent,\n disabled,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetVerificationButton;\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 IPasswordResetVerificationErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationError;\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 IPasswordResetVerificationInputProps {\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 IPasswordResetVerificationInput {\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 PasswordResetVerificationInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n onChange\n}) => (\n \n);\n\nexport default PasswordResetVerificationInput;\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 IPasswordResetVerificationLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetVerificationLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetVerificationLabel;\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 IPasswordResetVerificationLoadingIcon {\n className: string;\n}\n\nconst PasswordResetVerificationLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default PasswordResetVerificationLoadingIcon;\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 IPasswordResetVerificationLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetVerificationLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetVerificationLoadingMessage;\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 IPasswordResetVerificationSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationSuccess;\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 { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISignUpButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\n \n);\n\nexport default SignUpButton;\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 ISignUpErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default SignUpError;\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 ISignUpInputProps {\n id?: string;\n hasFocus?: boolean;\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 ISignUpInput {\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 SignUpInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default SignUpInput;\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 ISignUpLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignUpLabel;\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 ISignUpLoadingIcon {\n className: string;\n}\n\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default SignUpLoadingIcon;\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 ISignUpLoadingMessage {\n className: string;\n message: string;\n}\n\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default SignUpLoadingMessage;\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 ISignUpSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default SignUpSuccess;\n"],"names":["AccountAddressTile","React","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleLinkTextChange","linkIndex","links","linkText","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","resources","data","className","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","result","length","accountAddressTileDescription","description","format","viewProps","_objectSpread","moduleProps","classnames","Msdyn365","tag","editProps","onEdit","requestContext","LinksComponent","Object","assign","onTextChange","DescriptionComponent","renderView","AccountCustomerBalanceTile","state","_initState","reaction","hasError","error","setState","content","ErrorComponent","apiGenericErrorMessage","get","isCustomerAccountPaymentEnabled","customerResult","allowOnAccountPayment","AllowOnAccountPayment","isB2BSite","isChannelTypeB2B","enableCustomerAccountPayment","shouldComponentUpdate","nextProps","nextState","Heading","headingTag","isDetailsLinkDisplayed","index","account","Balance","CreditLimit","InvoiceAccountBalance","InvoiceAccountCreditLimit","noCreditErrorMessage","accountCreditVerbagePrefix","accountCreditVerbagePostfix","currencyCode","formatCurrency","customerCredit","customerCreditFormatted","toFixed","CreditComponent","verbagePrefix","verbagePostfix","__decorate","computed","AccountGenericTile","AccountLoyalty","decimalPrecision","_populateModalData","focusRef","loyaltyCard","currentLoyaltyPoints","expiring","CardNumber","RewardPointId","actionContext","isModalOpen","currentModalData","isModalExpiring","modalID","currentFocus","getLoyaltyRewardPointsExpiringSoonAsync","callerContext","queryResultSettings","then","points","pointsActivity","catch","exception","debug","getLoyaltyRewardPointActivityTimelineAsync","message","_closeModal","undefined","_onOpenModal","_this$state$currentFo","current","focus","_buttonAvailableRef","_buttonExpireRef","payLoad","getPayloadObject","TelemetryConstant","BackToShopping","_Msdyn365$getUrlSync","_heading$tag","loyaltyCardLabel","totalAvailablePointsLabel","backToShoppingText","backToShopAttributes","getTelemetryAttributes","loyaltyCardData","rewardPoints","RewardPoints","homeLink","modalTransition","onEntered","node","isAppearing","childNode","firstChild","totalPoints","_getTotalPoints","_renderRewardPoints","pointsModal","_renderModal","isOpen","returnFocusRef","onOpened","Info","Points","Breakdown","PointsBreakdown","Button","infoLabel","AccountLoyaltyLabel","cardNumber","joinDate","_formatJoinDate","_parseDate","LoyaltyEnrollmentDateLocal","pointsLabel","homeButton","href","title","date","joinDateFormatted","Intl","DateTimeFormat","locale","month","day","year","Date","map","loyaltyPoints","availableId","expiringId","availablePointsLabel","availablePointsAriaLabel","expiringPointsFormatLabel","expiringPointsFormatAriaLabel","contentAction","etext","AvailablePoints","availablePointsAttributes","ExpiringPoints","expiringPointsAttributes","label","AccountLoyaltyModalLabel","Description","availableModalLabel","ActivePoints","labelFor","availableModalTrigger","color","onClick","innerRef","expiringModalLabel","PointsExpiringSoon","expiringModalTrigger","_currentModalData$Des","loyaltyActivityDateLabel","loyaltyActivityBalanceLabel","horizontalPosition","verticalPosition","modalClassName","modalHeaderClassName","modalHeader","modalBodyClassName","ModalBodyTop","ModalBodyHeaders","rewardPointsActivity","_renderPointsActivity","pointsDescription","_getPoints","balanceLabel","onClose","total","forEach","_loyaltyPoints$Active","_ref","activity","_toFixed","_ref2","Activity","activityType","_getTimelineType","activityDate","cultureFormatter","formatDate","ActivityDate","activityPoints","LoyaltyPoints","dateString","toString","replace","substring","getUTCFullYear","getUTCMonth","getUTCDate","pointActivity","LoyaltyRewardPointTimelineEntryType","earnedPointsLabel","redeemedPointsLabel","adjustedPointsLabel","refundedPointsLabel","ExtensibleLoyaltyRewardPointActivityEntryTypeValue","observer","_mapEditableLinks","linkdata","editableLinks","link","attributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountLoyaltyTile","signUpLinkText","viewLinkText","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","url","rewardPoint","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","params","isEditor","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","AccountProfileEdit","moduleClassName","onTextBoxChange","id","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","viewState","isShowLoading","accountProfileEdit","loading","modal","Modal","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","type","labelText","maxLength","pattern","wrapper","AccountProfileEditLabelComponent","forId","input","AccountProfileEditInputComponent","onChange","observable","AccountWelcomeTile","accountInfo","accountInformation","FirstName","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","RequestsTableColumnHeader","getUserName","StringExtensions","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","tableData","operationRequests","ArrayExtensions","hasElements","_request$TypeValue","_request$StatusValue","row","b2bRequestsTypeColumn","TableDataType","Text","b2bRequestsRequestDateColumn","CreatedDateTime","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","StatusValue","isSelected","createTableItems","headings","filter","item","isMobile","mobileExcludedColumns","includes","name","sortable","columnSortAriaLabel","rows","editLinkText","deleteLinkText","enableToModify","actionLinkText","showCheckBoxes","isSortable","showPagination","minifyActions","excludedColumns","paginationProperty","skipCount","query","skip","isNaN","Number","parseInt","itemPerPage","prevText","b2bRequestsPreviousText","nextText","b2bRequestsNextText","paginationText","reqContext","MsDyn365","isBrowser","URL","location","requestUrl","isSingleSelectOnly","actions","onDelete","onView","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","B2bRequestsTable","Table","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","b2bRequestsStatus","table","defaultClassName","B2bRequestsTileLinks","B2bRequestsTile","b2bRequestsTile","Module","Node","autoFocus","fade","zIndex","onClosed","toggle","ModalHeader","AccountProfileEditItem","AccountProfileEditLoading","_ref3","button","LocalAccount","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","user","isAuthenticated","clicked","IssueLoyaltyInput","apiSettings","issueLoyalty","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","status","signInLink","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","disabled","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","LoyaltyTerms","_toggle","bind","_submit","_checkboxChecked","toggleRef","search","isJoining","qsps","split","qsp","splitQsp","checked","hideToggle","slots","serviceTerms","modalToggle","joinLoyaltytermsToggleText","LoyaltyTermsModal","returnRef","terms","onToggle","onSubmit","onCheck","card","redirectToLoyalty","getUrlSync","getLoyaltyCardAsync","fullCard","update","GetLoyaltyCardInput","agreeSection","checkbox","agreeText","modalFooter","submitButton","cancelButton","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","PasswordResetVerification","getValue","v1Value","v2Value","templateVersion","passwordResetVerification","PasswordResetVerificationLoadingIconComponent","PasswordResetVerificationLoadingMessageComponent","passwordResetVerificationLocalAccount","verificationControlWrapper","verificationCodeLabelText","successMessage","PasswordResetVerificationSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","PasswordResetVerificationErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","verificationButtonsWrapper","verificationButtons","PasswordResetVerificationButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","continueButtonAriaLabel","continueButtonText","cancelButtonAriaLabel","cssClassName","PasswordResetVerificationLabelComponent","PasswordResetVerificationInputComponent","PasswordResetVerificationItem","PasswordResetVerificationLoading","handleParagraphChange","signInDisclaimer","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","emailId","SA_FIELDS","AttributeFields","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalid_password","invalidPasswordError","unknown_error","unknownError","signIn","SignInLoadingIconComponent","SignInLoadingMessageComponent","signInSection","signInSectionHeading","signInLocalAccount","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","SignInLabelComponent","SignInInputComponent","iconImage","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","SignInLoading","_ref4","SocialAccount","B2BAccount","isEmailVerificationRequried","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","UX_INPUT_TYPE","signUp","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","signUpLocalAccount","emailVerification","isRequired","buttonWrapper","SignUpButtonComponent","SignUpSuccessComponent","SignUpErrorComponent","givenNameVerification","surnameVerification","signUpButtonArialabel","cancelButtonArialabel","SignUpLabelComponent","SignUpInputComponent","SignUpItem","SignUpEmailVerification","SignUpGivenNameVerificationComponent","SignUpSurnameVerificationComponent","SignUpLoading","_ref6","_ref5","AadGeneric","$i2e","$element","insertServiceContent","getElementContent","initialize","aadGeneric","aadAPIConainer","AccountCustomerBalance","requestStatementButtonRef","_showRequestStatementModal","isStatementRequestModalOpen","_toggleModal","_this$requestStatemen","_toggleDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_adminShowRequestStatementModal","isFullOrg","statementRequestFullOrg","_requestStatement","_this$props$data$b2bU","_this$requestStatemen2","customer","B2BUserId","b2bUserInformation","statementRequest","FromDate","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","Email","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","BusinessPartnerUsersDataActions","statementRequestMaxDateString","toISOString","canSubmitStatementRequest","_get","creditSummarySectionHeading","accountSectionHeading","customerSincePrefix","availableCreditLabel","balanceOwedLabel","creditExcessLabel","requestStatementButtonLabel","modalHeaderLabel","sendToEmailLabel","fromDateLabel","toDateLabel","submitRequestLabel","cancelLabel","myAccountStatementLabel","fullOrganizationLabel","modalAriaLabel","accountNumber","AccountNumber","createdOn","LastName","customerAccountBalance","excess","creditExcess","_formatCurrency","availableCredit","balanceOwed","backLink","emailAddress","actionBar","IsB2bAdmin","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","ActionBar","accountLabels","AccountLabels","accountValues","AccountValues","AvailableCreditComponent","BalanceOwedComponent","CreditExcessComponent","BackButton","requestStatementModal","RequestStatementModal","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","onSubmitRequest","selectedUser","selectedUserLabel","maxDateString","currency","AccountInvoiceTileDescription","AccountInvoiceTile","_data$customerBalance","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","FormInput","isDisabled","fieldReference","placeholder","GetMaxLength","ref","FormLabel","asteriskText","htmlFor","FormButton","FormFieldError","errorClassName","parsedMaxLength","FormType","InputType","InputID","renderInputSection","inputs","asteriskAfterLabel","onInputChange","element","customClass","maxChars","BusinessOrganizationList","_this$props$config","BusinessFormDefaultInputs","businessUserFirstNameLabelText","businessUserLastNameLabelText","businessUserEmailAddressLabelText","SpendingLimit","businessUserSpendingLimitLabelText","delayFocus","formChildReference","userFormEditReference","userFormDeleteReference","_handleAddUserButtonClicked","newForm","formItems","newUser","Random","Guid","generateGuid","isFormActive","formType","Add","referenceBack","addUserButtonReference","hasFormError","hasActionError","selectedUserData","_handleAddEditFormSaveButton","async","updatedUser","_createBusinessPartner","Edit","editOrganizationUser","EditOrganizationUserInput","reload","trace","addOrganizationUser","AddOrganizationUserInput","businessUserActionRetailErrorMsg","parseFloat","_handleEditIcon","userData","possibleName","find","cell","fullName","lastSpaceIndex","lastIndexOf","firstName","lastName","possibleCell","dataCell","_handleDeleteIcon","displayedUserData","Price","Remove","_handleViewDetails","View","_handleRemoveUserButton","deleteUserData","deleteOrganizationUser","DeleteOrganizationUserInput","None","callbackRemoveButton","_onInputChange","prev","refresh","isReady","_isFormReady","formItem","match","_formatPrice","price","_getCurrentUrl","_getViewport","device","Type","innerWidth","xs","w","sm","md","lg","_toggleStatementRequestDropdown","_promoteToSeller","promoteToSellerUrl","currentUser","users","_getB2BUserId","_closeStatementRequestModal","_this$statementReques","statementRequestButtonReference","_onSelectRow","records","selectedRow","rowProps","Status","_viewport","_updateViewport","submitButtonReference","addedReference","isNullOrWhitespace","selectedUserName","businessUserSelectedUserDisplayName","addEventListener","componentWillUnmount","removeEventListener","_this$formChildRefere","_this$submitButtonRef","_this$props$data$cust","showBecomeSellerLink","businessUserActionButtonText","businessUserAddUserButtonText","businessUserLoadingMessage","businessUserEmptyListMessage","businessUserErrorGettingUsersMessage","userAccountStatementLabel","promoteToSellerActionLabel","requestAccountStatementActionLabel","requestOrganizationStatementActionLabel","statementRequestModalHeaderLabel","hasUsers","AddUser","addUserAttributes","errorProps","OrganizationUserList","moduleContainer","addUserButton","noUsersText","modalState","organizationListTable","_createTableProps","toggleModal","form","_renderUserForm","_renderUserDetails","requestAccountStatementButton","promoteToSellerLabel","onPromoteToSeller","selectedOrganizationLabel","tableSort","paginationItemPerPage","businessUserPaginationNextButtonText","businessUserPaginationPreviousButtonText","businessUserEditButtonText","businessUserViewUserButtonText","businessUserDeleteButtonText","businessUserPaginationAriaLabel","_createTableItems","editLinkTooltip","deleteLinkTooltip","viewLinkTooltip","resourcePrefix","tableAriaLabel","tableTabIndex","formatPrice","checkBoxCallback","businessUserActiveStatusText","businessUserPendingStatusText","businessUserRemovedStatusText","usersList","statusString","FullName","buttonReferences","edit","delete","_this$state$reference","businessUserRemoveModalHeaderText","businessUserRemoveModalDescription","businessUserViewModalHeaderText","businessUserCancelButtonText","businessUserCancelRemoveUserButtonText","businessUserRemoveUserButtonText","businessUserErrorUpdatingUsersMessage","formClassName","typeClassName","handleRemoveButton","FormWrapper","modalHeading","modalDescription","businessUserEditUserFormHeadingText","businessUserAddUserFormHeadingText","businessUserSaveButtonArialabel","businessUserSaveButtonText","businessUserCancelButtonArialabel","businessUserFieldIncorrectErrorText","businessUserActionErrorText","businessUserAllFieldsRequiredMessage","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","accountOrganizationUsersTileDescription","SignUpButton","SignUpError","SignUpInput","TextArea","SignUpLabel","BusinessSignUpRadioButtonOption","needToReset","showErrors","addressForm","updateAddress","radioButtonOptions","radioButtonGroupClass","baseSignUpItem","Address","isAddressInput","updateForm","resetAddress","splice","RadioButton","BusinessSignUp","_this","prospectRadioButtonName","BusinessSignUpDefaultInputs","ProspectType","prospectTypeLabel","prospectTypeBuyerLabel","prospectTypeSellerLabel","firstNameLabel","lastNameLabel","emailAddressLabel","CompanyName","companyLabel","Department","departmentLabel","JobTitle","jobTitleLabel","Size","companySizeLabel","companyAddressLabel","Comment","commentLabel","needsToReset","_onAddressChange","errors","currentAddress","addressItem","addressHasErrors","showAddressErrors","currentInput","_onSubmit","preventDefault","_getItem","companyName","companyEmail","companyAddress","jobTitle","department","companySize","comments","prospectType","newPartner","CompanySize","Comments","ProspectTypeValue","createProspectAsync","successPageURL","confirmationLink","hasSubmitErrors","_onCancel","cleanForm","isAddress","arguments","_addedReference","businessSignUp","ContainerWrapper","businessSignUpForm","_renderForm","partialAddressErrorMessage","addressSlot","RichTextComponent","newFormFields","creditSummaryLabels","creditSummaryValues","BusinessSignUpItem","BusinessFormItem","BusinessUserForm","BusinessUserDetails","userFullName","keys","headingSection","bodySection","footerSection","wrapClassName","applicationNode","ModalFooter","ButtonList","_getForm","formProps","call","fixRegExpWellKnownSymbolLogic","anObject","isNullOrUndefined","toLength","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","string","rx","S","res","done","global","fullUnicode","unicode","lastIndex","A","n","matchStr","popoverReference","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","requestStatementDropdownString","Popover","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","onBlurToDate","onBlur","max","min","_ref7","_ref8","LoyaltyTermsCancel","loyaltyTermCancelAttributes","LoyaltyTermsSubmit","loyaltyTermSubmitAttributes","LoyaltyTermsAgree","loyaltyTermCheckboxAttributes","cancelLoyaltyTermsText","joinLoyaltyTermsText","loyaltyTermsHeading","loyaltyAgreeToTerms","successClassName"],"sourceRoot":""}