{"version":3,"file":"static/js/fb46d8ba2739f2a000cc.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/moenzcsitetheme/views/promo-banner.view.tsx?988f","webpack://Msdyn365.Commerce.Online/./src/themes/moetwksitetheme/views/promo-banner.view.tsx?03b9","webpack://Msdyn365.Commerce.Online/./lib/promo-banner/module-registration.js?d732","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/close-button.tsx?063b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/links.tsx?2587","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/text.tsx?782b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.tsx?9ee9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.view.tsx?7f77","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { BsArrowRight } from 'react-icons/bs';\r\nimport * as React from 'react';\r\n\r\nimport { IPromoBannerViewProps } from '@msdyn365-commerce-modules/promo-banner/src/modules/promo-banner/./promo-banner';\r\nimport { IPromoBannerProps } from '../definition-extensions/promo-banner.ext.props.autogenerated';\r\n\r\nconst PromoBannerView: React.FC> = props => {\r\n const {\r\n promoBannerProps,\r\n contentProps,\r\n closeButton,\r\n bannerMessages,\r\n promoBannerTextProps,\r\n promoBannerLinksProps,\r\n carouselProps,\r\n promoBannerText,\r\n handleLinks,\r\n handleText\r\n } = props;\r\n\r\n const userInfo = props.context && props.context.request && props.context.request.user;\r\n\r\n const slides =\r\n bannerMessages &&\r\n bannerMessages.map((message, index) => {\r\n return (\r\n \r\n {promoBannerText}\r\n {message.text && }\r\n \r\n \r\n \r\n {message.links && message.links.length > 0 && (\r\n \r\n )}\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n {closeButton}\r\n \r\n );\r\n};\r\nexport default PromoBannerView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { BsArrowRight } from 'react-icons/bs';\r\nimport * as React from 'react';\r\n\r\nimport { IPromoBannerViewProps } from '@msdyn365-commerce-modules/promo-banner/src/modules/promo-banner/./promo-banner';\r\nimport { IPromoBannerProps } from '../definition-extensions/promo-banner.ext.props.autogenerated';\r\n\r\nconst PromoBannerView: React.FC> = props => {\r\n const {\r\n promoBannerProps,\r\n contentProps,\r\n closeButton,\r\n bannerMessages,\r\n promoBannerTextProps,\r\n promoBannerLinksProps,\r\n carouselProps,\r\n promoBannerText,\r\n handleLinks,\r\n handleText\r\n } = props;\r\n\r\n const userInfo = props.context && props.context.request && props.context.request.user;\r\n\r\n const slides =\r\n bannerMessages &&\r\n bannerMessages.map((message, index) => {\r\n return (\r\n \r\n {promoBannerText}\r\n {message.text && }\r\n \r\n \r\n \r\n {message.links && message.links.length > 0 && (\r\n \r\n )}\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n {closeButton}\r\n \r\n );\r\n};\r\nexport default PromoBannerView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['promo-banner'] = {\n c: () => require('@msdyn365-commerce-modules/promo-banner/dist/lib/modules/promo-banner/promo-banner'),\n $type: 'contentModule',\n da: [],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'promo-banner',\n p: 'promo-banner',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/promo-banner/dist/lib/modules/promo-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__|themes|moenzcsitetheme|views|promo-banner'] = {\n c: () => require('partner/themes/moenzcsitetheme/views/promo-banner.view.tsx'),\n cn: '__local__-__local__-promo-banner'\n };\nviewDictionary['__local__|__local__|themes|moetwksitetheme|views|promo-banner'] = {\n c: () => require('partner/themes/moetwksitetheme/views/promo-banner.view.tsx'),\n cn: '__local__-__local__-promo-banner'\n };\nviewDictionary['@msdyn365-commerce-modules|promo-banner|modules|promo-banner|promo-banner'] = {\n c: () => require('@msdyn365-commerce-modules/promo-banner/dist/lib/modules/promo-banner/promo-banner.view.js'),\n cn: '@msdyn365-commerce-modules-promo-banner-promo-banner'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPromoBannerCloseButton {\n closeButtonAriaLabel?: string;\n label?: string;\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const PromoBannerCloseButton: React.FC = ({ closeButtonAriaLabel, label, telemetryContent, onClose }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PromoBannerClose);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../promo-banner.props.autogenerated';\n\nexport interface IPromoBannerLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const PromoBannerLinks: React.FC = ({ links, requestContext, onTextChange, telemetryContent }) => {\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n \n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-promo-banner__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nexport interface IPromoBannerText {\n text: string;\n requestContext: Msdyn365.IRequestContext;\n onTextChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\nexport const PromoBannerText: React.FC = ({ text, onTextChange, requestContext }) => {\n return ;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Carousel } from '@msdyn365-commerce/components';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { PromoBannerCloseButton, PromoBannerLinks, PromoBannerText } from './components';\nimport { IBannerMessagesData, IPromoBannerProps, IPromoBannerResources } from './promo-banner.props.autogenerated';\n\nexport interface IPromoBannerState {\n animating: boolean;\n isVisible: boolean;\n activeIndex: number;\n}\n\nexport interface IPromoBannerViewProps extends IPromoBannerProps<{}>, IPromoBannerState {\n promoBannerProps: IModuleProps;\n contentProps: INodeProps;\n bannerMessages: IBannerMessagesData[];\n promoBannerTextProps: INodeProps;\n promoBannerLinksProps: INodeProps;\n carouselProps: INodeProps;\n closeButton?: React.ReactNode;\n className: string;\n promoBannerText: string;\n resources: IPromoBannerResources;\n onDismiss(): void;\n handleText(): void;\n handleLinks(): void;\n}\n\n/**\n *\n * PromoBannerModule component.\n * @extends {React.PureComponent>}\n */\nclass PromoBanner extends React.PureComponent, IPromoBannerState> {\n public state: IPromoBannerState = {\n animating: false,\n isVisible: true,\n activeIndex: 0\n };\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { bannerMessages, dismissEnabled, interval, hideFlipper, autoplay, className = '' } = this.props.config;\n const { closeButtonAriaLabel, closeButtonLabel, bannerText, bannerAriaLabel } = this.props.resources;\n const { isVisible, activeIndex } = this.state;\n\n if (!isVisible) {\n this.props.context.telemetry.error('Promo banner content is empty, module wont render.');\n return null;\n }\n\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n className: classnames('ms-promo-banner', className),\n isVisible, // State data\n onDismiss: this._onDismiss, // Methods\n handleLinks: this.handleLinkTextChange,\n handleText: this.handleTextChange,\n\n promoBannerProps: {\n className: classnames('ms-promo-banner', className),\n moduleProps: this.props,\n role: 'banner',\n 'aria-label': bannerAriaLabel\n },\n promoBannerTextProps: {\n tag: PromoBannerText\n },\n promoBannerLinksProps: {\n tag: PromoBannerLinks,\n telemetryContent: this.telemetryContent\n },\n contentProps: { className: 'ms-promo-banner__content' },\n promoBannerText: bannerText,\n bannerMessages,\n activeIndex,\n carouselProps: {\n tag: Carousel,\n className: 'ms-promo-banner__carousel',\n activeIndex,\n next: this._next,\n previous: this._previous,\n onIndicatorsClickHandler: this._goToIndex,\n hideIndicator: hideFlipper,\n interval,\n hideFlipper,\n autoplay\n },\n closeButton: dismissEnabled && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.bannerMessages && this.props.config.bannerMessages[0]) {\n this.props.config.bannerMessages[0].text = event.target.value;\n }\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.bannerMessages && this.props.config.bannerMessages[1]) {\n const links = this.props.config.bannerMessages[1].links;\n if (links) {\n links[linkIndex].linkText = event.target.value;\n }\n }\n };\n\n private readonly _next = (): void => {\n const nextIndex = this._isLastItem() ? 0 : this.state.activeIndex + 1;\n this._goToIndex(nextIndex);\n };\n\n private readonly _previous = (): void => {\n const nextIndex = this._isFirstItem()\n ? this.props.config.bannerMessages\n ? this.props.config.bannerMessages.length - 1\n : 0\n : this.state.activeIndex - 1;\n this._goToIndex(nextIndex);\n };\n\n private readonly _goToIndex = (index: number): void => {\n if (this.state.animating) {\n return;\n }\n this.setState({ activeIndex: index });\n };\n\n private readonly _isFirstItem = () => this.state.activeIndex === 0;\n\n private readonly _isLastItem = () =>\n this.props.config.bannerMessages && this.state.activeIndex === this.props.config.bannerMessages.length - 1;\n\n private readonly _onDismiss = (): void => {\n this.setState({ isVisible: false });\n };\n}\n\nexport default PromoBanner;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IPromoBannerViewProps } from './promo-banner';\n\nconst PromoBannerView: React.FC = props => {\n const {\n promoBannerProps,\n contentProps,\n closeButton,\n bannerMessages,\n promoBannerTextProps,\n promoBannerLinksProps,\n carouselProps,\n promoBannerText,\n handleLinks,\n handleText\n } = props;\n\n const slides =\n bannerMessages &&\n bannerMessages.map((message, index) => {\n return (\n \n {promoBannerText}\n {message.text && }\n {message.links && message.links.length > 0 && (\n \n )}\n \n );\n });\n\n return (\n \n \n {closeButton}\n \n );\n};\nexport default PromoBannerView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["props","promoBannerProps","contentProps","closeButton","bannerMessages","promoBannerTextProps","promoBannerLinksProps","carouselProps","promoBannerText","handleLinks","handleText","userInfo","context","request","user","slides","map","message","index","React","Node","Object","assign","key","role","className","text","onClick","title","href","signInUrl","BsArrowRight","links","length","Module","items","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","PromoBannerCloseButton","_ref","closeButtonAriaLabel","label","telemetryContent","onClose","payLoad","getPayloadObject","TelemetryConstant","attributes","getTelemetryAttributes","PromoBannerLinks","requestContext","onTextChange","editableLinks","_mapEditableLinks","Msdyn365","editProps","linkdata","forEach","link","linkText","contentAction","etext","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","additionalProperties","onTelemetryClick","push","PromoBannerText","tag","onEdit","PromoBanner","constructor","state","animating","isVisible","activeIndex","getTelemetryObject","this","telemetryPageName","friendlyName","telemetry","handleTextChange","event","config","target","value","handleLinkTextChange","linkIndex","_next","nextIndex","_isLastItem","_goToIndex","_previous","_isFirstItem","setState","_onDismiss","render","dismissEnabled","interval","hideFlipper","autoplay","closeButtonLabel","bannerText","bannerAriaLabel","resources","error","viewProps","classnames","onDismiss","moduleProps","Carousel","next","previous","onIndicatorsClickHandler","hideIndicator","renderView","module","exports","ReactDOM"],"sourceRoot":""}