{"version":3,"file":"static/js/6.d955bba94201bfb03325.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/aad-generic/aad-generic.tsx?c076","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-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://msdyn365.commerce.online/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://msdyn365.commerce.online/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { 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\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountInvoiceTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-invoice-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountInvoiceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: description && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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","AadGeneric","moduleClassName","handleHeadingChange","event","heading","componentDidMount","$i2e","$element","window","insertServiceContent","getElementContent","initialize","shouldComponentUpdate","nextProps","viewProps","_objectSpread","aadGeneric","moduleProps","aadConainer","aadAPIConainer","Msdyn365","Object","assign","editProps","onEdit","renderView","AccountAddressTile","super","handleLinkTextChange","linkIndex","links","linkText","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","length","accountAddressTileDescription","description","tag","LinksComponent","onTextChange","DescriptionComponent","Module","_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","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","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","toFixed","date","DateTimeFormat","month","day","year","computed","popoverReference","Button","innerRef","onClick","_ref2","onPromoteToSeller","promoteToSellerLabel","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","requestStatementDropdownString","Random","Guid","generateGuid","Popover","isOpen","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","onBlurToDate","Modal","horizontalPosition","verticalPosition","autoFocus","fade","ModalHeader","ModalBody","onBlur","ModalFooter","disabled","_ref5","_ref6","_ref7","_ref8","TelemetryConstant","BackToShopping","href","AccountInvoiceTileDescription","AccountInvoiceTile","_data$customerBalance","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","message","errorClassName","GetMaxLength","maxLength","parsedMaxLength","parseInt","pattern","forId","successClassName","SignUp","handleParagraphChange","disclaimer","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","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","componentDidUpdate","nextState","viewState","isShowLoading","signUp","loading","modal","modalBody","icon","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","loadingMessage","defaultAADConainer","display","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":""}