{"version":3,"file":"static/js/26.8b57e26b8acd9449da72.chunk.js","mappings":"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","sources":["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-product-collection/components/product-component.tsx?9602","webpack://Citta2.0/./src/modules/citta-product-collection/citta-product-collection.props.autogenerated.ts?6b89","webpack://Citta2.0/./src/modules/citta-product-collection/citta-product-collection.tsx?3cdb","webpack://Citta2.0/./src/modules/citta-product-collection/citta-product-collection.view.tsx?3b99","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":["/*--------------------------------------------------------------\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 * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport {\r\n IComponent, IComponentProps, ICoreContext, IGridSettings,\r\n IImageData, IImageSettings, Image, IRequestContext, msdyn365Commerce\r\n} from '@msdyn365-commerce/core';\r\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { getProductPageUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { format, getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nexport interface IProductComponentProps extends IComponentProps<{ product?: ProductSearchResult }> {\r\n className?: string;\r\n imageSettings?: IImageSettings;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n ratingAriaLabel?: string;\r\n allowBack?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n quickViewButton?: React.ReactNode;\r\n}\r\n\r\nexport interface IProductComponent extends IComponent { }\r\n\r\nconst PriceComponentActions = {};\r\n\r\nconst ProductCard: React.FC = ({\r\n data,\r\n context,\r\n imageSettings,\r\n ratingAriaLabel,\r\n allowBack,\r\n telemetryContent,\r\n quickViewButton\r\n}) => {\r\n const product = data.product;\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n let productUrl = getProductPageUrlSync(product.Name || '', product.RecordId, context && context.actionContext, undefined);\r\n if (allowBack) {\r\n productUrl = updateProductUrl(productUrl, context);\r\n }\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', telemetryContent!, '', product.RecordId.toString());\r\n\r\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- -- Do not need type check for appsettings\r\n const isUnitOfMeasureEnabled = context.app.config && context.app.config.unitOfMeasureDisplayType === 'buyboxAndBrowse';\r\n\r\n /**\r\n * Gets the react node for product unit of measure display.\r\n * @param unitOfMeasure - DefaultUnitOfMeasure property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n function renderProductUnitOfMeasure(unitOfMeasure?: string): JSX.Element | null {\r\n\r\n if (!unitOfMeasure) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n {unitOfMeasure}\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {renderProductPlacementImage(\r\n imageSettings, context.request.gridSettings, product.PrimaryImageUrl, product.Name, context.actionContext.requestContext)}\r\n
\r\n
\r\n

\r\n {product.Name}\r\n

\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n {renderDescription(product.Description)}\r\n
\r\n \r\n {quickViewButton && renderQuickView(quickViewButton, product.RecordId)}\r\n \r\n );\r\n};\r\n\r\nfunction renderLabel(name?: string, price?: string, rating?: number, ratingAriaLabel?: string): string {\r\n name = name || '';\r\n price = price || '';\r\n return (`${name} ${price} ${getRatingAriaLabel(rating, ratingAriaLabel)}`);\r\n}\r\n\r\nfunction renderDescription(description?: string): JSX.Element | null {\r\n return (

\r\n {description}\r\n

);\r\n}\r\n\r\nfunction renderQuickView(quickview: React.ReactNode, item?: number): JSX.Element | undefined {\r\n if (quickview === null) {\r\n return undefined;\r\n }\r\n return React.cloneElement(quickview as React.ReactElement, { selectedProductId: item });\r\n}\r\n\r\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\r\n if (rating && ratingAriaLabel) {\r\n const roundedRating = rating.toFixed(2);\r\n return format(ratingAriaLabel || '', roundedRating, '5');\r\n }\r\n return '';\r\n}\r\n\r\nfunction updateProductUrl(productUrl: string, context: ICoreContext): string {\r\n const srcUrl = new URL(productUrl, context.request.apiSettings.baseUrl);\r\n const queryString = 'back=true';\r\n if (srcUrl.search) {\r\n srcUrl.search += `&${queryString}`;\r\n } else {\r\n srcUrl.search += queryString;\r\n }\r\n\r\n const updatedUrl = new URL(srcUrl.href);\r\n return updatedUrl.pathname + srcUrl.search;\r\n}\r\n\r\nfunction renderProductPlacementImage(\r\n imageSettings?: IImageSettings, gridSettings?: IGridSettings, imageUrl?: string, altText?: string, context?: IRequestContext): JSX.Element | null {\r\n\r\n if (!imageUrl || !gridSettings || !imageSettings) {\r\n return null;\r\n }\r\n const img: IImageData = {\r\n src: imageUrl,\r\n altText: altText ? altText : ''\r\n };\r\n const imageProps = {\r\n gridSettings,\r\n imageSettings\r\n };\r\n imageProps.imageSettings.cropFocalRegion = true;\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport const ProductComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'Product',\r\n { component: ProductCard, ...PriceComponentActions }\r\n);\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * ICittaProductCollection containerModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport const enum layout {\r\n carousel = 'carousel',\r\n grid = 'grid'\r\n}\r\n\r\nexport interface ICittaProductCollectionConfig extends Msdyn365.IModuleConfig {\r\n heading?: IHeadingData;\r\n layout?: layout;\r\n allowBackNavigation?: boolean;\r\n imageSettings?: Msdyn365.IImageSettings;\r\n clientRender?: boolean;\r\n enableAffiliationBasedPricing?: boolean;\r\n className?: string;\r\n}\r\n\r\nexport interface ICittaProductCollectionResources {\r\n priceFree: string;\r\n ratingAriaLabel: string;\r\n flipperNext: string;\r\n flipperPrevious: string;\r\n originalPriceText: string;\r\n currentPriceText: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ICittaProductCollectionProps extends Msdyn365.IModule {\r\n resources: ICittaProductCollectionResources;\r\n config: ICittaProductCollectionConfig;\r\n slots: {\r\n quickview: React.ReactNode[];\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\n/* eslint-disable no-duplicate-imports */\r\n// import { ProductComponent } from '@msdyn365-commerce/components';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { getCartFromCustomer } from '@msdyn365-commerce/global-state';\r\nimport { ProductPrice, ProductSearchResult, ProjectionDomain } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n getActivePricesAsync\r\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { getTelemetryObject, IComponentNodeProps, IModuleProps, INodeProps, ISingleSlideCarouselProps, ITelemetryContent, NodeTag, SingleSlideCarousel } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICittaProductCollectionData } from './citta-product-collection.data';\r\nimport { ProductComponent } from './components/product-component';\r\n\r\nimport { ICittaProductCollectionProps, layout } from './citta-product-collection.props.autogenerated';\r\n\r\nexport interface IProductCollectionViewProps extends ICittaProductCollectionProps {\r\n heading?: React.ReactNode;\r\n ProductCollectionContainer: IModuleProps;\r\n SingleSlideCarouselComponentProps: INodeProps;\r\n GridComponentProps: INodeProps;\r\n products: IProductComponentViewProps[];\r\n isCarousel: boolean;\r\n productPrices?: ProductPrice[];\r\n}\r\n\r\nexport interface IProductComponentViewProps {\r\n ProductContainer: INodeProps;\r\n productComponent: React.ReactNode;\r\n}\r\nexport interface IProductComponentState {\r\n products: ProductSearchResult[];\r\n}\r\n\r\n/**\r\n * ProductCollection component.\r\n */\r\nclass ProductCollection extends React.PureComponent, IProductComponentState> {\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n private productPrices: ProductPrice[];\r\n\r\n constructor(props: ICittaProductCollectionProps) {\r\n super(props);\r\n this.productPrices = [];\r\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.enableAffiliationBasedPricing &&\r\n this.props.context.actionContext.requestContext?.user?.isAuthenticated) {\r\n this._getActivePrice();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { heading, className } = this.props.config;\r\n const { \r\n resources,\r\n data: {\r\n catelogfeed\r\n }\r\n } = this.props;\r\n const products = catelogfeed && catelogfeed.result;\r\n\r\n const isCarousel = this.props.config.layout === layout.carousel;\r\n const headingComponent = heading && (\r\n \r\n );\r\n\r\n const productCollectionViewProps = {\r\n ...this.props,\r\n heading: headingComponent,\r\n SingleSlideCarouselComponentProps: {\r\n tag: SingleSlideCarousel,\r\n className: '',\r\n flipperPrevLabel: resources.flipperPrevious,\r\n flipperNextLabel: resources.flipperNext,\r\n parentId: this.props.id,\r\n telemetryContent: this.telemetryContent\r\n } as IComponentNodeProps,\r\n ProductCollectionContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-product-collection', className)\r\n },\r\n GridComponentProps: {\r\n tag: 'ul' as NodeTag,\r\n className: 'ms-product-collection__items'\r\n },\r\n isCarousel,\r\n products: products && products.length > 0 && products.map((item: ProductSearchResult, index: number) => this._getProduct(item, index)),\r\n productPrices: this.productPrices\r\n };\r\n return this.props.renderView(productCollectionViewProps) 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 private readonly _getProduct = (product: ProductSearchResult, index: number): IProductComponentViewProps | null => {\r\n if (!product || !product.Name) {\r\n this.props.telemetry.trace('[product-collection] Product or product name is null');\r\n return null;\r\n }\r\n const telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry);\r\n const { imageSettings, allowBackNavigation } = this.props.config;\r\n const resources = this.props.resources;\r\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\r\n const allowBack = allowBackNavigation && (breaCrumbType === 'back' || breaCrumbType === 'categoryAndBack');\r\n const quickviewSlot = this.props.slots && this.props.slots.quickview && this.props.slots.quickview.length > 0 ? this.props.slots.quickview[0] : null;\r\n return {\r\n ProductContainer: {\r\n tag: 'li' as NodeTag,\r\n className: 'ms-product-collection__item',\r\n role: 'listitem',\r\n key: index\r\n },\r\n productComponent: (\r\n \r\n )\r\n };\r\n };\r\n\r\n private readonly _getActivePrice = async (): Promise => {\r\n let products = (this.state.products) || [];\r\n const productRecIds = (products && products.length > 0) ? products.map(prod => prod.RecordId) : [];\r\n const projectDomain: ProjectionDomain = { ChannelId: this.props.context.request.apiSettings.channelId, CatalogId: this.props.context.request.apiSettings.catalogId };\r\n const cart = await getCartFromCustomer(this.props.context.actionContext);\r\n const affliations = cart?.AffiliationLines;\r\n\r\n await getActivePricesAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n projectDomain,\r\n productRecIds,\r\n new Date(),\r\n null,\r\n affliations,\r\n true\r\n ).then((activePricesResponse: ProductPrice[]) => {\r\n this.productPrices = activePricesResponse;\r\n products = products.map(prod => {\r\n const activePrice = activePricesResponse.find(price => price.ProductId === prod.RecordId);\r\n if (activePrice) {\r\n prod.Price = activePrice.CustomerContextualPrice ?? prod.Price;\r\n prod.BasePrice = Math.max(activePrice.BasePrice || 0, activePrice.TradeAgreementPrice || 0, activePrice.AdjustedPrice || 0);\r\n }\r\n return prod;\r\n });\r\n this.setState({\r\n products\r\n });\r\n })\r\n .catch((error: Error) => {\r\n this.props.context.actionContext.trace(error.message);\r\n this.props.context.actionContext.telemetry.exception(error);\r\n this.props.context.actionContext.telemetry.debug('[get Affiliation based price on Product Collection]Error executing action');\r\n throw new Error('[get Affiliation based price on Product Collection]Error executing action');\r\n });\r\n };\r\n}\r\n\r\nexport default ProductCollection;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps, Module, Node, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IProductCollectionViewProps, IProductComponentViewProps } from './citta-product-collection';\r\n\r\nconst ProductCollectionView: React.FC = props => {\r\n const { heading, ProductCollectionContainer, products, SingleSlideCarouselComponentProps, GridComponentProps, isCarousel } = props;\r\n if (products) {\r\n return (\r\n \r\n {heading}\r\n {\r\n isCarousel ? _renderCarousel(SingleSlideCarouselComponentProps, products, props) : _renderGrid(GridComponentProps, products)\r\n }\r\n \r\n );\r\n }\r\n props.context.telemetry.error('Product collection content is empty, module wont render.');\r\n return null;\r\n};\r\n\r\nconst _renderCarousel = (carouselContainer: INodeProps, items: IProductComponentViewProps[],PropDetails: React.PropsWithChildren): JSX.Element => {\r\n const isMobile = PropDetails.context && PropDetails.context.request && PropDetails.context.request.device.Type === 'Mobile'\r\n let mobileCarouselContainer = {\r\n tag: 'ul' as NodeTag,\r\n className: 'ms-product-collection__custom-carousel'\r\n }\r\n return (\r\n \r\n {items && items.map(_renderProduct)}\r\n \r\n );\r\n};\r\n\r\nconst _renderGrid = (gridContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\r\n return (\r\n \r\n {items && items.map(_renderProduct)}\r\n \r\n );\r\n};\r\n\r\nconst _renderProduct = (product: IProductComponentViewProps): JSX.Element => {\r\n const { ProductContainer, productComponent } = product;\r\n\r\n return (\r\n \r\n {productComponent}\r\n \r\n );\r\n};\r\n\r\nexport default ProductCollectionView;\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 { 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":["Buybox","React","constructor","props","state","super","this","product","undefined","productAttributes","errorState","configureErrors","quantity","min","max","selectedProduct","productPrice","productDeliveryOptions","modalOpen","isUpdatingDimension","isUpdatingDeliveryOptions","render","slots","imageContainer","enquireNow","productSpecs","config","className","viewProps","_objectSpread","mediaGallery","ModuleProps","moduleProps","classnames","ProductInfoContainerProps","MediaGalleryContainerProps","AccordianContainerProps","title","productTitle","description","productDetails","addToCart","renderView","Module","Object","assign","Node","MsDyn365","text","renderLabel","name","price","rating","ratingAriaLabel","roundedRating","toFixed","format","getRatingAriaLabel","ProductComponent","msdyn365Commerce","createComponent","component","_ref","data","context","imageSettings","allowBack","telemetryContent","quickViewButton","productUrl","getProductPageUrlSync","Name","RecordId","actionContext","srcUrl","URL","request","apiSettings","baseUrl","queryString","search","href","pathname","updateProductUrl","payLoad","getPayloadObject","toString","attribute","getTelemetryAttributes","isUnitOfMeasureEnabled","app","unitOfMeasureDisplayType","onClick","onTelemetryClick","cultureFormatter","formatCurrency","Price","AverageRating","gridSettings","imageUrl","altText","img","src","imageProps","cropFocalRegion","Image","loadFailureBehavior","requestContext","renderProductPlacementImage","PrimaryImageUrl","unitOfMeasure","DefaultUnitOfMeasure","Description","quickview","item","selectedProductId","renderQuickView","layout","HeadingTag","ProductCollection","handleHeadingChange","event","heading","target","value","_getProduct","index","telemetry","trace","getTelemetryObject","telemetryPageName","friendlyName","allowBackNavigation","resources","breaCrumbType","breadcrumbType","quickviewSlot","length","ProductContainer","tag","role","key","productComponent","freePriceText","priceFree","originalPriceText","currentPriceText","id","typeName","_getActivePrice","async","products","productRecIds","map","prod","projectDomain","ChannelId","channelId","CatalogId","catalogId","cart","getCartFromCustomer","affliations","AffiliationLines","getActivePricesAsync","callerContext","queryResultSettings","Date","then","activePricesResponse","productPrices","activePrice","find","ProductId","_activePrice$Customer","CustomerContextualPrice","BasePrice","Math","TradeAgreementPrice","AdjustedPrice","setState","catch","error","message","exception","debug","Error","componentDidMount","_this$props$context$a","enableAffiliationBasedPricing","user","isAuthenticated","catelogfeed","result","isCarousel","carousel","headingComponent","Msdyn365","editProps","onEdit","productCollectionViewProps","SingleSlideCarouselComponentProps","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","ProductCollectionContainer","GridComponentProps","_renderCarousel","carouselContainer","items","PropDetails","isMobile","device","Type","_renderProduct","_renderGrid","gridContainer","CittaProductEoq","content","e","availableQuantity","productAvailability","ProductAvailableQuantity","AvailableQuantity","productEOQ","attributes","att","quantityTitleText","availableTitleText","productEoqViewProps","EoqContainer","classname","QuantityTitleTextNode","children","AvailableTitleTextNode","QuantityNode","TextValue","AvailableNode","__decorate","observer","AddressShow","AddressDetail","AddressSelect","_ref2","SelectAddress","addButton","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","SelectItem","input","showItems","AddressAddUpdate","_ref3","AddressForm","hasError","AddressItem","label","alert","AddressError","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":""}