{"version":3,"file":"static/js/18.1b1a32474d5862cac263.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-four/featured-list-four.tsx?95ce","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-four/featured-list-four.view.tsx?0e23","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-one/featured-list-one.tsx?2fff","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-one/featured-list-one.view.tsx?2e61","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-three/featured-list-three.tsx?6ada","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-three/featured-list-three.view.tsx?1b40","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-two/featured-list-two.tsx?24e3","webpack://Msdyn365.Commerce.Online/./src/modules/featured-list-two/featured-list-two.view.tsx?0b8c","webpack://Msdyn365.Commerce.Online/./src/modules/printables/printables.tsx?7492","webpack://Msdyn365.Commerce.Online/./src/modules/printables/components/printableslist.tsx?3db1","webpack://Msdyn365.Commerce.Online/./src/modules/printables/printables.view.tsx?9824","webpack://Msdyn365.Commerce.Online/./src/modules/product-container-three/product-container-three.tsx?aebc","webpack://Msdyn365.Commerce.Online/./src/modules/product-container-three/product-container-three.view.tsx?5f46","webpack://Msdyn365.Commerce.Online/./src/modules/small-banner/small-banner.tsx?3479","webpack://Msdyn365.Commerce.Online/./src/modules/small-banner/small-banner.view.tsx?ca7b","webpack://Msdyn365.Commerce.Online/./src/modules/default-external-script/default-external-script.tsx?2a33","webpack://Msdyn365.Commerce.Online/./src/modules/default-inline-script/default-inline-script.tsx?5ccd","webpack://Msdyn365.Commerce.Online/./src/utils/script-utils.ts?cb52","webpack://Msdyn365.Commerce.Online/./src/modules/notifications-list/notifications-list.tsx?8377","webpack://Msdyn365.Commerce.Online/./src/modules/notifications-list/notifications-list.view.tsx?d466"],"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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IFeaturedListFourData } from './featured-list-four.data';\r\nimport { IFeaturedListFourProps } from './featured-list-four.props.autogenerated';\r\n\r\nexport interface IFeaturedListFourViewProps\r\n extends IFeaturedListFourProps {\r\n featuredList4?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * FeaturedListFour component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FeaturedListFour extends React.PureComponent<\r\n IFeaturedListFourProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const {\r\n listHeading,\r\n cssClassName,\r\n featuredProductImage1,\r\n productDescription1,\r\n productLink1,\r\n featuredProductImage2,\r\n productDescription2,\r\n productLink2,\r\n featuredProductImage3,\r\n productDescription3,\r\n productLink3,\r\n } = this.props.config;\r\n\r\n const imageProps1 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage1 && featuredProductImage1.imageSettings,\r\n };\r\n const featuredDynamicProductImage1 = featuredProductImage1 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct1 = (\r\n
\r\n \r\n
\r\n );\r\n const imageProps2 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage2 && featuredProductImage2.imageSettings,\r\n };\r\n const featuredDynamicProductImage2 = featuredProductImage2 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct2 = (\r\n \r\n );\r\n const imageProps3 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage3 && featuredProductImage3.imageSettings,\r\n };\r\n const featuredDynamicProductImage3 = featuredProductImage3 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct3 = (\r\n \r\n );\r\n\r\n const featuredListFour = (\r\n
\r\n
\r\n

\r\n {listHeading}\r\n

\r\n
\r\n {featuredDynamicProduct1}\r\n {featuredDynamicProduct2}\r\n {featuredDynamicProduct3}\r\n
\r\n );\r\n const FeaturedListFourProps = {\r\n ...this.props,\r\n featuredList4: featuredListFour,\r\n };\r\n return this.props.renderView(FeaturedListFourProps);\r\n }\r\n}\r\n\r\nexport default FeaturedListFour;\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 { IFeaturedListFourViewProps } from './featured-list-four';\r\nconst FeaturedListFourView: React.FC = (props) => {\r\n const { featuredList4 } = props;\r\n return {featuredList4};\r\n};\r\nexport default FeaturedListFourView;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IFeaturedListOneData } from './featured-list-one.data';\r\nimport { IFeaturedListOneProps } from './featured-list-one.props.autogenerated';\r\n\r\nexport interface IFeaturedListOneViewProps\r\n extends IFeaturedListOneProps {\r\n featuredList1?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * FeaturedListOne component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FeaturedListOne extends React.PureComponent<\r\n IFeaturedListOneProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const {\r\n listHeading,\r\n cssClassName,\r\n featuredProductImage1,\r\n productDescription1,\r\n productLink1,\r\n featuredProductImage2,\r\n productDescription2,\r\n productLink2,\r\n featuredProductImage3,\r\n productDescription3,\r\n productLink3,\r\n } = this.props.config;\r\n\r\n const imageProps1 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage1 && featuredProductImage1.imageSettings,\r\n };\r\n const featuredDynamicProductImage1 = featuredProductImage1 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct1 = (\r\n \r\n );\r\n const imageProps2 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage2 && featuredProductImage2.imageSettings,\r\n };\r\n const featuredDynamicProductImage2 = featuredProductImage2 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct2 = (\r\n \r\n );\r\n const imageProps3 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage3 && featuredProductImage3.imageSettings,\r\n };\r\n const featuredDynamicProductImage3 = featuredProductImage3 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct3 = (\r\n \r\n );\r\n\r\n const featuredListOne = (\r\n
\r\n
\r\n

\r\n {listHeading}\r\n

\r\n
\r\n {featuredDynamicProduct1}\r\n {featuredDynamicProduct2}\r\n {featuredDynamicProduct3}\r\n
\r\n );\r\n const FeaturedListOneProps = {\r\n ...this.props,\r\n featuredList1: featuredListOne,\r\n };\r\n return this.props.renderView(FeaturedListOneProps);\r\n }\r\n}\r\n\r\nexport default FeaturedListOne;\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 { IFeaturedListOneViewProps } from './featured-list-one';\r\nconst FeaturedListOneView: React.FC = (props) => {\r\n const { featuredList1 } = props;\r\n return {featuredList1};\r\n};\r\nexport default FeaturedListOneView;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IFeaturedListThreeData } from './featured-list-three.data';\r\nimport { IFeaturedListThreeProps } from './featured-list-three.props.autogenerated';\r\n\r\nexport interface IFeaturedListThreeViewProps\r\n extends IFeaturedListThreeProps {\r\n featuredList3?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * FeaturedListThree component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FeaturedListThree extends React.PureComponent<\r\n IFeaturedListThreeProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const {\r\n listHeading,\r\n cssClassName,\r\n featuredProductImage1,\r\n productDescription1,\r\n productLink1,\r\n featuredProductImage2,\r\n productDescription2,\r\n productLink2,\r\n featuredProductImage3,\r\n productDescription3,\r\n productLink3,\r\n } = this.props.config;\r\n\r\n const imageProps1 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage1 && featuredProductImage1.imageSettings,\r\n };\r\n const featuredDynamicProductImage1 = featuredProductImage1 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct1 = (\r\n \r\n );\r\n const imageProps2 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage2 && featuredProductImage2.imageSettings,\r\n };\r\n const featuredDynamicProductImage2 = featuredProductImage2 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct2 = (\r\n \r\n );\r\n const imageProps3 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage3 && featuredProductImage3.imageSettings,\r\n };\r\n const featuredDynamicProductImage3 = featuredProductImage3 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct3 = (\r\n \r\n );\r\n\r\n const featuredListThree = (\r\n
\r\n
\r\n

\r\n {listHeading}\r\n

\r\n
\r\n {featuredDynamicProduct1}\r\n {featuredDynamicProduct2}\r\n {featuredDynamicProduct3}\r\n
\r\n );\r\n const FeaturedListThreeProps = {\r\n ...this.props,\r\n featuredList3: featuredListThree,\r\n };\r\n return this.props.renderView(FeaturedListThreeProps);\r\n }\r\n}\r\n\r\nexport default FeaturedListThree;\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 { IFeaturedListThreeViewProps } from './featured-list-three';\r\nconst FeaturedListThreeView: React.FC = (\r\n props\r\n) => {\r\n const { featuredList3 } = props;\r\n return {featuredList3};\r\n};\r\nexport default FeaturedListThreeView;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IFeaturedListTwoData } from './featured-list-two.data';\r\nimport { IFeaturedListTwoProps } from './featured-list-two.props.autogenerated';\r\n\r\nexport interface IFeaturedListTwoViewProps\r\n extends IFeaturedListTwoProps {\r\n featuredList2?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * FeaturedListTwo component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FeaturedListTwo extends React.PureComponent<\r\n IFeaturedListTwoProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const {\r\n listHeading,\r\n cssClassName,\r\n featuredProductImage1,\r\n productDescription1,\r\n productLink1,\r\n featuredProductImage2,\r\n productDescription2,\r\n productLink2,\r\n featuredProductImage3,\r\n productDescription3,\r\n productLink3,\r\n } = this.props.config;\r\n\r\n const imageProps1 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage1 && featuredProductImage1.imageSettings,\r\n };\r\n const featuredDynamicProductImage1 = featuredProductImage1 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct1 = (\r\n \r\n );\r\n const imageProps2 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage2 && featuredProductImage2.imageSettings,\r\n };\r\n const featuredDynamicProductImage2 = featuredProductImage2 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct2 = (\r\n \r\n );\r\n const imageProps3 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage3 && featuredProductImage3.imageSettings,\r\n };\r\n const featuredDynamicProductImage3 = featuredProductImage3 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct3 = (\r\n \r\n );\r\n\r\n const featuredListTwo = (\r\n
\r\n
\r\n

\r\n {listHeading}\r\n

\r\n
\r\n {featuredDynamicProduct1}\r\n {featuredDynamicProduct2}\r\n {featuredDynamicProduct3}\r\n
\r\n );\r\n const FeaturedListTwoProps = {\r\n ...this.props,\r\n featuredList2: featuredListTwo,\r\n };\r\n return this.props.renderView(FeaturedListTwoProps);\r\n }\r\n}\r\n\r\nexport default FeaturedListTwo;\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 { IFeaturedListTwoViewProps } from './featured-list-two';\r\nconst FeaturedListTwoView: React.FC = (props) => {\r\n const { featuredList2 } = props;\r\n return {featuredList2};\r\n};\r\nexport default FeaturedListTwoView;\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 { IPrintablesData } from './printables.data';\r\nimport { IPrintablesProps } from './printables.props.autogenerated';\r\n\r\nexport interface IPrintablesViewProps extends IPrintablesProps {\r\n\r\n}\r\n\r\n/**\r\n *\r\n * Printables component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass Printables extends React.PureComponent> {\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 Printables;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n * Returns List of PrintablesList\r\n * Alfapeople -Customisation object -For PrintablesList page\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\r\nexport interface IToy {\r\n toyImage?: string;\r\n toyDescription?: string;\r\n toyLink?: string;\r\n}\r\n/**\r\n *\r\n * PrintablesList component\r\n * @extends Component\r\n */\r\nexport class PrintablesList extends Component {\r\n private readonly toys: IToy[] = [\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1t',\r\n toyDescription: 'Geoffrey’s guitar solo color by numbers',\r\n toyLink: '/geoffreys-guitar-solo-color-by-numbers',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDsCE',\r\n toyDescription: 'Ramadan with Geoffrey',\r\n toyLink: '/ramadan-with-geoffrey',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDxP5',\r\n toyDescription: 'bike safety hand signals',\r\n toyLink: '/bike-safety-hand-signals',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1P',\r\n toyDescription: 'Pokémon activities roundup',\r\n toyLink: '/pokemon-activities-roundup',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDAqk',\r\n toyDescription: 'Color a Rainbow for Crayon Day',\r\n toyLink: '/color-a-rainbow-for-crayon-day',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDAqD',\r\n toyDescription: 'Geoffrey’s pizza party',\r\n toyLink: '/geoffreys-pizza-party',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1O',\r\n toyDescription: 'Earth Day Unprintable ',\r\n toyLink: '/earth-day-unprintable',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1T',\r\n toyDescription: 'puppy day match ’em up ',\r\n toyLink: '/puppy-day-match-em-up',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDxP8',\r\n toyDescription: 'Geoffrey and Elephant’s pool time hidden picture puzzle',\r\n toyLink: '/geoffrey-and-elephants-pool-time-hidden-picture-puzzle',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDAqI',\r\n toyDescription: 'Geoffrey and Rhino’s color by numbers cool concert',\r\n toyLink: '/geoffrey-and-Rhinos-color-by-numbers-cool-concert',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDsCF',\r\n toyDescription: 'WWE coloring & activity Sheets ',\r\n toyLink: '/wwe-coloring-and-activity-sheets',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1C',\r\n toyDescription: 'Earth Day Unprintable ',\r\n toyLink: '/earth-day-unprintable-2',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDAqC',\r\n toyDescription: 'origami butterfly ',\r\n toyLink: '/origami-butterfly',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1X',\r\n toyDescription: 'color a thank-you sign ',\r\n toyLink: '/color-a-thank-you-sign',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDAqf',\r\n toyDescription: 'dream career with Barbie',\r\n toyLink: '/dream-career-with-barbie',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDD1I',\r\n toyDescription: 'connect the dots for a playful peek',\r\n toyLink: '/connect-the-dots-for-a-playful-peek',\r\n },\r\n {\r\n toyImage:\r\n 'https://images-eu-prod.cms.commerce.dynamics.com/cms/api/fnqzbfjwxg/imageFileData/MDxPh',\r\n toyDescription: 'be a-maize-d by this popcorn holder!',\r\n toyLink: '/be-amaized-by-this-popcorn-holder',\r\n },\r\n ];\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n
\r\n
\r\n

