{"version":3,"file":"static/js/f6487866af2f2760726f.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/Utilities/get-dynamic-image.tsx?8e0f","webpack://mattressfirm/./src/modules/d5-mfrm-suggestion-cards/d5-mfrm-suggestion-cards-content.tsx?c665","webpack://mattressfirm/./src/modules/d5-mfrm-suggestion-cards/d5-mfrm-suggestion-cards.tsx?40ec","webpack://mattressfirm/./src/modules/d5-mfrm-suggestion-cards/d5-mfrm-suggestion-cards.view.tsx?b608","webpack://mattressfirm/./lib/d5-mfrm-suggestion-cards/module-registration.js?3494","webpack://mattressfirm/external var \"React\"?0d3b","webpack://mattressfirm/external var \"ReactDOM\"?853b"],"sourcesContent":["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 \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 \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","/*!\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 MsDyn365, { IGridSettings, IImageData, Image, RichText, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport { getDynamicImageSettings, getResponsiveImage } from '../../Utilities/get-dynamic-image';\r\nimport { IDynamicImagesData, ISuggestionCardLinkData } from './d5-mfrm-suggestion-cards.props.autogenerated';\r\n\r\nimport * as React from 'react';\r\n\r\ninterface ISuggestionCardData {\r\n image?: IImageData | undefined;\r\n cardIndex: number;\r\n heading: RichText | undefined;\r\n content: RichText | undefined;\r\n location?: RichText | undefined;\r\n gridSettings: IGridSettings;\r\n cardLink?: ISuggestionCardLinkData[] | undefined;\r\n isHorizontalCards: boolean | undefined;\r\n useDynamicImages: boolean | undefined;\r\n dynamicImages: IDynamicImagesData | undefined;\r\n}\r\n\r\nexport default (props: ISuggestionCardData) => {\r\n const styles = 'mfrm-suggestion-cards__';\r\n const { image, location = '', heading, content, cardLink, isHorizontalCards, gridSettings, useDynamicImages, dynamicImages } = props;\r\n\r\n let currentImage;\r\n\r\n // Only use Responsive Image if Dynamic Images are defined\r\n if (dynamicImages && useDynamicImages) {\r\n currentImage = getResponsiveImage({\r\n desktop: dynamicImages?.desktopImage,\r\n tablet: dynamicImages?.tabletImage,\r\n mobile: dynamicImages?.mobileImage,\r\n defaultImg: image,\r\n imageSettingViewports: getDynamicImageSettings({ moduleName: 'd5-mfrm-suggestion-cards' })\r\n });\r\n }\r\n\r\n const handleAnalytics = (cl: ISuggestionCardLinkData) => {\r\n if (MsDyn365.isBrowser && cl) {\r\n const openLinkInNewTab = cl.openInNewTab ? '_blank' : '_self';\r\n if (cl.linkUrl.destinationUrl) {\r\n if (cl.linkText?.includes('Call Us')) {\r\n // @ts-ignore\r\n if (utag) {\r\n // @ts-ignore\r\n utag.link({\r\n event: 'call-engagement-content-card',\r\n event_type: 'call_engagement',\r\n event_category: 'call',\r\n event_action: 'click from Vertical Suggestion Card',\r\n event_label: 'call engagement',\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n window.location.href = `tel:+${cl.linkUrl.destinationUrl}`;\r\n } else if (cl.linkText?.includes('Chat Online')) {\r\n // @ts-ignore\r\n if (utag) {\r\n // @ts-ignore\r\n utag.link({\r\n event: 'chat-widget-initiated-content-card',\r\n event_type: 'chat_click',\r\n event_category: 'chat',\r\n event_action: 'click from Vertical Suggestion Card',\r\n event_label: 'chat engagement',\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n let c2c_counter = 0;\r\n const c2c_check = setInterval(() => {\r\n c2c_counter++;\r\n\r\n // @ts-ignore // The 3rd party script may not have yet loaded and initialized\r\n if (window.embedded_svc?.domInitInProgress === true) {\r\n clearInterval(c2c_check);\r\n\r\n // Trigger click event on live help button, minimized chat button, or sidebar minimized button\r\n document\r\n .querySelectorAll(\r\n '.uiButton.helpButtonEnabled, .minimizedContainer.helpButton, .sidebarHeader.minimizedContainer'\r\n )\r\n .forEach(_elem => {\r\n _elem.dispatchEvent(new Event('click'));\r\n });\r\n } else {\r\n // Stop trying for the button after 5 seconds\r\n c2c_counter > 10 && clearInterval(c2c_check);\r\n }\r\n }, 500);\r\n } else if (cl.linkText?.includes('Find A Store')) {\r\n // @ts-ignore\r\n if (utag) {\r\n // @ts-ignore\r\n utag.link({\r\n event: 'store-locator-content-card',\r\n event_type: 'Store Locator',\r\n event_category: 'click from Store Locator Content Card',\r\n event_action: 'click from Sleep Expert Pick Module',\r\n event_label: 'D5 store locator engagement',\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n window.open(cl.linkUrl.destinationUrl, openLinkInNewTab);\r\n } else if (cl.linkText?.includes('Find Your Match')) {\r\n // @ts-ignore\r\n if (utag) {\r\n // @ts-ignore\r\n utag.link({\r\n event: 'mattress-matcher-content-card',\r\n event_category: 'mattress matcher content card',\r\n event_action: 'start button CTA click',\r\n event_label: 'home page d5',\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n window.open(cl.linkUrl.destinationUrl, openLinkInNewTab);\r\n } else if (cl.linkText?.includes('Learn More')) {\r\n // @ts-ignore\r\n if (utag) {\r\n // @ts-ignore\r\n utag.link({\r\n event: 'sleepdotcom-app-content-card',\r\n event_category: 'sleepdotcom app content card',\r\n event_action: `CTA click to: ${cl.linkUrl.destinationUrl}`,\r\n event_label: `from: ${window.location.href}`,\r\n event_noninteraction: 'false'\r\n });\r\n }\r\n window.open(cl.linkUrl.destinationUrl, openLinkInNewTab);\r\n } else {\r\n window.open(cl.linkUrl.destinationUrl, openLinkInNewTab);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleClick = (event: React.MouseEvent | React.MouseEvent, cl: ISuggestionCardLinkData) => {\r\n event.preventDefault();\r\n handleAnalytics(cl);\r\n };\r\n\r\n const hasOneLinkOnly = cardLink?.length === 1;\r\n\r\n const suggestionCard = (\r\n \r\n {useDynamicImages ? (\r\n {currentImage}\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {content && (\r\n \r\n )}\r\n {location && (\r\n Tom's River 3.25 mi `}\r\n />\r\n )}\r\n \r\n {cardLink && (\r\n \r\n {hasOneLinkOnly ?\r\n \r\n {cardLink[0].linkText}\r\n :\r\n <>{cardLink.map(cl => (\r\n handleClick(e, cl)}\r\n >\r\n {cl.linkText}\r\n \r\n ))}>\r\n }\r\n \r\n )}\r\n \r\n \r\n );\r\n\r\n const singleCardLink = cardLink![0].linkUrl.destinationUrl || '';\r\n\r\n return (\r\n <>\r\n {!hasOneLinkOnly ? (suggestionCard) : (\r\n handleClick(e, cardLink[0])}\r\n href={singleCardLink}\r\n >\r\n {suggestionCard}\r\n \r\n )}\r\n >\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport SuggestionCard from './d5-mfrm-suggestion-cards-content';\r\n\r\nimport { ID5MfrmSuggestionCardsData } from './d5-mfrm-suggestion-cards.data';\r\nimport { ID5MfrmSuggestionCardsProps } from './d5-mfrm-suggestion-cards.props.autogenerated';\r\n\r\nexport interface ID5MfrmSuggestionCardsViewProps extends ID5MfrmSuggestionCardsProps {\r\n suggestionCards: React.ReactNode[];\r\n}\r\n\r\n/**\r\n *\r\n * D5MfrmSuggestionCards component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass D5MfrmSuggestionCards extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n if (!this.props.config.suggestionCardsList) {\r\n return null;\r\n }\r\n\r\n const viewProps: ID5MfrmSuggestionCardsViewProps = {\r\n ...(this.props as ID5MfrmSuggestionCardsProps),\r\n suggestionCards: this._getsuggestionCards()\r\n };\r\n\r\n return this.props.renderView(viewProps);\r\n }\r\n\r\n private _getsuggestionCards = (): React.ReactNode[] => {\r\n const {\r\n config: { suggestionCardsList, isHorizontalCards },\r\n context: {\r\n request: { gridSettings }\r\n }\r\n } = this.props;\r\n\r\n return suggestionCardsList.map((sc, index) => {\r\n const {suggestionCardContent, suggestionCardHeading, suggestionCardImage, suggestionCardLink, suggestionCardLocationText, useDynamicImages, dynamicImages } = sc;\r\n return (\r\n \r\n );\r\n });\r\n };\r\n}\r\n\r\nexport default D5MfrmSuggestionCards;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport _getViewPort from '../../Utilities/get-view-port';\r\nimport { ID5MfrmSuggestionCardsViewProps } from './d5-mfrm-suggestion-cards';\r\n\r\nexport default (props: ID5MfrmSuggestionCardsViewProps) => {\r\n const styles = 'mfrm-suggestion-cards__';\r\n const {\r\n config: { heading , subHeading },\r\n suggestionCards\r\n } = props;\r\n\r\n let headingDisplay = null;\r\n if (heading && heading.text) {\r\n const HeadingTag = heading.tag ? (`${heading.tag}` as keyof JSX.IntrinsicElements) : 'h2';\r\n headingDisplay = (\r\n \r\n {heading.text}\r\n \r\n );\r\n }\r\n\r\n let subHeadingDisplay = null;\r\n if (subHeading && subHeading.text) {\r\n const HeadingTag = subHeading.tag ? (`${subHeading.tag}` as keyof JSX.IntrinsicElements) : 'h3';\r\n subHeadingDisplay = (\r\n \r\n {subHeading.text}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {headingDisplay}\r\n {subHeadingDisplay}\r\n \r\n {suggestionCards}\r\n \r\n \r\n );\r\n};\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['d5-mfrm-suggestion-cards'] = {\n c: () => require('partner/modules/d5-mfrm-suggestion-cards/d5-mfrm-suggestion-cards.tsx'),\n $type: 'contentModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'd5-mfrm-suggestion-cards',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/d5-mfrm-suggestion-cards'\n });\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|d5-mfrm-suggestion-cards|d5-mfrm-suggestion-cards'] = {\n c: () => require('partner/modules/d5-mfrm-suggestion-cards/d5-mfrm-suggestion-cards.view.tsx'),\n cn: '__local__-__local__-d5-mfrm-suggestion-cards'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["getResponsiveFromSeoData","desktop","tablet","mobile","query","React","src","media","srcSet","alt","altText","getResponsiveImage","defaultImg","tabletWidth","lazyload","imageSettings","disableLazyLoad","defaultImgSrc","quality","className","getDynamicImageSettings","moduleName","viewports","undefined","themeSettingsForModule","MsDyn365","mattressfirm","modules","themeSettingsForLayout","properties","dynamic","imageViewportProperties","_get","_cloneDeep","props","styles","image","location","heading","content","cardLink","isHorizontalCards","gridSettings","useDynamicImages","dynamicImages","currentImage","desktopImage","tabletImage","mobileImage","imageSettingViewports","handleClick","event","cl","preventDefault","openLinkInNewTab","openInNewTab","linkUrl","destinationUrl","linkText","includes","utag","link","event_type","event_category","event_action","event_label","event_noninteraction","window","href","c2c_counter","c2c_check","setInterval","embedded_svc","domInitInProgress","clearInterval","document","querySelectorAll","forEach","_elem","dispatchEvent","Event","open","handleAnalytics","hasOneLinkOnly","length","suggestionCard","Image","Object","RichTextComponent","text","Button","key","title","map","onClick","e","singleCardLink","D5MfrmSuggestionCards","constructor","_getsuggestionCards","config","suggestionCardsList","context","request","this","sc","index","suggestionCardContent","suggestionCardHeading","suggestionCardImage","suggestionCardLink","suggestionCardLocationText","SuggestionCard","cardIndex","render","viewProps","suggestionCards","renderView","subHeading","headingDisplay","HeadingTag","tag","subHeadingDisplay","binding","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}