{"version":3,"file":"static/js/33.237ad5c5b07f8c629ff6.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-commercial-header/components/nav-icon.tsx?8ec6","webpack://Citta2.0/./src/modules/citta-commercial-header/components/logo.tsx?2625","webpack://Citta2.0/./src/modules/citta-commercial-header/citta-commercial-header.tsx?6007","webpack://Citta2.0/./src/modules/citta-commercial-header/citta-commercial-header.view.tsx?42e4","webpack://Citta2.0/./src/modules/interactive-feature-item/components/links.tsx?7423","webpack://Citta2.0/./src/modules/interactive-feature-item/interactive-feature-item.tsx?792c","webpack://Citta2.0/./src/modules/interactive-feature-item/interactive-feature-item.view.tsx?bdcc","webpack://Citta2.0/./src/modules/map/map.tsx?6111","webpack://Citta2.0/./src/modules/map/map.view.tsx?5db9"],"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\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nexport interface INavIconProps {\r\n mobileHamburgerAriaLabel: string;\r\n isExpanded: boolean;\r\n targetId: string;\r\n telemetryContent?: ITelemetryContent;\r\n toggleNavBar(): void;\r\n}\r\n\r\n/**\r\n *\r\n * NavIcon component\r\n * @extends {React.PureComponent}\r\n */\r\n\r\n@observer\r\nexport class NavIcon extends React.Component {\r\n\r\n private attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: INavIconProps) {\r\n super(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.NavIcon);\r\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n\r\n public render():JSX.Element {\r\n return (\r\n \r\n );\r\n }\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// import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport interface ILogoProps {\r\n image: Msdyn365.IImageData;\r\n gridSettings?: Msdyn365.IGridSettings;\r\n link?: any;\r\n className?: string;\r\n requestContext: Msdyn365.IRequestContext;\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Logo component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Logo extends React.PureComponent {\r\n\r\n // private attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: ILogoProps) {\r\n super(props);\r\n // const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.Logo);\r\n // this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n public render():JSX.Element {\r\n return(\r\n
\r\n {this._renderLogo(this.props)}\r\n
\r\n );\r\n }\r\n\r\n private _renderLogo(config: ILogoProps):JSX.Element {\r\n if(config.link && config.link.linkUrl) {\r\n return(\r\n \r\n {this._renderImage(config)}\r\n \r\n );\r\n }\r\n return(\r\n this._renderImage(config)\r\n );\r\n }\r\n\r\n private _renderImage(config: ILogoProps): JSX.Element {\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=132&h=28&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=160&h=48&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Logo;","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n IModuleProps, \r\n INodeProps,\r\n Modal,\r\n ModalBody, \r\n ModalHeader\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaCommercialHeaderData } from './citta-commercial-header.data';\r\nimport { ICittaCommercialHeaderProps } from './citta-commercial-header.props.autogenerated';\r\n\r\nimport { NavIcon, Logo } from './components';\r\n\r\nexport interface IHeaderState {\r\n mobileMenuCollapsed: boolean;\r\n signinPopoverOpen: boolean;\r\n}\r\n\r\nexport interface IHeaderViewProps extends ICittaCommercialHeaderProps {\r\n HeaderTag: IModuleProps;\r\n loginLink?: React.ReactNode;\r\n menuBar?: React.ReactNode[];\r\n navIcon: React.ReactNode;\r\n MobileMenuContainer: INodeProps;\r\n MobileMenuHeader: React.ReactNode;\r\n MobileMenuBodyContainer: INodeProps;\r\n logo: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Header component.\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass CommercialHeader extends React.PureComponent, IHeaderState> {\r\n constructor(props: ICittaCommercialHeaderProps) {\r\n super(props);\r\n this.state = {\r\n mobileMenuCollapsed: true,\r\n signinPopoverOpen: false\r\n };\r\n\r\n this._toggleNavbar = this._toggleNavbar.bind(this);\r\n }\r\n \r\n public componentDidMount(): void {\r\n this._stickyHeaderSetup();\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\r\n const menuBarSlot = this._getSlot('menuBar');\r\n const navbarKey = 'header-nav-mobile';\r\n const headerClassName = classnames('commercial-header', this.props.config.className);\r\n \r\n const {logoLink, logoImage } = this.props.config;\r\n\r\n const viewProps: IHeaderViewProps = {\r\n ...(this.props as ICittaCommercialHeaderProps),\r\n ...(this.state),\r\n logo: ,\r\n\r\n HeaderTag: {\r\n moduleProps: this.props,\r\n className: classnames(headerClassName),\r\n tag: 'header'\r\n },\r\n menuBar: menuBarSlot && menuBarSlot.length && menuBarSlot || [],\r\n navIcon: ,\r\n // loginLink: this._getLoginLink(loginLink, loginLinkText),\r\n MobileMenuContainer: {\r\n tag: Modal,\r\n id: navbarKey,\r\n className: 'ms-header__mobile-hamburger',\r\n isOpen: !this.state.mobileMenuCollapsed,\r\n wrapClassName: `ms-header__citta-modal citta-header-mobile ${!this.state.mobileMenuCollapsed ? 'modal-open' : ''}`,\r\n toggle: this._toggleNavbar\r\n },\r\n MobileMenuHeader: (\r\n \r\n ),\r\n MobileMenuBodyContainer: {\r\n tag: ModalBody,\r\n className: 'ms-header__mobile-hamburger-menu-body',\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _toggleNavbar(): void {\r\n console.log('set state', !this.state.mobileMenuCollapsed)\r\n this.setState({\r\n mobileMenuCollapsed: !this.state.mobileMenuCollapsed\r\n });\r\n this.state.mobileMenuCollapsed && this._setHeader(this.state.mobileMenuCollapsed);\r\n }\r\n\r\n private _getSlot(slotName: string): React.ReactNode[] | null {\r\n const { slots } = this.props;\r\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\r\n }\r\n\r\n private _setHeader(lockHeader?: boolean): void {\r\n const headerElem = document.querySelector('.commercial-header');\r\n if (headerElem) {\r\n if (lockHeader || document.documentElement.scrollTop > 0) {\r\n headerElem.classList.add('lock-opaque');\r\n } else if (!window.document.body.classList.contains('search-open')) { \r\n headerElem.classList.remove('lock-opaque');\r\n }\r\n }\r\n }\r\n\r\n private _updateHeader(isInMobileMenu?: boolean): void {\r\n this._setHeader();\r\n }\r\n \r\n private _stickyHeaderSetup(): void {\r\n window.onscroll = () => {\r\n this._updateHeader();\r\n };\r\n this._updateHeader();\r\n }\r\n}\r\n\r\nexport default CommercialHeader;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from './citta-commercial-header';\r\n\r\nconst headerView: React.FC = props => {\r\n const {\r\n HeaderTag,\r\n menuBar,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n logo\r\n } = props;\r\n return (\r\n \r\n {props.navIcon}\r\n {_renderReactFragment(menuBar!)}\r\n {logo}\r\n \r\n \r\n { props.MobileMenuHeader }\r\n {_renderReactFragment(menuBar!)}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n }\n\n /**\n * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-interactive-feature-collection__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n }\n\n return editableLinks;\n };\n}\nexport default InteractiveFeatureCollectionLinks;\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 { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem extends React.PureComponent {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IMapData } from './map.data';\nimport { IMapProps, IPushpinOptionsData } from './map.props.autogenerated';\n\n/**\n * Header Interface.\n */\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n}\n\n/**\n * MapViewProps Interface.\n */\nexport interface IMapViewProps extends IMapProps {\n ModuleProps: IModuleProps;\n Header: IHeader;\n MapProps: INodeProps;\n Map: Microsoft.Maps.Map | undefined;\n}\n\n/**\n *\n * Map component.\n * @extends {React.Component>}\n */\n@observer\nclass Map extends React.Component> {\n @observable public map: Microsoft.Maps.Map | undefined;\n private timeout: number = 500;\n\n private readonly mapRef: React.RefObject = React.createRef();\n\n public constructor(props: IMapProps) {\n super(props);\n }\n\n public componentDidMount(): void {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n }\n } = this.props;\n\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const loadMapAPIInput = {\n key: channel?.BingMapsApiKey,\n lang: this.props.context.actionContext.requestContext.locale,\n market: this.props.context?.actionContext?.requestContext?.channel?.ChannelCountryRegionISOCode\n };\n\n if (\n this.props.data.storeSelectorStateManager?.result?.isMapApiLoaded ||\n this.props.data.distributorSelectorStateManager?.result?.isMapApiLoaded\n ) {\n this._initMap();\n if (this.props.data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen) {\n this._updateMapsForDistributor();\n } else {\n this._updateMap();\n }\n }\n\n when(\n () => !!this.props.data.storeSelectorStateManager?.result?.setMapModuleLoaded,\n () => {\n this.props.data.storeSelectorStateManager?.result?.setMapModuleLoaded(true);\n }\n );\n\n when(\n () => !!this.props.data.distributorSelectorStateManager?.result?.setMapModuleLoaded,\n () => {\n this.props.data.distributorSelectorStateManager?.result?.setMapModuleLoaded(true);\n }\n );\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager?.result?.loadMapApi ||\n this.props.data.distributorSelectorStateManager?.result?.loadMapApi,\n () => {\n if (this.props.data.distributorSelectorStateManager?.result?.loadMapApi) {\n this.props.data.distributorSelectorStateManager?.result?.loadMapApi(loadMapAPIInput);\n } else {\n this.props.data.storeSelectorStateManager?.result?.loadMapApi(loadMapAPIInput);\n }\n }\n );\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager?.result?.isMapApiLoaded ||\n this.props.data.distributorSelectorStateManager?.result?.isMapApiLoaded,\n () => {\n this._initMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\n this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\n this.map\n ];\n },\n () => {\n this._updateMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.distributorSelectorStateManager?.result?.distributorList,\n this.props.data.distributorSelectorStateManager?.result?.selectedDistributorId,\n this.map\n ];\n },\n () => {\n this._updateMapsForDistributor();\n }\n );\n }\n\n public render(): JSX.Element | null {\n const {\n config: { heading, className },\n data\n } = this.props;\n\n const shouldDisplayMap = data.storeSelectorStateManager?.result?.isDialogOpen\n ? data.storeSelectorStateManager?.result?.listMapViewState.displayMap\n : data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen\n ? data.distributorSelectorStateManager?.result?.listMapViewState.displayMap\n : false;\n\n const viewProps: IMapViewProps = {\n ...this.props,\n ModuleProps: {\n tag: 'div',\n moduleProps: this.props,\n className: classname('ms-map', { show: shouldDisplayMap }, className)\n },\n Header: {\n headerProps: { className: 'ms-map__header' },\n heading: heading?.text && (\n \n )\n },\n MapProps: {\n tag: 'div',\n className: 'ms-map__body',\n ref: this.mapRef\n },\n Map: this.map\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Method to be called on heading change.\n * @param event -Content Edit Event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Initialize the map.\n */\n private readonly _initMap = () => {\n const {\n context: {\n actionContext: {\n requestContext: { channel }\n }\n },\n data\n } = this.props;\n\n if (data.storeSelectorStateManager?.result?.isMapApiLoaded || data.distributorSelectorStateManager?.result?.isMapApiLoaded) {\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, {\n credentials: channel?.BingMapsApiKey,\n pushpinAccessible: true\n });\n Microsoft.Maps.Events.addHandler(this.map, 'click', async () => {\n if (data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen) {\n // Hide the distributor details that appear below the screen size of 768px.\n data.distributorSelectorStateManager?.result?.updateDistributorMapVisibility(false);\n await data.distributorSelectorStateManager?.result?.setSelectedDistributorId(undefined);\n } else {\n await data.storeSelectorStateManager?.result?.setSelectedStoreLocationId(undefined);\n }\n });\n }\n };\n\n private readonly _updateMapsForDistributor = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const distributorSelectorStateManager = this.props.data.distributorSelectorStateManager?.result;\n const distributorInfoList = distributorSelectorStateManager?.distributorList;\n const selectedDistributorId = distributorSelectorStateManager?.selectedDistributorId;\n\n if (this.map && ArrayExtensions.hasElements(distributorInfoList)) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const distributorList = distributorInfoList.filter(distributor => distributor.OrgUnit !== undefined);\n\n for (const [index, distributorInfo] of distributorList.entries()) {\n const orgUnit = distributorInfo.OrgUnit;\n\n if (orgUnit?.Latitude && orgUnit.Longitude) {\n const isLocationSelected = selectedDistributorId === orgUnit?.RecordId;\n const options = this._getPushpinOptions(isLocationSelected, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(orgUnit?.Latitude, orgUnit.Longitude), options);\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleDistributorPushpinClick(orgUnit.RecordId);\n });\n isLocationSelected ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isLocationSelected) {\n mapLocation = orgUnit;\n }\n }\n }\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect?.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Update the map.\n */\n private readonly _updateMap = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\n const orgUnitStoreInformation = storeSelectorStateManager?.context?.orgUnitStoreInformation;\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\n\n if (this.map && orgUnitStoreInformation) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const storeLocationList = orgUnitStoreInformation.filter(store => store.OrgUnitAvailability !== undefined);\n\n for (const [index, unitStoreInfo] of storeLocationList.entries()) {\n const storeLocation = unitStoreInfo.OrgUnitAvailability?.OrgUnitLocation;\n\n if (storeLocation?.Latitude && storeLocation.Longitude) {\n const isSelectedLocation = selectedStoreLocationId === storeLocation.OrgUnitNumber;\n const options = this._getPushpinOptions(isSelectedLocation, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(\n new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude),\n options\n );\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleClickEvent(storeLocation.OrgUnitNumber);\n });\n isSelectedLocation ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isSelectedLocation) {\n mapLocation = storeLocation;\n }\n }\n }\n\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n // Create a LocationRect from array of pushpins and set the map view.\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect?.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Handle click event.\n * @param orgUnitNumber - Organization unit number.\n */\n private readonly handleClickEvent = (orgUnitNumber: string | undefined): void => {\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager.result;\n storeSelectorStateManager?.setSelectedStoreLocationId(undefined);\n if (orgUnitNumber) {\n setTimeout(() => {\n storeSelectorStateManager?.setSelectedStoreLocationId(orgUnitNumber);\n }, this.timeout);\n }\n };\n\n /**\n * Handle the click event of the pushpin for distributors on the maps.\n * @param recordId - RecordId.\n */\n private readonly handleDistributorPushpinClick = (recordId: number | undefined): void => {\n const distributorSelectorStateManager = this.props.data.distributorSelectorStateManager?.result;\n // Show the distributor details that appear below the screen size of 768px.\n distributorSelectorStateManager?.updateDistributorMapVisibility(true);\n distributorSelectorStateManager?.setSelectedDistributorId(undefined);\n if (recordId) {\n setTimeout(() => {\n distributorSelectorStateManager?.setSelectedDistributorId(recordId);\n }, this.timeout);\n }\n };\n\n /**\n * Get the pushpin option.\n * @param isSelectedLocation - Is selected location.\n * @param index - Index.\n * @param pushpinOptions - PushpinOptions.\n * @returns - The pushpin options.\n */\n private readonly _getPushpinOptions = (isSelectedLocation: boolean, index: number, pushpinOptions?: IPushpinOptionsData) => {\n const text = pushpinOptions?.showIndex ? (index + 1).toString() : undefined;\n\n const size = pushpinOptions?.size || 1;\n const color = isSelectedLocation ? pushpinOptions?.selectionColor || pushpinOptions?.color : pushpinOptions?.color;\n const icon = this._getSvgIcon(size, color, text);\n\n return {\n // Fallback if icon doesn't render properly\n color: isSelectedLocation ? pushpinOptions?.selectionColor : pushpinOptions?.color,\n icon\n };\n };\n\n private readonly _getSvgIcon = (size: number, color?: string, text?: string) => {\n const baseValue: number = 32;\n return `\n \n ${text ? `${text}` : ''}\n `;\n };\n}\n\nexport default Map;\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 { IHeader, IMapViewProps } from './map';\n\n/**\n * Render the heading.\n * @param param0 -- Heading props.\n * @param param0.headerProps -- Heading Props.\n * @param param0.heading -- Heading Node.\n * @returns -- Returns the node.\n */\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\n\n/**\n * Renders the map view props.\n * @param param0 -- Map view props.\n * @param param0.ModuleProps -- Module props.\n * @param param0.Header -- Header props.\n * @param param0.MapProps -- Map props.\n * @returns -- Returns the map module.\n */\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\n \n {Header && }\n \n \n);\n\nexport default MapView;\n"],"names":["NavIcon","React","constructor","props","super","payLoad","getPayloadObject","telemetryContent","TelemetryConstant","this","attributes","getTelemetryAttributes","render","Button","Object","assign","className","onClick","toggleNavBar","title","mobileHamburgerAriaLabel","isExpanded","targetId","__decorate","observer","Logo","_renderLogo","config","link","linkUrl","href","_renderImage","defaultImageSettings","viewports","xs","q","w","h","lg","lazyload","Msdyn365","image","gridSettings","imageSettings","loadFailureBehavior","editProps","key","requestContext","CommercialHeader","state","mobileMenuCollapsed","signinPopoverOpen","_toggleNavbar","bind","componentDidMount","_stickyHeaderSetup","menuBarSlot","_getSlot","navbarKey","headerClassName","classnames","logoLink","logoImage","viewProps","_objectSpread","logo","context","request","HeaderTag","moduleProps","tag","menuBar","length","navIcon","MobileMenuContainer","Modal","id","isOpen","wrapClassName","toggle","MobileMenuHeader","ModalHeader","MobileMenuBodyContainer","ModalBody","renderView","console","log","setState","_setHeader","slotName","slots","lockHeader","headerElem","document","querySelector","documentElement","scrollTop","classList","add","window","body","contains","remove","_updateHeader","isInMobileMenu","onscroll","_renderReactFragment","items","map","slot","index","Module","Node","InteractiveFeatureCollectionLinks","_mapEditableLinks","linkdata","ArrayExtensions","hasElements","editableLinks","linkText","contentAction","etext","editableLink","ariaLabel","destinationUrl","openInNewTab","role","additionalProperties","onTelemetryClick","push","links","onTextChange","InteractiveFeatureItem","_telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleHeadingChange","event","heading","text","target","value","handleParagraphChange","paragraph","handleLinkTextChange","linkIndex","_this$props$config$li","Number","indexItem","itemCounter","isMosaic","featureItemLinks","_createHeading","_createParagraph","featureItem","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","interactiveFeatureCollectionMosaicContainer","tabindex","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","onEdit","_heading$tag","StringExtensions","isNullOrWhitespace","item","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$im","verifiedImageSettings","sm","md","xl","moduleType","typeName","imagePropertyName","moduleId","MagicNumber","FeatureItemViewComponent","renderMosaic","thisProps","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","renderCarousel","Map","timeout","mapRef","_initMap","_data$storeSelectorSt","_data$distributorSele","actionContext","channel","data","storeSelectorStateManager","result","isMapApiLoaded","distributorSelectorStateManager","Microsoft","Maps","current","credentials","BingMapsApiKey","pushpinAccessible","Events","addHandler","async","_data$distributorSele2","_data$distributorSele3","_data$distributorSele4","_data$storeSelectorSt2","isDistributorSelectorDialogOpen","updateDistributorMapVisibility","setSelectedDistributorId","undefined","setSelectedStoreLocationId","_updateMapsForDistributor","_this$props$data$dist","pushpinOptions","distributorInfoList","distributorList","selectedDistributorId","mapLocation","entities","clear","pushpins","filter","distributor","OrgUnit","distributorInfo","entries","orgUnit","Latitude","Longitude","isLocationSelected","RecordId","options","_getPushpinOptions","pushpin","Pushpin","Location","handleDistributorPushpinClick","unshift","currentLocation","setView","center","_Microsoft$Maps$Locat","bounds","LocationRect","fromShapes","setOptions","_updateMap","_this$props$data$stor","_storeSelectorStateMa","orgUnitStoreInformation","selectedStoreLocationId","storeLocationList","store","OrgUnitAvailability","unitStoreInfo","_unitStoreInfo$OrgUni","storeLocation","OrgUnitLocation","isSelectedLocation","OrgUnitNumber","handleClickEvent","_Microsoft$Maps$Locat2","orgUnitNumber","setTimeout","recordId","_this$props$data$dist2","showIndex","toString","size","color","selectionColor","icon","_getSvgIcon","_this$props$context","_this$props$data$stor2","_this$props$data$dist3","error","BingMapsEnabled","loadMapAPIInput","lang","locale","market","ChannelCountryRegionISOCode","_this$props$data$dist4","when","_this$props$data$stor3","setMapModuleLoaded","_this$props$data$stor4","_this$props$data$dist5","_this$props$data$dist6","reaction","_this$props$data$stor5","_this$props$data$dist7","loadMapApi","_this$props$data$dist8","_this$props$data$dist9","_this$props$data$stor6","_this$props$data$stor7","_this$props$data$dist10","_this$props$data$stor8","_this$props$data$stor9","_this$props$data$dist11","_this$props$data$dist12","_data$storeSelectorSt3","_data$storeSelectorSt4","_data$distributorSele5","_data$distributorSele6","shouldDisplayMap","isDialogOpen","listMapViewState","displayMap","ModuleProps","classname","show","Header","headerProps","MapProps","ref","observable","MapHeader","_ref","_ref2"],"sourceRoot":""}