{"version":3,"file":"static/js/13.7970aa58baee7ee2210e.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-button.tsx?ce78","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-error.tsx?5bfb","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-input.tsx?e5a5","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-label.tsx?96f0","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-loading-icon.tsx?eca8","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-loading-message.tsx?9b52","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-success.tsx?2dfb","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/new-sign-up.tsx?3c28","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/new-sign-up.view.tsx?fca0","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/components/navigation-menu-utilities.tsx?ca80","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/navigation-menu.view.tsx?2c75","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/reviews-list.view.tsx?43bb","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/sign-in.view.tsx?a0ea","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.tsx?78b1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-description.tsx?4911","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-links.tsx?bee7","webpack://Msdyn365.Commerce.Online/./src/modules/account-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/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/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["/*!\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 } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpButton {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\r\n \r\n);\r\n\r\nexport default SignUpButton;\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 ISignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpError: 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 SignUpError;\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 ISignUpInputProps {\r\n id?: string;\r\n hasFocus?: boolean;\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 required?: boolean;\r\n className: string;\r\n maxLength?: string;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface ISignUpInput {\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 SignUpInput: React.FC = ({ id, type, value, pattern, required, className, maxLength, onChange }) => (\r\n \r\n);\r\n\r\nexport default SignUpInput;\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 ISignUpLabel {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\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 ISignUpLoadingIcon {\r\n className: string;\r\n}\r\n\r\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\r\n\r\nexport default SignUpLoadingIcon;\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 ISignUpLoadingMessage {\r\n className: string;\r\n message: string;\r\n}\r\n\r\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\r\n
{message}
\r\n);\r\n\r\nexport default SignUpLoadingMessage;\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 ISignUpSuccess {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\r\n const successClassName = `${className}__${type}-success`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpSuccess;\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, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, INodeProps, 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// import { useState } from 'react';\r\n\r\nimport SignUpButtonComponent from './components/new-sign-up-button';\r\nimport SignUpErrorComponent from './components/new-sign-up-error';\r\nimport SignUpInputComponent from './components/new-sign-up-input';\r\nimport SignUpLabelComponent from './components/new-sign-up-label';\r\nimport SignUpLoadingIconComponent from './components/new-sign-up-loading-icon';\r\nimport SignUpLoadingMessageComponent from './components/new-sign-up-loading-message';\r\nimport SignUpSuccessComponent from './components/new-sign-up-success';\r\nimport { INewSignUpConfig, INewSignUpProps, INewSignUpResources } from './new-sign-up.props.autogenerated';\r\n\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\n\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Given Name Verification Interface.\r\n */\r\nexport interface ISignUpGivenNameVerification {\r\n isRequired: boolean;\r\n givenName: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Surname Verification Interface.\r\n */\r\nexport interface ISignUpSurnameVerification {\r\n isRequired: boolean;\r\n surname: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n givenNameVerification: ISignUpGivenNameVerification;\r\n surnameVerification: ISignUpSurnameVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpLoading {\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 ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n config: INewSignUpConfig;\r\n resources: INewSignUpResources;\r\n regionCRM: string;\r\n LastConsentSource: string;\r\n locale: string;\r\n EcomSignUpLegalEntity: string;\r\n}\r\n\r\n/**\r\n *\r\n * SignUp 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 SignUp extends React.Component> {\r\n @observable private isGivenNameVerificationRequried: boolean;\r\n\r\n @observable private isSurnameVerificationRequried: boolean;\r\n\r\n private readonly moduleClassName: string = 'ms-sign-up';\r\n\r\n @observable private emailRegex: string;\r\n\r\n @observable private newPasswordRegex: string;\r\n\r\n @observable private reenterPasswordRegex: string;\r\n\r\n @observable private isEmailVerificationRequried: boolean;\r\n\r\n @observable private isInitialized: boolean;\r\n\r\n @observable private templateVersion: string;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private initializationTimer: any;\r\n\r\n constructor(props: INewSignUpProps) {\r\n super(props);\r\n\r\n this.emailRegex = EmailRegex.defaultRegex.source;\r\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.isEmailVerificationRequried = false;\r\n this.isGivenNameVerificationRequried = false;\r\n this.isSurnameVerificationRequried = false;\r\n this.isInitialized = false;\r\n this.templateVersion = '';\r\n }\r\n\r\n public componentDidMount(): void {\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: INewSignUpProps, nextState: ISignUpViewState): 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 public render(): JSX.Element {\r\n // Locale management\r\n const locale = this.props?.context?.request?.locale;\r\n\r\n const regionCRM: string =\r\n this.props.config.regionLanguageMapping?.find(regionMapping => regionMapping.pageLanguage === locale)?.regionCRM || locale;\r\n const LastConsentSource = this.props.config.Source;\r\n const EcomSignUpLegalEntity = this.props.config.EcomSignUpLegalEntity;\r\n\r\n const { config, resources } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n viewState: {\r\n isShowLoading: !this.isInitialized\r\n },\r\n signUp: {\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 heading: (\r\n \r\n ),\r\n signUpLocalAccount: this._renderLocalAccount(),\r\n locale: locale,\r\n regionCRM: regionCRM,\r\n LastConsentSource: LastConsentSource,\r\n EcomSignUpLegalEntity: EcomSignUpLegalEntity\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles heading content change event.\r\n * @param event - Content editable event.\r\n * @returns - Heading Text.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param event - Content editable event.\r\n * @returns - Paragraph Text.\r\n */\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = event.target.value);\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public _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 const resources: INewSignUpResources = this.props.resources || {};\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 // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['SA_FIELDS']['AttributeFields'].map(\r\n (obj: { ID: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\r\n switch (obj.ID.toLowerCase()) {\r\n case 'emailverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n this.templateVersion = 'v2';\r\n break;\r\n }\r\n case 'email': {\r\n this.emailRegex = obj.PAT;\r\n this.isEmailVerificationRequried = obj.VERIFY;\r\n this.templateVersion = 'v1';\r\n break;\r\n }\r\n case 'givennameverificationcontrol': {\r\n this.isGivenNameVerificationRequried = true;\r\n break;\r\n }\r\n case 'givenname': {\r\n this.isGivenNameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'surnameverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n break;\r\n }\r\n case 'surname': {\r\n this.isSurnameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'newpassword': {\r\n this.newPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n case 'reenterpassword': {\r\n this.reenterPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n switch (obj.UX_INPUT_TYPE.toLowerCase()) {\r\n case 'password': {\r\n obj.PAT_DESC = resources.invalidPasswordError;\r\n break;\r\n }\r\n case 'emailbox': {\r\n obj.PAT_DESC = resources.invalidEmailAddressError;\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n private readonly _updateErrorMessage = () => {\r\n const resources: INewSignUpResources = 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 required_field: resources.requiredFieldMissingError\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 readonly getValue = (v1Value: string, v2Value: string): string => {\r\n if (this.templateVersion) {\r\n return this.templateVersion === 'v1' ? v1Value : v2Value;\r\n }\r\n return '';\r\n };\r\n\r\n private _renderLocalAccount(): ISignUpLocalAccount {\r\n const { config, resources } = this.props;\r\n return {\r\n localAccount: {\r\n id: 'attributeList',\r\n className: `${this.moduleClassName}__account-items attr`\r\n },\r\n items: [\r\n this._renderInput('email', 'email', `${resources.emailAddressLabelText} *`, '255', this.emailRegex, true),\r\n // this._renderInput('email_rep', 'email', 'Repeat your email address', '255'),\r\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex, true),\r\n this._renderInput(\r\n 'reenterPassword',\r\n 'password',\r\n resources.confirmPasswordLabelText,\r\n undefined,\r\n this.reenterPasswordRegex,\r\n true\r\n ),\r\n this._renderInput('givenName', 'text', `${resources.firstNameLabelText} *`, resources.firstNameMaxLength, undefined, true),\r\n this._renderInput('surname', 'text', `${resources.lastNameLabelText} *`, resources.lastNameMaxLength, undefined, true),\r\n this._renderInput('postalCode', 'text', resources.addressZipCodeLabelOptional, '8'),\r\n this._renderInput('extension_Birthday', 'date', resources.birthdayLabelText),\r\n // TODO Manage spaces\r\n this._renderInput('phone_number', 'tel', resources.phoneLabelText, '15'),\r\n this._renderInput('extension_RegionCRM', 'text', 'RegionCRM'),\r\n this._renderInput('extension_LastConsentSource', 'text', 'LastConsentSource'),\r\n this._renderInput('extension_EcomSignUpLegalEntity', 'text', 'EcomSignUpLegalEntity'),\r\n this._renderInput('extension_GenericMarketing', 'checkbox', ''),\r\n this._renderInput('extension_Profiling', 'checkbox', ''),\r\n this._renderInput('extension_ThirdParty', 'checkbox', '')\r\n ],\r\n emailVerification: {\r\n isRequired: this.isEmailVerificationRequried,\r\n email: this._renderInput(\r\n this.getValue('email_ver_input', 'emailVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'emailVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n buttonWrapper: {\r\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\r\n 'data-claim_id': 'email'\r\n },\r\n buttons: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n successMessage: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n \r\n ]\r\n },\r\n givenNameVerification: {\r\n isRequired: this.isGivenNameVerificationRequried,\r\n givenName: this._renderInput(\r\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'givenNameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n surnameVerification: {\r\n isRequired: this.isSurnameVerificationRequried,\r\n surname: this._renderInput(\r\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'surnameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n buttons: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n }\r\n\r\n private _renderInput(\r\n id: string,\r\n type: string,\r\n labelText: string,\r\n maxLength?: string,\r\n pattern?: string,\r\n required?: boolean,\r\n value?: any,\r\n onChange?: any,\r\n cssClassName?: string\r\n ): ISignUpItem {\r\n const className = `${this.moduleClassName}__account-item`;\r\n return {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\r\n },\r\n key: id,\r\n label: (\r\n \r\n ),\r\n errorMessage: (\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n }\r\n}\r\n\r\nexport default SignUp;\r\n","/* eslint-disable react/jsx-key */\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\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from './new-sign-up';\r\n\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\n// import { SHA256 } from 'crypto-js'; // To manage customdimensions GA from here if it doesn't work in the gtm script\r\n\r\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\r\n return (\r\n <>\r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {errorMessage &&\r\n errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode) => {\r\n return <>{button};\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = props => {\r\n const {\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = props.signUpLocalAccount;\r\n\r\n const locale = props.locale;\r\n const regionCRM = props.regionCRM;\r\n const EcomSignUpLegalEntity = props.EcomSignUpLegalEntity;\r\n let LastConsentSource: string;\r\n switch (props.LastConsentSource) {\r\n case 'FinanceOperationEU':\r\n LastConsentSource = 'Finance&Operation EU';\r\n break;\r\n case 'FinanceOperationUS':\r\n LastConsentSource = 'Finance&Operation US';\r\n break;\r\n default:\r\n LastConsentSource = 'Finance&Operation EU';\r\n }\r\n\r\n const [birthDate, setBirthDate] = React.useState('');\r\n const [formatDateState, setFormatDateState] = React.useState(true);\r\n const pattern = /^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^((16|[248][048]|[3579][26])00)|(1[6789]|[2-9][0-9])(0[48]|[13579][26]|[2468][048])\\/02\\/(0[1-9]|1[0-9]|2[0-9])$|^(1[6789]|[2-9][0-9])[0-9]{2}\\/02\\/(0[1-9]|1[0-9]|2[0-8])$/gm;\r\n const patternUS = /^((0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^02\\/(0[1-9]|1[0-9]|2[0-9])$/gm;\r\n\r\n const checkDate = (event: React.KeyboardEvent) => {\r\n const value = event.currentTarget.value;\r\n const today = new Date();\r\n if (value !== '' && (!value.match(locale !== 'en-US' ? pattern : patternUS) || today < new Date(value))) {\r\n setFormatDateState(false);\r\n } else {\r\n setFormatDateState(true);\r\n }\r\n if (locale === 'en-US') {\r\n setBirthDate(`1900/${value}`);\r\n }\r\n };\r\n if (typeof window !== 'undefined') {\r\n const signUpButton: HTMLElement = document.getElementById('continue') as HTMLElement;\r\n // console.log(document.getElementById('continue'));\r\n if (signUpButton !== undefined) {\r\n signUpButton.onclick = e => {\r\n if (!formatDateState) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n }\r\n }\r\n\r\n const profiling_ref = React.useRef(null);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n if (locale.toLowerCase() === 'en-us') {\r\n const { checked } = e.target;\r\n profiling_ref.current!.checked = checked;\r\n }\r\n };\r\n\r\n // DONE guest state session variable; check that user ID (the one that's NOT an FC) exists alongside the user not being auth (since if not auth = loyalty)\r\n\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignUpItem) => {\r\n switch (item.key) {\r\n case 'email':\r\n if (emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n const emailRepErrorText: string = props.resources.emailRepErrorText ?? null;\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const email: HTMLInputElement = document.getElementById(\r\n 'email'\r\n ) as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById(\r\n 'text-error'\r\n ) as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email_rep.pattern = email.value;\r\n // I hope the following works well with Azure\r\n email_rep.title = emailRepErrorText;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n \r\n {\r\n const email: HTMLInputElement = document.getElementById('email') as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById('text-error') as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email.pattern = email_rep.value;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n case 'givenName':\r\n if (givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'surname':\r\n if (surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'extension_Birthday':\r\n return (\r\n <>\r\n
\r\n \r\n {/* TODO Test US elements */}\r\n {locale === 'en-US' ? (\r\n <>\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n {/* // TODO? Validate that it's not in the future, and possibly that it's after at least 18 years */}\r\n e.preventDefault()}\r\n onChange={() => {\r\n if (typeof window !== 'undefined') {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_Birthday'\r\n ) as HTMLInputElement;\r\n birthday_proxy.onchange = event => {\r\n birthday_hidden.value = birthday_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n e.preventDefault()}\r\n style={{ display: 'none' }}\r\n />\r\n \r\n )}\r\n
\r\n {props.config.BirthdayText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'postalCode':\r\n return (\r\n <>\r\n \r\n {props.config.PostalText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'phone_number':\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const phone_number_proxy: HTMLInputElement = document.getElementById(\r\n 'phone_number'\r\n ) as HTMLInputElement;\r\n const phone_number_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_PhoneNumber'\r\n ) as HTMLInputElement;\r\n phone_number_proxy.onchange = event => {\r\n phone_number_hidden.value = phone_number_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n \r\n {props.config.PhoneText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'extension_GenericMarketing':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_Profiling':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_ThirdParty':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_RegionCRM':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_LastConsentSource':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_EcomSignUpLegalEntity':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return ;\r\n }\r\n })}\r\n {disclaimer}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: 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 SignUpView: React.FC = props => {\r\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { INavigationMenuViewProps } from '@msdyn365-commerce-modules/navigation-menu';\r\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport * as React from 'react';\r\n\r\nimport { INavigationMenuProps } from '../../definition-extensions/navigation-menu.ext.props.autogenerated';\r\n\r\n/**\r\n * Represent navigation menu state interface.\r\n */\r\nexport interface INavigationState {\r\n parentMenu?: number;\r\n activeMenu?: number;\r\n categoryImage?: Msdyn365.IImageData[] | null;\r\n mobileViewLabelText?: string;\r\n drawerKeyValue: Msdyn365.IDictionary;\r\n //isOnlyMobile: boolean;\r\n //isNavOpen: boolean;\r\n}\r\n\r\n//TODO clean\r\n/* interface INavigationState {\r\n parentMenu?: number;\r\n activeMenu?: number;\r\n categoryImage?: IImageData[] | null;\r\n categoryImageAltText: string;\r\n drawerKeyValue: IDictionary;\r\n mobileViewLabelText?: string;\r\n }\r\n */\r\n\r\n/**\r\n * NavMenuConstants enum.\r\n */\r\nexport enum NavMenuConstants {\r\n zero = 0,\r\n one = 1,\r\n two = 2,\r\n three = 3,\r\n four = 4,\r\n escapeKey = 27,\r\n rootMenu = 1\r\n}\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n * Get category image.\r\n * @param props - Navigation menu props.\r\n * @param categoryImage - Category Image.\r\n * @param alttext - AltText String.\r\n * @returns Returns Node.\r\n */\r\nexport const getCategoryImage = (\r\n props: INavigationMenuViewProps & INavigationMenuProps<{}>,\r\n categoryImage: string,\r\n alttext: string\r\n): React.ReactNode | null => {\r\n const categoryImageUrl = generateImageUrl(`${categoryImage}`, props.context.actionContext.requestContext.apiSettings);\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n sm: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n md: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n lg: { q: 'w=300&h=250&m=8', w: 0, h: 0 }\r\n\r\n // FROM Adventure-works\r\n // xs: { q: 'w=162&h=162&m=8', w: 0, h: 0 },\r\n // sm: { q: 'w=162&h=162&m=8', w: 0, h: 0 },\r\n // md: { q: 'w=203&h=203&m=8', w: 0, h: 0 },\r\n // lg: { q: 'w=203&h=203&m=8', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n if (categoryImageUrl !== undefined) {\r\n const imageData: Msdyn365.IImageData = { src: categoryImageUrl };\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { INavigationMenuProps, ICmsNavItemsData } from '../definition-extensions/navigation-menu.ext.props.autogenerated';\r\nimport { IMenuItemData, INavigationMenuViewProps } from '@msdyn365-commerce-modules/navigation-menu';\r\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n Drawer,\r\n ICollapseProps,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IPayLoad,\r\n ITelemetryContent,\r\n Module,\r\n Node,\r\n onTelemetryClick,\r\n IDrawerState\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport MsDyn365, { IImageData } from '@msdyn365-commerce/core';\r\nimport { getCategoryImage, INavigationState, NavMenuConstants } from './components/navigation-menu-utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * NavigationMenuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class NavigationMenuView extends React.PureComponent, INavigationState> {\r\n private currentLevel: number = 0;\r\n\r\n private readonly _positionInSetOffset: number = 1;\r\n private readonly escapeKey: number = NavMenuConstants.escapeKey;\r\n private readonly menuNode: React.RefObject;\r\n //TODO remove\r\n //private readonly menuItemRef: React.RefObject;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n private readonly promotionalImage: IImageData[] = [];\r\n private readonly payLoad: IPayLoad;\r\n\r\n //TODO validate this\r\n //private readonly supportedLevel: number = 2;\r\n private readonly supportedLevel: number = NavMenuConstants.four;\r\n\r\n constructor(props: INavigationMenuViewProps & INavigationMenuProps<{}>) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n this.state = { activeMenu: undefined, mobileViewLabelText: '', parentMenu: undefined, drawerKeyValue: {} };\r\n this._closeSubmenu = this._closeSubmenu.bind(this);\r\n this._escFunction = this._escFunction.bind(this);\r\n this._layout2022closeSubmenu = this._layout2022closeSubmenu.bind(this);\r\n this._layout2022escFunction = this._layout2022escFunction.bind(this);\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.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\r\n const { menuItemData } = this.props;\r\n if (ArrayExtensions.hasElements(menuItemData) && ArrayExtensions.hasElements(menuItemData[0].subMenu)) {\r\n const imagesource = menuItemData[0].subMenu[0].imageSource ? menuItemData[0].subMenu[0].imageSource : '';\r\n const linkText = menuItemData[0].subMenu[0].linkText ? menuItemData[0].subMenu[0].linkText : '';\r\n this.promotionalImage = [{ src: imagesource, altText: linkText }];\r\n\r\n // Read category and promotional image in one array\r\n if (ArrayExtensions.hasElements(menuItemData[0].subMenu[0].promotionalContent)) {\r\n menuItemData[0].subMenu[0].promotionalContent.map(item => {\r\n const imageSource = item.image.src;\r\n this.promotionalImage.push({\r\n src: imageSource,\r\n altText: item.text,\r\n additionalProperties: { linkUrl: item.linkUrl.destinationUrl }\r\n });\r\n return null;\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser) {\r\n //FIXME change if\r\n if (this.props.config.layout2022 === undefined || !this.props.config.layout2022) {\r\n document.body && document.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document.body && document.body.addEventListener('mousedown', this._handleClickOutside);\r\n } else {\r\n document.body && document.addEventListener('keydown', (this._layout2022escFunction as unknown) as EventListener, false);\r\n document.body && document.body.addEventListener('mousedown', this._layout2022handleClickOutside);\r\n }\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n //FIXME change if\r\n if (this.props.config.layout2022 === undefined || !this.props.config.layout2022) {\r\n document.body && document.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document.body && document.body.removeEventListener('mousedown', this._handleClickOutside);\r\n } else {\r\n document.body && document.removeEventListener('keydown', (this._layout2022escFunction as unknown) as EventListener, false);\r\n document.body && document.body.removeEventListener('mousedown', this._layout2022handleClickOutside);\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { isMobileView } = this.props;\r\n\r\n this.currentLevel = 1;\r\n return <>{isMobileView ? this._renderMobileMenu() : this._renderDesktopMenu()};\r\n }\r\n\r\n /**\r\n * Method to render mobile menu.\r\n * @returns Jsx element.\r\n */\r\n private _renderMobileMenu(): JSX.Element {\r\n const { isMobileView, menuItemData, Navigation } = this.props;\r\n return (\r\n \r\n {menuItemData.map((menuItem: IMenuItemData, posinset: number) => {\r\n //FIXME invert the condition\r\n if (this.props.config.layout2022 === undefined || !this.props.config.layout2022)\r\n return this._renderDrawerMenu(menuItem);\r\n else return this._layout2022renderDrawerMenu(menuItem, menuItemData.length, posinset + this._positionInSetOffset);\r\n })}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render desktop menu.\r\n * @returns Jsx element.\r\n */\r\n private _renderDesktopMenu(): JSX.Element {\r\n const { MenuList, Navigation } = this.props;\r\n //FIXME invert condition\r\n if (this.props.config.layout2022 === undefined || !this.props.config.layout2022)\r\n return (\r\n \r\n \r\n {this._renderDisplay()}\r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n {this._layout2022renderDisplay()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDrawerMenu(menuItem: IMenuItemData): JSX.Element | null {\r\n if (menuItem && menuItem.subMenu && menuItem.subMenu.length > 0) {\r\n return this._renderDrawer(menuItem);\r\n } else {\r\n return this._renderLinkMenuItem(menuItem);\r\n }\r\n }\r\n\r\n private _renderDrawer(menuItem: IMenuItemData): JSX.Element | null {\r\n const toggleButtonText = menuItem.linkText;\r\n return (\r\n \r\n
\r\n {menuItem.subMenu!.map((menuSubItem: IMenuItemData) => {\r\n return this._renderDrawerLink(menuSubItem);\r\n })}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _renderLinkText(linkText: string | undefined): JSX.Element {\r\n return {linkText};\r\n }\r\n\r\n private _renderDrawerLink(item: IMenuItemData): JSX.Element | null {\r\n if (item && item.linkText && item.linkURL && item.linkURL.length > 0) {\r\n return this._renderLinkMenuItem(item);\r\n } else if (item && item.linkText && !item.linkURL) {\r\n return this._renderSpanMenuItem(item);\r\n }\r\n return null;\r\n }\r\n\r\n private _renderDisplay(): JSX.Element[] {\r\n const { ListItem, menuItemData, isMobileView } = this.props;\r\n const { activeMenu } = this.state;\r\n const menuItemList: JSX.Element[] = [];\r\n\r\n if (isMobileView && activeMenu !== undefined && menuItemData.length > 0) {\r\n let menuItem: IMenuItemData = {};\r\n for (let i = 0; i < menuItemData.length; i++) {\r\n if (menuItemData[i] && menuItemData[i].id === activeMenu) {\r\n menuItem = menuItemData[i];\r\n this.setState({ parentMenu: undefined, mobileViewLabelText: menuItemData[i].linkText });\r\n break;\r\n }\r\n menuItem = this._getFromSubMenu(menuItemData[i]) as IMenuItemData;\r\n if (menuItem && menuItem.id === activeMenu) {\r\n break;\r\n }\r\n }\r\n\r\n menuItem &&\r\n menuItemList.push(\r\n \r\n {' '}\r\n {this._createMenuItemList(menuItem)}{' '}\r\n \r\n );\r\n } else {\r\n menuItemData.forEach((item: IMenuItemData, index: number) => {\r\n menuItemList.push(\r\n \r\n {this._createMenuItemList(item)}\r\n \r\n );\r\n });\r\n }\r\n\r\n return menuItemList;\r\n }\r\n\r\n private _getFromSubMenu(item?: IMenuItemData): IMenuItemData | null {\r\n const subMenus = item && item.subMenu;\r\n if (subMenus && subMenus.length > 0) {\r\n for (let i = 0; i <= subMenus.length - 1; i++) {\r\n if (subMenus[i].id === this.state.activeMenu) {\r\n this.setState({ parentMenu: item && item.id, mobileViewLabelText: subMenus[i].linkText });\r\n return subMenus[i];\r\n }\r\n const found = this._getFromSubMenu(subMenus[i]);\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private _createMenuItemList(menuItemData: IMenuItemData): JSX.Element | null {\r\n if (menuItemData && menuItemData.subMenu && menuItemData.subMenu.length > 0) {\r\n if (this.props.isMobileView && this.state.activeMenu !== undefined) {\r\n return this._renderSubMenu(menuItemData.subMenu, menuItemData.id);\r\n } else {\r\n return (\r\n \r\n {this._renderButtonMenuItem(menuItemData)}\r\n {this._renderSubMenu(menuItemData.subMenu, menuItemData.id)}\r\n \r\n );\r\n }\r\n } else if (menuItemData && menuItemData.linkText && menuItemData.linkURL && menuItemData.linkURL.length > 0) {\r\n return this._renderLinkMenuItem(menuItemData);\r\n } else if (menuItemData && menuItemData.linkText && !menuItemData.linkURL) {\r\n return this._renderSpanMenuItem(menuItemData);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderSubMenu(subMenus?: IMenuItemData[], activeMenu?: number): JSX.Element | null {\r\n const { isMobileView, ListItem } = this.props;\r\n /*if (activeMenu && this.state.activeMenu !== activeMenu) {\r\n return null;\r\n }*/\r\n\r\n if (!subMenus || subMenus.length === 0) {\r\n return null;\r\n }\r\n\r\n let levelClassName: string = '';\r\n const menuOptions =\r\n subMenus &&\r\n subMenus.map((option: IMenuItemData, idx: number) => {\r\n const hasOptions = option.subMenu && option.subMenu.length > 0;\r\n let menuItem: JSX.Element | null;\r\n if (hasOptions && isMobileView) {\r\n menuItem = this._renderButtonMenuItem(option, activeMenu, idx);\r\n } else {\r\n menuItem = option.linkURL ? this._renderLinkMenuItem(option, idx) : this._renderSpanMenuItem(option);\r\n }\r\n\r\n let subMenu;\r\n\r\n if (hasOptions) {\r\n this.currentLevel++;\r\n if (this.currentLevel <= this.supportedLevel - 1) {\r\n levelClassName = `level-${this.currentLevel.toString()}`;\r\n subMenu = this._renderSubMenu(option.subMenu, isMobileView ? option.id : undefined);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {menuItem}\r\n {subMenu}\r\n \r\n );\r\n });\r\n\r\n return this._renderMenu(levelClassName, menuOptions, activeMenu);\r\n }\r\n\r\n private _renderButtonMenuItem(option: IMenuItemData, activeMenu?: number, index?: number): JSX.Element | null {\r\n const { Button } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderLinkMenuItem(option: IMenuItemData, index?: number): JSX.Element | null {\r\n const { Link } = this.props;\r\n const linkText = option.linkText ? option.linkText : '';\r\n //const imagesource = option.imageSource ? option.imageSource : '';\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderSpanMenuItem(option: IMenuItemData, index?: number): JSX.Element | null {\r\n const { Span } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderMenu(level: string, menuOptions: JSX.Element[], currentItem?: number): JSX.Element | null {\r\n const { DivContainer, MenuList, showCategoryImage } = this.props;\r\n this.currentLevel = 1;\r\n if (showCategoryImage) {\r\n return (\r\n \r\n \r\n {menuOptions}\r\n \r\n {\r\n //TODO remove\r\n /* \r\n {this.state.categoryImage !== undefined && this.state.categoryImage !== null && this._getCategoryImage(this.state.categoryImage)}\r\n */\r\n }\r\n \r\n );\r\n }\r\n return (\r\n \r\n {menuOptions}\r\n \r\n );\r\n }\r\n //TODO remove\r\n\r\n // private _updateCategoryImage = (categoryImage: string) => () => {\r\n // this.setState({\r\n // categoryImage: categoryImage !== '' ? categoryImage : 'empty'\r\n // });\r\n //}\r\n private _handleDropdownToggle = (data: IMenuItemData, parentId?: number) => () => {\r\n if (!this.props.isMobileView) {\r\n this.setState({\r\n activeMenu: this.state.activeMenu && this.state.activeMenu === data.id! ? undefined : data.id!,\r\n parentMenu: parentId\r\n });\r\n //TODO remove\r\n // if (this.props.showCategoryImage) {\r\n // this._updateCategoryImage(data.imageSource!)();\r\n // }\r\n } else {\r\n this.setState({\r\n activeMenu: data.id,\r\n mobileViewLabelText: data.linkText!,\r\n parentMenu: parentId\r\n });\r\n }\r\n\r\n this._resetFocus();\r\n };\r\n\r\n private _resetFocus = () => {\r\n if (this.props.isMobileView) {\r\n setTimeout(() => {\r\n this.menuNode && this.menuNode.current && this.menuNode.current.focus();\r\n }, 0);\r\n }\r\n };\r\n\r\n // tslint:disable-next-line:no-any\r\n private _handleClickOutside = (event: any) => {\r\n if (this.menuNode.current && !this.menuNode.current.contains(event.target)) {\r\n this.setState({ activeMenu: undefined, mobileViewLabelText: '' });\r\n }\r\n };\r\n\r\n private _closeSubmenu(): void {\r\n if (!this.props.isMobileView) {\r\n this.setState({ activeMenu: undefined, mobileViewLabelText: '' });\r\n }\r\n }\r\n private _escFunction = (event: React.KeyboardEvent) => {\r\n if (event.keyCode === this.escapeKey) {\r\n this._closeSubmenu();\r\n }\r\n };\r\n //TODO remove\r\n // private _getCategoryImage = (categoryImage: string): React.ReactNode | null => {\r\n\r\n // const categoryImageUrl = generateImageUrl(`${categoryImage}`, this.props.context.actionContext.requestContext.apiSettings);\r\n // const defaultImageSettings: IImageSettings = {\r\n // viewports: {\r\n // xs: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n // sm: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n // md: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n // lg: { q: 'w=300&h=250&m=8', w: 0, h: 0 }\r\n // },\r\n // lazyload: true\r\n // };\r\n // if (categoryImageUrl !== undefined) {\r\n // const ImageData: IImageData = { src: categoryImageUrl };\r\n // return (\r\n // \r\n // );\r\n // }\r\n // return null;\r\n // }\r\n\r\n /////////////////////////////////////////////////\r\n /////// LAYOUT 2022 ////////////////////////////\r\n ////////////////////////////////////////////////\r\n\r\n /**\r\n * Method to render drawer menu.\r\n * @param menuItem -Menuitem data.\r\n * @param setSize -Setsize data.\r\n * @param posinset -Current position.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderDrawerMenu(menuItem: IMenuItemData, setSize: number, posinset: number): JSX.Element | null {\r\n if (menuItem && menuItem.subMenu && ArrayExtensions.hasElements(menuItem.subMenu)) {\r\n return this._layout2022renderDrawer(menuItem, setSize, posinset, true);\r\n }\r\n return this._layout2022renderLinkMenuItem(menuItem, undefined, true, false, setSize, posinset);\r\n }\r\n\r\n /**\r\n * Method to render drawer component.\r\n * @param menuItem -Menuitem data.\r\n * @param setSize -Setsize data.\r\n * @param posinset -Current position.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderDrawer(menuItem: IMenuItemData, setSize?: number, posinset?: number, firstLevel?: boolean): JSX.Element | null {\r\n const toggleButtonText = menuItem.linkText;\r\n const keyValue = this.state.drawerKeyValue;\r\n const buttonText = toggleButtonText !== undefined ? toggleButtonText : '';\r\n const keys = keyValue !== undefined ? keyValue : {};\r\n const { isMobileView } = this.props;\r\n\r\n let isDrawerOpen = false;\r\n if (keys[buttonText]) {\r\n isDrawerOpen = true;\r\n }\r\n const colProps: ICollapseProps = { isOpen: isDrawerOpen };\r\n\r\n\r\n const bottomLinkData: ICmsNavItemsData[] = firstLevel ? this.props.config.cmsNavItems?.filter(navItem => navItem.linkText === buttonText) || [] : [];\r\n const bottomAllLink: IMenuItemData = {\r\n linkText: bottomLinkData[0]?.bottomLinkText || \"\",\r\n linkURL: bottomLinkData[0]?.bottomLinkUrl?.destinationUrl || \"\",\r\n shouldOpenNewTab: false,\r\n }\r\n return (\r\n \r\n
\r\n {menuItem.subMenu!.map((menuSubItem: IMenuItemData, currentPos: number) => {\r\n if (ArrayExtensions.hasElements(menuSubItem.subMenu)) {\r\n return this._layout2022renderDrawer(\r\n menuSubItem,\r\n bottomAllLink.linkText === \"\" ? menuItem.subMenu?.length : menuItem.subMenu!.length + 1,\r\n currentPos + this._positionInSetOffset\r\n );\r\n }\r\n return this._layout2022renderDrawerLink(\r\n menuSubItem,\r\n bottomAllLink.linkText === \"\" ? menuItem.subMenu?.length : menuItem.subMenu!.length + 1,\r\n currentPos + this._positionInSetOffset\r\n );\r\n })}\r\n {bottomAllLink.linkText === \"\" ? <> :\r\n this._layout2022renderDrawerLink(\r\n bottomAllLink,\r\n menuItem.subMenu!.length + 1,\r\n menuItem.subMenu!.length + this._positionInSetOffset\r\n )\r\n }\r\n
\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render link.\r\n * @param linkText -Text on Menu link.\r\n * @param setSize -Setsize data.\r\n * @param posinset -Current position.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderLinkText(\r\n linkText: string | undefined,\r\n setSize: number | undefined,\r\n posinset: number | undefined\r\n ): JSX.Element {\r\n return (\r\n \r\n {linkText}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render drawer link.\r\n * @param item -Single Menuitem.\r\n * @param setSize -Setsize data.\r\n * @param posinset -Current position.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderDrawerLink(item: IMenuItemData, setSize: number | undefined, posinset: number): JSX.Element | null {\r\n if (item && item.linkText && item.linkURL && item.linkURL.length > 0) {\r\n return this._layout2022renderLinkMenuItem(item, undefined, true, false, setSize, posinset);\r\n } else if (item && item.linkText && !item.linkURL) {\r\n return this._layout2022renderSpanMenuItem(item);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Method to generate menu.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderDisplay(): JSX.Element[] {\r\n const { ListItem, menuItemData, isMobileView } = this.props;\r\n const { activeMenu } = this.state;\r\n const menuItemList: JSX.Element[] = [];\r\n\r\n if (isMobileView && activeMenu !== undefined && menuItemData.length > 0) {\r\n let menuItem: IMenuItemData = {};\r\n for (const menuItemDatum of menuItemData) {\r\n if (menuItemDatum && menuItemDatum.id === activeMenu) {\r\n menuItem = menuItemDatum;\r\n this.setState({ parentMenu: undefined });\r\n break;\r\n }\r\n menuItem = this._layout2022getFromSubMenu(menuItemDatum) as IMenuItemData;\r\n if (menuItem && menuItem.id === activeMenu) {\r\n break;\r\n }\r\n }\r\n\r\n menuItem &&\r\n menuItemList.push(\r\n \r\n {' '}\r\n {this._layout2022createMenuItemList(menuItem)}{' '}\r\n \r\n );\r\n } else {\r\n menuItemData.forEach((item: IMenuItemData, index: number) => {\r\n menuItemList.push(\r\n \r\n {this._layout2022createMenuItemList(item)}\r\n \r\n );\r\n });\r\n }\r\n\r\n return menuItemList;\r\n }\r\n\r\n /**\r\n * Method to get data for submenu.\r\n * @param item -Single Menuitem.\r\n * @returns IMenuItemData.\r\n */\r\n private _layout2022getFromSubMenu(item?: IMenuItemData): IMenuItemData | null {\r\n const subMenus = item && item.subMenu;\r\n if (subMenus && subMenus.length > 0) {\r\n for (let i = 0; i <= subMenus.length - 1; i++) {\r\n if (subMenus[i].id === this.state.activeMenu) {\r\n this.setState({ parentMenu: item?.id });\r\n return subMenus[i];\r\n }\r\n const found = this._layout2022getFromSubMenu(subMenus[i]);\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Method to create item list.\r\n * @param menuItemData -Single Menuitem.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022createMenuItemList(menuItemData: IMenuItemData, index?: number, level?: number): JSX.Element | null {\r\n if (menuItemData && menuItemData.subMenu && menuItemData.subMenu.length > 0) {\r\n if (this.props.isMobileView && this.state.activeMenu !== undefined) {\r\n return this._layout2022renderSubMenu(menuItemData.subMenu, menuItemData.id, undefined, menuItemData.linkText);\r\n }\r\n return (\r\n <>\r\n {this._layout2022renderButtonMenuItem(menuItemData)}\r\n {this._layout2022renderSubMenu(menuItemData.subMenu, menuItemData.id, undefined, menuItemData.linkText, true)}\r\n \r\n );\r\n } else if (menuItemData && menuItemData.linkText && menuItemData.linkURL && menuItemData.linkURL.length > 0) {\r\n return this._layout2022renderLinkMenuItem(menuItemData, menuItemData.id, false, true);\r\n } else if (menuItemData && menuItemData.linkText && !menuItemData.linkURL) {\r\n return this._layout2022renderSpanMenuItem(menuItemData, menuItemData.id, true);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _layout2022renderSubMenu(subMenus?: IMenuItemData[], activeMenu?: number, IsSubMenu?: boolean, nameParentElement?: string, firstLevel?: boolean): JSX.Element | null {\r\n const { isMobileView, ListItem } = this.props;\r\n const enableMultiSupportMenu = this.props.config.enableMultilevelMenu || false;\r\n const subMenuLevel = 3;\r\n const multiLevelSupportedMenu = this.props.config.menuLevelSupport || subMenuLevel;\r\n\r\n // Const isParentMenu:boolean= false;\r\n if (activeMenu && this.state.activeMenu !== activeMenu) {\r\n //this.props.context.telemetry.error('Navigation Active menu content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n if (!subMenus || subMenus.length === 0) {\r\n //this.props.context.telemetry.error('Navigation Submenu content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n let levelClassName: string = '';\r\n\r\n const bottomLinkData: ICmsNavItemsData[] = nameParentElement ? this.props.config.cmsNavItems?.filter(navItem => navItem.linkText === nameParentElement) || [] : [];\r\n const bottomLinkDataFiltered: ICmsNavItemsData[] = bottomLinkData.filter(navItem => navItem.bottomLinkText != undefined) || [];\r\n const bottomLinkPresent: boolean = firstLevel && bottomLinkDataFiltered.length > 0 || false;\r\n const bottomMenuLink: JSX.Element | null = bottomLinkPresent\r\n ? this._layout2022renderLinkMenuItem({\r\n linkText: bottomLinkData[0]?.bottomLinkText || \"\",\r\n linkURL: bottomLinkData[0]?.bottomLinkUrl?.destinationUrl || \"\",\r\n shouldOpenNewTab: false,\r\n })\r\n : null;\r\n const menuOptions =\r\n subMenus &&\r\n subMenus.map((option: IMenuItemData, idx: number) => {\r\n const hasOptions = option.subMenu && option.subMenu.length > 0;\r\n\r\n let menuItem: JSX.Element | null;\r\n\r\n if (hasOptions && isMobileView) {\r\n menuItem = this._layout2022renderButtonMenuItem(option, activeMenu, idx);\r\n } else {\r\n menuItem = option.linkURL\r\n ? this._layout2022renderLinkMenuItem(option, idx)\r\n : this._layout2022renderSpanMenuItem(option);\r\n }\r\n\r\n let subMenu;\r\n\r\n const haveSubmenu = hasOptions && enableMultiSupportMenu && this.currentLevel <= Math.round(multiLevelSupportedMenu) - 1;\r\n if (haveSubmenu) {\r\n this.currentLevel++;\r\n levelClassName = enableMultiSupportMenu ? `level-${this.currentLevel.toString()}` : '';\r\n subMenu = this._layout2022renderSubMenu(option.subMenu, isMobileView ? option.id : undefined, true);\r\n }\r\n return (\r\n \r\n {menuItem}\r\n {subMenu}\r\n \r\n );\r\n });\r\n return this._layout2022renderMenu(levelClassName, menuOptions, activeMenu, IsSubMenu, bottomLinkPresent, bottomMenuLink);\r\n }\r\n\r\n /**\r\n * Method to render button menu item.\r\n * @param option -Single Menuitem.\r\n * @param activeMenu -Active menu number.\r\n * @param index -Active menu index.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderButtonMenuItem(option: IMenuItemData, activeMenu?: number, index?: number): JSX.Element | null {\r\n const { Button } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render link menu item.\r\n * @param option -Single Menuitem.\r\n * @param index -Active menu index.\r\n * @param hoverEffect -Active menu effect.\r\n * @param isParent -Is parent menu.\r\n * @param setSize -Setsize data.\r\n * @param posinset -Current position.\r\n * @returns Jsx element.\r\n */\r\n\r\n private sendEventGA(option: IMenuItemData, isMobileView: boolean) {\r\n // console.log(option.linkText);\r\n // let menu_twin = [];\r\n // let found = false;\r\n let paths: string[] = [];\r\n\r\n if (!isMobileView) {\r\n const menu = document.querySelectorAll('ul.ms-nav__list')[3];\r\n Array.from(menu?.children!).forEach(li_1 => {\r\n if (li_1?.childElementCount! > 1) {\r\n const level_1 = li_1.querySelector('button')!.textContent;\r\n const level_2_class = isMobileView ? 'drawer__button' : 'level-2';\r\n if (li_1.getElementsByClassName(level_2_class).length > 0) {\r\n Array.from(li_1?.querySelectorAll('li.ms-nav__list__item.havesubmenu')!).forEach(li_2 => {\r\n const level_2 = li_2.querySelector('span.ms-nav__list__item__span')!.textContent;\r\n Array.from(li_2.querySelectorAll('li.ms-nav__list__item')!).forEach(li_3 => {\r\n const level_3 = li_3.textContent;\r\n const path = `${level_1}_${level_2}_${level_3}`;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n });\r\n });\r\n } else {\r\n Array.from(li_1?.querySelectorAll('li.ms-nav__list__item')!).forEach(li_2 => {\r\n const level_2 = li_2.textContent;\r\n const path = `${level_1}_${level_2}`;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n });\r\n\r\n }\r\n if (li_1.querySelector('div.bottomlink-menu-section')) {\r\n const level_2_bottom = li_1.querySelector('div.bottomlink-menu-section')!.textContent;\r\n const path = `${level_1}_${level_2_bottom}`;\r\n if (!(path in paths) && level_2_bottom !== '') {\r\n paths.push(path);\r\n }\r\n }\r\n } else {\r\n const path = li_1.textContent!;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n }\r\n });\r\n } else {\r\n const menu_nav = document.querySelectorAll('nav.ms-nav.mobile-vp.mobile-view')[1];\r\n Array.from(menu_nav?.children!).forEach(li_1 => {\r\n if (li_1?.childElementCount! > 0) {\r\n const level_1 = li_1.querySelector('button.drawer__button.msc-btn.btn-secondary.btn-block')!.textContent;\r\n if (li_1.getElementsByTagName('button')[0].getAttribute('aria-expanded') === 'true') {\r\n if (li_1.querySelectorAll('button.drawer__button.msc-btn.btn-secondary.btn-block').length > 1) {\r\n Array.from(li_1?.querySelectorAll('div.drawer.ms-nav__drawer')!).forEach(li_2 => {\r\n const level_2 = li_2.querySelector('button.drawer__button.msc-btn.btn-secondary.btn-block')!.textContent;\r\n Array.from(li_2.querySelectorAll('a.ms-nav__list__item__link')!).forEach(li_3 => {\r\n const level_3 = li_3.textContent;\r\n const path = `${level_1}_${level_2}_${level_3}`;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n });\r\n });\r\n const elements = li_1.children[1]!.querySelectorAll('a.ms-nav__list__item__link')!;\r\n const level_2_bottom = elements[elements.length - 1].textContent;\r\n const path = `${level_1}_${level_2_bottom}`;\r\n if (!(path in paths) && level_2_bottom !== '') {\r\n paths.push(path);\r\n }\r\n } else {\r\n Array.from(li_1.querySelectorAll('a.ms-nav__list__item__link')).forEach(li_2 => {\r\n const level_2 = li_2.textContent;\r\n const path = `${level_1}_${level_2}`;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n })\r\n }\r\n }\r\n } else {\r\n const path = li_1.textContent!;\r\n if (!(path in paths)) {\r\n paths.push(path);\r\n }\r\n }\r\n });\r\n }\r\n\r\n const clicked_path = paths.find(path => path.endsWith(option.linkText ?? 'eb4cd3f6'));\r\n if (clicked_path) {\r\n window.dataLayer?.push?.({\r\n 'event': 'gaEvent',\r\n 'eventCategory': 'menu',\r\n 'eventAction': 'click',\r\n 'eventLabel': clicked_path\r\n });\r\n }\r\n }\r\n\r\n private _layout2022renderLinkMenuItem(\r\n option: IMenuItemData,\r\n index?: number,\r\n hoverEffect: boolean = true,\r\n isParent: boolean = false,\r\n setSize?: number,\r\n posinset?: number\r\n ): JSX.Element | null {\r\n const { Link, isMobileView } = this.props;\r\n const linkText = option.linkText ? option.linkText : '';\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n return (\r\n {\r\n this.sendEventGA(option, isMobileView);\r\n onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\r\n }}\r\n >\r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render promotional link.\r\n * @param linkText -Link text.\r\n * @param linkUrl -Link url.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderPromotionalLink(linkText?: string, linkUrl?: string): JSX.Element | null {\r\n const { Link } = this.props;\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n if (linkText && linkUrl) {\r\n return (\r\n \r\n {linkText}\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Method to render span menu item.\r\n * @param option -Single Menu Item.\r\n * @param index -Index.\r\n * @param isParent -Is parent menu.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderSpanMenuItem(option: IMenuItemData, index?: number, isParent: boolean = false): JSX.Element | null {\r\n const { Span } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to render menu.\r\n * @param level -Menu level.\r\n * @param menuOptions -Menu lists.\r\n * @param currentItem -Menu current.\r\n * @param submenu -Mneu has submenu or not.\r\n * @returns Jsx element.\r\n */\r\n private _layout2022renderMenu(level: string, menuOptions: JSX.Element[], currentItem?: number, submenu?: boolean, bottomLinkAvail?: boolean, bottomLink?: JSX.Element | null): JSX.Element | null {\r\n const { DivContainer, MenuList, ImageDivContainer, showCategoryImage, isMobileView, showPromotionalContent } = this.props;\r\n const categoryImageDisplay =\r\n !isMobileView && showCategoryImage && this.state.categoryImage !== null && this.state.categoryImage !== undefined && !submenu;\r\n const promotionalContentDisplay =\r\n !isMobileView && showPromotionalContent && ArrayExtensions.hasElements(this.state.categoryImage) && !submenu;\r\n const DivContainerClass =\r\n this.currentLevel > NavMenuConstants.two || categoryImageDisplay ? DivContainer!.className : 'ms-nav__deafult';\r\n this.currentLevel = NavMenuConstants.one;\r\n const categoryImages = this.state.categoryImage?.filter(image => !StringExtensions.isNullOrWhitespace(image.src));\r\n const imagesContainerKey = categoryImages?.map(item => item.src).join('-');\r\n\r\n return (\r\n \r\n 2 &&\r\n 'navmenu-multi-level'\r\n )}\r\n >\r\n {menuOptions}\r\n \r\n
\r\n {categoryImageDisplay &&\r\n ArrayExtensions.hasElements(categoryImages) &&\r\n categoryImages.map(item => (\r\n \r\n {getCategoryImage(this.props, item.src ?? '', item.altText!.toString())}\r\n {promotionalContentDisplay &&\r\n this._layout2022renderPromotionalLink(item.altText, item.additionalProperties?.linkUrl)}\r\n \r\n ))}\r\n
\r\n {bottomLinkAvail ?\r\n (<>\r\n
\r\n
\r\n {bottomLink}\r\n
\r\n )\r\n : <> \r\n\r\n }\r\n\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Method to handle dropdwon change.\r\n * @param data -Menuitem data.\r\n * @param parentId -Menu parent.\r\n * @returns Jsx element.\r\n */\r\n private readonly _layout2022handleDropdownToggle = (data: IMenuItemData, parentId?: number) => () => {\r\n if (!this.props.isMobileView) {\r\n this.setState({\r\n activeMenu: this.state.activeMenu && this.state.activeMenu === data.id! ? undefined : data.id!,\r\n parentMenu: parentId\r\n });\r\n if (this.props.showCategoryImage) {\r\n this._layout2022updateCategoryImage(data.imageSource!, data)();\r\n }\r\n } else {\r\n this.setState({\r\n activeMenu: data.id,\r\n parentMenu: parentId\r\n });\r\n }\r\n\r\n this._layout2022resetFocus();\r\n };\r\n\r\n /**\r\n * Method to call when focus lost from menu.\r\n */\r\n private readonly _layout2022resetFocus = () => {\r\n if (this.props.isMobileView) {\r\n setTimeout(() => {\r\n this.menuNode && this.menuNode.current && this.menuNode.current.focus();\r\n }, 0);\r\n }\r\n };\r\n\r\n /**\r\n * Method to handle click outside of menu.\r\n * @param event -HTML event.\r\n */\r\n private readonly _layout2022handleClickOutside = (event: MouseEvent) => {\r\n if (this.menuNode.current && !this.menuNode.current.contains(event.target as Node)) {\r\n this.setState({\r\n activeMenu: undefined,\r\n categoryImage: null\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Method to handle close submenu event.\r\n */\r\n private _layout2022closeSubmenu(): void {\r\n if (!this.props.isMobileView) {\r\n this.setState({ activeMenu: undefined });\r\n }\r\n }\r\n\r\n /**\r\n * Method to handle escape key event.\r\n * @param event -HTML event.\r\n */\r\n private readonly _layout2022escFunction = (event: React.KeyboardEvent) => {\r\n if (event.keyCode === this.escapeKey) {\r\n if (!this.props.isMobileView) {\r\n const navDrawerList = Array.from(this.menuNode.current!.childNodes);\r\n for (const item of navDrawerList) {\r\n const navDrawerButton = item.firstChild as HTMLButtonElement;\r\n if (navDrawerButton.getAttribute('aria-expanded') === 'true') {\r\n navDrawerButton.focus();\r\n }\r\n }\r\n }\r\n this._layout2022closeSubmenu();\r\n }\r\n };\r\n\r\n /**\r\n * Method to handle escape key event.\r\n * @param drawerState -HTML event.\r\n */\r\n private readonly _layout2022onDrawerChange = (drawerState: IDrawerState) => {\r\n const { drawerKeyValue } = this.state;\r\n const drawerText: string = drawerState.buttonText !== undefined ? drawerState.buttonText : '';\r\n const newPair = { [drawerText]: drawerState.isOpen };\r\n this.setState({ drawerKeyValue: { ...drawerKeyValue, ...newPair } });\r\n };\r\n\r\n /**\r\n * Handle Category image update.\r\n * @param categoryImageSource - Image source.\r\n * @param option - Menu Item data.\r\n * @returns Returns empty.\r\n */\r\n private readonly _layout2022updateCategoryImage = (categoryImageSource: string, option: IMenuItemData) => () => {\r\n const linkText = option.linkText ? option.linkText : '';\r\n const promotionalImage: IImageData[] = [{ src: categoryImageSource, altText: linkText }];\r\n\r\n // Read category and promotional image in one array\r\n if (ArrayExtensions.hasElements(option.promotionalContent)) {\r\n for (const item of option.promotionalContent) {\r\n const imageSource = item.image.src;\r\n promotionalImage.push({\r\n src: imageSource,\r\n altText: item.text,\r\n additionalProperties: { linkUrl: item.linkUrl.destinationUrl }\r\n });\r\n }\r\n }\r\n this.setState({\r\n categoryImage: ArrayExtensions.hasElements(promotionalImage) ? promotionalImage : [{ src: 'empty' }]\r\n });\r\n };\r\n\r\n ////////////////////////////////////////\r\n ////////// CLASS///////////////////////\r\n //////////////////////////////////\r\n}\r\nexport default NavigationMenuView;\r\n","import { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport {\r\n IReportReviewModalViewProps,\r\n IReviewCardViewProps,\r\n IReviewsListState,\r\n IReviewsListViewProps\r\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n// import { getTelemetryObject } from '@msdyn365-commerce-modules/utilities';\r\n// import { constructViewportInformationForImage } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\n\r\nconst ReviewsListview: React.FC = props => {\r\n const {\r\n /* averageRating,\r\n filterByDropdown, */\r\n moduleProps,\r\n /* noReviewsMessage, */\r\n noReviewsWithFilterMessage,\r\n pageControls,\r\n /* refineReviewsProps, */\r\n reportReviewModal,\r\n /* reviewsListProps, */\r\n reviewCards,\r\n /* reviewCount, */\r\n reviewModal,\r\n /* sortByDropdown, */\r\n state,\r\n userReview\r\n } = props;\r\n\r\n const [modalOpen, setModalOpen] = React.useState(false);\r\n // const telemetryContent = getTelemetryObject(props.context.request.telemetryPageName ?? '', 'Recensioni', props.telemetry);\r\n\r\n const _toggleReviewModal = () => {\r\n document.body.style.overflowY = modalOpen ? 'scroll' : 'hidden';\r\n setModalOpen(!modalOpen);\r\n };\r\n\r\n // @ts-ignore\r\n const averageRating = props.data.ratingsSummary.result.averageRating ?? 0;\r\n // @ts-ignore\r\n const buttonLabel = props.resources.product_review_list_button_label ?? '';\r\n // @ts-ignore\r\n const title = props.resources.reviewListLabel ?? '';\r\n\r\n React.useEffect(() => {\r\n const page_summary = document.getElementsByClassName('msc-average-rating-container')[0];\r\n const modal_summary = document.getElementsByClassName('msc-average-rating-container')[1];\r\n if (page_summary && modal_summary) {\r\n modal_summary.innerHTML = page_summary.innerHTML;\r\n }\r\n });\r\n\r\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\r\n /* return {noReviewsMessage}; */\r\n /* return (\r\n \r\n
\r\n
); */\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {/* {averageRating}\r\n {reviewCount} */}\r\n {/* { reviewCards.length === 0 ?\r\n null : \r\n {sortByDropdown}\r\n {filterByDropdown}\r\n \r\n } */}\r\n {/* {React.createElement(React.Fragment, null,\r\n modalToggle,\r\n createReviewModal(reviewModal, moduleProps)))} */}\r\n {/* \r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n */}\r\n
\r\n
e.stopPropagation()}>\r\n
\r\n {title}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\r\n {pageControls}\r\n {createReviewModal(reviewModal, moduleProps)}\r\n {createReportModal(reportReviewModal, state)}\r\n
\r\n );\r\n};\r\n\r\nconst buildReviewCard = (props: IReviewCardViewProps) => {\r\n return (\r\n \r\n \r\n {props.name}\r\n {props.date}\r\n {props.rating}\r\n \r\n \r\n \r\n {/* {props.reviewTitle} */}\r\n {props.reviewText}\r\n \r\n \r\n {props.responseName}\r\n {props.responseDate}\r\n {props.responseText}\r\n \r\n \r\n {/* {props.ratingHelpfulLabel}\r\n {props.like}\r\n {props.dislike} */}\r\n {props.edit}\r\n {/* {props.report} */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\r\n return (\r\n \r\n {props.modalHeader}\r\n \r\n \r\n \r\n {props.rating}\r\n {props.ratingLabel}\r\n \r\n \r\n {props.titleLabel}\r\n {props.titleInput}\r\n \r\n \r\n {props.textLabel}\r\n {props.textInput}\r\n \r\n {props.privacyPolicyUrl}\r\n {props.error}\r\n \r\n \r\n \r\n {props.submitButton}\r\n {props.cancelButton}\r\n \r\n \r\n );\r\n};\r\n\r\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\r\n return (\r\n \r\n {state.reported ? props.headerSubmitted : props.header}\r\n \r\n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\r\n \r\n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\r\n \r\n );\r\n};\r\n\r\nexport default ReviewsListview;\r\n","import * as React from 'react';\r\n\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n Module,\r\n Node,\r\n ITelemetryContent,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject\r\n} from '@msdyn365-commerce-modules/utilities'\r\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/./sign-in'\r\n\r\nimport { ISignInProps } from '../definition-extensions/sign-in.ext.props.autogenerated'\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 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 signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n const canonicalDomain = props.signIn.moduleProps.context.request.canonicalDomain;\r\n const sitePath =\r\n props.signIn.moduleProps.context.request.sitePath && props.signIn.moduleProps.context.request.sitePath !== null\r\n ? props.signIn.moduleProps.context.request.sitePath\r\n : '';\r\n const requestUrl: string = `https://${canonicalDomain}${sitePath}`;\r\n\r\n const telemetryContent: ITelemetryContent = getTelemetryObject(\r\n props.context.request.telemetryPageName!,\r\n props.friendlyName,\r\n props.telemetry\r\n );\r\n const payLoad = getPayloadObject('click', telemetryContent!, props.resources.signinVclubLoginButtonText);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n const handleGaGuestCheckout = React.useCallback(() => {\r\n window.dataLayer?.push?.({\r\n 'event': 'gaEvent',\r\n 'eventCategory': 'account',\r\n 'eventAction': 'guest_checkout',\r\n 'eventLabel': 'click' \r\n })\r\n }, [])\r\n\r\n const handleGaSignUp = React.useCallback(() => {\r\n window.dataLayer?.push?.({\r\n 'event': 'gaEvent',\r\n 'eventCategory': 'account',\r\n 'eventAction': 'signup',\r\n 'eventLabel': 'click'\r\n });\r\n }, [])\r\n\r\n React.useEffect(() => {\r\n if (!viewState.isShowLoading) {\r\n const registerButtonLink = document.getElementById('createAccount')\r\n const vclubButtonLink = document.getElementById('vclub-signin')\r\n\r\n if (registerButtonLink && vclubButtonLink) {\r\n // @ts-ignore\r\n vclubButtonLink.href = registerButtonLink.href\r\n }\r\n }\r\n }, [viewState.isShowLoading])\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n \r\n \r\n

\r\n {props.resources.signinVclubTitle}\r\n

\r\n

\r\n {props.resources.signinVclubText}\r\n

\r\n
\r\n \r\n {props.resources.signinVclubLoginButtonText}\r\n \r\n
\r\n \r\n
\r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n
\r\n {signUpLink}\r\n
\r\n \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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps {\n AccountAddressTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountAddress component.\n * @extends {React.PureComponent>}\n */\nclass AccountAddressTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountAddressTileDescriptionForSingleAddress, accountAddressTileDescriptionForMultipleAddresses } = resources;\n const { address } = data;\n const addressCount = (address && address.result && address.result.length) || 0;\n const accountAddressTileDescription =\n addressCount === 1 ? accountAddressTileDescriptionForSingleAddress : accountAddressTileDescriptionForMultipleAddresses;\n const description = format(accountAddressTileDescription, addressCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountAddressTile: {\n moduleProps: this.props,\n className: classnames('ms-account-address-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountAddressTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountAddressTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountAddressTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-address-tile.props.autogenerated';\n\nexport interface IAccountAddressTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountAddressTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-address-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountAddressTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as 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 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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\n */\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n"],"names":["_ref","id","className","text","ariaLabel","disabled","onClick","React","Button","type","message","errorClassName","classnames","role","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","value","pattern","required","onChange","name","undefined","forId","htmlFor","successClassName","SignUp","constructor","props","super","moduleClassName","handleHeadingChange","event","this","config","heading","target","handleParagraphChange","disclaimer","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","resources","map","obj","ID","toLowerCase","isEmailVerificationRequried","templateVersion","emailRegex","PAT","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","newPasswordRegex","reenterPasswordRegex","UX_INPUT_TYPE","PAT_DESC","invalidPasswordError","invalidEmailAddressError","errorMessages","required_field","requiredFieldMissingError","Object","assign","getValue","v1Value","v2Value","EmailRegex","defaultRegex","source","PasswordRegex","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","render","_this$props","_this$props$config$re","locale","context","request","regionCRM","regionLanguageMapping","find","regionMapping","pageLanguage","LastConsentSource","Source","EcomSignUpLegalEntity","viewProps","_objectSpread","viewState","isShowLoading","signUp","moduleProps","loading","modal","tag","Modal","isOpen","modalBody","ModalBody","icon","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","loadingMessage","defaultAADConainer","style","display","aadConainer","Msdyn365","editProps","onEdit","requestContext","signUpLocalAccount","_renderLocalAccount","renderView","localAccount","items","_renderInput","emailAddressLabelText","passwordLabelText","confirmPasswordLabelText","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","addressZipCodeLabelOptional","birthdayLabelText","phoneLabelText","emailVerification","isRequired","email","verificationCodeLabelText","verificationControlWrapper","buttonWrapper","buttons","SignUpButtonComponent","key","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","successMessage","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","errorMessage","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","givenNameVerification","givenName","requiredFieldMissingSummaryError","surnameVerification","surname","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","passwordEntryMismatchError","fieldIncorrectError","labelText","cssClassName","wrapper","label","SignUpLabelComponent","input","SignUpInputComponent","__decorate","observable","observer","SignUpItem","Node","SignUpEmailVerification","_ref2","button","SignUpGivenNameVerificationComponent","_ref3","SignUpSurnameVerificationComponent","_ref4","LocalAccount","birthDate","setBirthDate","formatDateState","setFormatDateState","patternUS","signUpButton","document","getElementById","onclick","e","preventDefault","stopPropagation","profiling_ref","handleChange","checked","current","item","_props$resources","_props$resources2","_props$resources3","_props$resources4","_props$resources5","_props$resources6","_props$resources$emai","emailRepErrorText","email_rep","email_rep_error","email_rep_error_backup","title","textContent","emailRepeatLabelText","color","endsWith","onKeyUp","currentTarget","today","Date","match","checkDate","onPaste","birthday_proxy","birthday_hidden","onchange","BirthdayText","PostalText","phone_number_proxy","phone_number_hidden","PhoneText","hideMarketing","defaultChecked","preflagMarketing","htmlGenericMarketing","privacyPolicyURL","dangerouslySetInnerHTML","__html","format","USmarketingText","hideProfiling","preflagProfiling","ref","htmlProfiling","hideThirdParty","preflagThirdParty","htmlThirdParty","error","index","SignUpLoading","_ref5","Module","NavMenuConstants","NavigationMenuView","currentLevel","_positionInSetOffset","escapeKey","promotionalImage","supportedLevel","four","_handleDropdownToggle","parentId","isMobileView","setState","activeMenu","mobileViewLabelText","linkText","parentMenu","_resetFocus","menuNode","focus","_handleClickOutside","contains","_escFunction","keyCode","_closeSubmenu","_layout2022handleDropdownToggle","showCategoryImage","_layout2022updateCategoryImage","imageSource","_layout2022resetFocus","_layout2022handleClickOutside","categoryImage","_layout2022escFunction","navDrawerList","Array","from","childNodes","navDrawerButton","firstChild","getAttribute","_layout2022closeSubmenu","_layout2022onDrawerChange","drawerState","drawerKeyValue","newPair","buttonText","categoryImageSource","option","src","altText","ArrayExtensions","hasElements","promotionalContent","image","push","additionalProperties","linkUrl","destinationUrl","bind","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","payLoad","getPayloadObject","menuItemData","subMenu","imagesource","MsDyn365","isBrowser","layout2022","body","addEventListener","componentWillUnmount","removeEventListener","_renderMobileMenu","_renderDesktopMenu","Navigation","menuItem","posinset","_layout2022renderDrawerMenu","length","_renderDrawerMenu","MenuList","tabIndex","_layout2022renderDisplay","_renderDisplay","_renderDrawer","_renderLinkMenuItem","toggleButtonText","Drawer","openGlyph","closeGlyph","glyphPlacement","_renderLinkText","menuSubItem","_renderDrawerLink","linkURL","_renderSpanMenuItem","ListItem","menuItemList","i","_getFromSubMenu","_createMenuItemList","forEach","subMenus","found","_renderSubMenu","_renderButtonMenuItem","levelClassName","menuOptions","idx","hasOptions","toString","_renderMenu","onFocus","Link","contentAction","etext","attributes","getTelemetryAttributes","href","onTelemetryClick","Span","level","currentItem","DivContainer","setSize","_layout2022renderDrawer","_layout2022renderLinkMenuItem","firstLevel","_this$props$config$cm","_bottomLinkData$","_bottomLinkData$2","keyValue","keys","isDrawerOpen","colProps","bottomLinkData","cmsNavItems","filter","navItem","bottomAllLink","bottomLinkText","bottomLinkUrl","shouldOpenNewTab","toggleButtonProps","onToggle","collapseProps","_layout2022renderLinkText","currentPos","_menuItem$subMenu2","_menuItem$subMenu","_layout2022renderDrawerLink","_layout2022renderSpanMenuItem","menuItemDatum","_layout2022getFromSubMenu","_layout2022createMenuItemList","_layout2022renderSubMenu","_layout2022renderButtonMenuItem","IsSubMenu","nameParentElement","_this$props$config$cm2","_bottomLinkData$3","_bottomLinkData$4","enableMultiSupportMenu","enableMultilevelMenu","multiLevelSupportedMenu","menuLevelSupport","bottomLinkDataFiltered","bottomLinkPresent","bottomMenuLink","haveSubmenu","Math","round","_layout2022renderMenu","sendEventGA","paths","menu_nav","querySelectorAll","children","li_1","childElementCount","level_1","querySelector","getElementsByTagName","li_2","level_2","li_3","level_3","path","elements","level_2_bottom","menu","level_2_class","getElementsByClassName","clicked_path","_option$linkText","_window$dataLayer","_window$dataLayer$pus","dataLayer","call","isParent","arguments","_layout2022renderPromotionalLink","submenu","bottomLinkAvail","bottomLink","_this$state$categoryI","ImageDivContainer","showPromotionalContent","categoryImageDisplay","promotionalContentDisplay","DivContainerClass","two","one","categoryImages","StringExtensions","isNullOrWhitespace","imagesContainerKey","join","_item$src","_item$additionalPrope","getCategoryImage","alttext","categoryImageUrl","generateImageUrl","actionContext","apiSettings","defaultImageSettings","viewports","xs","q","w","h","sm","md","lg","lazyload","_props$config$categor","imageData","gridSettings","imageSettings","categoryImageSettings","loadFailureBehavior","buildReviewCard","cardProps","headerProps","date","rating","cardBodyProps","reviewProps","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","edit","createReviewModal","modalHeader","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","_props$data$ratingsSu","_props$resources$prod","_props$resources$revi","noReviewsWithFilterMessage","pageControls","reportReviewModal","reviewCards","reviewModal","userReview","modalOpen","setModalOpen","_toggleReviewModal","overflowY","buttonLabel","ratingsSummary","result","averageRating","product_review_list_button_label","reviewListLabel","page_summary","modal_summary","innerHTML","isFilterApplied","review","SignInLoading","_props$resources$cont","_props$resources$cont2","signIn","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signUpSectionHeading","signUpDescription","signUpLink","requestUrl","canonicalDomain","sitePath","signinVclubLoginButtonText","handleGaGuestCheckout","handleGaSignUp","_window$dataLayer2","_window$dataLayer2$pu","registerButtonLink","vclubButtonLink","forgetPassword","signInButton","signinVclubTitle","signinVclubText","continueAsGuest","AccordionItem","accordionItemTitle","_onToggle","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","ControlledDrawer","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","TelemetryConstant","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","_this$collapseAllButt","_this$expandAllButton","AadGeneric","$i2e","$element","insertServiceContent","getElementContent","initialize","aadGeneric","aadAPIConainer","AccountAddressTile","handleLinkTextChange","linkIndex","links","accountAddressTileDescriptionForSingleAddress","accountAddressTileDescriptionForMultipleAddresses","address","addressCount","accountAddressTileDescription","description","LinksComponent","DescriptionComponent","_mapEditableLinks","linkdata","editableLinks","link","editableLink","openInNewTab","AccountInvoiceTileDescription","AccountInvoiceTile","_data$customerBalance","cultureFormatter","formatCurrency","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","toFixed","AccountLoyaltyTile","signUpLinkText","viewLinkText","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","url","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","params","isEditor","isChannelTypeB2B","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","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","getUrlSync","fullUrl","URL","location","searchParams","set","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","String","firstOrDefault","Images","Name","Image","Uri","galleryImageSettings","AltText","CatalogPickerViewFunctionComponent","FooterItem","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","ariaHiddenAttr","shouldSkipToMainImage","FooterItemView","_renderElement","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","msdyn365Commerce","createComponent","component","_props$resources$curr","_props$resources$curr2","_props$resources$curr3","_props$resources$curr4","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","customer","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","SitePicker","_cookieName","_cookieExpirationInSeconds","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","_document","_document2","resizeThrottledEventHandler","addThrottledEvent","_document3","_document4","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","cookies","isConsentGiven","cookieConfig","maxAge","xl","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","imageProps","siteRedirectUrl","siteName","_getViewport","innerWidth","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","SocialShare","socialShareItems","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","isUserReview","reviewTitle","wasReviewHelpfulText","like","dislike","renderProductDescription","product","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","cropFocalRegion","renderProductImage","ItemId","filterByDropdown","noReviewsMessage","refineReviewsProps","reviewsListProps","sortByDropdown","selectRatingLabel","reviewTitleLabel","reviewTextLabel"],"sourceRoot":""}