{"version":3,"file":"static/js/13.870bed63ccd4338f7963.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/nos-subscription-details/enums/invoice-status-enum.ts?3dba","webpack://Msdyn365.Commerce.Online/./src/modules/nos-subscription-details/enums/invoice-period-enum.ts?e08d","webpack://Msdyn365.Commerce.Online/./src/modules/nos-subscription-details/utils/nos-subscription-details.utils.ts?0cdc","webpack://Msdyn365.Commerce.Online/./src/modules/nos-subscription-details/nos-subscription-details.tsx?e338","webpack://Msdyn365.Commerce.Online/./src/modules/nos-subscription-details/nos-subscription-details.view.tsx?1c2e","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/buybox.view.tsx?3610","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/checkout-billing-address.view.tsx?f61a","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/components/carticon.component.tsx?696d","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/components/search.empty.tsx?8480","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/components/search.form.tsx?3aa8","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/components/search.productsuggest.tsx?dbc1","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/search.view.tsx?8e08","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.tsx?78b1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["export enum InvoiceStatus {\r\n UNPAID = 0,\r\n PAID = 1\r\n}\r\n","export enum InvoicePeriod {\r\n ONETIME = 0,\r\n DAILY = 1,\r\n MONTHLY = 2,\r\n QUARTALY = 3,\r\n SEMIANNUALLY = 4,\r\n ANNULALY = 5\r\n}\r\n","import { InvoiceStatus } from '../enums/invoice-status-enum';\r\nimport { SubscriptionStatus } from '../enums/subscription-status-enum';\r\nimport { INosSubscriptionDetailsResources } from '../nos-subscription-details.props.autogenerated';\r\nimport { ICoreContext, IDateFormatOptions } from '@msdyn365-commerce/core';\r\nimport { InvoicePeriod } from '../enums/invoice-period-enum';\r\n\r\nexport const getSubscriptionStatus = (resources: INosSubscriptionDetailsResources, status?: number) => {\r\n switch (status) {\r\n case SubscriptionStatus.ACTIVE:\r\n return resources.active;\r\n case SubscriptionStatus.ARCHIVED:\r\n return resources.archived;\r\n case SubscriptionStatus.LASTBILLING:\r\n return resources.lastBilling;\r\n case SubscriptionStatus.ONHOLD:\r\n return resources.onHold;\r\n case SubscriptionStatus.TERMINATED:\r\n return resources.terminated;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const getInvoiceStatus = (resources: INosSubscriptionDetailsResources, status?: number) => {\r\n switch (status) {\r\n case InvoiceStatus.UNPAID:\r\n return resources.unpaid;\r\n case InvoiceStatus.PAID:\r\n return resources.paid;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const getInvoiceFrequency = (resources: INosSubscriptionDetailsResources, period?: number) => {\r\n switch (period) {\r\n case InvoicePeriod.ONETIME:\r\n return resources.oneTime;\r\n case InvoicePeriod.DAILY:\r\n return resources.daily;\r\n case InvoicePeriod.MONTHLY:\r\n return resources.monthly;\r\n case InvoicePeriod.QUARTALY:\r\n return resources.quartaly;\r\n case InvoicePeriod.SEMIANNUALLY:\r\n return resources.semianually;\r\n case InvoicePeriod.ANNULALY:\r\n return resources.annually;\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\n/**\r\n * Formats date.\r\n * @param context - Core context.\r\n * @param date - Date to display.\r\n * @returns String value.\r\n */\r\nexport const formatDate = (context: ICoreContext, date: Date | undefined) => {\r\n if (date === undefined) {\r\n return '';\r\n }\r\n\r\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\r\n return context.cultureFormatter.formatDate(date, dateOptions);\r\n};\r\n\r\n/**\r\n * Get the formatted currency.\r\n * @param props - The props.\r\n * @param price - The price.\r\n * @param shouldUseFreePriceText - The shouldUseFreePriceText.\r\n * @returns The formatted currency.\r\n */\r\nexport const formatCurrency = (props: any, currency: string | undefined, price: number | undefined): string => {\r\n if (price === undefined) {\r\n return '';\r\n }\r\n\r\n return props?.context?.cultureFormatter?.formatCurrency(price, currency);\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport classnames from 'classnames';\r\n\r\nimport { INosSubscriptionDetailsData } from './nos-subscription-details.data';\r\nimport { INosSubscriptionDetailsProps, INosSubscriptionDetailsResources } from './nos-subscription-details.props.autogenerated';\r\nimport { Module, Node, IModuleProps, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\nimport getSubscriptionDetailsAction, {\r\n GetSubscriptionDetailsInput,\r\n IGetSubscriptionDetailsData\r\n} from '../../actions/get-subscription-details.action';\r\nimport {\r\n formatCurrency,\r\n formatDate,\r\n getInvoiceFrequency,\r\n getInvoiceStatus,\r\n getSubscriptionStatus\r\n} from './utils/nos-subscription-details.utils';\r\nimport cancelSubscriptionAction, { CancelSubscriptionInput } from '../../actions/cancel-subscription.action';\r\nimport Button from 'reactstrap/lib/Button';\r\nimport changeCustomerReferenceAction, { ChangeCustomerReferenceInput } from '../../actions/change-customer-reference.action';\r\n\r\nexport interface INosSubscriptionDetailsViewProps extends INosSubscriptionDetailsProps {\r\n content: INodeProps;\r\n heading: INodeProps;\r\n billingAddress: INodeProps;\r\n contactInformation: INodeProps;\r\n relatedInvoices: INodeProps;\r\n subscriptionTotals: INodeProps;\r\n className?: string;\r\n}\r\n\r\nexport interface INosSubscriptionDetailsExtendedProps extends INosSubscriptionDetailsProps {}\r\n\r\n/**\r\n * Interface for INosSubscriptionDetailsState.\r\n */\r\nexport interface INosSubscriptionDetailsState {\r\n editCustomerReference: boolean;\r\n isCanceled: boolean;\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData;\r\n isModalOpen: boolean;\r\n customerReferenceState: string;\r\n}\r\n\r\n/**\r\n *\r\n * NosSubscriptionDetails component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass NosSubscriptionDetails extends React.PureComponent<\r\n INosSubscriptionDetailsProps,\r\n INosSubscriptionDetailsState\r\n> {\r\n private readonly customerReferenceRef: React.RefObject;\r\n\r\n public constructor(props: INosSubscriptionDetailsExtendedProps) {\r\n super(props);\r\n\r\n this.state = {\r\n editCustomerReference: false,\r\n customerReferenceState: '',\r\n isCanceled: false,\r\n subscriptionDetailsData: undefined,\r\n isModalOpen: false\r\n };\r\n\r\n this.customerReferenceRef = React.createRef();\r\n }\r\n\r\n private _initialize = async () => {\r\n const actionInput = new GetSubscriptionDetailsInput();\r\n\r\n await getSubscriptionDetailsAction(actionInput, this.props.context.actionContext).then(res => {\r\n this.setState({ subscriptionDetailsData: res });\r\n this.setState({ customerReferenceState: res.CustomerReference });\r\n this.setState({ editCustomerReference: false });\r\n });\r\n };\r\n\r\n public componentDidMount(): void {\r\n if (this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n // Initializing data props\r\n void this._initialize();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: INosSubscriptionDetailsExtendedProps, nextState: INosSubscriptionDetailsState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\r\n\r\n public render(): JSX.Element | null {\r\n const { resources, context } = this.props;\r\n\r\n const modalContainer = {\r\n moduleProps: this.props,\r\n tag: Modal,\r\n className: 'nos-subscription-details__dialog',\r\n isOpen: true,\r\n 'aria-label': 'subscription-cancel',\r\n toggle: this.closeModal,\r\n modalTransition: { timeout: 0 },\r\n shouldUpdateFocusToFirstElement: true\r\n };\r\n\r\n const modalHeaderContainer = {\r\n tag: ModalHeader,\r\n className: 'nos-subscription-details_modal-header',\r\n toggle: this.closeModal,\r\n closeButtonTabIndex: 1\r\n };\r\n\r\n const modalFooterContainer = { tag: ModalFooter, className: 'nos-subscription-details__modal-footer' };\r\n\r\n const modalBodyContainer = { tag: ModalBody, className: 'nos-subscription-details__modal-body' };\r\n\r\n const viewProps = {\r\n ...this.props,\r\n heading: this.props.config.heading && (\r\n \r\n ),\r\n className: classnames('nos-subscription-details', this.props.config.className),\r\n content: this._renderContent(\r\n resources,\r\n context,\r\n modalContainer,\r\n modalHeaderContainer,\r\n modalFooterContainer,\r\n modalBodyContainer,\r\n this.state.subscriptionDetailsData\r\n ),\r\n billingAddress: this._renderBillingAddress(resources, this.state.subscriptionDetailsData),\r\n contactInformation: this._renderContactInformation(resources, this.state.subscriptionDetailsData),\r\n relatedInvoices: this._renderRelatedInvoices(resources, context, this.state.subscriptionDetailsData),\r\n subscriptionTotals: this._renderSubscriptionTotals(resources, this.state.subscriptionDetailsData)\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _renderContent = (\r\n resources: INosSubscriptionDetailsResources,\r\n context: any,\r\n modalContainer: IModuleProps,\r\n modalHeaderContainer: INodeProps,\r\n modalFooterContainer: INodeProps,\r\n modalBodyContainer: INodeProps,\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData\r\n ) => {\r\n const editCustomerReference = (this.state && this.state.editCustomerReference) || false;\r\n const cancel = () => {\r\n this.setState({ editCustomerReference: false });\r\n this.setState({ customerReferenceState: this.state.subscriptionDetailsData?.CustomerReference || '' });\r\n };\r\n const handlePaymentClick = () => {\r\n window.open(subscriptionDetailsData?.PaymentLinkUrl, '_blank');\r\n };\r\n return (\r\n <>\r\n {subscriptionDetailsData?.ScheduleNumber}\r\n
\r\n
{resources.subDetailsStatus}
\r\n
\r\n {getSubscriptionStatus(resources, subscriptionDetailsData?.Status)}\r\n {subscriptionDetailsData?.PaymentFailed && ` : ${resources.subDetailsPaymentFailed}`}\r\n {subscriptionDetailsData?.PaymentFailed && (\r\n handlePaymentClick()}\r\n title={resources.subDetailsPaymentLinkText}\r\n >\r\n {resources.subDetailsPaymentLinkText}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
{resources.subDetailsStartDate}
\r\n
\r\n {subscriptionDetailsData?.StartDate ? formatDate(context, new Date(subscriptionDetailsData.StartDate)) : '-'}\r\n
\r\n
\r\n
\r\n
{resources.subDetailsNextPaymentDate}
\r\n
\r\n {subscriptionDetailsData?.NextPaymentDate\r\n ? formatDate(context, new Date(subscriptionDetailsData.NextPaymentDate))\r\n : '-'}\r\n
\r\n
\r\n {subscriptionDetailsData?.PaymentMethod && (\r\n
\r\n
{resources.subDetailsPaymentMethod}
\r\n
\r\n {subscriptionDetailsData.PaymentMethod}\r\n {subscriptionDetailsData.CreditCardNumber && (\r\n <>\r\n , {subscriptionDetailsData.CreditCardTypeName} {resources.endingWith}{' '}\r\n {subscriptionDetailsData.CreditCardNumber}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n {subscriptionDetailsData && !editCustomerReference && (\r\n
\r\n
{resources.subDetailsCustomerReference}
\r\n
\r\n {subscriptionDetailsData.CustomerReference ? subscriptionDetailsData.CustomerReference : '-'}\r\n this.setState({ editCustomerReference: true })}\r\n title={resources.editButtonText}\r\n >\r\n {resources.editButtonText}\r\n \r\n
\r\n
\r\n )}\r\n {subscriptionDetailsData && editCustomerReference && (\r\n
\r\n
{resources.subDetailsCustomerReference}
\r\n
\r\n this.setState({ customerReferenceState: e.target.value })}\r\n disabled={!editCustomerReference}\r\n ref={this.customerReferenceRef}\r\n />\r\n \r\n {resources.saveBtnLabel}\r\n \r\n \r\n {resources.cancelBtnLabel}\r\n \r\n
\r\n
\r\n )}\r\n {subscriptionDetailsData?.Status === 0 && (\r\n
\r\n
{resources.subDetailsAction}
\r\n
\r\n this.openModal()}\r\n className='ms-button__secondary-light'\r\n >\r\n {resources.subDetailsCancelSubscription}\r\n \r\n {this.state.isModalOpen && (\r\n \r\n {resources.subDetailsCancelSubscription}\r\n \r\n

{resources.cancelText}

\r\n
\r\n \r\n \r\n this.cancelSubscription(subscriptionDetailsData)}\r\n className='ms-button__primary-light'\r\n >\r\n {this.state.isCanceled ? (\r\n {resources.loadingMessage}\r\n ) : (\r\n resources.toggleEnableText\r\n )}\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Initiate close modal.\r\n */\r\n private readonly closeModal = (): void => {\r\n this.setState({\r\n isModalOpen: false\r\n });\r\n };\r\n\r\n /**\r\n * Initiate open modal.\r\n */\r\n private readonly openModal = (): void => {\r\n this.setState({\r\n isModalOpen: true\r\n });\r\n };\r\n\r\n private cancelSubscription = async (subscriptionDetailsData?: IGetSubscriptionDetailsData) => {\r\n if (subscriptionDetailsData) {\r\n const actionInput = new CancelSubscriptionInput(subscriptionDetailsData.LineNum, subscriptionDetailsData.ScheduleNumber);\r\n this.setState({ isCanceled: true });\r\n await cancelSubscriptionAction(actionInput, this.props.context.actionContext).then(res => {\r\n if (res?.response?.value) {\r\n void this._initialize();\r\n }\r\n });\r\n }\r\n };\r\n\r\n private changeCustomerReference = async () => {\r\n const input = this.customerReferenceRef.current;\r\n const value = input?.value || '';\r\n const scheduleNumber = this.state.subscriptionDetailsData?.ScheduleNumber || '';\r\n const changeCustomerReferenceInput = new ChangeCustomerReferenceInput(scheduleNumber, value);\r\n await changeCustomerReferenceAction(changeCustomerReferenceInput, this.props.context.actionContext).then(res => {\r\n if (res?.response?.value) {\r\n void this._initialize();\r\n }\r\n });\r\n };\r\n\r\n private _renderSubscriptionTotals = (\r\n resources: INosSubscriptionDetailsResources,\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData\r\n ) => {\r\n return (\r\n \r\n

{resources.subDetailsSubscriptionTotals}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{resources.subDetailsHeaderProduct}{resources.subDetailsHeaderQuantity}{resources.subDetailsHeaderTotal}
{subscriptionDetailsData?.SubscriptionLineTotals?.ItemName}{subscriptionDetailsData?.SubscriptionLineTotals?.Quantity}{resources.subDetailsHeaderSubTotal}\r\n {formatCurrency(\r\n this.props,\r\n subscriptionDetailsData?.SubscriptionLineTotals?.CurrencyCode,\r\n Number(subscriptionDetailsData?.SubscriptionLineTotals?.SubTotalAmount)\r\n )}{' '}\r\n / {getInvoiceFrequency(resources, subscriptionDetailsData?.SubscriptionLineTotals?.Frequency)}\r\n
\r\n {resources.subDetailsVatHeaderPercent} {subscriptionDetailsData?.SubscriptionLineTotals?.VATPercantage}\r\n \r\n {formatCurrency(\r\n this.props,\r\n subscriptionDetailsData?.SubscriptionLineTotals?.CurrencyCode,\r\n Number(subscriptionDetailsData?.SubscriptionLineTotals?.VATAmount)\r\n )}\r\n
\r\n {resources.subDetailsHeaderTotal}\r\n \r\n \r\n {formatCurrency(\r\n this.props,\r\n subscriptionDetailsData?.SubscriptionLineTotals?.CurrencyCode,\r\n Number(subscriptionDetailsData?.SubscriptionLineTotals?.TotalAmount)\r\n )}{' '}\r\n / {getInvoiceFrequency(resources, subscriptionDetailsData?.SubscriptionLineTotals?.Frequency)}\r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n private _renderBillingAddress = (\r\n resources: INosSubscriptionDetailsResources,\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData\r\n ) => {\r\n return (\r\n \r\n

{resources.subDetailsHeaderBillingAddress}

\r\n
{subscriptionDetailsData?.SubscriptionAddressBillTo?.Name}
\r\n
\r\n \r\n );\r\n };\r\n\r\n private _renderContactInformation = (\r\n resources: INosSubscriptionDetailsResources,\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData\r\n ) => {\r\n return (\r\n \r\n

{resources.subDetailsHeaderContact}

\r\n
\r\n {subscriptionDetailsData?.ContactGivenName} {subscriptionDetailsData?.ContactSurname}\r\n
\r\n
{subscriptionDetailsData?.ContactEmailAddress}
\r\n
\r\n );\r\n };\r\n\r\n private _renderRelatedInvoices = (\r\n resources: INosSubscriptionDetailsResources,\r\n context: any,\r\n subscriptionDetailsData?: IGetSubscriptionDetailsData\r\n ) => {\r\n return (\r\n \r\n

{resources.subDetailsRelatedInvoices}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {subscriptionDetailsData?.SubscriptionRelatedInvoices?.map(el => {\r\n if (el.InvoiceId && el.InvoiceId !== '') {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return undefined;\r\n }\r\n })}\r\n \r\n
{resources.subDetailsHeaderId}{resources.subDetailsHeaderDate}{resources.subDetailsStatus}{resources.subDetailsHeaderTotal}
{el.InvoiceId}{el.InvoiceDate && formatDate(context, new Date(el.InvoiceDate))}{getInvoiceStatus(resources, el.InvoicePaymentStatus)}\r\n \r\n {el.InvoiceTotalAmount\r\n ? formatCurrency(this.props, el.InvoiceCurrencyCode, Number(el.InvoiceTotalAmount))\r\n : '-'}\r\n \r\n
\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default NosSubscriptionDetails;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { INosSubscriptionDetailsViewProps } from './nos-subscription-details';\r\n\r\nexport default (props: INosSubscriptionDetailsViewProps) => {\r\n const { content, billingAddress, contactInformation, relatedInvoices, subscriptionTotals, heading, className } = props;\r\n\r\n return (\r\n
\r\n {heading}\r\n
{content}
\r\n
{subscriptionTotals}
\r\n
{relatedInvoices}
\r\n
\r\n
\r\n
{billingAddress}
\r\n
\r\n
\r\n
{contactInformation}
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport * as React from 'react';\r\nimport { ICreateActionContext, TelemetryEvent } from '@msdyn365-commerce/core';\r\nimport { IncrementalQuantity, Module, Node, ITelemetryContent, getTelemetryAttributes, getPayloadObject, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport { IBuyboxData, IBuyboxResources as IBuyboxExtentionResources } from '@msdyn365-commerce-modules/buybox';\r\nimport {\r\n\tIBuyboxAddToCartViewProps,\r\n\tIBuyboxCallbacks,\r\n\tIBuyboxKeyInPriceViewProps,\r\n\tIBuyboxProductConfigureDropdownViewProps,\r\n\tIBuyboxProductConfigureViewProps,\r\n\tIBuyboxProductQuantityViewProps,\r\n\tIBuyboxState\r\n} from '@msdyn365-commerce-modules/buybox/src/modules/buybox/../../common';\r\nimport { IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./buybox';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IBuyboxExtensionData } from './buybox.data';\r\nimport { IBuyboxProps as IBuyboxExtentionProps, IBuyboxProps } from '../definition-extensions/buybox.ext.props.autogenerated';\r\nimport getPriceAction, { GetGraduatedPriceInput } from '../../../actions/get-graduated-price.action';\r\n\r\n// TODO: use correct \"React way\" instead of hacky/ugly quick solution\r\nconst _fetchGraduatedPrice = async (newValue: number, state: IBuyboxState, props: IBuyboxProps) => {\r\n\tconst productId = state.productPrice?.ProductId || 0;\r\n\tconst catalogId = state.productPrice?.CatalogId || 0;\r\n\tconst actionInput = new GetGraduatedPriceInput(newValue, productId, catalogId);\r\n\r\n\tawait getPriceAction(actionInput, props.context.actionContext).then(res => {\r\n\t\tconst priceElements = document.querySelectorAll('.msc-price__actual');\r\n\t\tpriceElements.forEach(item => item.innerHTML = props.context.cultureFormatter.formatCurrency(res.ProductPrice));\r\n\t});\r\n};\r\n\r\n/**\r\n * On Change function.\r\n * @param callbacks -Callbacks.\r\n * @returns Update quantity.\r\n */\r\nconst onChangeHandler = (callbacks: IBuyboxCallbacks, context: ICreateActionContext, state: IBuyboxState, props: any) => (newValue: number): boolean => {\r\n\tif (callbacks.updateQuantity) {\r\n\r\n\t\t// Call API only if user isAuthenticated optherwise the request will fail\r\n\t\tif (context.requestContext.user.isAuthenticated) {\r\n\t\t\t// Fetch from custom API endpoint to get graduated price\r\n\t\t\t_fetchGraduatedPrice(newValue, state, props);\r\n\t\t}\r\n\r\n\t\treturn callbacks.updateQuantity(newValue);\r\n\t}\r\n\treturn true;\r\n};\r\n\r\n/**\r\n * RenderQuantity.\r\n * @param quantityComponent - QuantityComponent.\r\n * @param callbacks - Callbacks.\r\n * @param props - Props.\r\n * @param state - State.\r\n * @param extentionResources - ExtentionResources.\r\n * @param quantityLimitsMessages - QuantityLimitsMessages.\r\n * @param max - Max.\r\n * @param telemetryContent - TelemetryContent.\r\n * @param unitOfMeasure - Unit Of Measure.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuantity = (\r\n\tquantityComponent: IBuyboxProductQuantityViewProps,\r\n\tcallbacks: IBuyboxCallbacks,\r\n\tprops: IBuyboxProps,\r\n\tstate: IBuyboxState,\r\n\textentionResources: IBuyboxExtentionResources,\r\n\tquantityLimitsMessages: React.ReactNode,\r\n\r\n\t// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n\tmax: number | undefined,\r\n\ttelemetryContent?: ITelemetryContent,\r\n\tunitOfMeasure?: React.ReactNode\r\n): JSX.Element => {\r\n\t// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n\tconst { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\r\n\tconst { resources } = props;\r\n\tconst { quantity } = state;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{heading}\r\n\t\t\t\t{errors}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t{unitOfMeasure}\r\n\t\t\t{quantityLimitsMessages}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst BuyboxView: React.FC> = props => {\r\n\tconst {\r\n\t\tModuleProps,\r\n\t\t// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n\t\tMediaGalleryContainerProps,\r\n\t\t// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n\t\tProductInfoContainerProps,\r\n\t\taddToCart,\r\n\t\tconfigure,\r\n\t\tdescription,\r\n\t\tquantity,\r\n\t\tprice,\r\n\t\ttitle,\r\n\t\tinventoryLabel,\r\n\t\tkeyInPrice,\r\n\t\t// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n\t\tmax,\r\n\t\tunitOfMeasure,\r\n\t\tcallbacks,\r\n\t\tstate,\r\n\t\tresources,\r\n\t\tquantityLimitsMessages,\r\n\t\ttelemetryContent,\r\n\t} = props;\r\n\r\n\tconst [periodValue, setPeriodValue] = React.useState(resources.monthlyPeriodOption);\r\n\tconst period = {\r\n\t\tContainerProps: {},\r\n\t\theading: ,\r\n\t\tfrequencies: (\r\n\t\t\t\r\n\t\t),\r\n\t\tdisableSubscriptionPeriodDropdown: props.config.disableSubscriptionPeriodDropdown\r\n\t};\r\n\tlet skuText: string = props.resources.skuText;\r\n\tskuText += ` ${props.data.product.result?.ItemId}`;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{props.mediaGallery}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t\t{description}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{skuText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{unitOfMeasure}\r\n\t\t\t\t\t\t\t{period && _renderPeriod(period)}\r\n\t\t\t\t\t\t\t{configure && _renderConfigure(configure)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{quantity &&\r\n\t\t\t\t\t\t\t\t\trenderQuantity(\r\n\t\t\t\t\t\t\t\t\t\tquantity,\r\n\t\t\t\t\t\t\t\t\t\tcallbacks,\r\n\t\t\t\t\t\t\t\t\t\tprops,\r\n\t\t\t\t\t\t\t\t\t\tstate,\r\n\t\t\t\t\t\t\t\t\t\tresources,\r\n\t\t\t\t\t\t\t\t\t\tquantityLimitsMessages,\r\n\t\t\t\t\t\t\t\t\t\tmax,\r\n\t\t\t\t\t\t\t\t\t\ttelemetryContent,\r\n\t\t\t\t\t\t\t\t\t\tunitOfMeasure\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{inventoryLabel}\r\n\t\t\t\t\t\t\t{keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n\t\t\t\t\t\t\t{price}\r\n\t\t\t\t\t\t\t{addToCart && _renderAddToCart(addToCart, props)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{_renderTextBlock(props.slots && props.slots.textBlocks)}\r\n\t\t\t\t\t{ArrayExtensions.hasElements(props.slots.productSpecification) ? (\r\n\t\t\t\t\t\t{props.slots.productSpecification[0]}\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\n/**\r\n * RenderTextBlock.\r\n * @param textBlock - textBlock react node array.\r\n * @returns -- Returns.\r\n */\r\nconst _renderTextBlock = (textBlock: React.ReactNode[]): JSX.Element | undefined => {\r\n\tif (!textBlock || textBlock.length === 0) {\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{textBlock && textBlock.length > 0\r\n\t\t\t\t? textBlock.map((textBlock: React.ReactNode, index: number) => {\r\n\t\t\t\t\treturn {textBlock};\r\n\t\t\t\t})\r\n\t\t\t\t: null}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst _renderAddToCart = (addToCart: IBuyboxAddToCartViewProps, props: any): JSX.Element => {\r\n\tconst { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n\tconst payLoad = getPayloadObject('click', props.telemetryContent!, 'business-sign-up', '');\r\n\tconst payload = getPayloadObject(TelemetryEvent.AddToCart, props.telemetryContent!, '', '');\r\n\tconst attributes = getTelemetryAttributes(props.telemetryContent!, payload);\r\n\r\n\tlet businessSignUpUrl;\r\n\tif (props.context.app.routes?.businessPartnerSelection?.destinationUrl) {\r\n\t\tbusinessSignUpUrl = props.context.app.routes.businessPartnerSelection?.destinationUrl;\r\n\t} else {\r\n\t\tbusinessSignUpUrl = props.context.request.url.requestUrl.origin + (props.context.request?.sitePath ?? '');\r\n\t}\r\n\r\n\tconst _registerButton = (\r\n\t\t\r\n\t\t\t{props.resources.registerLinkText}\r\n\t\t\r\n\t);\r\n\r\n\tconst payLoadLink = getPayloadObject('click', props.telemetryContent!, 'sign-in', '');\r\n\r\n\tconst _loginButton = (\r\n\t\t\r\n\t\t\t{props.resources.loginLinkText}\r\n\t\t\r\n\t);\r\n\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorBlock}\r\n\t\t\t{button}\r\n\t\t\t{!props.context.request.user.isAuthenticated && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{_registerButton} { ' | '} {_loginButton}\r\n\t\t\t\t\r\n )}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n\tconst { ContainerProps, dropdowns } = configure;\r\n\r\n\treturn {dropdowns.map(_renderConfigureDropdown)};\r\n};\r\n\r\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{heading}\r\n\t\t\t\t{errors}\r\n\t\t\t\r\n\t\t\t{select}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderPeriod = (period: any): JSX.Element | null => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, frequencies, disableSubscriptionPeriodDropdown } = period;\r\n\tconst isDisableSubscriptionPeriodDropdown = disableSubscriptionPeriodDropdown;\r\n\r\n\tif (isDisableSubscriptionPeriodDropdown) {\r\n\t\treturn null;\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t{heading}\r\n\t\t\t{frequencies}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{heading}\r\n\t\t\t{input}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BuyboxView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps,\r\n IAddressAddItem,\r\n IAddressAddUpdateProps,\r\n ICheckoutBillingAddressViewProps\r\n} from '@msdyn365-commerce-modules/address';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address Heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - IAddressError.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns - AddressForm Node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Checkout Billing Address View Component.\r\n * @param props - Props.\r\n * @returns - CheckoutBillingAddress Module.\r\n */\r\nconst CheckoutBillingAddressView: React.FC = props => {\r\n const { CheckoutBillingAddress, checkoutErrorRef, alert, viewState, showAddress, showAddOrUpdateAddress } = props;\r\n\r\n return (\r\n \r\n {alert}\r\n {viewState.isShowAddress && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutBillingAddressView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { format, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nexport interface ICartIconData {\r\n cart?: ICartState;\r\n}\r\n\r\nexport interface ICartIconComponentProps extends IComponentProps {\r\n className?: string;\r\n cartLabel: string;\r\n cartQtyLabel: string;\r\n telemetryContent?: ITelemetryContent;\r\n}\r\n\r\nexport interface ICartIconComponent extends IComponent {}\r\n\r\nconst CartIconComponentActions = {};\r\n\r\n/**\r\n *\r\n * CartIcon component.\r\n * @extends {React.FC}\r\n */\r\nconst CartIcon: React.FC = observer((props: ICartIconComponentProps) => {\r\n const {\r\n cartLabel,\r\n cartQtyLabel,\r\n data: { cart }\r\n } = props;\r\n\r\n // If there are invoice lines, don't update mini cart item quantity\r\n const cartItem = cart ? cart.totalItemsInCart : 0;\r\n const qtyLabel = format(cartQtyLabel, cartItem);\r\n const label = format(cartLabel, cartItem);\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, 'cart-icon', '');\r\n const attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const style: React.CSSProperties = {\r\n visibility: cart ? 'visible' : 'hidden'\r\n };\r\n return (\r\n \r\n {props.context.request.user.isAuthenticated && (\r\n
\r\n {qtyLabel}\r\n
\r\n )}\r\n
\r\n );\r\n});\r\n\r\n// @ts-expect-error\r\n// prettier-ignore\r\nexport const CartIconComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride('CartIcon', { component: CartIcon, ...CartIconComponentActions });\r\n\r\nexport default CartIconComponent;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n const imageSettings = {\r\n lazyload: true,\r\n viewports: {\r\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\r\n }\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nexport const AutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\r\n return (\r\n \r\n
{renderProductNotFoundResultsImage(props)}
\r\n
\r\n

{props.resources.emptySearchTextHeading}

\r\n
{props.resources.emptySearchText}
\r\n
\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\nimport { AutoSuggestEmptyComponent } from './search.empty';\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Search form.\r\n * @param form -Form view props.\r\n * @param searchForm -Search Form props.\r\n * @param formWrapper -Form Wrapper props.\r\n * @param clearSearchButtonText -The Clear button text.\r\n * @param props -The props for resource.\r\n * @param isSearchText -Is SearchText flag for input text.\r\n * @param clearSearch -Clear Search callback.\r\n * @returns -The JSX Element.\r\n */\r\nexport const FormComponent = (\r\n form: ISearchFormViewProps,\r\n searchForm: INodeProps,\r\n formWrapper: INodeProps,\r\n clearSearchButtonText: string,\r\n props: ISearchProps,\r\n isSearchText: boolean,\r\n clearSearch: () => void\r\n): JSX.Element => {\r\n\r\n return (\r\n \r\n {form.cancelBtn}\r\n \r\n {form.input}\r\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\r\n {!isSearchText ? AutoSuggestEmptyComponent(props) : null}\r\n \r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { IImageData, Image } from '@msdyn365-commerce/core';\r\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param productSuggestionsHeading -The products suggestion result heading.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\r\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\r\n\r\n return
{productAutoSuggestionHeading}
;\r\n};\r\n\r\n/**\r\n * Render Products Suggestion result heading.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\r\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\r\n if (!noSearchResultImage || !noSearchResultImage.src) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Products No result section.\r\n * @param props -The props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\r\n return (\r\n \r\n
{renderProductNotFoundResultsImage(props)}
\r\n
{props.resources.noResultContentHeadingText}
\r\n
\r\n {props.resources.noResultContentParagraphText}\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render Product suggestion result.\r\n * @param productSuggest -The product suggest Node props.\r\n * @param ulProduct -The List Node props.\r\n * @param props -The props.\r\n * @param productSuggestions -The Product suggestion result.\r\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\r\n * @param isLoadingNode - The autosuggestion loading node.\r\n * @returns The JSX Element.\r\n */\r\nexport const ProductSuggestionsComponent = (\r\n productSuggest: INodeProps,\r\n ulProduct: INodeProps,\r\n props: ISearchProps,\r\n productSuggestions?: ISearchProductViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n): JSX.Element => {\r\n const liProduct: INodeProps = {\r\n tag: 'li',\r\n className: 'msc-no-result-content'\r\n };\r\n return productSuggestions ? (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest &&\r\n productSuggestions.items.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.thumbnail}\r\n {item.text}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n \r\n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\r\n \r\n {renderProductNotFoundResults(props)}\r\n \r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { format, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useEffect, useState } from 'react';\r\n\r\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\r\n// import { CategorySuggestionsComponent } from './components/search.categorysuggest';\r\nimport { FormComponent } from './components/search.form';\r\n// import { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\r\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\r\n\r\n/**\r\n * Render Title for AutoSuggest.\r\n * @param searchSuggestionHeading -The heading resource string.\r\n * @param searchText -The search string.\r\n * @returns -The JSX Element.\r\n */\r\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\r\n const searchTextString = '\"'.concat(searchText.concat('\"'));\r\n const searchAutoSuggestionHeading = searchSuggestionHeading\r\n ? format(searchSuggestionHeading, searchTextString)\r\n : `Search for ${searchTextString}`;\r\n\r\n return {searchAutoSuggestionHeading};\r\n};\r\n\r\n/**\r\n * Search View.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst SearchView: React.FC> = (\r\n props: ISearchViewProps & ISearchProps\r\n): JSX.Element => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n // KeywordSuggest,\r\n ProductSuggest,\r\n // UlKeyword,\r\n UlProduct,\r\n form,\r\n // autosuggestKeyword,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label,\r\n isLoadingAutoSuggest,\r\n isLoadingNode,\r\n } = props;\r\n\r\n const { searchSuggestionHeading, clearSearchButtonText } = props.resources;\r\n\r\n const [searchTextString, setSearchTextString] = useState();\r\n\r\n useEffect(() => {\r\n setSearchTextString(searchText);\r\n }, [searchText]);\r\n\r\n /**\r\n * ClearSearch callback method to clear search string.\r\n */\r\n const clearSearch = (): void => {\r\n setSearchTextString('');\r\n\r\n const propsForm = props.form as ISearchFormViewProps;\r\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\r\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\r\n\r\n if (propsFormInputCurrent) {\r\n propsFormInputCurrent.value = '';\r\n }\r\n\r\n propsFormInput.value = '';\r\n props.searchText = '';\r\n props.FormWrapper.action = '';\r\n };\r\n\r\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\r\n ? `${AutoSuggest.className} show`\r\n : `${AutoSuggest.className} hide`;\r\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\r\n\r\n return (\r\n \r\n {label}\r\n {FormComponent(\r\n form as ISearchFormViewProps,\r\n SearchForm,\r\n FormWrapper,\r\n clearSearchButtonText,\r\n props,\r\n isSearchText,\r\n clearSearch\r\n )}\r\n {props.isSearchFormExpanded && (\r\n \r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n {AutoSuggestAriaLabelText}\r\n ) : (\r\n ''\r\n )}\r\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\r\n <>\r\n \r\n {renderTitle(searchSuggestionHeading, searchText)}\r\n \r\n \r\n {/* \r\n {CategorySuggestionsComponent(\r\n categorySuggestionHeading,\r\n noResultText,\r\n props,\r\n isLoadingAutoSuggest,\r\n isLoadingNode\r\n )}\r\n {KeywordSuggestionsComponent(\r\n KeywordSuggest,\r\n UlKeyword,\r\n keywordsHeading,\r\n noResultText,\r\n autosuggestKeyword,\r\n isLoadingAutoSuggest,\r\n isLoadingNode\r\n )}\r\n */}\r\n {ProductSuggestionsComponent(\r\n ProductSuggest,\r\n UlProduct,\r\n props,\r\n autosuggestProduct,\r\n isLoadingAutoSuggest,\r\n isLoadingNode\r\n )}\r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default SearchView;\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 { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\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 { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\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 {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\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 { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\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 handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\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 { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\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 { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n"],"names":["InvoiceStatus","InvoicePeriod","getInvoiceFrequency","resources","period","ONETIME","oneTime","DAILY","daily","MONTHLY","monthly","QUARTALY","quartaly","SEMIANNUALLY","semianually","ANNULALY","annually","formatDate","context","date","undefined","cultureFormatter","year","month","day","formatCurrency","props","currency","price","_props$context","NosSubscriptionDetails","React","constructor","super","_initialize","async","actionInput","GetSubscriptionDetailsInput","getSubscriptionDetailsAction","this","actionContext","then","res","setState","subscriptionDetailsData","customerReferenceState","CustomerReference","editCustomerReference","handleHeadingChange","event","config","heading","text","target","value","_renderContent","modalContainer","modalHeaderContainer","modalFooterContainer","modalBodyContainer","state","ScheduleNumber","className","subDetailsStatus","getSubscriptionStatus","status","SubscriptionStatus","ACTIVE","active","ARCHIVED","archived","LASTBILLING","lastBilling","ONHOLD","onHold","TERMINATED","terminated","Status","PaymentFailed","subDetailsPaymentFailed","Button","subDetailsPaymentLinkText","onClick","window","open","PaymentLinkUrl","title","subDetailsStartDate","StartDate","Date","subDetailsNextPaymentDate","NextPaymentDate","PaymentMethod","subDetailsPaymentMethod","CreditCardNumber","CreditCardTypeName","endingWith","subDetailsCustomerReference","editButtonText","type","classnames","onChange","e","disabled","ref","customerReferenceRef","saveBtnLabel","changeCustomerReference","cancelButtonAriaLabel","cancel","_this$state$subscript","cancelBtnLabel","subDetailsAction","isCanceled","openModal","subDetailsCancelSubscription","isModalOpen","Module","Object","assign","Node","cancelText","closeModal","toggleDisableText","cancelSubscription","loadingMessage","toggleEnableText","CancelSubscriptionInput","LineNum","cancelSubscriptionAction","_res$response","response","_this$state$subscript2","input","current","scheduleNumber","changeCustomerReferenceInput","ChangeCustomerReferenceInput","changeCustomerReferenceAction","_res$response2","_renderSubscriptionTotals","_subscriptionDetailsD","_subscriptionDetailsD2","_subscriptionDetailsD3","_subscriptionDetailsD4","_subscriptionDetailsD5","_subscriptionDetailsD6","_subscriptionDetailsD7","_subscriptionDetailsD8","_subscriptionDetailsD9","_subscriptionDetailsD10","_subscriptionDetailsD11","subDetailsSubscriptionTotals","scope","subDetailsHeaderProduct","subDetailsHeaderQuantity","subDetailsHeaderTotal","SubscriptionLineTotals","ItemName","Quantity","subDetailsHeaderSubTotal","CurrencyCode","Number","SubTotalAmount","Frequency","subDetailsVatHeaderPercent","VATPercantage","VATAmount","TotalAmount","_renderBillingAddress","_subscriptionDetailsD12","_subscriptionDetailsD13","subDetailsHeaderBillingAddress","SubscriptionAddressBillTo","Name","dangerouslySetInnerHTML","__html","FormattedAddress","_renderContactInformation","subDetailsHeaderContact","ContactGivenName","ContactSurname","ContactEmailAddress","_renderRelatedInvoices","_subscriptionDetailsD14","subDetailsRelatedInvoices","subDetailsHeaderId","subDetailsHeaderDate","SubscriptionRelatedInvoices","map","el","InvoiceId","key","InvoiceDate","getInvoiceStatus","UNPAID","unpaid","PAID","paid","InvoicePaymentStatus","InvoiceTotalAmount","InvoiceCurrencyCode","componentDidMount","requestContext","user","isAuthenticated","shouldComponentUpdate","nextProps","nextState","data","render","moduleProps","tag","Modal","isOpen","toggle","modalTransition","timeout","shouldUpdateFocusToFirstElement","ModalHeader","closeButtonTabIndex","ModalFooter","ModalBody","viewProps","_objectSpread","Msdyn365","editProps","onEdit","request","content","billingAddress","contactInformation","relatedInvoices","subscriptionTotals","renderView","onChangeHandler","callbacks","newValue","updateQuantity","_state$productPrice","_state$productPrice2","productId","productPrice","ProductId","catalogId","CatalogId","GetGraduatedPriceInput","getPriceAction","document","querySelectorAll","forEach","item","innerHTML","ProductPrice","_fetchGraduatedPrice","_renderTextBlock","textBlock","length","index","_renderAddToCart","addToCart","_props$context$app$ro","ContainerProps","errorBlock","button","payLoad","getPayloadObject","telemetryContent","payload","TelemetryEvent","AddToCart","attributes","getTelemetryAttributes","businessSignUpUrl","_props$context$app$ro2","_props$context$reques","_props$context$reques2","app","routes","businessPartnerSelection","destinationUrl","url","requestUrl","origin","sitePath","_registerButton","registerLinkText","href","onTelemetryClick","payLoadLink","_loginButton","loginLinkText","signInUrl","_renderConfigure","configure","dropdowns","_renderConfigureDropdown","dropdown","LabelContainerProps","errors","select","_renderPeriod","frequencies","disableSubscriptionPeriodDropdown","_renderKeyInPrice","keyInPrice","_props$data$product$r","ModuleProps","MediaGalleryContainerProps","ProductInfoContainerProps","description","quantity","inventoryLabel","max","unitOfMeasure","quantityLimitsMessages","periodValue","setPeriodValue","monthlyPeriodOption","periodLabel","skuText","product","result","ItemId","mediaGallery","renderQuantity","quantityComponent","extentionResources","IncrementalQuantity","id","currentCount","inputQuantityAriaLabel","decrementButtonAriaLabel","incrementButtonAriaLabel","minQuantityText","maxQuantityText","slots","textBlocks","ArrayExtensions","hasElements","productSpecification","AddressShow","_ref","AddressDetail","items","AddressAddUpdate","_ref2","AddressForm","hasError","error","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","label","alert","AddressError","message","CheckoutBillingAddress","checkoutErrorRef","viewState","showAddress","showAddOrUpdateAddress","isShowAddress","isShowAddOrUpdateAddress","CartIcon","observer","cartLabel","cartQtyLabel","cart","cartItem","totalItemsInCart","qtyLabel","format","style","visibility","CartIconComponent","msdyn365Commerce","createComponentOverride","component","AutoSuggestEmptyComponent","noSearchResultImage","src","Image","altText","gridSettings","imageSettings","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptySearchTextHeading","emptySearchText","FormComponent","form","searchForm","formWrapper","clearSearchButtonText","isSearchText","clearSearch","cancelBtn","renderClearButton","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","ProductSuggest","UlProduct","autosuggestProduct","SearchForm","FormWrapper","isLoadingAutoSuggest","isLoadingNode","searchSuggestionHeading","searchTextString","setSearchTextString","useState","useEffect","StringExtensions","isNullOrEmpty","propsFormInput","propsFormInputCurrent","action","isSearchFormExpanded","renderTitle","concat","searchAutoSuggestionHeading","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","AccordionItem","moduleClassName","accordionItemTitle","_onToggle","bind","getTelemetryObject","telemetryPageName","friendlyName","telemetry","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","ControlledDrawer","toggleButtonText","collapseProps","onToggle","onTextChange","accordionSlots","interactionStyle","accordionState","update","createAccordionStateInput","__decorate","_renderAccordionItemContent","accordionItemContent","Accordion","expandAllButtonRef","collapseAllButtonRef","_onExpandAll","_onCollapseAll","isDisabled","headingComponent","accordionViewProps","AccordionContainer","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","_getAccordionItem","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","setTimeout","_this$collapseAllButt","focus","_this$expandAllButton","aadGeneric","aadConainer","aadAPIConainer","AccountInvoiceTile","links","FooterItem","handleTextChange","handleLinkTextChange","link","linkText","image","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","linkUrl","role","ariaLabel","openInNewTab","editableLink","additionalProperties","ariaHiddenAttr","lg","loadFailureBehavior","shouldSkipToMainImage","FooterItemView","_renderElement","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","createComponent","_props$resources$curr","_props$resources","_props$resources$curr2","_props$resources2","_props$resources$curr3","_props$resources3","_props$resources4","_props$resources$curr4","_props$resources5","_props$resources6","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","customer","IsB2bAdmin","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","_document","_document2","MsDyn365","isBrowser","addEventListener","body","resizeThrottledEventHandler","addThrottledEvent","componentWillUnmount","_document3","_document4","removeEventListener","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","Drawer","openGlyph","closeGlyph","glyphPlacement","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","set","location","defaultImageSettings","sm","md","xl","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","imageProps","tabIndex","siteRedirectUrl","siteName","_getViewport","innerWidth","observable","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","SocialShare","socialShareItems","params","isEditor","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","buildReviewCard","isUserReview","cardProps","headerProps","rating","name","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","apiSettings","cropFocalRegion","renderProductImage","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modal","modalHeader","modalBody","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReviewModal","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton"],"sourceRoot":""}