printables

\r\n
\r\n {this.toys.map((p) => (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default PrintablesList;\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 { PrintablesList } from './components';\r\nimport { IPrintablesViewProps } from './printables';\r\n\r\nexport default (props: IPrintablesViewProps) => {\r\n return (\r\n \r\n \r\n \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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IProductContainerThreeData } from './product-container-three.data';\r\nimport { IProductContainerThreeProps } from './product-container-three.props.autogenerated';\r\n\r\nexport interface IProductContainerThreeViewProps\r\n extends IProductContainerThreeProps {\r\n featuredList3?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * ProductContainerThree component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass ProductContainerThree extends React.PureComponent<\r\n IProductContainerThreeProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const {\r\n cssClassName,\r\n featuredProductImage1,\r\n productDescription1,\r\n productLink1,\r\n featuredProductImage2,\r\n productDescription2,\r\n productLink2,\r\n featuredProductImage3,\r\n productDescription3,\r\n productLink3,\r\n } = this.props.config;\r\n\r\n const imageProps1 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage1 && featuredProductImage1.imageSettings,\r\n };\r\n const featuredDynamicProductImage1 = featuredProductImage1 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct1 = (\r\n
\r\n
\r\n
\r\n \r\n {featuredDynamicProductImage1}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n const imageProps2 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage2 && featuredProductImage2.imageSettings,\r\n };\r\n const featuredDynamicProductImage2 = featuredProductImage2 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct2 = (\r\n
\r\n
\r\n
\r\n \r\n {featuredDynamicProductImage2}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n const imageProps3 = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings:\r\n featuredProductImage3 && featuredProductImage3.imageSettings,\r\n };\r\n const featuredDynamicProductImage3 = featuredProductImage3 && (\r\n \r\n );\r\n\r\n const featuredDynamicProduct3 = (\r\n
\r\n
\r\n
\r\n \r\n {featuredDynamicProductImage3}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n const featuredListThree = (\r\n
\r\n {featuredDynamicProduct1}\r\n {featuredDynamicProduct2}\r\n {featuredDynamicProduct3}\r\n
\r\n );\r\n const FeaturedListThreeProps = {\r\n ...this.props,\r\n featuredList3: featuredListThree,\r\n };\r\n return this.props.renderView(FeaturedListThreeProps);\r\n }\r\n}\r\n\r\nexport default ProductContainerThree;\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 { IProductContainerThreeViewProps } from './product-container-three';\r\n\r\nconst ProductContainerThreeView: React.FC = (\r\n props\r\n) => {\r\n const { featuredList3 } = props;\r\n return {featuredList3};\r\n};\r\nexport default ProductContainerThreeView;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { ISmallBannerData } from './small-banner.data';\r\nimport { ISmallBannerProps } from './small-banner.props.autogenerated';\r\n\r\nexport interface ISmallBannerViewProps\r\n extends ISmallBannerProps {\r\n smallBanner?: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * SmallBanner component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass SmallBanner extends React.PureComponent<\r\n ISmallBannerProps\r\n> {\r\n public render(): JSX.Element | null {\r\n const { bannerImage, bannerAltText, bannerLink } = this.props.config;\r\n const bannerImageProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: bannerImage && bannerImage.imageSettings,\r\n };\r\n const toysrusBannerImage = bannerImage && (\r\n \r\n );\r\n\r\n const smallBannerItem = (\r\n
\r\n \r\n
\r\n );\r\n const SmallBannerProps = {\r\n ...this.props,\r\n smallBanner: smallBannerItem,\r\n };\r\n return this.props.renderView(SmallBannerProps);\r\n }\r\n}\r\n\r\nexport default SmallBanner;\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 { ISmallBannerViewProps } from './small-banner';\r\n\r\nconst SmallBannerView: React.FC = (props) => {\r\n const { smallBanner } = props;\r\n return {smallBanner};\r\n};\r\nexport default SmallBannerView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { SDK_FRAGMENT_NAME, msdyn365Commerce } from '@msdyn365-commerce/core-internal';\nimport * as path from 'path';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultExternalScriptProps } from './default-external-script.props.autogenerated';\n\n/**\n *\n * DefaultExternalScript component\n * @extends {React.PureComponent>}\n */\nclass DefaultExternalScript extends React.PureComponent> {\n constructor(props: IDefaultExternalScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n let source = config.scriptSource;\n\n let relativeBaseUrl: string = '';\n // Construct the relative base url, i.e. the base url from which statics will be served\n if (this.props.context) {\n relativeBaseUrl += this.props.context.request.url.staticCdnUrl;\n relativeBaseUrl += msdyn365Commerce.getEnvironmentVariable('SUBMISSIONID') || '';\n }\n\n if (isRelativeUrl(source)) {\n // If the source is a relative URL prepend the relative base url to the resolved source url for the actual source\n source = `${relativeBaseUrl}/${path.join(source)}`;\n } else if (source === '' || !isAbsoluteUrl(source)) {\n logError(\n 'Invalid external script - not a url. The external source is not an external or relative url, please use default-inline-script if you wish to load inline scripts',\n this.props.telemetry\n );\n return null;\n }\n const scriptHtml = ``;\n\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultExternalScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineScriptProps } from './default-inline-script.props.autogenerated';\n\n/**\n *\n * DefaultScript\n * @extends {React.PureComponent>}\n */\nclass DefaultInlineScript extends React.PureComponent> {\n constructor(props: IDefaultInlineScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n const source = config.inlineScript;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError(\n 'Invalid inline script - Empty inline source defined or a url is being used as a source. Use default-external-script to load scripts from an external or relative url.',\n this.props.telemetry\n );\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline script - inline script should not contain html tags', this.props.telemetry);\n return null;\n }\n\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n const scriptHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultInlineScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IInternalTelemetry, LogLevel } from '@msdyn365-commerce/telemetry-internal';\n\nexport const logDebug = (debugMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Debug, debugMessage);\n};\n\nexport const logError = (errorMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Error, errorMessage);\n};\n\n/**\n * Returns true if the given string matches an URL pattern\n *\n * @param source The string to check against\n */\nexport const isAbsoluteUrl = (source: string): boolean => {\n // eslint-disable-next-line security/detect-unsafe-regex\n return /^(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/.test(source);\n};\n\nexport const isRelativeUrl = (source: string): boolean => {\n return /^(?!www\\.|(?:http|ftp)s?:\\/\\/|[A-Za-z]:\\\\|\\/\\/).*(\\.js){1}$/.test(source);\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport {\n INotificationComponentsList,\n INotificationComponentsListState,\n INotificationComponentType,\n NotificationComponentsListsManager,\n NotificationEvents,\n NotificationFeedType\n} from '@msdyn365-commerce-modules/notifications-core';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INotificationsListProps } from './notifications-list.props.autogenerated';\n\n/**\n * View for the notifications list which specifies the container and notifications items.\n */\nexport interface INotificationsListViewProps extends INotificationsListProps<{}> {\n container: IModuleProps;\n notificationsList: React.ReactNode;\n}\n\n/**\n * Configuration to make the list stickable to the page without overlapping any content on top.\n */\nexport interface INotificationComponentStickyConfiguration {\n /**\n * Minimum offset for top (default for the page).\n */\n minTopOffset: number;\n\n /**\n * Maximum offset for top (to limit the top offset while scrolling).\n */\n maxTopOffset: number;\n}\n\n/**\n * Stickable notification list state which defines the top position of the list at the moment.\n */\nexport interface IStickableNotificationComponentsListState extends INotificationComponentsListState {\n /**\n * The top position of the list on the page.\n */\n top?: number;\n}\n\n/**\n * A notification list which is operated by notification manager.\n * It is responsible for rendering the received notifications.\n */\nexport class NotificationComponentsList extends React.Component, IStickableNotificationComponentsListState>\n implements INotificationComponentsList {\n /**\n * The class name to use.\n */\n private static readonly _className: string = 'msc-notifications-list';\n\n /**\n * The feed which the list is responsible for displaying.\n */\n public readonly feed: NotificationFeedType;\n\n /**\n * Configuration which specifies if and how the list should be stickable.\n * If undefined, the configuration will not be used at all. And list will not be stickable.\n */\n private readonly _stickyConfiguration?: INotificationComponentStickyConfiguration;\n\n /**\n * The list of notification which should be shown in the list at the moment.\n * @remarks Should be used to retrieve the latest list of notifications\n * as the list from the state is updated only after rendering.\n */\n private _notificationsComponentList: INotificationComponentType[];\n\n /**\n * Unique identifier of the list.\n * Uses format 'NotificationComponentsList-GUID';.\n */\n private _instanceId?: string;\n\n /**\n * Initializes instance with the given props.\n * @param props - The configuration of the list.\n */\n public constructor(props: INotificationsListProps<{}>) {\n super(props);\n\n this.feed = props.config.feed;\n\n if (\n !ObjectExtensions.isNullOrUndefined(props.config.minTopOffset) &&\n !ObjectExtensions.isNullOrUndefined(props.config.maxTopOffset)\n ) {\n this._stickyConfiguration = {\n minTopOffset: props.config.minTopOffset,\n maxTopOffset: props.config.maxTopOffset\n };\n }\n\n this._notificationsComponentList = [];\n\n this.state = {\n notificationsComponentList: []\n };\n\n this._handleTopUpdate = this._handleTopUpdate.bind(this);\n this._getCurrentTopPosition = this._getCurrentTopPosition.bind(this);\n }\n\n /**\n * Specifies if the component should be re-rendered.\n * @param nextProps - The next configuration the component is receiving.\n * @param nextState - The next state the component is receiving.\n * @returns True if component should be re-rendered, false if component should not be changed.\n */\n public shouldComponentUpdate(\n nextProps: Readonly>,\n nextState: Readonly\n ): boolean {\n const isPropsDifferent =\n this.feed !== nextProps.config.feed ||\n this.props.config.maxNotificationsCount !== nextProps.config.maxNotificationsCount ||\n this.props.config.maxTopOffset !== nextProps.config.maxTopOffset ||\n this.props.config.minTopOffset !== nextProps.config.minTopOffset ||\n this.props.config.className !== nextProps.config.className ||\n this.props.id !== nextProps.id;\n const isStateDifferent =\n this.state.top !== nextState.top ||\n this.state.notificationsComponentList.length !== nextState.notificationsComponentList.length ||\n this.state.notificationsComponentList.every(value =>\n nextState.notificationsComponentList.find(otherValue => otherValue.props.notification.id === value.props.notification.id)\n );\n return isPropsDifferent || isStateDifferent;\n }\n\n /**\n * Adds the current instance to the global list of instances so that it becomes available for the notification manager.\n * In case the list is specified to be stickable, also subscribes to the scroll event to update the offsets.\n */\n public componentDidMount(): void {\n NotificationComponentsListsManager.subscribe(this);\n\n this._instanceId = `NotificationComponentsList-${Random.Guid.generateGuid()}`;\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.addEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Remove the instance from the global list of instances so that it becomes unavailable for the notification manager.\n * Unsubscribes itself from the notification events and scroll event.\n */\n public componentWillUnmount(): void {\n NotificationComponentsListsManager.unsubscribe(this);\n\n this._notificationsComponentList.forEach(component =>\n component.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.unsubscribe(this._instanceId!)\n );\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.removeEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Adds a new notification to the list.\n * @param {INotificationComponentType} notificationComponent Data required to render the notification. @see INotificationComponentType.\n */\n public addNotificationComponent(notificationComponent: INotificationComponentType): void {\n if (this._instanceId === undefined) {\n return;\n }\n\n if (\n !ObjectExtensions.isNullOrUndefined(this.props.config.maxNotificationsCount) &&\n this._notificationsComponentList.length >= this.props.config.maxNotificationsCount\n ) {\n throw new Error('Notifications limit reached, cannot show more notifications.');\n }\n\n // Subscribe to the remove event to filter the removed notifications out from the list.\n notificationComponent.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.subscribe({\n instanceId: this._instanceId,\n handler: () => {\n notificationComponent.props.notification.events\n .getValue(NotificationEvents.RemovedFromList)\n ?.unsubscribe(this._instanceId!);\n const newList = this._notificationsComponentList.filter(component => component !== notificationComponent);\n this._notificationsComponentList = newList;\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n }\n });\n\n // Prepend the notification as newest should come to the top.\n this._notificationsComponentList.unshift(notificationComponent);\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n this._handleTopUpdate();\n }\n\n public render(): React.ReactNode {\n const className = classnames(\n NotificationComponentsList._className,\n `${NotificationComponentsList._className}__${this.feed}`,\n this.props.config.className\n );\n\n const viewProps: INotificationsListViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className,\n id: this._instanceId,\n style: { top: this.state.top }\n },\n notificationsList: this._renderNotificationsList()\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Renders the list of notifications.\n * @returns React node with a list of notifications.\n */\n private _renderNotificationsList(): React.ReactNode {\n const hasNotifications = ArrayExtensions.hasElements(this.state.notificationsComponentList);\n const containerClassName = classnames(\n `${NotificationComponentsList._className}__scrollable`,\n hasNotifications\n ? `${NotificationComponentsList._className}__has-notifications`\n : `${NotificationComponentsList._className}__empty`\n );\n\n return (\n
\n {this.state.notificationsComponentList.map(component => {\n const ComponentClass = component.componentClass;\n return ;\n })}\n
\n );\n }\n\n /**\n * Retrieves current top offset position by looking at scroll position and rounding it to the stickable limits.\n */\n private _getCurrentTopPosition(): number | undefined {\n const configuration = this._stickyConfiguration;\n\n if (configuration === undefined) {\n return undefined;\n }\n\n let pageYOffset = 0;\n if (MsDyn365.isBrowser) {\n pageYOffset = window.pageYOffset;\n }\n\n return Math.max(Math.min(configuration.maxTopOffset, configuration.maxTopOffset - pageYOffset), configuration.minTopOffset);\n }\n\n /**\n * Updates the top offset on scroll event to make the list stickable.\n */\n private _handleTopUpdate(): void {\n const newTop = this._getCurrentTopPosition();\n this.setState({ top: newTop });\n }\n}\n\nexport default NotificationComponentsList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { INotificationsListViewProps } from './notifications-list';\n\nexport const NotificationsListView: React.FC = props => {\n return {props.notificationsList};\n};\n\nexport default NotificationsListView;\n"],"names":["FeaturedListFour","React","render","listHeading","cssClassName","featuredProductImage1","productDescription1","productLink1","featuredProductImage2","productDescription2","productLink2","featuredProductImage3","productDescription3","productLink3","this","props","config","imageProps1","gridSettings","context","request","imageSettings","featuredDynamicProductImage1","Msdyn365","Object","assign","className","altText","editProps","key","requestContext","featuredDynamicProduct1","href","imageProps2","featuredDynamicProductImage2","featuredDynamicProduct2","imageProps3","featuredDynamicProductImage3","featuredDynamicProduct3","featuredListFour","FeaturedListFourProps","_objectSpread","featuredList4","renderView","FeaturedListOne","featuredListOne","FeaturedListOneProps","featuredList1","FeaturedListThree","featuredListThree","FeaturedListThreeProps","featuredList3","FeaturedListTwo","featuredListTwo","FeaturedListTwoProps","featuredList2","Printables","PrintablesList","Component","constructor","toys","toyImage","toyDescription","toyLink","map","p","src","alt","ProductContainerThree","SmallBanner","bannerImage","bannerAltText","bannerLink","bannerImageProps","toysrusBannerImage","smallBannerItem","SmallBannerProps","smallBanner","DefaultExternalScript","super","logDebug","id","typeName","telemetry","source","scriptSource","relativeBaseUrl","url","staticCdnUrl","msdyn365Commerce","getEnvironmentVariable","isRelativeUrl","path","isAbsoluteUrl","logError","scriptHtml","async","defer","SDK_FRAGMENT_NAME","dangerouslySetInnerHTML","__html","DefaultInlineScript","inlineScript","includes","nonceToken","isNonceEnabled","debugMessage","log","LogLevel","Debug","errorMessage","Error","test","NotificationComponentsList","feed","ObjectExtensions","isNullOrUndefined","minTopOffset","maxTopOffset","_stickyConfiguration","_notificationsComponentList","state","notificationsComponentList","_handleTopUpdate","bind","_getCurrentTopPosition","shouldComponentUpdate","nextProps","nextState","isPropsDifferent","maxNotificationsCount","isStateDifferent","top","length","every","value","find","otherValue","notification","componentDidMount","NotificationComponentsListsManager","subscribe","_instanceId","Random","Guid","generateGuid","MsDyn365","isBrowser","undefined","window","addEventListener","componentWillUnmount","unsubscribe","forEach","component","_component$props$noti","events","getValue","NotificationEvents","RemovedFromList","removeEventListener","addNotificationComponent","notificationComponent","_notificationComponen","instanceId","handler","_notificationComponen2","newList","filter","setState","unshift","classnames","_className","viewProps","container","moduleProps","style","notificationsList","_renderNotificationsList","hasNotifications","ArrayExtensions","hasElements","containerClassName","maxHeight","ComponentClass","componentClass","configuration","pageYOffset","Math","max","min","newTop","NotificationsListView","Module"],"sourceRoot":""}