{"version":3,"file":"static/js/14.b3c1f1ee0ceee721fd55.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://Msdyn365.Commerce.Online/./src/modules/account-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/b2b-requests-tile/components/account-b2b-requests-tile-links.tsx?d6f5","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-tile/b2b-requests-tile.tsx?9498","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-tile/b2b-requests-tile.view.tsx?3f4e","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/account-customer-balance.tsx?8d5a","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-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-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"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps<IAccountAddressTileData> {\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<IAccountAddressTileProps<IAccountAddressTileData>>}\n */\nclass AccountAddressTile extends React.PureComponent<IAccountAddressTileProps<IAccountAddressTileData>> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps<IAccountAddressTileData>) {\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 <Msdyn365.Text\n className='ms-account-address-tile__heading'\n tag={heading.tag || 'h2'}\n text={heading.text}\n editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n />\n ),\n links: links && links.length > 0 && (\n <LinksComponent\n {...{\n links,\n onTextChange: this.handleLinkTextChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n ),\n description: <DescriptionComponent 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 AccountAddressTile;\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<IAccountWishlistTileDescription> = ({ description }) => (\n <p className='ms-account-wishlist-tile__description'>{description}</p>\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<IAccountWishlistTileLinks> = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n <div className='ms-account-wishlist-tile__links'>\n {editableLinks && editableLinks.length > 0 ? (\n <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n ) : null}\n </div>\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<IAccountWishlistTileData> {\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<IAccountWishlistTileProps<IAccountWishlistTileData>>}\n */\nclass AccountWishlistTile extends React.PureComponent<IAccountWishlistTileProps<IAccountWishlistTileData>> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps<IAccountWishlistTileData>) {\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 <Msdyn365.Text\n className='ms-account-wishlist-tile__heading'\n tag={heading.tag}\n text={heading.text}\n editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n />\n ),\n links: links && links.length > 0 && (\n <LinksComponent\n {...{\n links,\n onTextChange: this.handleLinkTextChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n ),\n description: <DescriptionComponent 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 AccountWishlistTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../../..';\n\nexport interface IB2bRequestsTileLinksProps {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst defaultClassName = 'ms-account-b2b-requests-tile';\n\nexport const B2bRequestsTileLinks: React.FC<IB2bRequestsTileLinksProps> = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (!ArrayExtensions.hasElements(links)) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n <div className={`${defaultClassName}__links`}>\n {ArrayExtensions.hasElements(editableLinks) ? (\n <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n ) : null}\n </div>\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n return linkdata.map(link => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n ariaLabel: link.ariaLabel,\n className: `${defaultClassName}__link`,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n } as Msdyn365.ILinksData;\n });\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileData } from './b2b-requests-tile.data';\nimport { IB2bRequestsTileProps } from './b2b-requests-tile.props.autogenerated';\nimport { B2bRequestsTileLinks } from './components/account-b2b-requests-tile-links';\n\nexport interface IB2bRequestsTileViewProps extends IB2bRequestsTileProps<IB2bRequestsTileData> {\n b2bRequestsTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsTile component.\n * @extends {React.PureComponent<IB2bRequestsTileProps<IB2bRequestsTileData>>}\n */\nclass B2bRequestsTile extends React.PureComponent<IB2bRequestsTileProps<IB2bRequestsTileData>> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IB2bRequestsTileProps<IB2bRequestsTileData>) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const defaultClassName = 'ms-account-b2b-requests-tile';\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n b2bRequestsTile: {\n moduleProps: this.props,\n className: classnames(defaultClassName, config.className)\n },\n heading: heading && heading.text && (\n <Msdyn365.Text\n className={`${defaultClassName}__heading`}\n tag={heading.tag}\n text={heading.text}\n editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n />\n ),\n links: ArrayExtensions.hasElements(links) && (\n <B2bRequestsTileLinks\n links={links}\n onTextChange={this.handleLinkTextChange}\n requestContext={this.props.context.request}\n telemetryContent={this.telemetryContent}\n />\n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default B2bRequestsTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC<IAccountAddressTileViewProps> = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n <Module {...AccountAddressTile}>\n {heading}\n {description}\n {links}\n </Module>\n );\n};\n\nexport default AccountAddressTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC<IAccountWishlistTileViewProps> = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n <Module {...AccountWishlistTile}>\n {heading}\n {description}\n {links}\n </Module>\n );\n};\n\nexport default AccountWishlistTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileViewProps } from './b2b-requests-tile';\n\nconst B2bRequestsTileView: React.FC<IB2bRequestsTileViewProps> = props => {\n const { b2bRequestsTile, heading, links } = props;\n\n return (\n <Module {...b2bRequestsTile}>\n {heading}\n {links}\n </Module>\n );\n};\n\nexport default B2bRequestsTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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<IAadGenericData> {\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<IAadGenericProps<IAadGenericData>>}\n */\nclass AadGeneric extends React.Component<IAadGenericProps<IAadGenericData>> {\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: <div id='api' />,\n heading: heading && (\n <Msdyn365.Text\n className={`${this.moduleClassName}__heading`}\n {...heading}\n editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n />\n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n CustomerBalances\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps<IAccountCustomerBalanceData> {\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<IAccountCustomerBalanceProps<IAccountCustomerBalanceData>>}\n */\nclass AccountCustomerBalance extends React.PureComponent<\n IAccountCustomerBalanceProps<IAccountCustomerBalanceData>,\n IAccountCustomerBalanceState\n> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly requestStatementButtonRef: React.RefObject<HTMLButtonElement> = React.createRef<HTMLButtonElement>();\n\n @computed get canSubmitStatementRequest(): boolean {\n return this.state.statementRequestFromDateString !== '' && this.state.statementRequestToDateString !== '';\n }\n\n constructor(props: IAccountCustomerBalanceProps<IAccountCustomerBalanceData>) {\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 <AdminRequestStatementButton\n buttonReference={this.requestStatementButtonRef}\n className='ms-account-customer-balance'\n onRequestStatement={this._adminShowRequestStatementModal}\n requestStatementButtonLabel={requestStatementButtonLabel}\n onToggleDropdown={this._toggleDropdown}\n myUserAccountLabel={myAccountStatementLabel}\n fullOrganizationLabel={fullOrganizationLabel}\n isDropdownShowing={this.state.isStatementRequestAdminDropdownOpen}\n />\n ) : (\n isB2BSite && (\n <ActionBar\n buttonReference={this.requestStatementButtonRef}\n className='ms-account-customer-balance'\n onRequestStatement={this._showRequestStatementModal}\n requestStatementButtonLabel={requestStatementButtonLabel}\n />\n )\n );\n\n const viewProps = {\n ...this.props,\n heading: <Heading text={heading.text} tag={heading.tag} />,\n accountSectionHeading: (\n <Heading tag={HeadingTag.h3} text={accountSectionHeading} className='ms-account-customer-balance__account-heading' />\n ),\n accountLabels: (\n <AccountLabels name={name} accountNumber={accountNumber} createdOn={createdOn} customerSincePrefix={customerSincePrefix} />\n ),\n accountValues: <AccountValues availableCredit={availableCredit} availableCreditLabel={availableCreditLabel} />,\n creditSummarySectionHeading: (\n <Heading\n tag={HeadingTag.h3}\n text={creditSummarySectionHeading}\n className='ms-account-customer-balance__credit-summary-heading'\n />\n ),\n availableCredit: <AvailableCreditComponent availableCreditLabel={availableCreditLabel} availableCredit={availableCredit} />,\n balanceOwed: <BalanceOwedComponent balanceOwedLabel={balanceOwedLabel} balanceOwed={balanceOwed} />,\n creditExcess: <CreditExcessComponent creditExcessLabel={creditExcessLabel} creditExcess={creditExcess} />,\n homeButton: <BackButton label={backToShoppingText} link={backLink} telemetryContent={this.telemetryContent} />,\n actions: actionBar,\n requestStatementModal: isB2BSite && (\n <RequestStatementModal\n email={emailAddress}\n isModalOpen={isStatementRequestModalOpen}\n toggle={this._toggleModal}\n fromDateString={statementRequestFromDateString}\n toDateString={statementRequestToDateString}\n onChangeFromDate={this._updateFromDate}\n onChangeToDate={this._updateToDate}\n canSubmitRequest={this.canSubmitStatementRequest}\n modalHeaderLabel={modalHeaderLabel}\n sendToEmailLabel={sendToEmailLabel}\n fromDateLabel={fromDateLabel}\n toDateLabel={toDateLabel}\n submitRequestLabel={submitRequestLabel}\n cancelLabel={cancelLabel}\n onSubmitRequest={this._requestStatement}\n className='ms-account-customer-balance'\n selectedUser=''\n selectedUserLabel=''\n modalAriaLabel={modalAriaLabel}\n maxDateString={statementRequestMaxDateString}\n />\n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.requestStatementButtonRef.current?.focus();\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n\n this.requestStatementButtonRef.current?.focus();\n };\n}\n\nexport default AccountCustomerBalance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC<IAccountInvoiceTileDescription> = ({ description }) => (\n <p className='ms-account-invoice-tile__description'>{description}</p>\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<IAccountInvoiceTileLinks> = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n <div className='ms-account-invoice-tile__links'>\n {editableLinks && editableLinks.length > 0 ? (\n <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n ) : null}\n </div>\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<IAccountInvoiceTileData> {\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<IAccountInvoiceTileProps<IAccountInvoiceTileData>>}\n */\nclass AccountInvoiceTile extends React.PureComponent<IAccountInvoiceTileProps<IAccountInvoiceTileData>> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps<IAccountInvoiceTileData>) {\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 <Msdyn365.Text\n className='ms-account-invoice-tile__heading'\n tag={heading.tag || 'h2'}\n text={heading.text}\n editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n />\n ),\n links: links && links.length > 0 && (\n <LinksComponent\n {...{\n links,\n onTextChange: this.handleLinkTextChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n }}\n />\n ),\n description: description && <AccountInvoiceTileDescription 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 { 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<HTMLButtonElement>;\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<HTMLButtonElement>;\n promoteToSellerLabel?: string;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n onPromoteToSeller?(): void;\n}\n\nexport const ActionBar: React.FC<IAccountCustomerBalanceActions> = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n buttonReference\n}) => {\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef<HTMLButtonElement>();\n return (\n <div className={className}>\n <Button className={`${className}__action__requestStatement`} innerRef={popoverReference} onClick={onRequestStatement}>\n {requestStatementButtonLabel}\n </Button>\n </div>\n );\n};\n\nexport const AdminRequestStatementButton: React.FC<IAdminRequestStatementProps> = ({\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<HTMLButtonElement>();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n <div className={`${className}__dropdown`}>\n <Button\n className={\n isDropdownShowing\n ? `${className}__action__requestStatement__toggleUp`\n : `${className}__action__requestStatement__toggleDown`\n }\n onClick={onToggleDropdown}\n innerRef={popoverReference}\n aria-haspopup='true'\n aria-expanded={isDropdownShowing}\n id={requestStatementDropdownString}\n >\n <span className={`${className}__action__requestStatement__buttonLabel`}>{requestStatementButtonLabel}</span>\n </Button>\n <Popover\n aria-labelledby={requestStatementDropdownString}\n className={`${className}__action__requestStatement__dropdownVisible`}\n isOpen={isDropdownShowing}\n placement='bottom'\n target={popoverReference}\n toggle={onToggleDropdown}\n role='listbox'\n aria-hidden={!isDropdownShowing}\n >\n <Button\n onClick={onSelectCustomerAccount}\n className={`${className}__action__requestStatement__dropdownOption`}\n role='option'\n >\n {myUserAccountLabel}\n </Button>\n <Button onClick={onSelectFullOrg} className={`${className}__action__requestStatement__dropdownOption`} role='option'>\n {fullOrganizationLabel}\n </Button>\n {promoteToSellerLabel && (\n <Button\n onClick={onSelectPromoteToSeller}\n className={`${className}__action__requestStatement__dropdownOption`}\n role='option'\n >\n {promoteToSellerLabel}\n </Button>\n )}\n </Popover>\n </div>\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<IAccountStatementRequestModalProps> = ({\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<HTMLInputElement>) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n },\n [onChangeFromDate]\n );\n\n const onChangeToDateEvent = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\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<HTMLInputElement>) => {\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<HTMLInputElement>) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n },\n [toDateString]\n );\n\n return (\n <Modal\n className='msc-modal-input-required'\n isOpen={isModalOpen}\n horizontalPosition='center'\n verticalPosition='center'\n autoFocus\n fade={false}\n toggle={toggle}\n aria-label={modalAriaLabel}\n >\n <ModalHeader toggle={toggle}>{modalHeaderLabel}</ModalHeader>\n <ModalBody>\n {selectedUser && (\n <div>\n <label className={`${className}__subheaderFormat`}>{selectedUserLabel}</label>\n <br />\n <div className={`${className}__selectedUser`}>{selectedUser}</div>\n </div>\n )}\n <label htmlFor='sendToEmail' className={`${className}__subheaderFormat`}>\n {sendToEmailLabel}\n </label>\n <div id='sendToEmail' className={`${className}__sendToEmail`}>\n {email}\n </div>\n <div>\n <div className={`${className}__requestStatement__fromDate`}>\n <label htmlFor='fromDateSelector'>{fromDateLabel}</label>\n <input\n id='fromDateSelector'\n type='date'\n value={fromDateString}\n onBlur={onBlurFromDate}\n onChange={onChangeFromDateEvent}\n max={toDateString ? toDateString : maxDateString}\n className={`${className}__dateSelector form-control`}\n />\n </div>\n <div className={`${className}__requestStatement__toDate`}>\n <label htmlFor='toDateSelector'>{toDateLabel}</label>\n <input\n id='toDateSelector'\n type='date'\n value={toDateString}\n onBlur={onBlurToDate}\n onChange={onChangeToDateEvent}\n min={fromDateString}\n max={maxDateString}\n className={`${className}__dateSelector form-control`}\n />\n </div>\n </div>\n </ModalBody>\n <ModalFooter>\n <button\n className={`${className}__action__submitRequest`}\n onClick={onSubmitRequest}\n disabled={!canSubmitRequest}\n aria-disabled={!canSubmitRequest}\n >\n {submitRequestLabel}\n </button>\n {` `}\n <button className={`${className}__action__cancelRequest`} onClick={toggle}>\n {cancelLabel}\n </button>\n </ModalFooter>\n </Modal>\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<IAccountLabel> = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n <div className='ms-account-customer-balance__account__details'>\n <h4>{name}</h4>\n <div className='ms-account-customer-balance__account-number'>#{accountNumber}</div>\n <div className='ms-account-customer-balance__created-on'>\n {customerSincePrefix} {createdOn}\n </div>\n </div>\n);\n\nexport const AccountValues: React.FC<IAccountValues> = ({ availableCredit, availableCreditLabel }) => (\n <div className='ms-account-customer-balance__account__credit'>\n <div className='ms-account-customer-balance__available-credit-label'>{availableCreditLabel}</div>\n <div className='ms-account-customer-balance__available-credit-amount'>{availableCredit}</div>\n </div>\n);\n\nexport const CreditSummaryLabels: React.FC<ICreditSummaryLabel> = ({ availableCredit, balanceOwed, creditExcess }) => (\n <div className='ms-account-customer-balance__credit-summary__labels'>\n <div className='ms-account-customer-balance__available-credit-label'>{availableCredit}</div>\n <div className='ms-account-customer-balance__balance-owed-label'>{balanceOwed}</div>\n <div className='ms-account-customer-balance__credit-excess-label'>{creditExcess}</div>\n </div>\n);\n\nexport const CreditSummaryValues: React.FC<ICreditSummaryValues> = ({ availableCredit, balanceOwed, creditExcess }) => (\n <div className='ms-account-customer-balance__credit-summary__values'>\n <div className='ms-account-customer-balance__available-credit-label'>{availableCredit}</div>\n <div className='ms-account-customer-balance__balance-owed-label'>{balanceOwed}</div>\n {creditExcess && <div className='ms-account-customer-balance__excess-credit-label'>{creditExcess}</div>}\n </div>\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<ICreditSummaryAvailableCredit> = ({ availableCreditLabel, availableCredit }) => (\n <div className='ms-account-customer-balance__credit-summary__wrapper'>\n <div className='ms-account-customer-balance__credit-summary__labels'>\n <div className='ms-account-customer-balance__available-credit-label'>{availableCreditLabel}</div>\n </div>\n <div className='ms-account-customer-balance__credit-summary__values'>\n <div className='ms-account-customer-balance__available-credit-label'>{availableCredit}</div>\n </div>\n </div>\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<ICreditSummaryBalanceOwed> = ({ balanceOwedLabel, balanceOwed }) => (\n <div className='ms-account-customer-balance__credit-summary__wrapper'>\n <div className='ms-account-customer-balance__credit-summary__labels'>\n <div className='ms-account-customer-balance__balance-owed-label'>{balanceOwedLabel}</div>\n </div>\n <div className='ms-account-customer-balance__credit-summary__values'>\n <div className='ms-account-customer-balance__balance-owed-label'>{balanceOwed}</div>\n </div>\n </div>\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<ICreditSummaryCreditExcess> = ({ creditExcessLabel, creditExcess }) => (\n <div className='ms-account-customer-balance__credit-summary__wrapper'>\n {creditExcess && (\n <div className='ms-account-customer-balance__credit-summary__labels'>\n <div className='ms-account-customer-balance__credit-excess-label'>{creditExcessLabel}</div>\n </div>\n )}\n <div className='ms-account-customer-balance__credit-summary__values'>\n {creditExcess && <div className='ms-account-customer-balance__excess-credit-label'>{creditExcess}</div>}\n </div>\n </div>\n);\nexport const BackButton: React.FC<IBackButton> = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n <a className='ms-account-loyalty__home-link msc-btn' href={link} {...attributes}>\n {label}\n </a>\n );\n};\n\nexport { AdminRequestStatementButton, RequestStatementModal };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC<IAccountAddressTileDescription> = ({ description }) => (\n <p className='ms-account-address-tile__description'>{description}</p>\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<IAccountAddressTileLinks> = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\n return (\n <div className='ms-account-address-tile__links'>\n {editableLinks && editableLinks.length > 0 ? (\n <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n ) : null}\n </div>\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"],"names":["AccountAddressTile","React","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleLinkTextChange","linkIndex","links","linkText","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","resources","data","className","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","result","length","accountAddressTileDescription","description","format","viewProps","_objectSpread","moduleProps","classnames","Msdyn365","tag","editProps","onEdit","requestContext","LinksComponent","Object","assign","onTextChange","DescriptionComponent","renderView","_ref","_mapEditableLinks","linkdata","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountWishlistTile","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","defaultClassName","B2bRequestsTileLinks","ArrayExtensions","hasElements","map","B2bRequestsTile","isChannelTypeB2B","actionContext","b2bRequestsTile","Module","AadGeneric","moduleClassName","componentDidMount","$i2e","$element","window","insertServiceContent","getElementContent","initialize","shouldComponentUpdate","nextProps","aadGeneric","aadConainer","aadAPIConainer","id","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","undefined","error","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","customerSincePrefix","availableCreditLabel","balanceOwedLabel","creditExcessLabel","requestStatementButtonLabel","modalHeaderLabel","sendToEmailLabel","fromDateLabel","toDateLabel","submitRequestLabel","cancelLabel","myAccountStatementLabel","fullOrganizationLabel","modalAriaLabel","accountNumber","AccountNumber","createdOn","_formatJoinDate","CreatedDateTime","name","FirstName","LastName","customerCredit","customerAccountBalance","excess","InvoiceAccountCreditLimit","CreditLimit","Balance","InvoiceAccountBalance","creditExcess","_formatCurrency","availableCredit","balanceOwed","backLink","emailAddress","isB2BSite","actionBar","IsB2bAdmin","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","ActionBar","Heading","accountLabels","AccountLabels","accountValues","AccountValues","AvailableCreditComponent","BalanceOwedComponent","CreditExcessComponent","homeButton","BackButton","label","actions","requestStatementModal","RequestStatementModal","email","isModalOpen","toggle","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","canSubmitStatementRequest","onSubmitRequest","selectedUser","selectedUserLabel","maxDateString","currency","currencyCode","formatCurrency","toFixed","date","Intl","DateTimeFormat","locale","month","day","year","__decorate","computed","AccountInvoiceTileDescription","AccountInvoiceTile","_data$customerBalance","cultureFormatter","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","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","htmlFor","type","onBlur","onChange","max","min","ModalFooter","disabled","_ref5","_ref6","_ref7","_ref8","TelemetryConstant","BackToShopping","href"],"sourceRoot":""}