{"version":3,"file":"static/js/56df6912d436ffbeb2f0.bundle.js","mappings":";iIAGO,IAAWA,EAMZ,SAAUC,EAAUC,GACxB,OAAOA,EAAQF,EAAYG,KAC7B,kBARA,SAAkBH,GAChBA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,kBACD,CAJD,CAAkBA,IAAAA,EAAW,8DCc7B,MAAMI,UAAgCC,EAAAA,cAC7BC,SACL,OAAOC,KAAKC,MAAMC,WAAWF,KAAKC,MACpC,EAGF,8FCdkBE,kBAAlB,SAAkBA,GACdA,EAAA,YACAA,EAAA,aACH,CAHD,CAAkBA,IAAAA,EAAa,KCGzB,MAAOC,UAA+BN,EAAAA,cAA5CO,kCACS,KAAAC,MAAa,CAAGX,MAAO,EAAGY,YAAY,GA4CrC,KAAAC,SAAW,KACjB,MAAM,OAAEC,GAAWT,KAAKC,MAEF,oBAAXS,QACTA,OAAOC,SAASC,OAAOH,EAAOI,WAAWC,iBAIrC,KAAAC,kBAAoB,KAC1Bf,KAAKgB,SAAS,CAAErB,MAAOe,OAAOO,YAAa,CAE/C,CArDSC,oBACAlB,KAAKM,MAAMC,aACdG,OAAOS,iBAAiB,SAAUnB,KAAKe,mBAEvCf,KAAKgB,SAAS,CAAErB,MAAOe,OAAOO,WAAYV,YAAY,IAE1D,CAEOR,SACL,IAAKC,KAAKM,MAAMC,WACd,OAAO,KAGT,IAAIb,EAAAA,EAAAA,GAASM,KAAKM,MAAMX,OAAQ,KAAAyB,EAC9B,MAAM,OAAEX,GAAWT,KAAKC,MAElBoB,EAAuB,QAAlBD,EAAAX,EAAOa,mBAAW,IAAAF,GAAlBA,EAAoBG,IAAM,CAAEC,gBAAiB,OAAOf,EAAOa,YAAYC,QAAW,CAAEC,gBAAiB,IAEhH,OAAIf,EAAON,gBAAkBA,EAAcsB,MAEvC3B,EAAAA,cAAA,OAAK4B,UAAU,mCAAmCC,MAAON,EAAIO,QAAS5B,KAAKQ,UACzEV,EAAAA,cAAA,UAAKW,EAAOoB,SACZ/B,EAAAA,cAAA,UAAKW,EAAOqB,cAMhBhC,EAAAA,cAAA,OAAK4B,UAAU,6BAA6BC,MAAON,EAAIO,QAAS5B,KAAKQ,UACnEV,EAAAA,cAAA,MAAI4B,UAAU,WAAWjB,EAAOoB,SAChC/B,EAAAA,cAAA,UAAKW,EAAOqB,cAKlB,OAAO,IACT,CAEOC,uBACLrB,OAAOsB,oBAAoB,SAAUhC,KAAKe,kBAC5C,EAeF,+mBCtEA,MAAMkB,EAAU,CAAEC,QAAS,CAAC,EAAGC,YAAa,CAAC,GAExCF,EAAQC,QAAQ,8BAAgC,CAC7CE,EAAGA,IAAMC,EAAQ,MACjBC,MAAO,gBACPC,GAAI,GAEJC,KAAK,EACLC,GAAI,YACJC,EAAG,6BACHC,EAAG,YAEHC,IAAK,GAGLC,GAAI,0CAKRnC,OAAOoC,aAAepC,OAAOoC,cAAgB,CAAC,EAC9CpC,OAAOoC,aAAaZ,QAAOa,EAAAA,EAAA,GACpBrC,OAAOoC,aAAaZ,SAAW,CAAC,GAChCD,EAAQC,SAGXxB,OAAOoC,aAAaX,YAAWY,EAAAA,EAAA,GAC5BrC,OAAOoC,aAAaX,aAAe,CAAC,GACpCF,EAAQE,aAEY,MAAMa,EAAiB,CAAC,EAC/BA,EAAe,qFAAuF,CAC9GZ,EAAGA,IAAMC,EAAQ,MACjBY,GAAI,kDAEpBvC,OAAOoC,aAAepC,OAAOoC,cAAgB,CAAC,EAC9CpC,OAAOoC,aAAaE,eAAcD,EAAAA,EAAA,GACPrC,OAAOoC,aAAaE,gBAAkB,CAAC,GACvCA,UCtC3BE,EAAOC,QAAUrD","sources":["webpack://Msdyn365.Commerce.Online/./src/components/breakpoints.ts?f4e7","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-mobile-stream-banner/ecomm-mobile-stream-banner.tsx?3f27","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-mobile-stream-banner/ecomm-mobile-stream-banner.props.autogenerated.ts?d602","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-mobile-stream-banner/ecomm-mobile-stream-banner.view.tsx?63c4","webpack://Msdyn365.Commerce.Online/./lib/ecomm-mobile-stream-banner/module-registration.js?304f","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b"],"sourcesContent":["// <= 999 = Mobile\r\n// >= 1000 = Tablet and Desktop\r\n\r\nexport const enum Breakpoints {\r\n small = 540,\r\n medium = 768,\r\n large = 992\r\n}\r\n\r\nexport function isMobile (width: number): boolean {\r\n return width < Breakpoints.large;\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\n\r\nimport { IEcommMobileStreamBannerData } from './ecomm-mobile-stream-banner.data';\r\nimport { IEcommMobileStreamBannerProps } from './ecomm-mobile-stream-banner.props.autogenerated';\r\n\r\nexport interface IEcommMobileStreamBannerViewProps extends IEcommMobileStreamBannerProps {}\r\n\r\n/**\r\n *\r\n * EcommMobileStreamBanner component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EcommMobileStreamBanner extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default EcommMobileStreamBanner;","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IEcommMobileStreamBanner contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum textAlignment {\r\n left = 'left',\r\n right = 'right'\r\n}\r\n\r\nexport interface IEcommMobileStreamBannerConfig extends Msdyn365.IModuleConfig {\r\n mobilePage: Msdyn365.ILinkData;\r\n bannerImage?: Msdyn365.IImageData;\r\n bannerTitle?: string;\r\n caption?: string;\r\n textAlignment?: textAlignment;\r\n}\r\n\r\nexport interface IEcommMobileStreamBannerProps extends Msdyn365.IModule {\r\n config: IEcommMobileStreamBannerConfig;\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\n\r\nimport { isMobile } from '../../components/breakpoints';\r\n\r\nimport { IEcommMobileStreamBannerViewProps } from './ecomm-mobile-stream-banner';\r\nimport { textAlignment } from './ecomm-mobile-stream-banner.props.autogenerated';\r\n\r\nexport class MobileStreamBannerView extends React.PureComponent {\r\n public state: any = { width: 0, hasMounted: false };\r\n\r\n public componentDidMount(): void {\r\n if (!this.state.hasMounted) {\r\n window.addEventListener('resize', this._updateDimensions);\r\n\r\n this.setState({ width: window.innerWidth, hasMounted: true });\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.state.hasMounted) {\r\n return null;\r\n }\r\n\r\n if (isMobile(this.state.width)) {\r\n const { config } = this.props;\r\n\r\n const bg = config.bannerImage?.src ? { backgroundImage: `url(${config.bannerImage.src})` } : { backgroundImage: '' };\r\n\r\n if (config.textAlignment === textAlignment.right) {\r\n return (\r\n
\r\n

{config.caption}

\r\n

{config.bannerTitle}

\r\n
\r\n );\r\n }\r\n \r\n return (\r\n
\r\n
{config.caption}
\r\n

{config.bannerTitle}

\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public componentWillUnmount() {\r\n window.removeEventListener('resize', this._updateDimensions);\r\n }\r\n\r\n private _onClick = () => {\r\n const { config } = this.props;\r\n\r\n if (typeof window !== 'undefined') {\r\n window.location.assign(config.mobilePage.destinationUrl);\r\n }\r\n }\r\n\r\n private _updateDimensions = () => {\r\n this.setState({ width: window.innerWidth });\r\n };\r\n}\r\n\r\nexport default MobileStreamBannerView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['ecomm-mobile-stream-banner'] = {\n c: () => require('partner/modules/ecomm-mobile-stream-banner/ecomm-mobile-stream-banner.tsx'),\n $type: 'contentModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'ecomm-mobile-stream-banner',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/ecomm-mobile-stream-banner'\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|ecomm-mobile-stream-banner|ecomm-mobile-stream-banner'] = {\n c: () => require('partner/modules/ecomm-mobile-stream-banner/ecomm-mobile-stream-banner.view.tsx'),\n cn: '__local__-__local__-ecomm-mobile-stream-banner'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;"],"names":["Breakpoints","isMobile","width","large","EcommMobileStreamBanner","React","render","this","props","renderView","textAlignment","MobileStreamBannerView","constructor","state","hasMounted","_onClick","config","window","location","assign","mobilePage","destinationUrl","_updateDimensions","setState","innerWidth","componentDidMount","addEventListener","_config$bannerImage","bg","bannerImage","src","backgroundImage","right","className","style","onClick","caption","bannerTitle","componentWillUnmount","removeEventListener","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","__bindings__","_objectSpread","viewDictionary","cn","module","exports"],"sourceRoot":""}