{"version":3,"file":"static/js/23.67d55a32fa14dc3f1d4a.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-custom-navigation-menu/components/link.tsx?05ad","webpack://Citta2.0/./src/modules/citta-custom-navigation-menu/citta-custom-navigation-menu.tsx?4aa4","webpack://Citta2.0/./src/modules/citta-custom-navigation-menu/citta-custom-navigation-menu.view.tsx?2694","webpack://Citta2.0/./src/modules/citta-enquireonly-buybox/citta-enquireonly-buybox.tsx?46e2","webpack://Citta2.0/./src/modules/citta-enquireonly-buybox/citta-enquireonly-buybox.view.tsx?4a5e","webpack://Citta2.0/./src/modules/citta-footer-item/citta-footer-item.tsx?6211","webpack://Citta2.0/./src/modules/citta-footer-item/citta-footer-item.view.tsx?d119","webpack://Citta2.0/./src/modules/citta-product-eoq/citta-product-eoq.tsx?a3a1","webpack://Citta2.0/./src/modules/citta-product-eoq/citta-product-eoq.view.tsx?e80c","webpack://Citta2.0/./src/themes/citta-international/views/checkout-shipping-address.view.tsx?b414","webpack://Citta2.0/./src/themes/citta/views/checkout-shipping-address.view.tsx?8954"],"sourcesContent":["import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n// import { SubLink } from './subLink'\r\n\r\ninterface ILink {\r\n className?: string;\r\n text?: string;\r\n href?: string;\r\n ariaLabel?: string;\r\n index: string;\r\n noclick?: boolean;\r\n isActive: boolean;\r\n telemetryContent: ITelemetryContent;\r\n subLinks?: any;\r\n}\r\n\r\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent, isActive, subLinks }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\r\n const linkText = text !== undefined ? text : '';\r\n payLoad.contentAction.etext = linkText;\r\n // Construct telemetry attribute to render\r\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\r\n return (\r\n
\r\n \r\n \r\n {linkText}\r\n \r\n \r\n \r\n\r\n
\r\n );\r\n};","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, { IGridSettings, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\nimport { addThrottledEvent, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { IMenuItemData, ICittaCustomNavigationMenuData } from './citta-custom-navigation-menu.data';\r\nimport { ICittaCustomNavigationMenuProps } from './citta-custom-navigation-menu.props.autogenerated';\r\nimport { ICmsNavItemsData } from './citta-custom-navigation-menu.props.autogenerated';\r\nimport { Link } from './components/link';\r\n\r\n\r\nexport interface INavigationMenuViewProps extends ICittaCustomNavigationMenuProps {\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 showCategoryImage?: boolean;\r\n showPromotionalContent?: boolean;\r\n links?: React.ReactNode;\r\n\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 * NavigationMenu component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass NavigationMenu extends React.PureComponent, INavigationMenuState> {\r\n\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n\r\n @observable\r\n private viewport: GridSize;\r\n\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: ICittaCustomNavigationMenuProps) {\r\n super(props);\r\n this.viewport = props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this.state = { \r\n isMobile: this.isMobile \r\n };\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this._getViewport = this._getViewport.bind(this);\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 if (MsDyn365.isBrowser) {\r\n this.resizeThrottledEventHandler = addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n }\r\n this._updateViewport();\r\n\r\n let container = document.querySelector(\".ms-nav-custom\");\r\n if (container) {\r\n const middle = container.querySelector(\"a.active\") || container.children[Math.floor((container.children.length - 1) / 2)];\r\n \r\n container.scrollTo({\r\n top: 0,\r\n // @ts-ignore\r\n left: middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2,\r\n behavior: 'smooth'\r\n })\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { cmsNavItems } = this.props.config;\r\n\r\n if (!cmsNavItems || !cmsNavItems.length) {\r\n return null;\r\n }\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n Navigation: {\r\n moduleProps: this.props,\r\n className: classnames('ms-nav-custom', this.props.config.className, this.state.isMobile ? 'mobile-vp' : 'desktop-vp'),\r\n tag: 'nav'\r\n },\r\n isMobileView: this.state.isMobile,\r\n className: classnames('ms-nav', this.props.config.className),\r\n links: this._renderLinks()\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _renderLinks(): React.ReactNode | null {\r\n const url = this.props.context.request.canonicalUrl!;\r\n const { cmsNavItems } = this.props.config;\r\n let currentNavItems;\r\n\r\n if (url) {\r\n const lastPartOfURL = url && url.substring(url.lastIndexOf('/') + 1)\r\n cmsNavItems!.forEach(navMenu => {\r\n let urls = navMenu.linkText!.split('|');\r\n if (urls.find(u => u === lastPartOfURL)) {\r\n currentNavItems = this._createLinks(navMenu, lastPartOfURL);\r\n }\r\n });\r\n }\r\n\r\n return currentNavItems;\r\n }\r\n\r\n private _createLinks(navMenu: ICmsNavItemsData, lastPartOfURL: string): React.ReactNode {\r\n let links = navMenu.subMenus?.map(menuItem => {\r\n return \r\n })\r\n\r\n return links;\r\n }\r\n\r\n public _getViewport(): GridSize {\r\n const { context } = this.props;\r\n\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\r\n if (MsDyn365.isBrowser && 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 }\r\n return 'xl';\r\n }\r\n }\r\n\r\n return 'xs';\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}\r\n\r\nexport default NavigationMenu;\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 {\r\n Module\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { INavigationMenuViewProps } from './citta-custom-navigation-menu';\r\n\r\nconst NavigationMenuView: React.FC = props => {\r\n const { Navigation, links } = props;\r\n if (!links) {\r\n return null;\r\n }\r\n return (\r\n \r\n {links}\r\n \r\n );\r\n };\r\n \r\n export default NavigationMenuView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { AttributeValue, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\n\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IBuyboxAddToOrderTemplateViewProps, IBuyboxAddToWishlistViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureViewProps, IBuyboxProductQuantityViewProps, IBuyboxShopSimilarLookViewProps,\r\n IBuyboxState } from '@msdyn365-commerce-modules/buybox';\r\nimport { ICittaEnquireonlyBuyboxData } from './citta-enquireonly-buybox.data';\r\nimport { ICittaEnquireonlyBuyboxProps } from './citta-enquireonly-buybox.props.autogenerated';\r\nimport { IBuyboxFindInStoreViewProps } from './components/citta-enquireonly-buybox-find-in-store';\r\n\r\nexport interface IBuyboxViewProps extends ICittaEnquireonlyBuyboxProps {\r\n state: IBuyboxState;\r\n ModuleProps: IModuleProps;\r\n ProductInfoContainerProps: INodeProps;\r\n MediaGalleryContainerProps: INodeProps;\r\n mediaGallery?: React.ReactNode;\r\n imageContainer?: React.ReactNode;\r\n productSpecs?: React.ReactNode;\r\n AccordianContainerProps: INodeProps;\r\n accordian?: React.ReactNode;\r\n title?: React.ReactNode;\r\n description?: MsDyn365.RichText | undefined;\r\n rating?: React.ReactNode;\r\n price?: React.ReactNode;\r\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps;\r\n addToWishlist?: IBuyboxAddToWishlistViewProps;\r\n addToCart: React.ReactNode;\r\n findInStore?: IBuyboxFindInStoreViewProps;\r\n quantity?: IBuyboxProductQuantityViewProps;\r\n configure?: IBuyboxProductConfigureViewProps;\r\n inventoryLabel?: React.ReactNode;\r\n shopSimilarLook?: IBuyboxShopSimilarLookViewProps;\r\n shopSimilarDescription?: IBuyboxShopSimilarLookViewProps;\r\n telemetryContent?: ITelemetryContent;\r\n keyInPrice?: IBuyboxKeyInPriceViewProps;\r\n unitOfMeasure?: React.ReactNode;\r\n}\r\n\r\ninterface ICittaBuyboxState extends IBuyboxState {\r\n product?: SimpleProduct;\r\n productAttributes?:AttributeValue[];\r\n}\r\n\r\n/**\r\n * Buybox Module.\r\n */\r\nclass Buybox extends React.PureComponent, ICittaBuyboxState> {\r\n constructor(props: ICittaEnquireonlyBuyboxProps, state: ICittaBuyboxState) {\r\n super(props);\r\n this.state = {\r\n product: undefined,\r\n productAttributes: undefined,\r\n errorState: {\r\n configureErrors: {}\r\n },\r\n quantity: 1,\r\n min: undefined,\r\n max: undefined,\r\n selectedProduct: undefined,\r\n productPrice: undefined,\r\n productDeliveryOptions: undefined,\r\n\r\n modalOpen: false,\r\n isUpdatingDimension: false,\r\n isUpdatingDeliveryOptions: false\r\n };\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n slots: {\r\n imageContainer,\r\n enquireNow,\r\n productSpecs\r\n },\r\n config: { className = 'citta-enquireonly-buybox' }\r\n } = this.props;\r\n\r\n\r\n const viewProps: IBuyboxViewProps = {\r\n ...(this.props as ICittaEnquireonlyBuyboxProps),\r\n state: this.state,\r\n mediaGallery: imageContainer, //mediaGallery && mediaGallery.length > 0 ? mediaGallery[0] : undefined,\r\n\r\n ModuleProps: {\r\n moduleProps: this.props,\r\n className: classnames('ms-buybox', className)\r\n },\r\n ProductInfoContainerProps: {\r\n className: 'ms-buybox__content'\r\n },\r\n MediaGalleryContainerProps: {\r\n className: 'ms-buybox__media-gallery'\r\n },\r\n AccordianContainerProps: {\r\n className: 'ms-buybox__accordian'\r\n },\r\n title: this.props.config.productTitle,\r\n description: this.props.config.productDetails,\r\n addToCart: enquireNow,\r\n productSpecs: productSpecs\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n}\r\n\r\nexport default Buybox;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport { IBuyboxViewProps } from './citta-enquireonly-buybox';\r\n\r\nconst BuyboxView: React.FC = props => {\r\n const { \r\n ModuleProps,\r\n MediaGalleryContainerProps,\r\n ProductInfoContainerProps,\r\n addToCart,\r\n description,\r\n title,\r\n productSpecs,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n {props.mediaGallery}\r\n \r\n \r\n

{title}

\r\n {description && \r\n }\r\n {addToCart}\r\n {productSpecs}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BuyboxView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, IModuleProps, INodeProps, IPayLoad, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICittaFooterItemConfig, ICittaFooterItemProps, IHeadingData, ILinkData } from './citta-footer-item.props.autogenerated';\r\n\r\nexport interface IFooterViewProps extends ICittaFooterItemProps {\r\n heading: React.ReactNode;\r\n image: React.ReactNode;\r\n text: React.ReactNode;\r\n linkText: React.ReactNode;\r\n className?:string;\r\n FooterItem: IModuleProps;\r\n HeadingContainer: INodeProps;\r\n ItemContainer: INodeProps;\r\n Link: INodeProps;\r\n EditableLink: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * FooterItem component\r\n * @extends {React.PureComponent>}\r\n */\r\nexport class FooterItem extends React.PureComponent> {\r\n private telemetryContent: ITelemetryContent;\r\n private payLoad: IPayLoad;\r\n private attributes: Msdyn365.IDictionary | undefined;\r\n constructor(props: ICittaFooterItemProps) {\r\n super(props);\r\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry);\r\n // Construct telemetry attribute to render\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {heading, image, link, text} = this.props.config;\r\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\r\n const linkText = link && link.linkText ? link.linkText : '';\r\n this.payLoad.contentAction.etext = linkText;\r\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n const viewProps: IFooterViewProps = {\r\n ... this.props,\r\n heading: this._createHeading(heading!),\r\n image: this._createImageMarkup(image!),\r\n text:this._createText(text!),\r\n linkText: this._createLinkText(link!),\r\n EditableLink: this._createLink(link!),\r\n // @ts-ignore\r\n FooterItem: {\r\n moduleProps: this.props,\r\n className: footerItemClassName\r\n },\r\n // @ts-ignore\r\n HeadingContainer: {\r\n className: 'ms-footer__heading'\r\n },\r\n // @ts-ignore\r\n ItemContainer: {\r\n className: 'ms-footer__link__container'\r\n },\r\n // @ts-ignore\r\n Link: link && link.linkUrl && link.linkUrl.destinationUrl && {\r\n tag: 'a',\r\n className: 'ms-footer__link',\r\n href: link.linkUrl.destinationUrl,\r\n title:linkText,\r\n target: link.openInNewTab ? '_blank' : undefined,\r\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\r\n ...this.attributes,\r\n rel: \"noopener\"\r\n },\r\n className:footerItemClassName\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.heading!.text = event.target.value;\r\n\r\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.text = event.target.value;\r\n\r\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.link!.linkText = event.target.value;\r\n\r\n private _createLink(link: ILinkData): React.ReactNode | null {\r\n if(link) {\r\n const linkText = link.linkText ? link.linkText : '';\r\n // TODO: Update the inner tag in the anchor link to span\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: link.ariaLabel,\r\n className: 'ms-footer__link',\r\n linkText: linkText,\r\n linkUrl: link.linkUrl.destinationUrl,\r\n openInNewTab: link.openInNewTab,\r\n role: 'button',\r\n additionalProperties: this.attributes!,\r\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\r\n };\r\n return(\r\n \r\n );\r\n\r\n }\r\n return null;\r\n }\r\n\r\n private _createLinkText(link: ILinkData): React.ReactNode | null {\r\n if(!link || !link.linkText) {\r\n return null;\r\n }\r\n\r\n return ({link.linkText});\r\n }\r\n\r\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\r\n if(!heading || !heading.text || !heading.text.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _createText(text: string): React.ReactNode | null {\r\n if (!text) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\r\n if(!item || !item.src || !item.src.length) {\r\n return null;\r\n }\r\n\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=24&h=24&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=24&h=24&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FooterItem;\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/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IFooterViewProps } from './citta-footer-item';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image, text, EditableLink} = props;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && image) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n );\r\n } else if(Link) {\r\n return (EditableLink);\r\n }\r\n return(\r\n <>\r\n {text}\r\n {image}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FooterItemView;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport { observer } from 'mobx-react';\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ICittaProductEoqData } from './citta-product-eoq.data';\r\nimport { ICittaProductEoqProps } from './citta-product-eoq.props.autogenerated';\r\n\r\nexport interface ICittaProductEoqViewProps extends ICittaProductEoqProps {\r\n EoqContainer: IModuleProps\r\n QuantityTitleTextNode: INodeProps;\r\n AvailableTitleTextNode: INodeProps;\r\n QuantityNode: INodeProps;\r\n AvailableNode: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaProductEoq component\r\n * @extends {React.PureComponent>}\r\n */\r\n @observer\r\nclass CittaProductEoq extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n\r\n let content: ICittaProductEoqData;\r\n\r\n try {\r\n content = this.props.data;\r\n } catch(e) {\r\n this.props.telemetry.error(`Something went wrong -----${e}`);\r\n return null;\r\n }\r\n \r\n const availableQuantity = content.productAvailability\r\n && content.productAvailability.result && content.productAvailability.result[0] && \r\n // @ts-ignore\r\n content.productAvailability.result[0].ProductAvailableQuantity.AvailableQuantity\r\n\r\n const productEOQ = content.attributes.result && content.attributes.result.find(att => att.Name === \"EOQ\");\r\n const quantityTitleText = this.props.config && this.props.config.quantityTitleText ? this.props.config.quantityTitleText : 'Order Quantity:';\r\n const availableTitleText = this.props.config && this.props.config.availableTitleText ? this.props.config.availableTitleText : 'Available:';\r\n\r\n const className = this.props.config && this.props.config.className ? this.props.config.className : '';\r\n if (productEOQ) {\r\n const productEoqViewProps: ICittaProductEoqViewProps = {\r\n ...(this.props as ICittaProductEoqProps),\r\n EoqContainer: {\r\n moduleProps: this.props,\r\n className: classname('product-eoq', className),\r\n },\r\n QuantityTitleTextNode: {\r\n className: 'product-quantity-title',\r\n children: quantityTitleText\r\n },\r\n AvailableTitleTextNode: {\r\n className: 'product-available-title',\r\n children: availableTitleText\r\n },\r\n QuantityNode: {\r\n className: 'product-quantity-id',\r\n children: productEOQ.TextValue\r\n },\r\n AvailableNode: {\r\n className: 'product-available-id',\r\n children: availableQuantity || '0'\r\n },\r\n };\r\n return this.props.renderView(productEoqViewProps) as React.ReactElement;\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport default CittaProductEoq;\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport * as React from 'react';\r\nimport { ICittaProductEoqViewProps } from './citta-product-eoq';\r\n\r\nexport default (props: ICittaProductEoqViewProps) => {\r\n const {\r\n EoqContainer,\r\n QuantityTitleTextNode,\r\n AvailableTitleTextNode,\r\n QuantityNode,\r\n AvailableNode\r\n } = props;\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-add';\r\nimport { IAddressSelectItem, IAddressSelectProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-select';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-show';\r\nimport { ICheckoutShippingAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/./checkout-shipping-address';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n hi\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Select Component.\r\n * @param param0 - Root param.\r\n * @param param0.SelectAddress - Select address.\r\n * @param param0.addButton - Add button.\r\n * @param param0.items - IAddressSelectItem[].\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns - SelectAddress Node.\r\n */\r\nconst AddressSelect: React.FC = ({\r\n SelectAddress,\r\n addButton,\r\n items,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n\r\n return (\r\n \r\n {addButton}\r\n {items.map((item: IAddressSelectItem) => {\r\n const SelectItem = item.SelectItem;\r\n return (\r\n {item.input}\r\n \r\n );\r\n })}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - Error message.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns Address add update component node.\r\n */\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}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Checkout Shipping Address View Component.\r\n * @param props - Props.\r\n * @returns - CheckoutShippingAddress Module.\r\n */\r\nconst CheckoutShippingAddressView: React.FC = props => {\r\n const { CheckoutShippingAddress, viewState, showAddress, showAddressSelect, showAddOrUpdateAddress, cartLineImages } = props;\r\n\r\n return (\r\n \r\n {cartLineImages}\r\n {viewState.isShowAddress && }\r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutShippingAddressView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-add';\r\nimport { IAddressSelectItem, IAddressSelectProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-select';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/../../common/components/address-show';\r\nimport { ICheckoutShippingAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/checkout-shipping-address/./checkout-shipping-address';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressSelect: React.FC = ({\r\n SelectAddress,\r\n addButton,\r\n items,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n\r\n return (\r\n \r\n {addButton}\r\n {items && items.map((item: IAddressSelectItem) => {\r\n const SelectItem = item.SelectItem;\r\n return (\r\n {item.input}\r\n \r\n );\r\n })}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst sortArray = (arr1: any[], arr2: any[]) => {\r\n arr2.sort((a, b) => {\r\n const aKey = a.key;\r\n const bKey = b.key;\r\n return arr1.indexOf(aKey) - arr1.indexOf(bKey);\r\n });\r\n };\r\n\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 //@ts-ignore\r\n countriesList,\r\n //@ts-ignore\r\n fieldsToHide\r\n}) => {\r\n // re-order the address...\r\n const order = [\"Name\", \"ThreeLetterISORegionName\", \"StreetNumber\", \"Street\", \"DistrictName\", \"City\", \"State\", \"ZipCode\", \"BuildingCompliment\", \"Phone\"]\r\n sortArray(order, items);\r\n //fieldsToHide\r\n let country: any = items.find(item => item.key === 'ThreeLetterISORegionName');\r\n\r\n if (countriesList && countriesList.length && country && country.input && country.input.props.displayData) {\r\n let res = country.input.props.displayData.filter((countryData: any) => countriesList.indexOf(countryData.key) !== -1)\r\n country.input.props.displayData = res;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n if (item.key !== \"StreetNumber\") {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n }\r\n return null;\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst CheckoutShippingAddressView: React.FC = props => {\r\n const { CheckoutShippingAddress, viewState, showAddress, showAddressSelect, showAddOrUpdateAddress, cartLineImages } = props;\r\n /* @ts-ignore */\r\n const { countriesList, fieldsToHide } = props.config;\r\n\r\n return (\r\n \r\n {cartLineImages}\r\n {viewState.isShowAddress && }\r\n {viewState.isShowAddresList && }\r\n {/* @ts-ignore */}\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutShippingAddressView;\r\n"],"names":["Link","_ref","text","className","href","ariaLabel","index","noclick","telemetryContent","isActive","subLinks","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","React","Object","assign","onClick","onTelemetryClick","itemProp","content","NavigationMenu","constructor","props","super","this","viewport","context","request","device","Type","state","isMobile","_updateViewport","bind","_getViewport","static","locale","nameTranslations","nameTranslation","length","find","item","Language","toLowerCase","Text","componentDidMount","MsDyn365","isBrowser","resizeThrottledEventHandler","addThrottledEvent","window","container","document","querySelector","middle","children","Math","floor","scrollTo","top","left","offsetLeft","offsetWidth","behavior","componentWillUnmount","removeEventListener","render","cmsNavItems","config","viewProps","_objectSpread","Navigation","moduleProps","classnames","tag","isMobileView","links","_renderLinks","renderView","url","canonicalUrl","currentNavItems","lastPartOfURL","substring","lastIndexOf","forEach","navMenu","split","u","_createLinks","_navMenu$subMenus","subMenus","map","menuItem","linkUrl","destinationUrl","pageName","moduleName","innerWidth","gridSettings","xs","w","sm","md","lg","setState","__decorate","observable","computed","Module","Buybox","product","productAttributes","errorState","configureErrors","quantity","min","max","selectedProduct","productPrice","productDeliveryOptions","modalOpen","isUpdatingDimension","isUpdatingDeliveryOptions","slots","imageContainer","enquireNow","productSpecs","mediaGallery","ModuleProps","ProductInfoContainerProps","MediaGalleryContainerProps","AccordianContainerProps","title","productTitle","description","productDetails","addToCart","Node","FooterItem","handleHeadingChange","event","heading","target","value","handleTextChange","handleLinkTextChange","link","getTelemetryObject","telemetryPageName","friendlyName","telemetry","image","footerItemClassName","attributes","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","openInNewTab","rel","editableLink","role","additionalProperties","Msdyn365","editProps","onTextChange","requestContext","onEdit","ariaHiddenAttr","src","defaultImageSettings","viewports","q","h","lazyload","imageSettings","loadFailureBehavior","key","FooterItemView","_renderElement","CittaProductEoq","data","e","error","availableQuantity","productAvailability","result","ProductAvailableQuantity","AvailableQuantity","productEOQ","att","Name","quantityTitleText","availableTitleText","productEoqViewProps","EoqContainer","classname","QuantityTitleTextNode","AvailableTitleTextNode","QuantityNode","TextValue","AvailableNode","observer","AddressShow","AddressDetail","items","AddressSelect","_ref2","SelectAddress","addButton","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","SelectItem","input","showItems","AddressAddUpdate","_ref3","AddressForm","hasError","AddressItem","label","alert","AddressError","message","CheckoutShippingAddress","viewState","showAddress","showAddressSelect","showAddOrUpdateAddress","cartLineImages","isShowAddress","isShowAddresList","isShowAddOrUpdateAddress","countriesList","fieldsToHide","sortArray","arr1","sort","a","b","aKey","bKey","indexOf","country","displayData","res","filter","countryData"],"sourceRoot":""}