{"version":3,"file":"static/js/13.aa0295e2825f8b03e00e.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/actions/customProxy/NewsLetter/DataServiceEntities.g.ts?ccc3","webpack://Msdyn365.Commerce.Online/./src/actions/customProxy/NewsLetter/DataActionExtension.g.ts?6288","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/components/sign-up-button.tsx?d33f","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/components/sign-up-error.tsx?a084","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/components/sign-up-input.tsx?edc4","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/components/sign-up-label.tsx?175b","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/krannich-c-business-sign-up.tsx?fccb","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-business-sign-up/krannich-c-business-sign-up.view.tsx?1617","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-newletter-form/krannich-c-newletter-form.tsx?22d2","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-newletter-form/krannich-c-newletter-form.view.tsx?67e0","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-custom-loader/krannich-custom-loader.tsx?cda3","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-custom-loader/krannich-custom-loader.view.tsx?feb2","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/account-welcome-tile.view.tsx?1850","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/promo-banner.view.tsx?3081","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-shipping-address/checkout-shipping-address.view.tsx?3386","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/checkout/checkout.view.tsx?e4cc","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/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","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/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","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","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7"],"sourcesContent":["/* eslint-disable security/detect-object-injection */\r\n// tslint:disable\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as Entities from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n// import { jsonLightReadStringPropertyValue } from '@msdyn365-commerce/retail-proxy/dist/externals';\r\n\r\n/**\r\n * KRV_SubscribeNewsLetter entity interface.\r\n */\r\nexport interface IKRV_SubscribeNewsLetter {\r\n Company?: string;\r\n FirstName?: string;\r\n LastName?: string;\r\n StreetNumber?: string;\r\n ZipCode?: string;\r\n EmailAddress: string;\r\n Phone?: string;\r\n City?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * KRV_SubscribeNewsLetterResponseEntity entity interface.\r\n */\r\nexport interface IKRV_SubscribeNewsLetterResponseEntity {\r\n Status?: string;\r\n StatusCode?: string;\r\n Message?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * KRV_SubscribeNewsLetter entity class.\r\n */\r\nexport class KRV_SubscribeNewsLetterExtensionClass implements IKRV_SubscribeNewsLetter {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Company: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public FirstName: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public LastName: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public StreetNumber: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ZipCode: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public EmailAddress: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Phone: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public City: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Company = odataObject.Company;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.FirstName = odataObject.FirstName;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.LastName = odataObject.LastName;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.StreetNumber = odataObject.StreetNumber;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ZipCode = odataObject.ZipCode;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.EmailAddress = odataObject.EmailAddress;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Phone = odataObject.Phone;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.City = odataObject.City;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i]) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type']) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[className]) {\r\n this.ExtensionProperties[i] = new EntityClasses[className](odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new EntityClasses.CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * KRV_SubscribeNewsLetterResponseEntity entity class.\r\n */\r\nexport class KRV_SubscribeNewsLetterResponseEntityExtensionClass implements IKRV_SubscribeNewsLetterResponseEntity {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Status: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public StatusCode: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Message: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Status = odataObject.Status;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.StatusCode = odataObject.StatusCode;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Message = odataObject.Message;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i]) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type']) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[className]) {\r\n this.ExtensionProperties[i] = new EntityClasses[className](odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new EntityClasses.CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n * THIS FILE IS AN AUTOGENERATED TYPESCRIPT PROXY EXTENSION.\r\n * TO USE THIS FILE, IT MUST BE ADDED TO A D365COMMERCE APPLICATION\r\n */\r\n// tslint:disable\r\nimport {\r\n AsyncResult,\r\n callActionOrExecute,\r\n DataServiceQuery,\r\n IContext,\r\n IDataServiceRequest\r\n // IQueryResultSettings,\r\n // NullResult\r\n} from '@msdyn365-commerce/retail-proxy';\r\n// @ts-ignore\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\n// import * as Entities from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport * as DataServiceEntities from './DataServiceEntities.g';\r\n\r\n// @ts-ignore\r\nfunction kRV_NewsLetterQuery(emailAddress?: string): DataServiceQuery {\r\n const key = emailAddress ? { EmailAddress: emailAddress } : null;\r\n return new DataServiceQuery(\r\n 'KRV_NewsLetter',\r\n 'KRV_SubscribeNewsLetter',\r\n DataServiceEntities.KRV_SubscribeNewsLetterExtensionClass,\r\n key\r\n );\r\n}\r\n\r\nexport function createKRV_SubscribeNewsLetterInput(subscribeNewsLetter: DataServiceEntities.IKRV_SubscribeNewsLetter): IDataServiceRequest {\r\n const query = kRV_NewsLetterQuery();\r\n return query.createDataServiceRequestForOperation(\r\n 'KRV_SubscribeNewsLetter',\r\n true,\r\n DataServiceEntities.KRV_SubscribeNewsLetterResponseEntityExtensionClass,\r\n 'false',\r\n { bypassCache: 'get', returnEntity: 'DataServiceEntities.IKRV_SubscribeNewsLetterResponseEntity' },\r\n { subscribeNewsLetter: subscribeNewsLetter }\r\n );\r\n}\r\n\r\nexport function kRV_SubscribeNewsLetterAsync(\r\n context: IContext,\r\n subscribeNewsLetter: DataServiceEntities.IKRV_SubscribeNewsLetter\r\n): AsyncResult {\r\n const request = createKRV_SubscribeNewsLetterInput(subscribeNewsLetter);\r\n return callActionOrExecute(request, context.callerContext);\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpButtonProps {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n link?: string;\r\n telemetryContent: ITelemetryContent;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nexport const SignUpButton: React.FC = ({\r\n id,\r\n className,\r\n text,\r\n ariaLabel,\r\n telemetryContent,\r\n disabled,\r\n link,\r\n onClick\r\n}) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, text);\r\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default SignUpButton;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nexport const SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n \r\n

{message}

\r\n \r\n );\r\n};\r\n\r\nexport default SignUpError;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { InputType } from '../krannich-c-business-sign-up';\r\n\r\nexport interface IBusinessSignUpInputProps {\r\n id?: string;\r\n type: InputType;\r\n value?: string;\r\n pattern?: string;\r\n className: string;\r\n maxLength?: string;\r\n isRequired: boolean;\r\n fieldReference?: React.RefObject;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface IBusinessSignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const SignUpInput: React.FC = ({\r\n id,\r\n type,\r\n value,\r\n pattern,\r\n className,\r\n maxLength,\r\n isRequired,\r\n onChange,\r\n fieldReference\r\n}) => {\r\n if (type === InputType?.TextArea) {\r\n return (\r\n \r\n );\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpInput;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpLabelProps {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nexport const SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { ContentEditableEvent, getUrlSync, RichTextComponent, Text } from '@msdyn365-commerce/core';\r\nimport { Address, BusinessPartnerProspect, CommerceProperty, CommercePropertyValue, IContext } from '@msdyn365-commerce/retail-proxy';\r\nimport { createProspectAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\r\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IKrannichCBusinessSignUpConfig,\r\n IKrannichCBusinessSignUpProps,\r\n IKrannichCBusinessSignUpResources\r\n} from './krannich-c-business-sign-up.props.autogenerated';\r\nimport { SignUpButton, SignUpError, SignUpInput, SignUpLabel } from './components';\r\n// todo: need to add relevant source for radio button\r\nimport { IBusinessSignUpRadioButtonOptionProps /*, BusinessSignUpRadioButtonOption*/ } from './components/sign-up-radio-button';\r\nimport { kRV_SubscribeNewsLetterAsync } from '../../actions/customProxy/NewsLetter/DataActionExtension.g';\r\nimport { IKRV_SubscribeNewsLetter } from '../../actions/customProxy/NewsLetter/DataServiceEntities.g';\r\n\r\nexport interface IBusinessSignUpExtendedProps extends IKrannichCBusinessSignUpProps {\r\n formItems?: IFormItem[];\r\n}\r\n\r\nexport interface IBusinessSignUpItem {\r\n wrapper: INodeProps;\r\n isAddressInput?: boolean;\r\n id: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input?: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessState {\r\n isReady: boolean;\r\n isTermsConditionCheck: boolean;\r\n isNewsletterCheck: boolean;\r\n formItems: IFormItem[];\r\n addressHasErrors: boolean;\r\n showAddressErrors: boolean;\r\n hasSubmitErrors: boolean;\r\n hasStatusMessage: string;\r\n hasStatusError: boolean;\r\n errorMessage: string;\r\n abnValue: string;\r\n isAbnValidCheck: boolean;\r\n}\r\n\r\nexport interface IBusinessSignUpLocalAccount {\r\n FormWrapper: INodeProps;\r\n items: IBusinessSignUpItem[];\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessSignUpViewProps {\r\n className: string;\r\n businessSignUp: IModuleProps;\r\n ContainerWrapper: INodeProps;\r\n heading: React.ReactNode;\r\n businessSignUpForm: IBusinessSignUpLocalAccount;\r\n formItems: IFormItem[];\r\n getStatusMessage: React.ReactNode;\r\n termsConditions: React.ReactNode;\r\n newsletter: React.ReactNode;\r\n}\r\n\r\nexport interface IFormItem {\r\n id: string;\r\n type: InputType;\r\n label: string;\r\n value: string;\r\n maxChars?: string;\r\n isRequired: boolean;\r\n pattern?: string;\r\n address?: Address;\r\n customClass?: string;\r\n fieldReference?: React.RefObject;\r\n radioButtonOptions?: IBusinessSignUpRadioButtonOptionProps[];\r\n radioButtonGroupClass?: string;\r\n}\r\n\r\nexport enum InputType {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow -- Text enum doesn't override the imported Text\r\n Text = 'text',\r\n Address = 'address',\r\n Email = 'email',\r\n TextArea = 'textarea',\r\n Number = 'Number',\r\n RadioButton = 'radiobutton'\r\n}\r\n\r\nexport enum InputID {\r\n FirstName = 'FirstName',\r\n LastName = 'LastName',\r\n Email = 'CompanyEmail',\r\n CompanyName = 'CompanyName',\r\n Address = 'CompanyAddress',\r\n JobTitle = 'JobTitle',\r\n Size = 'CompanySize',\r\n Department = 'Department',\r\n Comment = 'Comment',\r\n ProspectType = 'ProspectType'\r\n}\r\nexport enum InputIDMex {\r\n Name = 'Name',\r\n FirstLastName = 'FirstLastName',\r\n SecondLastName = 'SecondLastName',\r\n CompanyName = 'CompanyName',\r\n Address = 'CompanyAddress',\r\n InvoicingRFC = 'InvoicingRFC',\r\n VatID = 'VatID',\r\n TaxRegime = 'TaxRegime',\r\n Purpose = 'Purpose',\r\n Email = 'CompanyEmail',\r\n Comment = 'Comment',\r\n ProspectType = 'ProspectType'\r\n}\r\n\r\nexport const renderInputSection = (\r\n inputs: IFormItem[],\r\n className: string,\r\n resources: IKrannichCBusinessSignUpResources,\r\n needToReset: boolean,\r\n onInputChange: (event: React.ChangeEvent) => void,\r\n showErrors: boolean,\r\n addressForm?: React.ReactNode,\r\n updateAddress?: (errors: boolean, currAddress?: Address) => void,\r\n errorMessage?: string\r\n): IBusinessSignUpItem[] => {\r\n return inputs.map((element, index) => {\r\n const { id, type, label, maxChars, isRequired, pattern, customClass, value, fieldReference } = element;\r\n const baseSignUpItem: IBusinessSignUpItem = {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, customClass)\r\n },\r\n id,\r\n label: ,\r\n errorMessage: \r\n };\r\n\r\n if (type === InputType.Address) {\r\n if (addressForm) {\r\n baseSignUpItem.isAddressInput = true;\r\n baseSignUpItem.input = (\r\n <>\r\n {React.cloneElement(addressForm as React.ReactElement, {\r\n updateForm: updateAddress,\r\n hasError: showErrors,\r\n isRequired: isRequired === undefined ? false : isRequired,\r\n resetAddress: needToReset\r\n })}\r\n \r\n );\r\n } else {\r\n // If the address slot is not filled, remove this input from the form\r\n inputs.splice(index, 1);\r\n }\r\n } else {\r\n baseSignUpItem.input = (\r\n <>\r\n \r\n {value.length === 0 && isRequired === true && showErrors ? (\r\n \r\n {resources.requiredFieldMissingError}\r\n \r\n ) : null}\r\n {errorMessage !== '' && id === 'JobTitle' ? (\r\n \r\n {errorMessage}\r\n \r\n ) : null}\r\n {baseSignUpItem.id === InputID.Email && !EmailRegex.defaultRegex.test(value) && value.length > 0 ? (\r\n \r\n {resources.invalidEmailAddressValidationMessage}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n\r\n return baseSignUpItem;\r\n });\r\n};\r\n\r\n/**\r\n *\r\n * Business Request Form Modules\r\n * Form that a business can use to submit a request to become a partner with Microsoft.\r\n * @extends {React.Component>}\r\n */\r\nclass BusinessSignUp extends React.Component {\r\n // Used as default data\r\n public BusinessSignUpDefaultInputs: IFormItem[] = [\r\n {\r\n id: InputID.FirstName,\r\n type: InputType.Text,\r\n label: this.props.resources.firstNameLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-25'\r\n },\r\n {\r\n id: InputID.LastName,\r\n type: InputType.Text,\r\n label: this.props.resources.lastNameLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-25'\r\n },\r\n {\r\n id: InputID.Email,\r\n type: InputType.Email,\r\n label: this.props.resources.emailAddressLabel,\r\n value: '',\r\n isRequired: true,\r\n pattern: EmailRegex.defaultRegex.source,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.CompanyName,\r\n type: InputType.Text,\r\n label:\r\n this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForUsSite\r\n ? this.props.resources.companyLabelForUS\r\n : this.props.resources.companyLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Department,\r\n type: InputType.Text,\r\n label: this.props.resources.departmentLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.JobTitle,\r\n type: InputType.Text,\r\n label: this.props.resources.abnTitleLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50',\r\n maxChars: '11'\r\n },\r\n {\r\n id: InputID.Size,\r\n type: InputType.Text,\r\n label: this.props.resources.companySizeLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Address,\r\n type: InputType.Address,\r\n label: this.props.resources.companyAddressLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-100'\r\n },\r\n {\r\n id: InputID.Comment,\r\n type: InputType.TextArea,\r\n label: this.props.resources.commentLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-100'\r\n }\r\n ];\r\n public BusinessSignUpMexicoInputs: IFormItem[] = [\r\n {\r\n id: InputIDMex.Name,\r\n type: InputType.Text,\r\n label: this.props.resources.namesLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputIDMex.FirstLastName,\r\n type: InputType.Text,\r\n label: this.props.resources.lastNameMexLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.CompanyName,\r\n type: InputType.Text,\r\n label: this.props.resources.companyLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputIDMex.InvoicingRFC,\r\n type: InputType.Text,\r\n label: this.props.resources.invoicingRfcLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputIDMex.TaxRegime,\r\n type: InputType.Text,\r\n label: this.props.resources.taxRegimeLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputIDMex.Purpose,\r\n type: InputType.Text,\r\n label: this.props.resources.purposeLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Email,\r\n type: InputType.Email,\r\n label: this.props.resources.emailAddressLabel,\r\n value: '',\r\n isRequired: true,\r\n pattern: EmailRegex.defaultRegex.source,\r\n customClass: 'width-50'\r\n },\r\n {\r\n id: InputID.Address,\r\n type: InputType.Address,\r\n label: this.props.resources.companyAddressLabel,\r\n value: '',\r\n isRequired: true,\r\n customClass: 'width-100'\r\n },\r\n {\r\n id: InputID.Comment,\r\n type: InputType.TextArea,\r\n label: this.props.resources.commentLabel,\r\n value: '',\r\n isRequired: false,\r\n customClass: 'width-100'\r\n }\r\n ];\r\n private readonly formChildReference: React.RefObject = React.createRef();\r\n\r\n private readonly moduleClassName: string = 'ms-business-sign-up';\r\n\r\n private needsToReset: boolean = false;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n constructor(props: IBusinessSignUpExtendedProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isReady: false,\r\n formItems: this.props.formItems || this._addedReference(),\r\n addressHasErrors: false,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false,\r\n hasStatusMessage: '',\r\n hasStatusError: false,\r\n isTermsConditionCheck: false,\r\n isNewsletterCheck: false,\r\n errorMessage: '',\r\n abnValue: '',\r\n isAbnValidCheck: false\r\n };\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.updateFormItems = this.updateFormItems.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n const {\r\n context: {\r\n actionContext: {\r\n requestContext: { query }\r\n }\r\n }\r\n } = this.props;\r\n if (this.props.context.request.user.isAuthenticated) {\r\n const successPageURL = getUrlSync('home', this.props.context.actionContext);\r\n window.location.href = String(successPageURL);\r\n }\r\n const ItemId = query?.ItemId;\r\n const Name = query?.Name;\r\n const producerKeyName = query?.producerKeyName;\r\n const producer = query?.producer;\r\n const usSiteFlag =\r\n this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForUsSite;\r\n const mexicoSiteFlag =\r\n this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForMexicoSite;\r\n if (ItemId && Name && producer) {\r\n const updatedForm = this.state.formItems;\r\n updatedForm.forEach(item => {\r\n if (item.id === InputID.Comment) {\r\n item.value = `${'Item Number: '}${ItemId}${'\\n'}${'Product Name: '}${Name}${'\\n'}${producerKeyName ||\r\n 'Manufacturer'}: ${producer}`;\r\n }\r\n });\r\n this.setState({\r\n formItems: updatedForm\r\n });\r\n }\r\n this.formChildReference.current?.focus();\r\n // VSI Customization for Florida Shop ( label change : Post code to Zip code )\r\n const parentElement = document.getElementById('company_addresszipcode_container');\r\n const childElement = parentElement?.firstChild;\r\n if (parentElement && childElement) {\r\n const newLabel = document.createElement('label');\r\n newLabel.className = 'msc-address-form__label';\r\n newLabel.htmlFor = 'company_addresszipcode';\r\n newLabel.textContent = `${usSiteFlag || mexicoSiteFlag ? 'Zip Code *' : 'Postal Code *'}`;\r\n childElement?.replaceWith(newLabel);\r\n }\r\n if (mexicoSiteFlag) {\r\n // VSI Customization for Mexico Shop ( label change : Street * -> Department/Area * )\r\n // Select the label element by its for attribute\r\n const labelElement = document.querySelector('label[for=\"company_addressstreet\"]');\r\n // Check if the label element exists\r\n if (labelElement) {\r\n // Update the text content\r\n labelElement.textContent = 'Department/Area *';\r\n }\r\n }\r\n }\r\n public shouldComponentUpdate(nextProps: IBusinessSignUpExtendedProps, nextState: IBusinessState): 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 //VSI CUSTOMIZATION FOR DISPLAY STATUS MESSAGE\r\n public _getStatusMessage() {\r\n return this.state.hasStatusError ?

{this.state.hasStatusMessage}

: null;\r\n }\r\n public render(): JSX.Element {\r\n const { config, resources } = this.props;\r\n const { formItems, isNewsletterCheck, isTermsConditionCheck } = this.state;\r\n const { className, heading } = config;\r\n const viewProps = {\r\n ...this.props,\r\n businessSignUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, className)\r\n },\r\n ContainerWrapper: {\r\n className: `${this.moduleClassName}__container`\r\n },\r\n heading: (\r\n \r\n ),\r\n businessSignUpForm: this._renderForm(),\r\n formItems,\r\n getStatusMessage: this._getStatusMessage(),\r\n termsConditions: (\r\n
\r\n this.setState({ isTermsConditionCheck: !isTermsConditionCheck })}\r\n />\r\n
\r\n {this.props.resources.termsandConditionStatementFirstPart}\r\n {\r\n <>\r\n {this.props.config.termsandConditions && this.props.config.termsandConditions.linkText && (\r\n \r\n )}{' '}\r\n  \r\n \r\n {this.props.resources.termsandConditions}\r\n \r\n \r\n }\r\n {this.props.resources.termsandConditionStatementSecondPart}\r\n
\r\n
\r\n ),\r\n newsletter: (\r\n
\r\n \r\n
\r\n )\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle the heading change event.\r\n * @param event - Content Editable Event.\r\n */\r\n public handleHeadingChange = (event: ContentEditableEvent): void => {\r\n this.props.config.heading.text = event.target.value;\r\n };\r\n\r\n private _renderForm(): IBusinessSignUpLocalAccount {\r\n const { config, resources, slots } = this.props;\r\n const { showAddressErrors, hasSubmitErrors, isReady, formItems, isTermsConditionCheck, isAbnValidCheck } = this.state;\r\n const {\r\n signUpButtonArialabel,\r\n signUpButtonText,\r\n cancelButtonArialabel,\r\n cancelButtonText\r\n // errorMessage,\r\n // partialAddressErrorMessage\r\n } = resources;\r\n const { currentRegionName, ounRegions } = this.props.context?.app.config;\r\n const currentRegion = ounRegions?.find((region: { Name: any }) => region.Name === currentRegionName);\r\n const addressForm = (slots && slots.addressSlot && slots.addressSlot.length > 0 && slots.addressSlot[0]) || undefined;\r\n const form = {\r\n FormWrapper: {\r\n className: `${this.moduleClassName}__form `\r\n },\r\n items: renderInputSection(\r\n formItems,\r\n `${this.moduleClassName}__form-item`,\r\n resources,\r\n this.needsToReset,\r\n this._onInputChange,\r\n showAddressErrors ?? hasSubmitErrors,\r\n addressForm,\r\n this._onAddressChange,\r\n this.state.errorMessage\r\n ),\r\n buttons: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n // hasSubmitErrors && \r\n // ,showAddressErrors && (\r\n // \r\n // )\r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n\r\n if (this.needsToReset) {\r\n this.needsToReset = false;\r\n }\r\n\r\n return form;\r\n }\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\r\n const newForm = this.state.formItems;\r\n //VSI Customization for ABN field validation starts\r\n if (event.target.id === 'JobTitle') {\r\n const phoneReg = /^[0-9][0-9]*$/;\r\n let jobTitleId: number = 5;\r\n //getting array index for abn field\r\n for (let i = 0; i < newForm.length; i++) {\r\n if (newForm[Number(i)].id === 'JobTitle') {\r\n jobTitleId = i;\r\n }\r\n }\r\n const tempValue = event.target.value.split(' ').join('');\r\n //Checking if entered string matches criteria\r\n if (\r\n (newForm[Number(jobTitleId)].value.length <= 14 && phoneReg.test(tempValue)) ||\r\n newForm[Number(jobTitleId)].value.length > event.target.value.length\r\n ) {\r\n newForm[Number(jobTitleId)].value = tempValue;\r\n this.setState({\r\n errorMessage: this.props.resources.abnLengthMessage,\r\n isAbnValidCheck: false\r\n });\r\n }\r\n\r\n //if 11 digits reached adding spaces\r\n if (newForm[Number(jobTitleId)].value.length === 11) {\r\n this.setState(\r\n {\r\n errorMessage: '',\r\n abnValue: newForm[Number(jobTitleId)].value\r\n },\r\n () => {\r\n this.updateFormItems(jobTitleId);\r\n this.setState({ isAbnValidCheck: true });\r\n }\r\n );\r\n }\r\n //if 11 digits reached adding spaces\r\n if (newForm[Number(jobTitleId)].value.length === 0) {\r\n this.setState({\r\n errorMessage: '',\r\n abnValue: newForm[Number(jobTitleId)].value\r\n });\r\n }\r\n //VSI Customization End\r\n } else {\r\n newForm.forEach(item => {\r\n if (item.id === event.target.id) {\r\n item.value = event.target.value;\r\n }\r\n });\r\n }\r\n // Check if form is ready, update state object with latest values, values have changed so reset hasSubmitErrros\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n hasSubmitErrors: false\r\n });\r\n };\r\n\r\n public updateFormItems = (jobTitleId: number): void => {\r\n //VSI customization to Format ABN Values i.e adding spaces\r\n if (this.state.formItems) {\r\n const newForm = this.state.formItems;\r\n const newValue = this.state.abnValue;\r\n const formattedValue = `${newValue.slice(0, 2)} ${newValue.slice(2, 5)} ${newValue.slice(5, 8)} ${newValue.slice(8)}`;\r\n newForm[Number(jobTitleId)].value = formattedValue;\r\n this.setState({\r\n formItems: newForm,\r\n isAbnValidCheck: true\r\n });\r\n }\r\n };\r\n\r\n private _addedReference(): IFormItem[] {\r\n if (this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForUsSite) {\r\n //Customization for removal of ABN field from Form for US Site\r\n this.BusinessSignUpDefaultInputs = this.BusinessSignUpDefaultInputs.filter(\r\n obj => obj.id !== 'JobTitle' && obj.id !== 'CompanySize'\r\n );\r\n }\r\n let newFormFields;\r\n if (this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForMexicoSite) {\r\n newFormFields = this.BusinessSignUpMexicoInputs;\r\n } else {\r\n newFormFields = this.BusinessSignUpDefaultInputs;\r\n }\r\n newFormFields[0].fieldReference = this.formChildReference;\r\n return newFormFields;\r\n }\r\n\r\n private readonly _onAddressChange = (errors: boolean, currentAddress?: Address): void => {\r\n // Find address item\r\n const newForm = this.state.formItems;\r\n const addressItem = newForm.find(item => {\r\n return item.type === InputType.Address;\r\n });\r\n\r\n // If found --> set to currentAddress\r\n if (addressItem) {\r\n addressItem.address = currentAddress;\r\n\r\n // Update state with new values and set errors to false if address is not required field\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n addressHasErrors: errors,\r\n showAddressErrors: false\r\n });\r\n }\r\n };\r\n\r\n private readonly _isFormReady = (): boolean => {\r\n const { formItems } = this.state;\r\n var state: any = document.getElementById('company_addressstate');\r\n var city: any = document.getElementById('company_addresscity');\r\n var street: any = document.getElementById('company_addressstreet');\r\n var postCode: any = document.getElementById('company_addresszipcode');\r\n var Phone: any = document.getElementById('company_addressphone');\r\n\r\n for (const currentInput of formItems) {\r\n // Will return FALSE if:\r\n // - input field is required\r\n // IF is address AND addressHasErrors === true\r\n // ELSE value is undefined OR empty\r\n // OR\r\n // - pattern provided and value does not match pattern\r\n if (state.value === '' || city.value === '' || street.value === '' || postCode.value === '' || Phone.value === '') {\r\n return false;\r\n } else if (currentInput.type === InputType.Address) {\r\n if (this.state.addressHasErrors) {\r\n if (state.value !== '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n } else if (currentInput.isRequired) {\r\n if (currentInput.value === undefined || currentInput.value === '') {\r\n return false;\r\n }\r\n }\r\n if (currentInput.pattern !== undefined && currentInput.value.match(currentInput.pattern) === null) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n private readonly _newsletterCall = async (ctx: IContext, data: IKRV_SubscribeNewsLetter) => {\r\n await kRV_SubscribeNewsLetterAsync(ctx, data);\r\n };\r\n\r\n private readonly _onSubmit = (event: React.MouseEvent): void => {\r\n event.preventDefault();\r\n if (this.state.addressHasErrors) {\r\n this.setState({\r\n showAddressErrors: true,\r\n hasSubmitErrors: true\r\n });\r\n }\r\n\r\n const { config, context } = this.props;\r\n\r\n // Check for matching id and if not empty\r\n const firstName = this._getItem(InputID.FirstName);\r\n const lastName = this._getItem(InputID.LastName);\r\n const companyName = this._getItem(InputID.CompanyName);\r\n const companyEmail = this._getItem(InputID.Email);\r\n const companyAddress = this._getItem(InputID.Address, true);\r\n const jobTitle = this._getItem(InputID.JobTitle);\r\n const department = this._getItem(InputID.Department);\r\n const companySize = this._getItem(InputID.Size);\r\n const comments = this._getItem(InputID.Comment);\r\n\r\n // API gets email as part of the address object, but I do not use the email input from the address component, thus we need to copy it over\r\n if (companyEmail && companyEmail.value && companyAddress && companyAddress.address) {\r\n companyAddress.address.Email = companyEmail.value;\r\n companyAddress.address.Phone = companyAddress.address.Phone?.split(' ').join('');\r\n }\r\n if (\r\n companyAddress &&\r\n companyAddress.address &&\r\n this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForUsSite\r\n ) {\r\n const phoneNum = companyAddress.address.Phone;\r\n const countryCode = 1;\r\n // Apply formatting\r\n const areaCode = phoneNum?.slice(0, 3);\r\n const firstPart = phoneNum?.slice(3, 6);\r\n const secondPart = phoneNum?.slice(6);\r\n companyAddress.address.Phone = `${countryCode} (${areaCode}) ${firstPart}-${secondPart}`;\r\n }\r\n const newValue: CommercePropertyValue = {\r\n BooleanValue: undefined,\r\n ByteValue: undefined,\r\n DateTimeOffsetValue: undefined,\r\n DecimalValue: undefined,\r\n IntegerValue: undefined,\r\n LongValue: undefined,\r\n StringValue:\r\n this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForUsSite\r\n ? ''\r\n : jobTitle && jobTitle.value\r\n };\r\n const newExtension: CommerceProperty = {\r\n Key: 'ABN',\r\n Value: newValue\r\n };\r\n let newPartner: BusinessPartnerProspect;\r\n if (this.props?.context?.actionContext?.requestContext?.apiSettings?.oun === this.props.context.app.config.ounNumberForMexicoSite) {\r\n // for Mexico\r\n const firstName = this._getItem(InputIDMex.Name);\r\n const firstLastName = this._getItem(InputIDMex.FirstLastName);\r\n const invoicingRFC = this._getItem(InputIDMex.InvoicingRFC);\r\n const taxRegime = this._getItem(InputIDMex.TaxRegime);\r\n const purpose = this._getItem(InputIDMex.Purpose);\r\n\r\n const invoicingRFCValue: CommercePropertyValue = {\r\n BooleanValue: undefined,\r\n ByteValue: undefined,\r\n DateTimeOffsetValue: undefined,\r\n DecimalValue: undefined,\r\n IntegerValue: undefined,\r\n LongValue: undefined,\r\n StringValue: invoicingRFC?.value\r\n };\r\n\r\n const invoicingRFCObject: CommerceProperty = {\r\n Key: 'invoicingRFC',\r\n Value: invoicingRFCValue\r\n };\r\n\r\n const taxRegimeValue: CommercePropertyValue = {\r\n BooleanValue: undefined,\r\n ByteValue: undefined,\r\n DateTimeOffsetValue: undefined,\r\n DecimalValue: undefined,\r\n IntegerValue: undefined,\r\n LongValue: undefined,\r\n StringValue: taxRegime?.value\r\n };\r\n const taxRegimeObject: CommerceProperty = {\r\n Key: 'taxRegime',\r\n Value: taxRegimeValue\r\n };\r\n const purposeValue: CommercePropertyValue = {\r\n BooleanValue: undefined,\r\n ByteValue: undefined,\r\n DateTimeOffsetValue: undefined,\r\n DecimalValue: undefined,\r\n IntegerValue: undefined,\r\n LongValue: undefined,\r\n StringValue: purpose?.value\r\n };\r\n const purposeObject: CommerceProperty = {\r\n Key: 'purpose',\r\n Value: purposeValue\r\n };\r\n\r\n newPartner = {\r\n FirstName: firstName && firstName.value,\r\n LastName: firstLastName && firstLastName.value,\r\n CompanyName: companyName && companyName.value,\r\n Address: companyAddress && companyAddress.address && companyAddress.address,\r\n Department: department && department.value,\r\n CompanySize: (companySize && Number.parseInt(companySize.value, 10)) || 0,\r\n Comments: comments && comments.value,\r\n ExtensionProperties: [invoicingRFCObject, taxRegimeObject, purposeObject]\r\n };\r\n } else {\r\n newPartner = {\r\n FirstName: firstName && firstName.value,\r\n LastName: lastName && lastName.value,\r\n CompanyName: companyName && companyName.value,\r\n Address: companyAddress && companyAddress.address && companyAddress.address,\r\n Department: department && department.value,\r\n CompanySize: (companySize && Number.parseInt(companySize.value, 10)) || 0,\r\n Comments: comments && comments.value,\r\n ExtensionProperties: [newExtension]\r\n };\r\n }\r\n\r\n // Create business partner request\r\n createProspectAsync({ callerContext: context.actionContext }, newPartner)\r\n .then(res => {\r\n if (res && res.ExtensionProperties && res.ExtensionProperties?.length === 1) {\r\n const successPageURL =\r\n (config.confirmationLink && config.confirmationLink.linkUrl && config.confirmationLink.linkUrl.destinationUrl) ||\r\n getUrlSync('home', this.props.context.actionContext);\r\n if (this.state.isNewsletterCheck) {\r\n const subscribeNewsLetter = {\r\n Company: newPartner.CompanyName,\r\n FirstName: newPartner.FirstName,\r\n LastName: newPartner.LastName,\r\n ZipCode: newPartner.Address?.ZipCode,\r\n EmailAddress: newPartner.Address?.Email || ''\r\n };\r\n const ctx = {\r\n callerContext: context.actionContext\r\n };\r\n //calling newsletter subscribtion API\r\n void this._newsletterCall(ctx, subscribeNewsLetter);\r\n }\r\n this.setState({ isNewsletterCheck: false, isTermsConditionCheck: false });\r\n window.location.href = String(successPageURL);\r\n } else {\r\n res &&\r\n res.ExtensionProperties &&\r\n res?.ExtensionProperties?.map(e => {\r\n if (e.Key === 'Error' && e.Value?.StringValue === 'ABN is missing') {\r\n this.setState({\r\n hasStatusMessage: e.Value?.StringValue,\r\n hasStatusError: true\r\n });\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n } else if (e.Key === 'ProspectStatus' && e.Value?.StringValue === 'Pending') {\r\n this.setState({\r\n hasStatusMessage: this.props.resources.userPendingStateMessage,\r\n hasStatusError: true\r\n });\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n } else if (e.Key === 'ProspectStatus' && e.Value?.StringValue === 'Approved') {\r\n this.setState({\r\n hasStatusMessage: this.props.resources.accountAlreadyExistMessage,\r\n hasStatusError: true\r\n });\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n } else if (e.Key === 'ProspectStatus' && e.Value?.StringValue === 'Active') {\r\n this.setState({\r\n hasStatusMessage: this.props.resources.userAlreadyExistAndActivatedMessage,\r\n hasStatusError: true\r\n });\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n });\r\n }\r\n })\r\n .catch(() => {\r\n this.setState({\r\n hasSubmitErrors: false,\r\n isReady: false\r\n });\r\n });\r\n };\r\n\r\n private readonly _onCancel = () => {\r\n // Reset values of the form\r\n const cleanForm = this.state.formItems;\r\n cleanForm.forEach(input => {\r\n input.value = '';\r\n });\r\n\r\n // Set reset flag so address input will get reset on next renderInputSection() call\r\n this.needsToReset = true;\r\n\r\n this.setState({\r\n isReady: false,\r\n formItems: cleanForm,\r\n addressHasErrors: true,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false,\r\n isTermsConditionCheck: false\r\n });\r\n };\r\n\r\n private readonly _getItem = (id: string, isAddress: boolean = false) => {\r\n if (isAddress) {\r\n return this.state.formItems.find(item => {\r\n return item.id === id && item.address;\r\n });\r\n }\r\n return this.state.formItems.find(item => {\r\n return item.id === id && item.value !== '';\r\n });\r\n };\r\n}\r\n\r\nexport default BusinessSignUp;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node, Waiting } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { IBusinessSignUpItem, IBusinessSignUpViewProps } from './krannich-c-business-sign-up';\r\nimport { IKrannichCBusinessSignUpProps } from './krannich-c-business-sign-up.props.autogenerated';\r\nimport { IContentBlockConfig } from '../../themes/krannich/definition-extensions/content-block.ext.props.autogenerated';\r\n\r\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\r\n // Hide label and error message if rendering address section\r\n return (\r\n \r\n {!isAddressInput && label}\r\n {!isAddressInput && errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst BusinesSignUpView: React.FC> = props => {\r\n const {\r\n businessSignUp,\r\n ContainerWrapper,\r\n heading,\r\n businessSignUpForm,\r\n resources,\r\n config: { bannerImage },\r\n context: {\r\n actionContext: {\r\n requestContext: {\r\n user: { isAuthenticated, signInUrl }\r\n }\r\n },\r\n request: { gridSettings },\r\n actionContext: { requestContext }\r\n },\r\n termsConditions,\r\n newsletter\r\n } = props;\r\n //VSI Customization to add banner image from config for new design implementation\r\n const imageProps = {\r\n gridSettings: gridSettings ?? {},\r\n imageSettings: bannerImage?.imageSettings\r\n };\r\n\r\n interface IContentBlockFullConfig extends IContentBlockConfig {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\r\n msdyn365__moduleLayout?: string;\r\n }\r\n const contentBlockImage = (\r\n \r\n );\r\n //VSI Customization to add banner image for new design implementation -- END\r\n\r\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\r\n const { currentRegionName, ounRegions } = props.context?.app.config;\r\n const currentRegion = ounRegions?.find((region: { Name: any }) => region.Name === currentRegionName);\r\n\r\n return isAuthenticated ? (\r\n \r\n ) : (\r\n
\r\n

\r\n {items && currentRegion?.oun && props?.context?.actionContext?.requestContext?.apiSettings?.oun === currentRegion?.oun\r\n ? resources.textForMexicoField\r\n : props?.context?.actionContext?.requestContext?.apiSettings?.oun !== props.context.app.config.ounNumberForUsSite &&\r\n resources.textUnderABNField}\r\n

\r\n
{props.getStatusMessage}
\r\n
\r\n \r\n \r\n {heading}\r\n \r\n {items &&\r\n items.map((item: IBusinessSignUpItem) => {\r\n return ;\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {/* {VSI customization to add check boxes for newsletter, terms & conditions link from config} */}\r\n {newsletter}\r\n {termsConditions}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n {disclaimer}\r\n {\r\n
\r\n {resources.alreadyHaveAnAccount} \r\n {signInUrl && (\r\n \r\n {resources.signInLink}\r\n \r\n )}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
{contentBlockImage}
\r\n
\r\n );\r\n};\r\n\r\nexport default BusinesSignUpView;\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 * as React from 'react';\r\n\r\nimport { IKrannichCNewletterFormData } from './krannich-c-newletter-form.data';\r\nimport { IKrannichCNewletterFormProps } from './krannich-c-newletter-form.props.autogenerated';\r\n\r\nexport interface IKrannichCNewletterFormViewProps extends IKrannichCNewletterFormProps {}\r\n\r\n/**\r\n *\r\n * KrannichCNewletterForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass KrannichCNewletterForm extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default KrannichCNewletterForm;\r\n","/* eslint-disable react/jsx-key */\r\n/* eslint-disable security/detect-object-injection */\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 * as React from 'react';\r\nimport { kRV_SubscribeNewsLetterAsync } from '../../actions/customProxy/NewsLetter/DataActionExtension.g';\r\nimport { IKrannichCNewletterFormViewProps } from './krannich-c-newletter-form';\r\n\r\nexport default (props: IKrannichCNewletterFormViewProps) => {\r\n const {\r\n context: {\r\n actionContext: {\r\n requestContext: { query }\r\n }\r\n },\r\n config: { heading, subHeading, termAndConditions },\r\n resources\r\n } = props;\r\n const Email = query?.Email;\r\n\r\n const [error, setError] = React.useState('');\r\n const [fieldError, setFieldError] = React.useState({});\r\n const [isDisable, setIsDisable] = React.useState(true);\r\n // const [respMessage, setRespMessage] = React.useState(false);\r\n const [respMessageValue, setRespMessageValue] = React.useState('');\r\n const [formVals, setformVals] = React.useState({\r\n companyName: '',\r\n fistName: '',\r\n lastName: '',\r\n zipCode: '',\r\n emailAddress: '',\r\n agree: false\r\n });\r\n const [validationCheck, setValidationCheck] = React.useState({});\r\n\r\n React.useEffect(() => {\r\n setformVals({\r\n companyName: '',\r\n fistName: '',\r\n lastName: '',\r\n zipCode: '',\r\n emailAddress: Email || '',\r\n agree: false\r\n });\r\n }, [query]);\r\n\r\n const termsAndConditionsLink = (\r\n \r\n {termAndConditions?.linkText}\r\n \r\n );\r\n const usSiteFlag = props?.context?.actionContext?.requestContext?.apiSettings?.oun === props.context.app.config.ounNumberForUsSite;\r\n const formInputs = [\r\n {\r\n name: 'fistName',\r\n type: 'text',\r\n placeholder: resources.firstName,\r\n value: '',\r\n customType: 'text',\r\n label: `${resources.firstName}*`\r\n },\r\n {\r\n name: 'lastName',\r\n type: 'text',\r\n placeholder: resources.lastName,\r\n value: '',\r\n customType: 'text',\r\n label: `${resources.lastName}*`\r\n },\r\n {\r\n name: 'companyName',\r\n type: 'text',\r\n placeholder: resources.companyName,\r\n value: '',\r\n customType: 'textAll',\r\n label: `${resources.companyName} *`\r\n },\r\n {\r\n name: 'zipCode',\r\n customType: 'number',\r\n placeholder: usSiteFlag ? '00000' : '0000',\r\n value: '',\r\n type: 'text',\r\n label: usSiteFlag ? `${resources.zipCode} *` : `${resources.postCode} *`\r\n },\r\n {\r\n name: 'emailAddress',\r\n customType: 'email',\r\n placeholder: 'youremail@email.com',\r\n value: '',\r\n type: 'email',\r\n label: `${resources.emailAddress} *`\r\n },\r\n {\r\n type: 'checkbox',\r\n name: 'agree',\r\n value: false,\r\n customType: ''\r\n }\r\n ];\r\n\r\n React.useEffect(() => {\r\n void validateSubmitForm();\r\n }, [formVals]);\r\n\r\n const onChangeFormVal = async (customType: string, name: string, val: string | boolean, index: number) => {\r\n const res = await validateInputField(customType, val, index, name);\r\n if (res) {\r\n setformVals({ ...formVals, [name]: val });\r\n }\r\n };\r\n\r\n const validateEmail = (name: string, email: string, index: any) => {\r\n if (email === '') {\r\n setFieldError({ [index]: '' });\r\n setformVals({ ...formVals, [name]: email });\r\n setValidationCheck({ ...validationCheck, [index]: true });\r\n return true;\r\n } else if (\r\n String(email)\r\n .toLowerCase()\r\n .match(\r\n // eslint-disable-next-line security/detect-unsafe-regex\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n )\r\n ) {\r\n setFieldError({ [index]: '' });\r\n setformVals({ ...formVals, [name]: email });\r\n setValidationCheck({ ...validationCheck, [index]: true });\r\n return true;\r\n } else {\r\n setFieldError({ [index]: resources.validEmailAddressMessage });\r\n setValidationCheck({ ...validationCheck, [index]: false });\r\n setIsDisable(true);\r\n }\r\n return;\r\n };\r\n\r\n const validateNumber = (number: string, index: any, name: string) => {\r\n const usSiteFlag = props?.context?.actionContext?.requestContext?.apiSettings?.oun === props.context.app.config.ounNumberForUsSite;\r\n const phoneReg = /^[0-9\\s]*$/;\r\n if (number.length > 10 && name === 'zipCode') {\r\n setFieldError({ [index]: `${usSiteFlag ? resources.zipCode : resources.postCode} ${resources.canOnlyBeDigitseKey}` });\r\n return false;\r\n } else {\r\n if (number === '' || phoneReg.test(number)) {\r\n setFieldError({ [index]: '' });\r\n setValidationCheck({ ...validationCheck, [index]: true });\r\n return true;\r\n } else {\r\n setFieldError({ [index]: resources.enterNumbersOnlyMessage });\r\n setValidationCheck({ ...validationCheck, [index]: false });\r\n return false;\r\n }\r\n }\r\n };\r\n\r\n const validateText = (text: string, index: any) => {\r\n const textReg = /^[a-zA-Z]+$/;\r\n\r\n if (text === '' || textReg.test(text)) {\r\n setFieldError({ [index]: '' });\r\n setValidationCheck({ ...validationCheck, [index]: true });\r\n return true;\r\n } else {\r\n setFieldError({ [index]: resources.enterAlphabetsOnlyMessage });\r\n return false;\r\n }\r\n };\r\n\r\n async function validateInputField(customType: string, val: string | boolean, index: any, name: string) {\r\n if (typeof val === 'boolean') {\r\n return true;\r\n }\r\n if (customType === 'text') {\r\n return validateText(val, index);\r\n }\r\n if (customType === 'number') {\r\n return validateNumber(val, index, name);\r\n }\r\n return true;\r\n }\r\n\r\n const validateSubmitForm = async () => {\r\n if (\r\n formVals.companyName !== '' &&\r\n formVals.fistName !== '' &&\r\n formVals.lastName !== '' &&\r\n formVals.zipCode !== '' &&\r\n formVals.emailAddress !== ''\r\n ) {\r\n if (formVals.agree === true) {\r\n //VSI customization\r\n //if validation array contains any 'false' submit button will remain disabled unless all values are true and good to go\r\n const errors = Object.values(validationCheck);\r\n if (errors.includes(false)) {\r\n return;\r\n } else {\r\n setIsDisable(false);\r\n setError('');\r\n }\r\n } else {\r\n setIsDisable(true);\r\n setError(resources.acceptTermsConditionsMessage);\r\n }\r\n } else {\r\n setIsDisable(true);\r\n setError(resources.allFieldsMandatoryMessage);\r\n }\r\n };\r\n\r\n const handlerOnSubmit = async () => {\r\n const subscribeNewsLetter = {\r\n Company: formVals.companyName,\r\n FirstName: formVals.fistName,\r\n LastName: formVals.lastName,\r\n ZipCode: formVals.zipCode,\r\n EmailAddress: formVals.emailAddress\r\n };\r\n\r\n const ctx = {\r\n callerContext: props.context.actionContext\r\n };\r\n\r\n await kRV_SubscribeNewsLetterAsync(ctx, subscribeNewsLetter).then(resp => {\r\n // setRespMessage(true);\r\n setRespMessageValue(resp?.Message!);\r\n });\r\n\r\n setformVals({\r\n companyName: '',\r\n fistName: '',\r\n lastName: '',\r\n zipCode: '',\r\n emailAddress: '',\r\n agree: false\r\n });\r\n setIsDisable(true);\r\n setError('');\r\n setFieldError('');\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

{heading}

\r\n

\r\n {subHeading} {error}\r\n \r\n

\r\n
\r\n {respMessageValue === '' || respMessageValue === undefined ? null : respMessageValue === 'Email address already exist.' ? (\r\n
{'Email address already exists.'}
\r\n ) : (\r\n
{respMessageValue}
\r\n )}\r\n
\r\n {formInputs.map((input, index) => {\r\n if (input.type !== 'info-text') {\r\n return (\r\n
\r\n {input.type === 'checkbox' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {\r\n if (input.type === 'checkbox') {\r\n const newValue = formVals[input.name];\r\n void onChangeFormVal(input.customType, input.name, !newValue, index);\r\n } else {\r\n void onChangeFormVal(input.customType, input.name, e.target.value, index);\r\n }\r\n }}\r\n onBlur={e => {\r\n if (input.type === 'email') {\r\n validateEmail(input.name, e.target.value, index);\r\n }\r\n }}\r\n checked={formVals[input.name]}\r\n />\r\n {

{fieldError[index]}

}\r\n
\r\n );\r\n } else {\r\n return

{input.label}

;\r\n }\r\n })}\r\n \r\n
\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IKrannichCustomLoaderData } from './krannich-custom-loader.data';\r\nimport { IKrannichCustomLoaderProps } from './krannich-custom-loader.props.autogenerated';\r\n\r\nexport interface IKrannichCustomLoaderViewProps extends IKrannichCustomLoaderProps {}\r\n\r\n/**\r\n *\r\n * KrannichCustomLoader component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass KrannichCustomLoader extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default KrannichCustomLoader;\r\n","import React from 'react';\r\nimport { IKrannichCustomLoaderViewProps } from './krannich-custom-loader';\r\nimport { Waiting } from '@msdyn365-commerce-modules/utilities';\r\n\r\nconst CustomLoaderView: React.FC = () => {\r\n const [loading, setLoading] = React.useState(true);\r\n\r\n React.useEffect(() => {\r\n // Function to handle window load event\r\n const handleOnLoad = () => setLoading(false);\r\n\r\n // Check if document is already loaded\r\n if (document.readyState === 'complete') {\r\n setLoading(false);\r\n } else {\r\n // Add event listener for window load\r\n window.addEventListener('load', handleOnLoad);\r\n }\r\n\r\n // Cleanup function to remove event listener\r\n return () => {\r\n window.removeEventListener('load', handleOnLoad);\r\n };\r\n }, []);\r\n\r\n // Render loading indicator if loading, otherwise render content\r\n return (\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomLoaderView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICoreContext, IGeneric, IAny } from '@msdyn365-commerce/core';\r\nimport { IAccountWelcomeTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-welcome-tile/./account-welcome-tile';\r\nimport { IAccountWelcomeTileData } from './account-welcome-tile.data';\r\nimport { currencyFormat } from '../../../utils/helper';\r\nimport { IAccountWelcomeTileProps } from '../definition-extensions/account-welcome-tile.ext.props.autogenerated';\r\n\r\nconst AccountWelcomeTileView: React.FC> = props => {\r\n const { customerAccountNumber, companyCreditLimit, myAccount } = props.resources;\r\n const _getBalance = (\r\n accountNumber?: string,\r\n creditLimit?: number,\r\n context?: ICoreContext>,\r\n isPrepaidCustomer?: boolean\r\n ): React.ReactNode => {\r\n return (\r\n
\r\n
\r\n {customerAccountNumber}\r\n {accountNumber}\r\n
\r\n {!isPrepaidCustomer &&\r\n props?.context?.actionContext?.requestContext?.apiSettings?.oun !== props.context.app.config.ounNumberForUsSite ? (\r\n
\r\n \r\n {companyCreditLimit}{' '}\r\n {props?.context?.actionContext?.requestContext?.apiSettings?.oun !==\r\n props.context.app.config.ounNumberForUsSite}\r\n \r\n {currencyFormat(creditLimit, context)}\r\n
\r\n ) : null}\r\n
\r\n );\r\n };\r\n const {\r\n AccountWelcomeTile,\r\n data: { accountInformation, balance },\r\n context\r\n } = props;\r\n\r\n const result = accountInformation?.result;\r\n const creditLimit = balance?.result?.InvoiceAccountCreditLimit;\r\n const accountNumber = result?.AccountNumber;\r\n const attributes = result?.Attributes;\r\n //VSI Customization Start - to find if its not a prepaid customer\r\n let isPrepaidCustomer: boolean = false;\r\n if (attributes?.length) {\r\n isPrepaidCustomer = true;\r\n }\r\n //VSI customization end\r\n return (\r\n \r\n

{myAccount}

\r\n {_getBalance(accountNumber, creditLimit, context, isPrepaidCustomer)}\r\n
\r\n );\r\n};\r\n\r\nexport default AccountWelcomeTileView;\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, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IPromoBannerProps } from '../definition-extensions/promo-banner.ext.props.autogenerated';\r\nimport { IBannerMessagesData, IPromoBannerResources } from '@msdyn365-commerce-modules/promo-banner';\r\n\r\nexport interface IPromoBannerViewProps extends IPromoBannerProps<{}> {\r\n promoBannerProps: IModuleProps;\r\n contentProps: INodeProps;\r\n bannerMessages: IBannerMessagesData[];\r\n promoBannerTextProps: INodeProps;\r\n promoBannerLinksProps: INodeProps;\r\n carouselProps: INodeProps;\r\n closeButton?: React.ReactNode;\r\n className: string;\r\n promoBannerText: string;\r\n resources: IPromoBannerResources;\r\n onDismiss(): void;\r\n handleText(): void;\r\n handleLinks(): void;\r\n}\r\nconst PromoBannerView: React.FC = props => {\r\n const {\r\n promoBannerProps,\r\n contentProps,\r\n closeButton,\r\n bannerMessages,\r\n promoBannerTextProps,\r\n promoBannerLinksProps,\r\n carouselProps,\r\n promoBannerText,\r\n handleLinks,\r\n handleText,\r\n config: { orderTracking, becomeBuisnessPartner, promotionalText },\r\n context: {\r\n request: {\r\n user: { isAuthenticated }\r\n }\r\n }\r\n } = props;\r\n\r\n const slides =\r\n bannerMessages &&\r\n bannerMessages.map((message, index) => {\r\n return (\r\n \r\n {/* VSI CUSTOMIZAITON START ADD TWO CONFIGS ORDER TRACKING AND BUISNESS PARTNER*/}\r\n
\r\n {promotionalText && (\r\n
\r\n {promotionalText}\r\n
\r\n )}\r\n
\r\n
\r\n {promoBannerText}\r\n {message.text && }\r\n {message.links && message.links.length > 0 && (\r\n \r\n )}\r\n
\r\n {orderTracking && (\r\n \r\n {orderTracking?.linkText}\r\n \r\n )}\r\n {!isAuthenticated && becomeBuisnessPartner && (\r\n \r\n {becomeBuisnessPartner?.linkText}\r\n \r\n )}\r\n
\r\n {/* VSI CUSTOMIZAITON END */}\r\n
\r\n
\r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n {closeButton}\r\n \r\n );\r\n};\r\nexport default PromoBannerView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressSelectItem, IAddressSelectProps } from '../../common/components/address-select';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutShippingAddressViewProps } from './checkout-shipping-address';\nimport { IShipMultipleAddressesViewProps } from '../../common/components/address-ship-multiple';\nimport { IShipMultipleAddressesLineViewProps } from '../../common/components/address-ship-multiple-lines';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address Select Component.\n * @param param0 - Root param.\n * @param param0.SelectAddress - Select address.\n * @param param0.shipMultipleAddressesButton - Ship to multiple addresses button.\n * @param param0.addButton - Add button.\n * @param param0.items - IAddressSelectItem[].\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - SelectAddress Node.\n */\nconst AddressSelect: React.FC = ({\n SelectAddress,\n shipMultipleAddressesButton,\n addButton,\n items,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n \n {addButton}\n {shipMultipleAddressesButton}\n \n {items.map((item: IAddressSelectItem) => {\n const SelectItem = item.SelectItem;\n return (\n \n {item.input}\n \n \n );\n })}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Address Ship Multiple Component.\n * @param param0 - Root param.\n * @param param0.ShipMultipleAddress - Ship multiple address form.\n * @param param0.shipSingleAddressButton - Ship single address button.\n * @param param0.clearSelectionButton - Clear selection button.\n * @param param0.addressDropdown - Address dropdown button.\n * @param param0.ProductsTable - Products table component.\n * @param param0.ProductsTableHeading - Products table heading component.\n * @param param0.ProductsTableRow - Products table row component.\n * @param param0.shipMultipleAddressLines - Ship multiple address lines.\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @returns Address ship multiple component node.\n */\nconst AddressShipMultiple: React.FC = ({\n ShipMultipleAddress,\n shipSingleAddressButton,\n clearSelectionButton,\n addressDropdown,\n ProductsTable,\n ProductsTableHeading,\n ProductsTableRow,\n shipMultipleAddressLines,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton,\n isMobile\n}) => {\n if (ShipMultipleAddress && isMobile !== undefined) {\n if (!isMobile) {\n return (\n \n {shipSingleAddressButton}\n \n {clearSelectionButton}\n\n {addressDropdown}\n \n {ProductsTable && shipMultipleAddressLines && shipMultipleAddressLines.length > 0 && (\n \n {ProductsTableHeading}\n \n {shipMultipleAddressLines &&\n shipMultipleAddressLines.map((line: IShipMultipleAddressesLineViewProps) => {\n return _renderShipMultipleAddressLine(line, isMobile, ProductsTableRow);\n })}\n \n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n } else {\n return (\n \n {shipSingleAddressButton}\n {addressDropdown}\n {ProductsTable && shipMultipleAddressLines && shipMultipleAddressLines.length > 0 && (\n \n {ProductsTableHeading}\n \n {shipMultipleAddressLines &&\n shipMultipleAddressLines.map((line: IShipMultipleAddressesLineViewProps) => {\n return _renderShipMultipleAddressLine(line, isMobile, ProductsTableRow);\n })}\n \n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n }\n } else {\n return null;\n }\n};\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\nconst _renderShipMultipleAddressLine = (\n shipMultipleAddressesLine: IShipMultipleAddressesLineViewProps,\n isMobile: boolean,\n ProductsTableRow?: INodeProps\n): JSX.Element | null => {\n if (!shipMultipleAddressesLine) {\n return null;\n }\n\n const {\n selectLine,\n productImage,\n productNumber,\n productInfo,\n productPrice,\n productQuantity,\n productAddress\n } = shipMultipleAddressesLine;\n\n if (!isMobile) {\n return (\n \n {selectLine}\n \n
{productImage}
\n
{productNumber}
\n \n {productInfo}\n {productPrice}\n {productQuantity}\n {productAddress}\n
\n );\n } else {\n return (\n \n \n {selectLine}\n \n {productImage}\n {productInfo}\n {`QTY: ${productQuantity}`}\n \n {productPrice}\n \n \n {productAddress}\n \n \n );\n }\n};\n\n/**\n * Checkout Shipping Address View Component.\n * @param props - Props.\n * @returns - CheckoutShippingAddress Module.\n */\nconst CheckoutShippingAddressView: React.FC = props => {\n const {\n CheckoutShippingAddress,\n checkoutErrorRef,\n alert,\n viewState,\n showAddress,\n showAddressSelect,\n showAddOrUpdateAddress,\n showShipMultipleAddresses,\n cartLineImages\n } = props;\n\n return (\n \n {alert}\n {!viewState.isShowShipMultipleAddress && cartLineImages}\n {viewState.isShowAddress && }\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {viewState.isShowShipMultipleAddress && (\n \n )}\n \n );\n};\n\nexport default CheckoutShippingAddressView;\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 { Module, Node, Waiting } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ICheckoutViewProps,\n ILineItem,\n ILineItemDeliveryGroup,\n ILineItems,\n IOrderSummary,\n IPickUpAtStore,\n IEmailDelivery,\n IInvoicePaymentSummary\n} from './index';\n\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\n \n {label}\n {location}\n \n);\n\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\n\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\n \n {item}\n {pickUpAtStore && }\n {emailDelivery && }\n \n);\n\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\n \n {heading}\n \n {lineItems.map(lineItem => (\n \n ))}\n \n \n);\n\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\n LineItemDeliveryGroup,\n LineItemList,\n heading,\n lineItems,\n lineItemWraper,\n lineItemWraperIcon\n}) => (\n \n {lineItemWraperIcon}\n {lineItemWraper}\n {heading}\n \n {lineItems.map(lineItem => (\n \n ))}\n \n \n);\n\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\n \n {item}\n {emailDelivery && }\n \n);\n\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\n \n {label}\n {location}\n \n);\n\nexport const LineItemsComponent: React.FC = ({\n LineItems,\n Header,\n heading,\n editLink,\n itemsForPickup,\n itemsForShip,\n itemsForEmail,\n itemsGroupWithMulitplePickupMode\n}) => (\n \n \n {heading}\n {editLink}\n \n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\n {itemsGroupWithMulitplePickupMode !== undefined\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\n return ;\n })\n : null}\n \n);\n\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\n
\n {heading}\n
\n {lines && (\n <>\n {lines.subtotal}\n {lines.shipping}\n {lines.otherCharge}\n {lines.tax}\n {lines.totalDiscounts}\n {lines.loyalty}\n {lines.customerAccount}\n {lines.giftCard}\n {lines.orderTotal}\n \n )}\n
\n
\n);\n\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\n
\n {heading}\n
\n {lines && (\n <>\n {lines.invoices}\n {lines.giftCard}\n {lines.loyalty}\n {lines.orderTotal}\n \n )}\n
\n
\n);\n\nconst CheckoutView: React.FC = props => {\n const {\n isPaymentVerificationRedirection,\n shouldEnableSinglePaymentAuthorizationCheckout,\n canShow,\n checkoutProps,\n headerProps,\n hasSalesOrder,\n hasInvoiceLine,\n bodyProps,\n mainProps,\n mainControlProps,\n sideProps,\n sideControlFirstProps,\n sideControlSecondProps,\n termsAndConditionsProps,\n orderConfirmation,\n loading,\n alert,\n title,\n guidedForm,\n orderSummary,\n invoicePaymentSummary,\n lineItems,\n placeOrderButton,\n termsAndConditions,\n keepShoppingButton,\n checkoutExpressPaymentContainer,\n checkoutErrorRef\n } = props;\n\n return (\n \n {!hasSalesOrder && !checkoutExpressPaymentContainer && {title}}\n {!hasSalesOrder && isPaymentVerificationRedirection && shouldEnableSinglePaymentAuthorizationCheckout && !alert && !loading && (\n \n )}\n {!hasSalesOrder && (\n \n {loading}\n {alert}\n {canShow && (\n <>\n \n {checkoutExpressPaymentContainer}\n {checkoutExpressPaymentContainer && {title}}\n {guidedForm}\n {termsAndConditions}\n \n {placeOrderButton}\n {keepShoppingButton}\n \n \n \n {!hasInvoiceLine\n ? orderSummary && \n : invoicePaymentSummary && }\n \n {termsAndConditions}\n {placeOrderButton}\n {keepShoppingButton}\n \n {lineItems && }\n \n {termsAndConditions}\n {placeOrderButton}\n {keepShoppingButton}\n \n \n \n )}\n \n )}\n {hasSalesOrder && orderConfirmation}\n \n );\n};\n\nexport default CheckoutView;\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\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\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 style: contentBlockContainerStyle\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 {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\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 { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-header';\nconst headingClassName = `${componentClassName}__heading`;\nconst orderCountClassName = `${componentClassName}__order-count`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderResources {\n orderCountLabel: string;\n ordersCountLabel: string;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderData {\n salesOrders: SalesOrder[];\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderProps\n extends Msdyn365.IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersHeaderResources;\n textProps: Msdyn365.ITextProps;\n showOrderCount: boolean;\n extraActions?: React.ReactNode;\n onChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersHeaderProps\n) => {\n const {\n resources,\n data: { salesOrders },\n textProps,\n showOrderCount,\n extraActions\n } = props;\n\n const orderCount = salesOrders?.length;\n const orderCountText = `(${orderCount} ${orderCount === 1 ? resources?.orderCountLabel : resources?.ordersCountLabel})`;\n\n return (\n \n {textProps?.text && (\n \n )}\n {showOrderCount && {orderCountText}}\n {extraActions}\n \n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n */\nexport const OrderHistoryWithSearchAndFiltersHeaderComponent: React.FunctionComponent = Msdyn365.msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersHeaderProps\n>('OrderHistoryWithSearchAndFiltersHeaderComponent', { component: OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent });\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 const tableRows = 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 \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\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 && this.props.data.additionalMediaLocations.result?.length) {\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList 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 private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \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 { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\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 { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n"],"names":["KRV_SubscribeNewsLetterExtensionClass","constructor","odataObject","this","Company","FirstName","LastName","StreetNumber","ZipCode","EmailAddress","Phone","City","ExtensionProperties","undefined","i","length","className","substr","lastIndexOf","concat","EntityClasses","KRV_SubscribeNewsLetterResponseEntityExtensionClass","Status","StatusCode","Message","createKRV_SubscribeNewsLetterInput","subscribeNewsLetter","emailAddress","key","DataServiceQuery","DataServiceEntities","kRV_NewsLetterQuery","createDataServiceRequestForOperation","bypassCache","returnEntity","kRV_SubscribeNewsLetterAsync","context","request","callActionOrExecute","callerContext","SignUpButton","_ref","id","text","ariaLabel","telemetryContent","disabled","link","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","React","Button","Object","assign","role","href","SignUpError","type","message","errorClassName","classnames","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignUpInput","value","pattern","isRequired","onChange","fieldReference","InputType","TextArea","name","ref","placeholder","SignUpLabel","forId","htmlFor","InputID","InputIDMex","renderInputSection","inputs","resources","needToReset","onInputChange","showErrors","addressForm","updateAddress","errorMessage","map","element","index","label","maxChars","customClass","baseSignUpItem","wrapper","Address","isAddressInput","input","updateForm","hasError","resetAddress","splice","requiredFieldMissingError","Email","EmailRegex","defaultRegex","test","invalidEmailAddressValidationMessage","BusinessSignUp","props","_this$props","_this","super","BusinessSignUpDefaultInputs","Text","firstNameLabel","lastNameLabel","emailAddressLabel","source","CompanyName","actionContext","requestContext","apiSettings","oun","app","config","ounNumberForUsSite","companyLabelForUS","companyLabel","Department","departmentLabel","JobTitle","abnTitleLabel","Size","companySizeLabel","companyAddressLabel","Comment","commentLabel","BusinessSignUpMexicoInputs","Name","namesLabel","FirstLastName","lastNameMexLabel","InvoicingRFC","invoicingRfcLabel","TaxRegime","taxRegimeLabel","Purpose","purposeLabel","formChildReference","moduleClassName","needsToReset","handleHeadingChange","event","heading","target","_onInputChange","newForm","state","formItems","phoneReg","jobTitleId","tempValue","split","join","setState","abnLengthMessage","isAbnValidCheck","abnValue","updateFormItems","forEach","item","isReady","_isFormReady","hasSubmitErrors","newValue","formattedValue","slice","_onAddressChange","errors","currentAddress","addressItem","find","address","addressHasErrors","showAddressErrors","document","getElementById","city","street","postCode","currentInput","match","_newsletterCall","async","ctx","data","_onSubmit","_this$props2","_this$props3","_this$props4","preventDefault","firstName","_getItem","lastName","companyName","companyEmail","companyAddress","jobTitle","department","companySize","comments","_companyAddress$addre","phoneNum","countryCode","areaCode","firstPart","secondPart","newExtension","Key","Value","BooleanValue","ByteValue","DateTimeOffsetValue","DecimalValue","IntegerValue","LongValue","StringValue","newPartner","ounNumberForMexicoSite","firstLastName","invoicingRFC","taxRegime","purpose","invoicingRFCObject","taxRegimeObject","purposeObject","CompanySize","Comments","createProspectAsync","then","res","_res$ExtensionPropert","successPageURL","confirmationLink","linkUrl","destinationUrl","getUrlSync","isNewsletterCheck","_newPartner$Address","_newPartner$Address2","isTermsConditionCheck","window","location","String","_res$ExtensionPropert2","e","_e$Value","_e$Value3","_e$Value4","_e$Value5","_e$Value2","hasStatusMessage","hasStatusError","scrollTo","top","behavior","userPendingStateMessage","accountAlreadyExistMessage","userAlreadyExistAndActivatedMessage","catch","_onCancel","cleanForm","isAddress","arguments","_addedReference","getTelemetryObject","telemetryPageName","friendlyName","telemetry","bind","componentDidMount","_this$props5","_this$props6","_this$formChildRefere","query","user","isAuthenticated","ItemId","producerKeyName","producer","usSiteFlag","mexicoSiteFlag","updatedForm","current","focus","parentElement","childElement","firstChild","newLabel","createElement","textContent","replaceWith","labelElement","querySelector","shouldComponentUpdate","nextProps","nextState","_getStatusMessage","render","_this$props$config$te","viewProps","_objectSpread","businessSignUp","moduleProps","ContainerWrapper","editProps","onEdit","businessSignUpForm","_renderForm","getStatusMessage","termsConditions","required","defaultChecked","termsandConditionStatementFirstPart","termsandConditions","linkText","RichTextComponent","title","openInNewTab","rel","termsandConditionStatementSecondPart","newsletter","tabIndex","newsLetterSub","renderView","_this$props$context","_this$props7","_this$props8","slots","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","currentRegionName","ounRegions","currentRegion","region","addressSlot","form","FormWrapper","items","buttons","disclaimer","_this$props9","_this$props10","newFormFields","filter","obj","BusinessSignUpItem","Node","_props$context","_props$context2","_props$context3","bannerImage","signInUrl","gridSettings","imageProps","imageSettings","contentBlockImage","Msdyn365","imagePropertyName","layout","msdyn365__moduleLayout","shouldSkipToMainImage","Waiting","textForMexicoField","textUnderABNField","Module","error","button","alreadyHaveAnAccount","signInLink","KrannichCNewletterForm","_termAndConditions$li","subHeading","termAndConditions","setError","fieldError","setFieldError","isDisable","setIsDisable","respMessageValue","setRespMessageValue","formVals","setformVals","fistName","zipCode","agree","validationCheck","setValidationCheck","termsAndConditionsLink","formInputs","customType","validateSubmitForm","onChangeFormVal","val","validateText","textReg","enterAlphabetsOnlyMessage","validateNumber","number","canOnlyBeDigitseKey","enterNumbersOnlyMessage","validateInputField","values","includes","acceptTermsConditionsMessage","allFieldsMandatoryMessage","acceptTermsConditionsLinkMessageOne","acceptTermsConditionsLinkMessageTwo","onBlur","validateEmail","email","toLowerCase","validEmailAddressMessage","checked","resp","submitButton","KrannichCustomLoader","CustomLoaderView","loading","setLoading","handleOnLoad","readyState","addEventListener","removeEventListener","_balance$result","customerAccountNumber","companyCreditLimit","myAccount","AccountWelcomeTile","accountInformation","balance","result","creditLimit","InvoiceAccountCreditLimit","accountNumber","AccountNumber","Attributes","isPrepaidCustomer","_getBalance","currencyFormat","promoBannerProps","contentProps","closeButton","bannerMessages","promoBannerTextProps","promoBannerLinksProps","carouselProps","promoBannerText","handleLinks","handleText","orderTracking","becomeBuisnessPartner","promotionalText","slides","_orderTracking$linkUr","_becomeBuisnessPartne","links","AddressShow","AddressDetail","description","AddressSelect","_ref2","SelectAddress","shipMultipleAddressesButton","addButton","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","SelectItem","showItems","AddressShipMultiple","_ref3","ShipMultipleAddress","shipSingleAddressButton","clearSelectionButton","addressDropdown","ProductsTable","ProductsTableHeading","ProductsTableRow","shipMultipleAddressLines","isMobile","line","_renderShipMultipleAddressLine","AddressAddUpdate","_ref4","AddressForm","AddressItem","alert","AddressError","shipMultipleAddressesLine","selectLine","productImage","productNumber","productInfo","productPrice","productQuantity","productAddress","style","position","verticalAlign","colSpan","width","display","marginTop","textAlign","CheckoutShippingAddress","checkoutErrorRef","viewState","showAddress","showAddressSelect","showAddOrUpdateAddress","showShipMultipleAddresses","cartLineImages","isShowShipMultipleAddress","isShowAddress","isShowAddresList","isShowAddOrUpdateAddress","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","channelId","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","push","SalesOrdersDataActions","queryResultSettings","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","PickUpAtStoreComponent","PickUpAtStore","EmailDeliveryComponent","EmailDelivery","LineItemComponent","LineItem","pickUpAtStore","emailDelivery","LineItemGroupComponent","LineItemDeliveryGroup","LineItemList","lineItems","lineItem","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","OrderSummaryComponent","_ref9","lines","subtotal","shipping","otherCharge","tax","totalDiscounts","loyalty","customerAccount","giftCard","orderTotal","PaymentSummaryComponent","_ref10","invoices","isPaymentVerificationRedirection","shouldEnableSinglePaymentAuthorizationCheckout","canShow","checkoutProps","headerProps","hasSalesOrder","hasInvoiceLine","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","guidedForm","orderSummary","invoicePaymentSummary","placeOrderButton","termsAndConditions","keepShoppingButton","checkoutExpressPaymentContainer","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","tag","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","linkIndex","editableLink","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","editableLinks","contentAction","etext","btnClass","additionalProperties","onTelemetryClick","ContentBlock","handleTextChange","handleParagraphChange","paragraph","handleLinkTextChange","_heading$tag","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","contentBlockLinks","LinksComponent","contentBlockText","contentBlockImageSettings","backgroundColor","preserveImageSpace","moduleType","typeName","moduleId","contentBlockContainerStyle","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","count","amount","OrderHistoryGroupDelivery","deliveryProps","processing","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","listProps","salesOrders","salesOrder","orderHistoryProps","header","emptyMessage","backToShoppingLink","list","table","moreButton","buildReviewCard","cardProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","textProps","showOrderCount","orderCount","orderCountText","ordersCountLabel","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","observer","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","URL","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","isValid","trim","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","orderNumberInput","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","reaction","product","RecordId","actionInput","AttributesForSelectedVariantInput","getAttributesForSelectedVariant","debug","productSpecificationData","isAccrodion","displayStyle","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_this$props$data$addi","tableRows","_renderProductCell","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","toUTCString","FloatValue","TextValue","trueValueText","falseValueText","rowdata","row","TileList","_telemetryContent","Heading","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","tileListView","tileItem","keyIndex","_props$data$operation","b2bRequestsStatus","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","summaryView","editView","moduleState","placedBy","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","src","Image","altText","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","price","renderTitle","searchSuggestionHeading","searchText","searchTextString","searchAutoSuggestionHeading","format","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","callbacks","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","viewport","isSearchFormExpanded"],"sourceRoot":""}