{"version":3,"file":"static/js/20.10968f4655113bf31052.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/header.view.tsx?2a15","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/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/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/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/media-gallery.view.tsx?7624"],"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 * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { Collapse, Drawer, Module, Node, Button } from '@msdyn365-commerce-modules/utilities';\r\nimport { AsyncResult } from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\n\r\nconst headerView: React.FC> = props => {\r\n if (typeof window !== 'undefined') {\r\n const [scrolled, setScrolled] = React.useState(false);\r\n const handleScroll = () => {\r\n const offset = window.scrollY;\r\n offset > 5 ? setScrolled(true) : setScrolled(false);\r\n };\r\n scrolled ? document.body.classList.add('headerIsSticky') : document.body.classList.remove('headerIsSticky');\r\n React.useEffect(() => {\r\n window.addEventListener('scroll', handleScroll);\r\n if (props.config.layout2022 === undefined || !props.config.layout2022) {\r\n const menuTopDesktop = document.getElementsByClassName('menu--top desktop')[0];\r\n const desktopMenuTop = document.getElementsByClassName('menu--top_ctn')[0];\r\n if (document.getElementsByClassName('menu--top mobile').length) {\r\n const menuTopMobile = document.getElementsByClassName('menu--top mobile')[0];\r\n const mobileMenu = document.getElementsByClassName('mobile menus')[0];\r\n mobileMenu.appendChild(menuTopMobile);\r\n }\r\n desktopMenuTop.appendChild(menuTopDesktop);\r\n }\r\n }, []);\r\n }\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer } = props;\r\n if (props.config.layout2022 === undefined || !props.config.layout2022) {\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n {/* @ts-ignore */}\r\n {props?.slots?.countrySelector && props?.slots?.countrySelector}\r\n {_renderAccountBlock(props, false)}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {props.navIcon}\r\n {props.logo}\r\n
\r\n
{_renderReactFragment(props.menuBar)}
\r\n
\r\n {props.wishListIconDesktop}\r\n {props.cartIcon}\r\n {_renderReactFragment(props.siteOptions)}\r\n
\r\n
\r\n
\r\n
\r\n {_renderCollapseMenu(props)}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props.preferredStore}\r\n {props?.slots?.countrySelector && props?.slots?.countrySelector}\r\n {_renderStoreLocatorButton(props)}\r\n \r\n {props.logo}\r\n \r\n {_renderReactFragment(props.search)}\r\n {_renderAccountBlock(props, false)}\r\n {props.wishListIconDesktop}\r\n {props.cartIcon}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.navIcon}\r\n {props.logo}\r\n \r\n \r\n {/* {_renderReactFragment(props.search)} */}\r\n {_renderStoreLocatorButton(props)}\r\n {props.wishListIconDesktop}\r\n {props.cartIcon}\r\n \r\n \r\n \r\n {_renderCollapseMenu(props)}\r\n {_renderReactFragment(props.menuBar)}\r\n {props?.slots?.header_gwp && props?.slots?.header_gwp}\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nfunction _renderCollapseMenu(props: IHeaderViewProps & IHeaderProps<{}>): JSX.Element | null {\r\n const { mobileMenuCollapsed, Divider, MobileMenuLinksContainer } = props;\r\n if (typeof window !== 'undefined') {\r\n mobileMenuCollapsed === true ? document.body.classList.remove('no-scroll') : document.body.classList.add('no-scroll');\r\n }\r\n //FIXME invert the condition\r\n if (props.config.layout2022 === undefined || !props.config.layout2022) {\r\n return (\r\n \r\n {_renderReactFragment(props.search)}\r\n \r\n
\r\n
{_renderReactFragment(props.menuBar)}
\r\n {_renderMobileAccountBlock(props, true)}\r\n {/* @ts-ignore */}\r\n {props?.slots?.countrySelector && props?.slots?.countrySelector}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n \r\n {_renderReactFragment(props.search)}\r\n {/* {_renderMobileAccountBlock(props, true)} */}\r\n \r\n \r\n
{_renderReactFragment(props.menuBar)}
\r\n \r\n {/* //TODO remove */}\r\n {_renderMobileAccountBlock(props, true)}\r\n {/* {props.wishListIconMobile} */}\r\n \r\n {props?.slots?.countrySelector && props?.slots?.countrySelector}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\nconst renderCustomerName = (accountInformation: AsyncResult): React.ReactChild => {\r\n const customer = accountInformation && accountInformation.result;\r\n return <>{customer ? customer.FirstName || customer.Name : ''};\r\n};\r\n\r\nfunction _renderMobileAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\r\n const { AccountInfoDropdownParentContainer, signOutLink, signInLink, data, accountLinks } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(\r\n 'ms-header__drawer',\r\n AccountInfoDropdownParentContainer.className,\r\n renderForMobile ? 'account-mobile' : 'account-desktop'\r\n );\r\n\r\n if (accountLinks) {\r\n return (\r\n \r\n
\r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n
\r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nfunction _renderAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(\r\n AccountInfoDropdownParentContainer.className,\r\n renderForMobile ? 'account-mobile' : 'account-desktop'\r\n );\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n/////\r\n\r\nfunction _renderStoreLocatorButton(props: IHeaderViewProps & IHeaderProps<{}>): JSX.Element | null {\r\n if (props.config.storeLocatorPageLink == undefined || props.config.storeLocatorPageLink.destinationUrl == undefined || props.config.storeLocatorLabel == undefined) {\r\n return (<>)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {props.config.storeLocatorLabel}\r\n \r\n \r\n );\r\n\r\n\r\n\r\n}\r\n\r\nexport default headerView;\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","/*!\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 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 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 { IImageData, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IMediaGalleryThumbnailItemViewProps,\n IMediaGalleryThumbnailsViewProps,\n IMediaGalleryViewProps\n} from '@msdyn365-commerce-modules/media-gallery';\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, KeyCodes, Module, Node, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\n/**\n * Render the thumbnail item images.\n * @param thumbnail - The carousel thumbnail line props.\n * @returns Return HTML having thumnailcontainer props with image.\n */\nconst renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { ThumbnailItemContainerProps, Picture } = thumbnail;\n\n return {Picture};\n};\n\n/**\n * Gets the thumbnail item to display media gallery images.\n * @param image - The media gallery images.\n * @param imageSettings - Image settings for the image gallery items.\n * @param imageId - Image id.\n * @param modifiedActiveIndex - Modified Index of the images when selection changes.\n * @param props - The Media gallery view props from business layer.\n * @returns Return thumbnail view props which will be used to render images.\n */\nconst GetThumbnailItemComponent = (\n image: IImageData,\n imageSettings: IImageSettings,\n imageId: number,\n modifiedActiveIndex: number,\n props: IMediaGalleryViewProps\n): IMediaGalleryThumbnailItemViewProps => {\n let fallbackImage: string | undefined = '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Site level config can be of any type.\n const emptyPlaceHolderImage = props.context.app.config?.placeholderImageName as string;\n if (props.data.product.result) {\n fallbackImage = getFallbackImageUrl(props.data.product.result.ItemId, props.context.request.apiSettings);\n }\n if (emptyPlaceHolderImage && fallbackImage) {\n fallbackImage = `${fallbackImage},${emptyPlaceHolderImage}`;\n }\n\n /**\n * OnClick method of media gallery item.\n */\n const onClick = () => {\n props.callbackToggle?.();\n props.callbackThumbnailClick?.(imageId);\n props.state.activeIndex = imageId;\n };\n\n const classes = classnames(\n 'ms-media-gallery__thumbnail-item',\n modifiedActiveIndex === imageId ? 'ms-media-gallery__thumbnail-item-active' : ''\n );\n\n /**\n * Keydown event of media gallery item.\n * @param event - React.KeyboardEvent.\n */\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCodes.Enter) {\n event.preventDefault();\n onClick();\n }\n };\n const defaultIndex = 0;\n return {\n ThumbnailItemContainerProps: {\n tag: 'li' as NodeTag,\n className: classes,\n role: 'presentation',\n key: imageId\n },\n Picture: (\n \n \n \n \n \n \n \n \n )\n };\n};\n\n/**\n * Gets the empty thumbnail item to display media gallery images.\n * @param imageSettings - Image settings for the image gallery items.\n * @param props - The Media gallery view props from business layer.\n * @returns Return thumbnail view props which will be used to render empty images.\n */\nconst GetEmptyThumbnailItemComponent = (\n imageSettings: IImageSettings,\n props: IMediaGalleryViewProps\n): IMediaGalleryThumbnailItemViewProps => {\n let fallbackImage: string | undefined = '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Site level config can be of any type.\n const emptyPlaceHolderImage = props.context.app.config?.placeholderImageName as string;\n if (props.data.product.result) {\n fallbackImage = getFallbackImageUrl(props.data.product.result.ItemId, props.context.request.apiSettings);\n }\n if (emptyPlaceHolderImage && fallbackImage) {\n fallbackImage = `${fallbackImage},${emptyPlaceHolderImage}`;\n }\n return {\n ThumbnailItemContainerProps: {\n tag: 'li' as NodeTag,\n className: 'ms-media-gallery__thumbnail-item',\n role: 'tab',\n tabIndex: 0,\n key: 0,\n 'aria-label': '',\n 'aria-selected': true\n },\n Picture: (\n \n )\n };\n};\n\n/**\n * Update media gallery items method.\n * @param items - The media gallery thumbnail item view props.\n * @returns The IImageData array.\n */\nconst getMediaGalleryItems = (items?: IMediaGalleryThumbnailItemViewProps[]): IImageData[] | undefined => {\n return items?.map(item => {\n return {\n altText: item.Picture.props.altText,\n src: item.Picture.props.src\n };\n });\n};\n\nconst defaultThumbnailImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 },\n xl: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 }\n },\n lazyload: true,\n cropFocalRegion: true\n};\n\n/**\n * Render the Media gallery thumbnails to represent images in grid view.\n * @param thumbnails - The thumbnail view props.\n * @param props - The media gallery view props.\n * @returns - The single slide carousel component to render as media gallery image.\n */\nconst renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps, props: IMediaGalleryViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { ThumbnailsContainerProps, SingleSlideCarouselComponentProps } = thumbnails;\n const { state, Thumbnails } = props;\n const mediaGalleryItems = getMediaGalleryItems(Thumbnails.items);\n\n const items: IMediaGalleryThumbnailItemViewProps[] | undefined =\n // eslint-disable-next-line multiline-ternary -- need multiline for easy code reading\n state.lastUpdate && mediaGalleryItems && mediaGalleryItems[0].src === 'empty'\n ? [GetEmptyThumbnailItemComponent(defaultThumbnailImageSettings, props)]\n : // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery\n mediaGalleryItems?.map((item: IImageData, id: number) =>\n GetThumbnailItemComponent(item, defaultThumbnailImageSettings, id, state.activeIndex, props)\n );\n\n return (\n \n {items?.map(renderThumbnailItem)}\n \n );\n};\n\n/**\n * Render the Media gallery items using viewprops.\n * @param props - The media gallery view props.\n * @returns The media gallery module wrapping up images node.\n */\nconst mediaGalleryView: React.FC = props => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\n const { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\n return (\n \n \n {Modal}\n {renderThumbnails(Thumbnails, props)}\n \n );\n};\n\nexport default mediaGalleryView;\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","_renderCollapseMenu","mobileMenuCollapsed","Divider","MobileMenuLinksContainer","_props$slots9","_props$slots10","_props$slots7","_props$slots8","body","classList","remove","add","layout2022","Collapse","_renderReactFragment","search","menuBar","_renderMobileAccountBlock","slots","countrySelector","renderCustomerName","accountInformation","customer","result","FirstName","Name","renderForMobile","AccountInfoDropdownParentContainer","signOutLink","signInLink","accountLinks","accountClassName","Drawer","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","link","_renderAccountBlock","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","length","slot","_renderStoreLocatorButton","_props$config$storeLo","storeLocatorPageLink","destinationUrl","storeLocatorLabel","href","scrolled","setScrolled","handleScroll","offset","scrollY","addEventListener","menuTopDesktop","getElementsByClassName","desktopMenuTop","menuTopMobile","appendChild","HeaderTag","HeaderContainer","HeaderTopBarContainer","_props$slots3","_props$slots4","_props$slots5","_props$slots6","_props$slots","_props$slots2","preferredStore","logo","wishListIconDesktop","cartIcon","navIcon","header_gwp","siteOptions","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","bind","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","payLoad","getPayloadObject","menuItemData","subMenu","imagesource","MsDyn365","isBrowser","componentWillUnmount","removeEventListener","_renderMobileMenu","_renderDesktopMenu","Navigation","menuItem","posinset","_layout2022renderDrawerMenu","_renderDrawerMenu","MenuList","tabIndex","_layout2022renderDisplay","_renderDisplay","_renderDrawer","_renderLinkMenuItem","_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","TODO","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","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","averageRating","product_review_list_button_label","reviewListLabel","page_summary","modal_summary","innerHTML","isFilterApplied","review","AccountInvoiceTileDescription","description","_mapEditableLinks","linkdata","editableLinks","editableLink","openInNewTab","links","onTextChange","AccountInvoiceTile","handleLinkTextChange","linkIndex","_data$customerBalance","cultureFormatter","formatCurrency","currencyCode","accountInvoiceTileDescription","invoiceTotalAmount","customerBalance","OpenInvoiceBalance","toFixed","LinksComponent","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","Image","Uri","galleryImageSettings","AltText","CatalogPickerViewFunctionComponent","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","_image$imageSettings","_item$siteRedirectUrl","siteImage","imageProps","siteRedirectUrl","siteName","shouldSkipToMainImage","_getViewport","innerWidth","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","renderThumbnailItem","thumbnail","ThumbnailItemContainerProps","Picture","GetEmptyThumbnailItemComponent","_props$context$app$co2","_props$config$thumbna2","fallbackImage","emptyPlaceHolderImage","app","placeholderImageName","product","getFallbackImageUrl","ItemId","thumbnailImageSettings","imageFallbackOptimize","skipImageValidation","fallBackSrc","defaultThumbnailImageSettings","cropFocalRegion","renderThumbnails","thumbnails","ThumbnailsContainerProps","SingleSlideCarouselComponentProps","Thumbnails","mediaGalleryItems","getMediaGalleryItems","lastUpdate","GetThumbnailItemComponent","imageId","modifiedActiveIndex","_props$context$app$co","_props$config$thumbna","_props$callbackToggle","_props$callbackThumbn","callbackToggle","callbackThumbnailClick","activeIndex","handleKeyDown","Enter","onKeyDown","shouldUseOptimizedImage","bypassHideOnFailure","fullScreenTitleText","CarouselProps","MediaGallery"],"sourceRoot":""}