{"version":3,"file":"static/js/12.fef30568507912fe45f7.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/hosports-constant-contact-form/hosports-constant-contact-form.tsx?b0f7","webpack://Msdyn365.Commerce.Online/./src/modules/hosports-constant-contact-form/hosports-constant-contact-form.view.tsx?6b94","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-default-page/obrien-default-page.tsx?6c3a","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-retailers/obrien-retailers.tsx?4ec6","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-retailers/GLOBALTEAM.tsx?cb38","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-retailers/obrien-retailers.view.tsx?e4d9","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-zendesk/obrien-zendesk.tsx?a9f4","webpack://Msdyn365.Commerce.Online/./src/modules/obrien-zendesk/obrien-zendesk.view.tsx?7005","webpack://Msdyn365.Commerce.Online/./src/modules/watersportdiscounts-slide/components/links.tsx?8e7e","webpack://Msdyn365.Commerce.Online/./src/modules/watersportdiscounts-slide/watersportdiscounts-slide.tsx?f71f","webpack://Msdyn365.Commerce.Online/./src/modules/watersportdiscounts-slide/watersportdiscounts-slide.view.tsx?1b4b","webpack://Msdyn365.Commerce.Online/./src/themes/absoluteoutdoors/views/text-block.view.tsx?c46f","webpack://Msdyn365.Commerce.Online/./src/themes/kent/kent.tsx?bbd9","webpack://Msdyn365.Commerce.Online/./src/baseComponents/constant-contact-form/constant-contact-form.tsx?5b8c","webpack://Msdyn365.Commerce.Online/./src/themes/kent/views/hosports-constant-contact-form.view.tsx?bc60","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-page/default-page.tsx?b382","webpack://Msdyn365.Commerce.Online/./src/utils/classnames.ts?a0ff","webpack://Msdyn365.Commerce.Online/./src/modules/default-page-summary/default-page-summary.tsx?0c78"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IHosportsConstantContactFormData } from './hosports-constant-contact-form.data';\r\nimport { IHosportsConstantContactFormProps } from './hosports-constant-contact-form.props.autogenerated';\r\n\r\nexport interface IHosportsConstantContactFormViewProps extends IHosportsConstantContactFormProps<IHosportsConstantContactFormData> {\r\n\r\n}\r\n\r\n/**\r\n *\r\n * HosportsConstantContactForm component\r\n * @extends {React.PureComponent<IHosportsConstantContactFormProps<IHosportsConstantContactFormData>>}\r\n */\r\nclass HosportsConstantContactForm extends React.PureComponent<IHosportsConstantContactFormProps<IHosportsConstantContactFormData>> {\r\n public render(): JSX.Element | null {\r\n\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default HosportsConstantContactForm;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IHosportsConstantContactFormViewProps } from './hosports-constant-contact-form';\r\n\r\nexport default (props: IHosportsConstantContactFormViewProps) => {\r\n return (\r\n <div>{'todo'}</div>\r\n );\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\r\nimport * as React from \"react\";\r\n//import { ParallaxProvider, Parallax } from 'react-scroll-parallax';\r\n\r\n\r\n//import { IObrienDefaultPageData } from \"./obrien-default-page.data\";\r\nimport { IObrienDefaultPageProps } from \"./obrien-default-page.props.autogenerated\";\r\n\r\n/**\r\n *\r\n * CoreComponent component\r\n * @extends {React.PureComponent<IObrienDefaultPageProps>}\r\n */\r\n class ObrienDefaultPageContainer extends React.PureComponent<IObrienDefaultPageProps<{}>> {\r\n constructor(props: IObrienDefaultPageProps<{}>) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { slots, telemetry, id, typeName } = this.props;\r\n\r\n let skipToMainText = this.props.config && this.props.config.skipToMainText;\r\n telemetry.log(LogLevel.Debug, \"DefaultPageContainer rendering for '{id}/{typeName}'\", { values: [id, typeName] });\r\n\r\n if (!skipToMainText) {\r\n skipToMainText =\r\n this.props.context.app && this.props.context.app.platform ? this.props.context.app.platform.skipToMainText : '';\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n {slots && slots.subheader && (\r\n <div>\r\n <div className=\"product\">\r\n\r\n <div className=\"white-back-fix\">\r\n \r\n <header className=\"par-header\">\r\n {slots &&\r\n slots.header &&\r\n slots.header.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </header>\r\n <div id=\"subheader\">\r\n {slots.subheader.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </div>\r\n </div>\r\n\r\n <section className=\"overlay-img\">\r\n \r\n <main id=\"main\">\r\n {slots &&\r\n slots.primary &&\r\n slots.primary.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </main>\r\n \r\n \r\n {slots && slots.subfooter && (\r\n <div id=\"subfooter\">\r\n {slots.subfooter.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </div>\r\n )}\r\n <footer>\r\n {slots &&\r\n slots.footer &&\r\n slots.footer.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </footer>\r\n </section>\r\n \r\n </div>\r\n </div>\r\n )}\r\n {slots && !slots.subheader && (\r\n <div>\r\n <div className=\"product\">\r\n <header>\r\n {slots &&\r\n slots.header &&\r\n slots.header.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </header>\r\n <section className=\"not-parallax\">\r\n <main id=\"main\">\r\n {slots &&\r\n slots.primary &&\r\n slots.primary.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </main>\r\n {slots && slots.subfooter && (\r\n <div id=\"subfooter\">\r\n {slots.subfooter.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </div>\r\n )}\r\n <footer>\r\n {slots &&\r\n slots.footer &&\r\n slots.footer.map((children: React.ReactNode) => {\r\n return children;\r\n })}\r\n </footer>\r\n </section>\r\n </div>\r\n </div>\r\n )}\r\n </React.Fragment>\r\n );\r\n }\r\n}\r\n\r\nexport default ObrienDefaultPageContainer;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IObrienRetailersData } from './obrien-retailers.data';\r\nimport { IObrienRetailersProps } from './obrien-retailers.props.autogenerated';\r\n\r\nexport interface IObrienRetailersViewProps extends IObrienRetailersProps<IObrienRetailersData> {\r\n\r\n}\r\n\r\n/**\r\n *\r\n * ObrienTeam component\r\n * @extends {React.PureComponent<IObrienRetailersProps<IObrienRetailersData>>}\r\n */\r\nclass ObrienRetailers extends React.PureComponent<IObrienRetailersProps<IObrienRetailersData>> {\r\n public render(): JSX.Element | null {\r\n\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default ObrienRetailers;\r\n","import React from \"react\";\r\n\r\n// @ts-ignore\r\nfunction GLOBALTEAM({ globalteam, index }) {\r\n return (\r\n <div\r\n className=\"ind-retailer\"\r\n key={index}\r\n >\r\n \r\n <a href={globalteam.link}><img src={globalteam.image} alt={globalteam.title} /></a>\r\n </div>\r\n \r\n );\r\n}\r\n\r\nexport default GLOBALTEAM;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport React, { useState } from \"react\";\r\n\r\nimport GLOBALTEAM from \"./GLOBALTEAM\";\r\n\r\nimport { IObrienRetailersViewProps } from \"./obrien-retailers\";\r\n\r\nexport default (props: IObrienRetailersViewProps) => {\r\n const [globalteam] = useState([\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5A?pubver=1\",\r\n title: \"Alberg Ski and Sport\",\r\n link: \"https://www.arlbergski.com/pages/search-results-page?q=O%27Brien&page=1&rb_vendor=O%27Brien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tum?pubver=1\",\r\n title: \"Amazon\",\r\n link: \"https://www.amazon.com/stores/OBrienWatersports/Homepage/page/1F5E5931-D458-4CE0-9866-A49E80F7E5EF\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tud?pubver=1\",\r\n title: \"Barts\",\r\n link: \"https://barts.com/obrien-international#/pageSize=36&viewMode=grid&orderBy=5&pageNumber=1\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5B?pubver=1\",\r\n title: \"Buy Wake\",\r\n link: \"https://www.buywake.com/brand/o-brien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tuj?pubver=1\",\r\n title: \"Dick's Sporting Goods\",\r\n link: \"https://www.dickssportinggoods.com/search/SearchDisplay?categoryId=&storeId=15108&catalogId=12301&langId=-1&sType=SimpleSearch&resultCatEntryType=2&showResultsPage=true&fromPage=Search&searchSource=Q&pageView=&beginIndex=0&pageSize=48&searchTerm=OBrien&selectedStore=748&DSGsearchType=Keyword&advsearch=true&SearchType=Keyword\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tuc?pubver=1\",\r\n title: \"Evo\",\r\n link: \"https://www.evo.com/shop/obrien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yGV?pubver=1\",\r\n title: \"Leisure Pro\",\r\n link: \"https://www.leisurepro.com/brands/OBrien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tup?pubver=1\",\r\n title: \"Marine Products\",\r\n link: \"https://marine-products.com/search?type=article%2Cpage%2Cproduct&q=O%27Brien*\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5G?pubver=1\",\r\n title: \"Overtons\",\r\n link: \"https://www.overtons.com/search?q=O%27Brien&lang=default\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5v?pubver=1\",\r\n title: \"Performance\",\r\n link: \"https://www.perfski.com/brands/obrien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yGW?pubver=1\",\r\n title: \"Peter Glenn\",\r\n link: \"https://www.peterglenn.com/category/wake%20and%20waterski?filters=im_vid_6:197\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yH2?pubver=1\",\r\n title: \"Redshift\",\r\n link: \"https://www.redshiftwatersports.com/brand/o-brien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yGM?pubver=1\",\r\n title: \"Ride the Wave\",\r\n link: \"https://ridewatersports.com/brands/O%27BRIEN.html\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yGQ?pubver=1\",\r\n title: \"Ski Doo Outlet\",\r\n link: \"https://skidoooutlet.com/brand/obrien-watersports/?season=water\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5H?pubver=1\",\r\n title: \"Sports & Marine Parafunalia\",\r\n link: \"http://search.store.yahoo.net/yhst-89929770490774/cgi-bin/nsearch?vwcatalog=yhst-89929770490774&query=O%27Brien&.autodone=http%3A%2F%2Fyhst-89929770490774.us-dc1-edit.store.yahoo.net%2FRT%2FNEWEDIT.yhst-89929770490774%2F49686e88f32b%2Fnorder.html\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2yGN?pubver=1\",\r\n title: \"Summit Sports\",\r\n link: \"https://www.summitsports.com/search?prefn1=brand&prefv1=O%27Brien\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2w5u?pubver=1\",\r\n title: \"The House\",\r\n link: \"https://www.the-house.com/vendor-obrienstore.html\",\r\n },\r\n {\r\n image:\r\n \"https://images-us-prod.cms.commerce.dynamics.com/cms/api/nwtfklkdlc/imageFileData/MC2tul?pubver=1\",\r\n title: \"Wholesale Marine\",\r\n link: \"https://www.wholesalemarine.com/brands/OBrien-Watersports.html?sort=featured&page=1&_bc_fsnf=1&in_stock=1&category=7842\",\r\n },\r\n ]);\r\n\r\n \r\n\r\n \r\n\r\n \r\n return (\r\n \r\n <div className=\"teams auto-grid-mod\">\r\n {globalteam.map((globalteam, i) => (\r\n <GLOBALTEAM\r\n globalteam={globalteam}\r\n index={i}\r\n />\r\n ))}\r\n </div>\r\n \r\n );\r\n};\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';\n\nimport { IObrienZendeskData } from './obrien-zendesk.data';\nimport { IObrienZendeskProps } from './obrien-zendesk.props.autogenerated';\n\nexport interface IObrienZendeskViewProps extends IObrienZendeskProps<IObrienZendeskData> {}\n\n/**\n *\n * ObrienZendesk component\n * @extends {React.PureComponent<IObrienZendeskProps<IObrienZendeskData>>}\n */\nclass ObrienZendesk extends React.PureComponent<IObrienZendeskProps<IObrienZendeskData>> {\n public render(): JSX.Element | null {\n return this.props.renderView(this.props);\n }\n}\n\nexport default ObrienZendesk;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IObrienZendeskViewProps } from './obrien-zendesk';\r\n\r\nexport default (props: IObrienZendeskViewProps) => {\r\n return (\r\n <>\r\n <script id=\"ze-snippet\" src=\"https://static.zdassets.com/ekr/snippet.js?key=06de386f-2858-4c52-b67e-7eb14c4c9162\"> </script>\r\n </>\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport { ILinksData } from '../watersportdiscounts-slide.props.autogenerated';\r\n\r\nexport interface IContentCardLinks {\r\n links: ILinksData[];\r\n}\r\n\r\nconst ContentCardLinks: React.FC<IContentCardLinks> = ({ links }) => (\r\n <div className='ms-content-block__cta'>\r\n {links.map((cta: ILinksData, index: number) => {\r\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\r\n return <a\r\n key={`link-${index}`}\r\n className={btnClass}\r\n role='button'\r\n title={cta.linkText}\r\n href={cta.linkUrl && cta.linkUrl.destinationUrl}\r\n aria-label={cta.ariaLabel}\r\n target={cta.openInNewTab ? '_blank' : undefined}\r\n >\r\n <span>{cta.linkText}</span>\r\n </a>;\r\n })}\r\n </div>\r\n);\r\n\r\nexport default ContentCardLinks;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { IWatersportdiscountsSlideData } from './watersportdiscounts-slide.data';\r\nimport { IWatersportdiscountsSlideProps } from './watersportdiscounts-slide.props.autogenerated';\r\n\r\nimport LinksComponent from './components/links';\r\n\r\nexport interface IWatersportdiscountsSlideViewProps extends IWatersportdiscountsSlideProps<IWatersportdiscountsSlideData> {\r\n obHeroTitle: React.ReactNode;\r\n obHeroImage: React.ReactNode;\r\n obHeroImageOverlay: React.ReactNode;\r\n obHeroId: string;\r\n obHeroContent: string;\r\n imageContainer: INodeProps;\r\n links?: React.ReactNode;\r\n\r\n}\r\n\r\n/**\r\n *\r\n * ObrienHomeHero component\r\n * @extends {React.PureComponent<IWatersportdiscountsSlideProps<IWatersportdiscountsSlideData>>}\r\n */\r\nclass WatersportdiscountsSlide extends React.PureComponent<IWatersportdiscountsSlideProps<IWatersportdiscountsSlideData>> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const { obHeroImage, obHeroImageOverlay, obHeroTitle, links } = this.props.config;\r\n\r\n //const HeroTitle = config.obHeroTitle ? config.obHeroTitle : 'No Header Name Provided';\r\n\r\n const HeroTitle = obHeroTitle && (\r\n <Msdyn365.Text\r\n tag={obHeroTitle.tag || 'h2'}\r\n text={obHeroTitle.text}\r\n className='ob-hero-title'\r\n editProps={{onEdit: this.handleTextChange1, requestContext:this.props.context.request}}\r\n />\r\n );\r\n\r\n const imageProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: obHeroImage && obHeroImage.imageSettings,\r\n };\r\n\r\n const heroImage = obHeroImage && (\r\n <Msdyn365.Image {...obHeroImage} {...imageProps} editProps ={{key:this.props.config.obHeroImage || {}, requestContext: this.props.context.request}}/>\r\n );\r\n\r\n const imageOverlayProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: obHeroImageOverlay && obHeroImageOverlay.imageSettings,\r\n };\r\n\r\n const heroImageOverlay = obHeroImageOverlay && (\r\n <Msdyn365.Image {...obHeroImageOverlay} {...imageOverlayProps} editProps ={{key:this.props.config.obHeroImageOverlay || {}, requestContext: this.props.context.request}}/>\r\n );\r\n\r\n const contentBlockLinks = links && links.length > 0 && <LinksComponent {...{ links }} />;\r\n\r\n //const HeroImage = config.obHeroImage ? config.obHeroImage.src : '';\r\n const HeroId = config.obHeroId ? config.obHeroId : 'No Id';\r\n const HeroContent = config.obHeroContent ? config.obHeroContent : '';\r\n const ObrienHomeHeroProps = {\r\n ...this.props,\r\n obHeroTitle: HeroTitle,\r\n obHeroImage: heroImage,\r\n obHeroImageOverlay: heroImageOverlay,\r\n obHeroId: HeroId,\r\n obHeroContent: HeroContent,\r\n imageContainer: {},\r\n links: contentBlockLinks\r\n };\r\n\r\n return this.props.renderView(ObrienHomeHeroProps);\r\n }\r\n public handleTextChange1 = (event: Msdyn365.ContentEditableEvent) => this.props.config.obHeroTitle!.text = event.target.value;\r\n}\r\n\r\nexport default WatersportdiscountsSlide;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n//import { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IWatersportdiscountsSlideViewProps } from './watersportdiscounts-slide';\r\n\r\n// import { useRef, useEffect } from \"react\";\r\n// import { gsap } from 'gsap';\r\n// import { ScrollTrigger } from 'gsap/ScrollTrigger';\r\n\r\nexport default (props: IWatersportdiscountsSlideViewProps) => {\r\n\r\n // let animateThis1 = useRef(null);\r\n\r\n // useEffect(() => {\r\n // gsap.registerPlugin(ScrollTrigger);\r\n\r\n // gsap.to( animateThis1, {\r\n // scrollTrigger: {\r\n // trigger: '.ob-hero', \r\n // start: \"top top\",\r\n // scrub: 1,\r\n // },\r\n // duration: 2,\r\n // x: '0',\r\n // y: '160',\r\n // ease: \"linear\",\r\n // })\r\n \r\n // }, [])\r\n\r\n\r\n const { obHeroImage, obHeroTitle, obHeroId, obHeroContent, links, obHeroImageOverlay} = props;\r\n return (\r\n <>\r\n\r\n <div className={`ob-hero ${obHeroId}`}>\r\n\r\n <div className=\"text-container\">\r\n <div>\r\n \r\n {obHeroImageOverlay ? (\r\n <div className='heroImgOverlay'>{obHeroImageOverlay}</div>\r\n ) : null}\r\n {obHeroTitle ? (\r\n <div>{obHeroTitle}</div>\r\n ) : null}\r\n {obHeroContent ? (\r\n <div dangerouslySetInnerHTML={{ __html: obHeroContent }}></div>\r\n ) : null}\r\n {links ? (\r\n <div className=\"around-button\">\r\n {links}\r\n </div>\r\n ) : null}\r\n \r\n \r\n </div>\r\n </div>\r\n \r\n <div className=\"hero-img-fix\">\r\n <div>\r\n {obHeroImage}\r\n </div>\r\n <div className=\"overlay\"></div>\r\n </div>\r\n\r\n \r\n </div>\r\n\r\n \r\n </>\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ITextBlockViewProps } from '@msdyn365-commerce-modules/text-block/src/modules/text-block/./text-block';\r\n\r\nconst TextBlockView: React.FC<ITextBlockViewProps> = props => (\r\n <div className={props.className} {...props.renderModuleAttributes(props)}>\r\n {props.paragraph}\r\n </div>\r\n);\r\n\r\nexport default TextBlockView;\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\n\r\n /**\r\n * CoreComponent component\r\n * @extends {React.PureComponent<IScriptInjectorProps>}\r\n */\r\n\r\nclass Kent extends React.PureComponent {\r\n constructor(props: {}) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n return <script />;\r\n }\r\n }\r\n\r\nexport default Kent;\r\n","import React from 'react';\r\n\r\ninterface IProps {\r\n id?:any;\r\n theme?:any;\r\n}\r\n\r\ninterface IState {\r\n ready?:any;\r\n}\r\n\r\nclass ConstantContactForm extends React.Component<IProps>{\r\n\r\n public state: IState;\r\n\r\n constructor(props:any) {\r\n super(props);\r\n this.state = {ready:false};\r\n }\r\n public componentDidMount = () => {\r\n if (typeof window !== 'undefined') {\r\n const script1:any = document.createElement(\"script\");\r\n script1.text = 'var _ctct_m = \"8c5b16ae8f14401985b3ba0f02375a3b\";';\r\n document.head.appendChild(script1);\r\n\r\n const script2:any = document.createElement(\"script\");\r\n script2.src = \"//static.ctctcdn.com/js/signup-form-widget/current/signup-form-widget.min.js\";\r\n script2.async = true;\r\n script2.defer = true;\r\n document.head.appendChild(script2);\r\n this.setState({\r\n ready:true\r\n },()=>{\r\n setTimeout(() => {\r\n let elem:any = document.getElementById('email_address_3');\r\n if(elem){\r\n if(elem){\r\n // @ts-ignore\r\n elem.placeholder = \"Enter Your email\"\r\n }\r\n }\r\n }, 2000);\r\n })\r\n }\r\n }\r\n\tpublic render(): JSX.Element {\r\n let id:any = this.props.id;\r\n let theme:any = \"dark\";\r\n if(this.props.theme){\r\n theme = this.props.theme\r\n }\r\n return (\r\n\t\t\t<div className={\"small-padding constant-contact-form \"+theme}>\r\n\t\t\t\t<div className=\"small-max-width-container\" style={{maxWidth:\"600px\"}}>\r\n\t\t\t\t\t<p className=\"white centered-text\">{'JOIN OUR NEWSLETTER'}</p>\r\n\t\t\t\t\t{this.state.ready && <div className=\"ctct-inline-form\" data-form-id={id}></div>}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t)\r\n\t}\r\n}\r\n\r\n export default ConstantContactForm;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport React from 'react';\r\nimport { IHosportsConstantContactFormViewProps } from '../../../modules/hosports-constant-contact-form/./hosports-constant-contact-form';\r\nimport ConstantContactForm from './../../../baseComponents/constant-contact-form/./constant-contact-form';\r\n\r\n\r\nexport default (props: IHosportsConstantContactFormViewProps) => {\r\n let config = props.config;\r\n return (\r\n <ConstantContactForm\r\n id={config.id}\r\n theme=\"dark\"\r\n />\r\n )\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, {\n constructViewportInformationForImage,\n getImageResizeUrl,\n getLargestGridSettingViewportName,\n getMinMaxWidth,\n IAny,\n IGeneric,\n IViewPort,\n Viewport\n} from '@msdyn365-commerce/core-internal';\nimport { cloneDeep as _cloneDeep } from 'lodash';\nimport {\n BackgroundImageRepeat,\n BackgroundImageSize,\n IBackgroundImageAttributes,\n IBackgroundImageLazyloadAttributes,\n IBackgroundImageProps,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\n if (!size || size === 'cover') {\n return 'no-repeat';\n }\n switch (repeat) {\n case 'noRepeat':\n return 'no-repeat';\n case 'repeat':\n return 'repeat';\n default:\n return 'no-repeat';\n }\n};\n\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\n switch (size) {\n case 'cover':\n return 'cover';\n case 'contain':\n return 'contain';\n case 'default':\n default:\n return undefined;\n }\n};\n\nconst getDefaultViewports = (): IViewPort => {\n return {\n xs: {\n w: 800,\n h: 600\n },\n sm: {\n w: 1200,\n h: 900\n },\n md: {\n w: 1600,\n h: 900\n },\n lg: {\n w: 1600,\n h: 700\n },\n xl: {\n w: 1600,\n h: 700\n }\n };\n};\n\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\n if (!msdyn365Commerce.isBrowser) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\n if (!authoringHelper) {\n return;\n }\n\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\n};\n\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric<IBackgroundImageStyle> => {\n const { containerType, image, request, configs } = props;\n\n const gridSettings = request.gridSettings ?? {};\n const imageSettings = image.imageSettings;\n\n const styles: IGeneric<IBackgroundImageStyle> = {};\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<IAny> => {\n let style: IGeneric<IAny> = {};\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<IBackgroundImageStyle>\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<IBackgroundImageStyle>): 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<IBackgroundImageProps, IBackgroundImageState>}\n */\nexport class BackgroundImage extends React.PureComponent<IBackgroundImageProps, IBackgroundImageState> {\n private stylesByViewport: IGeneric<IBackgroundImageStyle>;\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 <div {...eventHandlers} {...attributes}>\n {children}\n </div>\n );\n } else if (this._isLazyload()) {\n // On lazyload, only include the class name on the first render.\n return (\n <div {...eventHandlers} className={backgroundImageClassName}>\n {children}\n </div>\n );\n } else {\n // On lazyload disabled, render the default attributes from server side.\n return (\n <div {...eventHandlers} {...this._getDefaultAttributes()}>\n {children}\n </div>\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<IBackgroundImageStyle>,\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<IContainerProps> = (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 = <div className='row'>{containerContent}</div>;\n }\n\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\n containerContent = (\n <BackgroundImage\n containerType={typeName}\n request={request}\n image={backgroundImage}\n configs={{\n repeat: backgroundImageRepeat,\n size: backgroundImageSize,\n layout: moduleLayout\n }}\n >\n {containerContent}\n </BackgroundImage>\n );\n }\n\n return containerType ? (\n <div className={`${typeName} ${id} ${getContainerType(containerType)}${customClassName}`}>{containerContent}</div>\n ) : (\n <div className={`${typeName} ${id}${customClassName}`}>{containerContent}</div>\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 <Text\n className={classNameWithHeading}\n tag={Tag}\n text={headingText}\n editProps={{ onEdit: props.handleTextChange, requestContext: props.requestContext }}\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<IDefaultContainer2SlotsConfig<IDefaultContainer2SlotsData>>}\n */\nclass Default2SlotContainer extends React.PureComponent<IDefaultContainer2SlotsProps<IDefaultContainer2SlotsData>> {\n constructor(props: IDefaultContainer2SlotsProps<IDefaultContainer2SlotsData>) {\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 <Container\n containerType={config.containerType}\n className={config.className}\n typeName={this.props.typeName}\n id={this.props.id}\n request={this.props.context.request}\n backgroundImage={config?.backgroundImage}\n backgroundImageRepeat={config?.backgroundImageRepeat}\n backgroundImageSize={config?.backgroundImageSize}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unnecessary-type-assertion\n moduleLayout={(config as any)?.msdyn365__moduleLayout}\n >\n {heading && <HeadingComponent className='container-heading' {...headingProps} />}\n {content && content[0] && <div className={slotsClassNames.left.join(' ')}>{content[0]}</div>}\n {content && content[1] && <div className={slotsClassNames.right.join(' ')}>{content[1]}</div>}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n <div className='col-12' key={index}>\n <div className='card'>\n <div className='card-header text-white bg-danger'>\n Slot exceeded maximum number of slots supported by container. (2)\n </div>\n </div>\n </div>\n );\n })}\n </>\n </Container>\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<IDefaultContainer3SlotsData<IDefaultContainer3SlotsData>>}\n */\nclass Default3SlotContainer extends React.PureComponent<IDefaultContainer3SlotsProps<IDefaultContainer3SlotsData>> {\n constructor(props: IDefaultContainer3SlotsProps<IDefaultContainer3SlotsData>) {\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 <Container\n containerType={config.containerType}\n className={config.className}\n typeName={this.props.typeName}\n id={this.props.id}\n request={this.props.context.request}\n backgroundImage={config?.backgroundImage}\n backgroundImageRepeat={config?.backgroundImageRepeat}\n backgroundImageSize={config?.backgroundImageSize}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unnecessary-type-assertion\n moduleLayout={(config as any)?.msdyn365__moduleLayout}\n >\n {heading && <HeadingComponent className='container-heading' {...headingProps} />}\n {content && content[0] && <div className={slotsClassNames.left.join(' ')}>{content[0]}</div>}\n {content && content[1] && <div className={slotsClassNames.center.join(' ')}>{content[1]}</div>}\n {content && content[2] && <div className={slotsClassNames.right.join(' ')}>{content[2]}</div>}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n <div className='col-12' key={index}>\n <div className='card'>\n <div className='card-header text-white bg-danger'>\n Slot exceeded maximum number of slots supported by container. (3)\n </div>\n </div>\n </div>\n );\n })}\n </>\n </Container>\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<IDefaultContainerProps<IDefaultContainerData>>}\n */\nclass DefaultContainer extends React.PureComponent<IDefaultContainerProps<IDefaultContainerData>> {\n constructor(props: IDefaultContainerProps<IDefaultContainerData>) {\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 <Container\n containerType={config.containerType}\n className={config.className}\n typeName={this.props.typeName}\n id={this.props.id}\n request={this.props.context.request}\n backgroundImage={config?.backgroundImage}\n backgroundImageRepeat={config?.backgroundImageRepeat}\n backgroundImageSize={config?.backgroundImageSize}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unnecessary-type-assertion\n moduleLayout={(config as any)?.msdyn365__moduleLayout}\n >\n {heading && <HeadingComponent className='container-heading' {...headingProps} />}\n {slots &&\n slots.content &&\n slots.content.map((children: React.ReactNode, index: number) => {\n return (\n <div className={this._getChildColClassName()} key={index}>\n {children}\n </div>\n );\n })}\n </Container>\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 { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { isEditorialMode } from '@msdyn365-commerce/core-internal';\nimport { IDefaultPageProps } from './default-page.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent<IDefaultPageProps>}\n */\nclass DefaultPageContainer extends React.PureComponent<IDefaultPageProps<{}>> {\n constructor(props: IDefaultPageProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, id, typeName } = this.props;\n\n let skipToMainText = this.props.config && this.props.config.skipToMainText;\n telemetry.log(LogLevel.Debug, \"DefaultPageContainer rendering for '{id}/{typeName}'\", { values: [id, typeName] });\n\n if (!skipToMainText) {\n skipToMainText =\n this.props.context.app && this.props.context.app.platform ? this.props.context.app.platform.skipToMainText : '';\n }\n\n const tabIndexSkipToMain = isEditorialMode(this.props.context.actionContext.requestContext) ? -1 : 0;\n\n return (\n <React.Fragment>\n <a className='skip-to-main' href='#main' tabIndex={tabIndexSkipToMain}>\n {skipToMainText}\n </a>\n <header>\n {slots &&\n slots.header &&\n slots.header.map((children: React.ReactNode) => {\n return children;\n })}\n </header>\n {slots && slots.subheader && (\n <div id='subheader'>\n {slots.subheader.map((children: React.ReactNode) => {\n return children;\n })}\n </div>\n )}\n <main id='main'>\n {slots &&\n slots.primary &&\n slots.primary.map((children: React.ReactNode) => {\n return children;\n })}\n </main>\n {slots && slots.subfooter && (\n <div id='subfooter'>\n {slots.subfooter.map((children: React.ReactNode) => {\n return children;\n })}\n </div>\n )}\n <footer>\n {slots &&\n slots.footer &&\n slots.footer.map((children: React.ReactNode) => {\n return children;\n })}\n </footer>\n </React.Fragment>\n );\n }\n}\n\nexport default DefaultPageContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ICoreContext } from '@msdyn365-commerce/core';\nimport * as twoSlots from '../modules/default-container-2-slots/default-container-2-slots.props.autogenerated';\nimport * as threeSlots from '../modules/default-container-3-slots/default-container-3-slots.props.autogenerated';\n\n// eslint-disable-next-line security/detect-unsafe-regex\nconst sizePattern = /col(_(\\d|auto){1,2}){2,}/;\n\nexport interface IShowErrorOptions {\n isDebug?: boolean;\n isEditor?: boolean;\n}\n\nexport interface IViewPortOptions {\n xsmall?: threeSlots.xsmall | twoSlots.xsmall;\n small?: threeSlots.small | twoSlots.small;\n medium?: threeSlots.medium | twoSlots.medium;\n large?: threeSlots.large | twoSlots.large;\n}\n\nconst translatePrefix = (prefix: `large` | `medium` | `small` | `xsmall` | undefined) => {\n switch (prefix && prefix.toLowerCase()) {\n case 'large':\n return 'lg';\n case 'medium':\n return 'md';\n case 'small':\n return 'sm';\n case 'xsmall':\n default:\n return '';\n }\n};\n\n/**\n * converts config option and size to bootstrap col class name\n * If size is auto or config option is invalid col-auto will be returned\n * If size is xsmall or size is invalid col-{config} will be returned\n * @param config configuration option e.g. col_12_12\n * @param size bootstrap gridsize\n */\nexport const getColumnSizes = (config: string, size?: `large` | `medium` | `small` | `xsmall`): string[] | boolean => {\n if (!sizePattern.exec(config)) {\n return false;\n }\n const cols = config.split('_').slice(1);\n const translatedSize = translatePrefix(size);\n const sizePrefix = (translatedSize && `-${translatedSize}`) || '';\n return cols.map((colWidth: string) => `col${sizePrefix}-${colWidth}`);\n};\n\nexport const showErrors = (context?: ICoreContext): Boolean => {\n const { isDebug, isEditor }: IShowErrorOptions = (context && context.request && context.request.params) || {};\n return !!isDebug || !!isEditor;\n};\n\n/**\n * Converts viewport configuration into a two dimensional array of class names\n */\nexport const getColClassArray = (options: IViewPortOptions): string[][] =>\n <string[][]>(\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<string, string>([\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 { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IDefaultPageSummaryData } from './default-page-summary.data';\nimport { IDefaultPageSummaryProps } from './default-page-summary.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component.\n * @extends {React.PureComponent<DefaultPageSummaryProps>}\n */\nclass DefaultPageSummary extends React.PureComponent<IDefaultPageSummaryProps<IDefaultPageSummaryData>> {\n public render(): JSX.Element {\n if (this.props.data.pageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n pageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n pageSummary: {\n result: { canonicalUrl }\n }\n }\n } = this.props;\n\n // Override values coming from data action if config values are provided\n title = config.title || title;\n description = config.description || description;\n keywords = config.keywords || keywords;\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\n faviconUrl = config.faviconUrl || faviconUrl;\n\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\n return (\n <>\n <HtmlHeadInclude>\n {pageTitle && <title>{pageTitle}</title>}\n {description && <meta name='description' content={description} />}\n {keywords && <meta name='keywords' content={keywords} />}\n {canonicalUrl && <link rel='canonical' href={canonicalUrl} />}\n {faviconUrl && <link rel='shortcut icon' href={faviconUrl} />}\n </HtmlHeadInclude>\n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n </>\n );\n }\n\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\n return (\n <HtmlHeadInclude>\n {title && <meta property='og:title' content={title} />}\n {description && <meta property='og:description' content={description} />}\n {sharingImageUrl && <meta property='og:image' content={sharingImageUrl} />}\n <meta property='og:type' content='website' />\n </HtmlHeadInclude>\n );\n }\n\n private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n <HtmlHeadInclude>\n {title && <meta name='twitter:title' content={title} />}\n {description && <meta name='twitter:description' content={description} />}\n {sharingImageUrl && <meta name='twitter:image' content={sharingImageUrl} />}\n <meta name='twitter:card' content='summary' />\n </HtmlHeadInclude>\n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric<IAny>): string | undefined {\n if (!title) {\n title = '';\n }\n\n const moduleConfig = this.props.config;\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\n return title;\n }\n\n const appConfig = app && app.platform;\n if (appConfig) {\n if (appConfig.pageTitlePrefix) {\n title = (appConfig.pageTitlePrefix as string) + title;\n }\n if (appConfig.pageTitleSuffix) {\n title += appConfig.pageTitleSuffix as string;\n }\n }\n\n return title;\n }\n}\n\nexport default DefaultPageSummary;\n"],"names":["HosportsConstantContactForm","React","render","this","props","renderView","ObrienDefaultPageContainer","constructor","super","slots","telemetry","id","typeName","skipToMainText","config","log","LogLevel","Debug","values","context","app","platform","subheader","className","header","map","children","primary","subfooter","footer","ObrienRetailers","_ref","globalteam","index","key","href","link","src","image","alt","title","useState","i","GLOBALTEAM","ObrienZendesk","links","cta","btnClass","role","linkText","linkUrl","destinationUrl","ariaLabel","target","openInNewTab","undefined","WatersportdiscountsSlide","handleTextChange1","event","obHeroTitle","text","value","obHeroImage","obHeroImageOverlay","HeroTitle","Msdyn365","tag","editProps","onEdit","requestContext","request","imageProps","gridSettings","imageSettings","heroImage","Object","assign","imageOverlayProps","heroImageOverlay","contentBlockLinks","length","LinksComponent","HeroId","obHeroId","HeroContent","obHeroContent","ObrienHomeHeroProps","_objectSpread","imageContainer","dangerouslySetInnerHTML","__html","renderModuleAttributes","paragraph","Kent","ConstantContactForm","componentDidMount","window","script1","document","createElement","head","appendChild","script2","async","defer","setState","ready","setTimeout","elem","getElementById","placeholder","state","theme","style","maxWidth","getBackgroundRepeatProperty","size","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","containerType","configs","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","msdyn365Commerce","isBrowser","authoringHelper","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","viewports","_cloneDeep2","xs","w","h","sm","md","lg","xl","skipWidthAndHeightSettings","keys","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","externalProvider","apiSettings","max","minWidth","min","minHeight","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","getDataBgSetAttribute","dataBgSetAttributes","push","join","BACKGROUND_IMAGE_CLASS_NAME","BackgroundImage","stylesByViewport","_onChangeHandler","bind","_getCurrentStyle","mounted","_componentResize","updateAttributes","addEventListener","componentWillUnmount","removeEventListener","shouldComponentUpdate","nextProps","nextState","_this$props$request","_nextProps$request","_this$props$image","_nextProps$image","_this$props$image2","_nextProps$image2","backgroundImageClassName","isAuthoringEditEnabled","processedAtributes","_processAttributes","_isLazyload","attributes","_getAttributes","eventHandlers","onDoubleClick","_getDefaultAttributes","_unused","lazyLoad","getBackgroundImageLazyloadAttributes","getBackgroundImageAttributes","currentTarget","binding","eventTarget","$type","selectedStyle","_isEqual2","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","_this$props$image3$im","disableLazyLoad","getContainerType","Container","backgroundImageRepeat","backgroundImageSize","moduleLayout","customClassName","containerContent","HeadingComponent","headingText","textSize","Tag","classNameWithHeading","Text","handleTextChange","Default2SlotContainer","heading","_getColClassName","classNames","getColClassArray","reduce","memo","left","right","data","content","slotsClassNames","Warning","headingProps","msdyn365__moduleLayout","showErrors","slice","slot","Default3SlotContainer","center","DefaultContainer","_getChildColClassName","childrenWidth","_getWidthClass","s","colWidths","get","DefaultPageContainer","tabIndexSkipToMain","isEditorialMode","actionContext","tabIndex","sizePattern","getColumnSizes","exec","cols","split","translatedSize","prefix","toLowerCase","translatePrefix","sizePrefix","colWidth","isDebug","isEditor","params","options","xsmall","small","medium","large","filter","Boolean","Map","DefaultPageSummary","pageSummary","result","Error","description","keywords","sharingImageUrl","faviconUrl","canonicalUrl","sharingImage","pageTitle","_constructPageTitle","HtmlHeadInclude","name","rel","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","pageTitlePrefix","pageTitleSuffix"],"sourceRoot":""}