{"version":3,"sources":["webpack:///./src/themes/stemichelle-new/views/overflow-container.view.tsx?5960","webpack:///./src/modules/overflow-container/overflow-container.view.tsx?e822","webpack:///src/utils/classnames.ts?8f2b","webpack:///src/modules/default-container-2-slots/default-container-2-slots.tsx?b218","webpack:///./src/modules/home-carousel/home-carousel.tsx?ba62","webpack:///./src/modules/instagram-integration/instagram-integration.view.tsx?e250","webpack:///src/components/container-background-image/container-background-image-helper.ts?d691","webpack:///src/components/container-background-image/container-backgroud-image.tsx?89dd","webpack:///src/components/base-components.tsx?5f88","webpack:///./src/modules/instagram-integration/instagram-integration.tsx?8290","webpack:///./src/themes/elicit/views/overflow-container.view.tsx?c583","webpack:///./src/themes/fth/views/overflow-container.view.tsx?849c","webpack:///./src/themes/blend/views/overflow-container.view.tsx?a4b4","webpack:///./src/modules/tasting-notes/tasting-notes.tsx?2c27","webpack:///src/modules/default-container-3-slots/default-container-3-slots.tsx?06cd","webpack:///./src/modules/overflow-container/overflow-container.tsx?219d","webpack:///src/modules/default-container/default-container.tsx?4334"],"names":["OverflowContainerView","props","btn","content","currentClass","config","cssClassName","React","className","classnames","showToggleButton","sizePattern","getColumnSizes","size","exec","cols","split","slice","translatedSize","prefix","toLowerCase","translatePrefix","sizePrefix","map","colWidth","showErrors","context","isDebug","isEditor","request","params","getColClassArray","options","xsmall","small","medium","large","filter","Boolean","colWidths","Map","Default2SlotContainer","PureComponent","constructor","super","handleTextChange","event","this","heading","headingText","target","value","_getColClassName","classNames","length","reduce","memo","_ref","left","right","push","render","slots","telemetry","data","log","LogLevel","Debug","values","id","typeName","slotsClassNames","Warning","headingProps","_objectSpread","requestContext","createElement","Container","containerType","backgroundImage","backgroundImageRepeat","backgroundImageSize","moduleLayout","msdyn365__moduleLayout","HeadingComponent","Object","assign","join","Fragment","slot","index","key","HomeCarousel","defaultImageSettings","viewports","xs","q","w","h","lg","lazyload","_handleKeyPress","keyCode","_previousSlide","_nextSlide","currentSlide","slides","homeCarouselSlides","slide","hidden","scrollThreshold","_randomizeStart","bind","_autoAdvance","_restartAutoAdvance","_handleTouchStart","_handleTouchEnd","_selectorSlideChange","componentDidMount","document","addEventListener","homeCarouselRandomize","homeCarouselInterval","componentWillUnmount","removeEventListener","_getCarousel","currentClassName","selectorList","indicatorList","slideList","_getSelector","_getIndicator","_getSlide","onTouchStart","onTouchEnd","_getNext","resources","homeCarousel_next","isCurrentSelector","role","onClick","slideSelector","text","isCurrentIndicator","_slide$link","_slide$link2","_slide$link3","isCurrentSlide","href","link","linkUrl","destinationUrl","ariaLabel","openInNewTab","undefined","rel","_getLogo","logo","RichTextComponent","_getLink","_getBackgroundImage","logoMobile","backgroundImageMobile","linkText","image","Image","gridSettings","imageSettings","max","startSlide","Math","round","random","cycleInterval","setInterval","clearInterval","element","currentTarget","getAttribute","touches","scrollStart","screenX","changedTouches","delta","__decorate","observable","observer","InstagramIntegrationView","src","token","frameBorder","scrolling","width","height","getBackgroundRepeatProperty","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","configs","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","msdyn365Commerce","isBrowser","authoringHelper","window","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","_cloneDeep2","sm","md","xl","skipWidthAndHeightSettings","keys","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","externalProvider","apiSettings","maxWidth","minWidth","min","minHeight","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","style","getDataBgSetAttribute","dataBgSetAttributes","BackgroundImage","state","stylesByViewport","_onChangeHandler","_getCurrentStyle","mounted","_componentResize","updateAttributes","shouldComponentUpdate","nextProps","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","getBackgroundImageAttributes","binding","eventTarget","$type","selectedStyle","_isEqual2","setState","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","disableLazyLoad","getContainerType","customClassName","containerContent","tag","textSize","Tag","classNameWithHeading","Text","editProps","onEdit","InstagramIntegration","_scriptLoaded","_scriptSrc","_isScriptLoaded","_injectScript","renderView","script","onload","head","appendChild","querySelector","TastingNotes","tastingNotesAttributeName","productAttributes","productSpecificationData","result","tastingNotes","find","attribute","Name","tastingNotesContent","_getContent","TextValue","replace","forEach","note","_getImage","imageSearchUrl","altText","Default3SlotContainer","center","OverflowContainer","_OPENED_CLASS","_CLOSED_CLASS","_handleClickOutsideOverflow","overflow","pulldownElement","getElementById","isOverflowExpandedState","contains","nodeName","openByDefault","_toggleExpansion","closeOnClickOff","body","_jsxContent","_jsxBtn","_currentClass","module","btnText","openText","closeText","DefaultContainer","_getChildColClassName","childrenWidth","_getWidthClass","s","get"],"mappings":"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","file":"static/js/26.f20187ae88d953862c83.chunk.js","sourcesContent":["import classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IOverflowContainerViewProps } from '../../../modules/overflow-container/overflow-container';\r\n\r\nconst OverflowContainerView: React.FC = props => {\r\n const { btn, content, currentClass, config: { cssClassName } } = props;\r\n\r\n return (\r\n
\r\n {btn}\r\n {content}\r\n
\r\n );\r\n};\r\n\r\nexport default OverflowContainerView;\r\n","\r\nimport * as React from 'react';\r\nimport { IOverflowContainerViewProps } from './overflow-container';\r\n\r\nconst OverflowContainerView: React.FC = props => {\r\n const { content, currentClass, btn, config: { cssClassName } } = props;\r\n\r\n return (\r\n
\r\n {props.config.showToggleButton ? btn : <>}\r\n {content}\r\n
\r\n );\r\n};\r\n\r\nexport default OverflowContainerView;","/*!\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 { 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","import { IImageData, IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IHomeCarouselProps, IHomeCarouselSlidesData, ILinkData } from './home-carousel.props.autogenerated';\r\n\r\n/**\r\n *\r\n * HomeCarousel component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass HomeCarousel extends React.Component> {\r\n\r\n //==========================================================================\r\n // VARIABLES\r\n //==========================================================================\r\n\r\n @observable private currentSlide: number;\r\n private slides: IHomeCarouselSlidesData[];\r\n private scrollThreshold: number;\r\n private scrollStart: number | undefined;\r\n private cycleInterval?: ReturnType;\r\n private defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=24&h=24&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=24&h=24&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n //==========================================================================\r\n // LIFE CYCLE\r\n //==========================================================================\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n constructor(props: IHomeCarouselProps<{}>) {\r\n super(props);\r\n this.currentSlide = 0;\r\n this.slides = props.config.homeCarouselSlides ? props.config.homeCarouselSlides.filter(slide => (!slide.hidden)) : [];\r\n this.scrollThreshold = 100;\r\n this._randomizeStart = this._randomizeStart.bind(this);\r\n this._autoAdvance = this._autoAdvance.bind(this);\r\n this._restartAutoAdvance = this._restartAutoAdvance.bind(this);\r\n this._previousSlide = this._previousSlide.bind(this);\r\n this._nextSlide = this._nextSlide.bind(this);\r\n this._handleTouchStart = this._handleTouchStart.bind(this);\r\n this._handleTouchEnd = this._handleTouchEnd.bind(this);\r\n this._handleKeyPress = this._handleKeyPress.bind(this);\r\n this._selectorSlideChange = this._selectorSlideChange.bind(this);\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n public componentDidMount(): void {\r\n document.addEventListener('keyup', this._handleKeyPress);\r\n\r\n if (this.props.config.homeCarouselRandomize && this.slides) {\r\n this._randomizeStart(this.slides.length);\r\n }\r\n\r\n if (this.props.config.homeCarouselInterval && this.slides) {\r\n this._autoAdvance();\r\n }\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n public componentWillUnmount(): void {\r\n document.removeEventListener('keyup', this._handleKeyPress);\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n public render(): JSX.Element | null {\r\n if (!this.slides) {\r\n return null;\r\n }\r\n return this._getCarousel;\r\n }\r\n\r\n //==========================================================================\r\n // RENDER METHODS\r\n //==========================================================================\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private get _getCarousel(): JSX.Element {\r\n const currentClassName = this.slides && this.slides[this.currentSlide].className;\r\n const selectorList = [] as JSX.Element[];\r\n const indicatorList = [] as JSX.Element[];\r\n const slideList = [] as JSX.Element[];\r\n this.slides.map((slide, index) => {\r\n selectorList.push(\r\n this._getSelector(slide, index)\r\n );\r\n indicatorList.push(\r\n this._getIndicator(index)\r\n );\r\n slideList.push(\r\n this._getSlide(slide, index)\r\n );\r\n });\r\n return (\r\n \r\n
\r\n {selectorList}\r\n {this._getNext(this.props.resources.homeCarousel_next)}\r\n
\r\n
\r\n {slideList}\r\n
\r\n
\r\n {indicatorList}\r\n
\r\n \r\n );\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getSelector(slide: IHomeCarouselSlidesData, index: number): JSX.Element {\r\n const isCurrentSelector = index === this.currentSlide;\r\n return (\r\n \r\n
{slide.slideSelector}
\r\n \r\n );\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getNext(text: string): JSX.Element {\r\n return (\r\n \r\n
\r\n
{text}
\r\n
\r\n );\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getIndicator(index: number): JSX.Element {\r\n const isCurrentIndicator = index === this.currentSlide;\r\n return (\r\n \r\n );\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getSlide(slide: IHomeCarouselSlidesData, index: number): JSX.Element {\r\n const isCurrentSlide = index === this.currentSlide;\r\n return (\r\n \r\n
\r\n
\r\n {this._getLogo(slide.logo)}\r\n \r\n {this._getLink(slide.link)}\r\n
\r\n
\r\n {this._getBackgroundImage(slide.backgroundImage)}\r\n
\r\n
\r\n
\r\n
\r\n {this._getLogo(slide.logoMobile || slide.logo)}\r\n
\r\n
\r\n {this._getBackgroundImage(slide.backgroundImageMobile)}\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getLink(link: ILinkData | undefined): JSX.Element | null {\r\n if (link && link.linkUrl.destinationUrl && link.linkText) {\r\n return (\r\n \r\n {link.linkText}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getLogo(image: IImageData | undefined): JSX.Element | null {\r\n if (image) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _getBackgroundImage(image: IImageData | undefined): JSX.Element | null {\r\n if (image) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n //==========================================================================\r\n // HANDLE METHODS\r\n //==========================================================================\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _randomizeStart(max: number): void {\r\n // tslint:disable-next-line:insecure-random\r\n const startSlide: number = Math.round(Math.random() * (max - 1));\r\n this.currentSlide = startSlide;\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _autoAdvance(): void {\r\n const { homeCarouselInterval } = this.props.config;\r\n if (homeCarouselInterval && this.slides) {\r\n this.cycleInterval = setInterval(this._nextSlide, homeCarouselInterval);\r\n }\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _restartAutoAdvance(): void {\r\n if (this.cycleInterval) {\r\n clearInterval(this.cycleInterval);\r\n this._autoAdvance();\r\n }\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _selectorSlideChange(element: React.MouseEvent): void {\r\n const index = element.currentTarget.getAttribute('data-id')!;\r\n this.currentSlide = +index;\r\n this._restartAutoAdvance();\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _previousSlide(): void {\r\n this.currentSlide = (this.currentSlide > 0) ? this.currentSlide - 1 : this.slides.length - 1;\r\n this._restartAutoAdvance();\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _nextSlide(): void {\r\n this.currentSlide = (this.currentSlide < this.slides.length - 1) ? this.currentSlide + 1 : 0;\r\n this._restartAutoAdvance();\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _handleTouchStart(event: React.TouchEvent): void {\r\n if (event.touches.length === 0) {\r\n this.scrollStart = undefined;\r\n } else {\r\n this.scrollStart = event.touches[0].screenX;\r\n }\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private _handleTouchEnd(event: React.TouchEvent): void {\r\n if (event.changedTouches.length > 0 && this.scrollStart !== undefined) {\r\n const newTarget: number = event.changedTouches[0].screenX;\r\n const delta = newTarget - this.scrollStart;\r\n\r\n if (delta > this.scrollThreshold) {\r\n this._previousSlide();\r\n }\r\n\r\n if (delta < -this.scrollThreshold) {\r\n this._nextSlide();\r\n }\r\n }\r\n\r\n this.scrollStart = undefined;\r\n\r\n return;\r\n }\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n // tslint:disable-next-line:no-any\r\n private _handleKeyPress = (event: any) => {\r\n if (event.keyCode === 37) {\r\n this._previousSlide();\r\n } else if (event.keyCode === 39) {\r\n this._nextSlide();\r\n }\r\n };\r\n}\r\n\r\nexport default HomeCarousel;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport * as React from 'react';\r\nimport { IInstagramIntegrationViewProps } from './instagram-integration';\r\n\r\n/**\r\n * Loads a Wayin script that embeds Instagram images for a configurable API Token\r\n */\r\nexport class InstagramIntegrationView extends React.PureComponent {\r\n\r\n public constructor(props: IInstagramIntegrationViewProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n return (\r\n // tslint:disable-next-line: react-iframe-missing-sandbox\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InstagramIntegrationView;","/*!\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\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 } = 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 return containerType ? (\n
{containerContent}
\n ) : (\n
{containerContent}
\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","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { IInstagramIntegrationData } from './instagram-integration.data';\r\nimport { IInstagramIntegrationProps } from './instagram-integration.props.autogenerated';\r\nexport interface IInstagramIntegrationViewProps extends IInstagramIntegrationProps { }\r\n\r\n/**\r\n *\r\n * InstagramIntegration component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass InstagramIntegration extends React.Component> {\r\n\r\n @observable public _scriptLoaded: boolean = false;\r\n private _scriptSrc: string = 'https://us-display.wayin.com/ui/ngx.embed.min.js';\r\n\r\n public constructor(props: IInstagramIntegrationProps<{}>) {\r\n super(props);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (!this._isScriptLoaded) {\r\n this._injectScript();\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this._scriptLoaded) {\r\n return this.props.renderView(this.props) ||
;\r\n }\r\n return
;\r\n }\r\n\r\n private _injectScript(): void {\r\n const script = document.createElement('script');\r\n\r\n script.onload = () => { this._scriptLoaded = true; };\r\n script.src = 'https://us-display.wayin.com/ui/ngx.embed.min.js';\r\n\r\n document.head.appendChild(script);\r\n }\r\n\r\n private get _isScriptLoaded(): boolean {\r\n return !!document.querySelector(`script[src='${this._scriptSrc}']`);\r\n }\r\n}\r\n\r\nexport default InstagramIntegration;\r\n","\r\nimport * as React from 'react';\r\nimport { IOverflowContainerViewProps } from '../../../modules/overflow-container/overflow-container';\r\n\r\nconst OverflowContainerView: React.FC = props => {\r\n const { btn, content, currentClass, config: { cssClassName } } = props;\r\n\r\n return (\r\n
\r\n {btn}\r\n {content}\r\n
\r\n );\r\n};\r\n\r\nexport default OverflowContainerView;","import classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IOverflowContainerViewProps } from '../../../modules/overflow-container/overflow-container';\r\n\r\nconst OverflowContainerView: React.FC = props => {\r\n const { btn, content, currentClass, config: { cssClassName } } = props;\r\n\r\n return (\r\n
\r\n {btn}\r\n {content}\r\n
\r\n );\r\n};\r\n\r\nexport default OverflowContainerView;\r\n","\r\nimport * as React from 'react';\r\nimport { IOverflowContainerViewProps } from '../../../modules/overflow-container/overflow-container';\r\n\r\nconst OverflowContainerView: React.FC = props => {\r\n const { btn, content, currentClass, config: { cssClassName } } = props;\r\n\r\n return (\r\n
\r\n {btn}\r\n {content}\r\n
\r\n );\r\n};\r\n\r\nexport default OverflowContainerView;","import { Image } from '@msdyn365-commerce/core';\r\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport { ITastingNotesData } from './tasting-notes.data';\r\nimport { ITastingNotesProps } from './tasting-notes.props.autogenerated';\r\n\r\n/**\r\n *\r\n * TastingNotes component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass TastingNotes extends React.PureComponent> {\r\n\r\n private tastingNotesAttributeName: string = 'visual tasting notes';\r\n\r\n // =========================================================================\r\n // PUBLIC METHODS\r\n // =========================================================================\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n public render(): JSX.Element | null {\r\n const content: ITastingNotesData = this.props.data;\r\n const productAttributes = content && content.productSpecificationData && content.productSpecificationData.result;\r\n const tastingNotes = productAttributes && productAttributes.find(\r\n attribute => attribute.Name && (attribute.Name.toLowerCase() === this.tastingNotesAttributeName)\r\n );\r\n if (tastingNotes) {\r\n const tastingNotesContent = this._getContent(tastingNotes);\r\n return (\r\n
\r\n {tastingNotesContent}\r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n // =========================================================================\r\n // PRIVATE METHODS\r\n // =========================================================================\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _getContent(tastingNotes: AttributeValue | undefined): JSX.Element[] | null {\r\n if (tastingNotes && tastingNotes.TextValue) {\r\n const tastingNotesContent: JSX.Element[] = [];\r\n const tastingNotesList = tastingNotes.TextValue.replace(/\\s/g, '').toLowerCase().split(',');\r\n tastingNotesList.forEach(note => {\r\n tastingNotesContent.push(\r\n
\r\n {this._getImage(note)}\r\n
\r\n );\r\n });\r\n return tastingNotesContent;\r\n }\r\n return null;\r\n }\r\n\r\n // ------------------------------------------------------\r\n // ------------------------------------------------------\r\n private _getImage(note: string): JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TastingNotes;\r\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","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IOverflowContainerProps } from './overflow-container.props.autogenerated';\r\n\r\nexport interface IOverflowContainerViewProps extends IOverflowContainerProps<{}> {\r\n content: React.ReactNode;\r\n btn: React.ReactNode;\r\n currentClass: string;\r\n}\r\n\r\ninterface IOverflowContainerData {\r\n isOverflowExpandedState: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * OverflowContainer component\r\n * @extends {React.PureComponent, IOverflowContainerData>}\r\n */\r\nclass OverflowContainer extends React.PureComponent, IOverflowContainerData> {\r\n private readonly _OPENED_CLASS: string = 'overflow-container-opened';\r\n private readonly _CLOSED_CLASS: string = 'overflow-container-closed';\r\n\r\n constructor(props: IOverflowContainerProps<{}>) {\r\n super(props);\r\n\r\n this.state = {\r\n isOverflowExpandedState: !!this.props.config.openByDefault\r\n };\r\n\r\n this._toggleExpansion = this._toggleExpansion.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.closeOnClickOff) {\r\n document.body && document.body.addEventListener('mousedown', this._handleClickOutsideOverflow);\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (this.props.config.closeOnClickOff) {\r\n document.body && document.body.removeEventListener('mousedown', this._handleClickOutsideOverflow, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const props: IOverflowContainerViewProps = {\r\n ...this.props,\r\n content: this._jsxContent,\r\n btn: this._jsxBtn,\r\n currentClass: this._currentClass\r\n };\r\n return this.props.renderView(props) as JSX.Element;\r\n }\r\n\r\n private _toggleExpansion(): void {\r\n this.setState({\r\n isOverflowExpandedState: !this.state.isOverflowExpandedState\r\n });\r\n }\r\n\r\n // tslint:disable-next-line:no-any\r\n private _handleClickOutsideOverflow = (event: any) => {\r\n const overflow:boolean = event.target.className === 'overflow-container-btn';\r\n const pulldownElement = document.getElementById('overflow-container-content');\r\n if (this.state.isOverflowExpandedState && !pulldownElement?.contains(event.target) && !overflow && event.target.nodeName !== 'A') {\r\n this.setState({\r\n isOverflowExpandedState: false\r\n });\r\n }\r\n };\r\n\r\n private get _jsxContent(): JSX.Element | null {\r\n const content = this.props.slots.content;\r\n\r\n return (\r\n
\r\n {content && content.map((module, index) => (\r\n \r\n {module}\r\n \r\n ))}\r\n
\r\n );\r\n }\r\n\r\n private get _currentClass(): string {\r\n return (this.state.isOverflowExpandedState) ? this._OPENED_CLASS : this._CLOSED_CLASS;\r\n }\r\n\r\n private get _jsxBtn(): JSX.Element {\r\n const btn = this.props.config.btn;\r\n const btnText = (this.state.isOverflowExpandedState) ? btn?.openText || 'Close' : btn?.closeText || 'Expand';\r\n return ();\r\n }\r\n}\r\n\r\nexport default OverflowContainer;\r\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"],"sourceRoot":""}