{"version":3,"file":"static/js/6c9a4faaf2828a2b8988.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/modules/mfrm-ribbon/mfrm-ribbon.tsx?d68c","webpack://mattressfirm/./src/modules/mfrm-ribbon/mfrm-ribbon.view.tsx?4881","webpack://mattressfirm/./lib/mfrm-ribbon/module-registration.js?dedb","webpack://mattressfirm/external var \"React\"?0d3b","webpack://mattressfirm/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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\nimport MsDyn365, { ContentEditableEvent, IImageData, IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport { IMfrmRibbonData } from './mfrm-ribbon.data';\r\nimport { IMfrmRibbonProps } from './mfrm-ribbon.props.autogenerated';\r\n\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport interface IMfrmRibbonViewProps extends IMfrmRibbonProps {\r\n image?: IImageData;\r\n headerText?: React.ReactNode;\r\n text?: React.ReactNode;\r\n ctaText?: React.ReactNode;\r\n ctaButton?: React.ReactNode;\r\n backgroundClassName?: string;\r\n imageBorderClassName?: string;\r\n ribbonHeightClassName?: string;\r\n textContainerClassName?: string;\r\n imageContainerClassName?: string;\r\n}\r\n\r\n/**\r\n *\r\n * MfrmRibbon component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass MfrmRibbon extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { headerText, text, ctaText, imageBorderOption, tealiumEvent } = this.props.config;\r\n const ctaLinkUrl = this.props.config.ctaLink?.linkUrl.destinationUrl;\r\n const backgroundColor = this.props.config.className;\r\n const avatarBleedLayout = this.props.config.avatarBleedLayout;\r\n\r\n const backgroundClassName =\r\n backgroundColor === 'ribbonbkgcolor__lightBlue' ? 'mfrm-ribbon__bkg-light-blue'\r\n : backgroundColor === 'ribbonbkgcolor__red' ? 'mfrm-ribbon__bkg-red'\r\n : 'mfrm-ribbon__bkg-blue';\r\n\r\n const buttonClassName =\r\n backgroundColor === 'ribbonbkgcolor__lightBlue' ? 'mfrm-ribbon__blue-cta'\r\n : backgroundColor === 'ribbonbkgcolor__red' ? 'mfrm-ribbon__blue-cta'\r\n : 'mfrm-ribbon__red-cta';\r\n\r\n const imageBorderClassName = (imageBorderOption) ? 'mfrm-ribbon__img-border' : 'mfrm-ribbon__img-no-border';\r\n\r\n let ribbonHeightClassName = (avatarBleedLayout) ? \"mfrm-ribbon__banner-bleed\" : \"mfrm-ribbon__banner-no-bleed\";\r\n\r\n if(!headerText && !ctaText){\r\n if(avatarBleedLayout){\r\n ribbonHeightClassName = 'mfrm-ribbon__banner-subtext-only-bleed';\r\n }else{\r\n ribbonHeightClassName = 'mfrm-ribbon__banner-subtext-only';\r\n }\r\n }\r\n\r\n const textContainerClassName = (!headerText && !ctaText) ? 'mfrm-ribbon__text-container-subtext-only' : 'mfrm-ribbon__text-container';\r\n const imageContainerClassName = (headerText && ctaText) ? 'mfrm-mobile-image-container' : 'mfrm-mobile-image-container-subtext-only';\r\n\r\n const handleClick = () => {\r\n if (MsDyn365.isBrowser) {\r\n const pageURL = MsDyn365.isBrowser && window.location.pathname;\r\n // @ts-ignore\r\n if ('utag' in window) {\r\n // @ts-ignore\r\n utag.link({\r\n event: tealiumEvent?.event || 'mattress-matcher-content-card',\r\n event_category: tealiumEvent?.event_category || 'mattress matcher content card',\r\n event_action: tealiumEvent?.event_action || 'start button CTA click',\r\n event_label: tealiumEvent?.event_label ? `${tealiumEvent?.event_label} ${pageURL}` : `sleep disruptor ${pageURL}`,\r\n event_noninteraction: tealiumEvent?.event_noninteraction === true ? 'true' : 'false'\r\n });\r\n }\r\n window.location.href = ctaLinkUrl!;\r\n }\r\n };\r\n\r\n const renderHeaderText = headerText && (\r\n \r\n );\r\n\r\n const renderText = text && (\r\n \r\n );\r\n\r\n const renderCtaText = ctaText && (\r\n \r\n );\r\n\r\n const renderButton = ctaText && (\r\n
\r\n \r\n {renderCtaText}\r\n \r\n
\r\n );\r\n\r\n const ribbonViewProps = {\r\n ...this.props,\r\n image: this._getRibbonImage(),\r\n headerText: renderHeaderText,\r\n text: renderText,\r\n ctaText: renderCtaText,\r\n ctaButton: renderButton,\r\n backgroundClassName: backgroundClassName,\r\n imageBorderClassName: imageBorderClassName,\r\n ribbonHeightClassName: ribbonHeightClassName,\r\n textContainerClassName: textContainerClassName,\r\n imageContainerClassName: imageContainerClassName\r\n };\r\n\r\n return (this.props.renderView(ribbonViewProps));\r\n }\r\n\r\n public handleTextChange = (event: ContentEditableEvent) => this.props.config.text = event.target.value;\r\n\r\n private _getRibbonImage(): React.ReactNode {\r\n const { image } = this.props.config;\r\n\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=110&h=110&m=8', w: 0, h: 0 },\r\n sm: { q: 'w=110&h=110&m=8', w: 0, h: 0 },\r\n md: { q: 'w=110&h=110&m=8', w: 0, h: 0 },\r\n lg: { q: 'w=110&h=110&m=8', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n return (\r\n {image?.altText}\r\n );\r\n }\r\n}\r\n\r\nexport default MfrmRibbon;\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 classname from 'classnames';\r\nimport * as React from 'react';\r\nimport { IMfrmRibbonViewProps } from './mfrm-ribbon';\r\n\r\nexport default (props: IMfrmRibbonViewProps) => {\r\n const { image, headerText, text, ctaText, ctaButton, backgroundClassName, imageBorderClassName, ribbonHeightClassName, textContainerClassName, imageContainerClassName } = props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {image}\r\n
\r\n
\r\n {headerText}\r\n {text}\r\n
\r\n {ctaButton}\r\n
\r\n
\r\n );\r\n};","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['mfrm-ribbon'] = {\n c: () => require('partner/modules/mfrm-ribbon/mfrm-ribbon.tsx'),\n $type: 'contentModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'mfrm-ribbon',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/mfrm-ribbon'\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|mfrm-ribbon|mfrm-ribbon'] = {\n c: () => require('partner/modules/mfrm-ribbon/mfrm-ribbon.view.tsx'),\n cn: '__local__-__local__-mfrm-ribbon'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["MfrmRibbon","React","constructor","handleTextChange","event","this","props","config","text","target","value","render","_this$props$config$ct","headerText","ctaText","imageBorderOption","tealiumEvent","ctaLinkUrl","ctaLink","linkUrl","destinationUrl","backgroundColor","className","avatarBleedLayout","backgroundClassName","buttonClassName","imageBorderClassName","ribbonHeightClassName","textContainerClassName","imageContainerClassName","renderHeaderText","RichTextComponent","editProps","onEdit","requestContext","context","request","renderText","renderCtaText","renderButton","Button","href","onClick","handleClick","MsDyn365","isBrowser","pageURL","window","location","pathname","utag","link","event_category","event_action","event_label","event_noninteraction","ribbonViewProps","_objectSpread","image","_getRibbonImage","ctaButton","renderView","Image","Object","assign","alt","altText","src","gridSettings","imageSettings","viewports","xs","q","w","h","sm","md","lg","lazyload","classname","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}