{"version":3,"sources":["https:\/\/immet-dist.spbstu.ru\/theme\/mooc\/amd\/src\/carousel.js"],"names":["_typeof2","obj","Symbol","iterator","constructor","prototype","define","exports","_jquery","_util","Object","defineProperty","value","_jquery2","_interopRequireDefault","_util2","__esModule","default","_typeof","_extends","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","this","_defineProperties","props","descriptor","enumerable","configurable","writable","Carousel","$","NAME","DATA_KEY","EVENT_KEY","concat","JQUERY_NO_CONFLICT","fn","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CLICK_DATA_API","ClassName","Selector","ACTIVE","ACTIVE_ITEM","ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","instance","Constructor","TypeError","_classCallCheck","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","protoProps","staticProps","each","data","action","to","cycle","event","selector","getSelectorFromElement","hasClass","slideIndex","getAttribute","_jQueryInterface","preventDefault","get","_slide","document","hidden","is","css","next","supportsTransitionEnd","triggerTransitionEnd","clearInterval","setInterval","visibilityState","nextWhenVisible","bind","index","_this","activeIndex","_getItemIndex","one","direction","off","removeData","typeCheckConfig","_this2","on","_keydown","documentElement","clearTimeout","setTimeout","test","tagName","which","prev","makeArray","parent","indexOf","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","removeClass","nextIndicator","children","addClass","directionalClassName","orderClassName","_this3","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","Boolean","_triggerSlideEvent","isDefaultPrevented","_setActiveIndicatorElement","slidEvent","reflow","TRANSITION_END","emulateTransitionEnd","_dataApiClickHandler","window","$carousel","noConflict"],"mappings":"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\/B1C,KAAKuD,SAAW\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","sourcesContent":["\"use strict\";\ndefine([\"exports\", \"jquery\", \".\/util\"], function(exports, _jquery, _util) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _jquery2 = _interopRequireDefault(_jquery);\n\n var _util2 = _interopRequireDefault(_util);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _extends() {\n _extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n \/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/master\/LICENSE)\n * --------------------------------------------------------------------------\n *\/\n var Carousel = function($) {\n \/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n *\/\n var NAME = 'carousel';\n var VERSION = '4.0.0';\n var DATA_KEY = 'bs.carousel';\n var EVENT_KEY = \".\".concat(DATA_KEY);\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 600;\n var ARROW_LEFT_KEYCODE = 37; \/\/ KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; \/\/ KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; \/\/ Time for mouse compat events to fire after touch\n\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean'\n };\n var Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n };\n var Event = {\n SLIDE: \"slide\".concat(EVENT_KEY),\n SLID: \"slid\".concat(EVENT_KEY),\n KEYDOWN: \"keydown\".concat(EVENT_KEY),\n MOUSEENTER: \"mouseenter\".concat(EVENT_KEY),\n MOUSELEAVE: \"mouseleave\".concat(EVENT_KEY),\n TOUCHEND: \"touchend\".concat(EVENT_KEY),\n LOAD_DATA_API: \"load\".concat(EVENT_KEY).concat(DATA_API_KEY),\n CLICK_DATA_API: \"click\".concat(EVENT_KEY).concat(DATA_API_KEY)\n };\n var ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item'\n };\n var Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n \/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n *\/\n\n };\n\n var Carousel = function() {\n function Carousel(element, config) {\n _classCallCheck(this, Carousel);\n\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this._config = this._getConfig(config);\n this._element = $(element)[0];\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];\n\n this._addEventListeners();\n } \/\/ Getters\n\n _createClass(Carousel, [{\n key: \"next\",\n value: function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n }, {\n key: \"nextWhenVisible\",\n value: function nextWhenVisible() {\n \/\/ Don't call next when the page isn't visible\n \/\/ or the carousel or its parent isn't visible\n if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\n this.next();\n }\n }\n }, {\n key: \"prev\",\n value: function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n }, {\n key: \"pause\",\n value: function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] && _util2.default.supportsTransitionEnd()) {\n _util2.default.triggerTransitionEnd(this._element);\n\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n }\n }, {\n key: \"cycle\",\n value: function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n }\n }, {\n key: \"to\",\n value: function to(index) {\n var _this = this;\n\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, function() {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;\n\n this._slide(direction, this._items[index]);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n $(this._element).off(EVENT_KEY);\n $.removeData(this._element, DATA_KEY);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _extends({}, Default, config);\n\n _util2.default.typeCheckConfig(NAME, config, DefaultType);\n\n return config;\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN, function(event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $(this._element).on(Event.MOUSEENTER, function(event) {\n return _this2.pause(event);\n }).on(Event.MOUSELEAVE, function(event) {\n return _this2.cycle(event);\n });\n\n if ('ontouchstart' in document.documentElement) {\n \/\/ If it's a touch-enabled device, mouseenter\/leave are fired as\n \/\/ part of the mouse compatibility events on first tap - the carousel\n \/\/ would stop cycling until user tapped out of it;\n \/\/ here, we listen for touchend, explicitly pause the carousel\n \/\/ (as if it's the second time we tap on it, mouseenter compat event\n \/\/ is NOT fired) and after a timeout (to allow for mouse compatibility\n \/\/ events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, function() {\n _this2.pause();\n\n if (_this2.touchTimeout) {\n clearTimeout(_this2.touchTimeout);\n }\n\n _this2.touchTimeout = setTimeout(function(event) {\n return _this2.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);\n });\n }\n }\n }\n }, {\n key: \"_keydown\",\n value: function _keydown(event) {\n if (\/input|textarea\/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n\n default:\n }\n }\n }, {\n key: \"_getItemIndex\",\n value: function _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM));\n return this._items.indexOf(element);\n }\n }, {\n key: \"_getItemByDirection\",\n value: function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === Direction.PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n }\n }, {\n key: \"_triggerSlideEvent\",\n value: function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);\n\n var slideEvent = $.Event(Event.SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $(this._element).trigger(slideEvent);\n return slideEvent;\n }\n }, {\n key: \"_setActiveIndicatorElement\",\n value: function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE);\n }\n }\n }\n }, {\n key: \"_slide\",\n value: function _slide(direction, element) {\n var _this3 = this;\n\n var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT;\n orderClassName = ClassName.NEXT;\n eventDirectionName = Direction.LEFT;\n } else {\n directionalClassName = ClassName.RIGHT;\n orderClassName = ClassName.PREV;\n eventDirectionName = Direction.RIGHT;\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n \/\/ Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n var slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if (_util2.default.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName);\n\n _util2.default.reflow(nextElement);\n\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n $(activeElement).one(_util2.default.TRANSITION_END, function() {\n $(nextElement).removeClass(\"\".concat(directionalClassName, \" \").concat(orderClassName)).addClass(ClassName.ACTIVE);\n $(activeElement).removeClass(\"\".concat(ClassName.ACTIVE, \" \").concat(orderClassName, \" \").concat(directionalClassName));\n _this3._isSliding = false;\n setTimeout(function() {\n return $(_this3._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE);\n $(nextElement).addClass(ClassName.ACTIVE);\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n }\n }], [{\n key: \"_jQueryInterface\",\n value: function _jQueryInterface(config) {\n return this.each(function() {\n var data = $(this).data(DATA_KEY);\n\n var _config = _extends({}, Default, $(this).data());\n\n if (_typeof(config) === 'object') {\n _config = _extends({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(action, \"\\\"\"));\n }\n\n data[action]();\n } else if (_config.interval) {\n data.pause();\n data.cycle();\n }\n });\n }\n }, {\n key: \"_dataApiClickHandler\",\n value: function _dataApiClickHandler(event) {\n var selector = _util2.default.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return;\n }\n\n var config = _extends({}, $(target).data(), $(this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex);\n }\n\n event.preventDefault();\n }\n }, {\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n\n \/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n *\/\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);\n $(window).on(Event.LOAD_DATA_API, function() {\n $(Selector.DATA_RIDE).each(function() {\n var $carousel = $(this);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n });\n });\n \/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n *\/\n\n $.fn[NAME] = Carousel._jQueryInterface;\n $.fn[NAME].Constructor = Carousel;\n\n $.fn[NAME].noConflict = function() {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Carousel._jQueryInterface;\n };\n\n return Carousel;\n }(_jquery2.default);\n\n exports.default = Carousel;\n});"],"file":"carousel.min.js"}