{"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","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","module","exports","ReactDOM","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","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/46.dce4c83f5fce34bfaa67.chunk.js","sourcesContent":["/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt 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. All rights reserved.\n * See License.txt 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(this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry);\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 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":""}