{"version":3,"file":"static/js/14.5e45db9b9844543a9e4d.chunk.js","mappings":"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","sources":["webpack://lds-commerce/./src/modules/lds-store-locator/lds-store-locator.tsx?d4fe","webpack://lds-commerce/./src/modules/lds-store-locator/components/timeHelper.ts?a7b1","webpack://lds-commerce/./src/modules/lds-store-locator/components/StoreLocationSelector.tsx?1778","webpack://lds-commerce/./src/modules/lds-store-locator/components/StoreLocatorTable.tsx?9224","webpack://lds-commerce/./src/modules/lds-store-locator/lds-store-locator.view.tsx?3f3c","webpack://lds-commerce/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://lds-commerce/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://lds-commerce/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://lds-commerce/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://lds-commerce/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://lds-commerce/./src/modules/content-block/components/links.tsx?abbf","webpack://lds-commerce/./src/modules/content-block/content-block.tsx?3084","webpack://lds-commerce/./src/modules/content-block/content-block.view.tsx?1773","webpack://lds-commerce/./src/modules/cookie-compliance/components/accept-button.tsx?8e73","webpack://lds-commerce/./src/modules/cookie-compliance/components/links.tsx?97b8","webpack://lds-commerce/./src/modules/cookie-compliance/cookie-compliance.tsx?02ac","webpack://lds-commerce/./src/modules/cookie-compliance/cookie-compliance.view.tsx?a33f","webpack://lds-commerce/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://lds-commerce/./src/modules/fabrikam/views/order-details.view.tsx?1ce1","webpack://lds-commerce/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://lds-commerce/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://lds-commerce/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://lds-commerce/./src/modules/back-top-footer/back-top-footer.tsx?f47e","webpack://lds-commerce/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://lds-commerce/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://lds-commerce/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://lds-commerce/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://lds-commerce/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://lds-commerce/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://lds-commerce/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://lds-commerce/./src/modules/product-specification/product-specification.tsx?6583","webpack://lds-commerce/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://lds-commerce/./src/modules/social-share/social-share.tsx?899b","webpack://lds-commerce/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://lds-commerce/./src/modules/tile-list/tile-list.tsx?78cb","webpack://lds-commerce/./src/modules/tile-list/tile-list.view.tsx?1b00"],"sourcesContent":["/*!\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 { ILdsStoreLocatorData } from './lds-store-locator.data';\r\nimport { ILdsStoreLocatorProps } from './lds-store-locator.props.autogenerated';\r\n\r\nexport interface ILdsStoreProps extends ILdsStoreLocatorProps {}\r\n\r\n/**\r\n *\r\n * LdsContactUs Component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsContactUs extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsContactUs;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { RegularStoreHours } from '@msdyn365-commerce/retail-proxy';\r\nimport get from 'lodash/get';\r\n\r\n// import { IStoreSelectorLocationLineItemResources } from './timeHelperData';\r\n\r\ninterface IStoreSelectorLocationLineItemResources {\r\n contactInfoHeader: string;\r\n storeHoursHeader: string;\r\n availabilityInfoHeader: string;\r\n\r\n closedText: string;\r\n\r\n outOfStock: string;\r\n inStock: string;\r\n\r\n currentLocation: string;\r\n selectLocation: string;\r\n selectLocationAriaLabelFormat: string;\r\n setAsPreferredStoreText: string;\r\n setAsPreferredStoreTextAriaLabel: string;\r\n preferredStoreText: string;\r\n preferredStoreAriaLabel: string;\r\n\r\n days: {\r\n monday: string;\r\n tuesday: string;\r\n wednesday: string;\r\n thursday: string;\r\n friday: string;\r\n saturday: string;\r\n sunday: string;\r\n mondayFull: string;\r\n tuesdayFull: string;\r\n wednesdayFull: string;\r\n thursdayFull: string;\r\n fridayFull: string;\r\n saturdayFull: string;\r\n sundayFull: string;\r\n };\r\n}\r\n\r\nexport interface IHoursDisplayInfo {\r\n startDayShort: string;\r\n startDayFull: string;\r\n endDayShort?: string;\r\n endDayFull?: string;\r\n timeRange: string;\r\n}\r\n\r\ninterface IHoursInfo {\r\n isClosed: boolean;\r\n openTime?: number;\r\n closeTime?: number;\r\n}\r\n\r\ntype DayType = 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN';\r\n\r\nexport const secondsToTime = (seconds: number | undefined): string | undefined => {\r\n if (seconds === undefined) {\r\n return undefined;\r\n }\r\n let hours = Math.floor(seconds / (60 * 60));\r\n const ampm = hours >= 12 ? 'pm' : 'am';\r\n hours %= 12;\r\n hours = hours ? hours : 12;\r\n const divisorForMinutes = seconds % (60 * 60);\r\n const minutes = Math.floor(divisorForMinutes / 60) < 10 ? `0${Math.floor(divisorForMinutes / 60)}` : Math.floor(divisorForMinutes / 60);\r\n return `${hours}:${minutes} ${ampm}`;\r\n};\r\n\r\nconst getShortTimeString = (day: DayType, resources: IStoreSelectorLocationLineItemResources): string => {\r\n switch (day) {\r\n case 'MON':\r\n return resources.days.monday;\r\n case 'TUE':\r\n return resources.days.tuesday;\r\n case 'WED':\r\n return resources.days.wednesday;\r\n case 'THU':\r\n return resources.days.thursday;\r\n case 'FRI':\r\n return resources.days.friday;\r\n case 'SAT':\r\n return resources.days.saturday;\r\n default:\r\n // Case 'SUN':\r\n return resources.days.sunday;\r\n }\r\n};\r\n\r\nconst getFullTimeString = (day: DayType, resources: IStoreSelectorLocationLineItemResources): string => {\r\n switch (day) {\r\n case 'MON':\r\n return resources.days.mondayFull;\r\n case 'TUE':\r\n return resources.days.tuesdayFull;\r\n case 'WED':\r\n return resources.days.wednesdayFull;\r\n case 'THU':\r\n return resources.days.thursdayFull;\r\n case 'FRI':\r\n return resources.days.fridayFull;\r\n case 'SAT':\r\n return resources.days.saturdayFull;\r\n default:\r\n // Case 'SUN':\r\n return resources.days.sundayFull;\r\n }\r\n};\r\n\r\nconst buildHoursDisplayInfo = (\r\n startDay: DayType,\r\n endDay: DayType,\r\n hoursInfo: string,\r\n resources: IStoreSelectorLocationLineItemResources\r\n): IHoursDisplayInfo => {\r\n return {\r\n startDayShort: getShortTimeString(startDay, resources),\r\n startDayFull: getFullTimeString(startDay, resources),\r\n endDayShort: startDay !== endDay ? getShortTimeString(endDay, resources) : undefined,\r\n endDayFull: startDay !== endDay ? getFullTimeString(endDay, resources) : undefined,\r\n timeRange: hoursInfo\r\n };\r\n};\r\n\r\nconst shouldMergeLines = (firstLine: IHoursInfo, secondLine: IHoursInfo): boolean => {\r\n if (firstLine.isClosed && secondLine.isClosed) {\r\n return true;\r\n }\r\n\r\n if (!firstLine.isClosed && !secondLine.isClosed) {\r\n return firstLine.openTime === secondLine.openTime && firstLine.closeTime === secondLine.closeTime;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getStoreHoursData = (storeHours: RegularStoreHours, dateForLookup: string): IHoursInfo => {\r\n return {\r\n isClosed: get(storeHours, `CLOSEDON${dateForLookup}`, false),\r\n openTime: get(storeHours, `${dateForLookup}OPENTIME`, undefined),\r\n closeTime: get(storeHours, `${dateForLookup}CLOSETIME`, undefined)\r\n };\r\n};\r\n\r\nlet closedText: string;\r\n\r\nconst buildStoreHoursString = (hoursInfo: IHoursInfo, resources: IStoreSelectorLocationLineItemResources): string => {\r\n if (hoursInfo.isClosed) {\r\n return closedText;\r\n }\r\n const openFrom: string | undefined = secondsToTime(hoursInfo.openTime);\r\n const openTo: string | undefined = secondsToTime(hoursInfo.closeTime);\r\n\r\n return `${openFrom} – ${openTo}`;\r\n};\r\n\r\nexport const buildStoreHours = (storeHours: RegularStoreHours, resources: IStoreSelectorLocationLineItemResources): IHoursDisplayInfo[] => {\r\n const storeHoursList: IHoursDisplayInfo[] = [];\r\n\r\n const mondayHours = getStoreHoursData(storeHours, 'MONDAY');\r\n const tuesdayHours = getStoreHoursData(storeHours, 'TUESDAY');\r\n const wednesdayHours = getStoreHoursData(storeHours, 'WEDNESDAY');\r\n const thursdayHours = getStoreHoursData(storeHours, 'THURSDAY');\r\n const fridayHours = getStoreHoursData(storeHours, 'FRIDAY');\r\n const saturdayHours = getStoreHoursData(storeHours, 'SATURDAY');\r\n const sundayHours = getStoreHoursData(storeHours, 'SUNDAY');\r\n\r\n let periodStart: DayType = 'MON';\r\n let periodEnd: DayType = 'MON';\r\n\r\n if (!shouldMergeLines(mondayHours, tuesdayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(mondayHours, resources), resources));\r\n\r\n periodStart = 'TUE';\r\n }\r\n periodEnd = 'TUE';\r\n if (!shouldMergeLines(tuesdayHours, wednesdayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(tuesdayHours, resources), resources));\r\n\r\n periodStart = 'WED';\r\n }\r\n periodEnd = 'WED';\r\n\r\n if (!shouldMergeLines(wednesdayHours, thursdayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(wednesdayHours, resources), resources));\r\n\r\n periodStart = 'THU';\r\n }\r\n periodEnd = 'THU';\r\n\r\n if (!shouldMergeLines(thursdayHours, fridayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(thursdayHours, resources), resources));\r\n\r\n periodStart = 'FRI';\r\n }\r\n periodEnd = 'FRI';\r\n\r\n if (!shouldMergeLines(fridayHours, saturdayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(fridayHours, resources), resources));\r\n\r\n periodStart = 'SAT';\r\n }\r\n periodEnd = 'SAT';\r\n\r\n if (!shouldMergeLines(saturdayHours, sundayHours)) {\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(saturdayHours, resources), resources));\r\n\r\n periodStart = 'SUN';\r\n }\r\n periodEnd = 'SUN';\r\n\r\n storeHoursList.push(buildHoursDisplayInfo(periodStart, periodEnd, buildStoreHoursString(sundayHours, resources), resources));\r\n\r\n return storeHoursList;\r\n};\r\n","import React from 'react';\r\nimport { ICountryLanguageEntity, IChurchGlobalStoreLocatorInformation } from '../../../actions/DataServiceEntities.g';\r\nimport { Waiting } from '@msdyn365-commerce-modules/utilities';\r\n\r\ninterface StoreLocationProps {\r\n storeRegion: string;\r\n handleChange: any;\r\n state: string;\r\n handleClick: any;\r\n regionList: ICountryLanguageEntity[] | undefined;\r\n displayState: boolean;\r\n stateList: Object[];\r\n resources: any;\r\n regionStores: IChurchGlobalStoreLocatorInformation[];\r\n}\r\n\r\nexport const StoreLocationSelector: React.FC = ({\r\n storeRegion,\r\n handleChange,\r\n handleClick,\r\n state,\r\n regionList,\r\n displayState,\r\n stateList,\r\n resources,\r\n regionStores\r\n}) => {\r\n if (regionStores && regionStores[0] !== undefined) {\r\n return (\r\n
\r\n
\r\n \r\n handleChange(e.target.value)}\r\n >\r\n \r\n {regionList ? (\r\n regionList.map(region => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n {displayState ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n};\r\n","import React from 'react';\r\nimport { IChurchGlobalStoreLocatorInformation } from '../../../actions/DataServiceEntities.g';\r\nimport { IHoursDisplayInfo } from './timeHelper';\r\n\r\ninterface StoreLocatorTableProps {\r\n regionStores: IChurchGlobalStoreLocatorInformation[];\r\n storeHours: IHoursDisplayInfo[][] | undefined;\r\n resources: any;\r\n}\r\n\r\nexport const StoreLocatorTable: React.FC = ({ regionStores, storeHours, resources }) => {\r\n if (regionStores && regionStores[0] !== undefined && storeHours !== undefined) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {regionStores && regionStores[0] !== undefined && storeHours !== undefined\r\n ? regionStores.map((store, index) => {\r\n const storeIndex = index;\r\n return (\r\n \r\n \r\n \r\n \r\n {storeHours[0] ? (\r\n \r\n ) : null}\r\n \r\n );\r\n })\r\n : null}\r\n
{resources.storeLocatorTableHeader}{resources.storeLocatorTableHeaderHours}
{resources.storeLocatorTableHeader}\r\n
\r\n
{store.NAME}
\r\n
{store.STREET}
\r\n
{store.DISTRICTNAME}
\r\n
{`${store.CITY}, ${store.STATE} ${store.ZIPCODE}`}
\r\n
{store.PHONE}
\r\n
\r\n
{resources.storeLocatorTableHeaderHours}\r\n
{resources.storeLocatorStoreHoursMessage}
\r\n \r\n
\r\n {/* eslint-disable-next-line security/detect-object-injection */}\r\n {storeHours[storeIndex]\r\n ? /* eslint-disable-next-line security/detect-object-injection */\r\n storeHours[storeIndex].map((hours, index) => {\r\n return (\r\n <>\r\n
\r\n {hours.endDayFull\r\n ? `${hours.startDayFull} - ${hours.endDayFull}`\r\n : `${hours.startDayFull}`}{' '}\r\n {hours.timeRange\r\n ? `${hours.timeRange}`\r\n : resources.storeHoursClosedText}\r\n
\r\n {/*
{hours.timeRange ? `${hours.timeRange}` : 'Closed'}
*/}\r\n \r\n );\r\n })\r\n : null}\r\n
\r\n {' '}\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n//@ts-ignore\r\nimport { Primary } from '@churchofjesuschrist/eden-buttons';\r\nimport { ILdsStoreProps } from './lds-store-locator';\r\nimport { IChurchGlobalStoreLocatorInformation, ICountryLanguageEntity } from '../../actions/DataServiceEntities.g';\r\n\r\nimport { IStoreSelectorLocationLineItemResources } from './components/timeHelperData';\r\nimport { IHoursDisplayInfo, buildStoreHours } from './components/timeHelper';\r\nimport { StoreLocationSelector } from './components/StoreLocationSelector';\r\nimport { StoreLocatorTable } from './components/StoreLocatorTable';\r\n\r\nimport { getStoreHoursAsync } from '../../actions/DataActionExtension.g';\r\n\r\nconst LdsStoreLocatorView: React.FC = props => {\r\n const StatesDefaultList = [\r\n { name: 'Alabama', abbreviation: 'AL' },\r\n { name: 'Alaska', abbreviation: 'AK' },\r\n { name: 'Arizona', abbreviation: 'AZ' },\r\n { name: 'Arkansas', abbreviation: 'AR' },\r\n { name: 'California', abbreviation: 'CA' },\r\n { name: 'Colorado', abbreviation: 'CO' },\r\n { name: 'Connecticut', abbreviation: 'CT' },\r\n { name: 'Delaware', abbreviation: 'DE' },\r\n { name: 'Florida', abbreviation: 'FL' },\r\n { name: 'Georgia', abbreviation: 'GA' },\r\n { name: 'Hawaii', abbreviation: 'HI' },\r\n { name: 'Idaho', abbreviation: 'ID' },\r\n { name: 'Illinois', abbreviation: 'IL' },\r\n { name: 'Indiana', abbreviation: 'IN' },\r\n { name: 'Iowa', abbreviation: 'IA' },\r\n { name: 'Kansas', abbreviation: 'KS' },\r\n { name: 'Kentucky', abbreviation: 'KY' },\r\n { name: 'Louisiana', abbreviation: 'LA' },\r\n { name: 'Maine', abbreviation: 'ME' },\r\n { name: 'Maryland', abbreviation: 'MD' },\r\n { name: 'Massachusetts', abbreviation: 'MA' },\r\n { name: 'Michigan', abbreviation: 'MI' },\r\n { name: 'Minnesota', abbreviation: 'MN' },\r\n { name: 'Mississippi', abbreviation: 'MS' },\r\n { name: 'Missouri', abbreviation: 'MO' },\r\n { name: 'Montana', abbreviation: 'MT' },\r\n { name: 'Nebraska', abbreviation: 'NE' },\r\n { name: 'Nevada', abbreviation: 'NV' },\r\n { name: 'New Hampshire', abbreviation: 'NH' },\r\n { name: 'New Jersey', abbreviation: 'NJ' },\r\n { name: 'New Mexico', abbreviation: 'NM' },\r\n { name: 'New York', abbreviation: 'NY' },\r\n { name: 'North Carolina', abbreviation: 'NC' },\r\n { name: 'North Dakota', abbreviation: 'ND' },\r\n { name: 'Ohio', abbreviation: 'OH' },\r\n { name: 'Oklahoma', abbreviation: 'OK' },\r\n { name: 'Oregon', abbreviation: 'OR' },\r\n { name: 'Pennsylvania', abbreviation: 'PA' },\r\n { name: 'Rhode Island', abbreviation: 'RI' },\r\n { name: 'South Carolina', abbreviation: 'SC' },\r\n { name: 'South Dakota', abbreviation: 'SD' },\r\n { name: 'Tennessee', abbreviation: 'TN' },\r\n { name: 'Texas', abbreviation: 'TX' },\r\n { name: 'Utah', abbreviation: 'UT' },\r\n { name: 'Vermont', abbreviation: 'VT' },\r\n { name: 'Virginia', abbreviation: 'VA' },\r\n { name: 'Washington', abbreviation: 'WA' },\r\n { name: 'West Virginia', abbreviation: 'WV' },\r\n { name: 'Wisconsin', abbreviation: 'WI' },\r\n { name: 'Wyoming', abbreviation: 'WY' }\r\n ];\r\n const [stateList, setStateList] = useState(StatesDefaultList);\r\n\r\n const [storeRegion, setStoreRegion] = useState('');\r\n const [regionList, setRegionList] = useState();\r\n const [state, setState] = useState('');\r\n const [displayState, setDisplayStates] = useState(false);\r\n const [regionStores, setRegionStores] = useState([]);\r\n const [storeHours, setStoreHours] = useState();\r\n const [filteredRegions, setFilteredRegions] = useState();\r\n const [storesFound, setStoresFound] = useState(true);\r\n\r\n const RegionList = props.data.countries?.result;\r\n let formattedStoreHours: any;\r\n const StoreHoursContext: IStoreSelectorLocationLineItemResources = {\r\n contactInfoHeader: props.resources.contactText,\r\n storeHoursHeader: props.resources.timeText,\r\n availabilityInfoHeader: props.resources.availabilityText,\r\n\r\n closedText: props.resources.storeHoursClosedText,\r\n outOfStock: props.resources.outOfStockText,\r\n inStock: props.resources.inStockText,\r\n\r\n currentLocation: props.resources.selectedStoreLocationText,\r\n selectLocation: props.resources.selectStoreText,\r\n selectLocationAriaLabelFormat: props.resources.selectStoreAriaFormatText,\r\n setAsPreferredStoreText: props.resources.setAsPreferredStoreText,\r\n setAsPreferredStoreTextAriaLabel: props.resources.setAsPreferredStoreTextAriaLabel,\r\n preferredStoreText: props.resources.preferredStoreText,\r\n preferredStoreAriaLabel: props.resources.preferredStoreAriaLabel,\r\n\r\n days: {\r\n monday: props.resources.storeHoursMondayText,\r\n tuesday: props.resources.storeHoursTuesdayText,\r\n wednesday: props.resources.storeHoursWednesdayText,\r\n thursday: props.resources.storeHoursThursdayText,\r\n friday: props.resources.storeHoursFridayText,\r\n saturday: props.resources.storeHoursSaturdayText,\r\n sunday: props.resources.storeHoursSundayText,\r\n mondayFull: props.resources.storeHoursMondayFullText,\r\n tuesdayFull: props.resources.storeHoursTuesdayFullText,\r\n wednesdayFull: props.resources.storeHoursWednesdayFullText,\r\n thursdayFull: props.resources.storeHoursThursdayFullText,\r\n fridayFull: props.resources.storeHoursFridayFullText,\r\n saturdayFull: props.resources.storeHoursSaturdayFullText,\r\n sundayFull: props.resources.storeHoursSundayFullText\r\n }\r\n };\r\n let StateSelectOptions: any = StatesDefaultList;\r\n const cart = props.data.cart?.result;\r\n const filterFunction = async () => {\r\n const storesWithHours = await getStoreHoursAsync({ callerContext: props.context.actionContext }, '0');\r\n if (storesWithHours && regionList) {\r\n const filteredRegions = regionList.filter(el => {\r\n return storesWithHours.some(f => {\r\n return f.COUNTRYREGIONID === el.countryRegionId;\r\n });\r\n });\r\n setFilteredRegions(filteredRegions);\r\n }\r\n };\r\n const getAvailableState = async () => {\r\n await handleChange('USA');\r\n setDisplayStates(true);\r\n StateSelectOptions = StatesDefaultList.filter(({ abbreviation: id1 }) => regionStores.some(({ STATE: id2 }) => id2 === id1));\r\n setStateList(StateSelectOptions);\r\n };\r\n\r\n useEffect(() => {\r\n if (cart && !storeRegion && cart.cart.ExtensionProperties) {\r\n const userCountry = cart.cart.ExtensionProperties?.find((x: any) => x.Key === 'Country')?.Value?.StringValue;\r\n setStoreRegion(userCountry);\r\n void handleChange(userCountry!);\r\n }\r\n if (storeRegion === 'USA' && !displayState) {\r\n void getAvailableState();\r\n } else if (storeRegion !== 'USA') {\r\n setDisplayStates(false);\r\n }\r\n\r\n if (RegionList && !filteredRegions) {\r\n const sortedRegions = RegionList.sort((a, b) =>\r\n a.CountryName! > b.CountryName! ? 1 : b.CountryName! > a.CountryName! ? -1 : 0\r\n );\r\n setRegionList(sortedRegions);\r\n void filterFunction();\r\n }\r\n\r\n if (regionStores.length >= 1) {\r\n formattedStoreHours = regionStores.map(store => {\r\n return buildStoreHours(store, StoreHoursContext);\r\n });\r\n setStoreHours(formattedStoreHours);\r\n }\r\n if (!storesFound && filteredRegions && filteredRegions[0]) {\r\n void handleChange(filteredRegions[0].countryRegionId);\r\n }\r\n }, [storeRegion, regionStores, RegionList, storesFound, filteredRegions]);\r\n\r\n const handleChange = async (value: string) => {\r\n const getRegionStores = await getStoreHoursAsync({ callerContext: props.context.actionContext }, value);\r\n if (getRegionStores[0] !== undefined) {\r\n const sortedRegionStores = getRegionStores.sort((a: any, b: any) => {\r\n const compareStrings = (str1: any, str2: any) => {\r\n const trimmedStr1 = str1.startsWith('DS ') ? str1.slice(3) : str1.startsWith('Deseret Book ') ? str1.slice(13) : str1;\r\n const trimmedStr2 = str2.startsWith('DS ') ? str2.slice(3) : str2.startsWith('Deseret Book ') ? str2.slice(13) : str2;\r\n\r\n for (let i = 0; i < Math.min(trimmedStr1.length, trimmedStr2.length); i++) {\r\n const charCode1 = trimmedStr1.charCodeAt(i);\r\n const charCode2 = trimmedStr2.charCodeAt(i);\r\n\r\n if (charCode1 < charCode2) {\r\n return -1;\r\n } else if (charCode1 > charCode2) {\r\n return 1;\r\n }\r\n }\r\n\r\n if (trimmedStr1.length < trimmedStr2.length) {\r\n return -1;\r\n } else if (trimmedStr1.length > trimmedStr2.length) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n return compareStrings(a.NAME, b.NAME);\r\n });\r\n\r\n // formattedStoreHours = getRegionStores.map(store => {\r\n // return buildStoreHours(store, StoreHoursContext);\r\n // });\r\n formattedStoreHours = sortedRegionStores.map(store => {\r\n return buildStoreHours(store, StoreHoursContext);\r\n });\r\n\r\n setStoreHours(formattedStoreHours);\r\n\r\n // setRegionStores(getRegionStores);\r\n setRegionStores(sortedRegionStores);\r\n setStoreRegion(value);\r\n setStoresFound(true);\r\n } else {\r\n setStoresFound(false);\r\n }\r\n };\r\n\r\n const handleClick = async (state: string) => {\r\n const getStores = await getStoreHoursAsync({ callerContext: props.context.actionContext }, storeRegion);\r\n setState(state);\r\n\r\n const filteredStores = state\r\n ? getStores.filter(store => {\r\n return store.STATE === state;\r\n })\r\n : null;\r\n let sortedRegionStores;\r\n if (filteredStores) {\r\n sortedRegionStores = filteredStores.sort((a: any, b: any) => {\r\n const compareStrings = (str1: any, str2: any) => {\r\n const trimmedStr1 = str1.startsWith('DS ') ? str1.slice(3) : str1.startsWith('Deseret Book ') ? str1.slice(13) : str1;\r\n const trimmedStr2 = str2.startsWith('DS ') ? str2.slice(3) : str2.startsWith('Deseret Book ') ? str2.slice(13) : str2;\r\n\r\n for (let i = 0; i < Math.min(trimmedStr1.length, trimmedStr2.length); i++) {\r\n const charCode1 = trimmedStr1.charCodeAt(i);\r\n const charCode2 = trimmedStr2.charCodeAt(i);\r\n\r\n if (charCode1 < charCode2) {\r\n return -1;\r\n } else if (charCode1 > charCode2) {\r\n return 1;\r\n }\r\n }\r\n\r\n if (trimmedStr1.length < trimmedStr2.length) {\r\n return -1;\r\n } else if (trimmedStr1.length > trimmedStr2.length) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n // Compare the strings using the custom comparison function\r\n return compareStrings(a.NAME, b.NAME);\r\n });\r\n }\r\n\r\n // if (filteredStores) {\r\n // formattedStoreHours = filteredStores.map(store => {\r\n // return buildStoreHours(store, StoreHoursContext);\r\n // });\r\n // setStoreHours(formattedStoreHours);\r\n // }\r\n if (sortedRegionStores) {\r\n formattedStoreHours = sortedRegionStores.map(store => {\r\n return buildStoreHours(store, StoreHoursContext);\r\n });\r\n setStoreHours(formattedStoreHours);\r\n }\r\n\r\n // setRegionStores(filteredStores ? filteredStores : getStores);\r\n setRegionStores(sortedRegionStores ? sortedRegionStores : getStores);\r\n };\r\n\r\n const { storeLocatorHeader, storeLocatorMessage } = props.resources;\r\n\r\n return (\r\n
\r\n
\r\n <>\r\n

{storeLocatorHeader}

\r\n

{storeLocatorMessage}

\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LdsStoreLocatorView;\r\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className),\n style: contentBlockContainerStyle\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\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 { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICookieComplianceAcceptButton {\n acceptCookiesButtonText?: string;\n acceptCookiesButtonAriaLabel?: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const CookieComplianceAcceptButton: React.FC = ({\n acceptCookiesButtonText,\n acceptCookiesButtonAriaLabel,\n telemetryContent,\n onClose\n}) => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n {acceptCookiesButtonText}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActionLinksData } from '../cookie-compliance.props.autogenerated';\n\nexport interface ICookieComplianceLinks {\n links: IActionLinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class CookieComplianceLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n \n );\n }\n\n private readonly _mapEditableLinks = (linkdata: IActionLinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\n\nexport default CookieComplianceLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\nimport { ICookieComplianceConfig, ICookieComplianceProps } from './cookie-compliance.props.autogenerated';\n\n/**\n * Alert state interface.\n */\nexport interface IAlertState {\n visible: boolean;\n}\n\n/**\n * Cookie compliance view props interface.\n */\nexport interface ICookieComplianceViewProps extends ICookieComplianceProps<{}> {\n CookieComplianceBanner: IModuleProps;\n AlertProps: IAlertProps;\n Content: INodeProps;\n text?: React.ReactNode;\n links?: React.ReactNode;\n acceptButton?: React.ReactNode;\n className: string;\n onDismiss(): void;\n}\n\n/**\n *\n * CookieCompliance component.\n * @extends {React.PureComponent>}\n */\nclass CookieCompliance extends React.PureComponent, IAlertState> {\n private readonly cookieRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: ICookieComplianceProps) {\n super(props);\n this.state = { visible: false };\n this.cookieRef = React.createRef();\n this._onDismiss = this._onDismiss.bind(this);\n }\n\n public componentDidMount(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\n this.setState({ visible: true });\n }\n }\n\n public render(): JSX.Element | null {\n const { config, context, resources, telemetry } = this.props;\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\n const { visible } = this.state;\n\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\n let moduleConfig: ICookieComplianceConfig;\n\n try {\n moduleConfig = config;\n } catch (error) {\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\n return
{error}
;\n }\n\n if (isConsentGiven && !visible) {\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\n return null;\n }\n\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\n return <>;\n }\n\n const viewProps = {\n ...this.props,\n onDismiss: this._onDismiss,\n CookieComplianceBanner: {\n moduleProps: this.props,\n className: classnames('ms-cookie-compliance', moduleConfig.className),\n ref: this.cookieRef\n },\n AlertProps: {\n className: 'ms-cookie-compliance__container',\n color: 'white',\n fade: false\n },\n Content: {\n className: 'ms-cookie-compliance__content'\n },\n text: moduleConfig.content && (\n \n ),\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\n \n ),\n acceptButton: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles Link content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.actionLinks?.[linkIndex]) {\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Handles content change event.\n * @param event - Event.\n */\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.content = event.target.value;\n };\n\n private _onDismiss(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies) {\n context.request.cookies.setConsentCookie();\n location.reload();\n }\n this.setState({ visible: false });\n }\n}\n\nexport default CookieCompliance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICookieComplianceViewProps } from './cookie-compliance';\n\nconst CookieComplianceView: React.FC = props => {\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links } = props;\n\n return (\n \n \n \n {text}\n {links}\n \n {acceptButton}\n \n \n );\n};\nexport default CookieComplianceView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\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 IHelp,\n IOrderDetailsViewProps,\n IOrderInformation,\n IOrderSummary,\n IPaymentMethods,\n ISalesLine\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n createdDate,\n count,\n amount,\n channelReferenceId,\n channelName,\n channelAddress,\n note\n}) => (\n \n {channelName}\n {channelAddress}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n {note}\n \n);\n\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\n \n {salesLine}\n {buyAgainButton}\n {errors}\n \n);\n\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\n \n {heading}\n {count}\n \n);\n\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\n \n {delivery && }\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n \n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\n \n {!isCashAndCarryTransaction && salesLine.salesStatus}\n \n ))}\n \n )}\n {!delivery.showTimeslot && address}\n {delivery.showTimeslot && (\n \n {address}\n {delivery.pickupDateTimeslot}\n \n )}\n \n \n);\n\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderDetailsView: React.FC = ({\n moduleProps,\n viewModes,\n tableViewActions,\n table,\n placedBy,\n heading,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {placedBy}\n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {tableViewActions}\n {viewModes}\n {table}\n {groups && }\n \n {orderSummary && }\n {payment && }\n \n {help && }\n \n );\n};\n\nexport default OrderDetailsView;\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 { BackToTop, getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBackTopFooterProps } from './back-top-footer.props.autogenerated';\n\n/**\n *\n * BackTopFooter component.\n * @extends {React.PureComponent>}\n */\nclass BackTopFooter extends React.PureComponent> {\n private readonly editProps: Msdyn365.ITextEditProps = {\n requestContext: this.props.context.request,\n onEdit: (event: Msdyn365.ContentEditableEvent) => (this.props.config.backtoTopText = event.target.value)\n };\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IBackTopFooterProps<{}>) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n if (!this.props.config.destination) {\n this.props.telemetry.error('BackToTop.destination has not been provided, module wont render.');\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default BackTopFooter;\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\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"],"names":["LdsContactUs","React","render","this","props","renderView","secondsToTime","seconds","undefined","hours","Math","floor","ampm","divisorForMinutes","getShortTimeString","day","resources","days","monday","tuesday","wednesday","thursday","friday","saturday","sunday","getFullTimeString","mondayFull","tuesdayFull","wednesdayFull","thursdayFull","fridayFull","saturdayFull","sundayFull","buildHoursDisplayInfo","startDay","endDay","hoursInfo","startDayShort","startDayFull","endDayShort","endDayFull","timeRange","shouldMergeLines","firstLine","secondLine","isClosed","openTime","closeTime","getStoreHoursData","storeHours","dateForLookup","get","buildStoreHoursString","buildStoreHours","storeHoursList","mondayHours","tuesdayHours","wednesdayHours","thursdayHours","fridayHours","saturdayHours","sundayHours","periodStart","periodEnd","push","StoreLocationSelector","_ref","storeRegion","handleChange","handleClick","state","regionList","displayState","stateList","regionStores","className","htmlFor","storeLocatorCountryLabel","name","id","value","onChange","e","target","disabled","selected","defaultDropdown","map","region","countryRegionId","key","Id","CountryName","storeLocatorStateLabel","defalutDropdown","abbreviation","style","width","display","justifyContent","Waiting","StoreLocatorTable","storeLocatorTableHeader","storeLocatorTableHeaderHours","store","index","storeIndex","NAME","STREET","DISTRICTNAME","CITY","STATE","ZIPCODE","PHONE","padding","storeLocatorStoreHoursMessage","flexDirection","storeHoursClosedText","_props$data$countries","_props$data$cart","StatesDefaultList","setStateList","useState","setStoreRegion","setRegionList","setState","setDisplayStates","setRegionStores","setStoreHours","filteredRegions","setFilteredRegions","storesFound","setStoresFound","RegionList","data","countries","result","formattedStoreHours","StoreHoursContext","contactInfoHeader","contactText","storeHoursHeader","timeText","availabilityInfoHeader","availabilityText","closedText","outOfStock","outOfStockText","inStock","inStockText","currentLocation","selectedStoreLocationText","selectLocation","selectStoreText","selectLocationAriaLabelFormat","selectStoreAriaFormatText","setAsPreferredStoreText","setAsPreferredStoreTextAriaLabel","preferredStoreText","preferredStoreAriaLabel","storeHoursMondayText","storeHoursTuesdayText","storeHoursWednesdayText","storeHoursThursdayText","storeHoursFridayText","storeHoursSaturdayText","storeHoursSundayText","storeHoursMondayFullText","storeHoursTuesdayFullText","storeHoursWednesdayFullText","storeHoursThursdayFullText","storeHoursFridayFullText","storeHoursSaturdayFullText","storeHoursSundayFullText","StateSelectOptions","cart","useEffect","ExtensionProperties","_cart$cart$ExtensionP","userCountry","find","x","Key","Value","StringValue","async","filter","id1","some","_ref2","id2","getAvailableState","sortedRegions","sort","a","b","storesWithHours","getStoreHoursAsync","callerContext","context","actionContext","el","f","COUNTRYREGIONID","filterFunction","length","getRegionStores","sortedRegionStores","compareStrings","str1","str2","trimmedStr1","startsWith","slice","trimmedStr2","i","min","charCode1","charCodeAt","charCode2","storeLocatorHeader","storeLocatorMessage","getStores","filteredStores","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","errorMessage","CheckInForPickup","constructor","super","checkInForOrderPickup","channelId","Number","parseInt","request","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","SalesOrdersDataActions","queryResultSettings","error","headerErrorMessage","genericErrorMessage","isCheckedIn","telemetry","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","config","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","viewProps","_objectSpread","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","viewState","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","heading","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","assembleNode","item","itemIndex","_item$links","renderHeading","additionalContentHeading","requestContext","Msdyn365","text","tag","editProps","onEdit","event","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","links","ctaLink","renderLinks","linkIndex","editableLink","ariaLabel","linkText","linkUrl","destinationUrl","openInNewTab","role","link","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","editableLinks","forEach","payLoad","getPayloadObject","telemetryContent","contentAction","etext","attributes","getTelemetryAttributes","btnClass","additionalProperties","onClick","onTelemetryClick","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","handleTextChange","handleParagraphChange","paragraph","handleLinkTextChange","_heading$tag","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","contentBlockLinks","LinksComponent","Object","assign","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","imageSettings","backgroundColor","imageProps","gridSettings","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockContainerStyle","contentBlockviewProps","title","moduleClass","contentBlockContainer","moduleProps","classnames","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","Node","Module","href","CookieComplianceAcceptButton","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","onClose","type","CookieComplianceLinks","CookieCompliance","_this$props$config$ac","actionLinks","handleContentChange","content","visible","cookieRef","_onDismiss","bind","componentDidMount","cookies","isConsentGiven","acceptCookiesAriaLabel","moduleConfig","MsDyn365","isBrowser","onDismiss","CookieComplianceBanner","ref","AlertProps","color","fade","Content","acceptButton","setConsentCookie","location","reload","Alert","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","Button","_renderErrorBlock","errorData","errors","Wrapper","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","toLowerCase","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","promotionOptions","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","OrderInfomation","orderInformationProps","salesId","receiptId","createdDate","amount","channelName","channelAddress","note","SalesLine","salesLineProps","salesLine","buyAgainButton","GroupDelivery","_ref3","deliveryProps","Group","_ref4","groupProps","delivery","address","salesLinesProps","salesLines","isCashAndCarryTransaction","LineId","deliveryType","shipment","trackingInfo","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","Groups","_ref5","groupsProps","groups","group","OrderSummary","_ref6","orderSummaryProps","totalAmount","earnedPoints","Payment","_ref7","paymentMethodsProps","methods","Help","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref9","viewModes","tableViewActions","table","placedBy","alert","loading","orderInfomation","orderSummary","payment","help","OrderHistoryOrderInfomation","OrderHistoryGroupDelivery","processing","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderDetailsLink","expandProductsButton","OrderHistoryList","listProps","salesOrders","salesOrder","orderHistoryProps","emptyMessage","backToShoppingLink","list","moreButton","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","buildReviewCard","cardProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","BackTopFooter","backtoTopText","destination","BackToTop","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","textProps","showOrderCount","orderCount","orderCountText","ordersCountLabel","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","message","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","observer","RenderOrderLookupFormFields","_getOrderLookupFields","label","input","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","URL","window","origin","redirectUrl","searchParameters","searchParams","set","fieldName","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","items","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","moduleClassName","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","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","handleHeadingChange","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","reaction","product","RecordId","actionInput","AttributesForSelectedVariantInput","apiSettings","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","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","row","SocialShare","slots","socialShareItems","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","SocialShareView","SocialShareElement","TileList","_telemetryContent","Heading","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","tileListView","tileItem","keyIndex"],"sourceRoot":""}