{"version":3,"file":"static/js/12.ecd884921442f5b78755.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/account-profile.view.tsx?555a","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/accordion-item/accordion-item.tsx?36f7","webpack://Msdyn365.Commerce.Online/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.tsx?78b1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.tsx?2f8c","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/account-address-tile.view.tsx?ac91","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-description.tsx?4911","webpack://Msdyn365.Commerce.Online/./src/modules/account-address-tile/components/account-address-tile-links.tsx?bee7","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-description.tsx?7378","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/components/account-invoice-tile-links.tsx?81f3","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.tsx?c17e","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpButton {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\r\n \r\n);\r\n\r\nexport default SignUpButton;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpError;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpInputProps {\r\n id?: string;\r\n hasFocus?: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n type: any;\r\n value?: string;\r\n pattern?: string;\r\n required?: boolean;\r\n className: string;\r\n maxLength?: string;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface ISignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst SignUpInput: React.FC = ({ id, type, value, pattern, required, className, maxLength, onChange }) => (\r\n \r\n);\r\n\r\nexport default SignUpInput;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLabel {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingIcon {\r\n className: string;\r\n}\r\n\r\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\r\n\r\nexport default SignUpLoadingIcon;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingMessage {\r\n className: string;\r\n message: string;\r\n}\r\n\r\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\r\n
{message}
\r\n);\r\n\r\nexport default SignUpLoadingMessage;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpSuccess {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\r\n const successClassName = `${className}__${type}-success`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpSuccess;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { EmailRegex, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, INodeProps, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n// import { useState } from 'react';\r\n\r\nimport SignUpButtonComponent from './components/new-sign-up-button';\r\nimport SignUpErrorComponent from './components/new-sign-up-error';\r\nimport SignUpInputComponent from './components/new-sign-up-input';\r\nimport SignUpLabelComponent from './components/new-sign-up-label';\r\nimport SignUpLoadingIconComponent from './components/new-sign-up-loading-icon';\r\nimport SignUpLoadingMessageComponent from './components/new-sign-up-loading-message';\r\nimport SignUpSuccessComponent from './components/new-sign-up-success';\r\nimport { INewSignUpConfig, INewSignUpProps, INewSignUpResources } from './new-sign-up.props.autogenerated';\r\n\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\n\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Given Name Verification Interface.\r\n */\r\nexport interface ISignUpGivenNameVerification {\r\n isRequired: boolean;\r\n givenName: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Surname Verification Interface.\r\n */\r\nexport interface ISignUpSurnameVerification {\r\n isRequired: boolean;\r\n surname: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n givenNameVerification: ISignUpGivenNameVerification;\r\n surnameVerification: ISignUpSurnameVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n config: INewSignUpConfig;\r\n resources: INewSignUpResources;\r\n regionCRM: string;\r\n LastConsentSource: string;\r\n locale: string;\r\n EcomSignUpLegalEntity: string;\r\n}\r\n\r\n/**\r\n *\r\n * SignUp component\r\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\r\n * Please ensure any change in module don't break contract with AAD.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass SignUp extends React.Component> {\r\n @observable private isGivenNameVerificationRequried: boolean;\r\n\r\n @observable private isSurnameVerificationRequried: boolean;\r\n\r\n private readonly moduleClassName: string = 'ms-sign-up';\r\n\r\n @observable private emailRegex: string;\r\n\r\n @observable private newPasswordRegex: string;\r\n\r\n @observable private reenterPasswordRegex: string;\r\n\r\n @observable private isEmailVerificationRequried: boolean;\r\n\r\n @observable private isInitialized: boolean;\r\n\r\n @observable private templateVersion: string;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private initializationTimer: any;\r\n\r\n constructor(props: INewSignUpProps) {\r\n super(props);\r\n\r\n this.emailRegex = EmailRegex.defaultRegex.source;\r\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.isEmailVerificationRequried = false;\r\n this.isGivenNameVerificationRequried = false;\r\n this.isSurnameVerificationRequried = false;\r\n this.isInitialized = false;\r\n this.templateVersion = '';\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._onInit();\r\n }\r\n\r\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\r\n public componentDidUpdate(): void {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['$element']['initialize']();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: INewSignUpProps, nextState: ISignUpViewState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n public render(): JSX.Element {\r\n // Locale management\r\n const locale = this.props?.context?.request?.locale;\r\n\r\n const regionCRM: string =\r\n this.props.config.regionLanguageMapping?.find(regionMapping => regionMapping.pageLanguage === locale)?.regionCRM || locale;\r\n const LastConsentSource = this.props.config.Source;\r\n const EcomSignUpLegalEntity = this.props.config.EcomSignUpLegalEntity;\r\n\r\n const { config, resources } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n viewState: {\r\n isShowLoading: !this.isInitialized\r\n },\r\n signUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, config.className)\r\n },\r\n loading: {\r\n modal: {\r\n tag: Modal,\r\n isOpen: true\r\n },\r\n modalBody: {\r\n tag: ModalBody\r\n },\r\n icon: ,\r\n message: \r\n },\r\n defaultAADConainer: {\r\n id: 'api',\r\n style: { display: 'none' }\r\n },\r\n aadConainer: {\r\n id: this.isInitialized ? 'api' : null,\r\n className: `${this.moduleClassName}__container`\r\n },\r\n heading: (\r\n \r\n ),\r\n signUpLocalAccount: this._renderLocalAccount(),\r\n locale: locale,\r\n regionCRM: regionCRM,\r\n LastConsentSource: LastConsentSource,\r\n EcomSignUpLegalEntity: EcomSignUpLegalEntity\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles heading content change event.\r\n * @param event - Content editable event.\r\n * @returns - Heading Text.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param event - Content editable event.\r\n * @returns - Paragraph Text.\r\n */\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = event.target.value);\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public _onInit = () => {\r\n this._prePopulateData();\r\n this._updateErrorMessage();\r\n\r\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\r\n this.initializationTimer = setInterval(() => {\r\n this._isInitializationSuccessful();\r\n }, 100);\r\n setTimeout(() => {\r\n clearInterval(this.initializationTimer);\r\n }, 10_000);\r\n };\r\n\r\n // After successful AAD initialization, remove waiting and preload any data, if needed.\r\n private readonly _isInitializationSuccessful = () => {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\r\n clearInterval(this.initializationTimer);\r\n this.isInitialized = true;\r\n }\r\n };\r\n\r\n private readonly _prePopulateData = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['SA_FIELDS']['AttributeFields'].map(\r\n (obj: { ID: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\r\n switch (obj.ID.toLowerCase()) {\r\n case 'emailverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n this.templateVersion = 'v2';\r\n break;\r\n }\r\n case 'email': {\r\n this.emailRegex = obj.PAT;\r\n this.isEmailVerificationRequried = obj.VERIFY;\r\n this.templateVersion = 'v1';\r\n break;\r\n }\r\n case 'givennameverificationcontrol': {\r\n this.isGivenNameVerificationRequried = true;\r\n break;\r\n }\r\n case 'givenname': {\r\n this.isGivenNameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'surnameverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n break;\r\n }\r\n case 'surname': {\r\n this.isSurnameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'newpassword': {\r\n this.newPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n case 'reenterpassword': {\r\n this.reenterPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n switch (obj.UX_INPUT_TYPE.toLowerCase()) {\r\n case 'password': {\r\n obj.PAT_DESC = resources.invalidPasswordError;\r\n break;\r\n }\r\n case 'emailbox': {\r\n obj.PAT_DESC = resources.invalidEmailAddressError;\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n private readonly _updateErrorMessage = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n if (window && window['CONTENT']) {\r\n const errorMessages = {\r\n required_field: resources.requiredFieldMissingError\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n Object.assign(window['CONTENT'], errorMessages);\r\n }\r\n };\r\n\r\n private readonly getValue = (v1Value: string, v2Value: string): string => {\r\n if (this.templateVersion) {\r\n return this.templateVersion === 'v1' ? v1Value : v2Value;\r\n }\r\n return '';\r\n };\r\n\r\n private _renderLocalAccount(): ISignUpLocalAccount {\r\n const { config, resources } = this.props;\r\n return {\r\n localAccount: {\r\n id: 'attributeList',\r\n className: `${this.moduleClassName}__account-items attr`\r\n },\r\n items: [\r\n this._renderInput('email', 'email', `${resources.emailAddressLabelText} *`, '255', this.emailRegex, true),\r\n // this._renderInput('email_rep', 'email', 'Repeat your email address', '255'),\r\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex, true),\r\n this._renderInput(\r\n 'reenterPassword',\r\n 'password',\r\n resources.confirmPasswordLabelText,\r\n undefined,\r\n this.reenterPasswordRegex,\r\n true\r\n ),\r\n this._renderInput('givenName', 'text', `${resources.firstNameLabelText} *`, resources.firstNameMaxLength, undefined, true),\r\n this._renderInput('surname', 'text', `${resources.lastNameLabelText} *`, resources.lastNameMaxLength, undefined, true),\r\n this._renderInput('postalCode', 'text', resources.addressZipCodeLabelOptional, '8'),\r\n this._renderInput('extension_Birthday', 'date', resources.birthdayLabelText),\r\n // TODO Manage spaces\r\n this._renderInput('phone_number', 'tel', resources.phoneLabelText, '15'),\r\n this._renderInput('extension_RegionCRM', 'text', 'RegionCRM'),\r\n this._renderInput('extension_LastConsentSource', 'text', 'LastConsentSource'),\r\n this._renderInput('extension_EcomSignUpLegalEntity', 'text', 'EcomSignUpLegalEntity'),\r\n this._renderInput('extension_GenericMarketing', 'checkbox', ''),\r\n this._renderInput('extension_Profiling', 'checkbox', ''),\r\n this._renderInput('extension_ThirdParty', 'checkbox', '')\r\n ],\r\n emailVerification: {\r\n isRequired: this.isEmailVerificationRequried,\r\n email: this._renderInput(\r\n this.getValue('email_ver_input', 'emailVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'emailVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n buttonWrapper: {\r\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\r\n 'data-claim_id': 'email'\r\n },\r\n buttons: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n successMessage: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n \r\n ]\r\n },\r\n givenNameVerification: {\r\n isRequired: this.isGivenNameVerificationRequried,\r\n givenName: this._renderInput(\r\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'givenNameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n surnameVerification: {\r\n isRequired: this.isSurnameVerificationRequried,\r\n surname: this._renderInput(\r\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'surnameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n buttons: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n }\r\n\r\n private _renderInput(\r\n id: string,\r\n type: string,\r\n labelText: string,\r\n maxLength?: string,\r\n pattern?: string,\r\n required?: boolean,\r\n value?: any,\r\n onChange?: any,\r\n cssClassName?: string\r\n ): ISignUpItem {\r\n const className = `${this.moduleClassName}__account-item`;\r\n return {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\r\n },\r\n key: id,\r\n label: (\r\n \r\n ),\r\n errorMessage: (\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n }\r\n}\r\n\r\nexport default SignUp;\r\n","/* eslint-disable react/jsx-key */\r\n/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from './new-sign-up';\r\n\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\n// import { SHA256 } from 'crypto-js'; // To manage customdimensions GA from here if it doesn't work in the gtm script\r\n\r\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\r\n return (\r\n <>\r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {errorMessage &&\r\n errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode) => {\r\n return <>{button};\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = props => {\r\n const {\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = props.signUpLocalAccount;\r\n\r\n const locale = props.locale;\r\n const regionCRM = props.regionCRM;\r\n const EcomSignUpLegalEntity = props.EcomSignUpLegalEntity;\r\n let LastConsentSource: string;\r\n switch (props.LastConsentSource) {\r\n case 'FinanceOperationEU':\r\n LastConsentSource = 'Finance&Operation EU';\r\n break;\r\n case 'FinanceOperationUS':\r\n LastConsentSource = 'Finance&Operation US';\r\n break;\r\n default:\r\n LastConsentSource = 'Finance&Operation EU';\r\n }\r\n\r\n const [birthDate, setBirthDate] = React.useState('');\r\n const [formatDateState, setFormatDateState] = React.useState(true);\r\n const pattern = /^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^((16|[248][048]|[3579][26])00)|(1[6789]|[2-9][0-9])(0[48]|[13579][26]|[2468][048])\\/02\\/(0[1-9]|1[0-9]|2[0-9])$|^(1[6789]|[2-9][0-9])[0-9]{2}\\/02\\/(0[1-9]|1[0-9]|2[0-8])$/gm;\r\n const patternUS = /^((0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^02\\/(0[1-9]|1[0-9]|2[0-9])$/gm;\r\n\r\n const checkDate = (event: React.KeyboardEvent) => {\r\n const value = event.currentTarget.value;\r\n const today = new Date();\r\n if (value !== '' && (!value.match(locale !== 'en-US' ? pattern : patternUS) || today < new Date(value))) {\r\n setFormatDateState(false);\r\n } else {\r\n setFormatDateState(true);\r\n }\r\n if (locale === 'en-US') {\r\n setBirthDate(`1900/${value}`);\r\n }\r\n };\r\n if (typeof window !== 'undefined') {\r\n const signUpButton: HTMLElement = document.getElementById('continue') as HTMLElement;\r\n // console.log(document.getElementById('continue'));\r\n if (signUpButton !== undefined) {\r\n signUpButton.onclick = e => {\r\n if (!formatDateState) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n }\r\n }\r\n\r\n const profiling_ref = React.useRef(null);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n if (locale.toLowerCase() === 'en-us') {\r\n const { checked } = e.target;\r\n profiling_ref.current!.checked = checked;\r\n }\r\n };\r\n\r\n // DONE guest state session variable; check that user ID (the one that's NOT an FC) exists alongside the user not being auth (since if not auth = loyalty)\r\n\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignUpItem) => {\r\n switch (item.key) {\r\n case 'email':\r\n if (emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n const emailRepErrorText: string = props.resources.emailRepErrorText ?? null;\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const email: HTMLInputElement = document.getElementById(\r\n 'email'\r\n ) as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById(\r\n 'text-error'\r\n ) as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email_rep.pattern = email.value;\r\n // I hope the following works well with Azure\r\n email_rep.title = emailRepErrorText;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n \r\n {\r\n const email: HTMLInputElement = document.getElementById('email') as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById('text-error') as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email.pattern = email_rep.value;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n case 'givenName':\r\n if (givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'surname':\r\n if (surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'extension_Birthday':\r\n return (\r\n <>\r\n
\r\n \r\n {/* TODO Test US elements */}\r\n {locale === 'en-US' ? (\r\n <>\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n {/* // TODO? Validate that it's not in the future, and possibly that it's after at least 18 years */}\r\n e.preventDefault()}\r\n onChange={() => {\r\n if (typeof window !== 'undefined') {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_Birthday'\r\n ) as HTMLInputElement;\r\n birthday_proxy.onchange = event => {\r\n birthday_hidden.value = birthday_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n e.preventDefault()}\r\n style={{ display: 'none' }}\r\n />\r\n \r\n )}\r\n
\r\n {props.config.BirthdayText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'postalCode':\r\n return (\r\n <>\r\n \r\n {props.config.PostalText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'phone_number':\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const phone_number_proxy: HTMLInputElement = document.getElementById(\r\n 'phone_number'\r\n ) as HTMLInputElement;\r\n const phone_number_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_PhoneNumber'\r\n ) as HTMLInputElement;\r\n phone_number_proxy.onchange = event => {\r\n phone_number_hidden.value = phone_number_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n \r\n {props.config.PhoneText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'extension_GenericMarketing':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_Profiling':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_ThirdParty':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_RegionCRM':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_LastConsentSource':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_EcomSignUpLegalEntity':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return ;\r\n }\r\n })}\r\n {disclaimer}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n IAccountPreference,\r\n IAccountPreferences,\r\n IAccountProfileItem,\r\n IAccountProfileViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/account-profile/./account-profile';\r\nimport { IAccountProfileProps } from '../definition-extensions/account-profile.ext.props.autogenerated';\r\n\r\nconst AccountPreferencesSection: React.FC = ({ accountPreferences, heading, personalization, extraPreferences }) => {\r\n return (\r\n \r\n {heading}\r\n \r\n {extraPreferences &&\r\n extraPreferences.map((preferenceSecton, index) => {\r\n return ;\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AccountPreferenceSection: React.FC = ({\r\n accountPreference,\r\n heading,\r\n description,\r\n buttonWrapper,\r\n buttonYesText,\r\n button,\r\n buttonNoText\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n \r\n {buttonNoText}\r\n {button}\r\n {buttonYesText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AccountProfileSection: React.FC = ({ AccountProfileItem, heading, links, description }) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nconst AccountProfileView: React.FC> = props => {\r\n const {\r\n AccountProfile,\r\n accountProfileWrapper,\r\n heading,\r\n emailSection,\r\n nameSection,\r\n preferenceSection,\r\n customerAttributesWrapper,\r\n customerAttributesSection\r\n } = props;\r\n\r\n console.log('here======>')\r\n React.useEffect(() => {\r\n if (document.getElementsByClassName('ms-account-profile__attributes-GenericMarketing').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-GenericMarketing')[1].innerHTML =\r\n // @ts-ignore\r\n props.config.textGenericMarketing;\r\n }\r\n if (document.getElementsByClassName('ms-account-profile__attributes-Profiling').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-Profiling')[1].innerHTML = props.config.textProfiling;\r\n }\r\n if (document.getElementsByClassName('ms-account-profile__attributes-ThirdParty').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-ThirdParty')[1].innerHTML = props.config.textThirdParty;\r\n }\r\n\r\n document.getElementsByClassName('ms-account-profile__attributes-edit-button msc-btn')[0].addEventListener(\"click\", () => {\r\n const bd_input: HTMLInputElement = document.getElementsByClassName('ms-account-profile__attributes-element ms-account-profile__attributes_input ms-account-profile__attributes_input-edit-false ms-account-profile__Birthday-input')[0] as HTMLInputElement;\r\n // const prev_date = bd_input.value;\r\n if (props.context.request.canonicalDomain !== 'us.venchi.com') {\r\n // The following is undefined due to the element not existing yet at runtime\r\n // const never_mind: HTMLButtonElement = document.getElementsByClassName('ms-account-profile__attributes-cancel-button msc-btn')[0] as HTMLButtonElement;\r\n \r\n // Protip: This resets the birthday value on click, so be mindful of that\r\n bd_input.setAttribute('type', 'date');\r\n \r\n // never_mind.addEventListener(\"click\", () => {\r\n // bd_input.setAttribute('type', 'text');\r\n // bd_input.value = prev_date;\r\n // });\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {heading}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {accountProfileWrapper && (\r\n \r\n \r\n \r\n {customerAttributesWrapper && {customerAttributesSection}}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {customerAttributesWrapper && {customerAttributesSection}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountProfileView;\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 Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountAddressTileData } from './account-address-tile.data';\nimport { IAccountAddressTileProps } from './account-address-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-address-tile-description';\nimport LinksComponent from './components/account-address-tile-links';\n\nexport interface IAccountAddressTileViewProps extends IAccountAddressTileProps {\n AccountAddressTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountAddress component.\n * @extends {React.PureComponent>}\n */\nclass AccountAddressTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountAddressTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountAddressTileDescriptionForSingleAddress, accountAddressTileDescriptionForMultipleAddresses } = resources;\n const { address } = data;\n const addressCount = (address && address.result && address.result.length) || 0;\n const accountAddressTileDescription =\n addressCount === 1 ? accountAddressTileDescriptionForSingleAddress : accountAddressTileDescriptionForMultipleAddresses;\n const description = format(accountAddressTileDescription, addressCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountAddressTile: {\n moduleProps: this.props,\n className: classnames('ms-account-address-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountAddressTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountAddressTileViewProps } from './account-address-tile';\n\nconst AccountAddressTileView: React.FC = props => {\n const { AccountAddressTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountAddressTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountAddressTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountAddressTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountAddressTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-address-tile.props.autogenerated';\n\nexport interface IAccountAddressTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountAddressTileLinks: React.FC = ({ links, telemetryContent, requestContext, onTextChange }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-address-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountAddressTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountInvoiceTileDescription {\n description: string;\n}\n\nexport const AccountInvoiceTileDescription: React.FC = ({ description }) => (\n

{description}

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

{description}

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

{description}

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

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

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

{resources.wasReviewHelpfulText}

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