{"version":3,"file":"static/js/22.2ec6724955d5cf6bb0cb.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/checkout-section-container/components/loading.tsx?edc6","webpack://Citta2.0/./src/modules/checkout-section-container/checkout-section-container.tsx?5c75","webpack://Citta2.0/./src/modules/checkout-section-container/checkout-section-container.view.tsx?de8f","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"],"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\nimport * as React from 'react';\r\n\r\nconst Loading: React.FC = () =>
;\r\n\r\nexport default Loading;\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\nimport { IModuleStateManager, IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport get from 'lodash/get';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICheckoutSectionContainerProps } from './checkout-section-container.props.autogenerated';\r\nimport LoadingComponent from './components/loading';\r\n\r\nexport interface ICheckoutSectionContainerModuleProps extends ICheckoutSectionContainerProps<{}>, IModuleStateProps {\r\n enableControl: boolean;\r\n}\r\n\r\nexport interface ICheckoutSectionContainerItem {\r\n id: string;\r\n loading?: React.ReactNode;\r\n itemProps: INodeProps;\r\n item: React.ReactNode;\r\n}\r\n\r\nexport interface ICheckoutSectionContainerViewProps extends ICheckoutSectionContainerProps<{}> {\r\n className: string;\r\n checkoutPlainContainerProps: IModuleProps;\r\n items: ICheckoutSectionContainerItem[];\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutPlainContainer component\r\n * @extends {React.Component}\r\n */\r\n@observer\r\nexport class CheckoutPlainContainer extends React.Component {\r\n public componentDidMount(): void {\r\n const items = this.getItems();\r\n const childIds = items.map((item: React.ReactNode) => get(item, 'props.id'));\r\n this.props.moduleState.init({\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n childIds\r\n });\r\n\r\n reaction(\r\n () => this.props.moduleState.isReady,\r\n () => {\r\n this.onContainerReady();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.moduleState.shouldSubmitContainer,\r\n () => {\r\n this.onSubmit();\r\n }\r\n );\r\n }\r\n\r\n public componentDidUpdate(): void {\r\n if (!this.props.moduleState.hasExternalSubmitGroup) {\r\n return;\r\n }\r\n /**\r\n * Review all modules to updating status if one of the modules has error\r\n */\r\n const { childIds, hasError, getModule } = this.props.moduleState;\r\n const hasReadyItems = childIds.some((childId: string) => {\r\n const state = getModule(childId);\r\n return !!state && state.isReady;\r\n });\r\n if (hasReadyItems && hasError) {\r\n this.onEdit();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n enableControl,\r\n moduleState,\r\n config: { width }\r\n } = this.props;\r\n\r\n const items = this.getItems();\r\n if (!items.length) {\r\n this.props.context.telemetry.error('Checkout section content is empty, module wont render');\r\n return null;\r\n }\r\n\r\n const moduleClassName = classname(\r\n 'ms-checkout-section-container',\r\n {\r\n 'has-initialized': moduleState.hasInitialized,\r\n 'is-ready': moduleState.isReady,\r\n 'is-updating': !moduleState.isReady,\r\n container: width === 'container',\r\n 'col-12 fullwidth': width === 'fluid'\r\n },\r\n this.props.config.className\r\n );\r\n\r\n const viewProps: ICheckoutSectionContainerViewProps = {\r\n ...this.props,\r\n\r\n className: moduleClassName,\r\n checkoutPlainContainerProps: {\r\n moduleProps: this.props,\r\n className: moduleClassName\r\n },\r\n items: items.map((item: React.ReactNode) => {\r\n const childId = get(item, 'props.id');\r\n const state = moduleState.getModule(childId);\r\n // Modules has not completed initializing or it's disable\r\n\r\n const hidden = state.hasModuleState && (!state.hasInitialized || state.isDisabled || state.isSkipped);\r\n return {\r\n id: childId,\r\n loading: state.hasModuleState && !state.hasInitialized && ,\r\n itemProps: {\r\n 'data-type-name': state.typeName,\r\n className: classname('ms-checkout-section-container__item', {\r\n hidden: hidden,\r\n initialized: state.hasInitialized,\r\n disabled: state.isDisabled,\r\n skipped: state.isSkipped,\r\n ready: state.isReady,\r\n updating: state.isUpdating,\r\n pending: state.isPending\r\n })\r\n },\r\n item: React.cloneElement(item as React.ReactElement, { enableControl })\r\n };\r\n })\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private getItems = (): React.ReactNode[] => {\r\n const { slots } = this.props;\r\n return (slots && slots.primary && slots.primary.length && slots.primary) || [];\r\n };\r\n\r\n private getActiveChildModuleStates = (): IModuleStateManager[] => {\r\n const { childIds, getModule } = this.props.moduleState;\r\n return childIds\r\n .map(getModule)\r\n .filter((state): state is IModuleStateManager => !!state && !state.isDisabled && state.hasModuleState);\r\n };\r\n\r\n private clearError = (): void => {\r\n // Clear error before action, otherwise it will rise conflict;\r\n this.getActiveChildModuleStates().forEach(state => {\r\n state.hasError && state.setHasError(false);\r\n });\r\n };\r\n\r\n private onSubmit = (): void => {\r\n this.clearError();\r\n this.getActiveChildModuleStates().forEach(state => {\r\n !state.isReady && state.onSubmit && state.onSubmit();\r\n });\r\n };\r\n\r\n private onCancel = (): void => {\r\n this.clearError();\r\n this.getActiveChildModuleStates().forEach(state => {\r\n !state.isReady && state.onCancel && state.onCancel();\r\n });\r\n };\r\n\r\n private onEdit = (): void => {\r\n this.getActiveChildModuleStates().forEach(state => {\r\n (state.isReady || state.isSkipped) && state.onEdit && state.onEdit();\r\n });\r\n };\r\n\r\n private onContainerReady = (): void => {\r\n this.getActiveChildModuleStates().forEach(state => {\r\n state.isReady && state.onContainerReady && state.onContainerReady();\r\n });\r\n };\r\n}\r\n\r\nexport default withModuleState(CheckoutPlainContainer);\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\nimport { ICheckoutSectionContainerItem, ICheckoutSectionContainerViewProps } from './checkout-section-container';\r\n\r\nconst ItemComponent: React.FC = ({ loading, itemProps, item }) => (\r\n <>\r\n {loading}\r\n {item}\r\n \r\n);\r\n\r\nconst CheckoutSectionContainerView: React.FC = ({ checkoutPlainContainerProps, items }) => (\r\n \r\n {items.map(item => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport default CheckoutSectionContainerView;\r\n","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 * 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"],"names":["Loading","React","className","CheckoutPlainContainer","constructor","getItems","slots","this","props","primary","length","getActiveChildModuleStates","childIds","getModule","moduleState","map","filter","state","isDisabled","hasModuleState","clearError","forEach","hasError","setHasError","onSubmit","isReady","onCancel","onEdit","isSkipped","onContainerReady","componentDidMount","item","get","init","reaction","shouldSubmitContainer","componentDidUpdate","hasExternalSubmitGroup","some","childId","render","enableControl","config","width","items","context","telemetry","error","moduleClassName","classname","hasInitialized","container","viewProps","_objectSpread","checkoutPlainContainerProps","moduleProps","hidden","id","loading","LoadingComponent","itemProps","typeName","initialized","disabled","skipped","ready","updating","isUpdating","pending","isPending","renderView","__decorate","observer","withModuleState","ItemComponent","_ref","Node","Object","assign","_ref2","Module","key","Link","text","href","ariaLabel","index","noclick","telemetryContent","isActive","subLinks","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","onClick","onTelemetryClick","itemProp","content","NavigationMenu","super","viewport","request","device","Type","isMobile","_updateViewport","bind","_getViewport","static","locale","nameTranslations","nameTranslation","find","Language","toLowerCase","Text","MsDyn365","isBrowser","resizeThrottledEventHandler","addThrottledEvent","window","document","querySelector","middle","children","Math","floor","scrollTo","top","left","offsetLeft","offsetWidth","behavior","componentWillUnmount","removeEventListener","cmsNavItems","Navigation","classnames","tag","isMobileView","links","_renderLinks","url","canonicalUrl","currentNavItems","lastPartOfURL","substring","lastIndexOf","navMenu","split","u","_createLinks","_navMenu$subMenus","subMenus","menuItem","linkUrl","destinationUrl","pageName","moduleName","innerWidth","gridSettings","xs","w","sm","md","lg","setState","observable","computed","Buybox","product","productAttributes","errorState","configureErrors","quantity","min","max","selectedProduct","productPrice","productDeliveryOptions","modalOpen","isUpdatingDimension","isUpdatingDeliveryOptions","imageContainer","enquireNow","productSpecs","mediaGallery","ModuleProps","ProductInfoContainerProps","MediaGalleryContainerProps","AccordianContainerProps","title","productTitle","description","productDetails","addToCart","FooterItem","handleHeadingChange","event","heading","target","value","handleTextChange","handleLinkTextChange","link","getTelemetryObject","telemetryPageName","friendlyName","image","footerItemClassName","attributes","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","openInNewTab","rel","editableLink","role","additionalProperties","Msdyn365","editProps","onTextChange","requestContext","ariaHiddenAttr","src","defaultImageSettings","viewports","q","h","lazyload","imageSettings","loadFailureBehavior","FooterItemView","_renderElement","CittaProductEoq","data","e","availableQuantity","productAvailability","result","ProductAvailableQuantity","AvailableQuantity","productEOQ","att","Name","quantityTitleText","availableTitleText","productEoqViewProps","EoqContainer","QuantityTitleTextNode","AvailableTitleTextNode","QuantityNode","TextValue","AvailableNode"],"sourceRoot":""}