{"version":3,"file":"static/js/37f25e3e14ba60642827.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/*\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};","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\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 {