{"version":3,"file":"static/js/10.7b09b5beca41f960c469.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/krannich-category-page-summary/krannich-category-page-summary.tsx?024e","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/krannich.tsx?077e","webpack://Msdyn365.Commerce.Online/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.tsx?797a","webpack://Msdyn365.Commerce.Online/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.view.tsx?cb2f","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/default-external-script/default-external-script.tsx?2a33","webpack://Msdyn365.Commerce.Online/./src/modules/default-inline-script/default-inline-script.tsx?5ccd","webpack://Msdyn365.Commerce.Online/./src/modules/default-inline-style/default-inline-style.tsx?3552","webpack://Msdyn365.Commerce.Online/./src/modules/default-metatags/default-metatags.tsx?97a7","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/utils/script-utils.ts?cb52","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/fabrikam.tsx?5b10","webpack://Msdyn365.Commerce.Online/./src/modules/default-page-summary/default-page-summary.tsx?0c78","webpack://Msdyn365.Commerce.Online/./src/modules/starter/starter.tsx?aade","webpack://Msdyn365.Commerce.Online/./src/modules/text-block/text-block.tsx?db84","webpack://Msdyn365.Commerce.Online/./src/modules/text-block/text-block.view.tsx?9307","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/adventureworks.tsx?8342"],"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 { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport { IExtendedKrannichCategoryPageSummaryData } from './krannich-category-page-summary.data';\r\nimport { IKrannichCategoryPageSummaryProps } from './krannich-category-page-summary.props.autogenerated';\r\n/**\r\n *\r\n * DefaultPageSummaryMetadata component.\r\n * @extends {React.PureComponent}\r\n */\r\nclass KrannichCategoryPageSummary extends React.PureComponent> {\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n var categories: string[] = [];\r\n if (this.props.data.pageSummary.result === undefined) {\r\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\r\n }\r\n let {\r\n data: {\r\n pageSummary: {\r\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\r\n }\r\n }\r\n } = this.props;\r\n\r\n const {\r\n config,\r\n context,\r\n data: {\r\n pageSummary: {\r\n result: { canonicalUrl }\r\n }\r\n }\r\n } = this.props;\r\n\r\n // Override values coming from data action if config values are provided\r\n title = config.title || title;\r\n description = config.description || description;\r\n keywords = config.keywords || keywords;\r\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\r\n faviconUrl = config.faviconUrl || faviconUrl;\r\n const categoryHierarchy = data.categoryHierarchy.result;\r\n if (!categoryHierarchy) {\r\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\r\n } else {\r\n categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\r\n if (value.Name?.toLowerCase() !== 'products' && value.Name !== title) {\r\n categories.push(value.Name!);\r\n }\r\n });\r\n }\r\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\r\n let updatePageTitle: string | undefined = '';\r\n const categoriesTitle = this._constructCategoriesTitle(categories);\r\n if (categories.length > 0) {\r\n updatePageTitle = pageTitle?.concat(' | ', categoriesTitle!);\r\n } else {\r\n updatePageTitle = pageTitle?.concat(categoriesTitle!);\r\n }\r\n return (\r\n <>\r\n \r\n {pageTitle && {updatePageTitle}}\r\n {description && }\r\n {keywords && }\r\n {canonicalUrl && }\r\n {faviconUrl && }\r\n \r\n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\r\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\r\n \r\n );\r\n }\r\n private _constructCategoriesTitle(categories: string[] | undefined) {\r\n var drawTitle =\r\n categories &&\r\n categories\r\n .reverse()\r\n .join(' | ')\r\n .concat(' | ', 'Krannich Solar');\r\n return drawTitle;\r\n }\r\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\r\n return (\r\n \r\n {title && }\r\n {description && }\r\n {sharingImageUrl && }\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderTwitterTags(\r\n title: string | undefined,\r\n description: string | undefined,\r\n sharingImageUrl: string | undefined\r\n ): JSX.Element {\r\n return (\r\n \r\n {title && }\r\n {description && }\r\n {sharingImageUrl && }\r\n \r\n \r\n );\r\n }\r\n\r\n private _constructPageTitle(title: string | undefined, app: IGeneric): string | undefined {\r\n if (!title) {\r\n title = '';\r\n }\r\n\r\n const moduleConfig = this.props.config;\r\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\r\n return title;\r\n }\r\n\r\n const appConfig = app && app.platform;\r\n if (appConfig) {\r\n if (appConfig.pageTitlePrefix) {\r\n title = (appConfig.pageTitlePrefix as string) + title;\r\n }\r\n if (appConfig.pageTitleSuffix) {\r\n title += appConfig.pageTitleSuffix as string;\r\n }\r\n }\r\n\r\n return title;\r\n }\r\n}\r\n\r\nexport default KrannichCategoryPageSummary;\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 * as React from 'react';\r\n\r\n// TODO: Current build require at least one tsx file\r\nexport default () =>
;\r\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';\nimport { isOboRequest } from '@msdyn365-commerce/core-internal';\nimport { IMsdyn365PvaChatConnectorData } from './msdyn365-pva-chat-connector.data';\nimport { IMsdyn365PvaChatConnectorConfig, IMsdyn365PvaChatConnectorProps } from './msdyn365-pva-chat-connector.props.autogenerated';\n\nexport interface IPvaChatConnectorViewProps extends IMsdyn365PvaChatConnectorProps {\n config: IMsdyn365PvaChatConnectorConfig;\n}\n\n/**\n * PvaChatConnector component\n * @extends {React.PureComponent>}\n */\nclass PvaChatConnector extends React.PureComponent> {\n // Loads CDN version of Botframework-Webchat library\n public componentDidMount(): void {\n if (isOboRequest(this.props.context.request)) {\n return;\n }\n\n const url = this.props.config.botFrameworkCDNURL || this.props.context.app.config.pvaChatConnectorBotFrameworkCDNURL;\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.crossOrigin = 'anonymous';\n document.body.appendChild(script);\n }\n\n public render(): JSX.Element | null {\n if (isOboRequest(this.props.context.request)) {\n return null;\n }\n\n return this.props.renderView(this.props);\n }\n}\n\nexport default PvaChatConnector;\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';\nimport { Chat, IPvaChatConnectorViewProps } from './index';\n\nexport default (props: IPvaChatConnectorViewProps) => {\n // Only for CDN loading check, won't be needed with npm package of Botframework-WebChat\n const [loaded, setLoaded] = React.useState(false);\n const p = {\n ...props\n };\n\n // Just to verify that CDN Chat Widget js lib is loaded\n // Remove this block if moving to npm package of Botframework-WebChat\n const interval = setInterval(() => {\n const t = typeof window;\n if (t !== 'undefined' && window.WebChat) {\n setLoaded(true);\n clearInterval(interval);\n }\n }, 100);\n\n return
{loaded && }
;\n};\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 { SDK_FRAGMENT_NAME, msdyn365Commerce } from '@msdyn365-commerce/core-internal';\nimport * as path from 'path';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultExternalScriptProps } from './default-external-script.props.autogenerated';\n\n/**\n *\n * DefaultExternalScript component\n * @extends {React.PureComponent>}\n */\nclass DefaultExternalScript extends React.PureComponent> {\n constructor(props: IDefaultExternalScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n let source = config.scriptSource;\n\n let relativeBaseUrl: string = '';\n // Construct the relative base url, i.e. the base url from which statics will be served\n if (this.props.context) {\n relativeBaseUrl += this.props.context.request.url.staticCdnUrl;\n relativeBaseUrl += msdyn365Commerce.getEnvironmentVariable('SUBMISSIONID') || '';\n }\n\n if (isRelativeUrl(source)) {\n // If the source is a relative URL prepend the relative base url to the resolved source url for the actual source\n source = `${relativeBaseUrl}/${path.join(source)}`;\n } else if (source === '' || !isAbsoluteUrl(source)) {\n logError(\n 'Invalid external script - not a url. The external source is not an external or relative url, please use default-inline-script if you wish to load inline scripts',\n this.props.telemetry\n );\n return null;\n }\n const scriptHtml = ``;\n\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultExternalScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineScriptProps } from './default-inline-script.props.autogenerated';\n\n/**\n *\n * DefaultScript\n * @extends {React.PureComponent>}\n */\nclass DefaultInlineScript extends React.PureComponent> {\n constructor(props: IDefaultInlineScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n const source = config.inlineScript;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError(\n 'Invalid inline script - Empty inline source defined or a url is being used as a source. Use default-external-script to load scripts from an external or relative url.',\n this.props.telemetry\n );\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline script - inline script should not contain html tags', this.props.telemetry);\n return null;\n }\n\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n const scriptHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultInlineScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineStyleProps } from './default-inline-style.props.autogenerated';\n\n/**\n *\n * DefaultStyle\n * @extends {React.PureComponent>}\n */\n\nconst DefaultInlineStyle = (props: IDefaultInlineStyleProps<{}>) => {\n const { config, id, typeName, telemetry } = props;\n logDebug(`Adding style tags for '${id}/${typeName}'`, telemetry);\n const source = config.inlineStyle;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError('Invalid inline style - Empty inline source defined or a url is being used as a source.', telemetry);\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline style - inline style should not contain html tags', telemetry);\n return null;\n }\n\n const styleHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: id, dangerouslySetInnerHTML: { __html: styleHtml } });\n};\n\nexport default DefaultInlineStyle;\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\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport { IDefaultMetatagsData } from './default-metatags.data';\nimport { IDefaultMetatagsProps } from './default-metatags.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component\n * @extends {React.PureComponent>}\n */\nclass DefaultMetaTags extends React.PureComponent> {\n public render(): JSX.Element {\n const { data, config } = this.props;\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n let metaTagsHtml: string = '';\n let metaTags;\n if (config.metaTags) {\n metaTags = nonceToken ? this._addNonceToInlineScript(config.metaTags, nonceToken) : config.metaTags;\n metaTagsHtml = metaTags && metaTags.join('\\n');\n } else if (data.metaTags) {\n metaTags = data.metaTags;\n let metaTagsText = metaTags.map(simpleText => simpleText.text);\n metaTagsText = nonceToken ? this._addNonceToInlineScript(metaTagsText, nonceToken) : metaTagsText;\n metaTagsHtml = metaTagsText && metaTagsText.join('\\n');\n }\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: metaTagsHtml } });\n }\n\n private _addNonceToInlineScript(metaTags: string[], nonceToken: string): string[] {\n const inlineScripRegex = /(.*?)<\\/script>/g;\n return metaTags\n .map(metaTag => {\n if (inlineScripRegex.test(metaTag)) {\n return metaTag.replace(/