{"version":3,"sources":["webpack:///src/modules/carousel/carousel.view.tsx?b19a","webpack:///external \"React\"?c481","webpack:///external \"ReactDOM\"?4b2d","webpack:///./lib/carousel/module-registration.js?a606","webpack:///src/modules/carousel/carousel.tsx?bfbb"],"names":["retrieveItems","props","items","slots","content","length","CarouselView","React","Module","Object","assign","carouselContainer","renderModuleAttributes","Carousel","className","classnames","closeAnimation","activeIndex","next","previous","pause","config","pauseOnHover","ride","autoplay","undefined","interval","transitionType","hideFlipper","dismissEnabled","onIndicatorsClickHandler","handleDismissCarousel","dismissCarouselAriaText","resources","ariaLabelForDismissButton","indicatorAriaText","ariaLabelForSlide","directionTextPrev","flipperPrevious","directionTextNext","flipperNext","handleOnExited","handleOnExiting","telemetryContent","keyboard","module","exports","ReactDOM","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","CarouselModule","constructor","state","super","_handleDismissCarousel","this","context","request","cookies","set","id","setState","dismissCarousel","_next","nextIndex","animating","closeNow","_previous","_onExiting","_onExited","_goToIndex","newIndex","getTelemetryObject","telemetryPageName","friendlyName","telemetry","componentDidMount","get","render","viewProps","moduleProps","renderView"],"mappings":"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","file":"static/js/53.5a8413f68cf00896c402.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Carousel } from '@msdyn365-commerce/components';\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselViewProps } from './carousel';\n\n/**\n * Returns item slots.\n * @returns Array of item slots.\n * @param props -Props.\n */\nconst retrieveItems = (props: ICarouselViewProps): React.ReactNode[] => {\n let items = [];\n items = props.slots && props.slots.content && props.slots.content.length > 0 ? props.slots.content : [];\n return items;\n};\nconst CarouselView: React.FC = props => (\n \n \n \n);\n\nexport default CarouselView;\n","module.exports = React;","module.exports = ReactDOM;","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['carousel'] = {\n c: () => require('@msdyn365-commerce-modules/carousel/dist/lib/modules/carousel/carousel'),\n $type: 'containerModule',\n da: [],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'carousel',\n p: 'carousel',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/carousel/dist/lib/modules/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['@msdyn365-commerce-modules|carousel|modules|carousel|carousel'] = {\n c: () => require('@msdyn365-commerce-modules/carousel/dist/lib/modules/carousel/carousel.view.js'),\n cn: '@msdyn365-commerce-modules-carousel-carousel'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselData } from './carousel.data';\nimport { ICarouselProps } from './carousel.props.autogenerated';\nimport { ICarouselState } from './carousel.state';\n\nexport interface ICarouselViewProps extends ICarouselProps<{}>, ICarouselState {\n closeAnimation: string;\n carouselContainer: IModuleProps;\n telemetryContent: ITelemetryContent;\n next(): void;\n previous(): void;\n onIndicatorsClickHandler(): void;\n handleDismissCarousel(): void;\n handleOnExited(): void;\n handleOnExiting(): void;\n}\n\n/**\n *\n * CarouselModule component.\n * @extends {React.PureComponent>}\n */\nclass CarouselModule extends React.PureComponent, ICarouselState> {\n private animating: boolean;\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: ICarouselProps, state: ICarouselState) {\n super(props);\n this.state = { activeIndex: 0, closeNow: false, dismissCarousel: false };\n this.animating = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n if (this.props.context.request.cookies.get(`CarouselDismiss_${this.props.id}`) === undefined) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'false');\n this.setState({ dismissCarousel: false });\n }\n }\n }\n\n public render(): JSX.Element | null {\n if (this.state.dismissCarousel) {\n return null;\n }\n\n const { className } = this.props.config;\n\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n ...this.state,\n telemetryContent: this.telemetryContent,\n carouselContainer: {\n moduleProps: this.props,\n className: classnames('ms-carousel', className)\n },\n closeAnimation: this.state.closeNow ? 'close-now' : '',\n next: this._next,\n previous: this._previous,\n onIndicatorsClickHandler: this._goToIndex,\n handleDismissCarousel: this._handleDismissCarousel,\n handleOnExited: this._onExited,\n handleOnExiting: this._onExiting\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Function implementation to dismiss the Carousel.\n */\n private readonly _handleDismissCarousel = (): void => {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'true');\n this.setState({ dismissCarousel: true });\n }\n };\n\n /**\n * Function implementation to move to next slide.\n */\n private readonly _next = (): void => {\n const { slots } = this.props;\n const nextIndex = this.state.activeIndex === (slots && slots.content && slots.content.length - 1) ? 0 : this.state.activeIndex + 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n /**\n * Function implementation to move to previous slide.\n */\n private readonly _previous = (): void => {\n const slots = this.props.slots && this.props.slots.content;\n const nextIndex = this.state.activeIndex === 0 ? (slots ? slots.length - 1 : 0) : this.state.activeIndex - 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n private readonly _onExiting = (): void => {\n this.animating = true;\n };\n\n private readonly _onExited = (): void => {\n this.animating = false;\n this.setState({ closeNow: false });\n };\n\n /**\n * Function implementation to move to a given slide.\n * @param newIndex\n */\n private readonly _goToIndex = (newIndex: number): void => {\n if (this.animating) {\n return;\n }\n this.setState({ activeIndex: newIndex });\n };\n}\n\nexport default CarouselModule;\n"],"sourceRoot":""}