{"version":3,"file":"static/js/15.b79c0e818689ab91c191.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-button.tsx?ce78","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-error.tsx?5bfb","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-input.tsx?e5a5","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-label.tsx?96f0","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-loading-icon.tsx?eca8","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-loading-message.tsx?9b52","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/components/new-sign-up-success.tsx?2dfb","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/new-sign-up.tsx?3c28","webpack://Msdyn365.Commerce.Online/./src/modules/new-sign-up/new-sign-up.view.tsx?fca0","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/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/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpButton {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\r\n \r\n);\r\n\r\nexport default SignUpButton;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpError;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpInputProps {\r\n id?: string;\r\n hasFocus?: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n type: any;\r\n value?: string;\r\n pattern?: string;\r\n required?: boolean;\r\n className: string;\r\n maxLength?: string;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface ISignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst SignUpInput: React.FC = ({ id, type, value, pattern, required, className, maxLength, onChange }) => (\r\n \r\n);\r\n\r\nexport default SignUpInput;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLabel {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingIcon {\r\n className: string;\r\n}\r\n\r\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\r\n\r\nexport default SignUpLoadingIcon;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingMessage {\r\n className: string;\r\n message: string;\r\n}\r\n\r\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\r\n
{message}
\r\n);\r\n\r\nexport default SignUpLoadingMessage;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpSuccess {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\r\n const successClassName = `${className}__${type}-success`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpSuccess;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { EmailRegex, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, INodeProps, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n// import { useState } from 'react';\r\n\r\nimport SignUpButtonComponent from './components/new-sign-up-button';\r\nimport SignUpErrorComponent from './components/new-sign-up-error';\r\nimport SignUpInputComponent from './components/new-sign-up-input';\r\nimport SignUpLabelComponent from './components/new-sign-up-label';\r\nimport SignUpLoadingIconComponent from './components/new-sign-up-loading-icon';\r\nimport SignUpLoadingMessageComponent from './components/new-sign-up-loading-message';\r\nimport SignUpSuccessComponent from './components/new-sign-up-success';\r\nimport { INewSignUpConfig, INewSignUpProps, INewSignUpResources } from './new-sign-up.props.autogenerated';\r\n\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\n\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Given Name Verification Interface.\r\n */\r\nexport interface ISignUpGivenNameVerification {\r\n isRequired: boolean;\r\n givenName: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Surname Verification Interface.\r\n */\r\nexport interface ISignUpSurnameVerification {\r\n isRequired: boolean;\r\n surname: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n givenNameVerification: ISignUpGivenNameVerification;\r\n surnameVerification: ISignUpSurnameVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n config: INewSignUpConfig;\r\n resources: INewSignUpResources;\r\n regionCRM: string;\r\n LastConsentSource: string;\r\n locale: string;\r\n EcomSignUpLegalEntity: string;\r\n}\r\n\r\n/**\r\n *\r\n * SignUp component\r\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\r\n * Please ensure any change in module don't break contract with AAD.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass SignUp extends React.Component> {\r\n @observable private isGivenNameVerificationRequried: boolean;\r\n\r\n @observable private isSurnameVerificationRequried: boolean;\r\n\r\n private readonly moduleClassName: string = 'ms-sign-up';\r\n\r\n @observable private emailRegex: string;\r\n\r\n @observable private newPasswordRegex: string;\r\n\r\n @observable private reenterPasswordRegex: string;\r\n\r\n @observable private isEmailVerificationRequried: boolean;\r\n\r\n @observable private isInitialized: boolean;\r\n\r\n @observable private templateVersion: string;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private initializationTimer: any;\r\n\r\n constructor(props: INewSignUpProps) {\r\n super(props);\r\n\r\n this.emailRegex = EmailRegex.defaultRegex.source;\r\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\r\n this.isEmailVerificationRequried = false;\r\n this.isGivenNameVerificationRequried = false;\r\n this.isSurnameVerificationRequried = false;\r\n this.isInitialized = false;\r\n this.templateVersion = '';\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._onInit();\r\n }\r\n\r\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\r\n public componentDidUpdate(): void {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['$element']['initialize']();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: INewSignUpProps, nextState: ISignUpViewState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n public render(): JSX.Element {\r\n // Locale management\r\n const locale = this.props?.context?.request?.locale;\r\n\r\n const regionCRM: string =\r\n this.props.config.regionLanguageMapping?.find(regionMapping => regionMapping.pageLanguage === locale)?.regionCRM || locale;\r\n const LastConsentSource = this.props.config.Source;\r\n const EcomSignUpLegalEntity = this.props.config.EcomSignUpLegalEntity;\r\n\r\n const { config, resources } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n viewState: {\r\n isShowLoading: !this.isInitialized\r\n },\r\n signUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, config.className)\r\n },\r\n loading: {\r\n modal: {\r\n tag: Modal,\r\n isOpen: true\r\n },\r\n modalBody: {\r\n tag: ModalBody\r\n },\r\n icon: ,\r\n message: \r\n },\r\n defaultAADConainer: {\r\n id: 'api',\r\n style: { display: 'none' }\r\n },\r\n aadConainer: {\r\n id: this.isInitialized ? 'api' : null,\r\n className: `${this.moduleClassName}__container`\r\n },\r\n heading: (\r\n \r\n ),\r\n signUpLocalAccount: this._renderLocalAccount(),\r\n locale: locale,\r\n regionCRM: regionCRM,\r\n LastConsentSource: LastConsentSource,\r\n EcomSignUpLegalEntity: EcomSignUpLegalEntity\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles heading content change event.\r\n * @param event - Content editable event.\r\n * @returns - Heading Text.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param event - Content editable event.\r\n * @returns - Paragraph Text.\r\n */\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = event.target.value);\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public _onInit = () => {\r\n this._prePopulateData();\r\n this._updateErrorMessage();\r\n\r\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\r\n this.initializationTimer = setInterval(() => {\r\n this._isInitializationSuccessful();\r\n }, 100);\r\n setTimeout(() => {\r\n clearInterval(this.initializationTimer);\r\n }, 10_000);\r\n };\r\n\r\n // After successful AAD initialization, remove waiting and preload any data, if needed.\r\n private readonly _isInitializationSuccessful = () => {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\r\n clearInterval(this.initializationTimer);\r\n this.isInitialized = true;\r\n }\r\n };\r\n\r\n private readonly _prePopulateData = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['SA_FIELDS']['AttributeFields'].map(\r\n (obj: { ID: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\r\n switch (obj.ID.toLowerCase()) {\r\n case 'emailverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n this.templateVersion = 'v2';\r\n break;\r\n }\r\n case 'email': {\r\n this.emailRegex = obj.PAT;\r\n this.isEmailVerificationRequried = obj.VERIFY;\r\n this.templateVersion = 'v1';\r\n break;\r\n }\r\n case 'givennameverificationcontrol': {\r\n this.isGivenNameVerificationRequried = true;\r\n break;\r\n }\r\n case 'givenname': {\r\n this.isGivenNameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'surnameverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n break;\r\n }\r\n case 'surname': {\r\n this.isSurnameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'newpassword': {\r\n this.newPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n case 'reenterpassword': {\r\n this.reenterPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n switch (obj.UX_INPUT_TYPE.toLowerCase()) {\r\n case 'password': {\r\n obj.PAT_DESC = resources.invalidPasswordError;\r\n break;\r\n }\r\n case 'emailbox': {\r\n obj.PAT_DESC = resources.invalidEmailAddressError;\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n private readonly _updateErrorMessage = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n if (window && window['CONTENT']) {\r\n const errorMessages = {\r\n required_field: resources.requiredFieldMissingError\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n Object.assign(window['CONTENT'], errorMessages);\r\n }\r\n };\r\n\r\n private readonly getValue = (v1Value: string, v2Value: string): string => {\r\n if (this.templateVersion) {\r\n return this.templateVersion === 'v1' ? v1Value : v2Value;\r\n }\r\n return '';\r\n };\r\n\r\n private _renderLocalAccount(): ISignUpLocalAccount {\r\n const { config, resources } = this.props;\r\n return {\r\n localAccount: {\r\n id: 'attributeList',\r\n className: `${this.moduleClassName}__account-items attr`\r\n },\r\n items: [\r\n this._renderInput('email', 'email', `${resources.emailAddressLabelText} *`, '255', this.emailRegex, true),\r\n // this._renderInput('email_rep', 'email', 'Repeat your email address', '255'),\r\n this._renderInput('newPassword', 'password', resources.passwordLabelText, undefined, this.newPasswordRegex, true),\r\n this._renderInput(\r\n 'reenterPassword',\r\n 'password',\r\n resources.confirmPasswordLabelText,\r\n undefined,\r\n this.reenterPasswordRegex,\r\n true\r\n ),\r\n this._renderInput('givenName', 'text', `${resources.firstNameLabelText} *`, resources.firstNameMaxLength, undefined, true),\r\n this._renderInput('surname', 'text', `${resources.lastNameLabelText} *`, resources.lastNameMaxLength, undefined, true),\r\n this._renderInput('postalCode', 'text', resources.addressZipCodeLabelOptional, '8'),\r\n this._renderInput('extension_Birthday', 'date', resources.birthdayLabelText),\r\n // TODO Manage spaces\r\n this._renderInput('phone_number', 'tel', resources.phoneLabelText, '15'),\r\n this._renderInput('extension_RegionCRM', 'text', 'RegionCRM'),\r\n this._renderInput('extension_LastConsentSource', 'text', 'LastConsentSource'),\r\n this._renderInput('extension_EcomSignUpLegalEntity', 'text', 'EcomSignUpLegalEntity'),\r\n this._renderInput('extension_GenericMarketing', 'checkbox', ''),\r\n this._renderInput('extension_Profiling', 'checkbox', ''),\r\n this._renderInput('extension_ThirdParty', 'checkbox', '')\r\n ],\r\n emailVerification: {\r\n isRequired: this.isEmailVerificationRequried,\r\n email: this._renderInput(\r\n this.getValue('email_ver_input', 'emailVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'emailVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n buttonWrapper: {\r\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\r\n 'data-claim_id': 'email'\r\n },\r\n buttons: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n successMessage: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n \r\n ]\r\n },\r\n givenNameVerification: {\r\n isRequired: this.isGivenNameVerificationRequried,\r\n givenName: this._renderInput(\r\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'givenNameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n surnameVerification: {\r\n isRequired: this.isSurnameVerificationRequried,\r\n surname: this._renderInput(\r\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'surnameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n buttons: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n }\r\n\r\n private _renderInput(\r\n id: string,\r\n type: string,\r\n labelText: string,\r\n maxLength?: string,\r\n pattern?: string,\r\n required?: boolean,\r\n value?: any,\r\n onChange?: any,\r\n cssClassName?: string\r\n ): ISignUpItem {\r\n const className = `${this.moduleClassName}__account-item`;\r\n return {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\r\n },\r\n key: id,\r\n label: (\r\n \r\n ),\r\n errorMessage: (\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n }\r\n}\r\n\r\nexport default SignUp;\r\n","/* eslint-disable react/jsx-key */\r\n/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from './new-sign-up';\r\n\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\n// import { SHA256 } from 'crypto-js'; // To manage customdimensions GA from here if it doesn't work in the gtm script\r\n\r\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\r\n return (\r\n <>\r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {errorMessage &&\r\n errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode) => {\r\n return <>{button};\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = props => {\r\n const {\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = props.signUpLocalAccount;\r\n\r\n const locale = props.locale;\r\n const regionCRM = props.regionCRM;\r\n const EcomSignUpLegalEntity = props.EcomSignUpLegalEntity;\r\n let LastConsentSource: string;\r\n switch (props.LastConsentSource) {\r\n case 'FinanceOperationEU':\r\n LastConsentSource = 'Finance&Operation EU';\r\n break;\r\n case 'FinanceOperationUS':\r\n LastConsentSource = 'Finance&Operation US';\r\n break;\r\n default:\r\n LastConsentSource = 'Finance&Operation EU';\r\n }\r\n\r\n const [birthDate, setBirthDate] = React.useState('');\r\n const [formatDateState, setFormatDateState] = React.useState(true);\r\n const pattern = /^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^((16|[248][048]|[3579][26])00)|(1[6789]|[2-9][0-9])(0[48]|[13579][26]|[2468][048])\\/02\\/(0[1-9]|1[0-9]|2[0-9])$|^(1[6789]|[2-9][0-9])[0-9]{2}\\/02\\/(0[1-9]|1[0-9]|2[0-8])$/gm;\r\n const patternUS = /^((0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^02\\/(0[1-9]|1[0-9]|2[0-9])$/gm;\r\n\r\n const checkDate = (event: React.KeyboardEvent) => {\r\n const value = event.currentTarget.value;\r\n const today = new Date();\r\n if (value !== '' && (!value.match(locale !== 'en-US' ? pattern : patternUS) || today < new Date(value))) {\r\n setFormatDateState(false);\r\n } else {\r\n setFormatDateState(true);\r\n }\r\n if (locale === 'en-US') {\r\n setBirthDate(`1900/${value}`);\r\n }\r\n };\r\n if (typeof window !== 'undefined') {\r\n const signUpButton: HTMLElement = document.getElementById('continue') as HTMLElement;\r\n // console.log(document.getElementById('continue'));\r\n if (signUpButton !== undefined) {\r\n signUpButton.onclick = e => {\r\n if (!formatDateState) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n }\r\n }\r\n\r\n const profiling_ref = React.useRef(null);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n if (locale.toLowerCase() === 'en-us') {\r\n const { checked } = e.target;\r\n profiling_ref.current!.checked = checked;\r\n }\r\n };\r\n\r\n // DONE guest state session variable; check that user ID (the one that's NOT an FC) exists alongside the user not being auth (since if not auth = loyalty)\r\n\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignUpItem) => {\r\n switch (item.key) {\r\n case 'email':\r\n if (emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n const emailRepErrorText: string = props.resources.emailRepErrorText ?? null;\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const email: HTMLInputElement = document.getElementById(\r\n 'email'\r\n ) as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById(\r\n 'text-error'\r\n ) as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email_rep.pattern = email.value;\r\n // I hope the following works well with Azure\r\n email_rep.title = emailRepErrorText;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n \r\n {\r\n const email: HTMLInputElement = document.getElementById('email') as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById('text-error') as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email.pattern = email_rep.value;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n case 'givenName':\r\n if (givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'surname':\r\n if (surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'extension_Birthday':\r\n return (\r\n <>\r\n
\r\n \r\n {/* TODO Test US elements */}\r\n {locale === 'en-US' ? (\r\n <>\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n {/* // TODO? Validate that it's not in the future, and possibly that it's after at least 18 years */}\r\n e.preventDefault()}\r\n onChange={() => {\r\n if (typeof window !== 'undefined') {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_Birthday'\r\n ) as HTMLInputElement;\r\n birthday_proxy.onchange = event => {\r\n birthday_hidden.value = birthday_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n e.preventDefault()}\r\n style={{ display: 'none' }}\r\n />\r\n \r\n )}\r\n
\r\n {props.config.BirthdayText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'postalCode':\r\n return (\r\n <>\r\n \r\n {props.config.PostalText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'phone_number':\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const phone_number_proxy: HTMLInputElement = document.getElementById(\r\n 'phone_number'\r\n ) as HTMLInputElement;\r\n const phone_number_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_PhoneNumber'\r\n ) as HTMLInputElement;\r\n phone_number_proxy.onchange = event => {\r\n phone_number_hidden.value = phone_number_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n \r\n {props.config.PhoneText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'extension_GenericMarketing':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_Profiling':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_ThirdParty':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_RegionCRM':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_LastConsentSource':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_EcomSignUpLegalEntity':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return ;\r\n }\r\n })}\r\n {disclaimer}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className)\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\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 { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n return content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n {this.props.context.request.app?.config?.OmniChannelMedia && this._createAdditionalMediaDrawer()}\n \n );\n });\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n"],"names":["_ref","id","className","text","ariaLabel","disabled","onClick","React","Button","type","message","errorClassName","classnames","role","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","value","pattern","required","onChange","name","undefined","forId","htmlFor","successClassName","SignUp","constructor","props","super","moduleClassName","handleHeadingChange","event","this","config","heading","target","handleParagraphChange","disclaimer","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","resources","map","obj","ID","toLowerCase","isEmailVerificationRequried","templateVersion","emailRegex","PAT","VERIFY","isGivenNameVerificationRequried","isSurnameVerificationRequried","newPasswordRegex","reenterPasswordRegex","UX_INPUT_TYPE","PAT_DESC","invalidPasswordError","invalidEmailAddressError","errorMessages","required_field","requiredFieldMissingError","Object","assign","getValue","v1Value","v2Value","EmailRegex","defaultRegex","source","PasswordRegex","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","data","render","_this$props","_this$props$config$re","locale","context","request","regionCRM","regionLanguageMapping","find","regionMapping","pageLanguage","LastConsentSource","Source","EcomSignUpLegalEntity","viewProps","_objectSpread","viewState","isShowLoading","signUp","moduleProps","loading","modal","tag","Modal","isOpen","modalBody","ModalBody","icon","SignUpLoadingIconComponent","SignUpLoadingMessageComponent","loadingMessage","defaultAADConainer","style","display","aadConainer","Msdyn365","editProps","onEdit","requestContext","signUpLocalAccount","_renderLocalAccount","renderView","localAccount","items","_renderInput","emailAddressLabelText","passwordLabelText","confirmPasswordLabelText","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","addressZipCodeLabelOptional","birthdayLabelText","phoneLabelText","emailVerification","isRequired","email","verificationCodeLabelText","verificationControlWrapper","buttonWrapper","buttons","SignUpButtonComponent","key","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","successMessage","SignUpSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","errorMessage","SignUpErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","givenNameVerification","givenName","requiredFieldMissingSummaryError","surnameVerification","surname","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","passwordEntryMismatchError","fieldIncorrectError","labelText","cssClassName","wrapper","label","SignUpLabelComponent","input","SignUpInputComponent","__decorate","observable","observer","SignUpItem","Node","SignUpEmailVerification","_ref2","button","SignUpGivenNameVerificationComponent","_ref3","SignUpSurnameVerificationComponent","_ref4","LocalAccount","birthDate","setBirthDate","formatDateState","setFormatDateState","patternUS","signUpButton","document","getElementById","onclick","e","preventDefault","stopPropagation","profiling_ref","handleChange","checked","current","item","_props$resources","_props$resources2","_props$resources3","_props$resources4","_props$resources5","_props$resources6","_props$resources$emai","emailRepErrorText","email_rep","email_rep_error","email_rep_error_backup","title","textContent","emailRepeatLabelText","color","endsWith","onKeyUp","currentTarget","today","Date","match","checkDate","onPaste","birthday_proxy","birthday_hidden","onchange","BirthdayText","PostalText","phone_number_proxy","phone_number_hidden","PhoneText","hideMarketing","defaultChecked","preflagMarketing","htmlGenericMarketing","privacyPolicyURL","dangerouslySetInnerHTML","__html","format","USmarketingText","hideProfiling","preflagProfiling","ref","htmlProfiling","hideThirdParty","preflagThirdParty","htmlThirdParty","error","index","SignUpLoading","_ref5","Module","AccountOrganizationUsersTileDescription","description","AccountOrganizationUsersTileLinks","links","telemetryContent","onTextChange","length","editableLinks","_mapEditableLinks","linkdata","payLoad","getPayloadObject","forEach","link","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","linkUrl","destinationUrl","openInNewTab","additionalProperties","push","OrganizationUsersTile","handleLinkTextChange","linkIndex","getTelemetryObject","telemetryPageName","friendlyName","telemetry","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","result","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","btnClass","onTelemetryClick","ContentBlock","handleTextChange","paragraph","_heading$tag","_this$props$context$r","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","imageProps","gridSettings","imageSettings","contentBlockLinks","ArrayExtensions","hasElements","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","href","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","MsDyn365","isBrowser","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","_renderErrorBlock","errorData","errors","Wrapper","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","actionContext","channel","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","promotionOptions","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","amount","channelReferenceId","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","_ref8","orderHistoryProps","alert","emptyMessage","backToShoppingLink","list","table","moreButton","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","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","location","origin","redirectUrl","searchParameters","searchParams","set","fieldName","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","emailInputRef","setState","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","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","onSubmit","orderNumberInput","submitButton","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","callerContext","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","getRichTextHtml","ProductSpecification","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","reaction","product","RecordId","actionInput","AttributesForSelectedVariantInput","apiSettings","channelId","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_renderProductCell","app","OmniChannelMedia","_createAdditionalMediaDrawer","_this$props$context$r2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","additionalMediaLocations","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","filter","row","ObjectExtensions","isNullOrUndefined","SocialShare","slots","socialShareItems","cookies","isConsentGiven","params","isEditor","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","SocialShareView","SocialShareElement"],"sourceRoot":""}