{"version":3,"file":"static/js/34.15e6d5790ac5fdb681b9.chunk.js","mappings":"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","sources":["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/map/map.tsx?6111","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/interactive-feature-item.view.tsx?bdcc","webpack://Citta2.0/./src/modules/map/map.view.tsx?5db9"],"sourcesContent":["/*!\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\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 const mapLoadOptions = {\n credentials: channel?.BingMapsApiKey,\n pushpinAccessible: true\n };\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, mapLoadOptions);\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 } as Microsoft.Maps.IMapOptions);\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 } as Microsoft.Maps.IMapOptions);\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","/*---------------------------------------------------------------------------------------------\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 { 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\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":["InteractiveFeatureCollectionLinks","React","constructor","_mapEditableLinks","linkdata","ArrayExtensions","hasElements","editableLinks","link","payLoad","getPayloadObject","this","props","telemetryContent","linkText","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","className","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","onClick","onTelemetryClick","push","render","links","Msdyn365","editProps","onTextChange","requestContext","InteractiveFeatureItem","super","_telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleHeadingChange","event","config","heading","text","target","value","handleParagraphChange","paragraph","handleLinkTextChange","linkIndex","_this$props$config$li","Number","indexItem","itemCounter","isMosaic","image","featureItemLinks","viewProps","_objectSpread","title","_createHeading","_createParagraph","_renderImage","featureItem","moduleProps","interactiveFeatureCollectionCarouselContainer","tag","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","interactiveFeatureCollectionMosaicContainer","tabindex","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","renderView","onEdit","_heading$tag","StringExtensions","isNullOrWhitespace","item","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$im","verifiedImageSettings","imageSettings","viewports","xs","q","w","h","sm","md","lg","xl","lazyload","Object","assign","gridSettings","loadFailureBehavior","key","moduleType","typeName","imagePropertyName","moduleId","id","Map","timeout","mapRef","_initMap","_data$storeSelectorSt","_data$distributorSele","actionContext","channel","data","storeSelectorStateManager","result","isMapApiLoaded","distributorSelectorStateManager","mapLoadOptions","credentials","BingMapsApiKey","pushpinAccessible","map","Microsoft","Maps","current","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","index","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","componentDidMount","_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","__decorate","observable","observer","NavIcon","TelemetryConstant","Button","toggleNavBar","mobileHamburgerAriaLabel","isExpanded","targetId","Logo","_renderLogo","href","defaultImageSettings","CommercialHeader","state","mobileMenuCollapsed","signinPopoverOpen","_toggleNavbar","bind","_stickyHeaderSetup","menuBarSlot","_getSlot","navbarKey","headerClassName","classnames","logoLink","logoImage","logo","HeaderTag","menuBar","length","navIcon","MobileMenuContainer","Modal","isOpen","wrapClassName","toggle","MobileMenuHeader","ModalHeader","MobileMenuBodyContainer","ModalBody","console","log","setState","_setHeader","slotName","slots","lockHeader","headerElem","document","querySelector","documentElement","scrollTop","classList","add","window","body","contains","remove","_updateHeader","isInMobileMenu","onscroll","_renderReactFragment","items","slot","Module","Node","MagicNumber","FeatureItemViewComponent","renderMosaic","thisProps","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","renderCarousel","MapHeader","_ref","_ref2"],"sourceRoot":""}