{"version":3,"file":"static/js/d2917258f3a97ebdad1b.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/components/breakpoints.ts?f4e7","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-hero-banner/ecomm-hero-banner.tsx?4653","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-hero-banner/components/link.tsx?1149","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-hero-banner/ecomm-hero-banner.props.autogenerated.ts?3354","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-hero-banner/ecomm-hero-banner.view.tsx?ee31","webpack://Msdyn365.Commerce.Online/./lib/ecomm-hero-banner/module-registration.js?7894","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"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. 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 * as React from 'react';\r\n\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { IEcommHeroBannerData } from './ecomm-hero-banner.data';\r\nimport { IEcommHeroBannerProps } from './ecomm-hero-banner.props.autogenerated';\r\n\r\nexport interface IEcommHeroBannerViewProps extends IEcommHeroBannerProps {\r\n title: React.ReactNode;\r\n description: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * EcommHeroBanner component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EcommHeroBanner extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const title = config.description && ;\r\n\r\n const description = config.description === '' || config.description === undefined ? null : ;\r\n\r\n const EcommHeroBannerViewProps = {\r\n ...this.props,\r\n title: title,\r\n description: description\r\n };\r\n\r\n return this.props.renderView(EcommHeroBannerViewProps);\r\n }\r\n\r\n private _handleDescriptionChange = (event: MsDyn365.ContentEditableEvent) => this.props.config.description = event.target.value;\r\n}\r\n\r\nexport default EcommHeroBanner;","import * as React from 'react';\r\n\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\n\r\ninterface ILink {\r\n className: string;\r\n text?: string;\r\n context: ICoreContext;\r\n href?: string;\r\n ariaLabel?: string;\r\n noclick?: boolean;\r\n telemetryContent: ITelemetryContent;\r\n}\r\n\r\n/**\r\n *\r\n * Link component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Link extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\r\n const linkText = this.props.text !== undefined ? this.props.text : '';\r\n\r\n payLoad.contentAction.etext = linkText;\r\n\r\n // Construct telemetry attribute to render.\r\n const attribute = getTelemetryAttributes(this.props.telemetryContent, payLoad);\r\n\r\n return (\r\n \r\n {linkText}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Link;","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IEcommHeroBanner 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 contentAlignment {\r\n left = 'left',\r\n right = 'right'\r\n}\r\n\r\nexport interface IEcommHeroBannerConfig extends Msdyn365.IModuleConfig {\r\n title?: Msdyn365.RichText;\r\n description?: Msdyn365.RichText;\r\n firstButtonText?: string;\r\n firstLinkUrl?: Msdyn365.ILinkData;\r\n firstAnchorTargetID?: string;\r\n secondButtonText?: string;\r\n secondLinkUrl?: Msdyn365.ILinkData;\r\n secondAnchorTargetID?: string;\r\n bannerImage: Msdyn365.IImageData;\r\n contentAlignment?: contentAlignment;\r\n enablePrimaryColour?: boolean;\r\n isMainMobileBanner?: boolean;\r\n mobileTitle?: string;\r\n mobileCaption?: string;\r\n mobileLink?: boolean;\r\n}\r\n\r\nexport interface IEcommHeroBannerProps extends Msdyn365.IModule {\r\n config: IEcommHeroBannerConfig;\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 { getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { isMobile } from '../../components/breakpoints';\r\n\r\nimport { Link } from './components/link';\r\n\r\nimport {contentAlignment } from './ecomm-hero-banner.props.autogenerated';\r\n\r\nimport { IEcommHeroBannerViewProps } from './ecomm-hero-banner';\r\n\r\n/**\r\n *\r\n * EcommContentTemplate1View component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class EcommHeroBannerView extends React.PureComponent {\r\n public state: any = { width: 0, hasMounted: false };\r\n\r\n private telemetryContent: ITelemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName, this.props.telemetry);\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 const { config } = this.props;\r\n\r\n const bg = config.bannerImage?.src ? { backgroundImage: `url(${config.bannerImage.src})`} : { backgroundImage: '' };\r\n\r\n let result = 'ecomm-hero-banner';\r\n\r\n result += config.isMainMobileBanner !== undefined && !config.isMainMobileBanner ? ' normal' : '';\r\n result += config.contentAlignment !== undefined && config.contentAlignment === contentAlignment.right ? ' right' : '';\r\n\r\n return
{this._renderContent()}
;\r\n }\r\n\r\n public componentWillUnmount() {\r\n window.removeEventListener('resize', this._updateDimensions);\r\n }\r\n\r\n private _renderContent(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n if (isMobile(this.state.width)) {\r\n if (config.isMainMobileBanner !== undefined && !config.isMainMobileBanner) {\r\n let link = '';\r\n\r\n if (config.mobileLink !== undefined) {\r\n // True sets to first button, false sets to second button.\r\n if (config.mobileLink) {\r\n link = config.firstAnchorTargetID && config.firstAnchorTargetID !== '' ? `#${config.firstAnchorTargetID}` : (config.firstLinkUrl ? config.firstLinkUrl.destinationUrl : '');\r\n } else {\r\n link = config.secondAnchorTargetID && config.secondAnchorTargetID !== '' ? `#${config.secondAnchorTargetID}` : (config.secondLinkUrl ? config.secondLinkUrl.destinationUrl : '');\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {this._renderTitle()}\r\n {this._renderDescription() !== null && this._renderDescription()}\r\n {this._renderButtons()}\r\n
\r\n );\r\n }\r\n\r\n private _renderTitle(): JSX.Element | null {\r\n const { config, title } = this.props;\r\n\r\n let result =
{title}
;\r\n\r\n if (config.enablePrimaryColour) {\r\n result =

{title}

;\r\n }\r\n\r\n return
{result}
;\r\n }\r\n\r\n private _renderDescription(): JSX.Element | null {\r\n const { description } = this.props;\r\n\r\n if (description === null) {\r\n return null;\r\n }\r\n\r\n return

{description}

;\r\n }\r\n\r\n private _renderButtons(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n let first = null;\r\n\r\n if (config.firstAnchorTargetID) {\r\n first = {config.firstButtonText};\r\n } else if (config.firstLinkUrl?.destinationUrl) {\r\n first = (\r\n \r\n );\r\n }\r\n\r\n let second = null;\r\n\r\n if (config.secondAnchorTargetID) {\r\n second = {config.secondButtonText};\r\n } else if (config.secondLinkUrl?.destinationUrl) {\r\n second = (\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {first}\r\n {second}\r\n
\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 EcommHeroBannerView;","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['ecomm-hero-banner'] = {\n c: () => require('partner/modules/ecomm-hero-banner/ecomm-hero-banner.tsx'),\n $type: 'contentModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'ecomm-hero-banner',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/ecomm-hero-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-hero-banner|ecomm-hero-banner'] = {\n c: () => require('partner/modules/ecomm-hero-banner/ecomm-hero-banner.view.tsx'),\n cn: '__local__-__local__-ecomm-hero-banner'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["Breakpoints","isMobile","width","large","EcommHeroBanner","React","constructor","_handleDescriptionChange","event","this","props","config","description","target","value","render","title","MsDyn365","text","editProps","onEdit","requestContext","context","request","undefined","EcommHeroBannerViewProps","_objectSpread","renderView","Link","payLoad","getPayloadObject","telemetryContent","linkText","contentAction","etext","attribute","getTelemetryAttributes","Object","assign","className","href","ariaLabel","onClick","onTelemetryClick","noclick","itemProp","contentAlignment","EcommHeroBannerView","state","hasMounted","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_updateDimensions","setState","window","innerWidth","componentDidMount","addEventListener","_config$bannerImage","bg","bannerImage","src","backgroundImage","result","isMainMobileBanner","right","style","_renderContent","componentWillUnmount","removeEventListener","link","mobileLink","firstAnchorTargetID","firstLinkUrl","destinationUrl","secondAnchorTargetID","secondLinkUrl","mobileCaption","mobileTitle","_renderTitle","_renderDescription","_renderButtons","enablePrimaryColour","id","renderModuleAttributes","_config$firstLinkUrl","_config$secondLinkUrl","first","firstButtonText","second","secondButtonText","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}