{"version":3,"file":"static/js/10.baeae84313e54ce7521c.chunk.js","mappings":"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AI,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,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://Msdyn365.Commerce.Online/./src/modules/country-selector/country-selector.tsx?a8bc","webpack://Msdyn365.Commerce.Online/./src/modules/country-selector/country-selector.view.tsx?44d3","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utils/convert_a2_a3.ts?c0bb","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-loyalty-tile.view.tsx?7c49","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-management-address.view.tsx?2098","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/loyalty-sign-up.view.tsx?1edc","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/sign-in.view.tsx?a0ea","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/write-review.view.tsx?10da","webpack://Msdyn365.Commerce.Online/./src/modules/account-welcome-tile/account-welcome-tile.tsx?2115","webpack://Msdyn365.Commerce.Online/./src/modules/account-welcome-tile/account-welcome-tile.view.tsx?e5e3","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://Msdyn365.Commerce.Online/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/components/b2b-requests-table.tsx?06fc","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.tsx?c1aa","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.view.tsx?6b7c","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-button.tsx?c1c2","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-error.tsx?347f","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-input.tsx?fd25","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-label.tsx?aab5","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-loading-icon.tsx?d70e","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-loading-message.tsx?d239","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/components/password-reset-verification-success.tsx?3c81","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/password-reset-verification.tsx?691f","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset-verification/password-reset-verification.view.tsx?dffa","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/link.tsx?d232","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/separator.tsx?92bb","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.tsx?efcc","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.view.tsx?4b3d","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/buybox.view.tsx?aec4","webpack://Msdyn365.Commerce.Online/./src/modules/back-top-footer/back-top-footer.tsx?f47e","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.tsx?e0bd","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.view.tsx?fdce","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.tsx?5602","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.view.tsx?2bed","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-collection/interactive-feature-collection.tsx?96a6","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?db52","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/components/links.tsx?7423","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.tsx?792c","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.view.tsx?bdcc","webpack://Msdyn365.Commerce.Online/./src/modules/map/map.tsx?6111","webpack://Msdyn365.Commerce.Online/./src/modules/map/map.view.tsx?5db9","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-template-list.view.tsx?46b6"],"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 { ICountrySelectorViewProps } from './country-selector';\r\nimport { IMenuItemData } from './country-selector.data';\r\nimport {\r\n Drawer,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\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 { 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 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 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 }\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 }\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.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAccountLoyaltyTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-loyalty-tile/./account-loyalty-tile';\r\nimport { IAccountLoyaltyTileProps } from '../../../themes/venchi/definition-extensions/account-loyalty-tile.ext.props.autogenerated';\r\n\r\nconst AccountLoyaltyTileView: React.FC> = props => {\r\n const { AccountLoyaltyTile, heading, description, links } = props;\r\n\r\n // The user does NOT have a customer number yet, they still have a tmp_guid\r\n let tmp_account = false;\r\n if (props.context.request.user.customerAccountNumber?.length === 36) {\r\n tmp_account = true;\r\n }\r\n\r\n let description__no_decimals;\r\n \r\n // @ts-ignore\r\n if (description && description.props) {\r\n // @ts-ignore\r\n description__no_decimals = description.props.description.replace('.00', '');\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n

{tmp_account && props.config.usingNewLoyalty && props.config.cardBeingGeneratedText ? props.config.cardBeingGeneratedText : description__no_decimals}

