{"version":3,"file":"static/js/6.e210f4c05bcbd923930d.chunk.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./src/components/Price.tsx?19aa","webpack://msdyn365.commerce.online/./src/modules/product-price/product-price.tsx?a98c","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","webpack://msdyn365.commerce.online/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.string.match.js?f0c8"],"sourcesContent":["import classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IPriceProps } from './Price.props';\r\n\r\n/**\r\n * Price component\r\n * @extends {React.PureComponent}\r\n */\r\nexport default class Price extends React.PureComponent {\r\n public static defaultProps: Partial = {\r\n rangeFormatText: '{0} - {1}',\r\n originalPriceText: 'Original Price',\r\n currentPriceText: 'Current Price'\r\n };\r\n\r\n private static rangeRegex: RegExp = /(?:(\\{0\\})|(\\{1\\}))/gm;\r\n\r\n public render(): JSX.Element | null {\r\n // yield null on undefined result for enzyme\r\n return (this._showStrikethroughPricing() ? this._renderCurrentPriceWithOriginalPrice() : this._renderCurrentPrice(true)) || null;\r\n }\r\n\r\n private _showStrikethroughPricing(): boolean {\r\n const { originalPrice, currentPrice } = this.props;\r\n if (originalPrice && currentPrice) {\r\n const originalStartingPrice = originalPrice.startingValue;\r\n const currentStartingPrice = currentPrice.startingValue;\r\n const originalEndingPrice = originalPrice.endingValue ? originalPrice.endingValue : 0;\r\n const currentEndingPrice = currentPrice.endingValue ? currentPrice.endingValue : 0;\r\n\r\n return (originalStartingPrice > currentStartingPrice) ||\r\n (originalEndingPrice > currentEndingPrice);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _renderCurrentPriceWithOriginalPrice(): JSX.Element | null {\r\n const { startingValue, endingValue } = this.props.originalPrice!;\r\n const initialPrice = this._formatCurrency(startingValue);\r\n const finalPrice = this._formatCurrency(endingValue);\r\n const priceRange = initialPrice && finalPrice ? this._formatPriceRange(initialPrice, finalPrice) : undefined;\r\n\r\n return (\r\n \r\n {priceRange && (\r\n \r\n {priceRange}\r\n {this._renderCurrentPrice(false)}\r\n \r\n )}\r\n {!priceRange && (\r\n \r\n {this.props.originalPriceText} {initialPrice} {this.props.currentPriceText} {this._renderCurrentPrice(false)}\r\n \r\n \r\n \r\n )}\r\n {this.props.savingsText && {this.props.savingsText}}\r\n \r\n );\r\n }\r\n\r\n private _renderCurrentPrice(includeClassName: boolean): JSX.Element | undefined {\r\n const { currentPrice, className } = this.props;\r\n const classNames = className && includeClassName ? [className] : [];\r\n const initialPrice = currentPrice ? this._formatCurrency(currentPrice.startingValue) : undefined;\r\n const finalPrice = currentPrice ? this._formatCurrency(currentPrice.endingValue as number) : undefined;\r\n const isRange = initialPrice && finalPrice;\r\n const priceRange = isRange ? this._formatPriceRange(initialPrice!, finalPrice!) : undefined;\r\n return isRange\r\n ? (priceRange && this._rangeHelper({ className: classNames.concat('price-range'), text: priceRange })) as JSX.Element\r\n : (initialPrice && this._rangeHelper({ className: classNames, text: initialPrice })) as JSX.Element;\r\n }\r\n\r\n private _rangeHelper({ className, text }: { className: string[]; text: string }): JSX.Element {\r\n return {` ${text || ''}`};\r\n }\r\n\r\n private _formatCurrency(price: number | undefined): string | undefined {\r\n if (price === undefined) {\r\n return undefined;\r\n }\r\n\r\n if (price === 0 && this.props.freePriceText) {\r\n return this.props.freePriceText;\r\n }\r\n\r\n if (this.props.currencyFormatter) {\r\n return this.props.currencyFormatter(price);\r\n }\r\n\r\n return new Intl.NumberFormat(\r\n this.props.locale,\r\n { style: 'currency', currencyDisplay: 'symbol', currency: this.props.currencyCode }).format(price);\r\n }\r\n\r\n private _formatPriceRange(initialPrice: string, finalPrice: string): string | undefined {\r\n if (!this.props.rangeFormatText!.match(Price.rangeRegex)) {\r\n return;\r\n }\r\n return this.props.rangeFormatText!.replace(Price.rangeRegex, (_: string, initial: string) => initial ? initialPrice : finalPrice);\r\n }\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IRequestContext } from '@msdyn365-commerce/core';\r\nimport { ChannelConfiguration, ProductPrice } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport Input from 'reactstrap/lib/Input';\r\nimport Price from '../../components/Price';\r\nimport getKeyedInPrice, { createKeyedInPrice } from '../../dataActions/get-keyed-in-price';\r\nimport getKeyedInPriceError, { createKeyedInPriceError } from '../../dataActions/get-keyed-in-price-error';\r\nimport getPriceForSelectedVariant, { PriceForSelectedVariantInput } from './data-actions/get-price-for-selected-variant';\r\nimport { IPrice, IPriceRange, IProductPriceData } from './product-price.data';\r\nimport { IProductPriceProps } from './product-price.props.autogenerated';\r\n\r\n/**\r\n *\r\n * ProductPrice component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass ProductPriceModule extends React.Component> {\r\n public async componentDidMount(): Promise {\r\n reaction(\r\n () => this.props.data.product.result ? this.props.data.product.result.RecordId : null,\r\n () => {\r\n if (this.props.context &&\r\n this.props.data.product.result &&\r\n this.props.config.priceDisplayType === 'affiliationPrice' &&\r\n (this.props.config.affiliationId || this.props.context.app.config.wineClubSetup.affiliationId)) {\r\n const actionInput = new PriceForSelectedVariantInput(\r\n this.props.data.product.result.RecordId,\r\n // @ts-ignore\r\n +this.props.context.actionContext.requestContext.apiSettings.channelId,\r\n this.props.data.product.result,\r\n this.props.context.request.user.customerAccountNumber,\r\n this.props.config.affiliationId || this.props.context.app.config.wineClubSetup.affiliationId\r\n );\r\n\r\n getPriceForSelectedVariant(actionInput, this.props.context.actionContext)\r\n .catch(error => {\r\n this.props.telemetry.warning('Unable to update Price for Product');\r\n this.props.telemetry.error(error);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (this.props.config.loginGated && !this.props.context.request.user.isAuthenticated) {\r\n return null;\r\n }\r\n\r\n let content: IProductPriceData;\r\n try {\r\n content = this.props.data;\r\n } catch (e) {\r\n this.props.telemetry.error(`Something went wrong ------${e}`);\r\n return
{e}
;\r\n }\r\n\r\n const priceData = this._mapPriceFromSimpleProductAction(\r\n content.productPrice.result,\r\n content.channelConfiguration.result,\r\n this.props.context.request);\r\n\r\n const product = this.props.data.product.result;\r\n const isPriceKeyedIn = product && product.Behavior && product.Behavior.KeyInPriceValue;\r\n if (isPriceKeyedIn) {\r\n return (\r\n
\r\n {this._renderKeyedInPrice()}\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n {this._getFormattedPrice(priceData, this.props.context.cultureFormatter.formatCurrency)}\r\n
\r\n );\r\n }\r\n\r\n private _onKeyedInPriceChange = (targetPrice: React.ChangeEvent) => {\r\n const priceInput = Number(targetPrice && targetPrice.target && targetPrice.target.value);\r\n void getKeyedInPrice(createKeyedInPrice(priceInput), this.props.context.actionContext);\r\n\r\n if (priceInput < 25 || priceInput > 500) {\r\n void getKeyedInPriceError(createKeyedInPriceError('Please enter a price between $25 and $500.'), this.props.context.actionContext);\r\n } else {\r\n void getKeyedInPriceError(createKeyedInPriceError(''), this.props.context.actionContext);\r\n }\r\n };\r\n\r\n private _renderKeyedInPrice = () => {\r\n let price: number | undefined = this.props.data.keyedInPrice.result;\r\n if (!price || isNaN(price)) {\r\n price = undefined;\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n private _getFormattedPrice(priceData: IPrice | null, currencyFormatter: (price: string | number, currencyCode?: string) => string): JSX.Element | null {\r\n if (!priceData) {\r\n return null;\r\n }\r\n const { currentPrice, originalPrice } = priceData;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _mapPriceFromSimpleProductAction = (productPrice: ProductPrice | undefined, channelConfiguration: ChannelConfiguration | undefined, requestContext: IRequestContext | undefined): IPrice | null => {\r\n if (productPrice && requestContext) {\r\n let priceType;\r\n if (this.props.config.priceDisplayType === 'affiliationPrice' || this.props.config.priceDisplayType === 'currentPrice') {\r\n priceType = this._mapNumberToIPriceRange(productPrice.CustomerContextualPrice);\r\n } else if (this.props.config.priceDisplayType === 'basePrice') {\r\n priceType = this._mapNumberToIPriceRange(productPrice.BasePrice || 0);\r\n }\r\n\r\n // if price type wasnt set, then set it to the default type used previously\r\n if (!priceType) {\r\n // AKA 'currentPrice' - this is by default\r\n priceType = this._mapNumberToIPriceRange(Math.max(productPrice.BasePrice || 0, productPrice.TradeAgreementPrice || 0, productPrice.AdjustedPrice || 0));\r\n }\r\n\r\n const originalPrice = priceType;\r\n const currentPrice = priceType;\r\n\r\n return {\r\n locale: requestContext.locale,\r\n currencyCode: (channelConfiguration && channelConfiguration.Currency) || 'USD',\r\n freePriceText: this.props.resources.priceFree,\r\n currentPrice,\r\n originalPrice\r\n };\r\n }\r\n\r\n return null;\r\n };\r\n\r\n private _mapNumberToIPriceRange = (price: number | undefined): IPriceRange | undefined => {\r\n if (price !== undefined) {\r\n return {\r\n startingValue: price\r\n };\r\n }\r\n\r\n return undefined;\r\n };\r\n}\r\n\r\nexport default ProductPriceModule;\r\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 { 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\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 };\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}\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 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 = ({ className, onRequestStatement, requestStatementButtonLabel }) => {\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","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["Price","React","render","this","_showStrikethroughPricing","_renderCurrentPriceWithOriginalPrice","_renderCurrentPrice","originalPrice","currentPrice","props","originalStartingPrice","startingValue","currentStartingPrice","originalEndingPrice","endingValue","currentEndingPrice","initialPrice","_formatCurrency","finalPrice","priceRange","_formatPriceRange","undefined","className","classnames","originalPriceText","currentPriceText","savingsText","includeClassName","classNames","isRange","_rangeHelper","concat","text","_ref","itemProp","price","freePriceText","currencyFormatter","Intl","NumberFormat","locale","style","currencyDisplay","currency","currencyCode","format","rangeFormatText","match","rangeRegex","replace","_","initial","defaultProps","ProductPriceModule","constructor","_onKeyedInPriceChange","targetPrice","priceInput","Number","target","value","getKeyedInPrice","createKeyedInPrice","context","actionContext","getKeyedInPriceError","createKeyedInPriceError","_renderKeyedInPrice","data","keyedInPrice","result","isNaN","hidden","htmlFor","Input","id","type","min","onChange","_mapPriceFromSimpleProductAction","productPrice","channelConfiguration","requestContext","priceType","config","priceDisplayType","_mapNumberToIPriceRange","CustomerContextualPrice","BasePrice","Math","max","TradeAgreementPrice","AdjustedPrice","Currency","resources","priceFree","reaction","product","RecordId","affiliationId","app","wineClubSetup","actionInput","PriceForSelectedVariantInput","apiSettings","channelId","request","user","customerAccountNumber","getPriceForSelectedVariant","catch","error","telemetry","warning","loginGated","isAuthenticated","content","e","priceData","Behavior","KeyInPriceValue","_getFormattedPrice","cultureFormatter","formatCurrency","__decorate","observer","AccountAddressTile","super","handleHeadingChange","event","heading","handleLinkTextChange","linkIndex","links","linkText","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","length","accountAddressTileDescription","description","viewProps","_objectSpread","moduleProps","Msdyn365","tag","editProps","onEdit","LinksComponent","Object","assign","onTextChange","DescriptionComponent","renderView","Module","_mapEditableLinks","linkdata","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountCustomerBalance","_showRequestStatementModal","state","isStatementRequestModalOpen","setState","_toggleModal","_toggleDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_adminShowRequestStatementModal","isFullOrg","statementRequestFullOrg","_requestStatement","_this$props$data$b2bU","customer","customerInformation","B2BUserId","b2bUserInformation","statementRequest","FromDate","Date","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","Email","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","callerContext","BusinessPartnerUsersDataActions","statementRequestMaxDateString","toISOString","split","_get","account","includes","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","availableCredit","balanceOwed","backLink","emailAddress","isB2BSite","isChannelTypeB2B","actionBar","IsB2bAdmin","AdminRequestStatementButton","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","toFixed","date","DateTimeFormat","month","day","year","computed","Button","onClick","_ref2","onPromoteToSeller","promoteToSellerLabel","buttonReference","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","popoverReference","requestStatementDropdownString","Random","Guid","generateGuid","innerRef","Popover","isOpen","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","focus","onBlurToDate","Modal","horizontalPosition","verticalPosition","autoFocus","fade","ModalHeader","ModalBody","onBlur","ModalFooter","disabled","_ref5","_ref6","_ref7","_ref8","TelemetryConstant","BackToShopping","href","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","message","errorClassName","GetMaxLength","maxLength","parsedMaxLength","parseInt","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","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","SignUpItem","Node","SignUpEmailVerification","button","SignUpGivenNameVerificationComponent","_ref3","SignUpSurnameVerificationComponent","_ref4","SignUpLoading","item","LocalAccount","call","fixRegExpWellKnownSymbolLogic","anObject","isNullOrUndefined","toLength","toString","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","string","rx","S","res","done","global","fullUnicode","unicode","lastIndex","A","n","matchStr"],"sourceRoot":""}