{"version":3,"file":"static/js/6.54bc1e9260c40315cac7.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-button.tsx?4f63","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-description.tsx?0e12","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-error.tsx?bbf5","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-input.tsx?ae93","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-label.tsx?eed2","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-link.tsx?a76b","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-loading-icon.tsx?c095","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-loading-message.tsx?cadc","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/components/krannich-sign-in-text.tsx?0f80","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/krannich-sign-in.tsx?e858","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-sign-in/krannich-sign-in.view.tsx?c1b6","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/components/carticon.component.tsx?80b5","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/content-block.view.tsx?b608","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/invoices-list.view.tsx?b846","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/order-confirmation.view.tsx?ce8f","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/product-specification.view.tsx?6b78","webpack://Msdyn365.Commerce.Online/./src/actions/customProxy/PDPDownloadAbleLinks/DataServiceEntities.g.ts?914e","webpack://Msdyn365.Commerce.Online/./src/actions/customProxy/PDPDownloadAbleLinks/DataActionExtension.g.ts?8069","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/sign-in.view.tsx?49b7","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/account-customer-balance/account-customer-balance.tsx?8d5a","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/account-customer-balance.view.tsx?70d2","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/account-actions.tsx?e021","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/account-statement-request-modal.tsx?18c0","webpack://Msdyn365.Commerce.Online/./src/modules/account-customer-balance/components/index.tsx?fba9","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","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/order-template-list/order-template-list.view.tsx?103b","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.view.tsx?a45e","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/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInButton {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, disabled, onClick }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent!, text);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignInButton;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInDescription {\r\n className: string;\r\n description: string;\r\n}\r\n\r\nconst SignInDescription: React.FC = ({ className, description }) =>

{description}

;\r\n\r\nexport default SignInDescription;\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\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignInError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignInError;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInInputProps {\r\n id?: string;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n type: any;\r\n value?: string;\r\n pattern?: string;\r\n className: string;\r\n maxLength?: string;\r\n ariaLabel?: string;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface ISignInInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst SignInInput: React.FC = ({ id, type, value, pattern, className, maxLength, ariaLabel, onChange }) => (\r\n \r\n);\r\n\r\nexport default SignInInput;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInLabel {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignInLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignInLabel;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInLink {\r\n id?: string;\r\n className: string;\r\n href: string;\r\n ariaLabel: string;\r\n text: string;\r\n telemetryContent?: ITelemetryContent;\r\n}\r\n\r\nconst SignInLink: React.FC = ({ id, className, href, telemetryContent, ariaLabel, text }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent!, text);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default SignInLink;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInLoadingIcon {\r\n className: string;\r\n}\r\n\r\nconst SignInLoadingIcon: React.FC = ({ className }) =>
;\r\n\r\nexport default SignInLoadingIcon;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInLoadingMessage {\r\n className: string;\r\n message: string;\r\n}\r\n\r\nconst SignInLoadingMessage: React.FC = ({ className, message }) => (\r\n
{message}
\r\n);\r\n\r\nexport default SignInLoadingMessage;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignInText {\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignInText: React.FC = ({ className, text }) => {text};\r\n\r\nexport default SignInText;\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport SignInButtonComponent from './components/krannich-sign-in-button';\r\nimport SignInDescriptionComponent from './components/krannich-sign-in-description';\r\nimport SignInErrorComponent from './components/krannich-sign-in-error';\r\nimport SignInInputComponent from './components/krannich-sign-in-input';\r\nimport SignInLabelComponent from './components/krannich-sign-in-label';\r\nimport SignInLinkComponent from './components/krannich-sign-in-link';\r\nimport SignInLoadingIconComponent from './components/krannich-sign-in-loading-icon';\r\nimport SignInLoadingMessageComponent from './components/krannich-sign-in-loading-message';\r\nimport SignInTextComponent from './components/krannich-sign-in-text';\r\nimport { IKrannichSignInConfig, IKrannichSignInProps, IKrannichSignInResources } from './krannich-sign-in.props.autogenerated';\r\n\r\nexport interface ISignInViewState {\r\n isShowLoading: boolean;\r\n}\r\n\r\nexport interface ISignInItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n error: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface ISignInSocialItem {\r\n key: string;\r\n button: INodeProps;\r\n image: React.ReactNode;\r\n text: React.ReactNode;\r\n}\r\n\r\nexport interface ISignInB2BItem {\r\n key: string;\r\n button: INodeProps;\r\n text: React.ReactNode;\r\n}\r\n\r\nexport interface ISignInSocialAccount {\r\n socialAccounts: INodeProps;\r\n items: ISignInSocialItem[];\r\n}\r\n\r\nexport interface ISignInB2BAccount {\r\n socialAccounts: INodeProps;\r\n items: ISignInB2BItem[];\r\n}\r\nexport interface ISignInLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignInItem[];\r\n forgetPassword: React.ReactNode;\r\n disclaimer: React.ReactNode;\r\n error: React.ReactNode;\r\n signInButton: React.ReactNode;\r\n}\r\n\r\nexport interface ISignInLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\n\r\nexport interface ISignInViewProps {\r\n className: string;\r\n viewState: ISignInViewState;\r\n signIn: IModuleProps;\r\n loading: ISignInLoading;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n signInSection: INodeProps;\r\n signInSectionHeading: React.ReactNode;\r\n signInLocalAccount: ISignInLocalAccount;\r\n signInSocialAccount: ISignInSocialAccount;\r\n signInB2BAccount: ISignInB2BAccount;\r\n signUpSection: INodeProps;\r\n signUpSectionHeading: React.ReactNode;\r\n signUpDescription: React.ReactNode;\r\n signUpLink: React.ReactNode;\r\n}\r\n\r\n/**\r\n * SignIn component\r\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\r\n * Please ensure any change in module don't break contract with AAD.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass SignIn extends React.Component> {\r\n private readonly moduleClassName: string = 'ms-sign-in';\r\n\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n @observable private emailId: string;\r\n\r\n @observable private emailRegex: string;\r\n\r\n @observable private isInitialized: boolean;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private initializationTimer: any;\r\n\r\n constructor(props: IKrannichSignInProps) {\r\n super(props);\r\n this.emailRegex = EmailRegex.defaultRegex.source;\r\n this.isInitialized = false;\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.emailId = 'logonIdentifier';\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._prePopulateData();\r\n this._onInit();\r\n }\r\n\r\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\r\n public componentDidUpdate(): void {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['$element']['initialize']();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IKrannichSignInProps, nextState: ISignInViewState): 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 render(): JSX.Element {\r\n const config: IKrannichSignInConfig = this.props.config || {};\r\n const resources: IKrannichSignInResources = this.props.resources || {};\r\n\r\n const viewProps = {\r\n ...this.props,\r\n viewState: {\r\n isShowLoading: !this.isInitialized\r\n },\r\n signIn: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, config.className)\r\n },\r\n loading: {\r\n modal: {\r\n tag: Modal,\r\n isOpen: true\r\n },\r\n modalBody: {\r\n tag: ModalBody\r\n },\r\n icon: ,\r\n message: \r\n },\r\n defaultAADConainer: {\r\n id: 'api',\r\n style: { display: 'none' }\r\n },\r\n aadConainer: {\r\n id: this.isInitialized ? 'api' : null,\r\n className: `${this.moduleClassName}__container`\r\n },\r\n signInSection: {\r\n className: `${this.moduleClassName}__sign-in-section`\r\n },\r\n signInSectionHeading: (\r\n \r\n ),\r\n signInLocalAccount: {\r\n localAccount: {\r\n className: `${this.moduleClassName}__account-items localAccount`\r\n },\r\n items: [\r\n this._renderInput(\r\n this.emailId,\r\n 'email',\r\n resources.emailAddressLabelText,\r\n resources.emailAddressAriaLabel,\r\n this.emailRegex\r\n ),\r\n this._renderInput('password', 'password', resources.passwordLabelText)\r\n ],\r\n forgetPassword: (\r\n \r\n ),\r\n disclaimer: config.signInDisclaimer && (\r\n \r\n ),\r\n error: ,\r\n signInButton: (\r\n \r\n )\r\n },\r\n signInSocialAccount: {\r\n socialAccounts: {\r\n className: `${this.moduleClassName}__social-accounts`\r\n },\r\n items: [\r\n this._renderSocialAccount(\r\n 'FacebookExchange',\r\n resources.facebookButtonText,\r\n resources.facebookButtonAriaLabel,\r\n config.facebookIcon\r\n ),\r\n this._renderSocialAccount(\r\n 'MicrosoftAccountExchange',\r\n resources.microsoftButtonText,\r\n resources.microsoftButtonAriaLabel,\r\n config.microsoftIcon\r\n )\r\n ]\r\n },\r\n signInB2BAccount: {\r\n socialAccounts: {\r\n className: `${this.moduleClassName}__b2b-social-accounts`\r\n },\r\n items: [\r\n this._renderB2BSocialAccount(\r\n 'StoreManagerB2BSignin',\r\n resources.b2bButtonText,\r\n resources.b2bButtonAriaLabel,\r\n config.displayB2bAccountManagerSignin\r\n )\r\n ]\r\n },\r\n signUpSection: {\r\n className: `${this.moduleClassName}__sign-up-section`\r\n },\r\n signUpSectionHeading: (\r\n \r\n ),\r\n signUpDescription: (\r\n \r\n ),\r\n signUpLink: (\r\n \r\n )\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.signInDisclaimer = event.target.value);\r\n\r\n public handleSignInHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\r\n (this.props.config.signInHeading.text = event.target.value);\r\n\r\n public handleSignUpHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\r\n (this.props.config.signUpHeading.text = event.target.value);\r\n\r\n private readonly _onInit = () => {\r\n this._prePopulateData();\r\n this._updateErrorMessage();\r\n\r\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\r\n this.initializationTimer = setInterval(() => {\r\n this._isInitializationSuccessful();\r\n }, 100);\r\n setTimeout(() => {\r\n clearInterval(this.initializationTimer);\r\n }, 10_000);\r\n };\r\n\r\n // After successful AAD initialization, remove waiting and preload any data, if needed.\r\n private readonly _isInitializationSuccessful = () => {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\r\n clearInterval(this.initializationTimer);\r\n this.isInitialized = true;\r\n }\r\n };\r\n\r\n private readonly _prePopulateData = () => {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window && window['CONTENT'] && window['CONTENT']['email_pattern']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n this.emailRegex = window['CONTENT']['email_pattern'];\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\r\n // @ts-expect-error\r\n this.emailId = (window.SA_FIELDS.AttributeFields || [])[0].ID || this.emailId;\r\n }\r\n };\r\n\r\n private readonly _updateErrorMessage = () => {\r\n const resources: IKrannichSignInResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n if (window && window['CONTENT']) {\r\n const errorMessages = {\r\n requiredField_email: resources.requriedEmailError,\r\n requiredField_password: resources.requriedPasswordError,\r\n invalid_email: resources.invalidEmailError,\r\n invalid_password: resources.invalidPasswordError,\r\n unknown_error: resources.unknownError\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n Object.assign(window['CONTENT'], errorMessages);\r\n }\r\n };\r\n\r\n private _renderInput(id: string, type: string, labelText: string, ariaLabel?: string, pattern?: string): ISignInItem {\r\n const className = `${this.moduleClassName}__account-item`;\r\n return {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\r\n },\r\n key: id,\r\n label: (\r\n \r\n ),\r\n error: (\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n }\r\n\r\n private _renderSocialAccount(id: string, text: string, ariaLabel: string, iconImage?: Msdyn365.IImageData): ISignInSocialItem {\r\n return {\r\n key: id,\r\n button: {\r\n id,\r\n tag: 'button',\r\n className: classnames(\r\n `${this.moduleClassName}__social-account`,\r\n `${this.moduleClassName}__social-account-${id}`,\r\n 'accountButton',\r\n 'msc-btn'\r\n ),\r\n 'aria-label': ariaLabel\r\n },\r\n image: this._createImageMarkup(iconImage),\r\n text: \r\n };\r\n }\r\n\r\n private _renderB2BSocialAccount(\r\n id: string,\r\n text: string,\r\n ariaLabel: string,\r\n _displayB2bAccountManagerSignin: boolean | undefined\r\n ): ISignInB2BItem | null {\r\n if (_displayB2bAccountManagerSignin) {\r\n return {\r\n key: id,\r\n button: {\r\n id,\r\n tag: 'button',\r\n className: classnames(\r\n `${this.moduleClassName}__social-account`,\r\n `${this.moduleClassName}__social-account-${id}`,\r\n 'accountButton',\r\n 'msc-btn'\r\n ),\r\n 'aria-label': ariaLabel\r\n },\r\n text: \r\n };\r\n }\r\n return null;\r\n }\r\n\r\n private _createImageMarkup(iconImage?: Msdyn365.IImageData): React.ReactNode | null {\r\n if (iconImage) {\r\n const imageProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: iconImage && iconImage.imageSettings\r\n };\r\n const pictureClassName = `${this.moduleClassName}__social-account-picture`;\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport default SignIn;\r\n","/* eslint-disable react/no-unescaped-entities */\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { HtmlHeadInclude } from '@msdyn365-commerce/core-internal';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n ISignInSocialAccount,\r\n ISignInSocialItem,\r\n ISignInB2BAccount,\r\n ISignInB2BItem,\r\n ISignInViewProps\r\n} from './krannich-sign-in';\r\n\r\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInB2BItem) => {\r\n return (\r\n item && (\r\n \r\n {item.text}\r\n \r\n )\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signInB2BAccount,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n <>\r\n \r\n document.write('\r\n \r\n ');\r\n \r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n {B2BAccount(signInB2BAccount)}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignInView;\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 { getUrlSync, IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport {\r\n format,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n onTelemetryClick\r\n} 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 const cartLink = getUrlSync('cart', props.context.actionContext);\r\n\r\n // If there are invoice lines, don't update mini cart item quantity\r\n // VSI CUSTOMIZATIOMN TO DISPLAY PRODUCT COUNT NOT A TOTAL QUANTITY ADDED IN CART\r\n const cartItem = cart ? cart.cart.CartLines?.length : 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
\r\n {qtyLabel}\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport MsDyn365 from '@msdyn365-commerce/core';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport {\r\n IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps\r\n} from '@msdyn365-commerce-modules/content-block/src/modules/content-block/./components/additional-content';\r\nimport { IContentBlockViewProps } from '@msdyn365-commerce-modules/content-block/src/modules/content-block/./content-block';\r\nimport { IContentBlockProps } from '../definition-extensions/content-block.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n {item.links}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst ContentBlockView: React.FC> = props => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent,\r\n context: {\r\n request: {\r\n user: { isAuthenticated },\r\n gridSettings\r\n },\r\n actionContext: { requestContext }\r\n },\r\n config: { showOnlyForGuest, showOnlyForloggedIn, mobileImage, uniqueId }\r\n } = props;\r\n const imageJSX = image as JSX.Element;\r\n const contentImageProps = imageJSX?.props;\r\n const src = contentImageProps?.src;\r\n\r\n const [isMobile, setIsMobile] = React.useState();\r\n const _updateViewport = (): void => {\r\n const viewport = _getViewport();\r\n viewport === 'xs' || viewport === 'sm' ? setIsMobile(true) : setIsMobile(false);\r\n };\r\n type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n const _getViewport = (): GridSize => {\r\n // Always render in mobile viewport on a mobile device\r\n if (props.context?.request && props.context.request.device && props.context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n if (MsDyn365.isBrowser && window.innerWidth) {\r\n const gridSettings = props.context?.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n return 'lg';\r\n };\r\n React.useEffect(() => {\r\n _updateViewport();\r\n if (MsDyn365.isBrowser && window.addEventListener) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n window.addEventListener('resize', _updateViewport);\r\n }\r\n }, []);\r\n const imageProps = {\r\n gridSettings: gridSettings ?? {},\r\n imageSettings: mobileImage?.imageSettings\r\n };\r\n const mobileFullImage = (\r\n \r\n );\r\n if ((isAuthenticated && showOnlyForloggedIn) || (showOnlyForGuest && !isAuthenticated) || (!showOnlyForGuest && !showOnlyForloggedIn)) {\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n {isMobile ? (\r\n {mobileImage ? mobileFullImage : image}\r\n ) : (\r\n {image}\r\n )}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {isMobile\r\n ? src && {mobileImage ? mobileFullImage : image}\r\n : src && {image}}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nexport default ContentBlockView;\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 } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IInvoicesListViewProps } from '@msdyn365-commerce-modules/invoice/src/modules/invoices-list/./invoices-list';\r\n\r\nexport const InvoiceListView: React.FC = props => {\r\n const { header, filter, content, invoiceRequestModal, pagination } = props;\r\n\r\n return (\r\n \r\n {header}\r\n {invoiceRequestModal}\r\n {filter}\r\n {/* VSI Customization to css effect on select all checkbox */}\r\n
\r\n {content}\r\n {pagination}\r\n
\r\n );\r\n};\r\n\r\nexport default InvoiceListView;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { IOrderConfirmationConfig, IOrderConfirmationProps } from '../definition-extensions/order-confirmation.ext.props.autogenerated';\r\nimport { IContentBlockConfig } from '../definition-extensions/content-block.ext.props.autogenerated';\r\nimport { currencyFormat, dateFormatByLocale, incExcPriceFormat, taxPercentage } from '../../../utils/helper';\r\nimport { IAny, ICoreContext, IGeneric } from '@msdyn365-commerce/core-internal';\r\nimport { IOrderConfirmationData } from './order-confirmation.data';\r\nimport MsDyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n // VSI customization for new designs implementation\r\n <>\r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({\r\n salesLineProps,\r\n salesLine,\r\n buyAgainButton,\r\n data,\r\n context,\r\n customerTaxPercentage\r\n}) => {\r\n const { enabledIncExPrices } = context?.app.config;\r\n const unitPrice = Number(data.salesLine.NetAmount!) / Number(data.salesLine.Quantity);\r\n return (\r\n <>\r\n {/* */}\r\n \r\n {data.product?.ItemId}\r\n {data.product?.Name}\r\n {incExcPriceFormat(unitPrice, context, enabledIncExPrices, customerTaxPercentage)}\r\n {data.product?.DefaultUnitOfMeasure}\r\n \r\n {data.salesLine.Quantity}\r\n \r\n {/* {salesLine} */}\r\n {incExcPriceFormat(data.salesLine.NetAmount!, context, enabledIncExPrices, customerTaxPercentage)}\r\n \r\n {/* */}\r\n \r\n );\r\n};\r\n\r\n// VSI CUSTOMIZATION FOR MOBILE LIST VIEW\r\nexport const OrderConfirmationSalesLineForMobile: React.FC = ({\r\n salesLineProps,\r\n salesLine,\r\n buyAgainButton,\r\n data,\r\n context,\r\n customerTaxPercentage\r\n}) => {\r\n const { enabledIncExPrices } = context?.app.config;\r\n return (\r\n <>\r\n
\r\n
\r\n Item Number: \r\n {data.product?.ItemId}\r\n
\r\n
\r\n Product Name: \r\n {data.product?.Name}\r\n
\r\n
\r\n Unit Price: \r\n \r\n {incExcPriceFormat(data.product?.Price!, context, enabledIncExPrices, customerTaxPercentage)}\r\n \r\n
\r\n
\r\n UOM: \r\n {data.product?.DefaultUnitOfMeasure}\r\n
\r\n
\r\n Quantity: \r\n {data.salesLine.Quantity}\r\n
\r\n
\r\n Total Price: \r\n \r\n {incExcPriceFormat(data.salesLine.NetAmount!, context, enabledIncExPrices, customerTaxPercentage)}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({\r\n deliveryProps,\r\n heading,\r\n count,\r\n processing,\r\n address,\r\n trackingInfo,\r\n pickupDateTimeslot\r\n}) => (\r\n // VSI customization for new designs implementation\r\n <>\r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({\r\n groupProps,\r\n delivery,\r\n salesLinesProps,\r\n salesLines,\r\n context,\r\n customerTaxPercentage\r\n}) => {\r\n //Configs For Mobile View\r\n const [isMobile, setIsMobile] = React.useState();\r\n const _updateViewport = (): void => {\r\n const viewport = _getViewport();\r\n viewport === 'xs' || viewport === 'sm' ? setIsMobile(true) : setIsMobile(false);\r\n };\r\n type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n const _getViewport = (): GridSize => {\r\n // const { context } = productManufacturarAttribute;\r\n\r\n // Always render in mobile viewport on a mobile device\r\n if (context?.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n\r\n if (MsDyn365.isBrowser && window.innerWidth) {\r\n const gridSettings = context?.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n\r\n return 'lg';\r\n };\r\n\r\n React.useEffect(() => {\r\n _updateViewport();\r\n if (MsDyn365.isBrowser && window.addEventListener) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n window.addEventListener('resize', _updateViewport);\r\n }\r\n }, []);\r\n if (isMobile) {\r\n return (\r\n salesLines && (\r\n <>\r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )\r\n );\r\n } else {\r\n return (\r\n \r\n {/* {delivery && }\r\n {delivery && delivery.shippingItemsToYou} */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {salesLines && (\r\n <>\r\n {salesLines.map((salesLine: ISalesLine) => (\r\n \r\n ))}\r\n \r\n )}\r\n
Item NumberProduct NameUnit PriceUOM\r\n Quantity\r\n Total Price
\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({\r\n groupsProps,\r\n groups,\r\n context,\r\n customerTaxPercentage\r\n}) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\ninterface IOrderSummaryExtend {\r\n discountAmount?: number;\r\n context?: ICoreContext>;\r\n deliveryMode?: string;\r\n freightAndGSTMessage?: string;\r\n freightAndGSTMessageFromResources?: string;\r\n customerTaxPercentage?: number;\r\n}\r\ninterface JSXNumberValue {\r\n value: number;\r\n}\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints,\r\n discountAmount,\r\n deliveryMode,\r\n context,\r\n freightAndGSTMessage,\r\n freightAndGSTMessageFromResources\r\n}) => {\r\n const subTotalJSX = subtotal as JSX.Element;\r\n const subTotalJSXValue = subTotalJSX.props as JSXNumberValue;\r\n const subTotalAmount = subTotalJSXValue?.value;\r\n const taxProps = tax as JSX.Element;\r\n const taxAmount = taxProps.props.value;\r\n const totalProps = totalAmount as JSX.Element;\r\n const totalAmountValue = totalProps.props.value;\r\n return (\r\n \r\n {heading}\r\n {/* {subtotal} */}\r\n

\r\n Subtotal\r\n \r\n {currencyFormat(subTotalAmount, context)}\r\n \r\n

\r\n

\r\n Shipping Fee\r\n \r\n {deliveryMode && deliveryMode === 'Collection' ? (\r\n \r\n FREE\r\n \r\n ) : (\r\n

\r\n {'To Be Calculated '}\r\n
\r\n \r\n \r\n {\r\n 'This quotation is excluding freight costs. Freight will be detailed in your sales order confirmation.'\r\n }\r\n \r\n
\r\n
\r\n )}\r\n \r\n

\r\n

\r\n Tax\r\n \r\n \r\n {currencyFormat(taxAmount, context)}\r\n \r\n \r\n

\r\n

\r\n Total\r\n \r\n \r\n {currencyFormat(totalAmountValue, context)}\r\n \r\n \r\n

\r\n
\r\n {freightAndGSTMessage ? freightAndGSTMessage : freightAndGSTMessageFromResources}\r\n
\r\n {earnedPoints}\r\n
\r\n );\r\n};\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {/* // VSI customization for new designs implementation */}\r\n\r\n {/* {title} */}\r\n {/* {methods} */}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC> = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n data,\r\n resources,\r\n config: { bannerImage, bannerLink, freightAndGSTMessage },\r\n context: {\r\n request: { gridSettings },\r\n actionContext: { requestContext }\r\n },\r\n context\r\n}) => {\r\n const deliveryMode = data?.orderHydration?.result?.salesOrder?.DeliveryMode!;\r\n //VSI CUSTOMIZATION TO SET CHECKOUT PHONE NUMBER\r\n const [phnRcdId, setPhnRcdId] = React.useState();\r\n const [phnRcdNumber, setPhnRcdNumber] = React.useState();\r\n\r\n React.useEffect(() => {\r\n setTimeout(() => {\r\n const phnRcdId = localStorage.getItem('phnRcdId');\r\n setPhnRcdId(Number(phnRcdId!));\r\n }, 1000);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (phnRcdId) {\r\n const primaryAddresses = data.customerInformation.result?.Addresses?.filter(e => e.PhoneRecordId === phnRcdId);\r\n if (primaryAddresses) setPhnRcdNumber(primaryAddresses[0]?.Phone!);\r\n }\r\n }, [phnRcdId]);\r\n\r\n //VSI Customization to check if phone number exists\r\n const discountAmount = data?.orderHydration.result?.salesOrder?.DiscountAmount || undefined;\r\n const addressProps = groups && groups?.groups?.find(addr => addr?.delivery?.address)?.delivery.address;\r\n\r\n //VSI Customization to add banner image from config for new design implementation\r\n const imageProps = {\r\n gridSettings: gridSettings ?? {},\r\n imageSettings: bannerImage?.imageSettings\r\n };\r\n\r\n interface IContentBlockFullConfig extends IContentBlockConfig {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\r\n msdyn365__moduleLayout?: string;\r\n }\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=613&h=270&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=613&h=270&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n const contentBlockImage = (\r\n \r\n );\r\n //VSI Customization to add banner image for new design implementation -- END\r\n const newDate = new Date(data?.orderHydration.result?.salesOrder.CreatedDateTime!);\r\n const formattedDate = newDate.toLocaleDateString('en-GB');\r\n /* VSI CUSTOMIZATION | DATE FORMAT | START */\r\n const dateLocale = context.app.config.dateFormat;\r\n const currency = context.request.channel?.Currency;\r\n const formattedDateByLocale: string =\r\n (dateLocale && currency && formattedDate && dateFormatByLocale(dateLocale, currency, formattedDate)) || '';\r\n const customerTaxPercentage = taxPercentage(data.accountInformation?.result!);\r\n /* VSI CUSTOMIZATION | DATE FORMAT | END */\r\n return (\r\n <>\r\n \r\n
\r\n {heading}\r\n {backToShoppingLink}\r\n
\r\n {/* //VSI Customization to change shipping address & order details layout for new design implementation */}\r\n {\r\n
\r\n
\r\n

{resources.shippingAddressyHeading}

\r\n {/* {data?.orderHydration?.result?.salesOrder?.CustomerName} */}\r\n {addressProps && addressProps}\r\n {/* //VSI Customization to check if phone number exists */}\r\n\r\n {/* {data?.customerInformation?.result?.Phone && (\r\n
\r\n {resources.phoneNumberLabel}\r\n {data?.customerInformation?.result?.Phone}\r\n
\r\n )} */}\r\n
\r\n {resources.phoneNumberLabel}\r\n {phnRcdNumber}\r\n
\r\n
\r\n
\r\n

{resources.orderRequestDetailsHeading}

\r\n
\r\n \r\n \r\n {data?.orderHydration?.result?.salesOrder?.ChannelReferenceId}\r\n \r\n
\r\n
\r\n \r\n \r\n {data?.orderHydration?.result?.salesOrder?.ReceiptEmail}\r\n \r\n
\r\n
\r\n {resources.orderRequestDateLabel.replace('{date}', formattedDateByLocale!)}\r\n
\r\n
\r\n
\r\n }\r\n {/* //VSI Customization to change shipping address & order details layout for new design implementation -- END */}\r\n {/* {data.orderHydration.result?.salesOrder?.ShippingAddress?.Name}\r\n {data.orderHydration.result?.salesOrder?.ShippingAddress?.FullAddress} */}\r\n {groups && }\r\n {alert}\r\n {loading}\r\n\r\n {/* {payment && } */}\r\n
\r\n {bannerLink && bannerLink.linkUrl && bannerLink.linkUrl.destinationUrl && (\r\n
\r\n \r\n {contentBlockImage}\r\n \r\n
\r\n )}\r\n
\r\n

{resources.paymentSummaryText}

\r\n {orderSummary && (\r\n \r\n )}\r\n
\r\n
\r\n {help && }\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\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 { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IProductSpecificationViewProps } from '@msdyn365-commerce-modules/product-specification';\r\nimport { IProductSpecificationProps, IProductSpecificationData } from '@msdyn365-commerce-modules/product-specification';\r\nimport { kRV_DownloadCMSDocumentAsync } from '../../../actions/customProxy/PDPDownloadAbleLinks/DataActionExtension.g';\r\nimport { IKRV_DownloadCMSDocumentResponseEntity } from '../../../actions/customProxy/PDPDownloadAbleLinks/DataServiceEntities.g';\r\n\r\nenum ProductSpecificationRuleType {\r\n Blank = 'blank',\r\n Empty = '',\r\n AssemblyInstructions = 'Assembly instructions',\r\n UserManual = 'User Manual',\r\n WarrantyConditions = 'Warranty Conditions',\r\n Datasheets = 'Datasheets',\r\n Zero = 0,\r\n ProductStatus = 'Product Status',\r\n DisplayWpPrice = 'Display WP Price',\r\n IsBundleProduct = 'IsBundleProduct',\r\n Searchkeywords = 'Search keywords',\r\n manufacturerItemNumber = 'Manufacturer item number'\r\n}\r\ninterface IProductSpecificationButton {\r\n productName?: string;\r\n cellData?: string;\r\n className?: string;\r\n}\r\n\r\nconst ProductDownloadButton: React.FC = ({ productName, cellData, className }) => (\r\n \r\n {productName}\r\n \r\n);\r\n\r\nconst ProductSpecificationView: React.FC> = props => {\r\n const {\r\n ProductSpecification,\r\n ProductSpecificationTableProps,\r\n ProductSpecificationTableBodyProps,\r\n productSpecificationResult,\r\n data: { product }\r\n } = props;\r\n const manufacturerItemTypeName = product?.result?.ExtensionProperties?.find(item => {\r\n if (item.Key === 'ManufItemTypeName') {\r\n return item;\r\n } else {\r\n return null;\r\n }\r\n });\r\n\r\n //****** VSI Customization Start for Downloadable Link ******//\r\n // States use for set and map download able links\r\n const [productDownloadButtonState, setProductDownloadButtonState] = React.useState([]);\r\n const [downloadAbleLink, setDownloadAbleLink] = React.useState([]);\r\n // useEffect use to call function and call api to set response\r\n React.useEffect(() => {\r\n getDownloadAbleLinks();\r\n }, [props.data.product]);\r\n\r\n // useEffect use to call function and set downloadable link state\r\n React.useEffect(() => {\r\n if (downloadAbleLink) {\r\n _createDownloadLinks(downloadAbleLink);\r\n }\r\n }, [downloadAbleLink]);\r\n\r\n // Function use to call and set state\r\n const _createDownloadLinks = (content: IKRV_DownloadCMSDocumentResponseEntity[]) => {\r\n const productDownloadButtonArr: any = [];\r\n content &&\r\n content.map((product, index) => {\r\n productDownloadButtonArr.push(\r\n \r\n );\r\n });\r\n setProductDownloadButtonState(productDownloadButtonArr);\r\n };\r\n\r\n // API CALL\r\n const getDownloadAbleLinks = async () => {\r\n let productNumber = props.data.product.result?.ProductNumber!;\r\n if (props.data.product.result?.Components?.length! > 0) {\r\n productNumber = productNumber.substring(0, 10)?.trim();\r\n }\r\n const oun = props.context.request.apiSettings.oun;\r\n const context = {\r\n callerContext: props.context.actionContext\r\n };\r\n await kRV_DownloadCMSDocumentAsync(context, productNumber, oun).then(res => {\r\n setDownloadAbleLink(res);\r\n });\r\n };\r\n //****** VSI Customization End for Downloadable Link ******//\r\n\r\n //VSI-Customizations . To prevent escape characters in attriutes values of product specifications\r\n // todo need to remove it.\r\n // interface productSpecificationPropsExtended {\r\n // productName?: string;\r\n // }\r\n const rowData =\r\n productSpecificationResult &&\r\n ArrayExtensions.hasElements(productSpecificationResult) &&\r\n productSpecificationResult?.filter(ps => {\r\n const productSpecification = ps;\r\n // const cellData = productSpecification?.props as JSX.Element;\r\n const cellData = ps && productSpecification?.props?.children?.props;\r\n\r\n // todo: need to refactor it\r\n if (ps !== null) {\r\n if (\r\n cellData?.props?.dangerouslySetInnerHTML?.__html ===\r\n (ProductSpecificationRuleType.Blank || ProductSpecificationRuleType.Empty) ||\r\n cellData?.props?.children === 0\r\n ) {\r\n return null;\r\n }\r\n if (\r\n cellData?.productName === ProductSpecificationRuleType.AssemblyInstructions.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.Datasheets.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.UserManual.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.WarrantyConditions.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.IsBundleProduct.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.ProductStatus.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.DisplayWpPrice.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.Searchkeywords.trim() ||\r\n cellData?.productName === ProductSpecificationRuleType.manufacturerItemNumber.trim()\r\n ) {\r\n return null;\r\n }\r\n if (ps?.props.children === ProductSpecificationRuleType.Zero) {\r\n return null;\r\n }\r\n return !ObjectExtensions.isNullOrUndefined(ps);\r\n }\r\n return null;\r\n });\r\n const tempArray =\r\n rowData &&\r\n rowData?.map((item, index) => {\r\n const productName = item && item?.props?.children?.props?.productName;\r\n const value =\r\n item && item?.props?.children?.props?.cellData?.props?.dangerouslySetInnerHTML?.__html\r\n ? item?.props?.children?.props?.cellData?.props?.dangerouslySetInnerHTML?.__html\r\n : item?.props?.children?.props?.cellData?.props?.children;\r\n\r\n return {\r\n key: index, // Use the index as the key attribute\r\n productName: productName,\r\n value: value\r\n };\r\n });\r\n /* VSI customization to Move up \"manufacturer\" */\r\n const manufacturerIndex = tempArray && tempArray?.findIndex(item => item.productName.includes('Manufacturer'));\r\n // If found, move the object to the first position in the array\r\n if (manufacturerIndex !== -1) {\r\n const manufacturerObject = tempArray && manufacturerIndex && tempArray.splice(manufacturerIndex, 1)[0];\r\n tempArray && manufacturerObject && tempArray.unshift(manufacturerObject);\r\n }\r\n const ManufacturerItemTypeName = {\r\n key: (tempArray && tempArray.length) || 2,\r\n productName: 'Manufacturer Item Type Name',\r\n value: manufacturerItemTypeName?.Value?.StringValue === '' ? 'blank' : manufacturerItemTypeName?.Value?.StringValue\r\n };\r\n tempArray && tempArray.splice(1, 0, ManufacturerItemTypeName);\r\n const finalArray =\r\n tempArray &&\r\n tempArray.map((item, index) => ({\r\n ...item,\r\n key: index\r\n }));\r\n const filteredArray =\r\n finalArray &&\r\n finalArray?.filter(\r\n obj =>\r\n obj.value !== 'blank' &&\r\n obj.value !== undefined &&\r\n obj.value !== 0 &&\r\n obj.value !== '0' &&\r\n obj.productName !== 'Promotion Badge' &&\r\n obj.productName !== 'Promotion Text'\r\n );\r\n /* VSI customization Ends */\r\n return rowData && ArrayExtensions.hasElements(rowData) ? (\r\n \r\n
\r\n {props.title}\r\n\r\n \r\n \r\n {filteredArray &&\r\n filteredArray.map(item => (\r\n \r\n {item.productName}\r\n {item.value}\r\n \r\n ))}\r\n \r\n \r\n
\r\n {productDownloadButtonState?.length! > 0 && (\r\n
\r\n

Available downloads

\r\n
\r\n
{productDownloadButtonState && productDownloadButtonState}
\r\n
\r\n )}\r\n
\r\n ) : (\r\n //VSI-Customizations . To generate downloabale links for documents\r\n \r\n {productDownloadButtonState?.length! > 0 && (\r\n
\r\n

Available downloads

\r\n
\r\n
{productDownloadButtonState && productDownloadButtonState}
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ProductSpecificationView;\r\n","// tslint:disable\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as Entities from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\n/**\r\n * KRV_CMSDocument entity interface.\r\n */\r\nexport interface IKRV_CMSDocument {\r\n OUN?: string;\r\n FileName: string;\r\n FileURL?: string;\r\n ItemNumber?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * KRV_SaveCMSDocumentResponseEntity entity interface.\r\n */\r\nexport interface IKRV_SaveCMSDocumentResponseEntity {\r\n Status?: string;\r\n StatusCode?: string;\r\n Message?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * KRV_DownloadCMSDocumentResponseEntity entity interface.\r\n */\r\nexport interface IKRV_DownloadCMSDocumentResponseEntity {\r\n File?: string;\r\n FileName?: string;\r\n FileURL?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * KRV_CMSDocument entity class.\r\n */\r\nexport class KRV_CMSDocumentExtensionClass implements IKRV_CMSDocument {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public OUN: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public FileName: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public FileURL: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ItemNumber: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.OUN = odataObject.OUN;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.FileName = odataObject.FileName;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.FileURL = odataObject.FileURL;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ItemNumber = odataObject.ItemNumber;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[Number(i)]) {\r\n if (odataObject.ExtensionProperties[Number(i)]['@odata.type']) {\r\n var className: string = odataObject.ExtensionProperties[Number(i)]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[String(className)]) {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses[String(className)](\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses.CommercePropertyClass(\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[Number(i)] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * KRV_SaveCMSDocumentResponseEntity entity class.\r\n */\r\nexport class KRV_SaveCMSDocumentResponseEntityExtensionClass implements IKRV_SaveCMSDocumentResponseEntity {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Status: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public StatusCode: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Message: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Status = odataObject.Status;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.StatusCode = odataObject.StatusCode;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Message = odataObject.Message;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[Number(i)]) {\r\n if (odataObject.ExtensionProperties[Number(i)]['@odata.type']) {\r\n var className: string = odataObject.ExtensionProperties[Number(i)]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[String(className)]) {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses[String(className)](\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses.CommercePropertyClass(\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[Number(i)] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * KRV_DownloadCMSDocumentResponseEntity entity class.\r\n */\r\nexport class KRV_DownloadCMSDocumentResponseEntityExtensionClass implements IKRV_DownloadCMSDocumentResponseEntity {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public File: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public FileName: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public FileURL: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.File = odataObject.File;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.FileName = odataObject.FileName;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.FileURL = odataObject.FileURL;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[Number(i)]) {\r\n if (odataObject.ExtensionProperties[Number(i)]['@odata.type']) {\r\n var className: string = odataObject.ExtensionProperties[Number(i)]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[String(className)]) {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses[String(className)](\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n this.ExtensionProperties[Number(i)] = new EntityClasses.CommercePropertyClass(\r\n odataObject.ExtensionProperties[Number(i)]\r\n );\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[Number(i)] = undefined;\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 * THIS FILE IS AN AUTOGENERATED TYPESCRIPT PROXY EXTENSION.\r\n * TO USE THIS FILE, IT MUST BE ADDED TO A D365COMMERCE APPLICATION\r\n */\r\n// tslint:disable\r\nimport {\r\n AsyncResult,\r\n callActionOrExecute,\r\n DataServiceQuery,\r\n IContext,\r\n IDataServiceRequest,\r\n IQueryResultSettings\r\n} from '@msdyn365-commerce/retail-proxy';\r\n// @ts-ignore\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as DataServiceEntities from './DataServiceEntities.g';\r\n\r\n// @ts-ignore\r\nfunction kRV_CMSDocumentsQuery(fileName?: string): DataServiceQuery {\r\n const key = fileName ? { FileName: fileName } : null;\r\n return new DataServiceQuery('KRV_CMSDocuments', 'KRV_CMSDocument', DataServiceEntities.KRV_CMSDocumentExtensionClass, key);\r\n}\r\n\r\nexport function createKRV_SaveCMSDocumentInput(kRV_CMSDocument: DataServiceEntities.IKRV_CMSDocument): IDataServiceRequest {\r\n const query = kRV_CMSDocumentsQuery();\r\n return query.createDataServiceRequestForOperation(\r\n 'KRV_SaveCMSDocument',\r\n true,\r\n DataServiceEntities.KRV_SaveCMSDocumentResponseEntityExtensionClass,\r\n 'false',\r\n { bypassCache: 'get', returnEntity: 'DataServiceEntities.IKRV_SaveCMSDocumentResponseEntity' },\r\n { kRV_CMSDocument: kRV_CMSDocument }\r\n );\r\n}\r\n\r\nexport function kRV_SaveCMSDocumentAsync(\r\n context: IContext,\r\n kRV_CMSDocument: DataServiceEntities.IKRV_CMSDocument\r\n): AsyncResult {\r\n const request = createKRV_SaveCMSDocumentInput(kRV_CMSDocument);\r\n return callActionOrExecute(request, context.callerContext);\r\n}\r\n\r\nexport function createKRV_DownloadCMSDocumentInput(\r\n queryResultSettings: IQueryResultSettings,\r\n itemNumber: string,\r\n oun: string\r\n): IDataServiceRequest {\r\n const query = kRV_CMSDocumentsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation(\r\n 'KRV_DownloadCMSDocument',\r\n true,\r\n DataServiceEntities.KRV_DownloadCMSDocumentResponseEntityExtensionClass,\r\n 'true',\r\n { bypassCache: 'get', returnEntity: 'DataServiceEntities.IKRV_DownloadCMSDocumentResponseEntity' },\r\n { itemNumber: itemNumber, oun: oun }\r\n );\r\n}\r\n\r\nexport function kRV_DownloadCMSDocumentAsync(\r\n context: IContext,\r\n itemNumber: string,\r\n oun: string\r\n): AsyncResult {\r\n const request = createKRV_DownloadCMSDocumentInput(context.queryResultSettings || {}, itemNumber, oun);\r\n return callActionOrExecute(request, context.callerContext);\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n ISignInSocialAccount,\r\n ISignInSocialItem,\r\n ISignInB2BAccount,\r\n ISignInB2BItem,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/./sign-in';\r\n\r\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n\r\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInB2BItem) => {\r\n return (\r\n item && (\r\n \r\n {item.text}\r\n \r\n )\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC = props => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n signInSocialAccount,\r\n signUpSectionHeading,\r\n signInB2BAccount,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n {signUpLink}\r\n \r\n

Sign in with your email address

\r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {SocialAccount(signInSocialAccount)}\r\n {B2BAccount(signInB2BAccount)}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SignInView;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n AccountStatementRequest,\n BusinessPartnerOperationDeliveryType,\n CustomerBalances\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps {\n heading: string;\n homeButton: React.ReactNode;\n accountSectionHeading: React.ReactNode;\n accountLabels: React.ReactNode;\n accountValues: React.ReactNode;\n creditSummarySectionHeading: React.ReactNode;\n creditSummaryLabels?: React.ReactNode;\n creditSummaryValues?: React.ReactNode;\n actions: React.ReactNode;\n requestStatementModal: React.ReactNode;\n availableCredit?: React.ReactNode;\n balanceOwed?: React.ReactNode;\n creditExcess?: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceState {\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n statementRequestMaxDateString?: string;\n}\n\n/**\n *\n * AccountCustomerBalance component.\n * @extends {React.PureComponent>}\n */\nclass AccountCustomerBalance extends React.PureComponent<\n IAccountCustomerBalanceProps,\n IAccountCustomerBalanceState\n> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly requestStatementButtonRef: React.RefObject = React.createRef();\n\n @computed get canSubmitStatementRequest(): boolean {\n return this.state.statementRequestFromDateString !== '' && this.state.statementRequestToDateString !== '';\n }\n\n constructor(props: IAccountCustomerBalanceProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.state = {\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false,\n statementRequestMaxDateString: new Date().toISOString().split('T')[0]\n };\n }\n\n public render(): JSX.Element | null {\n const customer = get(this.props, 'data.customerInformation.result');\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n if ([customer, account].includes(undefined)) {\n this.props.context.telemetry.error('Customer data is unavailable, module will not render');\n return null;\n }\n\n const { config, resources, context } = this.props;\n const { heading } = config;\n const {\n creditSummarySectionHeading,\n accountSectionHeading,\n backToShoppingText,\n customerSincePrefix,\n availableCreditLabel,\n balanceOwedLabel,\n creditExcessLabel,\n requestStatementButtonLabel,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n myAccountStatementLabel,\n fullOrganizationLabel,\n modalAriaLabel\n } = resources;\n\n const {\n isStatementRequestModalOpen,\n statementRequestFromDateString,\n statementRequestToDateString,\n statementRequestMaxDateString\n } = this.state;\n\n const accountNumber = customer.AccountNumber;\n const createdOn = this._formatJoinDate(new Date(customer.CreatedDateTime));\n const name = `${customer.FirstName} ${customer.LastName}`;\n let customerCredit = 0;\n let customerAccountBalance = 0;\n let excess = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n customerAccountBalance = account.Balance;\n excess = account.Balance - account.CreditLimit;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n customerAccountBalance = account.InvoiceAccountBalance;\n excess = account.InvoiceAccountBalance - account.InvoiceAccountCreditLimit;\n }\n\n const creditExcess = excess > 0 ? this._formatCurrency(excess) : null;\n const availableCredit = this._formatCurrency(customerCredit);\n const balanceOwed = this._formatCurrency(customerAccountBalance);\n const backLink = Msdyn365.getUrlSync('home', context.actionContext) || '';\n const emailAddress = customer.Email;\n const isB2BSite = isChannelTypeB2B(this.props.context.request);\n const isB2BAdmin = isB2BSite && customer.IsB2bAdmin;\n\n const actionBar = isB2BAdmin ? (\n \n ) : (\n isB2BSite && (\n \n )\n );\n\n const viewProps = {\n ...this.props,\n heading: ,\n accountSectionHeading: (\n \n ),\n accountLabels: (\n \n ),\n accountValues: ,\n creditSummarySectionHeading: (\n \n ),\n availableCredit: ,\n balanceOwed: ,\n creditExcess: ,\n homeButton: ,\n actions: actionBar,\n requestStatementModal: isB2BSite && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n this.requestStatementButtonRef.current?.focus();\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n\n this.requestStatementButtonRef.current?.focus();\n };\n}\n\nexport default AccountCustomerBalance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceViewProps } from './account-customer-balance';\n\nexport default (props: IAccountCustomerBalanceViewProps) => {\n const {\n heading,\n accountSectionHeading,\n creditSummarySectionHeading,\n accountLabels,\n accountValues,\n creditSummaryLabels,\n creditSummaryValues,\n homeButton,\n actions,\n requestStatementModal,\n availableCredit,\n balanceOwed,\n creditExcess\n } = props;\n\n return (\n \n {heading}\n {requestStatementModal}\n {actions}\n {accountSectionHeading}\n
\n {accountLabels}\n {accountValues}\n
\n {creditSummarySectionHeading}\n
\n {creditSummaryLabels}\n {creditSummaryValues}\n {availableCredit}\n {balanceOwed}\n {creditExcess}\n
\n {homeButton}\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 { Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceActions {\n className?: string;\n buttonReference?: React.RefObject;\n requestStatementButtonLabel: string;\n onRequestStatement(): void;\n}\n\ninterface IAdminRequestStatementProps {\n className?: string;\n requestStatementButtonLabel: string;\n myUserAccountLabel: string;\n fullOrganizationLabel: string;\n isDropdownShowing: boolean;\n buttonReference?: React.RefObject;\n promoteToSellerLabel?: string;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n onPromoteToSeller?(): void;\n}\n\nexport const ActionBar: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n buttonReference\n}) => {\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n return (\n
\n \n
\n );\n};\n\nexport const AdminRequestStatementButton: React.FC = ({\n className,\n onRequestStatement,\n requestStatementButtonLabel,\n onToggleDropdown,\n onPromoteToSeller,\n promoteToSellerLabel,\n myUserAccountLabel,\n fullOrganizationLabel,\n isDropdownShowing,\n buttonReference\n}) => {\n const onSelectCustomerAccount = React.useCallback(() => {\n onRequestStatement(false);\n }, [onRequestStatement]);\n\n const onSelectFullOrg = React.useCallback(() => {\n onRequestStatement(true);\n }, [onRequestStatement]);\n\n const onSelectPromoteToSeller = React.useCallback(() => {\n onPromoteToSeller?.();\n }, [onPromoteToSeller]);\n\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n
\n \n {requestStatementButtonLabel}\n \n \n \n {myUserAccountLabel}\n \n \n {promoteToSellerLabel && (\n \n {promoteToSellerLabel}\n \n )}\n \n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * The interface for the props for the account statement request modal.\n */\ninterface IAccountStatementRequestModalProps {\n email: string;\n isModalOpen: boolean;\n fromDateString: string;\n toDateString: string;\n canSubmitRequest: boolean;\n modalHeaderLabel: string;\n sendToEmailLabel: string;\n fromDateLabel: string;\n toDateLabel: string;\n submitRequestLabel: string;\n cancelLabel: string;\n className: string;\n selectedUser: string;\n selectedUserLabel: string;\n toggle(): void;\n onChangeFromDate(newFromDate: string): void;\n onChangeToDate(newToDate: string): void;\n onSubmitRequest(): void;\n modalAriaLabel?: string;\n maxDateString?: string;\n}\n\nexport const RequestStatementModal: React.FC = ({\n className,\n email,\n isModalOpen,\n toggle,\n fromDateString,\n toDateString,\n onChangeFromDate,\n onChangeToDate,\n canSubmitRequest,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n onSubmitRequest,\n selectedUser,\n selectedUserLabel,\n modalAriaLabel,\n maxDateString\n}) => {\n const onChangeFromDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n },\n [onChangeFromDate]\n );\n\n const onChangeToDateEvent = React.useCallback(\n (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeToDate(value);\n },\n [onChangeToDate]\n );\n\n /**\n * If the onBlur is called on the fromDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurFromDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== fromDateString) {\n event.target.focus();\n }\n },\n [fromDateString]\n );\n\n /**\n * If the onBlur is called on the toDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurToDate = React.useCallback(\n (event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n },\n [toDateString]\n );\n\n return (\n \n {modalHeaderLabel}\n \n {selectedUser && (\n
\n \n
\n
{selectedUser}
\n
\n )}\n \n
\n {email}\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {submitRequestLabel}\n \n {` `}\n \n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { AdminRequestStatementButton } from './account-actions';\nimport { RequestStatementModal } from './account-statement-request-modal';\n\nexport * from './account-actions';\nexport * from './account-statement-request-modal';\n\ninterface IAccountLabel {\n name: string;\n accountNumber: string;\n createdOn: string;\n customerSincePrefix: string;\n}\n\ninterface IAccountValues {\n availableCredit: string;\n availableCreditLabel: string;\n}\n\n/**\n * Prop for Available credit component.\n */\ninterface ICreditSummaryAvailableCredit {\n availableCreditLabel: string;\n availableCredit: string;\n}\n\n/**\n * Prop for Balanced owed component.\n */\ninterface ICreditSummaryBalanceOwed {\n balanceOwedLabel: string;\n balanceOwed: string;\n}\n\n/**\n * Prop for credit excess component.\n */\ninterface ICreditSummaryCreditExcess {\n creditExcessLabel: string | null;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryLabel {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryValues {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface IBackButton {\n link: string;\n label: string;\n telemetryContent?: ITelemetryContent;\n}\n\nexport const AccountLabels: React.FC = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n
\n

{name}

\n
#{accountNumber}
\n
\n {customerSincePrefix} {createdOn}\n
\n
\n);\n\nexport const AccountValues: React.FC = ({ availableCredit, availableCreditLabel }) => (\n
\n
{availableCreditLabel}
\n
{availableCredit}
\n
\n);\n\nexport const CreditSummaryLabels: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n
{creditExcess}
\n
\n);\n\nexport const CreditSummaryValues: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
{availableCredit}
\n
{balanceOwed}
\n {creditExcess &&
{creditExcess}
}\n
\n);\n\n/**\n * Available credit component.\n * @param props - ICreditSummaryAvailableCredit.\n * @param props.availableCreditLabel - Available credit label.\n * @param props.availableCredit - Available credit value.\n * @returns - React Node for available credit component.\n */\nexport const AvailableCreditComponent: React.FC = ({ availableCreditLabel, availableCredit }) => (\n
\n
\n
{availableCreditLabel}
\n
\n
\n
{availableCredit}
\n
\n
\n);\n\n/**\n * Balance Owed Component.\n * @param props - ICreditSummaryBalanceOwed.\n * @param props.balanceOwedLabel - Balance Owed label.\n * @param props.balanceOwed - Balance Owed value.\n * @returns - React Node for balance owed component.\n */\nexport const BalanceOwedComponent: React.FC = ({ balanceOwedLabel, balanceOwed }) => (\n
\n
\n
{balanceOwedLabel}
\n
\n
\n
{balanceOwed}
\n
\n
\n);\n\n/**\n * Credit Excess Component.\n * @param props - ICreditSummaryCreditExcess.\n * @param props.creditExcessLabel - Credit excess label.\n * @param props.creditExcess - Credit excess value.\n * @returns - React Node for credit excess component.\n */\nexport const CreditExcessComponent: React.FC = ({ creditExcessLabel, creditExcess }) => (\n
\n {creditExcess && (\n
\n
{creditExcessLabel}
\n
\n )}\n
\n {creditExcess &&
{creditExcess}
}\n
\n
\n);\nexport const BackButton: React.FC = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {label}\n \n );\n};\n\nexport { AdminRequestStatementButton, RequestStatementModal };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-invoice-tile.props.autogenerated';\n\nexport interface IAccountInvoiceTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountInvoiceTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-invoice-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountInvoiceTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileData } from './account-invoice-tile.data';\nimport { IAccountInvoiceTileProps } from './account-invoice-tile.props.autogenerated';\nimport { AccountInvoiceTileDescription } from './components';\nimport LinksComponent from './components/account-invoice-tile-links';\n\nexport interface IAccountInvoiceTileViewProps extends IAccountInvoiceTileProps {\n AccountInvoiceTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountInvoiceTile component.\n * @extends {React.PureComponent>}\n */\nclass AccountInvoiceTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountInvoiceTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const {\n config,\n data,\n resources,\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n const { className, heading, links } = config;\n const { accountInvoiceTileDescription } = resources;\n\n const openinvoiceAmount = data.customerBalance.result?.OpenInvoiceBalance || 0;\n const invoiceTotalAmount: string | undefined = formatCurrency(openinvoiceAmount.toFixed(2), currencyCode);\n\n const description = invoiceTotalAmount && format(accountInvoiceTileDescription, invoiceTotalAmount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountInvoiceTile: {\n moduleProps: this.props,\n className: classnames('ms-account-invoice-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: description && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountInvoiceTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-loyalty-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountLoyaltyTileLinks;\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 { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\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 { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountLoyaltyTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountLoyaltyTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountLoyaltyTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-order-templates-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n\n if (!this.props.context.request.params.isEditor && !isChannelTypeB2B(this.props.context.request)) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountOrderTemplatesTile;\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 { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\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 { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\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 { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressList, IAddressListItem, IAddressListProps } from '../../common/components/address-list';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { IAccountManagementAddressViewProps } from './account-management-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address List Component.\n * @param param0 - Root param.\n * @param param0.List - Address list.\n * @param param0.isShowList - Boolean.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressListItem[].\n * @returns - AddressListComponent Node.\n */\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\n if (!isShowList) {\n return null;\n }\n\n return (\n \n {heading}\n {items.map((item: IAddressListItem) => {\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\n const { Error, isShowError, title, message } = error;\n return (\n \n \n {isShowError && (\n \n {title}\n {message}\n \n )}\n {isShowPrimaryButton && primaryButton}\n {editButton}\n {removeButton}\n \n );\n })}\n \n );\n};\n\n/**\n * Address Lists Component.\n * @param param0 - Root param.\n * @param param0.ListAddress - List address.\n * @param param0.heading - List heading.\n * @param param0.isShowEmptyListMessage - Boolean.\n * @param param0.emptyListMessage - Empty list message.\n * @param param0.addButton - Add button.\n * @param param0.primaryAddressList - Primary address.\n * @param param0.otherAddressList - Other address.\n * @returns Address Lists Component Node.\n */\nconst AddressLists: React.FC = ({\n ListAddress,\n heading,\n isShowEmptyListMessage,\n emptyListMessage,\n addButton,\n primaryAddressList,\n otherAddressList\n}) => {\n return (\n \n {heading}\n {isShowEmptyListMessage && emptyListMessage}\n {addButton}\n \n \n \n );\n};\n\n/**\n * AddressAddUpdateComponent.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Account Management Address View Component.\n * @param props - Props.\n * @returns - AccountAddressManagement Module.\n */\nconst AccountManagementAddressView: React.FC = props => {\n const {\n AccountAddressManagement,\n infoMessageBar,\n viewState,\n showAddressList,\n showAddOrUpdateAddress,\n screenReaderNotification\n } = props;\n\n return (\n \n {infoMessageBar}\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {screenReaderNotification}\n \n );\n};\n\nexport default AccountManagementAddressView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n
\n );\n }\n}\n\nexport default CatalogPicker;\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 { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\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 { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISingleOrderTemplateViewProps } from './components';\nimport { IOrderTemplateListViewProps } from './order-template-list';\n\nexport const OrderTemplateListView: React.FC = props => {\n const {\n OrderTemplateList,\n status,\n statusMessage,\n heading,\n OrderTemplates,\n orderTemplates,\n OrderTemplate,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n {status !== 'SUCCESS' && statusMessage}\n \n {createOrderTemplateButton}\n {templateHeaderStatusMessage}\n \n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\n \n {orderTemplates &&\n orderTemplates.map(orderTemplate => {\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n \n );\n};\n\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\nexport default OrderTemplateListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewProps } from './components';\nimport { IOrderTemplateViewProps } from './order-template';\n\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\n const {\n OrderTemplateLines,\n status,\n statusMessage,\n heading,\n ProductsTable,\n ProductsTableHeading,\n orderLines,\n ProductsTableRow,\n productsStatusMessage,\n OrderTemplateActions,\n orderActions,\n pagination,\n itemAddedToCartDialog,\n bulkOrderLineActions,\n isDetailsDisplayed,\n detailedProductView,\n toggleDetailsDisplayed,\n resources: {\n cancelBtnLabel,\n productNumberText,\n productText,\n productUnitPriceText,\n productUOMText,\n productQuantityText,\n productLineCatalogName\n }\n } = props;\n\n const toggleDetails = React.useCallback(() => {\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\n }, [toggleDetailsDisplayed]);\n\n return (\n \n {heading}\n {OrderTemplateActions && (\n \n {orderActions?.addTemplateToBag}\n {orderActions?.renameTemplate}\n {orderActions?.removeTemplate}\n {orderActions?.actionsSplitButton}\n {!isDetailsDisplayed && productsStatusMessage}\n \n )}\n {bulkOrderLineActions}\n {status !== 'SUCCESS' && statusMessage}\n {ProductsTable && orderLines && orderLines.length > 0 && (\n \n \n {ProductsTableHeading}\n \n {orderLines &&\n orderLines.map(product => {\n return _renderItem(product, productQuantityText, ProductsTableRow);\n })}\n \n \n {pagination}\n \n )}\n {itemAddedToCartDialog}\n \n Product Details\n \n
    \n
  • {detailedProductView?.productImage}
  • \n
  • \n {productText}:\n {detailedProductView?.productInfo}\n
  • \n
  • \n {productLineCatalogName}:\n {detailedProductView?.productLineCatalog}\n
  • \n
  • \n {productNumberText}:\n {detailedProductView?.productNumber}\n
  • \n
  • \n {productUnitPriceText}:\n {` `}\n {detailedProductView?.productPrice}\n
  • \n
  • \n {productUOMText}:\n {` `}\n {detailedProductView?.productUnitOfMeasure}\n
  • \n
  • \n {productQuantityText}:\n {detailedProductView?.productQuantityView}\n
  • \n {productsStatusMessage &&
  • {productsStatusMessage}
  • }\n
\n
\n \n \n \n \n
\n );\n};\n\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\n if (!product) {\n return null;\n }\n\n const {\n key,\n selectLine,\n productLineCatalog,\n productImage,\n productPrice,\n productNumber,\n addToBagButton,\n removeButton,\n productInfo,\n productUnitOfMeasure,\n productQuantityView,\n productQuantity,\n popUp,\n isMobile,\n extraActionsPopup,\n isMultipleCatalogFeatureEnabledInHq,\n disabled\n } = product;\n\n const lineVisibility = disabled\n ? {\n pointerEvents: 'none',\n opacity: 0.5\n }\n : {\n pointerEvents: 'auto',\n opacity: 1\n };\n\n const disableElement: React.CSSProperties = lineVisibility as React.CSSProperties;\n\n return (\n \n {selectLine}\n {!isMobile && isMultipleCatalogFeatureEnabledInHq && {productLineCatalog}}\n {productImage}\n {isMobile ? (\n \n
{productNumber}
\n
\n {quantityLabel}:{` `}\n {productQuantity}\n
\n \n ) : (\n {productNumber}\n )}\n {!isMobile && {productInfo}}\n {!isMobile && {productPrice}}\n {!isMobile && {productUnitOfMeasure}}\n {!isMobile && {productQuantityView}}\n {isMobile && {popUp}}\n {!isMobile && !isMultipleCatalogFeatureEnabledInHq && (\n \n {addToBagButton}\n {removeButton}\n \n )}\n {extraActionsPopup}\n
\n );\n};\n\nexport default OrderTemplateLinesView;\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 { 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":["_ref","id","className","text","ariaLabel","telemetryContent","disabled","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","React","Button","Object","assign","description","type","message","errorClassName","classnames","role","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","value","pattern","onChange","undefined","forId","htmlFor","href","SignIn","constructor","props","super","moduleClassName","handleParagraphChange","event","this","config","signInDisclaimer","target","handleSignInHeadingChange","signInHeading","handleSignUpHeadingChange","signUpHeading","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","emailRegex","emailId","SA_FIELDS","AttributeFields","ID","resources","errorMessages","requiredField_email","requriedEmailError","requiredField_password","requriedPasswordError","invalid_email","invalidEmailError","invalid_password","invalidPasswordError","unknown_error","unknownError","EmailRegex","defaultRegex","source","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","render","viewProps","_objectSpread","viewState","isShowLoading","signIn","moduleProps","loading","modal","tag","Modal","isOpen","modalBody","ModalBody","icon","SignInLoadingIconComponent","SignInLoadingMessageComponent","loadingMessage","defaultAADConainer","style","display","aadConainer","signInSection","signInSectionHeading","Msdyn365","editProps","onEdit","requestContext","signInLocalAccount","localAccount","items","_renderInput","emailAddressLabelText","emailAddressAriaLabel","passwordLabelText","forgetPassword","SignInLinkComponent","forgotPasswordButtonAriaLabel","forgotPasswordButtonText","disclaimer","error","SignInErrorComponent","signInButton","SignInButtonComponent","loginButtonAriaLabel","loginButtonText","signInSocialAccount","socialAccounts","_renderSocialAccount","facebookButtonText","facebookButtonAriaLabel","facebookIcon","microsoftButtonText","microsoftButtonAriaLabel","microsoftIcon","signInB2BAccount","_renderB2BSocialAccount","b2bButtonText","b2bButtonAriaLabel","displayB2bAccountManagerSignin","signUpSection","signUpSectionHeading","signUpDescription","SignInDescriptionComponent","signUpDescriptionText","signUpLink","signUpButtonAriaLabel","signUpButtonText","renderView","labelText","wrapper","key","label","SignInLabelComponent","input","SignInInputComponent","iconImage","button","image","_createImageMarkup","SignInTextComponent","_displayB2bAccountManagerSignin","imageProps","gridSettings","imageSettings","pictureClassName","shouldSkipToMainImage","__decorate","observable","observer","SignInLoading","_ref4","Node","HtmlHeadInclude","src","height","width","visibility","Module","map","item","LocalAccount","_ref2","SocialAccount","_ref3","B2BAccount","CartIcon","_cart$cart$CartLines","cartLabel","cartQtyLabel","cart","cartLink","getUrlSync","actionContext","cartItem","CartLines","length","qtyLabel","format","title","onTelemetryClick","CartIconComponent","msdyn365Commerce","createComponentOverride","component","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","heading","additionalContentItemContainer","additionalContentItemLinks","links","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","imageAriaLabel","user","isAuthenticated","showOnlyForGuest","showOnlyForloggedIn","mobileImage","uniqueId","imageJSX","contentImageProps","isMobile","setIsMobile","_updateViewport","viewport","_getViewport","_props$context","device","Type","MsDyn365","isBrowser","innerWidth","_props$context2","xs","w","sm","md","lg","addEventListener","mobileFullImage","moduleType","imagePropertyName","moduleId","InvoiceListView","header","filter","content","invoiceRequestModal","pagination","OrderConfirmationOrderInfomation","orderInformationProps","receiptEmail","createdDate","channelReferenceId","OrderConfirmationSalesLine","_data$product","_data$product2","_data$product3","salesLineProps","salesLine","buyAgainButton","customerTaxPercentage","enabledIncExPrices","app","unitPrice","NetAmount","Quantity","product","ItemId","Name","incExcPriceFormat","DefaultUnitOfMeasure","OrderConfirmationSalesLineForMobile","_data$product4","_data$product5","_data$product6","_data$product7","Price","OrderConfirmationGroupDelivery","deliveryProps","count","processing","address","trackingInfo","pickupDateTimeslot","OrderConfirmationGroup","_ref5","groupProps","delivery","salesLinesProps","salesLines","LineId","OrderConfirmationGroups","_ref6","groupsProps","groups","group","index","OrderConfirmationOrderSummary","_ref7","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","discountAmount","deliveryMode","freightAndGSTMessage","freightAndGSTMessageFromResources","subTotalJSXValue","subTotalAmount","taxAmount","totalAmountValue","currencyFormat","itemProp","tabIndex","OrderConfirmationPayment","_ref8","paymentMethodsProps","methods","OrderConfirmationHelp","_ref9","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref10","_data$orderHydration","_data$orderHydration$","_groups$groups","_data$orderHydration$2","_context$request$chan","_data$accountInformat","_data$orderHydration2","_data$orderHydration3","_bannerLink$linkUrl","backToShoppingLink","alert","orderInfomation","orderSummary","payment","help","bannerImage","bannerLink","orderHydration","result","salesOrder","DeliveryMode","phnRcdId","setPhnRcdId","phnRcdNumber","setPhnRcdNumber","localStorage","getItem","_data$customerInforma","_primaryAddresses$","primaryAddresses","customerInformation","Addresses","e","PhoneRecordId","Phone","DiscountAmount","addressProps","find","addr","_addr$delivery","contentBlockImage","viewports","q","h","lazyload","layout","msdyn365__moduleLayout","formattedDate","Date","CreatedDateTime","toLocaleDateString","dateLocale","dateFormat","currency","channel","Currency","formattedDateByLocale","dateFormatByLocale","taxPercentage","accountInformation","shippingAddressyHeading","phoneNumberLabel","orderRequestDetailsHeading","orderRequestIDLabel","ChannelReferenceId","orderRequestEmailLabel","ReceiptEmail","orderRequestDateLabel","replace","linkUrl","destinationUrl","openInNewTab","paymentSummaryText","freightAndGSTMessageResources","ProductSpecificationRuleType","KRV_CMSDocumentExtensionClass","odataObject","OUN","FileName","FileURL","ItemNumber","ExtensionProperties","i","substr","lastIndexOf","concat","EntityClasses","String","KRV_DownloadCMSDocumentResponseEntityExtensionClass","File","kRV_CMSDocumentsQuery","fileName","DataServiceQuery","DataServiceEntities","kRV_DownloadCMSDocumentAsync","itemNumber","oun","queryResultSettings","resultSettings","createDataServiceRequestForOperation","bypassCache","returnEntity","createKRV_DownloadCMSDocumentInput","callActionOrExecute","callerContext","ProductDownloadButton","productName","cellData","rel","_product$result","_manufacturerItemType","_manufacturerItemType2","ProductSpecification","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","manufacturerItemTypeName","Key","productDownloadButtonState","setProductDownloadButtonState","downloadAbleLink","setDownloadAbleLink","getDownloadAbleLinks","_createDownloadLinks","productDownloadButtonArr","push","async","_props$data$product$r","_props$data$product$r2","productNumber","ProductNumber","_productNumber$substr","Components","substring","trim","apiSettings","then","res","rowData","ArrayExtensions","hasElements","ps","_productSpecification","productSpecification","children","_cellData$props","_cellData$props2","dangerouslySetInnerHTML","__html","Blank","Empty","AssemblyInstructions","Datasheets","UserManual","WarrantyConditions","IsBundleProduct","ProductStatus","DisplayWpPrice","Searchkeywords","manufacturerItemNumber","Zero","ObjectExtensions","isNullOrUndefined","tempArray","_item$props","_item$props2","_item$props3","_item$props4","manufacturerIndex","findIndex","includes","manufacturerObject","splice","unshift","ManufacturerItemTypeName","Value","StringValue","finalArray","filteredArray","obj","AccordionItem","handleHeadingChange","accordionItemTitle","_onToggle","bind","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","ControlledDrawer","toggleButtonText","collapseProps","onToggle","onTextChange","accordionSlots","interactionStyle","accordionState","update","createAccordionStateInput","_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","ref","toggleAllSeparator","collapseAllText","setState","_this$collapseAllButt","current","focus","_this$expandAllButton","AccountCustomerBalance","requestStatementButtonRef","_showRequestStatementModal","isStatementRequestModalOpen","_toggleModal","_this$requestStatemen","_toggleDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_adminShowRequestStatementModal","isFullOrg","statementRequestFullOrg","_requestStatement","_this$props$data$b2bU","_this$requestStatemen2","customer","B2BUserId","b2bUserInformation","statementRequest","FromDate","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","Email","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","BusinessPartnerUsersDataActions","statementRequestMaxDateString","toISOString","split","_get","account","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","customerSincePrefix","availableCreditLabel","balanceOwedLabel","creditExcessLabel","requestStatementButtonLabel","modalHeaderLabel","sendToEmailLabel","fromDateLabel","toDateLabel","submitRequestLabel","cancelLabel","myAccountStatementLabel","fullOrganizationLabel","modalAriaLabel","accountNumber","AccountNumber","createdOn","_formatJoinDate","name","FirstName","LastName","customerCredit","customerAccountBalance","excess","InvoiceAccountCreditLimit","CreditLimit","Balance","InvoiceAccountBalance","creditExcess","_formatCurrency","availableCredit","balanceOwed","backLink","emailAddress","isB2BSite","isChannelTypeB2B","actionBar","IsB2bAdmin","AdminRequestStatementButton","buttonReference","onRequestStatement","onToggleDropdown","myUserAccountLabel","isDropdownShowing","ActionBar","Heading","accountLabels","AccountLabels","accountValues","AccountValues","AvailableCreditComponent","BalanceOwedComponent","CreditExcessComponent","homeButton","BackButton","link","actions","requestStatementModal","RequestStatementModal","email","isModalOpen","toggle","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","canSubmitStatementRequest","onSubmitRequest","selectedUser","selectedUserLabel","maxDateString","currencyCode","formatCurrency","toFixed","date","Intl","DateTimeFormat","locale","month","day","year","computed","creditSummaryLabels","creditSummaryValues","popoverReference","innerRef","onPromoteToSeller","promoteToSellerLabel","onSelectCustomerAccount","onSelectFullOrg","onSelectPromoteToSeller","requestStatementDropdownString","Random","Guid","generateGuid","Popover","placement","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","isFunction","onBlurToDate","horizontalPosition","verticalPosition","autoFocus","fade","ModalHeader","onBlur","max","min","ModalFooter","BackToShopping","AccountInvoiceTileDescription","_mapEditableLinks","linkdata","editableLinks","forEach","linkText","editableLink","additionalProperties","AccountInvoiceTile","handleLinkTextChange","linkIndex","_data$customerBalance","cultureFormatter","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","LinksComponent","AccountLoyaltyTile","signUpLinkText","viewLinkText","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","url","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","DescriptionComponent","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","params","isEditor","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","AddressShow","AddressDetail","AddressList","List","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","editButton","removeButton","Error","isShowError","AddressLists","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","AddressForm","hasError","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","AddressError","AccountAddressManagement","infoMessageBar","showAddressList","showAddOrUpdateAddress","screenReaderNotification","isShowAddresList","isShowAddOrUpdateAddress","CatalogPicker","handleTextChange","paragraph","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","isCatalogsAvailable","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","_getUrlSync","catalogUrl","fullUrl","URL","location","searchParams","set","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","firstOrDefault","Images","Image","generateImageUrl","Uri","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","FooterItem","footerItemClassName","_createHeading","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","ariaHiddenAttr","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","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","OrderTemplateListView","OrderTemplateList","status","statusMessage","OrderTemplates","OrderTemplate","createOrderTemplateButton","templateHeaderStatusMessage","orderTemplate","_renderOrderTemplate","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","orderTemplateName","_renderItem","quantityLabel","ProductsTableRow","selectLine","productLineCatalog","productImage","productPrice","addToBagButton","productInfo","productUnitOfMeasure","productQuantityView","productQuantity","popUp","extraActionsPopup","isMultipleCatalogFeatureEnabledInHq","disableElement","pointerEvents","opacity","OrderTemplateLines","ProductsTable","ProductsTableHeading","orderLines","productsStatusMessage","OrderTemplateActions","orderActions","itemAddedToCartDialog","bulkOrderLineActions","isDetailsDisplayed","detailedProductView","toggleDetailsDisplayed","cancelBtnLabel","productNumberText","productText","productUnitPriceText","productUOMText","productQuantityText","productLineCatalogName","toggleDetails","addTemplateToBag","renameTemplate","removeTemplate","actionsSplitButton","wrapClassName","applicationNode","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","document","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","_renderSiteOptions","_document","_document2","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","defaultImageSettings","xl","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","buildReviewCard","isUserReview","cardProps","headerProps","rating","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","primaryImageSource","PrimaryImageUrl","imageUrl","cropFocalRegion","renderProductImage","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modalHeader","form","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReviewModal","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton"],"sourceRoot":""}