{"version":3,"file":"static/js/6.1c5f67f87e568666c109.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/map-custom/map-custom.tsx?7be2","webpack://Msdyn365.Commerce.Online/./src/modules/map-custom/map-custom.view.tsx?fdae","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-generic-tile.view.tsx?19d2","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/checkout-delivery-options.view.tsx?3e8c","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/iframe.view.tsx?059a","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-details.view.tsx?d810","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-template-list.view.tsx?f44e","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/product-specification.view.tsx?ddc2","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/store-selector.view.tsx?4246","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.tsx?0983","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/b2b-requests-status.view.tsx?de3b","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/footer-item.view.tsx?15be","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/sign-in.view.tsx?048a"],"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\n\r\n// tslint:disable:no-reference\r\n/// \r\n\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport classname from 'classnames';\r\nimport { reaction, when } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IStoreInfo } from '@msdyn365-commerce-modules/bopis-utilities';\r\n\r\nimport { IMapCustomData } from './map-custom.data';\r\nimport { IFullOrgUnitAvailability } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { IMapCustomProps, IMapCustomResources, IPushpinOptionsData } from './map-custom.props.autogenerated';\r\n\r\n/**\r\n * Header Interface.\r\n */\r\nexport interface IHeader {\r\n headerProps: INodeProps;\r\n heading: React.ReactNode;\r\n}\r\n/**\r\n * MapViewProps Interface.\r\n */\r\nexport interface IMapViewProps extends IMapCustomProps {\r\n ModuleProps: IModuleProps;\r\n Header: IHeader;\r\n MapProps: INodeProps;\r\n Map: Microsoft.Maps.Map | undefined;\r\n}\r\n\r\nenum StoreType {\r\n VenchiStore,\r\n Retailer\r\n}\r\n\r\ninterface PushpinData {\r\n pushpin: Microsoft.Maps.Pushpin;\r\n storeType: StoreType;\r\n index: number;\r\n}\r\n\r\n/**\r\n *\r\n * Map component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass Map extends React.PureComponent> {\r\n private map: Microsoft.Maps.Map | undefined;\r\n private clusterLayer: Microsoft.Maps.ClusterLayer | undefined;\r\n private pushpinMap: globalThis.Map = new globalThis.Map();\r\n private selectedPushPin: PushpinData | undefined = undefined;\r\n private clusterClickHandler: Microsoft.Maps.IHandlerId | undefined = undefined;\r\n private cachedLastInlineShownStoreInfo: IStoreInfo | undefined;\r\n private cachedOrgUnitFoundCount: number = 0;\r\n //TODO finire sviluppo\r\n // public previousPositionUser = undefined;\r\n\r\n private readonly mapRef: React.RefObject = React.createRef();\r\n\r\n public constructor(props: IMapCustomProps) {\r\n super(props);\r\n }\r\n\r\n public componentDidMount(): void {\r\n const {\r\n context: {\r\n telemetry,\r\n actionContext: {\r\n requestContext: { channel }\r\n }\r\n }\r\n } = this.props;\r\n\r\n if (channel && !channel.BingMapsApiKey) {\r\n telemetry.error('BingMapsApiKey is missing.');\r\n return;\r\n }\r\n\r\n if (channel && !channel.BingMapsEnabled) {\r\n telemetry.error('Map is disabled from HQ.');\r\n return;\r\n }\r\n\r\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\r\n this._initMap();\r\n this._updateMapForOrgUnitChanges();\r\n }\r\n\r\n when(\r\n () => !!this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded,\r\n () => {\r\n this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded(true);\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.loadMapApi,\r\n () => {\r\n this.props.data.storeSelectorStateManager.result?.loadMapApi({\r\n key: channel?.BingMapsApiKey,\r\n lang: this.props.context.actionContext.requestContext.locale,\r\n market: this.props.context?.actionContext?.requestContext?.channel?.ChannelCountryRegionISOCode\r\n });\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\r\n () => {\r\n this._initMap();\r\n }\r\n );\r\n\r\n // reaction(\r\n // () => {\r\n // return [\r\n // this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\r\n // this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\r\n // this.map\r\n // ];\r\n // },\r\n // () => {\r\n // this._updateMap();\r\n // }\r\n // );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\r\n () => {\r\n this._updateMapForOrgUnitChanges();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\r\n () => {\r\n this._updateMapForSelectedStore();\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n config: { heading, className },\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n }\r\n } = this.props;\r\n\r\n const shouldDisplayMap = storeSelectorStateManager?.listMapViewState.displayMap;\r\n\r\n const viewProps: IMapViewProps = {\r\n ...this.props,\r\n ModuleProps: {\r\n tag: 'div',\r\n moduleProps: this.props,\r\n className: classname('ms-map', { show: shouldDisplayMap }, className)\r\n },\r\n Header: {\r\n headerProps: { className: 'ms-map__header' },\r\n heading: heading?.text && (\r\n \r\n )\r\n },\r\n MapProps: {\r\n tag: 'div',\r\n className: 'ms-map__body',\r\n ref: this.mapRef\r\n },\r\n Map: this.map\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Method to be called on heading change.\r\n * @param event -Content Edit Event.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\r\n this.props.config.heading!.text = event.target.value;\r\n };\r\n\r\n /**\r\n * Initialize the map.\r\n */\r\n private readonly _initMap = () => {\r\n const {\r\n context: {\r\n actionContext: {\r\n requestContext: { channel }\r\n }\r\n },\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n }\r\n } = this.props;\r\n if (storeSelectorStateManager?.isMapApiLoaded && !this.map) {\r\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, {\r\n credentials: channel?.BingMapsApiKey,\r\n pushpinAccessible: true,\r\n labelOverlay: Microsoft.Maps.LabelOverlay.hidden,\r\n showMapTypeSelector: false,\r\n showLocateMeButton: true,\r\n showTrafficButton: false,\r\n navigationBarMode: 3 as Microsoft.Maps.NavigationBarMode,\r\n enableInertia: true,\r\n customMapStyle: {\r\n elements: {\r\n countryRegion: { labelVisible: false }\r\n },\r\n version: '1.0'\r\n }\r\n });\r\n //TODO restore this pls cause i'll cry if not\r\n // Microsoft.Maps.Events.addHandler(this.map, 'click', async () => {\r\n // await storeSelectorStateManager.setSelectedStoreLocationId(undefined);\r\n // });\r\n }\r\n };\r\n\r\n private checkSameLocation(input: IStoreInfo, secondInput: IStoreInfo) {\r\n return input.Latitude === secondInput.Latitude && input.Longitude === secondInput.Longitude;\r\n }\r\n\r\n /**\r\n * Update the map.\r\n */\r\n private readonly _updateMapForOrgUnitChanges = () => {\r\n const pushpinOptions = this.props.config.pushpinOptions;\r\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\r\n const orgUnitStoreInformation = storeSelectorStateManager?.context?.orgUnitStoreInformation;\r\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\r\n const positionUser = storeSelectorStateManager?.lastInlineShownStoreInfo;\r\n var positionUserChanged: boolean = false;\r\n var firstOrgUnitsRender: boolean = false;\r\n if (positionUser) {\r\n if (\r\n this.cachedLastInlineShownStoreInfo === undefined ||\r\n !this.checkSameLocation(positionUser, this.cachedLastInlineShownStoreInfo)\r\n ) {\r\n this.cachedLastInlineShownStoreInfo = positionUser;\r\n positionUserChanged = true;\r\n }\r\n }\r\n if (this.map && orgUnitStoreInformation) {\r\n this.pushpinMap = new globalThis.Map();\r\n //TODO RESTORE\r\n var currentLayer: Microsoft.Maps.Layer = this.map?.layers[0];\r\n if (currentLayer) {\r\n currentLayer.clear();\r\n }\r\n // if (this.clusterClickHandler) {\r\n // Microsoft.Maps.Events.removeHandler(this.clusterClickHandler);\r\n // }\r\n this.map.layers.clear();\r\n this.selectedPushPin = undefined;\r\n\r\n const storeLocationList = orgUnitStoreInformation.filter(store => store.OrgUnitAvailability !== undefined);\r\n if (this.cachedOrgUnitFoundCount === 0 && storeLocationList.length > 0) {\r\n this.cachedOrgUnitFoundCount = storeLocationList.length;\r\n firstOrgUnitsRender = true;\r\n }\r\n const firstThreeLocations = storeLocationList\r\n .slice(0, 3)\r\n .reduce((acc: Microsoft.Maps.Location[], org: IFullOrgUnitAvailability) => {\r\n const storeLocation = org.OrgUnitAvailability?.OrgUnitLocation;\r\n if (storeLocation && storeLocation.Latitude && storeLocation.Longitude) {\r\n acc.push(new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude));\r\n }\r\n return acc;\r\n }, []);\r\n\r\n for (const [index, unitStoreInfo] of storeLocationList.entries()) {\r\n const storeLocation = unitStoreInfo.OrgUnitAvailability?.OrgUnitLocation;\r\n if (storeLocation?.Latitude && storeLocation.Longitude && storeLocation.OrgUnitNumber) {\r\n const isSelectedLocation = selectedStoreLocationId === storeLocation.OrgUnitNumber;\r\n const storeType =\r\n storeLocation.OrgUnitName && storeLocation.OrgUnitName.startsWith('R ')\r\n ? StoreType.Retailer\r\n : StoreType.VenchiStore;\r\n const options = this._getPushpinOptions(\r\n isSelectedLocation,\r\n index,\r\n storeType,\r\n pushpinOptions,\r\n storeLocation,\r\n this.props.resources\r\n );\r\n\r\n const pushpin = new Microsoft.Maps.Pushpin(\r\n new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude),\r\n options\r\n );\r\n\r\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\r\n this.handleClickEventOnPushPinStore(storeLocation.OrgUnitNumber);\r\n });\r\n\r\n this.pushpinMap.set(storeLocation.OrgUnitNumber, { pushpin: pushpin, storeType: storeType, index: index });\r\n\r\n if (isSelectedLocation) {\r\n this.selectedPushPin = { pushpin: pushpin, storeType: storeType, index: index };\r\n }\r\n }\r\n }\r\n\r\n if (positionUserChanged || firstOrgUnitsRender) {\r\n if (positionUser?.Latitude && positionUser.Longitude) {\r\n const currentLocation = new Microsoft.Maps.Location(positionUser.Latitude, positionUser.Longitude);\r\n if (firstThreeLocations) {\r\n const boundLocations = [currentLocation, ...firstThreeLocations];\r\n this.map.setView({\r\n bounds: Microsoft.Maps.LocationRect.fromLocations(boundLocations),\r\n padding: 100\r\n });\r\n }\r\n } else if (this.selectedPushPin) {\r\n const pushpinObject = this.selectedPushPin.pushpin;\r\n\r\n if (this.map.getZoom() >= 13) {\r\n this.map.setView({ center: pushpinObject.getLocation() });\r\n } else {\r\n this.map.setView({ center: pushpinObject.getLocation(), zoom: 14 });\r\n }\r\n } else {\r\n this.map.setView({\r\n bounds: Microsoft.Maps.LocationRect.fromShapes(\r\n Array.from(this.pushpinMap.values()).map(pushpinData => pushpinData.pushpin)\r\n )\r\n });\r\n }\r\n }\r\n\r\n Microsoft.Maps.loadModule('Microsoft.Maps.Clustering', () => {\r\n // Check if there are any pushpins to cluster\r\n if (this.map) {\r\n if (this.clusterLayer) {\r\n this.clusterLayer.clear();\r\n if (this.clusterClickHandler) {\r\n Microsoft.Maps.Events.removeHandler(this.clusterClickHandler);\r\n }\r\n }\r\n if (this.pushpinMap.size > 0) {\r\n // Convert pushpinMap values to an array of pushpins\r\n const pushpins = Array.from(this.pushpinMap.values()).map(pushpinData => pushpinData.pushpin);\r\n\r\n // Create a ClusterLayer with the pushpins\r\n this.clusterLayer = new Microsoft.Maps.ClusterLayer(pushpins, {\r\n clusteredPinCallback: this.customizeClusteredPin,\r\n gridSize: 92,\r\n clusteringEnabled: true\r\n });\r\n // Set options\r\n this.map.setOptions({ pushpinAccessible: true });\r\n\r\n // Add event handler for cluster click\r\n this.clusterClickHandler = Microsoft.Maps.Events.addHandler(this.clusterLayer, 'click', this.clusterClicked);\r\n\r\n // Insert the cluster layer into the map layers\r\n //@ts-ignore\r\n this.map.layers.insert(this.clusterLayer);\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n private readonly _updateMapForSelectedStore = () => {\r\n const pushpinOptions = this.props.config.pushpinOptions;\r\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\r\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\r\n\r\n if (this.map) {\r\n if (this.selectedPushPin) {\r\n this.selectedPushPin.pushpin.setOptions(\r\n this._getPushpinColorAndIcon(false, this.selectedPushPin.storeType, pushpinOptions)\r\n );\r\n }\r\n if (selectedStoreLocationId) {\r\n // eslint-disable-next-line security/detect-object-injection\r\n const currentPushpin = this.pushpinMap.get(selectedStoreLocationId);\r\n if (currentPushpin) {\r\n const pushpinObject = currentPushpin.pushpin;\r\n pushpinObject.setOptions(this._getPushpinColorAndIcon(true, currentPushpin.storeType, pushpinOptions));\r\n this.selectedPushPin = currentPushpin;\r\n const mapLayer: Microsoft.Maps.Layer = this.map?.layers[0];\r\n if (mapLayer) {\r\n const containedPushpins: (Microsoft.Maps.ClusterPushpin | Microsoft.Maps.Pushpin)[] = mapLayer.getPrimitives() as (\r\n | Microsoft.Maps.ClusterPushpin\r\n | Microsoft.Maps.Pushpin\r\n )[];\r\n const mapBounds: Microsoft.Maps.LocationRect = this.map.getBounds();\r\n if (!containedPushpins.includes(pushpinObject)) {\r\n if (mapBounds && mapBounds.contains(pushpinObject.getLocation())) {\r\n const currentZoom = this.map.getZoom();\r\n const maxZoom = this.map.getZoomRange().max;\r\n if (currentZoom < maxZoom) {\r\n const nextZoom = currentZoom <= 13 ? 14 : currentZoom + 1;\r\n this.map.setView({ center: pushpinObject.getLocation(), zoom: nextZoom });\r\n }\r\n } else {\r\n if (this.map.getZoom() >= 13) {\r\n this.map.setView({ center: pushpinObject.getLocation() });\r\n } else {\r\n this.map.setView({ center: pushpinObject.getLocation(), zoom: 14 });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // private selectFirstWithinDisplayed(){\r\n // if (this.map && this.clusterLayer) {\r\n // const currentlyDisplayedPushPinsthis = this.clusterLayer.getDisplayedPushpins();\r\n // if (currentlyDisplayedPushPinsthis) {\r\n // const first =\r\n // }\r\n // }\r\n // }\r\n\r\n private customizeClusteredPin = (cluster: Microsoft.Maps.ClusterPushpin) => {\r\n Microsoft.Maps.Events.addHandler(cluster, 'click', this.clusterClicked);\r\n };\r\n\r\n private clusterClicked = (e: any) => {\r\n if (this.map && e.target) {\r\n //Check to see if the clicked pushpin has any contained pushpins (this would be a cluster).\r\n if (e.target.containedPushpins) {\r\n var locs = [];\r\n for (var i = 0, len = e.target.containedPushpins.length; i < len; i++) {\r\n //Get the location of each pushpin.\r\n // eslint-disable-next-line security/detect-object-injection\r\n locs.push(e.target.containedPushpins[i].getLocation());\r\n }\r\n\r\n //Create a bounding box for the pushpins.\r\n var bounds = Microsoft.Maps.LocationRect.fromLocations(locs);\r\n\r\n //Zoom into the bounding box of the cluster.\r\n //Add a padding to compensate for the pixel area of the pushpins.\r\n this.map.setView({ bounds: bounds, padding: 100 });\r\n }\r\n }\r\n };\r\n\r\n //TODO RESTORE\r\n /**\r\n * Handle click event.\r\n * @param orgUnitNumber - Organization unit number.\r\n */\r\n private readonly handleClickEventOnPushPinStore = (orgUnitNumber: string | undefined): void => {\r\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager.result;\r\n if (orgUnitNumber) {\r\n //setTimeout(() => {\r\n storeSelectorStateManager?.setSelectedStoreLocationId(orgUnitNumber);\r\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- Time out.\r\n //}, 500);\r\n }\r\n };\r\n\r\n /**\r\n * Get the pushpin option.\r\n * @param isSelectedLocation - Is selected location.\r\n * @param index - Index.\r\n * @param pushpinOptions - PushpinOptions.\r\n * @returns - The pushpin options.\r\n */\r\n private readonly _getPushpinColorAndIcon = (\r\n isSelectedLocation: boolean,\r\n storeType: StoreType,\r\n pushpinOptions?: IPushpinOptionsData\r\n ) => {\r\n // const text = undefined;\r\n\r\n // const size = pushpinOptions?.size || 1;\r\n var color: string | undefined = '#8c7760';\r\n if (storeType === StoreType.Retailer) {\r\n color = isSelectedLocation ? pushpinOptions?.selectionColor_retailer || '#e87722' : pushpinOptions?.color_retailer || '#004f71';\r\n } else {\r\n color = isSelectedLocation ? pushpinOptions?.selectionColor_store || '#e87722' : pushpinOptions?.color_store || '#542D00';\r\n }\r\n //const icon = this._getSvgIcon(size, color, text);\r\n return {\r\n // Fallback if icon doesn't render properly\r\n color: color,\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n };\r\n };\r\n\r\n /**\r\n * Get the pushpin option.\r\n * @param isSelectedLocation - Is selected location.\r\n * @param index - Index.\r\n * @param pushpinOptions - PushpinOptions.\r\n * @returns - The pushpin options.\r\n */\r\n private readonly _getPushpinOptions = (\r\n isSelectedLocation: boolean,\r\n index: number,\r\n storeType: StoreType,\r\n pushpinOptions?: IPushpinOptionsData,\r\n storeLocation?: OrgUnitLocation,\r\n mapResources?: IMapCustomResources\r\n ) => {\r\n const { color, icon } = this._getPushpinColorAndIcon(isSelectedLocation, storeType, pushpinOptions);\r\n if (storeLocation) {\r\n return {\r\n // Fallback if icon doesn't render properly\r\n color: color,\r\n icon,\r\n //text: storeLocation.OrgUnitNumber!,\r\n title: `${storeType === StoreType.Retailer ? mapResources?.storeLabelRetailer : mapResources?.storeLabelVenchi} ${index +\r\n 1}`\r\n };\r\n }\r\n return {\r\n // Fallback if icon doesn't render properly\r\n color: color,\r\n icon,\r\n title: storeType === StoreType.Retailer ? mapResources?.storeLabelRetailer : mapResources?.storeLabelVenchi\r\n };\r\n };\r\n}\r\n\r\nexport default Map;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IHeader, IMapViewProps } from './map-custom';\r\n\r\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\r\n\r\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\r\n \r\n {Header && }\r\n \r\n \r\n);\r\n\r\nexport default MapView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport { IAccountGenericTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-generic-tile/./account-generic-tile';\r\nimport { IAccountGenericTileProps } from '../definition-extensions/account-generic-tile.ext.props.autogenerated.js'\r\n\r\nconst AccountGenericTileView: React.FC> = props => {\r\n const { AccountGenericTile, heading, links } = props;\r\n const textField = props.config.text;\r\n const text = textField && ;\r\n\r\n return (\r\n \r\n {heading}\r\n {text}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default AccountGenericTileView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { DeliveryOption } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport get from 'lodash/get';\r\n\r\nimport { ICheckoutDeliveryOption, ICheckoutDeliveryOptionsViewProps, ICheckoutDeliveryOptionsList } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-delivery-options/./checkout-delivery-options';\r\nimport { ICheckoutDeliveryOptionsProps } from '../definition-extensions/checkout-delivery-options.ext.props.autogenerated';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n\r\ninterface ICheckoutDeliveryData extends ICheckoutDeliveryOptionsList {\r\n deliveryOptions: DeliveryOption[];\r\n}\r\n\r\n\r\nconst DeliveryOptionList: React.FC = ({ DeliveryOptionsList, list, deliveryOptions }) => {\r\n if (!list || list.length === 0) {\r\n return null;\r\n }\r\n\r\n // deliveryOptions sorted by ShippingChargeAmount\r\n const sortedDeliveryOptions = deliveryOptions.sort((a, b) => {\r\n return get(a, 'ShippingChargeAmount', 0) - get(b, 'ShippingChargeAmount', 0);\r\n });\r\n\r\n // console.log(sortedDeliveryOptions);\r\n return (\r\n \r\n {sortedDeliveryOptions.map((deliveryOption: DeliveryOption) => {\r\n const sortedDeliveryOption = list.find(deliveryOptionEdit => deliveryOptionEdit.code === deliveryOption.Code);\r\n if (sortedDeliveryOption !== undefined) {\r\n return (\r\n \r\n {sortedDeliveryOption.radioButton}\r\n {sortedDeliveryOption.description}\r\n {sortedDeliveryOption.price}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst DeliveryOptionSelected: React.FC = ({ DeliveryOption, description, price }) => {\r\n return (\r\n \r\n {description}\r\n {price}\r\n \r\n );\r\n};\r\n\r\n\r\nconst CheckoutDeliveryOptionsView: React.FC> = props => {\r\n const {\r\n CheckoutDeliveryOptions,\r\n checkoutErrorRef,\r\n viewState,\r\n deliveryOptions,\r\n deliveryOptionsData,\r\n deliveryOptionSelected,\r\n alert,\r\n waiting,\r\n saveButton,\r\n editButton,\r\n cancelButton\r\n } = props;\r\n const extraTextField = props.config.paragraph;\r\n const extraText = extraTextField && ;\r\n return (\r\n // TODO: All wrapper div should be provided by viewProps. Once SDK provide the sln, update markup.\r\n \r\n {extraText}\r\n {viewState.isLoading && waiting}\r\n {viewState.isError && alert}\r\n {viewState.isShowList && deliveryOptions && }\r\n {viewState.isShowSelected && deliveryOptionSelected && }\r\n {viewState.isShowSaveButton && saveButton}\r\n {viewState.isShowEditButton && editButton}\r\n {viewState.isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutDeliveryOptionsView;\r\n\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { IIframeViewProps } from '@msdyn365-commerce-modules/iframe/src/modules/iframe/./iframe';\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * IFrameView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class IFrameView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { Heading, IframeContainer, IFrame, alert, cookieConsentAccepted } = this.props;\r\n\r\n return (\r\n \r\n {alert}\r\n {cookieConsentAccepted && cookieConsentAccepted === true ? (\r\n <>\r\n {Heading}\r\n
{IFrame}
\r\n \r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\nexport default IFrameView;\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\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {channelReferenceId}\r\n \r\n);\r\n\r\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n \r\n);\r\n\r\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count, trackingInfo, shippedStatusCheck }) => (\r\n \r\n {heading}\r\n {count}\r\n {/* shippedStatusCheck === 'shipped' ? null : trackingInfo */}\r\n \r\n);\r\n\r\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\r\n \r\n {salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n {!delivery.showTimeslot && address}\r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n \r\n);\r\n\r\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number): JSX.Element | null => {\r\n //const { estimatedTaxLabel, yetToBeCalculatedText} = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n Tax\r\n \r\n {taxAmount}\r\n \r\n

\r\n
\r\n )\r\n}\r\n\r\nexport const OrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n \r\n return (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {locale.toLowerCase() == 'en-gb' && taxAmount > 0 ? _renderCustomTaxLine(taxAmount) : tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n );\r\n};\r\n\r\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC = ({\r\n salesOrder,\r\n moduleProps,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups\r\n}) => {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const customTrackingNumber = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'trackingId_CAP')[0]?.Value.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const customTrackingStatus = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'trakingStatus_CAP')[0]?.Value.StringValue;\r\n\r\n const locale = moduleProps.moduleProps.context.request.locale;\r\n // @ts-ignore\r\n const salesOrderData = moduleProps?.moduleProps?.data?.orderHydration?.result?.salesOrder;\r\n const taxAmount = salesOrderData?.TaxAmount;\r\n const extraOrdersSummaryEu = {\r\n locale: locale,\r\n taxAmount: taxAmount\r\n };\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {salesOrder && customTrackingNumber && (\r\n
\r\n Tracking Number: {customTrackingNumber === '' ? 'Not yet available.' : customTrackingNumber}\r\n {customTrackingStatus !== '' ? ({customTrackingStatus}) : ''}\r\n
\r\n )}\r\n {groups && }\r\n \r\n {orderSummary && }\r\n {payment && }\r\n \r\n {help && }\r\n
\r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport const OrderTemplateListView: React.FC = props => {\r\n const {\r\n OrderTemplateList,\r\n status,\r\n statusMessage,\r\n heading,\r\n OrderTemplates,\r\n orderTemplates,\r\n OrderTemplate,\r\n createOrderTemplateButton,\r\n templateHeaderStatusMessage\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {status !== 'SUCCESS' && statusMessage}\r\n \r\n {createOrderTemplateButton}\r\n {templateHeaderStatusMessage}\r\n \r\n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\r\n \r\n {orderTemplates &&\r\n orderTemplates.map(orderTemplate => {\r\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\r\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\r\n return (\r\n \r\n {orderTemplateName}\r\n {orderTemplateImage}\r\n {addToCartButton}\r\n {removeButton}\r\n {orderTemplateStatusMessage}\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateListView;\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\nimport { IProductSpecificationViewProps } from '@msdyn365-commerce-modules/product-specification/src/modules/product-specification/./product-specification';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { Image, IImageData } from '@msdyn365-commerce/core';\r\n// import { StockCountJournalsDataActions } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n IProductSpecificationProps as IProductSpecificationExtensionProps,\r\n IProductSpecificationConfig as IProductSpecificationExtensionConfig,\r\n IReassuranceItemsData as IReassuranceItemsExtensionData\r\n} from '../definition-extensions/product-specification.ext.props.autogenerated';\r\nimport * as React from 'react';\r\n// import axios from 'axios';\r\ninterface NutritionalData {\r\n label: string;\r\n qty1Label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n subcategory: NutritionalSubcategoryData[];\r\n}\r\n\r\ninterface NutritionalSubcategoryData {\r\n label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n}\r\n\r\n/* interface ProductLabel {\r\n label: string;\r\n imgLink: string;\r\n} */\r\n\r\ninterface ReassuranceShowType {\r\n title: string;\r\n description: string;\r\n image: IImageData;\r\n}\r\n\r\nconst ProductSpecificationView: React.FC &\r\n IProductSpecificationExtensionConfig> = props => {\r\n const { ProductSpecification, productSpecificationResult } = props;\r\n const tags = ['Gluten free', 'Palm oil free', 'Vegan friendly', 'Light'];\r\n const specificationsList = ['Product description', /* 'Nutritional Values', */ 'Nutritional Values JSON', 'Ingredients'];\r\n const ingredientsAllAttributesList = ['Ingredients', 'Ingredients 2', 'Ingredients 3'];\r\n const labels = props.resources;\r\n // @ts-ignore\r\n const pTags = [];\r\n // @ts-ignore\r\n const pSpecifications = [];\r\n // @ts-ignore\r\n const ingredientsArray = [];\r\n var ingredientsString = '';\r\n\r\n const temporaryDisabled = true;\r\n\r\n const reassuranceItems: ReassuranceShowType[] =\r\n props?.config?.reassuranceItems?.map((reassurance: IReassuranceItemsExtensionData) => ({\r\n title: reassurance.reassuranceTitle,\r\n description: reassurance.reassuranceDescription,\r\n image: reassurance.reassuranceImage\r\n })) ?? [];\r\n\r\n const isProductAccordionOpened = props?.config?.productDescriptionAccordionOpened ?? false;\r\n\r\n const [accordionsState, setAccordionsState] = React.useState(isProductAccordionOpened ? 'Productdescription' : '');\r\n // const [fetchingLabels, setFetchingLabels] = React.useState(false);\r\n /* const [productLabels, setProductLabels] = React.useState(\r\n [{\r\n label: labels['product_specification_title_emea_label'] ?? \"EMEA label\",\r\n imgLink: ''\r\n },{\r\n label: labels['product_specification_title_emea_warnings'] ?? \"EMEA warnings\",\r\n imgLink: ''\r\n },{\r\n label: labels['product_specification_title_fda_label'] ?? \"FDA label\",\r\n imgLink: ''\r\n }]) */\r\n\r\n productSpecificationResult?.map(row => {\r\n const itemHtml = row?.props.cellData.props.dangerouslySetInnerHTML;\r\n if (row !== null && tags.includes(row.props.productName) && itemHtml !== undefined && itemHtml.__html === 'Yes') {\r\n pTags.push(row);\r\n }\r\n });\r\n productSpecificationResult?.map(row => {\r\n if (\r\n row !== null &&\r\n specificationsList.includes(row.props.productName) &&\r\n row.props.cellData.props.dangerouslySetInnerHTML !== undefined\r\n ) {\r\n pSpecifications.push(row);\r\n }\r\n if (\r\n row !== null &&\r\n ingredientsAllAttributesList.includes(row.props.productName) &&\r\n row.props.cellData.props.dangerouslySetInnerHTML !== undefined\r\n ) {\r\n ingredientsArray.push(row);\r\n }\r\n });\r\n // @ts-ignore\r\n const productSku = props.data.product.result?.ItemId;\r\n // @ts-ignore\r\n const productPrimaryImageUrl = props.data.product.result?.PrimaryImageUrl;\r\n\r\n // @ts-ignore\r\n ingredientsArray.map(row => {\r\n ingredientsString += row.props.cellData.props.dangerouslySetInnerHTML.__html || '';\r\n });\r\n\r\n const accordionOnClick = (accordion: string): void => {\r\n const accStates = accordionsState.split(',');\r\n if (accStates.includes(accordion)) {\r\n // setAccordionsState(accStates.filter(acc=>acc!==accordion).join(','));\r\n setAccordionsState('');\r\n } else {\r\n // setAccordionsState([...accStates, accordion].join(','));\r\n setAccordionsState(accordion);\r\n }\r\n };\r\n\r\n const isAccordionExpanded = (accordion: string): boolean => {\r\n const accStates = accordionsState.split(',');\r\n return accStates.includes(accordion);\r\n };\r\n\r\n const _renderNutritionalValues = (jData: any): JSX.Element => {\r\n // const jData = JSON.parse(data);\r\n return (\r\n
\r\n {jData.map((row: NutritionalData) => (\r\n <>\r\n
\r\n
{labels[row.label] ?? ''}
\r\n
\r\n
{labels[row.qty1Label] ?? ''}
\r\n
{row.qty1Value ?? ''}
\r\n
{row.qty1Unit ?? ''}
\r\n
\r\n {row.subcategory &&\r\n row.subcategory.map((subRow: NutritionalSubcategoryData) => (\r\n
\r\n
{labels[subRow.label] ?? ''}
\r\n
\r\n
{subRow.qty1Value ?? ''}
\r\n
{subRow.qty1Unit ?? ''}
\r\n
\r\n ))}\r\n \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n /* const _renderProductLabels = (productLabels: ProductLabel[], labels: any): JSX.Element => {\r\n const titleLabel = labels['product_specification_title_product_labels'] ?? 'Product labels';\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {productLabels.filter(label => label.imgLink !== '').map((row: ProductLabel) => (\r\n
\r\n
\r\n {row.label}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n } */\r\n\r\n const _renderReassurance = (reassuranceItems: ReassuranceShowType[], labels: any): JSX.Element => {\r\n const titleLabel = labels['product_specification_title_reassurance'] ?? 'Shipments and Returns';\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {reassuranceItems.map((row: ReassuranceShowType, index: number) => {\r\n const isLast = index === reassuranceItems.length - 1;\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {row.title}\r\n {row.description}\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n /* if (!fetchingLabels) {\r\n setFetchingLabels(true);\r\n _getProductLabels(productSku, productPrimaryImageUrl).then((response: string[]) => {\r\n const newProductLabels = [...productLabels];\r\n productLabels.forEach((_, index: number) => {\r\n newProductLabels[index].imgLink = response[index];\r\n });\r\n setProductLabels(newProductLabels);\r\n });\r\n } */\r\n });\r\n\r\n if (temporaryDisabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {props.title}\r\n {pSpecifications.length ? (\r\n \r\n {// @ts-ignore\r\n pSpecifications.map(row => {\r\n const title = row.props.productName;\r\n const titleId = title.replace(/\\s+/g, '');\r\n const titleLabel = labels[`product_specification_title_${title.replace(/\\s+/g, '_').toLowerCase()}`] ?? title;\r\n const ingredientsFinalString = ingredientsString;\r\n\r\n let accordionContent;\r\n if (title === 'Ingredients' && ingredientsFinalString) {\r\n accordionContent = ingredientsFinalString;\r\n } else if (title === 'Nutritional Values JSON') {\r\n try {\r\n const jData = JSON.parse(row.props.cellData.props.dangerouslySetInnerHTML.__html);\r\n accordionContent = _renderNutritionalValues(jData);\r\n } catch (e) {\r\n return;\r\n }\r\n } else if (row.props.cellData.props.dangerouslySetInnerHTML.__html) {\r\n accordionContent = row.props.cellData.props.dangerouslySetInnerHTML.__html;\r\n }\r\n\r\n if (!accordionContent) return;\r\n\r\n return (\r\n // tslint:disable-next-line:jsx-key\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{accordionContent}
\r\n \r\n );\r\n })}\r\n {reassuranceItems.length > 0 ? _renderReassurance(reassuranceItems, labels) : null}\r\n {/* {productLabels.filter(label => label.imgLink !== '').length > 0 ? _renderProductLabels(productLabels, labels) : null} */}\r\n {/* { _renderSocialShare(props.slots && props.slots?.socialShare)} */}\r\n
\r\n ) : (\r\n ''\r\n )}\r\n
\r\n );\r\n};\r\n\r\n/* const _getProductLabels = async (productId?: string, baseImagePath?: string): Promise => {\r\n if (productId && baseImagePath) {\r\n const results: string[] = [];\r\n const imgBaseUrlArray = decodeURIComponent(baseImagePath).split('/');\r\n imgBaseUrlArray.pop();\r\n\r\n\r\n const imgUrls = [\r\n [...imgBaseUrlArray, `${productId}_000_006.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_007.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_008.jpg`].join('/'),\r\n ];\r\n \r\n for (let i=0; i<3; i=i+1) {\r\n try {\r\n const response = await axios.get(imgUrls[i]);\r\n results.push(response?.status === 200 ? imgUrls[i] : '');\r\n } catch (e) {\r\n results.push('');\r\n }\r\n }\r\n return results; \r\n }\r\n return ['', '', ''];\r\n} */\r\n\r\n/* const _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) {\r\n return undefined;\r\n }\r\n return (\r\n <>\r\n {socialShare[0]}\r\n \r\n );\r\n}; */\r\n\r\nexport default ProductSpecificationView;\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\nimport { IStoreSelectorViewProps } from '@msdyn365-commerce-modules/store-selector/src/modules/store-selector/./store-selector';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst StoreSelectorView: React.FC = props => {\r\n const {\r\n BodyContainerProps,\r\n FooterContainerProps,\r\n HeaderContainerProps,\r\n HeaderProps,\r\n ModuleProps,\r\n // headerText,\r\n locationsMessage,\r\n search,\r\n state,\r\n spinner,\r\n locationsList,\r\n noLocationsMessage,\r\n terms\r\n } = props;\r\n const currentUrl = ModuleProps.moduleProps.context.request.url.requestUrl.href;\r\n const baseUrl = currentUrl.substring(0, currentUrl.lastIndexOf('/') + 1);\r\n React.useEffect(() => {\r\n const titles = Array.from(document.querySelectorAll('.ms-store-select__location-line-item-store-name'));\r\n if (titles.length > 0) {\r\n titles.forEach(el => {\r\n const storeName = el.textContent;\r\n if (storeName && storeName.startsWith('R ')) {\r\n el.closest('.ms-store-select__location-line-item')?.classList.add('location-type__dealer');\r\n el.textContent = storeName.replace('R ', '');\r\n }\r\n // @ts-ignore\r\n if (props.config.renderLinkToStorePage) {\r\n const goToStoreCtn = el.closest('.ms-store-select__location-line-item')?.querySelector('.go-to-store');\r\n if (goToStoreCtn === null) {\r\n const storeUrl = storeName\r\n ?.replace('R ', '')\r\n .toLowerCase()\r\n .replace(/[ .&@',]/g, '-')\r\n .replace(/-+/g, '-');\r\n const goToStore = document.createElement('div');\r\n goToStore.className = 'go-to-store';\r\n // tslint:disable-next-line:no-inner-html\r\n goToStore.innerHTML = `${\r\n // @ts-ignore\r\n props.resources.goToStorePage ? props.resources.goToStorePage : 'Go to Store page'\r\n }`;\r\n el.closest('.ms-store-select__location-line-item:not(.location-type__dealer)')\r\n ?.querySelector('.ms-store-select__location-line-item-content')\r\n ?.appendChild(goToStore);\r\n }\r\n }\r\n });\r\n }\r\n }, [locationsList]);\r\n\r\n return (\r\n \r\n {HeaderProps}\r\n \r\n {locationsMessage}\r\n {search}\r\n {state.isSearchInProgress ? spinner : <>{locationsList ? locationsList : noLocationsMessage}}\r\n \r\n {terms}\r\n \r\n );\r\n};\r\n\r\nexport default StoreSelectorView;\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 { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\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 {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\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 { PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\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 { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\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 { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-header';\nconst headingClassName = `${componentClassName}__heading`;\nconst orderCountClassName = `${componentClassName}__order-count`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderResources {\n orderCountLabel: string;\n ordersCountLabel: string;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderData {\n salesOrders: SalesOrder[];\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderProps\n extends Msdyn365.IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersHeaderResources;\n textProps: Msdyn365.ITextProps;\n showOrderCount: boolean;\n extraActions?: React.ReactNode;\n onChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersHeaderProps\n) => {\n const {\n resources,\n data: { salesOrders },\n textProps,\n showOrderCount,\n extraActions\n } = props;\n\n const orderCount = salesOrders?.length;\n const orderCountText = `(${orderCount} ${orderCount === 1 ? resources?.orderCountLabel : resources?.ordersCountLabel})`;\n\n return (\n \n {textProps?.text && (\n \n )}\n {showOrderCount && {orderCountText}}\n {extraActions}\n \n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n */\nexport const OrderHistoryWithSearchAndFiltersHeaderComponent: React.FunctionComponent = Msdyn365.msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersHeaderProps\n>('OrderHistoryWithSearchAndFiltersHeaderComponent', { component: OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent });\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList 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 private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { IB2bRequestsStatusViewProps } from '@msdyn365-commerce-modules/account-management';\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusProps, IB2bRequestsStatusResources } from '../definition-extensions/b2b-requests-status.ext.props.autogenerated';\n\n/**\n * B2b Request status View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\nconst B2bRequestsStatusView: React.FC> = props => {\n const { b2bRequestsStatus, heading, table } = props;\n const { continueShoppingButtonTitle } = props.resources;\n const initialCount = 0;\n\n if (props.data.operationRequests.result?.length === initialCount) {\n return (\n \n {heading}\n \n
\n

{props.resources.headingForEmptyRequestStatus}

\n

{props.resources.textForEmptyRequestStatus}

\n \n \n {continueShoppingButtonTitle}\n \n \n
\n
\n
\n );\n }\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\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 { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return (\n \n {' '}\n \n );\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps,\n ISignInButton\n} from '@msdyn365-commerce-modules/account-management';\n\nimport { ISignInProps, ISignInResources } from '../definition-extensions/sign-in.ext.props.autogenerated';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nconst signUpButton: React.FC> = (\n props: ISignInViewProps & ISignInProps\n) => {\n const {\n resources,\n telemetry,\n friendlyName,\n context: {\n request: { telemetryPageName }\n }\n } = props;\n const telemetryContent = getTelemetryObject(telemetryPageName!, friendlyName, telemetry);\n const attributes = {\n href: '#'\n };\n\n return (\n \n );\n};\n\nconst SignInView: React.FC> = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpButton(props)}\n \n
    \n
    \n or\n
    \n {B2BAccount(signInB2BAccount)}\n
    \n
    \n
    \n );\n};\n\nexport default SignInView;\n"],"names":["StoreType","Map","React","constructor","props","super","pushpinMap","globalThis","selectedPushPin","undefined","clusterClickHandler","cachedOrgUnitFoundCount","mapRef","handleHeadingChange","event","this","config","heading","text","target","value","_initMap","context","actionContext","requestContext","channel","data","storeSelectorStateManager","result","isMapApiLoaded","map","Microsoft","Maps","current","credentials","BingMapsApiKey","pushpinAccessible","labelOverlay","LabelOverlay","hidden","showMapTypeSelector","showLocateMeButton","showTrafficButton","navigationBarMode","enableInertia","customMapStyle","elements","countryRegion","labelVisible","version","_updateMapForOrgUnitChanges","_this$props$data$stor","_storeSelectorStateMa","pushpinOptions","orgUnitStoreInformation","selectedStoreLocationId","positionUser","lastInlineShownStoreInfo","positionUserChanged","firstOrgUnitsRender","cachedLastInlineShownStoreInfo","checkSameLocation","_this$map","currentLayer","layers","clear","storeLocationList","filter","store","OrgUnitAvailability","length","firstThreeLocations","slice","reduce","acc","org","_org$OrgUnitAvailabil","storeLocation","OrgUnitLocation","Latitude","Longitude","push","Location","index","unitStoreInfo","entries","_unitStoreInfo$OrgUni","OrgUnitNumber","isSelectedLocation","storeType","OrgUnitName","startsWith","Retailer","VenchiStore","options","_getPushpinOptions","resources","pushpin","Pushpin","Events","addHandler","handleClickEventOnPushPinStore","set","currentLocation","boundLocations","setView","bounds","LocationRect","fromLocations","padding","pushpinObject","getZoom","center","getLocation","zoom","fromShapes","Array","from","values","pushpinData","loadModule","clusterLayer","removeHandler","size","pushpins","ClusterLayer","clusteredPinCallback","customizeClusteredPin","gridSize","clusteringEnabled","setOptions","clusterClicked","insert","_updateMapForSelectedStore","_this$props$data$stor2","_getPushpinColorAndIcon","currentPushpin","get","_this$map2","mapLayer","containedPushpins","getPrimitives","mapBounds","getBounds","includes","contains","currentZoom","getZoomRange","max","nextZoom","cluster","e","locs","i","len","orgUnitNumber","setSelectedStoreLocationId","color","selectionColor_retailer","color_retailer","selectionColor_store","color_store","icon","mapResources","title","storeLabelRetailer","storeLabelVenchi","componentDidMount","_this$props$data$stor3","telemetry","BingMapsEnabled","when","_this$props$data$stor4","setMapModuleLoaded","_this$props$data$stor5","reaction","_this$props$data$stor6","loadMapApi","_this$props$data$stor7","_this$props$context","key","lang","locale","market","ChannelCountryRegionISOCode","_this$props$data$stor8","_this$props$data$stor9","_this$props$data$stor10","error","render","className","shouldDisplayMap","listMapViewState","displayMap","viewProps","_objectSpread","ModuleProps","tag","moduleProps","classname","show","Header","headerProps","Msdyn365","Object","assign","editProps","onEdit","request","MapProps","ref","renderView","input","secondInput","__decorate","observer","MapHeader","_ref","Node","_ref2","Module","AccountGenericTile","links","textField","DeliveryOptionList","DeliveryOptionsList","list","deliveryOptions","sortedDeliveryOptions","sort","a","b","deliveryOption","sortedDeliveryOption","find","deliveryOptionEdit","code","Code","DeliveryOption","radioButton","description","price","DeliveryOptionSelected","CheckoutDeliveryOptions","checkoutErrorRef","viewState","deliveryOptionsData","deliveryOptionSelected","alert","waiting","saveButton","editButton","cancelButton","extraTextField","paragraph","extraText","isLoading","isError","isShowList","isShowSelected","isShowSaveButton","isShowEditButton","isShowCancelButton","IFrameView","Heading","IframeContainer","IFrame","cookieConsentAccepted","OrderInfomation","orderInformationProps","salesId","receiptId","createdDate","count","amount","channelReferenceId","channelName","channelAddress","SalesLine","salesLineProps","salesLine","buyAgainButton","GroupDelivery","_ref3","deliveryProps","trackingInfo","shippedStatusCheck","Group","_ref4","groupProps","delivery","address","salesLinesProps","salesLines","LineId","deliveryType","shipment","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","Groups","_ref5","groupsProps","groups","group","OrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","other","_objectWithoutProperties","_excluded","taxAmount","toLowerCase","style","marginBottom","itemProp","_renderCustomTaxLine","Payment","_ref7","paymentMethodsProps","methods","Help","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref9","_salesOrder$Extension","_salesOrder$Extension2","_moduleProps$modulePr","salesOrder","loading","orderInfomation","orderSummary","payment","help","customTrackingNumber","ExtensionProperties","tracking","Key","Value","StringValue","customTrackingStatus","salesOrderData","orderHydration","extraOrdersSummaryEu","TaxAmount","OrderTemplateListView","OrderTemplateList","status","statusMessage","OrderTemplates","orderTemplates","OrderTemplate","createOrderTemplateButton","templateHeaderStatusMessage","orderTemplate","_renderOrderTemplate","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","removeButton","orderTemplateName","_props$config$reassur","_props$config","_props$config$product","_props$config2","_props$data$product$r","_props$data$product$r2","ProductSpecification","productSpecificationResult","tags","specificationsList","ingredientsAllAttributesList","pTags","pSpecifications","ingredientsArray","reassuranceItems","reassurance","reassuranceTitle","reassuranceDescription","image","reassuranceImage","isProductAccordionOpened","productDescriptionAccordionOpened","accordionsState","setAccordionsState","row","itemHtml","cellData","dangerouslySetInnerHTML","productName","__html","product","ItemId","PrimaryImageUrl","BodyContainerProps","FooterContainerProps","HeaderContainerProps","HeaderProps","locationsMessage","search","state","spinner","locationsList","noLocationsMessage","terms","currentUrl","url","requestUrl","href","baseUrl","substring","lastIndexOf","titles","document","querySelectorAll","forEach","el","storeName","textContent","_el$closest","closest","classList","add","replace","renderLinkToStorePage","_el$closest2","querySelector","_el$closest3","storeUrl","goToStore","createElement","innerHTML","goToStorePage","appendChild","isSearchInProgress","AccountProfileEdit","moduleClassName","onTextBoxChange","id","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","message","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","isShowLoading","accountProfileEdit","classnames","modal","Modal","isOpen","modalBody","ModalBody","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","display","aadConainer","accountProfileEditLocalAccount","_renderLocalAccount","str","childNodes","nodeValue","localAccount","items","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","errorMessage","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","ariaLabel","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","type","labelText","maxLength","pattern","wrapper","label","AccountProfileEditLabelComponent","forId","AccountProfileEditInputComponent","onChange","observable","AccountProfileEditItem","AccountProfileEditLoading","item","button","LocalAccount","disabled","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","Button","errorClassName","role","GetMaxLength","parsedMaxLength","Number","parseInt","isNaN","htmlFor","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","async","channelId","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","SalesOrdersDataActions","callerContext","queryResultSettings","setState","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","OrderHistoryOrderInfomation","OrderHistoryGroupDelivery","processing","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderDetailsLink","expandProductsButton","OrderHistoryList","listProps","salesOrders","orderHistoryProps","header","emptyMessage","backToShoppingLink","table","moreButton","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","buildReviewCard","cardProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modalHeader","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","textProps","showOrderCount","orderCount","orderCountText","ordersCountLabel","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleTextChange","handleParagraphChange","handleSubmit","additionalProperties","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","URL","location","origin","redirectUrl","searchParameters","searchParams","fieldName","StringExtensions","isNullOrWhitespace","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_heading$tag","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","orderNumberInput","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","scope","getRichTextHtml","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","RecordId","actionInput","AttributesForSelectedVariantInput","apiSettings","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","_createDrawerBody","_createTableBody","content","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","TileList","_telemetryContent","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","slots","tileListView","tileItem","keyIndex","_props$data$operation","b2bRequestsStatus","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","summaryView","editView","moduleState","isReady","FooterItemView","FooterItem","_renderElement","HeadingContainer","Link","linkText","EditableLink","placedBy","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","src","Image","altText","gridSettings","imageSettings","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","renderTitle","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","format","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","callbacks","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded","SignInLoading","SignInButton","signIn","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","forgetPassword","disclaimer","signInButton","socialAccounts","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","signUpButton","B2BAccount"],"sourceRoot":""}