{"version":3,"file":"static/js/826360a535e9a03472eb.bundle.js","mappings":"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","sources":["webpack://henrys-ecommerce/./src/modules/dynamic-image-carousel/dynamic-image-carousel.tsx?142a","webpack://henrys-ecommerce/./src/modules/dynamic-image-carousel/dynamic-image-carousel.view.tsx?ef25","webpack://henrys-ecommerce/./lib/dynamic-image-carousel/module-registration.js?5bd9","webpack://henrys-ecommerce/external var \"React\"?0d3b","webpack://henrys-ecommerce/external var \"ReactDOM\"?853b"],"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 { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IDynamicImageCarouselData } from './dynamic-image-carousel.data';\r\nimport { IDynamicImageCarouselProps } from './dynamic-image-carousel.props.autogenerated';\r\nimport { ICarouselState } from './dynamic-image-carousel.state';\r\n\r\nexport interface ICarouselViewProps extends IDynamicImageCarouselProps<{}>, ICarouselState {\r\n closeAnimation: string;\r\n carouselContainer: IModuleProps;\r\n telemetryContent: ITelemetryContent;\r\n next(): void;\r\n previous(): void;\r\n onIndicatorsClickHandler(): void;\r\n handleDismissCarousel(): void;\r\n handleOnExited(): void;\r\n handleOnExiting(): void;\r\n}\r\n\r\n/**\r\n *\r\n * CarouselModule component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CarouselModule extends React.PureComponent, ICarouselState> {\r\n private animating: boolean;\r\n private telemetryContent: ITelemetryContent;\r\n\r\n constructor(props: IDynamicImageCarouselProps, state: ICarouselState) {\r\n super(props);\r\n this.state = { activeIndex: 0, closeNow: false, dismissCarousel: false };\r\n this.animating = false;\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\r\n if (this.props.context.request.cookies.get(`CarouselDismiss_${this.props.id}`) === undefined) {\r\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'false');\r\n this.setState({ dismissCarousel: false });\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (this.state.dismissCarousel) {\r\n return null;\r\n }\r\n\r\n const { className } = this.props.config;\r\n\r\n const viewProps = {\r\n // Context for telemetry and raw data for C1 to do customization\r\n // Including computed data, state data and methods\r\n ...this.props,\r\n ...this.state,\r\n telemetryContent: this.telemetryContent,\r\n carouselContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-carousel', className)\r\n },\r\n closeAnimation: this.state.closeNow ? 'close-now' : '',\r\n next: this._next,\r\n previous: this._previous,\r\n onIndicatorsClickHandler: this._goToIndex,\r\n handleDismissCarousel: this._handleDismissCarousel,\r\n handleOnExited: this._onExited,\r\n handleOnExiting: this._onExiting\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * function implementation to dismiss the Carousel\r\n */\r\n private _handleDismissCarousel = (): void => {\r\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\r\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'true');\r\n this.setState({ dismissCarousel: true });\r\n }\r\n };\r\n\r\n /**\r\n * function implementation to move to next slide\r\n */\r\n private _next = (): void => {\r\n const { slots } = this.props;\r\n const nextIndex = this.state.activeIndex === (slots && slots.content && slots.content.length - 1) ? 0 : this.state.activeIndex + 1;\r\n\r\n if (this.animating) {\r\n this.setState({ closeNow: true, activeIndex: nextIndex });\r\n } else {\r\n this.setState({ activeIndex: nextIndex });\r\n }\r\n };\r\n\r\n /**\r\n * function implementation to move to previous slide\r\n */\r\n private _previous = (): void => {\r\n const slots = this.props.slots && this.props.slots.content;\r\n const nextIndex = this.state.activeIndex === 0 ? (slots ? slots.length - 1 : 0) : this.state.activeIndex - 1;\r\n\r\n if (this.animating) {\r\n this.setState({ closeNow: true, activeIndex: nextIndex });\r\n } else {\r\n this.setState({ activeIndex: nextIndex });\r\n }\r\n };\r\n\r\n private _onExiting = (): void => {\r\n this.animating = true;\r\n };\r\n\r\n private _onExited = (): void => {\r\n this.animating = false;\r\n this.setState({ closeNow: false });\r\n };\r\n\r\n /**\r\n * function implementation to move to a given slide\r\n */\r\n private _goToIndex = (newIndex: number): void => {\r\n if (this.animating) {\r\n return;\r\n }\r\n this.setState({ activeIndex: newIndex });\r\n };\r\n}\r\n\r\nexport default CarouselModule;\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 { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport { Carousel } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICarouselViewProps } from './dynamic-image-carousel';\r\n\r\nconst CarouselView = (props: ICarouselViewProps) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarouselView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['dynamic-image-carousel'] = {\n c: () => require('partner/modules/dynamic-image-carousel/dynamic-image-carousel.tsx'),\n $type: 'containerModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'dynamic-image-carousel',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dynamic-image-carousel'\n });\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|dynamic-image-carousel|dynamic-image-carousel'] = {\n c: () => require('partner/modules/dynamic-image-carousel/dynamic-image-carousel.view.tsx'),\n cn: '__local__-__local__-dynamic-image-carousel'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["CarouselModule","React","constructor","props","state","super","_handleDismissCarousel","this","context","request","cookies","set","id","setState","dismissCarousel","_next","slots","nextIndex","activeIndex","content","length","animating","closeNow","_previous","_onExiting","_onExited","_goToIndex","newIndex","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","componentDidMount","undefined","get","render","className","config","viewProps","_objectSpread","carouselContainer","moduleProps","classnames","closeAnimation","next","previous","onIndicatorsClickHandler","handleDismissCarousel","handleOnExited","handleOnExiting","renderView","Module","Object","assign","renderModuleAttributes","Carousel","pause","pauseOnHover","ride","autoplay","interval","transitionType","items","hideFlipper","dismissEnabled","dismissCarouselAriaText","resources","ariaLabelForDismissButton","indicatorAriaText","ariaLabelForSlide","directionTextPrev","flipperPrevious","directionTextNext","flipperNext","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}