{"version":3,"file":"static/js/13.c4c2410e89bec3f51032.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/components/sign-up-dropdown.tsx?a13d","webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/nos-companytype-picker.tsx?25d1","webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/nos-companytype-picker.view.tsx?3b31","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/components/sign-up-dropdown.tsx?9e4e","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/nos-country-picker.tsx?13f4","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/nos-country-picker.view.tsx?9cf8","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/components/sign-up-dropdown.tsx?87bb","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/nos-language-picker.tsx?d9e9","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/nos-language-picker.view.tsx?20f1","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/checkout-section-container.view.tsx?894e","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/checkout.view.tsx?906d","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","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/b2b-requests-status.view.tsx?de3b","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc"],"sourcesContent":["/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosCompanytypePickerData } from './nos-companytype-picker.data';\r\nimport { INosCompanytypePickerProps } from './nos-companytype-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableCompanyTypeData } from '../../actions/get-available-company-types.action';\r\n\r\n/**\r\n * Interface for ICompanyTypesExtendedProps.\r\n */\r\nexport interface ICompanyTypePickerExtendedProps extends INosCompanytypePickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableCompanyTypeData): void;\r\n selectedValue: IGetAvailableCompanyTypeData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ICompanyTypesState.\r\n */\r\nexport interface ICompanyTypePickerState {\r\n companyTypeId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ICompanyTypesViewProps.\r\n */\r\nexport interface ICompanyTypePickerViewProps {\r\n className: string;\r\n CompanyTypePicker: IModuleProps;\r\n availableCompanyTypes: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ICompanyTypePickerState>}\r\n */\r\nclass NosCompanyTypePicker extends React.Component {\r\n @observable private availableCompanyTypes?: IGetAvailableCompanyTypeData[];\r\n\r\n public constructor(props: ICompanyTypePickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableCompanyTypes = data.availableCompanyTypes.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICompanyTypePickerExtendedProps, nextState: ICompanyTypePickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n CompanyTypePicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableCompanyTypes: this._initializeDropdown(this.availableCompanyTypes ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableCompanyTypes: IGetAvailableCompanyTypeData[],\r\n selectedValue: IGetAvailableCompanyTypeData\r\n ) => {\r\n const tempOptions = availableCompanyTypes?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n\r\n return (\r\n this._onInputChange(event, availableCompanyTypes)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (\r\n event: React.ChangeEvent,\r\n availableCompanyTypes: IGetAvailableCompanyTypeData[]\r\n ) => {\r\n const newChosenLanguage = availableCompanyTypes.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ICompanyTypePickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableCompanyTypes.result,\r\n () => {\r\n this.availableCompanyTypes = data.availableCompanyTypes.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosCompanyTypePicker;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICompanyTypePickerViewProps } from './nos-companytype-picker';\r\n\r\n/**\r\n * Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.availableCountries\r\n * @returns - Node.\r\n */\r\nconst CompanyTypePickerNode: React.FC = ({ availableCompanyTypes }) => {\r\n return {availableCompanyTypes};\r\n};\r\n\r\n/**\r\n * View Component.\r\n * @param props - Props.\r\n * @returns - CompanyTypes Module.\r\n */\r\nconst NosCompanyTypePickerView: React.FC = props => {\r\n const { CompanyTypePicker, availableCompanyTypes } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosCompanyTypePickerView;\r\n","/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosCountryPickerData } from './nos-country-picker.data';\r\nimport { INosCountryPickerProps } from './nos-country-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableLanguagesData } from '../../actions/get-available-languages.action';\r\n\r\n/**\r\n * Interface for ICountryPickerExtendedProps.\r\n */\r\nexport interface ICountryPickerExtendedProps extends INosCountryPickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableLanguagesData): void;\r\n selectedValue: IGetAvailableLanguagesData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ICountryPickerState.\r\n */\r\nexport interface ICountryPickerState {\r\n countryId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ICountryPickerViewProps.\r\n */\r\nexport interface ICountryPickerViewProps {\r\n className: string;\r\n CountryPicker: IModuleProps;\r\n availableCountries: any;\r\n // selectedCountry?: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ICountryPickerState>}\r\n */\r\nclass NosCountryPicker extends React.Component {\r\n @observable private availableCountries?: IGetAvailableLanguagesData[];\r\n\r\n public constructor(props: ICountryPickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableCountries = data.availableCountries.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICountryPickerExtendedProps, nextState: ICountryPickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n CountryPicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableCountries: this._initializeDropdown(this.availableCountries ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableCountries: IGetAvailableLanguagesData[],\r\n selectedValue: IGetAvailableLanguagesData\r\n ) => {\r\n const tempOptions = availableCountries?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n return (\r\n this._onInputChange(event, availableCountries)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent, availableCountries: IGetAvailableLanguagesData[]) => {\r\n const newChosenLanguage = availableCountries.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ICountryPickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableCountries.result,\r\n () => {\r\n this.availableCountries = data.availableCountries.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosCountryPicker;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICountryPickerViewProps } from './nos-country-picker';\r\n\r\n/**\r\n * @param param0 - Root param.\r\n * @param param0.availableCountries - Cancel button.\r\n * @returns .\r\n */\r\nconst CountryPickerNode: React.FC = ({ availableCountries }) => {\r\n return {availableCountries};\r\n};\r\n\r\n/**\r\n * Country Picker View Component.\r\n * @param props - Props.\r\n * @returns - Country Picker Module.\r\n */\r\nconst NosCountryPickerView: React.FC = props => {\r\n const { CountryPicker, availableCountries } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosCountryPickerView;\r\n","/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosLanguagePickerData } from './nos-language-picker.data';\r\nimport { INosLanguagePickerProps } from './nos-language-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableLanguagesData } from '../../actions/get-available-languages.action';\r\n\r\n/**\r\n * Interface for ILanguagePickerExtendedProps.\r\n */\r\nexport interface ILanguagePickerExtendedProps extends INosLanguagePickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableLanguagesData): void;\r\n selectedValue: IGetAvailableLanguagesData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ILanguagePickerState.\r\n */\r\nexport interface ILanguagePickerState {\r\n languageId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ILanguagePickerViewProps.\r\n */\r\nexport interface ILanguagePickerViewProps {\r\n className: string;\r\n LanguagePicker: IModuleProps;\r\n availableLanguages: any;\r\n // selectedLanguage?: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ILanguagePickerState>}\r\n */\r\nclass NosLanguagePicker extends React.Component {\r\n @observable private availableLanguages?: IGetAvailableLanguagesData[];\r\n\r\n public constructor(props: ILanguagePickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableLanguages = data.availableLanguages.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ILanguagePickerExtendedProps, nextState: ILanguagePickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n LanguagePicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableLanguages: this._initializeDropdown(this.availableLanguages ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableLanguages: IGetAvailableLanguagesData[],\r\n selectedValue: IGetAvailableLanguagesData\r\n ) => {\r\n const tempOptions = availableLanguages?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n\r\n return (\r\n this._onInputChange(event, availableLanguages)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent, availableLanguages: IGetAvailableLanguagesData[]) => {\r\n const newChosenLanguage = availableLanguages.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ILanguagePickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableLanguages.result,\r\n () => {\r\n this.availableLanguages = data.availableLanguages.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosLanguagePicker;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ILanguagePickerViewProps } from './nos-language-picker';\r\n\r\n/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.availableLanguages - Cancel button.\r\n * @returns - AddressForm Node.\r\n */\r\nconst LanguagePickerNode: React.FC = ({ availableLanguages }) => {\r\n return {availableLanguages};\r\n};\r\n\r\n/**\r\n * Business Account Address View Component.\r\n * @param props - Props.\r\n * @returns - LanguagePicker Module.\r\n */\r\nconst NosLanguagePickerView: React.FC = props => {\r\n const { LanguagePicker, availableLanguages } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosLanguagePickerView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { RefObject } from 'react';\r\n\r\nimport {\r\n ICheckoutSectionContainerItem,\r\n ICheckoutSectionContainerViewProps\r\n} from '@msdyn365-commerce-modules/checkout/src/modules/checkout-section-container/./checkout-section-container';\r\nimport { ICheckoutSectionContainerProps } from '../definition-extensions/checkout-section-container.ext.props.autogenerated';\r\nimport { PaymentContext } from './checkout.view';\r\n\r\nconst ItemComponent: React.FC = ({ loading, itemProps, item }) => {\r\n return (\r\n <>\r\n {loading}\r\n {item}\r\n \r\n );\r\n};\r\n\r\nconst useMutationObserver = (\r\n ref: RefObject,\r\n callback: MutationCallback,\r\n options = {\r\n attributes: true,\r\n attributeFilter: ['class'],\r\n characterData: true,\r\n childList: true,\r\n subtree: true\r\n }\r\n) => {\r\n React.useEffect(() => {\r\n if (ref.current !== null) {\r\n const observer = new MutationObserver(callback);\r\n observer.observe(ref.current, options);\r\n\r\n return () => observer.disconnect();\r\n } else return;\r\n }, [callback, options]);\r\n};\r\n\r\nconst CheckoutSectionContainerView: React.FC> = props => {\r\n const { paymentId, setPaymentId, setPlaceOrderButtonVisible } = React.useContext(PaymentContext);\r\n\r\n const mutationObserver = React.useRef(null);\r\n const [accountPayment, setAccountPayment] = React.useState(false);\r\n const accountPaymentStatus = (ref: any) => {\r\n ref.forEach((item: any) => {\r\n if (item.target.classList.contains('hidden') && (item.target.dataset.typeName = 'nos-customer-account-payment')) {\r\n setAccountPayment(true);\r\n } else if (accountPayment === true) {\r\n setAccountPayment(false);\r\n }\r\n });\r\n };\r\n useMutationObserver(mutationObserver, accountPaymentStatus);\r\n\r\n const { checkoutPlainContainerProps, items, resources } = props;\r\n\r\n return (\r\n \r\n
\r\n {items.map(item => {\r\n // Check if module type equals default Payment module\r\n let isCreditCard = Object.values(item.itemProps).includes('checkout-payment-instrument');\r\n // Check if module type equals Sepa Payment module\r\n let isSepa = Object.values(item.itemProps).includes('nos-payment-instrument');\r\n let isPayment = isCreditCard || isSepa;\r\n let currentPaymentModule = item.id;\r\n\r\n return (\r\n <>\r\n {isCreditCard && !accountPayment && (\r\n
\r\n {\r\n setPaymentId(event.target.value), setPlaceOrderButtonVisible(true);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {isSepa && !accountPayment && (\r\n
\r\n {\r\n setPaymentId(event.target.value);\r\n setPlaceOrderButtonVisible(false);\r\n }}\r\n disabled\r\n />\r\n \r\n
\r\n )}\r\n\r\n {/* Render all non Payment modules */}\r\n {!isPayment && }\r\n\r\n {/* Render Payment module but only if user has selected it by choosing the corresponding radion button */}\r\n {isPayment && currentPaymentModule === paymentId && }\r\n {isCreditCard && paymentId === '' && }\r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CheckoutSectionContainerView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node, Waiting } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICheckoutViewProps, ILineItem, ILineItemDeliveryGroup, ILineItems, IOrderSummary, IPickUpAtStore } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./checkout';\r\nimport { IEmailDelivery } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components';\r\nimport { IInvoicePaymentSummary } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components/get-invoice-payment-summary';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.otherCharge}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.invoices}\r\n {lines.giftCard}\r\n {lines.loyalty}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nexport const PaymentContext = React.createContext({\r\n isPlaceOrderButtonVisible: true,\r\n setPlaceOrderButtonVisible: (isVisible: boolean) => {},\r\n paymentId: '',\r\n setPaymentId: (id: string) => {}\r\n});\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n isPaymentVerificationRedirection,\r\n shouldEnableSinglePaymentAuthorizationCheckout,\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\r\n hasInvoiceLine,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n termsAndConditionsProps,\r\n orderConfirmation,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n invoicePaymentSummary,\r\n lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n checkoutExpressPaymentContainer,\r\n checkoutErrorRef\r\n } = props;\r\n // Initial value should be true if button should be shown on default selection\r\n const [isPlaceOrderButtonVisible, setPlaceOrderButtonState] = React.useState(true);\r\n const [paymentId, setPaymentIdState] = React.useState('');\r\n const setPlaceOrderButtonVisible = React.useCallback((state: boolean) => setPlaceOrderButtonState(state), []);\r\n const setPaymentId = React.useCallback((id: string) => setPaymentIdState(id), []);\r\n const paymentContextValue = React.useMemo(\r\n () => ({\r\n isPlaceOrderButtonVisible,\r\n setPlaceOrderButtonVisible,\r\n paymentId,\r\n setPaymentId\r\n }), [isPlaceOrderButtonVisible, setPlaceOrderButtonVisible, paymentId, setPaymentId]\r\n );\r\n\r\n return (\r\n \r\n {!hasSalesOrder && !checkoutExpressPaymentContainer && {title}}\r\n {!hasSalesOrder && isPaymentVerificationRedirection && shouldEnableSinglePaymentAuthorizationCheckout && !alert && !loading && (\r\n \r\n )}\r\n {!hasSalesOrder && (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n \r\n \r\n {guidedForm}\r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n \r\n {!hasInvoiceLine\r\n ? orderSummary && \r\n : invoicePaymentSummary && }\r\n \r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n {lineItems && }\r\n \r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {hasSalesOrder && orderConfirmation}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\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 { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\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 { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\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 { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className)\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\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 { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.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: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\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 { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n return content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n {this.props.context.request.app?.config?.OmniChannelMedia && this._createAdditionalMediaDrawer()}\n \n );\n });\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\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 { getUrlSync } from '@msdyn365-commerce/core';\nimport { IB2bRequestsStatusViewProps } from '@msdyn365-commerce-modules/account-management';\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusProps, IB2bRequestsStatusResources } from '../definition-extensions/b2b-requests-status.ext.props.autogenerated';\n\n/**\n * B2b Request status View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\nconst B2bRequestsStatusView: React.FC> = props => {\n const { b2bRequestsStatus, heading, table } = props;\n const { continueShoppingButtonTitle } = props.resources;\n const initialCount = 0;\n\n if (props.data.operationRequests.result?.length === initialCount) {\n return (\n \n {heading}\n \n
\n

{props.resources.headingForEmptyRequestStatus}

\n

{props.resources.textForEmptyRequestStatus}

\n \n \n {continueShoppingButtonTitle}\n \n \n
\n
\n
\n );\n }\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\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 { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n"],"names":["_ref","id","value","className","isRequired","options","onChange","fieldReference","selectValue","isSubmittedPressed","resources","React","event","disabled","selected","select","map","option","key","NosCompanyTypePicker","constructor","props","super","_initializeDropdown","availableCompanyTypes","selectedValue","_selectedValue$value","tempOptions","el","BusinessSignUpDropdown","this","_onInputChange","newChosenLanguage","find","target","updateDropdown","_dataInitialize","data","reaction","result","_data$availableCompan","componentDidMount","shouldComponentUpdate","nextProps","nextState","state","render","_this$availableCompan","renderView","config","_objectSpread","CompanyTypePicker","moduleProps","classnames","__decorate","observable","CompanyTypePickerNode","Node","Module","Object","assign","NosCountryPicker","availableCountries","_data$availableCountr","_this$availableCountr","CountryPicker","CountryPickerNode","NosLanguagePicker","availableLanguages","_data$availableLangua","_this$availableLangua","LanguagePicker","LanguagePickerNode","ItemComponent","loading","itemProps","item","paymentId","setPaymentId","setPlaceOrderButtonVisible","PaymentContext","mutationObserver","accountPayment","setAccountPayment","ref","callback","arguments","length","undefined","attributes","attributeFilter","characterData","childList","subtree","current","observer","MutationObserver","observe","disconnect","useMutationObserver","forEach","classList","contains","dataset","typeName","checkoutPlainContainerProps","items","isCreditCard","values","includes","isSepa","isPayment","currentPaymentModule","type","defaultChecked","name","htmlFor","paymentMethodDefaultPayment","paymentMethodSepa","PickUpAtStoreComponent","PickUpAtStore","label","location","EmailDeliveryComponent","_ref2","EmailDelivery","LineItemComponent","_ref3","LineItem","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","heading","lineItems","lineItem","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","index","OrderSummaryComponent","_ref9","lines","subtotal","shipping","otherCharge","tax","totalDiscounts","loyalty","giftCard","orderTotal","PaymentSummaryComponent","_ref10","invoices","isPlaceOrderButtonVisible","isVisible","isPaymentVerificationRedirection","shouldEnableSinglePaymentAuthorizationCheckout","canShow","checkoutProps","headerProps","hasSalesOrder","hasInvoiceLine","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","alert","title","guidedForm","orderSummary","invoicePaymentSummary","placeOrderButton","termsAndConditions","checkoutExpressPaymentContainer","checkoutErrorRef","setPlaceOrderButtonState","setPaymentIdState","paymentContextValue","Waiting","Provider","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","errorMessage","CheckInForPickup","checkInForOrderPickup","async","channelId","Number","parseInt","context","request","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","push","Key","Value","StringValue","SalesOrdersDataActions","callerContext","actionContext","queryResultSettings","error","setState","headerErrorMessage","genericErrorMessage","isCheckedIn","telemetry","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","viewProps","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","viewState","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","requestContext","Msdyn365","text","tag","editProps","onEdit","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","links","ctaLink","renderLinks","linkIndex","editableLink","ariaLabel","linkText","linkUrl","destinationUrl","openInNewTab","role","link","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","editableLinks","payLoad","getPayloadObject","telemetryContent","contentAction","etext","getTelemetryAttributes","btnClass","additionalProperties","onClick","onTelemetryClick","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","handleTextChange","handleParagraphChange","paragraph","handleLinkTextChange","_heading$tag","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","imageProps","gridSettings","imageSettings","contentBlockLinks","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","href","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","message","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","input","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","URL","window","origin","redirectUrl","searchParameters","searchParams","set","fieldName","StringExtensions","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","moduleClassName","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","orderNumberInput","submitButton","Button","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","handleHeadingChange","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","product","RecordId","actionInput","AttributesForSelectedVariantInput","apiSettings","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_renderProductCell","app","OmniChannelMedia","_createAdditionalMediaDrawer","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","additionalMediaLocations","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","filter","row","SocialShare","slots","socialShareItems","cookies","isConsentGiven","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","SocialShareView","SocialShareElement","_props$data$operation","b2bRequestsStatus","table","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","summaryView","editView","moduleState","isReady"],"sourceRoot":""}