\r\n {links}\r\n
\r\n );\r\n};\r\n\r\nexport default AccountLoyaltyTileView;\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 {\r\n IAddressAddItem,\r\n IAddressAddUpdateProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-add';\r\nimport {\r\n IAddressList,\r\n IAddressListItem,\r\n IAddressListProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-list';\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/account-management-address/./account-management-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 };\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 // Phone Verifications\r\n React.useEffect(() => {\r\n checkPhone();\r\n }, [(document?.getElementById('shipping_addressphone') as HTMLInputElement)?.value]);\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.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ILoyaltySignUpViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/loyalty-sign-up/./loyalty-sign-up';\r\nimport { ILoyaltySignUpProps } from '../definition-extensions/loyalty-sign-up.ext.props.autogenerated';\r\n\r\nconst LoyaltySignUpView: React.FC> = props => {\r\n const {\r\n LoyaltySignUp,\r\n heading,\r\n memberHeading,\r\n signInLink,\r\n signUpText,\r\n signUpButton,\r\n detailsLink,\r\n // termsLink, Not needed\r\n loading,\r\n infoMessageBar\r\n } = props;\r\n\r\n if (loading) {\r\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\r\n return null;\r\n }\r\n\r\n // const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n\r\n if (typeof window !== 'undefined') {\r\n const loyalty_join_toggle_btn = document.getElementsByClassName(\"ms-loyalty-terms__toggle\")[0];\r\n loyalty_join_toggle_btn?.addEventListener(\"click\", () => {\r\n const loyalty_join_btn = document.getElementsByClassName(\"ms-loyalty-terms__submit\")[0];\r\n loyalty_join_btn.addEventListener(\"click\", () => {\r\n loyalty_join_btn.innerHTML = '
';\r\n })\r\n });\r\n }\r\n\r\n /*\r\n [signInLink = true, loyalty_join_flag = false] guest (no loyalty join) -> standard sign in\r\n [signInLink = true, loyalty_join_flag = true] guest (loyalty join) -> \"thanks\" instead of sign in\r\n [signInLink = false] logged in -> hidden module content\r\n */\r\n const loyalty_join_flag = props.context.request.query?.hasJoined;\r\n // signInLink is null (thus false) when the user is logged in\r\n return (signInLink && (loyalty_join_flag ? (\r\n
\r\n {props.resources.joinedLoyaltyThankYouHeader && (

{props.resources.joinedLoyaltyThankYouHeader}

)}\r\n {props.resources.joinedLoyaltyParagraphContent && (

{props.resources.joinedLoyaltyParagraphContent}

)}\r\n {/* {props.resources.loyaltyBalanceCheckURL && props.resources.joinedLoyaltyBalanceCheckLinkText && ({props.resources.joinedLoyaltyBalanceCheckLinkText})} */}\r\n
\r\n ) : (\r\n \r\n {infoMessageBar}\r\n {memberHeading}\r\n {heading}\r\n {detailsLink}\r\n {signUpText}\r\n {/* {termsLink} Not needed */}\r\n {signUpButton}\r\n {signInLink}\r\n \r\n )\r\n )\r\n );\r\n};\r\n\r\nexport default LoyaltySignUpView;\r\n","import * as React from 'react';\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\n\r\nimport {\r\n ISignInItem,\r\n ISignInLoading,\r\n ISignInLocalAccount /*ISignInSocialAccount, ISignInSocialItem,*/,\r\n ISignInViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-in/./sign-in';\r\nimport { ISignInProps } from '../definition-extensions/sign-in.ext.props.autogenerated';\r\n\r\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignInItem) => {\r\n return (\r\n \r\n {item.label}\r\n {item.error}\r\n {item.input}\r\n \r\n );\r\n })}\r\n {forgetPassword}\r\n {disclaimer}\r\n {error}\r\n {signInButton}\r\n \r\n );\r\n};\r\n/*\r\nconst SocialAccount: React.FC = ({\r\n socialAccounts,\r\n items,\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: ISignInSocialItem) => {\r\n return (\r\n \r\n {item.image}\r\n {item.text}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n*/\r\n\r\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignInView: React.FC> = props => {\r\n const {\r\n signIn,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n signInSection,\r\n signUpSection,\r\n signInSectionHeading,\r\n signInLocalAccount,\r\n /*signInSocialAccount,*/\r\n signUpSectionHeading,\r\n signUpDescription,\r\n signUpLink\r\n } = props;\r\n const canonicalDomain = props.signIn.moduleProps.context.request.canonicalDomain;\r\n const sitePath =\r\n props.signIn.moduleProps.context.request.sitePath && props.signIn.moduleProps.context.request.sitePath !== null\r\n ? props.signIn.moduleProps.context.request.sitePath\r\n : '';\r\n const requestUrl: string = `https://${canonicalDomain}${sitePath}`;\r\n \r\n const handleGaGuestCheckout = React.useCallback(() => {\r\n window.dataLayer?.push?.({\r\n 'event': 'gaEvent',\r\n 'eventCategory': 'account',\r\n 'eventAction': 'guest_checkout',\r\n 'eventLabel': 'click' \r\n })\r\n }, [])\r\n\r\n const handleGaSignUp = React.useCallback(() => {\r\n window.dataLayer?.push?.({\r\n 'event': 'gaEvent',\r\n 'eventCategory': 'account',\r\n 'eventAction': 'signup',\r\n 'eventLabel': 'click'\r\n });\r\n }, [])\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n \r\n {signInSectionHeading}\r\n {LocalAccount(signInLocalAccount)}\r\n {/*SocialAccount(signInSocialAccount)*/}\r\n \r\n \r\n {signUpSectionHeading}\r\n {signUpDescription}\r\n
\r\n {signUpLink}\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SignInView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n// import { IContentBlockViewProps } from '@msdyn365-commerce-modules/content-block/src/modules/content-block/./content-block';\r\nimport { IWriteReviewViewProps } from '@msdyn365-commerce-modules/ratings-reviews/src/modules/write-review/write-review';\r\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews/src/common/review-modal';\r\nimport { Module, Node, IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst ContentBlockView: React.FC = props => {\r\n const { heading, /* signInMessage, */ signInButton, modalToggle, reviewModal, moduleProps } = props;\r\n const isAuthenticated = props.context.request.user.isAuthenticated;\r\n // @ts-ignore\r\n //const reviewButtonLabel = moduleProps?.moduleProps?.resources?.reviewButtonLabel ?? '';\r\n //const customSignInButton = signInButton;\r\n // @ts-ignore\r\n //customSignInButton.props.text = reviewButtonLabel;\r\n // const test = { ...moduleProps };\r\n // @ts-ignore\r\n moduleProps.moduleProps.resources.signInLabel = moduleProps.moduleProps.resources.reviewButtonLabel;\r\n React.useEffect(() => {\r\n const button = document.getElementsByClassName('ms-write-review__sign-in-btn')[0];\r\n if (button) {\r\n button.setAttribute('style', 'visibility: visible');\r\n }\r\n }, []);\r\n return React.createElement(\r\n Module,\r\n Object.assign({}, moduleProps),\r\n heading,\r\n !isAuthenticated\r\n ? React.createElement(React.Fragment, null, null, signInButton)\r\n : React.createElement(React.Fragment, null, modalToggle, createReviewModal(reviewModal, moduleProps))\r\n );\r\n /* return (React.createElement(Module, Object.assign({}, moduleProps),\r\n heading,\r\n !isAuthenticated ? React.createElement(React.Fragment, null,\r\n signInMessage,\r\n signInButton) : React.createElement(React.Fragment, null,\r\n modalToggle,\r\n createReviewModal(reviewModal, moduleProps)))); */\r\n};\r\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps) => {\r\n return React.createElement(\r\n Module,\r\n Object.assign({}, props.modal, moduleProps),\r\n props.modalHeader,\r\n React.createElement(\r\n Node,\r\n Object.assign({}, props.modalBody),\r\n React.createElement(\r\n Node,\r\n Object.assign({}, props.form),\r\n React.createElement(Node, Object.assign({}, props.inputRow), props.rating, props.ratingLabel),\r\n React.createElement(Node, Object.assign({}, props.inputRow), props.titleLabel, props.titleInput),\r\n React.createElement(Node, Object.assign({}, props.inputRow), props.textLabel, props.textInput),\r\n props.privacyPolicyUrl,\r\n props.error\r\n )\r\n ),\r\n React.createElement(Node, Object.assign({}, props.modalFooter), props.submitButton, props.cancelButton)\r\n );\r\n};\r\nexport default ContentBlockView;\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 { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileData } from './account-welcome-tile.data';\nimport { IAccountWelcomeTileProps } from './account-welcome-tile.props.autogenerated';\n\nexport interface IAccountWelcomeTileViewProps extends IAccountWelcomeTileProps {\n AccountWelcomeTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AccountWelcome component.\n * @extends {React.PureComponent>}\n */\nclass AccountWelcomeTile extends React.PureComponent> {\n public render(): JSX.Element {\n const { config, data } = this.props;\n const { className } = config;\n\n const accountInfo = data.accountInformation.result;\n const heading = {\n ...config.heading,\n ...{\n text: `${config.heading.text ? config.heading.text : ''} ${\n accountInfo && accountInfo.FirstName ? accountInfo.FirstName : ''\n }`\n }\n };\n\n const viewProps = {\n ...this.props,\n className,\n AccountWelcomeTile: {\n moduleProps: this.props,\n className: classnames('ms-account-welcome-tile', config.className)\n },\n heading: heading && heading.text && (\n \n )\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\nexport default AccountWelcomeTile;\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 { IAccountWelcomeTileViewProps } from './account-welcome-tile';\n\nconst AccountWelcomeTileView: React.FC = props => {\n const { AccountWelcomeTile, heading } = props;\n\n return {heading};\n};\n\nexport default AccountWelcomeTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountWishlistTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountWishlistTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountWishlistTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-wishlist-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountWishlistTileLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = ((wishlists && wishlists.length && wishlists[0].CommerceListLines) || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \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 handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountWishlistTile;\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 { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n IDataTableProps,\n IHeadingsProperty,\n ITableItemProps,\n ITableRowProps,\n Table,\n TableDataType\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay.replace('{0}', request.UserFirstName!).replace('{1}', request.UserLastName!);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (\n !StringExtensions.isNullOrEmpty(accountStatementStartDateTime) &&\n !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)\n ) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails.replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (\n operationRequests: BusinessPartnerOperationRequest[] | undefined,\n props: IB2bRequestsStatusProps\n): ITableRowProps[] => {\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map(request => {\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row\n .filter(item => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n })\n .map(item => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: (context && getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return ;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n {this.getItemNumberDisplayString(itemCount)}\n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\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 React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetVerificationButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n telemetryContent,\n disabled,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetVerificationButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetVerificationInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetVerificationInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n onChange\n}) => (\n \n);\n\nexport default PasswordResetVerificationInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetVerificationLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetVerificationLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLoadingIcon {\n className: string;\n}\n\nconst PasswordResetVerificationLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default PasswordResetVerificationLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetVerificationLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetVerificationLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetVerificationSuccess {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetVerificationSuccess: React.FC = ({ id, className, type = 'page', message }) => {\n const successClassName = `${className}__${type}-success`;\n\n return (\n \n );\n};\n\nexport default PasswordResetVerificationSuccess;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetVerificationButtonComponent from './components/password-reset-verification-button';\nimport PasswordResetVerificationErrorComponent from './components/password-reset-verification-error';\nimport PasswordResetVerificationInputComponent from './components/password-reset-verification-input';\nimport PasswordResetVerificationLabelComponent from './components/password-reset-verification-label';\nimport PasswordResetVerificationLoadingIconComponent from './components/password-reset-verification-loading-icon';\nimport PasswordResetVerificationLoadingMessageComponent from './components/password-reset-verification-loading-message';\nimport PasswordResetVerificationSuccessComponent from './components/password-reset-verification-success';\nimport { IPasswordResetVerificationConfig, IPasswordResetVerificationProps } from './password-reset-verification.props.autogenerated';\n\nexport interface IPasswordResetVerificationViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetVerificationItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationLocalAccount {\n localAccount: INodeProps;\n verificationControlWrapper: INodeProps;\n items: IPasswordResetVerificationItem[];\n successMessage: React.ReactNode[];\n errorMessage: React.ReactNode[];\n verificationButtonsWrapper: INodeProps;\n verificationButtons: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetVerificationLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetVerificationViewProps {\n className: string;\n viewState: IPasswordResetVerificationViewState;\n loading: IPasswordResetVerificationLoading;\n passwordResetVerification: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetVerificationLocalAccount: IPasswordResetVerificationLocalAccount;\n}\n\n/**\n *\n * PasswordResetVerification component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordResetVerification extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset-verification';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n @observable private templateVersion: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetVerificationProps) {\n super(props);\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.templateVersion = '';\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IPasswordResetVerificationProps,\n nextState: IPasswordResetVerificationViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordResetVerification: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: (\n \n )\n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetVerificationLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private _prePopulateData(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n if (obj.ID.toLowerCase() === 'email') {\n this.emailRegex = obj.PAT;\n } else if (obj.ID.toLowerCase() === 'emailverificationcontrol') {\n this.templateVersion = 'v2';\n }\n });\n if (!this.templateVersion) {\n this.templateVersion = 'v1';\n }\n }\n }\n\n private _updateErrorMessage(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: this.props.resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n }\n\n private _renderLocalAccount(): IPasswordResetVerificationLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n verificationControlWrapper: {\n id: 'emailVerificationControl',\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\n },\n items: [\n this._renderInput('email', 'email', resources.emailAddressLabelText, undefined, this.emailRegex),\n this._renderInput(\n this.getValue('email_ver_input', 'emailVerificationCode'),\n 'text',\n resources.verificationCodeLabelText,\n undefined,\n undefined,\n 'VerificationCode'\n )\n ],\n successMessage: [\n ,\n\n \n ],\n errorMessage: [\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n \n ],\n verificationButtonsWrapper: {\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\n 'data-claim_id': 'email'\n },\n verificationButtons: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(\n id: string,\n type: string,\n labelText: string,\n maxLength?: string,\n pattern?: string,\n cssClassName?: string\n ): IPasswordResetVerificationItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n\n private readonly getValue = (v1Value: string, v2Value: string): string => {\n if (this.templateVersion) {\n return this.templateVersion === 'v1' ? v1Value : v2Value;\n }\n return '';\n };\n}\n\nexport default PasswordResetVerification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IPasswordResetVerificationItem,\n IPasswordResetVerificationLoading,\n IPasswordResetVerificationLocalAccount,\n IPasswordResetVerificationViewProps\n} from './password-reset-verification';\n\nconst PasswordResetVerificationItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n verificationControlWrapper,\n items,\n successMessage,\n errorMessage,\n verificationButtonsWrapper,\n verificationButtons,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n \n {successMessage &&\n successMessage.map((message: React.ReactNode, index: number) => {\n return {message};\n })}\n {items &&\n items.map((item: IPasswordResetVerificationItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {verificationButtons &&\n verificationButtons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n \n );\n};\n\nconst PasswordResetVerificationLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetVerificationView: React.FC = props => {\n const {\n passwordResetVerification,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n heading,\n passwordResetVerificationLocalAccount\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetVerificationLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetVerificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n
\n \n );\n};\n\nexport default BreadCrumbView;\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 { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps {\n modalContainer: IModuleProps;\n modalHeaderContainer: INodeProps;\n modalFooterContainer: INodeProps;\n modalBodyContainer: INodeProps;\n heading?: React.ReactNode;\n subheading?: React.ReactNode;\n link?: React.ReactNode;\n countryList?: React.ReactNode[];\n isModalOpen?: boolean;\n state?: ICountryPickerState;\n stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CountryPicker extends React.PureComponent, ICountryPickerState> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationTime = 5_184_000;\n\n public constructor(props: ICountryPickerProps) {\n super(props);\n let isCookieValueSet: boolean = false;\n if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n isCookieValueSet = true;\n }\n this.state = {\n isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n };\n }\n\n public render(): JSX.Element | null {\n const { heading, subheading, countryList, actionLink } = this.props.config;\n\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const countryPickerHeading = heading && (\n \n );\n\n const countryPickerSubHeading = subheading && (\n \n );\n\n const countryPickerActionLink = actionLink && this.createLink(actionLink);\n const currentSiteButton = (\n \n );\n\n const viewprops: ICountryPickerViewProps = {\n ...this.props,\n state: this.state,\n isModalOpen: this.state.isModalOpen,\n modalContainer: {\n moduleProps: this.props,\n tag: Modal,\n className: 'ms-country-picker__dialog',\n isOpen: true,\n 'aria-label': 'country-picker',\n toggle: this.closeModal,\n modalTransition: { timeout: 0 },\n shouldUpdateFocusToFirstElement: true\n },\n modalHeaderContainer: {\n tag: ModalHeader,\n className: 'ms-country-picker__modal-header',\n toggle: this.closeModal,\n closeButtonTabIndex: 1\n },\n modalFooterContainer: {\n tag: ModalFooter,\n className: 'ms-countryPicker__modal-footer'\n },\n modalBodyContainer: {\n tag: ModalBody,\n className: 'ms-counrtyPicker__modal-body'\n },\n heading: countryPickerHeading,\n subheading: countryPickerSubHeading,\n link: countryPickerActionLink,\n countryList: countryList && this.renderCountryList(),\n stayOnCurrentSiteButton: currentSiteButton\n };\n\n return this.props.renderView(viewprops);\n }\n\n /**\n * Initiate close modal.\n */\n public readonly closeModal = (): void => {\n this.setState({\n isModalOpen: false\n });\n };\n\n public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.subheading = event.target.value;\n }\n\n public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.heading!.text = event.target.value;\n }\n\n public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.actionLink?.linkText) {\n this.props.config.actionLink.linkText = event.target.value;\n }\n }\n\n public createLink(link?: IActionLinkData): React.ReactNode | null {\n if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n const linkText = link?.linkText ?? '';\n const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: link?.ariaLabel,\n className: 'ms-countryPicker__link',\n linkText,\n linkUrl: link?.linkUrl.destinationUrl,\n openInNewTab: link?.openInNewTab,\n role: 'link',\n additionalProperties: attributes!,\n onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n public renderCountryList(): React.ReactNode[] | undefined {\n const marketSettings = this.props.context.request.marketSettings;\n if (!marketSettings) {\n return undefined;\n }\n const localeItems = marketSettings.localeItems;\n const countryLinks = localeItems.map((value: ILocaleItems) => {\n return this.renderCountry(value);\n });\n\n return countryLinks;\n }\n\n public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n const countryList = this.props.config.countryList;\n let baseUrl = localeItem.localeBaseUrl;\n baseUrl = this._appendProtocolToUrl(baseUrl);\n const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n if (!matchedCountryItem) {\n return null;\n }\n const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: imageSize,\n lg: imageSize,\n xl: imageSize\n },\n lazyload: true\n };\n const image = matchedCountryItem.image;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings ?? defaultImageSettings\n };\n return (\n \n {image && (\n \n )}\n
\n {matchedCountryItem.displayString}\n {matchedCountryItem.displaySubString}\n
\n \n );\n }\n\n /**\n * Writes the current site base url to cookie and closes the country picker modal dialog.\n */\n private readonly _handleStayOnSiteButtonClick = (): void => {\n const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n if (currentBaseUrl) {\n const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n }\n this.closeModal();\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n * @returns - This method just writes the cookie to the browser.\n */\n private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n this._writeToCookie(storageKey, storageValue);\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n */\n private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n if (!storageKey || !storageValue) {\n return;\n }\n const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n cookieOptions.maxAge = this._cookieExpirationTime;\n this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n };\n\n /**\n * Appends protocol to an url.\n * @param baseUrl - Url to be formatted.\n * @returns - URL after appending protocol.\n */\n private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n };\n}\n\nexport default CountryPicker;\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 { ICountryPickerViewProps } from './country-picker';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC = (props: ICountryPickerViewProps) => {\n const {\n isModalOpen,\n modalContainer,\n modalHeaderContainer,\n modalBodyContainer,\n heading,\n modalFooterContainer,\n subheading,\n link,\n countryList,\n stayOnCurrentSiteButton\n } = props;\n return isModalOpen && countryList ? (\n \n \n {heading}\n {subheading}\n \n \n {countryList.map(country => (\n <>{country}\n ))}\n \n \n {stayOnCurrentSiteButton}\n {link}\n \n \n ) : null;\n};\n\nexport default countryPickerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxData,\n IBuyboxFindInStoreViewProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductConfigureDropdownViewProps,\n IBuyboxProductConfigureViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IBuyboxViewProps\n} from '@msdyn365-commerce-modules/buybox';\nimport { IncrementalQuantity, ITelemetryContent, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxProps as IBuyboxExtentionProps,\n IBuyboxResources as IBuyboxExtentionResources\n} from '../definition-extensions/buybox.ext.props.autogenerated';\n\nconst BuyboxView: React.FC> = props => {\n const {\n ModuleProps,\n MediaGalleryContainerProps,\n ProductInfoContainerProps,\n addToCart,\n addToOrderTemplate,\n addToWishlist,\n telemetryContent,\n configure,\n description,\n findInStore,\n quantity,\n price,\n title,\n rating,\n callbacks,\n state,\n resources,\n inventoryLabel,\n shopSimilarLook,\n keyInPrice,\n quantityLimitsMessages,\n min,\n max,\n applyDefaultOrderSettings,\n shopSimilarDescription,\n unitOfMeasure\n } = props;\n\n return (\n \n {props.mediaGallery}\n \n {title}\n {price}\n {unitOfMeasure}\n {props.bulkPurchaseLink}\n {description}\n {_renderTextBlock(props.slots.textBlocks)}\n {rating}\n {configure && _renderConfigure(configure)}\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\n {quantity &&\n _renderQuantity(\n quantity,\n callbacks,\n props,\n state,\n resources,\n quantityLimitsMessages,\n min,\n max,\n applyDefaultOrderSettings,\n telemetryContent\n )}\n {inventoryLabel}\n {_renderCartAndActions(addToCart, addToOrderTemplate, addToWishlist)}\n {findInStore && _renderFindInStore(findInStore)}\n {_renderSocialShare(props.slots && props.slots.socialShare)}\n {shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\n {shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\n \n \n );\n};\n\nconst _renderTextBlock = (textBlocks: React.ReactNode[]): JSX.Element | undefined => {\n if (!textBlocks || textBlocks.length === 0) {\n return undefined;\n }\n\n return <>{textBlocks[0]};\n};\n\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\n if (!socialShare || socialShare.length === 0) {\n return undefined;\n }\n\n return <>{socialShare[0]};\n};\n\nconst _renderCartAndActions = (\n addToCart?: IBuyboxAddToCartViewProps,\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps,\n addToWishlist?: IBuyboxAddToWishlistViewProps\n): JSX.Element | undefined => {\n if (!addToCart && !addToWishlist) {\n return undefined;\n }\n\n return (\n
\n {addToCart && addToCart.errorBlock}\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\n {addToWishlist && addToWishlist.errorBlock}\n
\n {addToCart && addToCart.button}\n {addToOrderTemplate && addToOrderTemplate.button}\n {addToWishlist && addToWishlist.button}\n
\n
\n );\n};\n\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\n const { ContainerProps, dropdowns } = configure;\n\n return {dropdowns.map(_renderConfigureDropdown)};\n};\n\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\n\n return (\n \n \n {heading}\n {errors}\n \n {select}\n \n );\n};\n\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\n const { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\n\n return (\n \n {storeSelector}\n {heading}\n {productPickupOptionList}\n {description}\n {errors}\n {button}\n {modal}\n \n );\n};\n\n/**\n * On Change function.\n * @param callbacks -Callbacks.\n * @returns Update quantity.\n */\nconst onChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number): boolean => {\n if (callbacks.updateQuantity) {\n return callbacks.updateQuantity(newValue);\n }\n return true;\n};\n\nconst _renderQuantity = (\n quantityComponent: IBuyboxProductQuantityViewProps,\n callbacks: IBuyboxCallbacks,\n props: IBuyboxProps,\n state: IBuyboxState,\n extentionResources: IBuyboxExtentionResources,\n quantityLimitsMessages: React.ReactNode,\n min: number | undefined,\n max: number | undefined,\n applyDefaultOrderSettings?: boolean,\n telemetryContent?: ITelemetryContent\n): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\n\n const { resources } = props;\n\n const { quantity } = state;\n\n return (\n \n \n {heading}\n {errors}\n \n\n \n {quantityLimitsMessages}\n \n );\n};\n\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\n\n return (\n \n {heading}\n {input}\n \n );\n};\n\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\n const { ContainerProps, errors, input } = shopSimilarItem;\n\n return (\n \n {errors}\n {input}\n \n );\n};\n\nexport default BuyboxView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { BackToTop, getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBackTopFooterProps } from './back-top-footer.props.autogenerated';\n\n/**\n *\n * BackTopFooter component.\n * @extends {React.PureComponent>}\n */\nclass BackTopFooter extends React.PureComponent> {\n private readonly editProps: Msdyn365.ITextEditProps = {\n requestContext: this.props.context.request,\n onEdit: (event: Msdyn365.ContentEditableEvent) => (this.props.config.backtoTopText = event.target.value)\n };\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IBackTopFooterProps<{}>) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n if (!this.props.config.destination) {\n this.props.telemetry.error('BackToTop.destination has not been provided, module wont render.');\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default BackTopFooter;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterCategoryConfig, IFooterCategoryProps } from './footer-category.props.autogenerated';\n\nexport interface IFooterCategoryViewProps extends IFooterCategoryProps {\n categories: React.ReactNode[];\n FooterList: IModuleProps;\n FooterListItem: INodeProps;\n}\n\n/**\n *\n * FooterCategory component.\n * @extends {React.PureComponent>}\n */\nclass FooterCategory extends React.PureComponent> {\n public render(): JSX.Element | null {\n if (!this.props.slots || !this.props.slots.content || this.props.slots.content.length === 0) {\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\n return null;\n }\n const viewprops = {\n ...this.props,\n categories: this.props.slots.content,\n FooterList: {\n moduleProps: this.props,\n className: classnames('ms-footer__list', this.props.config.className),\n tag: 'ul'\n },\n FooterListItem: {\n className: classnames('ms-footer__list-item', this.props.config.className),\n tag: 'li'\n }\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default FooterCategory;\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 { IFooterCategoryViewProps } from './footer-category';\n\nexport const FooterCategoryView: React.FC = props => {\n const { categories, FooterList, FooterListItem } = props;\n if (!categories || categories.length === 0) {\n props.context.telemetry.error('Footer content is empty, module wont render');\n return null;\n }\n return (\n \n {categories.map((category: ReactNode, index: number) => {\n return (\n \n {category}\n \n );\n })}\n \n );\n};\n\nexport default FooterCategoryView;\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n }\n\n /**\n * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-interactive-feature-collection__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n }\n\n return editableLinks;\n };\n}\nexport default InteractiveFeatureCollectionLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem extends React.PureComponent {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IMapData } from './map.data';\nimport { IMapProps, IPushpinOptionsData } from './map.props.autogenerated';\n\n/**\n * Header Interface.\n */\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n}\n\n/**\n * MapViewProps Interface.\n */\nexport interface IMapViewProps extends IMapProps {\n ModuleProps: IModuleProps;\n Header: IHeader;\n MapProps: INodeProps;\n Map: Microsoft.Maps.Map | undefined;\n}\n\n/**\n *\n * Map component.\n * @extends {React.Component>}\n */\n@observer\nclass Map extends React.Component> {\n @observable public map: Microsoft.Maps.Map | undefined;\n private timeout: number = 500;\n\n private readonly mapRef: React.RefObject = React.createRef();\n\n public constructor(props: IMapProps) {\n super(props);\n }\n\n public componentDidMount(): void {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n }\n } = this.props;\n\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const loadMapAPIInput = {\n key: channel?.BingMapsApiKey,\n lang: this.props.context.actionContext.requestContext.locale,\n market: this.props.context?.actionContext?.requestContext?.channel?.ChannelCountryRegionISOCode\n };\n\n if (\n this.props.data.storeSelectorStateManager?.result?.isMapApiLoaded ||\n this.props.data.distributorSelectorStateManager?.result?.isMapApiLoaded\n ) {\n this._initMap();\n if (this.props.data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen) {\n this._updateMapsForDistributor();\n } else {\n this._updateMap();\n }\n }\n\n when(\n () => !!this.props.data.storeSelectorStateManager?.result?.setMapModuleLoaded,\n () => {\n this.props.data.storeSelectorStateManager?.result?.setMapModuleLoaded(true);\n }\n );\n\n when(\n () => !!this.props.data.distributorSelectorStateManager?.result?.setMapModuleLoaded,\n () => {\n this.props.data.distributorSelectorStateManager?.result?.setMapModuleLoaded(true);\n }\n );\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager?.result?.loadMapApi ||\n this.props.data.distributorSelectorStateManager?.result?.loadMapApi,\n () => {\n if (this.props.data.distributorSelectorStateManager?.result?.loadMapApi) {\n this.props.data.distributorSelectorStateManager?.result?.loadMapApi(loadMapAPIInput);\n } else {\n this.props.data.storeSelectorStateManager?.result?.loadMapApi(loadMapAPIInput);\n }\n }\n );\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager?.result?.isMapApiLoaded ||\n this.props.data.distributorSelectorStateManager?.result?.isMapApiLoaded,\n () => {\n this._initMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\n this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\n this.map\n ];\n },\n () => {\n this._updateMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.distributorSelectorStateManager?.result?.distributorList,\n this.props.data.distributorSelectorStateManager?.result?.selectedDistributorId,\n this.map\n ];\n },\n () => {\n this._updateMapsForDistributor();\n }\n );\n }\n\n public render(): JSX.Element | null {\n const {\n config: { heading, className },\n data\n } = this.props;\n\n const shouldDisplayMap = data.storeSelectorStateManager?.result?.isDialogOpen\n ? data.storeSelectorStateManager?.result?.listMapViewState.displayMap\n : data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen\n ? data.distributorSelectorStateManager?.result?.listMapViewState.displayMap\n : false;\n\n const viewProps: IMapViewProps = {\n ...this.props,\n ModuleProps: {\n tag: 'div',\n moduleProps: this.props,\n className: classname('ms-map', { show: shouldDisplayMap }, className)\n },\n Header: {\n headerProps: { className: 'ms-map__header' },\n heading: heading?.text && (\n \n )\n },\n MapProps: {\n tag: 'div',\n className: 'ms-map__body',\n ref: this.mapRef\n },\n Map: this.map\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Method to be called on heading change.\n * @param event -Content Edit Event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Initialize the map.\n */\n private readonly _initMap = () => {\n const {\n context: {\n actionContext: {\n requestContext: { channel }\n }\n },\n data\n } = this.props;\n\n if (data.storeSelectorStateManager?.result?.isMapApiLoaded || data.distributorSelectorStateManager?.result?.isMapApiLoaded) {\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, {\n credentials: channel?.BingMapsApiKey,\n pushpinAccessible: true\n });\n Microsoft.Maps.Events.addHandler(this.map, 'click', async () => {\n if (data.distributorSelectorStateManager?.result?.isDistributorSelectorDialogOpen) {\n // Hide the distributor details that appear below the screen size of 768px.\n data.distributorSelectorStateManager?.result?.updateDistributorMapVisibility(false);\n await data.distributorSelectorStateManager?.result?.setSelectedDistributorId(undefined);\n } else {\n await data.storeSelectorStateManager?.result?.setSelectedStoreLocationId(undefined);\n }\n });\n }\n };\n\n private readonly _updateMapsForDistributor = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const distributorSelectorStateManager = this.props.data.distributorSelectorStateManager?.result;\n const distributorInfoList = distributorSelectorStateManager?.distributorList;\n const selectedDistributorId = distributorSelectorStateManager?.selectedDistributorId;\n\n if (this.map && ArrayExtensions.hasElements(distributorInfoList)) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const distributorList = distributorInfoList.filter(distributor => distributor.OrgUnit !== undefined);\n\n for (const [index, distributorInfo] of distributorList.entries()) {\n const orgUnit = distributorInfo.OrgUnit;\n\n if (orgUnit?.Latitude && orgUnit.Longitude) {\n const isLocationSelected = selectedDistributorId === orgUnit?.RecordId;\n const options = this._getPushpinOptions(isLocationSelected, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(orgUnit?.Latitude, orgUnit.Longitude), options);\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleDistributorPushpinClick(orgUnit.RecordId);\n });\n isLocationSelected ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isLocationSelected) {\n mapLocation = orgUnit;\n }\n }\n }\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect?.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Update the map.\n */\n private readonly _updateMap = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\n const orgUnitStoreInformation = storeSelectorStateManager?.context?.orgUnitStoreInformation;\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\n\n if (this.map && orgUnitStoreInformation) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const storeLocationList = orgUnitStoreInformation.filter(store => store.OrgUnitAvailability !== undefined);\n\n for (const [index, unitStoreInfo] of storeLocationList.entries()) {\n const storeLocation = unitStoreInfo.OrgUnitAvailability?.OrgUnitLocation;\n\n if (storeLocation?.Latitude && storeLocation.Longitude) {\n const isSelectedLocation = selectedStoreLocationId === storeLocation.OrgUnitNumber;\n const options = this._getPushpinOptions(isSelectedLocation, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(\n new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude),\n options\n );\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleClickEvent(storeLocation.OrgUnitNumber);\n });\n isSelectedLocation ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isSelectedLocation) {\n mapLocation = storeLocation;\n }\n }\n }\n\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n // Create a LocationRect from array of pushpins and set the map view.\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect?.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Handle click event.\n * @param orgUnitNumber - Organization unit number.\n */\n private readonly handleClickEvent = (orgUnitNumber: string | undefined): void => {\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager.result;\n storeSelectorStateManager?.setSelectedStoreLocationId(undefined);\n if (orgUnitNumber) {\n setTimeout(() => {\n storeSelectorStateManager?.setSelectedStoreLocationId(orgUnitNumber);\n }, this.timeout);\n }\n };\n\n /**\n * Handle the click event of the pushpin for distributors on the maps.\n * @param recordId - RecordId.\n */\n private readonly handleDistributorPushpinClick = (recordId: number | undefined): void => {\n const distributorSelectorStateManager = this.props.data.distributorSelectorStateManager?.result;\n // Show the distributor details that appear below the screen size of 768px.\n distributorSelectorStateManager?.updateDistributorMapVisibility(true);\n distributorSelectorStateManager?.setSelectedDistributorId(undefined);\n if (recordId) {\n setTimeout(() => {\n distributorSelectorStateManager?.setSelectedDistributorId(recordId);\n }, this.timeout);\n }\n };\n\n /**\n * Get the pushpin option.\n * @param isSelectedLocation - Is selected location.\n * @param index - Index.\n * @param pushpinOptions - PushpinOptions.\n * @returns - The pushpin options.\n */\n private readonly _getPushpinOptions = (isSelectedLocation: boolean, index: number, pushpinOptions?: IPushpinOptionsData) => {\n const text = pushpinOptions?.showIndex ? (index + 1).toString() : undefined;\n\n const size = pushpinOptions?.size || 1;\n const color = isSelectedLocation ? pushpinOptions?.selectionColor || pushpinOptions?.color : pushpinOptions?.color;\n const icon = this._getSvgIcon(size, color, text);\n\n return {\n // Fallback if icon doesn't render properly\n color: isSelectedLocation ? pushpinOptions?.selectionColor : pushpinOptions?.color,\n icon\n };\n };\n\n private readonly _getSvgIcon = (size: number, color?: string, text?: string) => {\n const baseValue: number = 32;\n return `\n \n ${text ? `${text}` : ''}\n `;\n };\n}\n\nexport default Map;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IHeader, IMapViewProps } from './map';\n\n/**\n * Render the heading.\n * @param param0 -- Heading props.\n * @param param0.headerProps -- Heading Props.\n * @param param0.heading -- Heading Node.\n * @returns -- Returns the node.\n */\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\n\n/**\n * Renders the map view props.\n * @param param0 -- Map view props.\n * @param param0.ModuleProps -- Module props.\n * @param param0.Header -- Header props.\n * @param param0.MapProps -- Map props.\n * @returns -- Returns the map module.\n */\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\n \n {Header && }\n \n \n);\n\nexport default MapView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateListProps, IOrderTemplateListResources } from '../definition-extensions/order-template-list.ext.props.autogenerated';\n\n/**\n * Interface for OrderTemplateImage.\n */\ninterface IOrderTemplateImage {\n props: {\n children: React.ReactElement[];\n };\n}\n\n/**\n * To render order template.\n * @param orderTemplate - The order template view props.\n * @param orderTemplateNodeProps - The order template node props.\n * @returns The JSX Element.\n */\nconst renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, orderTemplateNodeProps?: INodeProps): JSX.Element | null => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n\n const orderTemplateImageElement: IOrderTemplateImage = orderTemplateImage as React.ReactElement;\n const currentImageListLength = orderTemplateImageElement.props.children.length;\n const defaultNumberImagesInTile = 4;\n\n if (currentImageListLength < defaultNumberImagesInTile) {\n for (let index = 0; index < defaultNumberImagesInTile - currentImageListLength; index++) {\n orderTemplateImageElement.props.children.push();\n }\n }\n\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\n/**\n * Order Template List View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nexport const OrderTemplateListViewComponent: React.FC> = props => {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n OrderTemplateList,\n OrderTemplates,\n OrderTemplate,\n status,\n statusMessage,\n heading,\n orderTemplates,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n \n {status === 'SUCCESS' && (!OrderTemplates || !orderTemplates || !ArrayExtensions.hasElements(orderTemplates)) ? (\n
\n

{props.resources.headingForEmptyOrderTemplateList}

\n

{props.resources.textForEmptyOrderTemplateList}

\n {createOrderTemplateButton}\n
\n ) : (\n createOrderTemplateButton\n )}\n {templateHeaderStatusMessage}\n
\n {status !== 'SUCCESS' && statusMessage}\n {OrderTemplates && orderTemplates && ArrayExtensions.hasElements(orderTemplates) && (\n \n {orderTemplates.map(orderTemplate => {\n return renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n
\n );\n};\n\nexport default OrderTemplateListViewComponent;\n"],"names":["CountrySelector","React","constructor","props","super","isCMS","this","_updateViewport","bind","viewport","context","request","device","Type","state","isMobile","menuItemList","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","_handleDropdownToggle","parentId","activeMenu","mobileViewLabelText","parentMenu","_resetFocus","setTimeout","menuNode","current","focus","_handleClickOutside","event","contains","target","_escFunction","keyCode","_closeSubmenu","categoryImageAltText","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","payLoad","getPayloadObject","document","body","addEventListener","_renderMobileMenu","_renderDesktopMenu","Module","Object","assign","menuItem","_renderDrawerMenu","Node","ref","tabIndex","_renderDisplay","_renderDrawer","_renderLinkMenuItem","toggleButtonText","toggleButtonImg","Drawer","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","_props$context$reques","AccountLoyaltyTile","heading","description","links","description__no_decimals","tmp_account","user","customerAccountNumber","replace","usingNewLoyalty","cardBeingGeneratedText","AddressShow","_ref","AddressDetail","items","AddressList","_ref2","List","isShowList","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","_document","AddressForm","hasError","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","other","_objectWithoutProperties","_excluded","resources","localeString","currency","channel","Currency","includes","hasAddressError","setHasAddressError","countriesAvail","enGB","autocomplete","select","it","enUS","eu","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","querySelector","optionDEF","parentNode","disabled","Boolean","checkPhone","saveAddressButton","phone","phoneCtn","closest","phoneAlert","getElementsByClassName","pattern","pattern2","onkeyup","match","classList","add","textContent","addressPhoneRequiredErrorMessage","removeAttribute","addressForm","county","countyCtn","countyAlert","onclick","e","test","elements","fieldInALL","element","stopPropagation","phoneValidation","updatedCount","reload","AddressItem","label","alert","maxLength","AddressError","addressErrorMessage","AccountAddressManagement","viewState","showAddressList","showAddOrUpdateAddress","isShowAddresList","isShowAddOrUpdateAddress","LoyaltySignUp","memberHeading","signInLink","signUpText","signUpButton","detailsLink","loading","infoMessageBar","loyalty_join_toggle_btn","loyalty_join_btn","innerHTML","loyalty_join_flag","query","hasJoined","joinedLoyaltyThankYouHeader","joinedLoyaltyParagraphContent","SignInLoading","modal","modalBody","icon","_props$resources$cont","signIn","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signUpSectionHeading","signUpDescription","signUpLink","requestUrl","canonicalDomain","handleGaGuestCheckout","_window$dataLayer","_window$dataLayer$pus","dataLayer","handleGaSignUp","_window$dataLayer2","_window$dataLayer2$pu","isShowLoading","localAccount","forgetPassword","disclaimer","signInButton","wrapper","LocalAccount","continueAsGuest","createReviewModal","modalHeader","form","inputRow","rating","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","modalToggle","reviewModal","isAuthenticated","signInLabel","reviewButtonLabel","button","AccountWelcomeTile","handleHeadingChange","text","accountInfo","accountInformation","result","FirstName","Msdyn365","editProps","onEdit","requestContext","_mapEditableLinks","linkdata","editableLinks","link","editableLink","ariaLabel","openInNewTab","additionalProperties","onTextChange","AccountWishlistTile","handleLinkTextChange","linkIndex","accountWishlistTileDescription","wishlists","wishlistsCount","CommerceListLines","format","LinksComponent","DescriptionComponent","RequestsTableColumnHeader","getUserName","StringExtensions","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","formatDate","date","cultureFormatter","year","month","day","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","tableData","operationRequests","ArrayExtensions","hasElements","_request$TypeValue","_request$StatusValue","row","b2bRequestsTypeColumn","type","TableDataType","b2bRequestsRequestDateColumn","CreatedDateTime","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","StatusValue","isSelected","createTableItems","headings","filter","mobileExcludedColumns","sortable","columnSortAriaLabel","rows","editLinkText","deleteLinkText","viewLinkText","enableToModify","actionLinkText","showCheckBoxes","isSortable","showPagination","minifyActions","excludedColumns","paginationProperty","skipCount","skip","isNaN","Number","parseInt","itemPerPage","prevText","b2bRequestsPreviousText","nextText","b2bRequestsNextText","paginationText","url","reqContext","MsDyn365","isBrowser","URL","isSingleSelectOnly","actions","onDelete","onView","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","B2bRequestsTable","Table","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","Heading","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","isChannelTypeB2B","actionContext","b2bRequestsStatus","table","errorClassName","GetMaxLength","parsedMaxLength","onChange","forId","htmlFor","successClassName","PasswordResetVerification","moduleClassName","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","clearInterval","isInitialized","getValue","v1Value","v2Value","templateVersion","emailRegex","EmailRegex","defaultRegex","source","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","passwordResetVerification","Modal","isOpen","ModalBody","PasswordResetVerificationLoadingIconComponent","PasswordResetVerificationLoadingMessageComponent","loadingMessage","style","display","passwordResetVerificationLocalAccount","_renderLocalAccount","obj","PAT","verifying_blurb","verificationControlWrapper","_renderInput","emailAddressLabelText","verificationCodeLabelText","successMessage","PasswordResetVerificationSuccessComponent","verificationCodeSendSuccess","emailAddressVerifiedSuccess","errorMessage","PasswordResetVerificationErrorComponent","retryError","retryNotAllowedError","throttledError","codeExpiredError","serverError","invalidEmailError","verificationButtonsWrapper","verificationButtons","PasswordResetVerificationButtonComponent","sendCodeButtonAriaLabel","sendCodeButtonText","verifyCodeButtonAriaLabel","verifyCodeButtonText","resendCodeButtonAriaLabel","resendCodeButtonText","changeEmailButtonAriaLabel","changeEmailButtonText","buttonsWrapper","buttons","continueButtonAriaLabel","continueButtonText","cancelButtonAriaLabel","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","labelText","cssClassName","PasswordResetVerificationLabelComponent","PasswordResetVerificationInputComponent","observer","PasswordResetVerificationItem","PasswordResetVerificationLoading","noclick","attribute","itemProp","content","Separator","separator","Breadcrumb","_pageType","urlTokens","pageType","_getRootLink","root","_getCustomBreadcrumbLinks","itemPosition","keyIndex","toString","_getCategoryHierarchy","categoryHierarchy","_getFriendlyName","NameTranslations","Url","_nameTranslation","_getPDPLinks","categoryPaths","product","Name","hideProductName","_goBack","history","back","_getPDPBackButton","referrer","backToResultsText","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","backButton","CountryPicker","_telemetryContent","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","isModalOpen","_handleStayOnSiteButtonClick","_this$props$context$r","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","baseUrl","isCookieValueSet","get","_heading$tag","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","handleTextChange","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","stayOnCurrentSiteButtonText","viewprops","modalContainer","toggle","modalTransition","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","ModalHeader","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","renderCountryList","stayOnCurrentSiteButton","_this$props$config$ac","_link$linkText","localeItems","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","imageSize","imageProps","displayString","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","countryPickerView","_renderTextBlock","textBlocks","_renderSocialShare","socialShare","_renderCartAndActions","addToCart","addToOrderTemplate","addToWishlist","errorBlock","_renderConfigure","configure","ContainerProps","dropdowns","_renderConfigureDropdown","dropdown","LabelContainerProps","errors","_renderFindInStore","findInStore","storeSelector","productPickupOptionList","onChangeHandler","callbacks","newValue","updateQuantity","_renderQuantity","quantityComponent","extentionResources","quantityLimitsMessages","min","max","applyDefaultOrderSettings","quantity","IncrementalQuantity","currentCount","inputQuantityAriaLabel","decrementButtonAriaLabel","incrementButtonAriaLabel","minQuantityText","maxQuantityText","_renderKeyInPrice","keyInPrice","_renderShopSimilarItem","shopSimilarItem","ModuleProps","MediaGalleryContainerProps","ProductInfoContainerProps","price","inventoryLabel","shopSimilarLook","shopSimilarDescription","unitOfMeasure","mediaGallery","bulkPurchaseLink","slots","BackTopFooter","backtoTopText","destination","BackToTop","FooterCategory","categories","FooterList","FooterListItem","FooterCategoryView","ImageList","images","paragraph","_renderImageListItems","imageList","disableLazyLoad","imageLinkText","imageLinkAriaLabel","imageLinkOpenInNewTab","linkAltText","linkAriaLabel","linkOpenInNewTab","imageListTitle","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","imageListView","indexKey","InteractiveFeatureCollection","itemsCounter","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","InteractiveFeatureCollectionLinks","InteractiveFeatureItem","_this$props$config$li","featureItemLinks","_createHeading","_createParagraph","_renderImage","featureItem","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","interactiveFeatureCollectionMosaicContainer","tabindex","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","isNullOrWhitespace","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$im","verifiedImageSettings","moduleType","typeName","imagePropertyName","moduleId","MagicNumber","FeatureItemViewComponent","renderMosaic","thisProps","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","renderCarousel","Map","mapRef","_initMap","_data$storeSelectorSt","_data$distributorSele","storeSelectorStateManager","isMapApiLoaded","distributorSelectorStateManager","Microsoft","Maps","credentials","BingMapsApiKey","pushpinAccessible","Events","addHandler","async","_data$distributorSele2","_data$distributorSele3","_data$distributorSele4","_data$storeSelectorSt2","isDistributorSelectorDialogOpen","updateDistributorMapVisibility","setSelectedDistributorId","setSelectedStoreLocationId","_updateMapsForDistributor","_this$props$data$dist","pushpinOptions","distributorInfoList","distributorList","selectedDistributorId","mapLocation","entities","clear","pushpins","distributor","OrgUnit","distributorInfo","entries","orgUnit","Latitude","Longitude","isLocationSelected","RecordId","_getPushpinOptions","pushpin","Pushpin","Location","handleDistributorPushpinClick","unshift","currentLocation","setView","center","_Microsoft$Maps$Locat","bounds","LocationRect","fromShapes","setOptions","_updateMap","_this$props$data$stor","_storeSelectorStateMa","orgUnitStoreInformation","selectedStoreLocationId","storeLocationList","store","OrgUnitAvailability","unitStoreInfo","_unitStoreInfo$OrgUni","storeLocation","OrgUnitLocation","isSelectedLocation","OrgUnitNumber","handleClickEvent","_Microsoft$Maps$Locat2","orgUnitNumber","recordId","_this$props$data$dist2","showIndex","size","color","selectionColor","_getSvgIcon","_this$props$context","_this$props$data$stor2","_this$props$data$dist3","BingMapsEnabled","loadMapAPIInput","lang","market","ChannelCountryRegionISOCode","_this$props$data$dist4","when","_this$props$data$stor3","setMapModuleLoaded","_this$props$data$stor4","_this$props$data$dist5","_this$props$data$dist6","reaction","_this$props$data$stor5","_this$props$data$dist7","loadMapApi","_this$props$data$dist8","_this$props$data$dist9","_this$props$data$stor6","_this$props$data$stor7","_this$props$data$dist10","_this$props$data$stor8","_this$props$data$stor9","_this$props$data$dist11","_this$props$data$dist12","_data$storeSelectorSt3","_data$storeSelectorSt4","_data$distributorSele5","_data$distributorSele6","shouldDisplayMap","isDialogOpen","listMapViewState","displayMap","classname","show","Header","headerProps","MapProps","MapHeader","OrderTemplateListViewComponent","OrderTemplateList","OrderTemplates","OrderTemplate","status","statusMessage","orderTemplates","createOrderTemplateButton","templateHeaderStatusMessage","headingForEmptyOrderTemplateList","textForEmptyOrderTemplateList","orderTemplate","renderOrderTemplate","orderTemplateNodeProps","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","orderTemplateName","orderTemplateImageElement","currentImageListLength","children"],"sourceRoot":""}