{"version":3,"file":"static/js/6.74fbaed16e7736137858.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/dyn-bioz-prime-badge/dyn-bioz-prime-badge.tsx?2649","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-bioz-prime-badge/dyn-bioz-prime-badge.view.tsx?d20b","webpack://Msdyn365.Commerce.Online/./src/themes/dyn-tebutheme/views/breadcrumb.view.tsx?18b6","webpack://Msdyn365.Commerce.Online/./src/components/container-background-image/container-background-image-helper.ts?ce2e","webpack://Msdyn365.Commerce.Online/./src/components/container-background-image/container-backgroud-image.tsx?e863","webpack://Msdyn365.Commerce.Online/./src/components/base-components.tsx?daec","webpack://Msdyn365.Commerce.Online/./src/modules/default-container-2-slots/default-container-2-slots.tsx?8065","webpack://Msdyn365.Commerce.Online/./src/modules/default-container-3-slots/default-container-3-slots.tsx?ac77","webpack://Msdyn365.Commerce.Online/./src/modules/default-container/default-container.tsx?01c3","webpack://Msdyn365.Commerce.Online/./src/modules/place-holder-for-container-preview/place-holder-for-container-preview.tsx?605e","webpack://Msdyn365.Commerce.Online/./src/utils/classnames.ts?a0ff","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/fabrikam.tsx?5b10","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://Msdyn365.Commerce.Online/./src/modules/starter/starter.tsx?aade"],"sourcesContent":["/*!\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 * as React from 'react';\r\n\r\nimport { IDynBiozPrimeBadgeData } from './dyn-bioz-prime-badge.data';\r\nimport { IDynBiozPrimeBadgeProps } from './dyn-bioz-prime-badge.props.autogenerated';\r\nimport { reaction } from 'mobx'; //computed\r\nimport { observer } from 'mobx-react';\r\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '@msdyn365-commerce-modules/product-specification';\r\n\r\nexport interface IDynBiozPrimeBadgeViewProps extends IDynBiozPrimeBadgeProps {\r\n catalogNumber?: string;\r\n}\r\n\r\n/**\r\n *\r\n * DynBiozPrimeBadge component\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass DynBiozPrimeBadge extends React.PureComponent> {\r\n public constructor(props: IDynBiozPrimeBadgeProps) {\r\n super(props);\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n const { context, data, telemetry } = this.props;\r\n\r\n reaction(\r\n () => (data.product.result ? data.product.result.RecordId : null),\r\n () => {\r\n if (context && data.product.result) {\r\n const actionInput = new AttributesForSelectedVariantInput(\r\n data.product.result.RecordId,\r\n\r\n +context.actionContext.requestContext.apiSettings.channelId,\r\n data.product.result\r\n );\r\n\r\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\r\n telemetry.error(error.message);\r\n telemetry.debug('Unable to update attributes for Product');\r\n telemetry.error(error.message);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IDynBiozPrimeBadgeProps): boolean {\r\n if (this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { data } = this.props;\r\n\r\n const catalogNumber =\r\n data.productSpecificationData.result?.find(attribute => attribute.Name === 'ERP_Bioz_BadgeRepresentative')?.TextValue ?? '';\r\n //const catalogNumber = data.productSpecificationData.result?.find(attribute => attribute.Name === 'Catalog Number')?.TextValue ?? '';\r\n let viewProps = {\r\n ...this.props,\r\n catalogNumber: catalogNumber\r\n };\r\n return this.props.renderView(viewProps);\r\n }\r\n}\r\n\r\nexport default DynBiozPrimeBadge;\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 * as React from 'react';\r\nimport { IDynBiozPrimeBadgeViewProps } from './dyn-bioz-prime-badge';\r\n\r\nexport const useScriptDynBiozPrimeBadge = (catalogNumberFormatted: string, position: string) => {\r\n React.useEffect(() => {\r\n const placement: Element | null = document.querySelector(position);\r\n\r\n const primaryDiv = document.getElementById('wrapper-bioz-prime-badge');\r\n if (primaryDiv && primaryDiv.innerHTML === '') {\r\n primaryDiv.innerHTML = ` `;\r\n }\r\n\r\n const scriptJQuery: HTMLScriptElement = document.createElement('script');\r\n scriptJQuery.src = 'https://cdn.bioz.com/assets/jquery-2.2.4.js';\r\n\r\n const scriptBioz: HTMLScriptElement = document.createElement('script');\r\n scriptBioz.src = 'https://cdn.bioz.com/assets/bioz-w-api-6.0.min.js';\r\n\r\n placement?.appendChild(scriptJQuery);\r\n placement?.appendChild(scriptBioz);\r\n\r\n return () => {\r\n placement?.appendChild(scriptJQuery);\r\n placement?.appendChild(scriptBioz);\r\n };\r\n }, []);\r\n};\r\n\r\nexport default (props: IDynBiozPrimeBadgeViewProps) => {\r\n const { catalogNumber } = props;\r\n const catalogNumberFormatted = catalogNumber?.replace(/[ .]/g, '_');\r\n const biozBlock = catalogNumberFormatted ? (\r\n <>\r\n {/*
ERP_Bioz_BadgeRepresentative : {props.catalogNumber}
\r\n
Formatted ERP_Bioz_BadgeRepresentative : {catalogNumberFormatted}
\r\n
BIOZ Prime Badge test result below :
*/}\r\n
\r\n {useScriptDynBiozPrimeBadge(catalogNumberFormatted ?? '', 'body')}\r\n \r\n ) : (\r\n <>\r\n {' '}\r\n {/*
ERP_Bioz_BadgeRepresentative : {props.catalogNumber}
\r\n
Formatted ERP_Bioz_BadgeRepresentative : {catalogNumberFormatted}
\r\n
BIOZ Prime Badge test result below : unavailable
*/}\r\n
\r\n \r\n );\r\n return <>{biozBlock};\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 classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IBreadcrumbViewProps } from '@msdyn365-commerce-modules/breadcrumb/src/modules/breadcrumb/breadcrumb';\r\n\r\nconst BreadCrumbView: React.FC = props => {\r\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem } = props;\r\n if (!root && !links && !backButton) {\r\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\r\n return null;\r\n }\r\n const separator = {' '}{'>'}{' '};\r\n\r\n return (\r\n \r\n \r\n {root &&\r\n \r\n {root}\r\n {links && separator}\r\n }\r\n {backButton &&\r\n \r\n {backButton}\r\n }\r\n {links && links.map((link, index) => (\r\n \r\n \r\n {link}\r\n {links[index + 1] && separator}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, {\n constructViewportInformationForImage,\n getImageResizeUrl,\n getLargestGridSettingViewportName,\n getMinMaxWidth,\n IAny,\n IGeneric,\n IViewPort,\n Viewport\n} from '@msdyn365-commerce/core-internal';\nimport { cloneDeep as _cloneDeep } from 'lodash';\nimport {\n BackgroundImageRepeat,\n BackgroundImageSize,\n IBackgroundImageAttributes,\n IBackgroundImageLazyloadAttributes,\n IBackgroundImageProps,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\n if (!size || size === 'cover') {\n return 'no-repeat';\n }\n switch (repeat) {\n case 'noRepeat':\n return 'no-repeat';\n case 'repeat':\n return 'repeat';\n default:\n return 'no-repeat';\n }\n};\n\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\n switch (size) {\n case 'cover':\n return 'cover';\n case 'contain':\n return 'contain';\n case 'default':\n default:\n return undefined;\n }\n};\n\nconst getDefaultViewports = (): IViewPort => {\n return {\n xs: {\n w: 800,\n h: 600\n },\n sm: {\n w: 1200,\n h: 900\n },\n md: {\n w: 1600,\n h: 900\n },\n lg: {\n w: 1600,\n h: 700\n },\n xl: {\n w: 1600,\n h: 700\n }\n };\n};\n\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\n if (!msdyn365Commerce.isBrowser) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\n if (!authoringHelper) {\n return;\n }\n\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\n};\n\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric => {\n const { containerType, image, request, configs } = props;\n\n const gridSettings = request.gridSettings ?? {};\n const imageSettings = image.imageSettings;\n\n const styles: IGeneric = {};\n\n const largestGridSettingViewportName = getLargestGridSettingViewportName(gridSettings);\n if (largestGridSettingViewportName && imageSettings) {\n // in site builder the layout may change, so use authoring viewports.\n const authoringViewPorts = getAuthoringViewport(containerType, configs?.layout);\n const imgSettings = {\n ...imageSettings,\n viewports: { ..._cloneDeep(authoringViewPorts || imageSettings.viewports || getDefaultViewports()) }\n };\n\n // Skip resizing width and height for background images.\n const skipWidthAndHeightSettings = true;\n Object.keys(imgSettings.viewports).map(vp => {\n const viewport = vp as Viewport;\n const minMaxWidth = getMinMaxWidth(gridSettings, imgSettings, viewport, largestGridSettingViewportName);\n const urlSrc = getImageResizeUrl(\n image.src,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n imgSettings.viewports[viewport],\n imgSettings,\n skipWidthAndHeightSettings,\n image?.externalProvider,\n request?.apiSettings\n );\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n styles[viewport] = {\n maxWidth: minMaxWidth.max,\n minWidth: minMaxWidth.min,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n minHeight: imgSettings.viewports[viewport]?.h,\n backgroundImage: urlSrc,\n backgroundRepeat: getBackgroundRepeatProperty(configs?.size, configs?.repeat),\n backgroundSize: getBackgroundSizeProperty(configs?.size),\n backgroundPosition: 'center center'\n };\n });\n }\n\n return styles;\n};\n\nexport const setStyleAttribute = (currentStyle: IBackgroundImageStyle): IGeneric => {\n let style: IGeneric = {};\n if (currentStyle) {\n style = { ...currentStyle };\n style['minWidth'] = undefined;\n style['width'] = '100%';\n if (currentStyle.backgroundImage) {\n style['backgroundImage'] = `url('${currentStyle.backgroundImage}')`;\n }\n }\n return style;\n};\n\nexport const getBackgroundImageLazyloadAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined,\n styles: IGeneric\n): IBackgroundImageLazyloadAttributes => {\n const attributes = {\n role: 'img',\n className: `${className} lazyload`,\n 'data-bgset': getDataBgSetAttribute(styles)\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n // On lazyload, lazysizes plugin should pick which background image to use based on data-bgset attribute.\n attributes['style']['backgroundImage'] = undefined;\n }\n return attributes;\n};\n\nexport const getBackgroundImageAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined\n): IBackgroundImageAttributes => {\n const attributes = {\n role: 'img',\n className\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n }\n return attributes;\n};\n\nexport const getBgSetMinMaxWidthAttribute = (style: IBackgroundImageStyle): string => {\n if (style.maxWidth) {\n return `[(max-width: ${style.maxWidth}px)]`;\n }\n return '';\n};\n\nexport const getDataBgSetAttribute = (styles: IGeneric): string => {\n const dataBgSetAttributes: string[] = [];\n Object.keys(styles).map(vp => {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (styles[vp].backgroundImage) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n dataBgSetAttributes.push(`${styles[vp].backgroundImage} ${getBgSetMinMaxWidthAttribute(styles[vp])}`);\n }\n });\n\n return dataBgSetAttributes.join(' | ');\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport msdyn365Commerce, { getLargestGridSettingViewportName, IGeneric, isAuthoringEditEnabled } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isEqual as _isEqual } from 'lodash';\nimport {\n buildBackgroundImageStylesByViewport,\n getBackgroundImageAttributes,\n getBackgroundImageLazyloadAttributes\n} from './container-background-image-helper';\nimport {\n IBackgroundImageAttributes,\n IBackgroundImageProps,\n IBackgroundImageState,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst BACKGROUND_IMAGE_CLASS_NAME = 'ms-container-background-image';\n\n/**\n * BackgroundImage component\n * @extends {React.PureComponent}\n */\nexport class BackgroundImage extends React.PureComponent {\n private stylesByViewport: IGeneric;\n private currentStyle: IBackgroundImageStyle | undefined;\n private mounted: boolean;\n\n constructor(props: IBackgroundImageProps, state: IBackgroundImageState) {\n super(props);\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this._onChangeHandler = this._onChangeHandler.bind(this);\n this.currentStyle = this._getCurrentStyle();\n this.mounted = false;\n this._componentResize = this._componentResize.bind(this);\n this._getCurrentStyle = this._getCurrentStyle.bind(this);\n this.state = { updateAttributes: false };\n }\n\n public componentDidMount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this._componentResize);\n this.mounted = true;\n this._componentResize();\n }\n }\n\n public componentWillUnmount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this._componentResize);\n this.mounted = false;\n }\n }\n\n public shouldComponentUpdate(nextProps: IBackgroundImageProps, nextState: { updateAttributes: boolean }): boolean {\n if (\n this.state !== nextState ||\n this.props.request?.gridSettings !== nextProps.request?.gridSettings ||\n this.props.configs.repeat !== nextProps.configs.repeat ||\n this.props.configs.size !== nextProps.configs.size ||\n this.props.configs.layout !== nextProps.configs.layout ||\n this.props.image?.imageSettings !== nextProps.image?.imageSettings ||\n this.props.image?.src !== nextProps.image?.src\n ) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { children } = this.props;\n\n try {\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this.currentStyle = this._getCurrentStyle();\n\n if (this.currentStyle) {\n const backgroundImageClassName = isAuthoringEditEnabled(this.props.request)\n ? `${BACKGROUND_IMAGE_CLASS_NAME} ms-editable-field enabled`\n : BACKGROUND_IMAGE_CLASS_NAME;\n const processedAtributes = this._processAttributes(\n backgroundImageClassName,\n this.currentStyle,\n this.stylesByViewport,\n this._isLazyload()\n );\n const attributes = this._getAttributes(processedAtributes);\n const eventHandlers = isAuthoringEditEnabled(this.props.request) ? { onDoubleClick: this._onChangeHandler } : {};\n\n if (this.state.updateAttributes) {\n // Update component with the latest attributes.\n return (\n
\n {children}\n
\n );\n } else if (this._isLazyload()) {\n // On lazyload, only include the class name on the first render.\n return (\n
\n {children}\n
\n );\n } else {\n // On lazyload disabled, render the default attributes from server side.\n return (\n
\n {children}\n
\n );\n }\n } else {\n // in no style is found, return the container content.\n return <>{children};\n }\n } catch {\n // in case of any failure, return the container content.\n return <>{children};\n }\n }\n\n private _processAttributes(\n className: string,\n currentStyle: IBackgroundImageStyle,\n stylesByViewport: IGeneric,\n lazyLoad: boolean\n ) {\n if (lazyLoad) {\n return getBackgroundImageLazyloadAttributes(className, currentStyle, stylesByViewport);\n } else {\n return getBackgroundImageAttributes(className, currentStyle);\n }\n }\n\n private _getAttributes(processedAtributes: IBackgroundImageAttributes) {\n return { ...processedAtributes, style: { ...processedAtributes?.style } };\n }\n\n private _onChangeHandler(event: React.SyntheticEvent | { target: { value: string } }): void {\n if (event.target === (event as React.SyntheticEvent).currentTarget) {\n const binding: any = this.props.image;\n const eventTarget: any = event.target;\n binding.$type = eventTarget.value;\n }\n }\n\n private _componentResize(): void {\n if (msdyn365Commerce.isBrowser) {\n const selectedStyle = this._getCurrentStyle();\n\n if (this.mounted || (selectedStyle && !_isEqual(this.currentStyle, selectedStyle))) {\n this.setState({ updateAttributes: true });\n }\n }\n }\n\n private _getCurrentStyle(): IBackgroundImageStyle | undefined {\n if (msdyn365Commerce.isBrowser) {\n const winInnerWidth: number = window.innerWidth;\n let selectedStyle: IBackgroundImageStyle | undefined;\n Object.keys(this.stylesByViewport).map(vp => {\n if (\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || this.stylesByViewport[vp]?.maxWidth) &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || 0) <= winInnerWidth &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n winInnerWidth <= (this.stylesByViewport[vp]?.maxWidth || Number.MAX_SAFE_INTEGER)\n ) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n selectedStyle = this.stylesByViewport[vp];\n }\n });\n return selectedStyle;\n } else {\n return this._getDefaultStyle();\n }\n }\n\n private _isLazyload(): boolean {\n // Lazyload by default if nothing is specified\n return !this.props.image?.imageSettings?.disableLazyLoad;\n }\n\n private _getDefaultStyle(): IBackgroundImageStyle | undefined {\n const { request } = this.props;\n const largestGridSettingViewportName = getLargestGridSettingViewportName(request.gridSettings ?? {});\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n return this.stylesByViewport[largestGridSettingViewportName];\n }\n\n private _getDefaultAttributes(): IBackgroundImageAttributes {\n const style = this._getDefaultStyle();\n const processedAtributes = style\n ? this._processAttributes(BACKGROUND_IMAGE_CLASS_NAME, style, this.stylesByViewport, this._isLazyload())\n : {};\n return this._getAttributes(processedAtributes);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, IImageData, IRequestContext, Text } from '@msdyn365-commerce/core';\nimport * as React from 'react';\nimport { BackgroundImage } from './container-background-image/container-backgroud-image';\n\n/**\n * Heading options\n */\nexport interface IHeadingComponentProps {\n /**\n * Heading text\n */\n headingText?: string;\n /**\n * Heading tag (h1, h2, h3, h4, h5, h6)\n */\n tag?: HeadingTag;\n /**\n * Heading text size (sm, md, lg, xl)\n */\n textSize?: TextSize;\n\n requestContext: IRequestContext;\n\n handleTextChange(event: ContentEditableEvent): string;\n}\n\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport type TextSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Container class options\n */\nexport interface IContainerProps {\n /**\n * CSS class name\n */\n className?: string;\n /**\n * Bootstrap supported container types\n */\n containerType?: string;\n /**\n * type name\n */\n typeName?: string;\n /**\n * id of container\n */\n id?: string;\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Request context\n */\n request?: IRequestContext;\n /**\n * background image\n */\n backgroundImage?: IImageData;\n /**\n * background image repeat property\n */\n backgroundImageRepeat?: string;\n /**\n * background image size property\n */\n backgroundImageSize?: string;\n /**\n * module layout property\n */\n moduleLayout?: string;\n /**\n * background color\n */\n backgroundColor?: string;\n}\n\nconst getContainerType = (containerType: string | undefined) => {\n switch (containerType) {\n case 'container':\n return 'container';\n case 'fluid':\n default:\n return 'fluid';\n }\n};\n\n/**\n * HOC to create bootstrap container div. If no container type is specified children are rendered.\n * @param options IContainerClasses\n */\nexport const Container: React.SFC = (props: IContainerProps): JSX.Element => {\n const {\n containerType,\n className,\n typeName,\n id,\n children,\n backgroundImage,\n request,\n backgroundImageRepeat,\n backgroundImageSize,\n moduleLayout,\n backgroundColor\n } = props;\n const customClassName = className ? ` ${className}` : '';\n\n let containerContent = children;\n if (containerType) {\n containerContent =
{containerContent}
;\n }\n\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\n containerContent = (\n \n {containerContent}\n \n );\n }\n\n const containerStyle: React.CSSProperties | undefined = backgroundColor ? { backgroundColor } : undefined;\n\n return containerType ? (\n
\n {containerContent}\n
\n ) : (\n
\n {containerContent}\n
\n );\n};\n\nexport const HeadingComponent = (props: IHeadingComponentProps & { className: string }): JSX.Element | null => {\n const { tag, headingText, textSize, className } = props;\n const Tag = tag || 'h2';\n const classNameWithHeading = textSize ? `heading ${textSize} ${className}` : `heading ${className}`;\n return (\n (headingText && (\n \n )) ||\n null\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer2SlotsData } from './default-container-2-slots.data';\nimport { IDefaultContainer2SlotsProps } from './default-container-2-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n right: string[];\n}\n\n/**\n * Default container that displays 2 modules\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default2SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer2SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default 2 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const content = slots && slots.content;\n const slotsClassNames = this._getColClassName();\n if (content && content.length > 2) {\n telemetry.log(LogLevel.Warning, 'Default 2 Slot Container passed more than 2 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (2)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, right]: string[]) => {\n memo.left.push(left);\n memo.right.push(right);\n return memo;\n },\n { left: [], right: [] }\n );\n };\n}\n\nexport default Default2SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer3SlotsData } from './default-container-3-slots.data';\nimport { IDefaultContainer3SlotsProps } from './default-container-3-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n center: string[];\n right: string[];\n}\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default3SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer3SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n\n const slotsClassNames = this._getColClassName();\n const content = slots && slots.content;\n\n telemetry.log(LogLevel.Debug, \"Default 3 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n if (content && content.length > 3) {\n telemetry.log(LogLevel.Warning, 'Default 3 Slot Container passed more than 3 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n {content && content[2] &&
{content[2]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (3)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n center: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, center, right]: string[]) => {\n memo.left.push(left);\n memo.center.push(center);\n memo.right.push(right);\n return memo;\n },\n { left: [], center: [], right: [] }\n );\n };\n}\n\nexport default Default3SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { colWidths } from '../../utils/classnames';\nimport { IDefaultContainerData } from './default-container.data';\nimport { childrenWidth as childrenWidthEnum, IDefaultContainerProps, layout as layoutEnum } from './default-container.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass DefaultContainer extends React.PureComponent> {\n constructor(props: IDefaultContainerProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n\n return (\n \n {heading && }\n {slots &&\n slots.content &&\n slots.content.map((children: React.ReactNode, index: number) => {\n return (\n
\n {children}\n
\n );\n })}\n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n\n private _getChildColClassName(): string {\n const {\n config: { layout, childrenWidth }\n } = this.props;\n switch (layout) {\n case layoutEnum.flow:\n return childrenWidth === childrenWidthEnum.auto ? 'col-12 col-md' : this._getWidthClass(childrenWidth);\n case layoutEnum.stacked:\n default:\n return 'col-12';\n }\n }\n\n private _getWidthClass(s?: childrenWidthEnum): string {\n return colWidths.get(s || childrenWidthEnum.four) || 'col-12';\n }\n}\n\nexport default DefaultContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PlaceholderForContainerPreviewComponent } from '@msdyn365-commerce/core';\n\nexport default PlaceholderForContainerPreviewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ICoreContext } from '@msdyn365-commerce/core';\nimport * as twoSlots from '../modules/default-container-2-slots/default-container-2-slots.props.autogenerated';\nimport * as threeSlots from '../modules/default-container-3-slots/default-container-3-slots.props.autogenerated';\n\n// eslint-disable-next-line security/detect-unsafe-regex\nconst sizePattern = /col(_(\\d|auto){1,2}){2,}/;\n\nexport interface IShowErrorOptions {\n isDebug?: boolean;\n isEditor?: boolean;\n}\n\nexport interface IViewPortOptions {\n xsmall?: threeSlots.xsmall | twoSlots.xsmall;\n small?: threeSlots.small | twoSlots.small;\n medium?: threeSlots.medium | twoSlots.medium;\n large?: threeSlots.large | twoSlots.large;\n}\n\nconst translatePrefix = (prefix: `large` | `medium` | `small` | `xsmall` | undefined) => {\n switch (prefix && prefix.toLowerCase()) {\n case 'large':\n return 'lg';\n case 'medium':\n return 'md';\n case 'small':\n return 'sm';\n case 'xsmall':\n default:\n return '';\n }\n};\n\n/**\n * converts config option and size to bootstrap col class name\n * If size is auto or config option is invalid col-auto will be returned\n * If size is xsmall or size is invalid col-{config} will be returned\n * @param config configuration option e.g. col_12_12\n * @param size bootstrap gridsize\n */\nexport const getColumnSizes = (config: string, size?: `large` | `medium` | `small` | `xsmall`): string[] | boolean => {\n if (!sizePattern.exec(config)) {\n return false;\n }\n const cols = config.split('_').slice(1);\n const translatedSize = translatePrefix(size);\n const sizePrefix = (translatedSize && `-${translatedSize}`) || '';\n return cols.map((colWidth: string) => `col${sizePrefix}-${colWidth}`);\n};\n\nexport const showErrors = (context?: ICoreContext): Boolean => {\n const { isDebug, isEditor }: IShowErrorOptions = (context && context.request && context.request.params) || {};\n return !!isDebug || !!isEditor;\n};\n\n/**\n * Converts viewport configuration into a two dimensional array of class names\n */\nexport const getColClassArray = (options: IViewPortOptions): string[][] =>\n (\n [\n options.xsmall && getColumnSizes(options.xsmall),\n options.small && getColumnSizes(options.small, 'small'),\n options.medium && getColumnSizes(options.medium, 'medium'),\n options.large && getColumnSizes(options.large, 'large')\n ].filter(Boolean)\n );\n\nexport const colWidths = new Map([\n ['one', 'col-md-1'],\n ['two', 'col-md-2'],\n ['three', 'col-md-3'],\n ['four', 'col-md-4'],\n ['six', 'col-md-6'],\n ['twelve', 'col-md-12']\n]);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n// TODO: Current build require at least one tsx file\nexport default () =>
;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n// TODO: Current build require at least one tsx file\nexport default () =>
;\n"],"names":["DynBiozPrimeBadge","React","constructor","props","super","context","data","telemetry","this","reaction","product","result","RecordId","actionInput","AttributesForSelectedVariantInput","actionContext","requestContext","apiSettings","channelId","getAttributesForSelectedVariant","catch","error","message","debug","shouldComponentUpdate","nextProps","render","_data$productSpecific","_data$productSpecific2","catalogNumber","productSpecificationData","find","attribute","Name","TextValue","viewProps","_objectSpread","renderView","__decorate","observer","useScriptDynBiozPrimeBadge","catalogNumberFormatted","position","placement","document","querySelector","primaryDiv","getElementById","innerHTML","scriptJQuery","createElement","src","scriptBioz","appendChild","replace","biozBlock","id","className","root","links","backButton","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","separator","Module","Object","assign","Node","map","link","index","key","classnames","length","getBackgroundRepeatProperty","size","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","containerType","image","request","configs","gridSettings","imageSettings","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","msdyn365Commerce","isBrowser","authoringHelper","window","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","viewports","_cloneDeep2","xs","w","h","sm","md","lg","xl","skipWidthAndHeightSettings","keys","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","externalProvider","maxWidth","max","minWidth","min","minHeight","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","style","undefined","getDataBgSetAttribute","dataBgSetAttributes","push","join","BACKGROUND_IMAGE_CLASS_NAME","BackgroundImage","state","stylesByViewport","_onChangeHandler","bind","_getCurrentStyle","mounted","_componentResize","updateAttributes","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","nextState","_this$props$request","_nextProps$request","_this$props$image","_nextProps$image","_this$props$image2","_nextProps$image2","children","backgroundImageClassName","isAuthoringEditEnabled","processedAtributes","_processAttributes","_isLazyload","attributes","_getAttributes","eventHandlers","onDoubleClick","_getDefaultAttributes","_unused","lazyLoad","getBackgroundImageLazyloadAttributes","role","getBackgroundImageAttributes","event","target","currentTarget","binding","eventTarget","$type","value","selectedStyle","_isEqual2","setState","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","disableLazyLoad","getContainerType","Container","typeName","backgroundImageRepeat","backgroundImageSize","moduleLayout","backgroundColor","customClassName","containerContent","containerStyle","HeadingComponent","tag","headingText","textSize","Tag","classNameWithHeading","Text","text","editProps","onEdit","handleTextChange","Default2SlotContainer","config","heading","_getColClassName","classNames","getColClassArray","reduce","memo","_ref","left","right","slots","log","LogLevel","Debug","values","content","slotsClassNames","Warning","headingProps","msdyn365__moduleLayout","showErrors","slice","slot","Default3SlotContainer","center","DefaultContainer","_getChildColClassName","childrenWidth","_getWidthClass","s","colWidths","get","sizePattern","getColumnSizes","exec","cols","split","translatedSize","prefix","toLowerCase","translatePrefix","sizePrefix","colWidth","isDebug","isEditor","params","options","xsmall","small","medium","large","filter","Boolean","Map","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","resources","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","telemetryContent","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","MsDyn365","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","payLoad","getPayloadObject","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","getTelemetryAttributes","ContainerProps","orgUnitName","Button","onClick","_renderErrorBlock","errorData","errors","Wrapper","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","_renderCartLinesGroupTitle","_cartLine$data2","countItem","item","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","title","promotionOptions","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ArrayExtensions","hasElements","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","amount","channelReferenceId","OrderHistoryGroupDelivery","_ref2","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","_ref3","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","_ref4","groupsProps","groups","group","OrderHistoryHeader","_ref5","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","_ref8","orderHistoryProps","alert","loading","emptyMessage","backToShoppingLink","list","table","moreButton","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","moduleProps"],"sourceRoot":""}