{"version":3,"file":"static/js/12.7f26eca8ba2080be89eb.chunk.js","mappings":"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,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,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","sources":["webpack://venchi-ecommerce-msdyn365/./src/modules/country-selector/country-selector.tsx?a8bc","webpack://venchi-ecommerce-msdyn365/./src/modules/country-selector/country-selector.view.tsx?44d3","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/convert_a2_a3.ts?c0bb","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/account-management-address.view.tsx?2098","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/account-profile.view.tsx?555a","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/reviews-list.view.tsx?43bb","webpack://venchi-ecommerce-msdyn365/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://venchi-ecommerce-msdyn365/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://venchi-ecommerce-msdyn365/./src/modules/accordion/accordion.tsx?78b1","webpack://venchi-ecommerce-msdyn365/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://venchi-ecommerce-msdyn365/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://venchi-ecommerce-msdyn365/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://venchi-ecommerce-msdyn365/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://venchi-ecommerce-msdyn365/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://venchi-ecommerce-msdyn365/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://venchi-ecommerce-msdyn365/./src/modules/footer-item/footer-item.tsx?074a","webpack://venchi-ecommerce-msdyn365/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://venchi-ecommerce-msdyn365/./src/modules/image-list/image-list.tsx?5602","webpack://venchi-ecommerce-msdyn365/./src/modules/image-list/image-list.view.tsx?2bed","webpack://venchi-ecommerce-msdyn365/./src/modules/interactive-feature-collection/interactive-feature-collection.tsx?96a6","webpack://venchi-ecommerce-msdyn365/./src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?db52","webpack://venchi-ecommerce-msdyn365/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://venchi-ecommerce-msdyn365/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://venchi-ecommerce-msdyn365/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://venchi-ecommerce-msdyn365/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable no-duplicate-imports */\r\nimport { addThrottledEvent, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { IGridSettings, IImageSettings, isEmptyOrNullObject } from '@msdyn365-commerce/core';\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport * as React from 'react';\r\nimport { IMenuItemData, ICountrySelectorData } from './country-selector.data';\r\nimport { ICmsNavItemsData, ICountrySelectorProps, ISubMenusData } from './country-selector.props.autogenerated';\r\n\r\nexport interface ICountrySelectorViewProps extends ICountrySelectorProps {\r\n className: string;\r\n menuItemData: IMenuItemData[];\r\n Navigation: IModuleProps;\r\n MenuList: INodeProps;\r\n ListItem: INodeProps;\r\n Link: INodeProps;\r\n Button: INodeProps;\r\n Span: INodeProps;\r\n ImageContainer: INodeProps;\r\n MobileDescriptionContainer: INodeProps;\r\n MobileBackButton: INodeProps;\r\n MobileDescriptionLabel: INodeProps;\r\n imageSettings: IImageSettings;\r\n gridSettings: IGridSettings;\r\n isMobileView: boolean;\r\n DivContainer?: INodeProps;\r\n ImageDivContainer?: INodeProps;\r\n countrySelectorIntroText: string;\r\n}\r\n\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport interface INavigationMenuState {\r\n isMobile: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * CountrySelector component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CountrySelector extends React.PureComponent, INavigationMenuState> {\r\n private static CMSItemIdInit: number = 1000;\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n private menuItemList: IMenuItemData[];\r\n private isCMS: boolean = true;\r\n @observable\r\n private viewport: GridSize;\r\n public static getFriendlyName(locale: string, nameTranslations?: TextValueTranslation[]): string | undefined {\r\n let nameTranslation: TextValueTranslation | undefined;\r\n if (locale && nameTranslations && nameTranslations.length > 0) {\r\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\r\n }\r\n\r\n return nameTranslation && nameTranslation.Text;\r\n }\r\n\r\n constructor(props: ICountrySelectorProps) {\r\n super(props);\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this.viewport =\r\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this.state = { isMobile: this.isMobile };\r\n this.menuItemList = [];\r\n }\r\n\r\n @computed get isMobile(): boolean {\r\n return this.viewport === 'xs' || this.viewport === 'sm';\r\n }\r\n\r\n public componentDidMount(): void {\r\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n this._updateViewport();\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n this.menuItemList = this._mapData();\r\n if (isEmptyOrNullObject(this.props.data)) {\r\n this.props.telemetry.error('Navigatiomenu returned null');\r\n return null;\r\n }\r\n\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=224&h=300&m=6`, w: 0, h: 0 },\r\n xl: { q: `w=224&h=300&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n imageSettings: defaultImageSettings,\r\n gridSettings: this.props.context.request.gridSettings,\r\n Navigation: {\r\n moduleProps: this.props,\r\n className: classnames(\r\n 'ms-nav menu--country-selector',\r\n this.props.config.className,\r\n this.state.isMobile ? 'mobile-vp' : 'desktop-vp'\r\n ),\r\n tag: 'nav',\r\n role: 'navigation',\r\n 'aria-label': this.props.config.countrySelectorAriaLabel\r\n },\r\n MenuList: {\r\n className: 'ms-nav__list',\r\n tag: 'ul'\r\n },\r\n ListItem: {\r\n className: 'ms-nav__list__item',\r\n tag: 'li'\r\n },\r\n Link: {\r\n tag: 'a',\r\n className: 'ms-nav__list__item__link'\r\n },\r\n DivContainer: {\r\n tag: 'div',\r\n className: 'ms-nav__feature'\r\n },\r\n ImageDivContainer: {\r\n tag: 'div',\r\n className: 'category-image',\r\n role: 'tabpanel'\r\n },\r\n Button: {\r\n className: 'ms-nav__list__item__button',\r\n tag: 'button',\r\n onClick: this.props\r\n },\r\n ImageContainer: {\r\n className: 'ms-nav__list__item__image'\r\n },\r\n Span: {\r\n className: 'ms-nav__list__item__span',\r\n tag: 'span'\r\n },\r\n MobileDescriptionContainer: {\r\n className: 'ms-nav__list__mobile__container'\r\n },\r\n MobileBackButton: {\r\n className: 'ms-nav__list__mobile__container__button',\r\n tag: 'button',\r\n onClick: this.props\r\n },\r\n MobileDescriptionLabel: {\r\n className: 'ms-nav__list__mobile__container__span',\r\n tag: 'span'\r\n },\r\n isMobileView: this.state.isMobile,\r\n menuItemData: this.menuItemList,\r\n className: classnames('ms-nav', this.props.config.className)\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _mapData(): IMenuItemData[] {\r\n const { config } = this.props;\r\n const mergedData: IMenuItemData[] = [];\r\n if (this.isCMS && config.cmsNavItems && config.cmsNavItems.length > 0) {\r\n config.cmsNavItems.map((item: ICmsNavItemsData) => mergedData.push(this._constructMenuItemData(item)));\r\n }\r\n return mergedData;\r\n }\r\n\r\n // tslint:disable-next-line: cyclomatic-complexity\r\n private _constructMenuItemData(cmsItem?: ICmsNavItemsData): IMenuItemData {\r\n return {\r\n id: CountrySelector.CMSItemIdInit++,\r\n linkText: (cmsItem && cmsItem.linkText) || '',\r\n linkURL: (cmsItem && cmsItem.linkUrl && cmsItem.linkUrl.destinationUrl) || '',\r\n imageDestinationURL: (cmsItem && cmsItem.imageLink && cmsItem.imageLink.destinationUrl) || '',\r\n imageSource: (cmsItem && cmsItem.image && cmsItem.image.src) || '',\r\n subMenu: this._getCMSNestedChildren(cmsItem)\r\n } as IMenuItemData;\r\n }\r\n\r\n private _getCMSNestedChildren(category?: ICmsNavItemsData): IMenuItemData[] {\r\n const nestedChildren: IMenuItemData[] = [];\r\n\r\n if (!category || !category.subMenus || !category.subMenus.length) {\r\n return [];\r\n }\r\n\r\n category.subMenus.map((item: ISubMenusData, idx: number) => {\r\n nestedChildren.push(this._constructMenuItemData(item));\r\n });\r\n return nestedChildren;\r\n }\r\n\r\n private _updateViewport(): void {\r\n this.viewport = this._getViewport();\r\n this.setState({ isMobile: this.isMobile });\r\n }\r\n\r\n private _getViewport(): GridSize {\r\n const { context } = this.props;\r\n // always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n if (typeof window !== undefined && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n } else {\r\n return 'xl';\r\n }\r\n }\r\n }\r\n return 'xs';\r\n }\r\n}\r\n\r\nexport default CountrySelector;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n Drawer,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IDrawerState,\r\n IPayLoad,\r\n ITelemetryContent,\r\n Module,\r\n Node,\r\n onTelemetryClick\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { IImageData } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICountrySelectorViewProps } from './country-selector';\r\nimport { IMenuItemData } from './country-selector.data';\r\nimport { ICountrySelectorConfig } from './country-selector.props.autogenerated';\r\n\r\ninterface INavigationState {\r\n parentMenu?: number;\r\n activeMenu?: number;\r\n categoryImage?: IImageData[] | null;\r\n mobileViewLabelText?: string;\r\n categoryImageAltText: string;\r\n}\r\n\r\n/**\r\n *\r\n * NavigationMenuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class CountrySelectorView extends React.PureComponent {\r\n private currentLevel: number = 0;\r\n private escapeKey: number = 27;\r\n private menuNode: React.RefObject;\r\n private telemetryContent: ITelemetryContent;\r\n private payLoad: IPayLoad;\r\n private resizeObserver: ResizeObserver | null = null;\r\n\r\n constructor(props: ICountrySelectorViewProps) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n this.state = {\r\n activeMenu: undefined,\r\n mobileViewLabelText: '',\r\n parentMenu: undefined,\r\n categoryImageAltText: ''\r\n };\r\n this._closeSubmenu = this._closeSubmenu.bind(this);\r\n this._escFunction = this._escFunction.bind(this);\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\r\n }\r\n\r\n private initializeResizeObserver = () => {\r\n this.resizeObserver = new ResizeObserver(_ => {\r\n const div = document.querySelector('.mobile.menus');\r\n if (div) {\r\n div.scrollIntoView({ behavior: 'smooth', block: 'end' });\r\n }\r\n });\r\n };\r\n\r\n public componentDidMount(): void {\r\n document.body && document.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document.body && document.body.addEventListener('mousedown', this._handleClickOutside);\r\n this.initializeResizeObserver();\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n document.body && document.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document.body && document.body.removeEventListener('mousedown', this._handleClickOutside, false);\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n }\r\n\r\n public handleDrawerToggle = (e: IDrawerState) => {\r\n const mobileMenu = document.querySelector('.mobile.menus');\r\n if (e.isOpen && mobileMenu && this.resizeObserver) {\r\n this.resizeObserver.observe(mobileMenu);\r\n }\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const { isMobileView } = this.props;\r\n\r\n this.currentLevel = 1;\r\n return {isMobileView ? this._renderMobileMenu() : this._renderDesktopMenu()};\r\n }\r\n\r\n private _renderMobileMenu(): JSX.Element {\r\n const { isMobileView, menuItemData, Navigation, config } = this.props;\r\n return (\r\n \r\n {menuItemData.map((menuItem: IMenuItemData) => {\r\n return this._renderDrawerMenu(menuItem, config);\r\n })}\r\n \r\n );\r\n }\r\n private _renderDesktopMenu(): JSX.Element {\r\n const { MenuList, Navigation } = this.props;\r\n return (\r\n \r\n \r\n {this._renderDisplay()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDrawerMenu(menuItem: IMenuItemData, config: ICountrySelectorConfig): JSX.Element | null {\r\n if (menuItem && menuItem.subMenu && menuItem.subMenu.length > 0) {\r\n return this._renderDrawer(menuItem, config);\r\n } else {\r\n return this._renderLinkMenuItem(menuItem);\r\n }\r\n }\r\n\r\n private _renderDrawer(menuItem: IMenuItemData, config: ICountrySelectorConfig): JSX.Element | null {\r\n const toggleButtonText = menuItem.linkText;\r\n const toggleButtonImg = menuItem.imageSource;\r\n return (\r\n \r\n
\r\n {config.countrySelectorIntroText &&

{config.countrySelectorIntroText}

}\r\n {menuItem.subMenu!.map((menuSubItem: IMenuItemData) => {\r\n return this._renderDrawerLink(menuSubItem);\r\n })}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _renderLinkText(linkText: string | undefined, linkImg: string | undefined): JSX.Element {\r\n return (\r\n \r\n {linkText}\r\n {linkImg && {''}}\r\n \r\n );\r\n }\r\n\r\n private _renderDrawerLink(item: IMenuItemData): JSX.Element | null {\r\n if (item && item.linkText && item.linkURL && item.linkURL.length > 0) {\r\n return this._renderLinkMenuItem(item);\r\n } else if (item && item.linkText && !item.linkURL) {\r\n return this._renderSpanMenuItem(item);\r\n }\r\n return null;\r\n }\r\n\r\n private _renderDisplay(): JSX.Element[] {\r\n const { ListItem, menuItemData, isMobileView } = this.props;\r\n const { activeMenu } = this.state;\r\n const menuItemList: JSX.Element[] = [];\r\n\r\n if (isMobileView && activeMenu !== undefined && menuItemData.length > 0) {\r\n let menuItem: IMenuItemData = {};\r\n for (let i = 0; i < menuItemData.length; i++) {\r\n if (menuItemData[i] && menuItemData[i].id === activeMenu) {\r\n menuItem = menuItemData[i];\r\n this.setState({\r\n parentMenu: undefined,\r\n mobileViewLabelText: menuItemData[i].linkText\r\n });\r\n break;\r\n }\r\n menuItem = this._getFromSubMenu(menuItemData[i]) as IMenuItemData;\r\n if (menuItem && menuItem.id === activeMenu) {\r\n break;\r\n }\r\n }\r\n\r\n menuItem &&\r\n menuItemList.push(\r\n \r\n {' '}\r\n {this._createMenuItemList(menuItem)}{' '}\r\n \r\n );\r\n } else {\r\n menuItemData.forEach((item: IMenuItemData, index: number) => {\r\n menuItemList.push(\r\n \r\n {this._createMenuItemList(item)}\r\n \r\n );\r\n });\r\n }\r\n\r\n return menuItemList;\r\n }\r\n\r\n private _getFromSubMenu(item?: IMenuItemData): IMenuItemData | null {\r\n const subMenus = item && item.subMenu;\r\n if (subMenus && subMenus.length > 0) {\r\n for (let i = 0; i <= subMenus.length - 1; i++) {\r\n if (subMenus[i].id === this.state.activeMenu) {\r\n this.setState({\r\n parentMenu: item && item.id,\r\n mobileViewLabelText: subMenus[i].linkText\r\n });\r\n return subMenus[i];\r\n }\r\n const found = this._getFromSubMenu(subMenus[i]);\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private _createMenuItemList(menuItemData: IMenuItemData): JSX.Element | null {\r\n if (menuItemData && menuItemData.subMenu && menuItemData.subMenu.length > 0) {\r\n if (this.props.isMobileView && this.state.activeMenu !== undefined) {\r\n return this._renderSubMenu(menuItemData.subMenu, menuItemData.id);\r\n } else {\r\n return (\r\n \r\n {this._renderButtonMenuItem(menuItemData)}\r\n {this._renderSubMenu(menuItemData.subMenu, menuItemData.id)}\r\n \r\n );\r\n }\r\n } else if (menuItemData && menuItemData.linkText && menuItemData.linkURL && menuItemData.linkURL.length > 0) {\r\n return this._renderLinkMenuItem(menuItemData, menuItemData.id, false);\r\n } else if (menuItemData && menuItemData.linkText && !menuItemData.linkURL) {\r\n return this._renderSpanMenuItem(menuItemData);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderSubMenu(subMenus?: IMenuItemData[], activeMenu?: number, IsSubMenu?: boolean): JSX.Element | null {\r\n const { isMobileView, ListItem } = this.props;\r\n const enableMultiSupportMenu = false;\r\n const multiLevelSupportedMenu = 2;\r\n // const isParentMenu:boolean= false;\r\n if (activeMenu && this.state.activeMenu !== activeMenu) {\r\n // this.props.context.telemetry.error(\r\n // \"Navigation Active menu content is empty, module wont render.\"\r\n // );\r\n return null;\r\n }\r\n\r\n if (!subMenus || subMenus.length === 0) {\r\n // this.props.context.telemetry.error(\r\n // \"Navigation Submenu content is empty, module wont render.\"\r\n // );\r\n return null;\r\n }\r\n\r\n let levelClassName: string = '';\r\n const menuOptions =\r\n subMenus &&\r\n subMenus.map((option: IMenuItemData, idx: number) => {\r\n const hasOptions = option.subMenu && option.subMenu.length > 0;\r\n let menuItem: JSX.Element | null;\r\n if (hasOptions && isMobileView) {\r\n menuItem = this._renderButtonMenuItem(option, activeMenu, idx);\r\n } else {\r\n menuItem = option.linkURL ? this._renderLinkMenuItem(option, idx) : this._renderSpanMenuItem(option);\r\n }\r\n let subMenu;\r\n const haveSubmenu = hasOptions && enableMultiSupportMenu && this.currentLevel <= Math.round(multiLevelSupportedMenu) - 1;\r\n if (haveSubmenu) {\r\n this.currentLevel++;\r\n levelClassName = enableMultiSupportMenu ? `level-${this.currentLevel.toString()}` : '';\r\n subMenu = this._renderSubMenu(option.subMenu, isMobileView ? option.id : undefined, true);\r\n }\r\n return (\r\n \r\n {menuItem}\r\n {subMenu}\r\n \r\n );\r\n });\r\n return this._renderMenu(levelClassName, menuOptions, activeMenu, IsSubMenu);\r\n }\r\n\r\n private _renderButtonMenuItem(option: IMenuItemData, activeMenu?: number, index?: number): JSX.Element | null {\r\n const { Button } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n {option.imageSource && {''}}\r\n \r\n );\r\n }\r\n\r\n private _renderLinkMenuItem(option: IMenuItemData, index?: number, hoverEffect: boolean = true): JSX.Element | null {\r\n const { Link } = this.props;\r\n const linkText = option.linkText ? option.linkText : '';\r\n const imagesource = option.imageSource ? option.imageSource : '';\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n const currentSite = typeof window !== 'undefined' && `${location.origin}${this.props.context.request.sitePath}`;\r\n const currentLang = currentSite === option.linkURL ? true : false;\r\n return (\r\n \r\n {imagesource && {''}}\r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderSpanMenuItem(option: IMenuItemData, index?: number): JSX.Element | null {\r\n const { Span } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderMenu(level: string, menuOptions: JSX.Element[], currentItem?: number, submenu?: boolean): JSX.Element | null {\r\n const { DivContainer, MenuList, config } = this.props;\r\n const DivContainerClass = this.currentLevel > 2 ? DivContainer!.className : 'ms-nav__deafult';\r\n this.currentLevel = 1;\r\n return (\r\n \r\n \r\n {config.countrySelectorIntroText &&

{config.countrySelectorIntroText}

}\r\n\r\n {menuOptions}\r\n
\r\n
\r\n );\r\n }\r\n private _handleDropdownToggle = (data: IMenuItemData, parentId?: number) => () => {\r\n if (!this.props.isMobileView) {\r\n this.setState({\r\n activeMenu: this.state.activeMenu && this.state.activeMenu === data.id! ? undefined : data.id!,\r\n parentMenu: parentId\r\n });\r\n } else {\r\n this.setState({\r\n activeMenu: data.id,\r\n mobileViewLabelText: data.linkText!,\r\n parentMenu: parentId\r\n });\r\n }\r\n\r\n this._resetFocus();\r\n };\r\n\r\n private _resetFocus = () => {\r\n if (this.props.isMobileView) {\r\n setTimeout(() => {\r\n this.menuNode && this.menuNode.current && this.menuNode.current.focus();\r\n }, 0);\r\n }\r\n };\r\n\r\n // tslint:disable-next-line:no-any\r\n private _handleClickOutside = (event: any) => {\r\n if (this.menuNode.current && !this.menuNode.current.contains(event.target)) {\r\n this.setState({ activeMenu: undefined, mobileViewLabelText: '' });\r\n }\r\n };\r\n\r\n private _closeSubmenu(): void {\r\n if (!this.props.isMobileView) {\r\n this.setState({ activeMenu: undefined, mobileViewLabelText: '' });\r\n }\r\n }\r\n private _escFunction = (event: React.KeyboardEvent) => {\r\n if (event.keyCode === this.escapeKey) {\r\n this._closeSubmenu();\r\n }\r\n };\r\n}\r\n\r\nexport default CountrySelectorView;\r\n","// tslint:disable-next-line:variable-name\r\nexport const convert_a2_to_a3 = {\r\n AF: 'AFG',\r\n AX: 'ALA',\r\n AL: 'ALB',\r\n DZ: 'DZA',\r\n AS: 'ASM',\r\n AD: 'AND',\r\n AO: 'AGO',\r\n AI: 'AIA',\r\n AQ: 'ATA',\r\n AG: 'ATG',\r\n AR: 'ARG',\r\n AM: 'ARM',\r\n AW: 'ABW',\r\n AU: 'AUS',\r\n AT: 'AUT',\r\n AZ: 'AZE',\r\n BS: 'BHS',\r\n BH: 'BHR',\r\n BD: 'BGD',\r\n BB: 'BRB',\r\n BY: 'BLR',\r\n BE: 'BEL',\r\n BZ: 'BLZ',\r\n BJ: 'BEN',\r\n BM: 'BMU',\r\n BT: 'BTN',\r\n BO: 'BOL',\r\n BA: 'BIH',\r\n BW: 'BWA',\r\n BV: 'BVT',\r\n BR: 'BRA',\r\n IO: 'IOT',\r\n BN: 'BRN',\r\n BG: 'BGR',\r\n BF: 'BFA',\r\n BI: 'BDI',\r\n KH: 'KHM',\r\n CM: 'CMR',\r\n CA: 'CAN',\r\n CV: 'CPV',\r\n KY: 'CYM',\r\n CF: 'CAF',\r\n TD: 'TCD',\r\n CL: 'CHL',\r\n CN: 'CHN',\r\n CX: 'CXR',\r\n CC: 'CCK',\r\n CO: 'COL',\r\n KM: 'COM',\r\n CG: 'COG',\r\n CD: 'COD',\r\n CK: 'COK',\r\n CR: 'CRI',\r\n CI: 'CIV',\r\n HR: 'HRV',\r\n CU: 'CUB',\r\n CY: 'CYP',\r\n CZ: 'CZE',\r\n DK: 'DNK',\r\n DJ: 'DJI',\r\n DM: 'DMA',\r\n DO: 'DOM',\r\n EC: 'ECU',\r\n EG: 'EGY',\r\n SV: 'SLV',\r\n GQ: 'GNQ',\r\n ER: 'ERI',\r\n EE: 'EST',\r\n ET: 'ETH',\r\n FK: 'FLK',\r\n FO: 'FRO',\r\n FJ: 'FJI',\r\n FI: 'FIN',\r\n FR: 'FRA',\r\n GF: 'GUF',\r\n PF: 'PYF',\r\n TF: 'ATF',\r\n GA: 'GAB',\r\n GM: 'GMB',\r\n GE: 'GEO',\r\n DE: 'DEU',\r\n GH: 'GHA',\r\n GI: 'GIB',\r\n GR: 'GRC',\r\n GL: 'GRL',\r\n GD: 'GRD',\r\n GP: 'GLP',\r\n GU: 'GUM',\r\n GT: 'GTM',\r\n GG: 'GGY',\r\n GN: 'GIN',\r\n GW: 'GNB',\r\n GY: 'GUY',\r\n HT: 'HTI',\r\n HM: 'HMD',\r\n VA: 'VAT',\r\n HN: 'HND',\r\n HK: 'HKG',\r\n HU: 'HUN',\r\n IS: 'ISL',\r\n IN: 'IND',\r\n ID: 'IDN',\r\n IR: 'IRN',\r\n IQ: 'IRQ',\r\n IE: 'IRL',\r\n IM: 'IMN',\r\n IL: 'ISR',\r\n IT: 'ITA',\r\n JM: 'JAM',\r\n JP: 'JPN',\r\n JE: 'JEY',\r\n JO: 'JOR',\r\n KZ: 'KAZ',\r\n KE: 'KEN',\r\n KI: 'KIR',\r\n KP: 'PRK',\r\n KR: 'KOR',\r\n KW: 'KWT',\r\n KG: 'KGZ',\r\n LA: 'LAO',\r\n LV: 'LVA',\r\n LB: 'LBN',\r\n LS: 'LSO',\r\n LR: 'LBR',\r\n LY: 'LBY',\r\n LI: 'LIE',\r\n LT: 'LTU',\r\n LU: 'LUX',\r\n MO: 'MAC',\r\n MK: 'MKD',\r\n MG: 'MDG',\r\n MW: 'MWI',\r\n MY: 'MYS',\r\n MV: 'MDV',\r\n ML: 'MLI',\r\n MT: 'MLT',\r\n MH: 'MHL',\r\n MQ: 'MTQ',\r\n MR: 'MRT',\r\n MU: 'MUS',\r\n YT: 'MYT',\r\n MX: 'MEX',\r\n FM: 'FSM',\r\n MD: 'MDA',\r\n MC: 'MCO',\r\n MN: 'MNG',\r\n ME: 'MNE',\r\n MS: 'MSR',\r\n MA: 'MAR',\r\n MZ: 'MOZ',\r\n MM: 'MMR',\r\n NA: 'NAM',\r\n NR: 'NRU',\r\n NP: 'NPL',\r\n NL: 'NLD',\r\n AN: 'ANT',\r\n NC: 'NCL',\r\n NZ: 'NZL',\r\n NI: 'NIC',\r\n NE: 'NER',\r\n NG: 'NGA',\r\n NU: 'NIU',\r\n NF: 'NFK',\r\n MP: 'MNP',\r\n NO: 'NOR',\r\n OM: 'OMN',\r\n PK: 'PAK',\r\n PW: 'PLW',\r\n PS: 'PSE',\r\n PA: 'PAN',\r\n PG: 'PNG',\r\n PY: 'PRY',\r\n PE: 'PER',\r\n PH: 'PHL',\r\n PN: 'PCN',\r\n PL: 'POL',\r\n PT: 'PRT',\r\n PR: 'PRI',\r\n QA: 'QAT',\r\n RE: 'REU',\r\n RO: 'ROU',\r\n RU: 'RUS',\r\n RW: 'RWA',\r\n BL: 'BLM',\r\n SH: 'SHN',\r\n KN: 'KNA',\r\n LC: 'LCA',\r\n MF: 'MAF',\r\n PM: 'SPM',\r\n VC: 'VCT',\r\n WS: 'WSM',\r\n SM: 'SMR',\r\n ST: 'STP',\r\n SA: 'SAU',\r\n SN: 'SEN',\r\n RS: 'SRB',\r\n SC: 'SYC',\r\n SL: 'SLE',\r\n SG: 'SGP',\r\n SK: 'SVK',\r\n SI: 'SVN',\r\n SB: 'SLB',\r\n SO: 'SOM',\r\n ZA: 'ZAF',\r\n GS: 'SGS',\r\n ES: 'ESP',\r\n LK: 'LKA',\r\n SD: 'SDN',\r\n SR: 'SUR',\r\n SJ: 'SJM',\r\n SZ: 'SWZ',\r\n SE: 'SWE',\r\n CH: 'CHE',\r\n SY: 'SYR',\r\n TW: 'TWN',\r\n TJ: 'TJK',\r\n TZ: 'TZA',\r\n TH: 'THA',\r\n TL: 'TLS',\r\n TG: 'TGO',\r\n TK: 'TKL',\r\n TO: 'TON',\r\n TT: 'TTO',\r\n TN: 'TUN',\r\n TR: 'TUR',\r\n TM: 'TKM',\r\n TC: 'TCA',\r\n TV: 'TUV',\r\n UG: 'UGA',\r\n UA: 'UKR',\r\n AE: 'ARE',\r\n GB: 'GBR',\r\n US: 'USA',\r\n UM: 'UMI',\r\n UY: 'URY',\r\n UZ: 'UZB',\r\n VU: 'VUT',\r\n VE: 'VEN',\r\n VN: 'VNM',\r\n VG: 'VGB',\r\n VI: 'VIR',\r\n WF: 'WLF',\r\n EH: 'ESH',\r\n YE: 'YEM',\r\n ZM: 'ZMB',\r\n ZW: 'ZWE'\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address';\r\nimport { convert_a2_to_a3 } from '../utils/convert_a2_a3';\r\n\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items &&\r\n items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n \r\n {isShowError && (\r\n \r\n {title}\r\n {message}\r\n \r\n )}\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n {removeButton}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n// tslint:disable-next-line:max-func-body-length\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const resources = other?.moduleProps?.resources;\r\n // @ts-ignore\r\n const localeString = other?.moduleProps?.context?.request?.locale;\r\n // @ts-ignore\r\n const sitePath = other?.moduleProps?.context?.request?.sitePath;\r\n const europe = ['/fr', '/de'];\r\n // @ts-ignore\r\n const currency = other?.moduleProps?.context?.request?.channel?.Currency;\r\n const locale =\r\n sitePath && europe.includes(sitePath)\r\n ? 'eu'\r\n : currency === 'EUR' && localeString === 'en-GB'\r\n ? 'eu'\r\n : localeString.replace('-', '');\r\n\r\n const [hasAddressError, setHasAddressError] = React.useState(false);\r\n React.useEffect(() => {\r\n setHasAddressError(error.title ? true : false);\r\n }, [error.title]);\r\n // console.log(`${currency} ${localeString} ${locale}`);\r\n const countriesAvail = {\r\n enGB: {\r\n autocomplete: ['gb'],\r\n select: ['GBR']\r\n },\r\n it: {\r\n autocomplete: ['it'],\r\n select: ['ITA']\r\n },\r\n enUS: {\r\n autocomplete: ['us'],\r\n // autocomplete: ['us', 'ca'],\r\n // select: ['USA', 'CAN']\r\n select: ['USA']\r\n },\r\n eu: {\r\n // removed componentRestrictions for country as there is limit of 5 in google maps\r\n // autocomplete:['at','be','bg','ch','cz','de','dk','es','ee','fi','fr','gr','hr','hu','ie','li','lt','lu','lv','mc','nl','no','pl','pt','ro','sk','si','se'],\r\n autocomplete: [],\r\n select: [\r\n 'AUT',\r\n 'BEL',\r\n 'BGR',\r\n 'CHE',\r\n 'CZE',\r\n 'DEU',\r\n 'DNK',\r\n 'ESP',\r\n 'EST',\r\n 'FIN',\r\n 'FRA',\r\n 'GRC',\r\n 'HRV',\r\n 'HUN',\r\n 'IRL',\r\n 'LIE',\r\n 'LTU',\r\n 'LUX',\r\n 'LVA',\r\n 'MCO',\r\n 'NLD',\r\n 'NOR',\r\n 'POL',\r\n 'PRT',\r\n 'ROU',\r\n 'SVK',\r\n 'SVN',\r\n 'SWE'\r\n ]\r\n },\r\n enSG: {\r\n autocomplete: ['sg'],\r\n select: ['SGP']\r\n }\r\n };\r\n // @ts-ignore\r\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;\r\n // tslint:disable-next-line:typedef\r\n function gMapsAutocomplete() {\r\n const googleComponents = [\r\n { googleComponent: 'sublocality_level_1', id: 'shipping_addresscity' },\r\n { googleComponent: 'locality', id: 'shipping_addresscity' },\r\n { googleComponent: 'postal_town', id: 'shipping_addresscity' },\r\n { googleComponent: 'administrative_area_level_3', id: 'shipping_addresscity' },\r\n { googleComponent: 'administrative_area_level_1', id: 'shipping_addressstate' },\r\n { googleComponent: 'postal_code_prefix', id: 'shipping_addresszipcode' },\r\n { googleComponent: 'postal_code', id: 'shipping_addresszipcode' },\r\n { googleComponent: 'country', id: 'shipping_addressthreeletterisoregionname' },\r\n { googleComponent: 'administrative_area_level_2', id: 'shipping_addresscounty' }\r\n ];\r\n\r\n const autocompleteFormField = document.getElementById('shipping_addressstreet');\r\n // @ts-ignore\r\n const autocomplete = new window.google.maps.places.Autocomplete(autocompleteFormField, {\r\n types: ['address'],\r\n componentRestrictions: { country: countriesAvail[locale] && countriesAvail[locale].autocomplete }\r\n });\r\n if (autocompleteFormField === null) {\r\n return;\r\n }\r\n autocompleteFormField.setAttribute('placeholder', resources.startTypingYourAddress);\r\n // @ts-ignore\r\n window.google.maps.event.clearInstanceListeners(autocompleteFormField);\r\n // @ts-ignore\r\n window.google.maps.event.addListener(autocomplete, `place_changed`, () => {\r\n const place = autocomplete.getPlace();\r\n // console.log(place);\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n nativeInputValueSetter.call(autocompleteFormField, place.name);\r\n const eCustom = new Event('change', { bubbles: true });\r\n autocompleteFormField.dispatchEvent(eCustom);\r\n for (const googleComponent of googleComponents) {\r\n const addressComponents = place.address_components;\r\n if (addressComponents && addressComponents.length > 0) {\r\n // @ts-ignore\r\n addressComponents.forEach(addressComponent => populateFormElements(addressComponent, googleComponent));\r\n }\r\n }\r\n });\r\n }\r\n // tslint:disable-next-line:typedef no-any\r\n function populateFormElements(\r\n addressComponent: { types: any[]; short_name: string; long_name: string },\r\n formMap: { googleComponent: any; id: string }\r\n ) {\r\n const addressType = addressComponent.types[0];\r\n\r\n if (document.getElementById(formMap.id) === undefined || document.getElementById(formMap.id) === null) {\r\n return;\r\n }\r\n\r\n if (formMap.googleComponent === addressType) {\r\n if (formMap.id === 'shipping_addressthreeletterisoregionname' || formMap.id === 'shipping_addressstate') {\r\n const input = document.getElementById(formMap.id) as HTMLSelectElement;\r\n if (input !== null) {\r\n const formValue = locale === 'it' && formMap.id === 'shipping_addressstate' ? 'DEF' : addressComponent.short_name;\r\n // console.log(formValue);\r\n const selectedValue = selectItemByValue(input, formValue, addressType === 'country' ? true : false);\r\n // console.log(selectedValue);\r\n if (selectedValue !== undefined) {\r\n input.value = selectedValue;\r\n // console.log(input.value);\r\n const event = new Event('change', { bubbles: true });\r\n input.dispatchEvent(event);\r\n }\r\n }\r\n } else {\r\n const formValue = formMap.id === 'shipping_addresscounty' ? addressComponent.short_name : addressComponent.long_name;\r\n const input = document.getElementById(formMap.id);\r\n if (input !== undefined) {\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n nativeInputValueSetter.call(input, formValue);\r\n const eCustom = new Event('input', { bubbles: true });\r\n if (input !== null) {\r\n input.dispatchEvent(eCustom);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // @ts-ignore\r\n // tslint:disable-next-line:typedef\r\n function selectItemByValue(elmnt: HTMLSelectElement, value: string, is_convert_a2_to_a3) {\r\n for (let i = 0; i < elmnt.options.length; i++) {\r\n const eValue = elmnt.options[i].value;\r\n if ((is_convert_a2_to_a3 && eValue === convert_a2_to_a3[value]) || (!is_convert_a2_to_a3 && eValue === value)) {\r\n return elmnt.options[i].value;\r\n }\r\n }\r\n }\r\n const checkPhone = () => {\r\n const saveAddressButton = document.querySelector('.msc-address-form__button-save.msc-btn') as HTMLButtonElement;\r\n const phone = document.getElementById('shipping_addressphone') as HTMLInputElement;\r\n if (phone) {\r\n const phoneCtn = phone.closest('.msc-address-form__item') as HTMLElement;\r\n const phoneAlert = phoneCtn.getElementsByClassName('msc-address-form__alert')[0];\r\n const pattern = /^[0-9]*$/;\r\n const pattern2 = /^\\+?\\d+$/;\r\n phone.setAttribute('aria-required', 'true');\r\n phone.setAttribute('type', 'tel');\r\n phone.setAttribute('maxlength', '15');\r\n if (phone.value.length === 0) {\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n }\r\n phone.onkeyup = () => {\r\n if (!phone.value.match(pattern) && !phone.value.match(pattern2)) {\r\n phoneCtn.classList.add('address-form__item-invalid');\r\n phoneAlert.textContent = resources.addressPhoneRequiredErrorMessage;\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n } else if (phone.value.length < 6) {\r\n phoneCtn.classList.add('address-form__item-invalid');\r\n phoneAlert.textContent = resources.addressPhoneRequiredErrorMessage;\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n } else {\r\n phoneCtn.classList.remove('address-form__item-invalid');\r\n phoneAlert.textContent = '';\r\n saveAddressButton.removeAttribute('disabled');\r\n }\r\n };\r\n }\r\n };\r\n function phoneValidation(): void {\r\n const addressForm = document.getElementsByClassName('msc-address-form')[0];\r\n const saveAddressButton = document.querySelector('.msc-address-form__button-save.msc-btn') as HTMLButtonElement;\r\n const county = document.getElementById('shipping_addresscounty') as HTMLInputElement;\r\n const countyCtn = county && county !== null ? (county.closest('.msc-address-form__item') as HTMLInputElement) : undefined;\r\n const countyAlert = countyCtn?.getElementsByClassName('msc-address-form__alert')[0];\r\n\r\n if (countyCtn !== undefined) {\r\n countyCtn.onkeyup = () => {\r\n countyCtn?.classList.remove('address-form__item-invalid');\r\n if (countyAlert) {\r\n countyAlert.textContent = '';\r\n }\r\n };\r\n }\r\n if (saveAddressButton !== undefined) {\r\n saveAddressButton.onclick = e => {\r\n const countyValid =\r\n locale === 'it' && (county.value === '' || county.value.length > 2 || !/[^a-z]/i.test(county.value) === false)\r\n ? false\r\n : true;\r\n if (!countyValid) {\r\n countyCtn?.classList.add('address-form__item-invalid');\r\n if (countyAlert) {\r\n countyAlert.textContent = 'Inserire Codice ISO a 2 lettere';\r\n }\r\n const elements = addressForm.querySelectorAll('input');\r\n let fieldInALL = true;\r\n elements.forEach(fieldInControl);\r\n function fieldInControl(element: HTMLInputElement): void {\r\n if (element.value === '' && element.name !== 'County') {\r\n fieldInALL = false;\r\n }\r\n }\r\n if (fieldInALL) {\r\n e.stopPropagation();\r\n }\r\n }\r\n };\r\n }\r\n }\r\n React.useEffect(() => {\r\n gMapsAutocomplete();\r\n const options = document.querySelectorAll('#shipping_addressthreeletterisoregionname option');\r\n options.forEach(o => {\r\n const optionV = (o as HTMLOptionElement).value;\r\n if (countriesAvail[locale] && !countriesAvail[locale].select.includes(optionV)) {\r\n o.remove();\r\n }\r\n });\r\n const countrySelect = document.getElementById('shipping_addressthreeletterisoregionname') as HTMLSelectElement;\r\n if (locale === 'enUS') {\r\n countrySelect.value = 'USA';\r\n }\r\n const event = new Event('change', { bubbles: true });\r\n countrySelect.dispatchEvent(event);\r\n }, []);\r\n\r\n // Auto select of DEF value in state select on italian site\r\n React.useEffect(() => {\r\n const event = new Event('change', { bubbles: true });\r\n if (locale === 'it' && (document.querySelector('#shipping_addressstate option[value=DEF]') as HTMLOptionElement)) {\r\n const optionDEF = document.querySelector('#shipping_addressstate option[value=DEF]') as HTMLOptionElement;\r\n optionDEF.setAttribute('aria-selected', 'true');\r\n (optionDEF.parentNode as HTMLSelectElement).value = 'DEF';\r\n (optionDEF.parentNode as HTMLSelectElement).dispatchEvent(event);\r\n (optionDEF.parentNode as HTMLSelectElement).disabled = Boolean('true');\r\n }\r\n }, [document.querySelector('#shipping_addressstate option[value=DEF]')]);\r\n\r\n React.useEffect(() => {\r\n const phoneItem = items.find(i => i.key === 'Phone');\r\n\r\n //@ts-ignore\r\n if (phoneItem?.input?.props?.onChange) {\r\n //@ts-ignore\r\n const { onChange } = phoneItem.input.props;\r\n\r\n const handlePhoneChange = (event: React.ChangeEvent) => {\r\n onChange(event);\r\n checkPhone();\r\n };\r\n\r\n //@ts-ignore\r\n phoneItem.input.props.onChange = handlePhoneChange;\r\n }\r\n }, [items]);\r\n\r\n React.useEffect(() => {\r\n phoneValidation();\r\n }, [document.getElementsByClassName('msc-address-form')[0]]);\r\n\r\n // Refesh once saving processed\r\n let updatedCount = 0;\r\n React.useEffect(() => {\r\n ++updatedCount;\r\n if (updatedCount > 1) {\r\n location.reload();\r\n }\r\n }, [document.querySelector('.msc-address-form__button-updating')]);\r\n return (\r\n \r\n {heading}\r\n {items &&\r\n items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n if (key === 'Name' && input) {\r\n // @ts-ignore\r\n input.props.maxLength = 34;\r\n }\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasAddressError && (\r\n \r\n

{resources.addressErrorMessage}

\r\n
\r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n
\r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n IAccountPreference,\r\n IAccountPreferences,\r\n IAccountProfileItem,\r\n IAccountProfileViewProps\r\n} from '@msdyn365-commerce-modules/account-management';\r\nimport { IAccountProfileProps } from '../definition-extensions/account-profile.ext.props.autogenerated';\r\n\r\nconst AccountPreferencesSection: React.FC = ({ accountPreferences, heading, personalization, extraPreferences }) => {\r\n return (\r\n \r\n {heading}\r\n \r\n {extraPreferences &&\r\n extraPreferences.map((preferenceSecton, index) => {\r\n return ;\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AccountPreferenceSection: React.FC = ({\r\n accountPreference,\r\n heading,\r\n description,\r\n buttonWrapper,\r\n buttonYesText,\r\n button,\r\n buttonNoText\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n \r\n {buttonNoText}\r\n {button}\r\n {buttonYesText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AccountProfileSection: React.FC = ({ AccountProfileItem, heading, links, description }) => {\r\n return (\r\n \r\n {heading}\r\n {description}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nconst AccountProfileView: React.FC> = props => {\r\n const {\r\n AccountProfile,\r\n accountProfileWrapper,\r\n heading,\r\n emailSection,\r\n nameSection,\r\n preferenceSection,\r\n customerAttributesWrapper,\r\n customerAttributesSection\r\n } = props;\r\n\r\n React.useEffect(() => {\r\n if (document.getElementsByClassName('ms-account-profile__attributes-GenericMarketing').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-GenericMarketing')[1].innerHTML =\r\n // @ts-ignore\r\n props.config.textGenericMarketing;\r\n }\r\n if (document.getElementsByClassName('ms-account-profile__attributes-Profiling').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-Profiling')[1].innerHTML = props.config.textProfiling;\r\n }\r\n if (document.getElementsByClassName('ms-account-profile__attributes-ThirdParty').length) {\r\n // @ts-ignore\r\n // tslint:disable-next-line:no-inner-html\r\n document.getElementsByClassName('ms-account-profile__attributes-ThirdParty')[1].innerHTML = props.config.textThirdParty;\r\n }\r\n\r\n document.getElementsByClassName('ms-account-profile__attributes-edit-button msc-btn')[0].addEventListener('click', () => {\r\n const bd_input: HTMLInputElement = document.getElementsByClassName(\r\n 'ms-account-profile__attributes-element ms-account-profile__attributes_input ms-account-profile__attributes_input-edit-false ms-account-profile__Birthday-input'\r\n )[0] as HTMLInputElement;\r\n // const prev_date = bd_input.value;\r\n if (props.context.request.canonicalDomain !== 'us.venchi.com') {\r\n // The following is undefined due to the element not existing yet at runtime\r\n // const never_mind: HTMLButtonElement = document.getElementsByClassName('ms-account-profile__attributes-cancel-button msc-btn')[0] as HTMLButtonElement;\r\n\r\n // Protip: This resets the birthday value on click, so be mindful of that\r\n bd_input.setAttribute('type', 'date');\r\n\r\n // never_mind.addEventListener(\"click\", () => {\r\n // bd_input.setAttribute('type', 'text');\r\n // bd_input.value = prev_date;\r\n // });\r\n }\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {heading}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {accountProfileWrapper && (\r\n \r\n \r\n \r\n {customerAttributesWrapper && (\r\n {customerAttributesSection}\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {customerAttributesWrapper && {customerAttributesSection}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountProfileView;\r\n","import { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport {\r\n IReportReviewModalViewProps,\r\n IReviewCardViewProps,\r\n IReviewsListState,\r\n IReviewsListViewProps\r\n} from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n// import { getTelemetryObject } from '@msdyn365-commerce-modules/utilities';\r\n// import { constructViewportInformationForImage } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\n\r\nconst ReviewsListview: React.FC = props => {\r\n const {\r\n /* averageRating,\r\n filterByDropdown, */\r\n moduleProps,\r\n /* noReviewsMessage, */\r\n noReviewsWithFilterMessage,\r\n pageControls,\r\n /* refineReviewsProps, */\r\n reportReviewModal,\r\n /* reviewsListProps, */\r\n reviewCards,\r\n /* reviewCount, */\r\n reviewModal,\r\n /* sortByDropdown, */\r\n state,\r\n userReview\r\n } = props;\r\n\r\n const [modalOpen, setModalOpen] = React.useState(false);\r\n // const telemetryContent = getTelemetryObject(props.context.request.telemetryPageName ?? '', 'Recensioni', props.telemetry);\r\n\r\n const _toggleReviewModal = () => {\r\n document.body.style.overflowY = modalOpen ? 'scroll' : 'hidden';\r\n setModalOpen(!modalOpen);\r\n };\r\n\r\n // @ts-ignore\r\n const averageRating = props.data.ratingsSummary.result.averageRating ?? 0;\r\n // @ts-ignore\r\n const buttonLabel = props.resources.product_review_list_button_label ?? '';\r\n // @ts-ignore\r\n const title = props.resources.reviewListLabel ?? '';\r\n\r\n React.useEffect(() => {\r\n const page_summary = document.getElementsByClassName('msc-average-rating-container')[0];\r\n const modal_summary = document.getElementsByClassName('msc-average-rating-container')[1];\r\n if (page_summary && modal_summary) {\r\n modal_summary.innerHTML = page_summary.innerHTML;\r\n }\r\n });\r\n\r\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\r\n /* return {noReviewsMessage}; */\r\n /* return (\r\n \r\n
\r\n
); */\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {/* {averageRating}\r\n {reviewCount} */}\r\n {/* { reviewCards.length === 0 ?\r\n null : \r\n {sortByDropdown}\r\n {filterByDropdown}\r\n \r\n } */}\r\n {/* {React.createElement(React.Fragment, null,\r\n modalToggle,\r\n createReviewModal(reviewModal, moduleProps)))} */}\r\n {/* \r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n */}\r\n
\r\n
e.stopPropagation()}>\r\n
\r\n {title}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\r\n {pageControls}\r\n {createReviewModal(reviewModal, moduleProps)}\r\n {createReportModal(reportReviewModal, state)}\r\n
\r\n );\r\n};\r\n\r\nconst buildReviewCard = (props: IReviewCardViewProps) => {\r\n return (\r\n \r\n \r\n {props.name}\r\n {props.date}\r\n {props.rating}\r\n \r\n \r\n \r\n {/* {props.reviewTitle} */}\r\n {props.reviewText}\r\n \r\n \r\n {props.responseName}\r\n {props.responseDate}\r\n {props.responseText}\r\n \r\n \r\n {/* {props.ratingHelpfulLabel}\r\n {props.like}\r\n {props.dislike} */}\r\n {props.edit}\r\n {/* {props.report} */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\r\n return (\r\n \r\n {props.modalHeader}\r\n \r\n \r\n \r\n {props.rating}\r\n {props.ratingLabel}\r\n \r\n \r\n {props.titleLabel}\r\n {props.titleInput}\r\n \r\n \r\n {props.textLabel}\r\n {props.textInput}\r\n \r\n {props.privacyPolicyUrl}\r\n {props.error}\r\n \r\n \r\n \r\n {props.submitButton}\r\n {props.cancelButton}\r\n \r\n \r\n );\r\n};\r\n\r\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\r\n return (\r\n \r\n {state.reported ? props.headerSubmitted : props.header}\r\n \r\n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\r\n \r\n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\r\n \r\n );\r\n};\r\n\r\nexport default ReviewsListview;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\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 { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\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 {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\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 { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: 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: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n \n );\n }\n}\n\nexport default CatalogPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\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 { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n \n \n );\n};\n\nexport default imageListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection 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 private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\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 interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: 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 const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) 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.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\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 { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\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 { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\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\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n"],"names":["CountrySelector","React","constructor","props","super","isCMS","this","_updateViewport","bind","viewport","context","request","device","Type","state","isMobile","menuItemList","static","locale","nameTranslations","nameTranslation","length","find","item","Language","toLowerCase","Text","componentDidMount","resizeThrottledEventHandler","window","addThrottledEvent","componentWillUnmount","removeEventListener","render","_mapData","isEmptyOrNullObject","data","telemetry","error","defaultImageSettings","viewports","xs","q","w","h","xl","lazyload","viewProps","_objectSpread","imageSettings","gridSettings","Navigation","moduleProps","className","classnames","config","tag","role","countrySelectorAriaLabel","MenuList","ListItem","Link","DivContainer","ImageDivContainer","Button","onClick","ImageContainer","Span","MobileDescriptionContainer","MobileBackButton","MobileDescriptionLabel","isMobileView","menuItemData","renderView","mergedData","cmsNavItems","map","push","_constructMenuItemData","cmsItem","id","CMSItemIdInit","linkText","linkURL","linkUrl","destinationUrl","imageDestinationURL","imageLink","imageSource","image","src","subMenu","_getCMSNestedChildren","category","nestedChildren","subMenus","idx","_getViewport","setState","undefined","innerWidth","sm","md","lg","__decorate","observable","computed","CountrySelectorView","currentLevel","escapeKey","resizeObserver","initializeResizeObserver","ResizeObserver","_","div","document","querySelector","scrollIntoView","behavior","block","handleDrawerToggle","e","mobileMenu","isOpen","observe","_handleDropdownToggle","parentId","activeMenu","mobileViewLabelText","parentMenu","_resetFocus","setTimeout","menuNode","current","focus","_handleClickOutside","event","contains","target","_escFunction","keyCode","_closeSubmenu","categoryImageAltText","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","payLoad","getPayloadObject","body","addEventListener","disconnect","_renderMobileMenu","_renderDesktopMenu","Module","Object","assign","menuItem","_renderDrawerMenu","Node","ref","tabIndex","_renderDisplay","_renderDrawer","_renderLinkMenuItem","toggleButtonText","toggleButtonImg","Drawer","onToggle","key","_renderLinkText","countrySelectorIntroText","menuSubItem","_renderDrawerLink","linkImg","alt","_renderSpanMenuItem","i","_getFromSubMenu","_createMenuItemList","forEach","index","found","_renderSubMenu","_renderButtonMenuItem","IsSubMenu","levelClassName","menuOptions","option","hasOptions","haveSubmenu","_renderMenu","onFocus","imagesource","contentAction","etext","attributes","getTelemetryAttributes","currentLang","location","origin","sitePath","href","onTelemetryClick","level","currentItem","submenu","DivContainerClass","convert_a2_to_a3","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","AddressShow","_ref","AddressDetail","items","description","AddressList","_ref2","List","isShowList","heading","Item","showItems","isShowPrimaryButton","primaryButton","editButton","removeButton","Error","isShowError","title","message","AddressLists","_ref3","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","_ref4","_other$moduleProps","_other$moduleProps2","_other$moduleProps3","_other$moduleProps4","AddressForm","hasError","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","other","_objectWithoutProperties","_excluded","resources","localeString","currency","channel","Currency","includes","replace","hasAddressError","setHasAddressError","countriesAvail","enGB","autocomplete","select","it","enUS","eu","enSG","nativeInputValueSetter","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","populateFormElements","addressComponent","formMap","addressType","types","getElementById","googleComponent","input","selectedValue","elmnt","value","is_convert_a2_to_a3","options","eValue","selectItemByValue","short_name","Event","bubbles","dispatchEvent","formValue","long_name","call","eCustom","googleComponents","autocompleteFormField","google","maps","places","Autocomplete","componentRestrictions","country","setAttribute","startTypingYourAddress","clearInstanceListeners","addListener","place","getPlace","name","addressComponents","address_components","gMapsAutocomplete","querySelectorAll","o","optionV","remove","countrySelect","optionDEF","parentNode","disabled","Boolean","_phoneItem$input","phoneItem","onChange","handlePhoneChange","checkPhone","saveAddressButton","phone","phoneCtn","closest","phoneAlert","getElementsByClassName","pattern","pattern2","onkeyup","match","classList","add","textContent","addressPhoneRequiredErrorMessage","removeAttribute","addressForm","county","countyCtn","countyAlert","onclick","test","elements","fieldInALL","fieldInControl","element","stopPropagation","phoneValidation","updatedCount","reload","AddressItem","label","alert","maxLength","AddressError","addressErrorMessage","AccountAddressManagement","viewState","showAddressList","showAddOrUpdateAddress","isShowAddresList","isShowAddOrUpdateAddress","AccountPreferencesSection","accountPreferences","personalization","extraPreferences","AccountPreferenceSection","preferenceSecton","accountPreference","buttonWrapper","buttonYesText","button","buttonNoText","AccountProfileSection","AccountProfileItem","links","AccountProfile","accountProfileWrapper","emailSection","nameSection","preferenceSection","customerAttributesWrapper","customerAttributesSection","innerHTML","textGenericMarketing","textProfiling","textThirdParty","bd_input","canonicalDomain","buildReviewCard","cardProps","headerProps","date","rating","cardBodyProps","reviewProps","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","edit","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","_props$data$ratingsSu","_props$resources$prod","_props$resources$revi","noReviewsWithFilterMessage","pageControls","reportReviewModal","reviewCards","reviewModal","userReview","modalOpen","setModalOpen","_toggleReviewModal","style","overflowY","buttonLabel","ratingsSummary","result","averageRating","product_review_list_button_label","reviewListLabel","page_summary","modal_summary","isFilterApplied","display","review","AccordionItem","moduleClassName","handleHeadingChange","accordionItemTitle","_onToggle","shouldComponentUpdate","nextProps","slots","accordionExpandedStateResult","accordionExpandedState","expanded","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","ControlledDrawer","collapseProps","onTextChange","requestContext","accordionSlots","interactionStyle","accordionState","actionContext","update","createAccordionStateInput","observer","_renderAccordionItemContent","accordionItemContent","Accordion","expandAllButtonRef","collapseAllButtonRef","text","_onExpandAll","_onCollapseAll","isDisabled","headingComponent","Msdyn365","editProps","onEdit","accordionViewProps","AccordionContainer","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","_getAccordionItem","TelemetryConstant","ExpandAll","attributeExpandAll","CollapseAll","attributeCollapseAll","showToggleAll","expandAllText","toggleAllSeparator","collapseAllText","_this$collapseAllButt","_this$expandAllButton","AccountInvoiceTile","OrganizationUsersTile","CatalogPicker","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$data$cata","catalogPickerHeading","_moduleClassName","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","isBrowser","_getUrlSync","catalogUrl","getUrlSync","fullUrl","URL","searchParams","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","String","firstOrDefault","Images","Name","Image","generateImageUrl","apiSettings","Uri","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","MsDyn365","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","_renderErrorBlock","errorData","errors","Wrapper","_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","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","_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","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","FooterItem","handleLinkTextChange","link","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","ariaLabel","openInNewTab","editableLink","additionalProperties","ariaHiddenAttr","shouldSkipToMainImage","FooterItemView","_renderElement","ImageList","images","_renderImageListItems","imageList","disableLazyLoad","_image$imageSettings","_link$linkText","imageProps","imageLinkText","imageLinkAriaLabel","imageLinkOpenInNewTab","linkAltText","linkAriaLabel","linkOpenInNewTab","imageListTitle","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","imageListView","indexKey","InteractiveFeatureCollection","_telemetryContent","itemsCounter","keyIndex","indexItem","itemCounter","isMosaic","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","singleSlideCarouselComponentProps","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","vertical","createHeading","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionMobileContainer","singleSlideCarouselItemContainer","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionDesktopItems","_getFeatureItem","interactiveFeatureCollectionView","tileItem","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","msdyn365Commerce","createComponent","component","_props$resources$curr","_props$resources","_props$resources$curr2","_props$resources2","_props$resources$curr3","_props$resources3","_props$resources4","_props$resources$curr4","_props$resources5","_props$resources6","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","customer","IsB2bAdmin","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","SitePicker","_cookieName","_cookieExpirationInSeconds","expandSiteOptions","KeyCodes","Escape","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","_sitePickerMenuNode","_resetSiteOptionsState","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","_renderSiteOptions","_document","_document2","_document3","_document4","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","openGlyph","closeGlyph","glyphPlacement","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","siteOptions","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_renderSitePicker","_renderSiteOptionsList","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","isUserReview","reviewTitle","wasReviewHelpfulText","like","dislike","renderProductDescription","product","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","cropFocalRegion","renderProductImage","ItemId","filterByDropdown","noReviewsMessage","refineReviewsProps","reviewsListProps","sortByDropdown","selectRatingLabel","reviewTitleLabel","reviewTextLabel"],"sourceRoot":""}