{"version":3,"file":"static/js/4130531f14819b878160.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/Utilities/allRegex.ts?9889","webpack://mattressfirm/./src/Utilities/get-dynamic-image.tsx?8e0f","webpack://mattressfirm/./src/actions/EmailSubscriptionDataServiceEntities.g.ts?1320","webpack://mattressfirm/./src/actions/EmailSubscriptionDataActionExtension.g.ts?6673","webpack://mattressfirm/./src/modules/mfrm-email-subscription-modal/components/text-input-group.tsx?c082","webpack://mattressfirm/./src/modules/mfrm-email-subscription-modal/components/input-group-mailing-list.tsx?20ec","webpack://mattressfirm/./src/modules/mfrm-email-subscription-modal/components/shopping-intent-modal.tsx?27d7","webpack://mattressfirm/./src/modules/mfrm-email-subscription-modal/mfrm-email-subscription-modal.tsx?e25c","webpack://mattressfirm/./src/modules/mfrm-email-subscription-modal/mfrm-email-subscription-modal.view.tsx?a75f","webpack://mattressfirm/./lib/mfrm-email-subscription-modal/module-registration.js?594c","webpack://mattressfirm/external var \"React\"?0d3b","webpack://mattressfirm/external var \"ReactDOM\"?853b"],"sourcesContent":["import { ICoreContext } from '@msdyn365-commerce/core';\r\nexport const emailRegex = (emailValue: string) => {\r\n // eslint-disable-next-line security/detect-unsafe-regex\r\n const validationEmail = /^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(?:\\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]+(?:-+[a-z0-9]+)*\\.)+(?:xn--[a-z0-9]+|[a-z]{2,16})$/i;\r\n\r\n return validationEmail.test(emailValue);\r\n};\r\n\r\n/**\r\n * Method to remove special characters for product name from product URL\r\n * @param str string\r\n * @param ctx ICoreContext\r\n * @returns string\r\n */\r\n\r\nexport const removeSpecialChars = (str: string, ctx: ICoreContext): string => {\r\n if (ctx && ctx.request.app?.config.removeSpecialCharsPDP) {\r\n return str?.replace(/[^a-zA-Z0-9- ]/g, '');\r\n }\r\n return str;\r\n};\r\n\r\n\r\n/**\r\n * Method to remove special characters for product URL's path\r\n * @param str string\r\n * @param ctx ICoreContext\r\n * @returns string\r\n */\r\n\r\nexport const removeSpecialCharsFromURLPath = (str: string, ctx: ICoreContext): string => {\r\n if (ctx && ctx.request.app?.config.removeSpecialCharsPDP) {\r\n const urlPath = decodeURIComponent(str.split('.p')[0])?.replace(/[^a-zA-Z0-9-/ ]/g, '');\r\n return `${urlPath}.p`;\r\n }\r\n return str;\r\n};\r\n\r\n// Following phone format is used on customer info section at checkout page\r\nexport const customerInfoPhoneRegex = /^\\(?([2-9][0-8][0-9])\\)?[ . ]?([2-9][0-9]{2})[\\-\\. ]?([0-9]{4})(\\s*x[0-9]+)?$/; // Valid USA number in format (xxx) xxx-xxxx\r\n\r\n/*\r\nThis regex object has 2 patterns:\r\n'nameRegex' matches names with letters, spaces, apostrophes, periods, and dashes.\r\n'addressInputRegex' matches alphanumeric characters and printable ASCII symbols.\r\n*/\r\nexport const inputRegexObj = {\r\n nameRegex: /^[\\p{L}\\s.'-]+$/u,\r\n addressInputRegex: /^[a-zA-Z0-9\\x20-\\x7E]*$/,\r\n phoneNumerRegex: customerInfoPhoneRegex\r\n};\r\n\r\n// This regex allows us to effectively validate and extract delivery messages\r\nexport const cartDeliveryMsgRegex = /[A-Za-z]{3} \\d{1,2}(?: - [A-Za-z]{3} \\d{1,2})?/;","import MsDyn365, { IImageData } from '@msdyn365-commerce/core';\r\nimport _get from 'lodash/get';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as React from 'react';\r\n\r\ninterface IImageDimension {\r\n width: string;\r\n height: string;\r\n}\r\ninterface IImageSettings {\r\n sm: IImageDimension;\r\n md: IImageDimension;\r\n lg: IImageDimension;\r\n}\r\nexport interface IResponsiveImage {\r\n desktop: IImageData | undefined;\r\n tablet: IImageData | undefined;\r\n mobile: IImageData | undefined;\r\n defaultImg: IImageData | undefined;\r\n imageSettingViewports?: IImageSettings | undefined;\r\n}\r\n\r\nexport interface IResponsiveImageFromSeoData {\r\n desktop: IImageData | undefined;\r\n tablet: IImageData | undefined;\r\n mobile: IImageData | undefined;\r\n imageSettingViewports?: IImageSettings | undefined;\r\n}\r\n\r\nexport const getResponsiveFromSeoData = ({ desktop, tablet, mobile }: IResponsiveImageFromSeoData) => {\r\n const desktopWidth = 1025;\r\n const tabletWidth = 768;\r\n\r\n const query = {\r\n desktop: '',\r\n tablet: '',\r\n mobile: ''\r\n };\r\n\r\n // Removing resizing for the time being to discuss with Microsoft\r\n // if (imageSettingViewports) {\r\n // const { sm, md, lg } = imageSettingViewports;\r\n // query.desktop = `&w=${lg.width}&h=${lg.height}`;\r\n // query.tablet = `&w=${md.width}&h=${md.height}`;\r\n // query.mobile = `&w=${sm.width}&h=${sm.height}`;\r\n // }\r\n\r\n return (\r\n \r\n <>\r\n {desktop?.src && }\r\n {tablet?.src && }\r\n {mobile?.src && }\r\n {desktop?.altText}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\n// Note Responsive Image does not use Msdyn365 Image component\r\nexport const getResponsiveImage = ({ desktop, tablet, mobile, defaultImg }: IResponsiveImage): React.ReactNode => {\r\n // Note this is a temp solution as D365 does not support dynamic images across viewports\r\n\r\n const desktopWidth = 1025;\r\n const tabletWidth = 768;\r\n const lazyload = !defaultImg?.imageSettings?.disableLazyLoad;\r\n\r\n const query = {\r\n desktop: '',\r\n tablet: '',\r\n mobile: ''\r\n };\r\n\r\n // Removing resizing for the time being to discuss with Microsoft\r\n // if (imageSettingViewports) {\r\n // const { sm, md, lg } = imageSettingViewports;\r\n // query.desktop = `&w=${lg.width}&h=${lg.height}`;\r\n // query.tablet = `&w=${md.width}&h=${md.height}`;\r\n // query.mobile = `&w=${sm.width}&h=${sm.height}`;\r\n // }\r\n\r\n const defaultImgSrc = `${defaultImg?.src}${query.desktop}${\r\n defaultImg?.imageSettings?.quality ? `&q=${defaultImg.imageSettings.quality}` : ''\r\n }`;\r\n\r\n return (\r\n \r\n {lazyload ? (\r\n <>\r\n {desktop?.src && }\r\n {tablet?.src && }\r\n {mobile?.src && }\r\n \r\n \r\n ) : (\r\n <>\r\n {desktop?.src && }\r\n {tablet?.src && }\r\n {mobile?.src && }\r\n {defaultImg?.altText}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport interface IDynamicImageProps {\r\n moduleName: string;\r\n}\r\n\r\nexport const getDynamicImageSettings = ({ moduleName }: IDynamicImageProps) => {\r\n // This logic is directly from MsDyn Image Component src builder\r\n // just applied to get dynamic image settings if they are defined\r\n const imageSettings = { viewports: undefined };\r\n const themeSettingsForModule = MsDyn365.themeSettings?.mattressfirm?.modules?.[moduleName];\r\n if (themeSettingsForModule) {\r\n const themeSettingsForLayout = themeSettingsForModule.properties.dynamic;\r\n if (themeSettingsForLayout) {\r\n const imageViewportProperties = _get(themeSettingsForLayout.properties, ['image'], { properties: imageSettings }).properties;\r\n // Clone the image viewport properties from theme settings\r\n // so that the proxy traps do not affect the global themesettings\r\n imageSettings.viewports = _cloneDeep(imageViewportProperties);\r\n }\r\n }\r\n\r\n return imageSettings.viewports;\r\n};\r\n","// tslint:disable\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as Entities from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\n/**\r\n * MFIEmailSubscription entity interface.\r\n */\r\nexport interface IMFIEmailSubscription {\r\n PersonaSleepStyle?: string;\r\n unique_id: string;\r\n Email?: string;\r\n LeadSource?: string;\r\n PersonaMattressPreference?: string;\r\n Lastname?: string;\r\n LeadDate?: string;\r\n Firstname?: string;\r\n PostalCode?: string;\r\n LeadPage?: string;\r\n LeadPlatform?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * MFIEmailSignupResponse entity interface.\r\n */\r\nexport interface IMFIEmailSignupResponse {\r\n Status?: string;\r\n Unique_id?: string;\r\n Message?: string;\r\n ExtensionProperties?: Entities.CommerceProperty[];\r\n}\r\n\r\n/**\r\n * MFIEmailSubscription entity class.\r\n */\r\nexport class MFIEmailSubscriptionExtensionClass implements IMFIEmailSubscription {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public PersonaSleepStyle: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public unique_id: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Email: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public LeadSource: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public PersonaMattressPreference: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Lastname: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public LeadDate: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Firstname: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public PostalCode: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public LeadPage: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public LeadPlatform: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.PersonaSleepStyle = odataObject.PersonaSleepStyle;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.unique_id = odataObject.unique_id;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Email = odataObject.Email;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.LeadSource = odataObject.LeadSource;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.PersonaMattressPreference = odataObject.PersonaMattressPreference;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Lastname = odataObject.Lastname;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.LeadDate = odataObject.LeadDate;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Firstname = odataObject.Firstname;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.PostalCode = odataObject.PostalCode;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.LeadPage = odataObject.LeadPage;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.LeadPlatform = odataObject.LeadPlatform;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (let i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i]) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type']) {\r\n let className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[className]) {\r\n this.ExtensionProperties[i] = new EntityClasses[className](odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new EntityClasses.CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * MFIEmailSignupResponse entity class.\r\n */\r\nexport class MFIEmailSignupResponseExtensionClass implements IMFIEmailSignupResponse {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Status: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Unique_id: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public Message: string;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n\r\n // Navigation properties names\r\n\r\n /**\r\n * Construct an object from odata response.\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Status = odataObject.Status;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Unique_id = odataObject.Unique_id;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.Message = odataObject.Message;\r\n\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (let i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i]) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type']) {\r\n let className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat('Class');\r\n if (EntityClasses[className]) {\r\n this.ExtensionProperties[i] = new EntityClasses[className](odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new EntityClasses.CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n // @ts-ignore - TODO bug fix #23427261 - remove ts-ignore - https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/23427261/\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n * THIS FILE IS AN AUTOGENERATED TYPESCRIPT PROXY EXTENSION.\r\n * TO USE THIS FILE, IT MUST BE ADDED TO A D365COMMERCE APPLICATION\r\n */\r\n// tslint:disable\r\nimport { AsyncResult, callActionOrExecute, DataServiceQuery, IContext, IDataServiceRequest } from '@msdyn365-commerce/retail-proxy';\r\n// @ts-ignore\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as DataServiceEntities from './EmailSubscriptionDataServiceEntities.g';\r\n\r\n// @ts-ignore\r\nfunction emailSubscriptionsQuery(unique_id?: string): DataServiceQuery {\r\n const key = unique_id ? { unique_id: unique_id } : null;\r\n return new DataServiceQuery('EmailSubscriptions', 'MFIEmailSubscription', DataServiceEntities.MFIEmailSubscriptionExtensionClass, key);\r\n}\r\n\r\nexport function createMFIEmailSubscriptionInput(emailSignup: DataServiceEntities.IMFIEmailSubscription): IDataServiceRequest {\r\n const query = emailSubscriptionsQuery();\r\n return query.createDataServiceRequestForOperation(\r\n 'MFIEmailSubscription',\r\n true,\r\n DataServiceEntities.MFIEmailSignupResponseExtensionClass,\r\n 'false',\r\n { bypassCache: 'get', returnEntity: 'DataServiceEntities.IMFIEmailSignupResponse' },\r\n { emailSignup: emailSignup }\r\n );\r\n}\r\n\r\nexport function mFIEmailSubscriptionAsync(\r\n context: IContext,\r\n emailSignup: DataServiceEntities.IMFIEmailSubscription\r\n): AsyncResult {\r\n const request = createMFIEmailSubscriptionInput(emailSignup);\r\n return callActionOrExecute(request, context.callerContext);\r\n}\r\n","import classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\ninterface ITextInputGroupProps {\r\n useDatePicker?: boolean;\r\n label?: string;\r\n placeholder?: string;\r\n id: string;\r\n initialValue?: string;\r\n maxLength?: number;\r\n htmlProps?: React.DetailedHTMLProps, HTMLInputElement>;\r\n isValid(curValue: string, id: string): string | void;\r\n onChange(value: string, currentValidity: boolean, id: string): void;\r\n}\r\n\r\n/**\r\n * TextInputGroup is a wrapper that allows you to validate text values from the\r\n * user and returns the correct value after\r\n */\r\n@observer\r\nexport class TextInputGroup extends React.Component {\r\n @observable private _internalValue: string = '';\r\n @observable private _errorMessage: string = '';\r\n @observable private _isFirstBlur: boolean = true;\r\n\r\n constructor(props: ITextInputGroupProps) {\r\n super(props);\r\n\r\n if (props.initialValue) {\r\n this._internalValue = props.initialValue;\r\n }\r\n\r\n this._valueChanged = this._valueChanged.bind(this);\r\n this._blurred = this._blurred.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n let type = 'text';\r\n const { label } = this.props;\r\n if (this.props.useDatePicker) {\r\n type = 'date';\r\n }\r\n return (\r\n
\r\n 0 && 'field-control--value',\r\n this._errorMessage.length > 0 && 'field-control--error'\r\n )}\r\n type={type}\r\n onChange={this._valueChanged}\r\n value={this._internalValue}\r\n onBlur={this._blurred}\r\n maxLength={this.props.maxLength}\r\n {...this.props.htmlProps}\r\n />\r\n \r\n
\r\n );\r\n }\r\n\r\n private _blurred(event: React.ChangeEvent): void {\r\n this._isFirstBlur = false;\r\n this._valueChanged(event);\r\n }\r\n\r\n private _valueChanged(event: React.ChangeEvent): void {\r\n this._internalValue = event.target.value;\r\n const currentlyInvalid = this.props.isValid(this._internalValue, this.props.id);\r\n const isValid = currentlyInvalid ? false : true;\r\n\r\n // we only want to show an error if a user has clicked away and its\r\n // still wrong\r\n if (currentlyInvalid && !this._isFirstBlur) {\r\n this._errorMessage = currentlyInvalid;\r\n } else {\r\n this._errorMessage = '';\r\n }\r\n\r\n this.props.onChange(this._internalValue, isValid, this.props.id);\r\n }\r\n}\r\n","import { IAny, ICoreContext, IGeneric } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { TextInputGroup } from './text-input-group';\r\n\r\nexport type mailingData = {\r\n name: string;\r\n email: string;\r\n};\r\n\r\nexport type inputGroup = {\r\n labelText?: string;\r\n validationText?: string;\r\n placeholder?: string;\r\n};\r\n\r\nexport interface IMailingListInputGroup {\r\n submitText?: string;\r\n name: inputGroup;\r\n email: inputGroup;\r\n context: ICoreContext>;\r\n onFinish(dataSet: mailingData): void;\r\n}\r\n\r\nexport interface ISubmittingState {\r\n isSubmitting?: boolean;\r\n}\r\n\r\ntype mailingListFormStructureGroup = {\r\n validity: boolean;\r\n value: string;\r\n externalGroup?: inputGroup;\r\n regex?: RegExp;\r\n maxLength?: number;\r\n};\r\n\r\ntype mailingListFormStructure = {\r\n [fieldName: string]: mailingListFormStructureGroup;\r\n};\r\n\r\n/**\r\n * Constructs only the necessary components of the mailing list inputs\r\n *\r\n * To add a new field, add it to the internal form structure object and\r\n * the external props typing\r\n */\r\nexport class MailingListInputGroup extends React.Component {\r\n\r\n private _formStructure: mailingListFormStructure = {\r\n name: {\r\n validity: false,\r\n value: ''\r\n },\r\n email: {\r\n validity: false,\r\n value: '',\r\n // eslint-disable-next-line security/detect-unsafe-regex\r\n regex: /^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(?:\\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]+(?:-+[a-z0-9]+)*\\.)+(?:xn--[a-z0-9]+|[a-z]{2,16})$/i\r\n }\r\n };\r\n constructor(props: IMailingListInputGroup) {\r\n super(props);\r\n this.state = {\r\n isSubmitting: false\r\n };\r\n this._handleValidityUpdate = this._handleValidityUpdate.bind(this);\r\n this._handleValueFinish = this._handleValueFinish.bind(this);\r\n this._handleFormExport = this._handleFormExport.bind(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n this._setExternalGroups();\r\n return (\r\n \r\n {Object.keys(this._formStructure).map(fieldName => {\r\n const field = this._formStructure[fieldName];\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {this.props.submitText || 'Submit'}\r\n \r\n \r\n );\r\n }\r\n\r\n private _setExternalGroups(): void {\r\n this._formStructure.name.externalGroup = this.props.name;\r\n this._formStructure.email.externalGroup = this.props.email;\r\n }\r\n private _handleFormExport(event: React.MouseEvent): void {\r\n this.props.onFinish({\r\n email: this._formStructure.email.value,\r\n name: this._formStructure.name.value\r\n });\r\n this.setState({ // disabled button to prevent duplicates\r\n isSubmitting: true\r\n });\r\n event.preventDefault();\r\n }\r\n\r\n private _handleValueFinish(value: string, isValid: boolean, id: string): void {\r\n const fieldData = this._formStructure[id];\r\n fieldData.validity = isValid;\r\n fieldData.value = value;\r\n\r\n if (isValid) {\r\n this.setState({ // enable button when email is valid\r\n isSubmitting: false\r\n });\r\n }\r\n\r\n // re-render, no reason to use mobx for this\r\n this.setState({});\r\n }\r\n\r\n private _handleValidityUpdate(value: string, id: string): string | void {\r\n const fieldData = this._formStructure[id];\r\n\r\n // should always be true but just in case\r\n if (fieldData) {\r\n const validationText = fieldData.externalGroup!.validationText;\r\n if (value.length === 0 && id !== 'name') {\r\n return validationText;\r\n }\r\n if (value.length > 0 && fieldData.regex && !fieldData.regex.test(value)) {\r\n return validationText;\r\n }\r\n }\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ModalBody, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { getDynamicImageSettings, getResponsiveImage } from '../../../Utilities/get-dynamic-image';\r\n\r\ninterface IShoppingIntentModal {\r\n form: JSX.Element;\r\n errorMsgHeading?: JSX.Element;\r\n errorBlock: JSX.Element;\r\n errorCTA?: JSX.Element;\r\n emailValidationBlock: boolean | JSX.Element;\r\n isSubscribeSuccessfully: boolean;\r\n isError: boolean;\r\n onCloseModal?(): void;\r\n}\r\n\r\ninterface IShoppingModalData {\r\n title1: string,\r\n redText: string,\r\n title2: string,\r\n subtitle: string,\r\n imageData: IImageData,\r\n buttonSelection: {text: string}[],\r\n disclosure: string,\r\n emailModalData: IEmailModalData,\r\n answerCardData: any[]\r\n}\r\n\r\ninterface IImageData {\r\n desktop?: {src: string},\r\n tablet?: {src: string},\r\n mobile?: {src: string},\r\n default: {src: string, altText?: string}\r\n}\r\n\r\ninterface IEmailModalData {\r\n subtitle: string,\r\n title: string,\r\n imageData: IImageData\r\n}\r\n\r\ninterface ICalloutCardData {\r\n calloutCard: boolean,\r\n title: string,\r\n promoCode: string,\r\n imageData: IImageData,\r\n cardSubtitle: string,\r\n cardTitle: string,\r\n cardDescription: string,\r\n cardButton: string,\r\n cardLink: string,\r\n disclosure: string\r\n}\r\n\r\ninterface IShopNowData {\r\n calloutCard: boolean,\r\n title: string,\r\n promoCode: string,\r\n description: string,\r\n disclosure: string,\r\n cardData: IShopNowCardData[]\r\n}\r\n\r\ninterface IShopNowCardData {\r\n imageData: IImageData,\r\n title: string,\r\n link: string\r\n}\r\n\r\nexport default (props: IShoppingIntentModal) => {\r\n const styles = 'modal-shopping__';\r\n const {\r\n form,\r\n errorMsgHeading,\r\n errorBlock,\r\n errorCTA,\r\n emailValidationBlock,\r\n isSubscribeSuccessfully,\r\n isError,\r\n onCloseModal\r\n } = props;\r\n\r\n const [showShoppingModal, setShowShoppingModal] = React.useState(true);\r\n const [showEmailModal, setShowEmailModal] = React.useState(false);\r\n const [shopButtonIndex, setShopButtonIndex] = React.useState(0);\r\n\r\n const shoppingModalData = {\r\n title1: 'Answer to get ',\r\n redText: '$50 OFF* ',\r\n title2: 'your next purchase',\r\n subtitle: 'How will you shop?',\r\n imageData: {\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmzAd?pubver=1', altText: 'How will you shop'}\r\n },\r\n buttonSelection: [\r\n {text: 'Online'},\r\n {text: 'In-Store'},\r\n {text: 'Don’t Know Yet'}\r\n ],\r\n disclosure: '*Your first order of $499+. Some exclusions apply.',\r\n emailModalData: {\r\n subtitle: 'Almost there!',\r\n title: 'What email should we send the discount to?',\r\n imageData: {\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmzAd?pubver=1', altText: 'How will you shop'}\r\n }\r\n },\r\n answerCardData: [\r\n {\r\n calloutCard: true,\r\n title: 'Your discount code is:',\r\n promoCode: 'SLEEP',\r\n imageData: {\r\n desktop: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmzAg?pubver=1'},\r\n tablet: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1F?pubver=1'},\r\n mobile: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1F?pubver=1'},\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmzAg?pubver=1', altText: 'MattressMatcher'}\r\n },\r\n cardSubtitle: 'MATTRESSMATCHER® ',\r\n cardTitle: 'Find Your Best Sleep',\r\n cardDescription: 'Take our quick quiz & we’ll match you with the perfect bed.',\r\n cardButton: 'Start Now',\r\n cardLink: 'https://www.mattressfirm.com/mattressmatcher',\r\n disclosure: '*Your discount code has also been sent to your email'\r\n },\r\n {\r\n calloutCard: true,\r\n title: 'Your discount code is:',\r\n promoCode: 'DREAM',\r\n imageData: {\r\n desktop: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmpgC?pubver=1'},\r\n tablet: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmrQc?pubver=1'},\r\n mobile: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmrQc?pubver=1'},\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmpgC?pubver=1', altText: 'Shop In-Store'}\r\n },\r\n cardSubtitle: 'SHOP IN-STORE',\r\n cardTitle: 'We’re here to help',\r\n cardDescription: 'Visit us in-store to meet with a Sleep Expert® and discover America’s best brands.',\r\n cardButton: 'Find a Store',\r\n cardLink: 'https://www.mattressfirm.com/en-us/stores/',\r\n disclosure: '*Your discount code has also been sent to your email'\r\n },\r\n {\r\n calloutCard: false,\r\n title: 'Your discount code is:',\r\n promoCode: 'ZZZS',\r\n description: 'We think you might like these:',\r\n disclosure: '*Your discount code has also been sent to your email',\r\n cardData: [\r\n {\r\n imageData: {\r\n desktop: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1C?pubver=1'},\r\n tablet: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmpgF?pubver=1'},\r\n mobile: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmpgF?pubver=1'},\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1C?pubver=1', altText: 'In Stock & Ready to Ship Mattresses'}\r\n },\r\n title: 'In Stock & Ready to Ship Mattresses',\r\n link: 'https://www.mattressfirm.com/in-stock/5637154326.c'\r\n },\r\n {\r\n imageData: {\r\n desktop: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1I?pubver=1'},\r\n tablet: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmrQf?pubver=1'},\r\n mobile: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmrQf?pubver=1'},\r\n default: {src: 'https://images-us-prod.cms.dynamics365commerce.ms/cms/api/cncgmclkfv/imageFileData/MAmx1I?pubver=1', altText: 'Best Selling Mattresses'}\r\n },\r\n title: 'Best Selling Mattresses',\r\n link: 'https://www.mattressfirm.com/best-sellers/5637155076.c'\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n return (\r\n <>\r\n {showShoppingModal ? shoppingModalHTML(shoppingModalData) : null}\r\n {showEmailModal ? shoppingEmailModalHTML(shoppingModalData) : null}\r\n \r\n );\r\n\r\n function shoppingButton(index: number, buttonText: string) {\r\n\r\n setShowShoppingModal(false);\r\n setShowEmailModal(true);\r\n setShopButtonIndex(index);\r\n }\r\n\r\n function shoppingModalHTML(shoppingModalData: IShoppingModalData) {\r\n return (\r\n
\r\n
\r\n {shoppingModalData.imageData.default.altText}\r\n
\r\n
\r\n \r\n {\r\n );\r\n })}\r\n
\r\n

