{"version":3,"file":"static/js/7.2a3caef0a360ea4d20b4.chunk.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://msdyn365.commerce.online/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://msdyn365.commerce.online/./src/modules/account-address-tile/components/account-address-tile-description.tsx?4911","webpack://msdyn365.commerce.online/./src/modules/account-address-tile/components/account-address-tile-links.tsx?bee7","webpack://msdyn365.commerce.online/./src/modules/account-customer-balance/account-customer-balance.tsx?8d5a","webpack://msdyn365.commerce.online/./src/modules/account-customer-balance/components/account-actions.tsx?e021","webpack://msdyn365.commerce.online/./src/modules/account-customer-balance/components/account-statement-request-modal.tsx?18c0","webpack://msdyn365.commerce.online/./src/modules/account-customer-balance/components/index.tsx?fba9","webpack://msdyn365.commerce.online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://msdyn365.commerce.online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://msdyn365.commerce.online/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://msdyn365.commerce.online/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-button.tsx?33d4","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-error.tsx?b9c0","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-input.tsx?27a8","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-label.tsx?3142","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-loading-icon.tsx?96eb","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-loading-message.tsx?9245","webpack://msdyn365.commerce.online/./src/modules/sign-up/components/sign-up-success.tsx?7f30","webpack://msdyn365.commerce.online/./src/modules/sign-up/sign-up.tsx?5ad1","webpack://msdyn365.commerce.online/./src/modules/sign-up/sign-up.view.tsx?08eb"],"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 { 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 * 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 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 { 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 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 { 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 { 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","/*!\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"],"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","Module","_ref","_mapEditableLinks","linkdata","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountCustomerBalance","requestStatementButtonRef","_showRequestStatementModal","state","isStatementRequestModalOpen","setState","_toggleModal","_this$requestStatemen","current","focus","_toggleDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_adminShowRequestStatementModal","isFullOrg","statementRequestFullOrg","_requestStatement","_this$props$data$b2bU","_this$requestStatemen2","customer","customerInformation","B2BUserId","b2bUserInformation","statementRequest","FromDate","Date","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","Email","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","callerContext","actionContext","BusinessPartnerUsersDataActions","statementRequestMaxDateString","toISOString","split","_get","account","includes","undefined","error","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","customerSincePrefix","availableCreditLabel","balanceOwedLabel","creditExcessLabel","requestStatementButtonLabel","modalHeaderLabel","sendToEmailLabel","fromDateLabel","toDateLabel","submitRequestLabel","cancelLabel","myAccountStatementLabel","fullOrganizationLabel","modalAriaLabel","accountNumber","AccountNumber","createdOn","_formatJoinDate","CreatedDateTime","name","FirstName","LastName","customerCredit","customerAccountBalance","excess","InvoiceAccountCreditLimit","CreditLimit","Balance","InvoiceAccountBalance","creditExcess","_formatCurrency","availableCredit","balanceOwed","backLink","emailAddress","isB2BSite","isChannelTypeB2B","actionBar","IsB2bAdmin","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","ActionBar","Heading","accountLabels","AccountLabels","accountValues","AccountValues","AvailableCreditComponent","BalanceOwedComponent","CreditExcessComponent","homeButton","BackButton","label","actions","requestStatementModal","RequestStatementModal","email","isModalOpen","toggle","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","canSubmitStatementRequest","onSubmitRequest","selectedUser","selectedUserLabel","maxDateString","currency","currencyCode","formatCurrency","toFixed","date","Intl","DateTimeFormat","locale","month","day","year","__decorate","computed","popoverReference","Button","innerRef","onClick","_ref2","onPromoteToSeller","promoteToSellerLabel","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","requestStatementDropdownString","Random","Guid","generateGuid","id","Popover","isOpen","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","onBlurToDate","Modal","horizontalPosition","verticalPosition","autoFocus","fade","ModalHeader","ModalBody","htmlFor","type","onBlur","onChange","max","min","ModalFooter","disabled","_ref5","_ref6","_ref7","_ref8","TelemetryConstant","BackToShopping","href","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","message","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","pattern","forId","successClassName","SignUp","moduleClassName","handleParagraphChange","disclaimer","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","map","obj","ID","toLowerCase","isEmailVerificationRequried","templateVersion","emailRegex","PAT","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","newPasswordRegex","reenterPasswordRegex","UX_INPUT_TYPE","PAT_DESC","invalidPasswordError","invalidEmailAddressError","errorMessages","required_field","requiredFieldMissingError","getValue","v1Value","v2Value","EmailRegex","defaultRegex","source","PasswordRegex","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","viewState","isShowLoading","signUp","loading","modal","modalBody","icon","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","loadingMessage","defaultAADConainer","style","display","aadConainer","signUpLocalAccount","_renderLocalAccount","localAccount","items","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","emailAddressLabelText","passwordLabelText","confirmPasswordLabelText","emailVerification","isRequired","verificationCodeLabelText","verificationControlWrapper","buttonWrapper","buttons","SignUpButtonComponent","key","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","successMessage","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","errorMessage","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","givenNameVerification","givenName","requiredFieldMissingSummaryError","surnameVerification","surname","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","passwordEntryMismatchError","fieldIncorrectError","labelText","cssClassName","wrapper","SignUpLabelComponent","input","SignUpInputComponent","observable","observer","SignUpItem","Node","SignUpEmailVerification","button","SignUpGivenNameVerificationComponent","_ref3","SignUpSurnameVerificationComponent","_ref4","SignUpLoading","item","LocalAccount"],"sourceRoot":""}