{"version":3,"sources":["webpack:///src/modules/interactive-feature-item/interactive-feature-item.view.tsx?d4e3","webpack:///./src/modules/citta-commercial-header/citta-commercial-header.view.tsx?ead5","webpack:///src/modules/interactive-feature-item/components/links.tsx?8ab2","webpack:///src/modules/interactive-feature-item/interactive-feature-item.tsx?340f","webpack:///src/modules/map/map.tsx?e2df","webpack:///./src/modules/citta-commercial-header/components/nav-icon.tsx?3c05","webpack:///./src/modules/citta-commercial-header/components/logo.tsx?a134","webpack:///./src/modules/citta-commercial-header/citta-commercial-header.tsx?60ec","webpack:///src/modules/map/map.view.tsx?cd35"],"names":["MagicNumber","FeatureItemViewComponent","props","isMosaic","featureItem","indexItem","itemCounter","React","renderMosaic","thisProps","title","paragraph","image","links","interactiveFeatureCollectionMosaicContainer","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","classnames","Node","Object","assign","className","Module","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","renderCarousel","_renderReactFragment","items","length","map","slot","index","key","headerView","HeaderTag","menuBar","MobileMenuContainer","MobileMenuBodyContainer","logo","navIcon","MobileMenuHeader","InteractiveFeatureCollectionLinks","constructor","_mapEditableLinks","linkdata","ArrayExtensions","hasElements","editableLinks","link","payLoad","getPayloadObject","this","telemetryContent","linkText","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","onClick","onTelemetryClick","push","render","Msdyn365","editProps","onTextChange","requestContext","InteractiveFeatureItem","super","_telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleHeadingChange","event","config","heading","text","target","value","handleParagraphChange","handleLinkTextChange","linkIndex","_this$props$config$li","Number","featureItemLinks","viewProps","_objectSpread","_createHeading","_createParagraph","_renderImage","moduleProps","tag","tabindex","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","gridSettings","loadFailureBehavior","moduleType","typeName","imagePropertyName","moduleId","id","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","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","headerClassName","logoLink","logoImage","Modal","isOpen","wrapClassName","toggle","ModalHeader","ModalBody","console","log","setState","_setHeader","slotName","slots","lockHeader","headerElem","document","querySelector","documentElement","scrollTop","classList","add","window","body","contains","remove","_updateHeader","isInMobileMenu","onscroll","MapHeader","_ref","MapView","_ref2"],"mappings":"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","file":"static/js/33.b55b4849d64f62ff4896.chunk.js","sourcesContent":["/*!\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","/*!\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\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","/*---------------------------------------------------------------------------------------------\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","/*!\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"],"sourceRoot":""}