{shoppingModalData.disclosure}

\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n function shoppingEmailModalHTML(shoppingModalData: IShoppingModalData) {\r\n return (\r\n
\r\n {!isSubscribeSuccessfully && (\r\n
\r\n {shoppingModalData.emailModalData.imageData.default.altText}/\r\n
\r\n )}\r\n
\r\n \r\n {
\r\n
\r\n );\r\n }\r\n\r\n function couponCalloutCardHTML(answerCardData: ICalloutCardData) {\r\n return (\r\n <>\r\n
{answerCardData.title}
\r\n
{answerCardData.promoCode}
\r\n
\r\n
\r\n {getResponsiveImage({\r\n desktop: answerCardData.imageData.desktop,\r\n tablet: answerCardData.imageData.tablet,\r\n mobile: answerCardData.imageData.mobile,\r\n defaultImg: answerCardData.imageData.default,\r\n imageSettingViewports: getDynamicImageSettings({ moduleName: 'mfrm-hero-with-tabs' })\r\n })}\r\n
\r\n
\r\n
{answerCardData.cardSubtitle}
\r\n
{answerCardData.cardTitle}
\r\n
{answerCardData.cardDescription}
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

{answerCardData.disclosure}

\r\n
\r\n \r\n );\r\n }\r\n\r\n function shopNowHTML(answerCardData: IShopNowData) {\r\n return (\r\n <>\r\n
{answerCardData.title}
\r\n
{answerCardData.promoCode}
\r\n
{answerCardData.description}
\r\n \r\n
\r\n

{answerCardData.disclosure}

\r\n
\r\n \r\n );\r\n }\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n// import { RichText, RichTextComponent, Text } from '@msdyn365-commerce/core';\r\nimport MsDyn365, { ICookieValue, RichTextComponent, Text } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport uuid from 'uuid';\r\nimport { mFIEmailSubscriptionAsync } from '../../actions/EmailSubscriptionDataActionExtension.g';\r\nimport { IMFIEmailSubscription } from '../../actions/EmailSubscriptionDataServiceEntities.g';\r\nimport { emailRegex } from '../../Utilities/allRegex';\r\nimport { inputGroup, mailingData, MailingListInputGroup } from './components/input-group-mailing-list';\r\nimport ShoppingIntentModal from './components/shopping-intent-modal';\r\nimport { IMfrmEmailSubscriptionModalData } from './mfrm-email-subscription-modal.data';\r\nimport { IMfrmEmailSubscriptionModalProps } from './mfrm-email-subscription-modal.props.autogenerated';\r\nexport interface IMfrmEmailSubscriptionModalViewProps extends IMfrmEmailSubscriptionModalProps {\r\n isOpen: boolean;\r\n isSubscribeSuccessfully: boolean;\r\n className: string;\r\n isError: boolean;\r\n heading: JSX.Element;\r\n subHeading: JSX.Element;\r\n sucessMsgHeading: JSX.Element;\r\n errorMsgHeading: JSX.Element;\r\n disclosures: JSX.Element;\r\n successContent: JSX.Element;\r\n form: JSX.Element;\r\n successCTA: JSX.Element;\r\n errorCTA: JSX.Element;\r\n errorBlock: JSX.Element;\r\n emailValidationBlock: JSX.Element;\r\n onCloseModal?(): void;\r\n enableShoppingIntentModal: boolean;\r\n shoppingIntentModal: JSX.Element;\r\n}\r\n\r\ninterface IPopupModalState {\r\n isModalOpen: boolean;\r\n isError: boolean;\r\n isSubscribeSuccessfully: boolean;\r\n // tslint:disable-next-line: no-any\r\n errorMsg: any;\r\n isEmailValid: boolean;\r\n popupReady: boolean;\r\n}\r\n\r\nexport type popupModalCookie = {\r\n name: string;\r\n age: number | undefined;\r\n};\r\n\r\n/**\r\n *\r\n * MfrmEmailSubscriptionModal component\r\n * @extends {React.PureComponent, IPopupModalState>}\r\n */\r\nclass MfrmEmailSubscriptionModal extends React.Component,IPopupModalState> {\r\n private _cookie: popupModalCookie;\r\n private _delayStarted: boolean = false;\r\n\r\n constructor(props: IMfrmEmailSubscriptionModalProps) {\r\n super(props);\r\n this._closeModal = this._closeModal.bind(this);\r\n this.onFinished = this.onFinished.bind(this);\r\n this.state = {\r\n isModalOpen: true,\r\n isError: false,\r\n isSubscribeSuccessfully: false,\r\n errorMsg: '',\r\n isEmailValid: true,\r\n popupReady: false\r\n };\r\n this._cookie = {\r\n name: 'Mattress-Firm_email_sub',\r\n age: props.config.remindTime || undefined\r\n };\r\n }\r\n\r\n public componentDidMount(): void {\r\n this.setState({ isModalOpen: true });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.props.config.enableModal) {\r\n return null;\r\n }\r\n // we add this._cookieRecievedPreForm because that means *this module did not introduce the cookie*\r\n // this means we want to notify them that the form was successfully made and not just\r\n // closing down immediately\r\n if (this._cookieExist(this._cookie.name)) {\r\n return null;\r\n }\r\n const { isModalOpen, isSubscribeSuccessfully, isError, isEmailValid } = this.state;\r\n const {\r\n className,\r\n heading,\r\n subHeading,\r\n disclosures,\r\n successHeading,\r\n errorHeading,\r\n successContent,\r\n successCTA,\r\n errorCTA,\r\n enableShoppingIntentModal\r\n } = this.props.config;\r\n {\r\n this._startDelay();\r\n }\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n className: className,\r\n isOpen: isModalOpen,\r\n heading: heading && this._renderHeading,\r\n subHeading: subHeading && this._renderSubHeading,\r\n sucessMsgHeading: successHeading && this._renderSucessMsgHeading,\r\n errorMsgHeading: errorHeading && this._renderErrorMsgHeading,\r\n disclosures: disclosures && this._renderDisclosures,\r\n successContent: successContent && this._renderSuccessContent,\r\n successCTA: successCTA && this._renderSuccessCTA,\r\n errorCTA: errorCTA && this._renderErrorCTA,\r\n isSubscribed: isSubscribeSuccessfully,\r\n isError: isError,\r\n form: this._mailingListJSX,\r\n errorBlock: this._renderErrorBlock,\r\n emailValidationBlock: !isEmailValid && this._renderValidationError,\r\n onCloseModal: this._closeModal,\r\n enableShoppingIntentModal: enableShoppingIntentModal,\r\n shoppingIntentModal: this._shoppingIntentModalJSX\r\n };\r\n if (!this.state.popupReady) {\r\n return null;\r\n }\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public onFinished = async (dataSet: mailingData) => {\r\n const { errorContent, showErrorException } = this.props.config;\r\n\r\n if (dataSet.email === '' || !emailRegex(dataSet.email)) {\r\n this.setState({\r\n isEmailValid: false,\r\n isSubscribeSuccessfully: false\r\n });\r\n } else {\r\n const { cookies } = this.props.context.request;\r\n const zipCode = cookies.get('zip_code').value as string;\r\n\r\n const emailSignup: IMFIEmailSubscription = {\r\n PersonaSleepStyle: '',\r\n unique_id: uuid.v4(),\r\n Email: dataSet.email,\r\n LeadSource: 'modal',\r\n PersonaMattressPreference: '',\r\n Lastname: '',\r\n LeadDate: new Date().toISOString(),\r\n Firstname: dataSet.name,\r\n PostalCode: zipCode ? zipCode : '',\r\n LeadPage: this.props.context.request.telemetryPageName?.substring(0, 120),\r\n LeadPlatform: 'D365'\r\n };\r\n try {\r\n const response = await mFIEmailSubscriptionAsync({ callerContext: this.props.context.actionContext }, emailSignup);\r\n if (response.Status === 'Success') {\r\n this.setState({ isSubscribeSuccessfully: true, isEmailValid: true });\r\n\r\n {\r\n /* VSI Customization - START - 44020*/\r\n }\r\n const pageURL = MsDyn365.isBrowser && window.location.pathname;\r\n const email = dataSet.email;\r\n const { submitCTA } = this.props.config;\r\n\r\n // @ts-ignore\r\n if(MsDyn365.isBrowser && 'utag' in window){\r\n // @ts-ignore\r\n // tslint:disable-next-line: object-literal-key-quotes\r\n utag.link({\r\n event: 'popup-modal-email-signup',\r\n event_category: 'email signup tracking',\r\n event_action: 'click ' + `${submitCTA}`,\r\n event_label: 'from email signup modal: ' + `${pageURL}`,\r\n event_noninteraction: 'false',\r\n event_type: 'email_capture',\r\n customer_email: email?.toLowerCase()?.trim()\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n isError: true,\r\n errorMsg: showErrorException ? response.Message : errorContent,\r\n isEmailValid: true\r\n });\r\n }\r\n } catch (error) {\r\n this.setState({\r\n isError: true,\r\n errorMsg: showErrorException ? error : errorContent,\r\n isEmailValid: true\r\n });\r\n }\r\n }\r\n };\r\n\r\n public constructMailingListGroupsFromResources(): { [groupName: string]: inputGroup } {\r\n const { emailLabel, emailValidation, nameLabel, nameValidation } = this.props.resources;\r\n\r\n return {\r\n name: {\r\n labelText: nameLabel,\r\n validationText: nameValidation,\r\n placeholder: nameLabel\r\n },\r\n email: {\r\n labelText: emailLabel,\r\n validationText: emailValidation,\r\n placeholder: emailLabel\r\n }\r\n };\r\n }\r\n\r\n // Heading for email subscription modal\r\n private get _renderHeading(): JSX.Element {\r\n const { heading } = this.props.config;\r\n return ;\r\n }\r\n\r\n // Renders Sub Heading for email subscription modal\r\n private get _renderSubHeading(): JSX.Element {\r\n const { subHeading } = this.props.config;\r\n return ;\r\n }\r\n\r\n // Renders disclosures for email subscription modal\r\n private get _renderDisclosures(): JSX.Element {\r\n const { disclosures } = this.props.config;\r\n return ;\r\n }\r\n\r\n // Renders errors occurs while email subscription\r\n private get _renderValidationError(): JSX.Element {\r\n return (\r\n
\r\n

{this.props.resources.emailValidation}

\r\n
\r\n );\r\n }\r\n\r\n // Renders errors occurs while email subscription\r\n private get _renderErrorBlock(): JSX.Element {\r\n const { errorMsg } = this.state;\r\n return ;\r\n }\r\n\r\n // Heading for Success Message after successfully email subscription\r\n private get _renderSucessMsgHeading(): JSX.Element {\r\n const { successHeading } = this.props.config;\r\n return ;\r\n }\r\n // Heading for Success Message after successfully email subscription\r\n private get _renderErrorMsgHeading(): JSX.Element {\r\n const { errorHeading } = this.props.config;\r\n return ;\r\n }\r\n\r\n // Renders success message content after successfully email subscription\r\n private get _renderSuccessContent(): JSX.Element {\r\n const { successContent } = this.props.config;\r\n return ;\r\n }\r\n\r\n private get _renderSuccessCTA(): JSX.Element {\r\n const { successCTA } = this.props.config;\r\n return (\r\n \r\n {successCTA?.linkText}\r\n \r\n );\r\n }\r\n\r\n private get _renderErrorCTA(): JSX.Element {\r\n const { errorCTA } = this.props.config;\r\n return (\r\n \r\n {errorCTA?.linkText}\r\n \r\n );\r\n }\r\n\r\n // Delays the modal to show after specific time span as per delay config\r\n private _startDelay(): void {\r\n if (!this._delayStarted) {\r\n const delayTime = this.props.config.delay || 0;\r\n this._delayStarted = true;\r\n MsDyn365.isBrowser &&\r\n setTimeout(() => {\r\n this.setState({ popupReady: true }, () => {\r\n // @ts-ignore\r\n if ('utag' in window) {\r\n const pageURL = MsDyn365.isBrowser && window.location.pathname;\r\n // @ts-ignore\r\n // tslint:disable-next-line: object-literal-key-quotes\r\n utag.link({\r\n event: 'popup-modal-loaded',\r\n event_category: 'email signup tracking',\r\n event_action: 'auto-show-email-signup-modal',\r\n event_label: 'from email signup modal: ' + `${pageURL}`,\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n });\r\n }, delayTime * 1000);\r\n }\r\n }\r\n\r\n private _setCookie(name: string, deltaDaysFromToday: number): void {\r\n const { cookies } = this.props.context.request;\r\n const expirationDate = new Date(Date.now());\r\n expirationDate.setTime(expirationDate.getTime() + (deltaDaysFromToday * 24 * 60 * 60 * 1000));\r\n\r\n cookies.set(name, false, {\r\n expires: deltaDaysFromToday ? expirationDate : null,\r\n isEssential: true\r\n } as {});\r\n }\r\n\r\n private _cookieExist(name: string): boolean {\r\n const { cookies } = this.props.context.request;\r\n // if cookie exists, don't display\r\n if (\r\n // unfortunetly the type does not match the class. isEssential does\r\n // not exist on cookies.get but is required in this function.\r\n // override the type to add it\r\n (cookies.get as (name: string, isEssential: boolean) => ICookieValue)(name, true).status === 'FOUND'\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // method to close modal and reset states\r\n private _closeModal(): void {\r\n const remindTime = this.props.config.remindTime || 0;\r\n this._setCookie(this._cookie.name, remindTime);\r\n\r\n\r\n // @ts-ignore\r\n if (this.state.isSubscribeSuccessfully === false && MsDyn365.isBrowser && 'utag' in window) {\r\n const pageURL = MsDyn365.isBrowser && window.location.pathname;\r\n // @ts-ignore\r\n // tslint:disable-next-line: object-literal-key-quotes\r\n utag.link({\r\n event: 'close-email-signup-modal',\r\n event_category: 'email signup tracking',\r\n event_action: 'modal close',\r\n event_label: 'from email signup modal: ' + `${pageURL}`,\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n\r\n this.setState({\r\n isModalOpen: false,\r\n isSubscribeSuccessfully: false,\r\n isError: false,\r\n errorMsg: '',\r\n popupReady: false\r\n });\r\n }\r\n\r\n private get _mailingListJSX(): JSX.Element {\r\n const groups = this.constructMailingListGroupsFromResources();\r\n const { submitCTA } = this.props.config;\r\n return (\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n private get _shoppingMailingListJSX(): JSX.Element {\r\n const groups = this.constructMailingListGroupsFromResources();\r\n return (\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n private get _shoppingIntentModalJSX(): JSX.Element {\r\n const { isSubscribeSuccessfully, isError, isEmailValid } = this.state;\r\n const {\r\n errorHeading,\r\n errorCTA\r\n } = this.props.config;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MfrmEmailSubscriptionModal;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Modal, ModalBody, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IMfrmEmailSubscriptionModalViewProps } from './mfrm-email-subscription-modal';\r\n\r\nexport default (props: IMfrmEmailSubscriptionModalViewProps) => {\r\n const {\r\n isOpen,\r\n heading,\r\n subHeading,\r\n form,\r\n sucessMsgHeading,\r\n errorMsgHeading,\r\n disclosures,\r\n errorBlock,\r\n successContent,\r\n successCTA,\r\n errorCTA,\r\n emailValidationBlock,\r\n isSubscribeSuccessfully,\r\n isError,\r\n onCloseModal,\r\n enableShoppingIntentModal,\r\n shoppingIntentModal\r\n } = props;\r\n\r\n const emailModal = (\r\n <>\r\n \r\n {