Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/carousel/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/carousel/dist/bundle.js.map |
{"version":3,"file":"bundle.js","sources":["../src/carousel.js"],"sourcesContent":["import { Tag, Dom, Event } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport { Loader } from \"main.loader\";\n\nexport class Carousel\n{\n\tconstructor(options = {})\n\t{\n\t\tthis.offsetCache = 0;\n\n\t\tthis.target = options.target || null;\n\t\tthis.content = options.content || null;\n\t\tthis.responsive = options.responsive || null;\n\t\tthis.autoPlaySpeed = options.autoPlaySpeed || 1000;\n\t\tthis.autoPlay = options.autoPlay || false;\n\t\tthis.dots = options.dots || false;\n\t\tthis.dotsClass = options.dotsClass || '--default';\n\t\tthis.arrows = options.arrows || false;\n\t\tthis.arrowsClass = options.arrowsClass || '--default';\n\t\tthis.vertical = options.vertical || false;\n\t\tthis.infinite = options.infinite || false;\n\n\t\t//node\n\t\tthis.carouselContainer = null;\n\t\tthis.wrapper = null;\n\t\tthis.track = null;\n\t\tthis.nodeDots = null;\n\t\tthis.nodeArrows = null;\n\n\t\tthis.arrayDotsItem = [];\n\t\tthis.arrayItems = [];\n\t\tthis.arrayItemsWidth = 0;\n\t\tthis.arrayItemsHeight = 0;\n\t\tthis.isLastSlide = 0;\n\t\tthis.arrayArrowsItem = [];\n\t\tthis.slidActive = 1;\n\t\tthis.sliderInterval = null;\n\t\tthis.sliderAllCount = this.content.length;\n\n\t\t// this.draggable = true;\n\t\tthis.defaultSettings();\n\t}\n\n\tdefaultSettings() {\n\t\tthis.defaultParameters = {};\n\n\t\tfor (let key in this) {\n\t\t\tthis.defaultParameters[key] = this[key];\n\t\t}\n\t}\n\n\tgetItem(item, index)\n\t{\n\t\tlet itemClass = this.slidActive -1 === index\n\t\t\t? '--active'\n\t\t\t: ''\n\t\t;\n\n\t\tlet slideItem = Tag.render`\n\t\t\t<div class=\"ui-carousel__slide ${itemClass}\">\n\t\t\t\t${item.html}\n\t\t\t</div>\n\t\t`\n\n\t\tEvent.bind(slideItem, 'mouseenter', this.stopSlide.bind(this));\n\t\tEvent.bind(slideItem, 'mouseleave', this.runSlide.bind(this));\n\n\t\tif (this.arrayItems.indexOf(item) === -1)\n\t\t{\n\t\t\tthis.arrayItems.push(slideItem);\n\t\t}\n\n\t\treturn slideItem;\n\t}\n\n\tsetTrackCharacteristics()\n\t{\n\t\tif (this.arrayItemsWidth === 0 && this.arrayItemsHeight === 0)\n\t\t{\n\t\t\tfor (let i = 0; i < this.arrayItems.length; i++) {\n\t\t\t\tthis.arrayItemsWidth += this.arrayItems[i].offsetWidth;\n\t\t\t\tthis.arrayItemsHeight += this.arrayItems[i].offsetHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\tinitSlider()\n\t{\n\t\tthis.runSlide();\n\t}\n\n\tstopSlide()\n\t{\n\t\tclearInterval(this.sliderInterval);\n\t}\n\n\tchangeActivePoint()\n\t{\n\t\tif (this.arrayDotsItem.length > 1)\n\t\t{\n\t\t\tfor (let i = 0; i < this.arrayDotsItem.length; i++)\n\t\t\t{\n\t\t\t\tif (this.arrayDotsItem[i].classList.contains('--active'))\n\t\t\t\t{\n\t\t\t\t\tthis.arrayDotsItem[i].classList.remove('--active');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.arrayDotsItem[this.slidActive - 1].classList.add('--active');\n\t\t}\n\t}\n\n\tchangeActiveSlide()\n\t{\n\t\tif (this.arrayItems.length > 1)\n\t\t{\n\t\t\tfor (let i = 0; i < this.arrayItems.length; i++)\n\t\t\t{\n\t\t\t\tif (this.arrayItems[i].classList.contains('--active'))\n\t\t\t\t{\n\t\t\t\t\tthis.arrayItems[i].classList.remove('--active');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.arrayItems[this.slidActive - 1].classList.add('--active');\n\t\t}\n\t}\n\n\tchangeActiveArrow(id)\n\t{\n\t\tif (!this.infinite)\n\t\t{\n\t\t\tthis.arrayArrowsItem.map((item)=> {\n\t\t\t\titem.classList.remove('--disabled');\n\t\t\t});\n\n\t\t\tif(this.slidActive === this.sliderAllCount || id >= this.isLastSlide && this.isLastSlide > 0)\n\t\t\t{\n\t\t\t\tthis.arrayArrowsItem[this.arrayArrowsItem.length - 1].classList.add('--disabled');\n\t\t\t}\n\t\t\telse if(this.slidActive === 1)\n\t\t\t{\n\t\t\t\tthis.arrayArrowsItem[0].classList.add('--disabled');\n\t\t\t}\n\t\t}\n\n\t}\n\n\tchangeActive(id)\n\t{\n\t\tthis.changeActivePoint();\n\t\tthis.changeActiveSlide();\n\n\t\tif (!this.infinite)\n\t\t{\n\t\t\tthis.changeActiveArrow(id);\n\t\t}\n\t}\n\n\trunSlide()\n\t{\n\t\tif(this.sliderAllCount > 1 && this.autoPlay)\n\t\t{\n\t\t\tthis.trackOffsetStep();\n\n\t\t\tthis.sliderInterval = setInterval(() => {\n\t\t\t\tlet sliderNum = this.slidActive + 1 > this.sliderAllCount\n\t\t\t\t\t? 1\n\t\t\t\t\t: this.slidActive + 1;\n\n\t\t\t\tthis.showSlide(sliderNum);\n\t\t\t}, this.autoPlaySpeed);\n\t\t}\n\t}\n\n\ttrackOffsetStep()\n\t{\n\t\tif (this.offsetCache === 0)\n\t\t{\n\t\t\tthis.offsetCache = this.wrapper ? this.wrapper.offsetWidth : 0\n\t\t}\n\n\t\treturn this.offsetCache;\n\t}\n\n\tgetTrackShift(id)\n\t{\n\t\tlet shift = 0;\n\n\t\tif (id > 1)\n\t\t{\n\t\t\tlet cycleLength = 0;\n\n\t\t\tif (id >= this.isLastSlide && this.isLastSlide > 0)\n\t\t\t{\n\t\t\t\tcycleLength = this.isLastSlide - 1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcycleLength = id - 1;\n\t\t\t}\n\n\t\t\tif (this.vertical)\n\t\t\t{\n\t\t\t\tlet sumShift = this.arrayItemsHeight;\n\n\t\t\t\tfor (let i = 0; i < cycleLength; i++)\n\t\t\t\t{\n\t\t\t\t\tsumShift -= this.arrayItems[i].offsetHeight;\n\n\t\t\t\t\tif (sumShift < this.wrapper.offsetHeight)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.isLastSlide = id;\n\t\t\t\t\t\tshift += (sumShift + this.arrayItems[i].offsetHeight - this.wrapper.offsetHeight);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tshift += this.arrayItems[i].offsetHeight;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlet sumShift = this.arrayItemsWidth;\n\n\t\t\t\tfor (let i = 0; i < cycleLength; i++)\n\t\t\t\t{\n\t\t\t\t\tsumShift -= this.arrayItems[i].offsetWidth;\n\n\t\t\t\t\tif (sumShift < this.wrapper.offsetWidth)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.isLastSlide = id;\n\t\t\t\t\t\tshift += (sumShift + this.arrayItems[i].offsetWidth - this.wrapper.offsetWidth);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tshift += this.arrayItems[i].offsetWidth;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn shift;\n\t}\n\n\tshowSlide(id)\n\t{\n\t\tthis.setTrackCharacteristics();\n\n\t\tif (id > 0 && id <= this.sliderAllCount)\n\t\t{\n\t\t\tthis.slidActive = id;\n\n\t\t\tif (this.track)\n\t\t\t{\n\t\t\t\tif (this.vertical)\n\t\t\t\t{\n\t\t\t\t\tthis.track.style.transform = 'translateY(' + -(this.getTrackShift(id)) + 'px)';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.track.style.transform = 'translateX(' + -(this.getTrackShift(id)) + 'px)';\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\tclearInterval(this.sliderInterval);\n\t\tthis.runSlide();\n\t\tthis.changeActive(id);\n\t}\n\n\tnextSlide()\n\t{\n\t\tif (this.infinite)\n\t\t{\n\t\t\tif (this.slidActive === this.sliderAllCount)\n\t\t\t{\n\t\t\t\tthis.slidActive = 1;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t\telse if (this.slidActive < this.sliderAllCount)\n\t\t\t{\n\t\t\t\tthis.slidActive += 1;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.slidActive < this.sliderAllCount)\n\t\t\t{\n\t\t\t\tthis.slidActive += 1;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t}\n\t}\n\n\tprevSlide()\n\t{\n\t\tif (this.infinite)\n\t\t{\n\t\t\tif (this.slidActive === 1)\n\t\t\t{\n\t\t\t\tthis.slidActive = this.sliderAllCount;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t\telse if (this.slidActive > 1)\n\t\t\t{\n\t\t\t\tthis.slidActive -= 1;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.slidActive > 1)\n\t\t\t{\n\t\t\t\tthis.slidActive -= 1;\n\t\t\t\tthis.showSlide(this.slidActive);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetArrows()\n\t{\n\t\tlet verticalClass = this.vertical\n\t\t\t? '--vertical'\n\t\t\t: ''\n\t\t;\n\n\t\tthis.nodeArrows = Tag.render`\n\t\t\t<div class=\"ui-carousel__arrows--container ${verticalClass}\"></div>\n\t\t`\n\t\tlet arrowDisabledClass = this.infinite\n\t\t\t? ''\n\t\t\t: '--disabled'\n\t\t;\n\n\t\tlet arrowPrev = Tag.render`\n\t\t\t<div class=\"ui-carousel__arrow ${this.arrowsClass} --prev ${arrowDisabledClass} ${verticalClass}\"></div>\n\t\t`\n\n\t\tlet arrowNext = Tag.render`\n\t\t\t<div class=\"ui-carousel__arrow ${this.arrowsClass} --next ${verticalClass}\"></div>\n\t\t`\n\n\t\tEvent.bind(arrowPrev, 'click', this.prevSlide.bind(this));\n\t\tEvent.bind(arrowNext, 'click', this.nextSlide.bind(this));\n\n\t\tthis.arrayArrowsItem.push(arrowPrev);\n\t\tthis.arrayArrowsItem.push(arrowNext);\n\t\tthis.nodeArrows.append(arrowPrev);\n\t\tthis.nodeArrows.append(arrowNext);\n\n\t\treturn this.nodeArrows;\n\t}\n\n\tgetDots()\n\t{\n\t\tthis.nodeDots = Tag.render`\n\t\t\t<div class=\"ui-carousel__dots ${this.dotsClass}\"></div>\n\t\t`\n\n\t\tfor (let i = 0; i < this.sliderAllCount; i++)\n\t\t{\n\t\t\tlet dotClassActive= this.slidActive === i+1\n\t\t\t\t? '--active'\n\t\t\t\t: ''\n\t\t\t;\n\n\t\t\tlet nodeDotsItem = Tag.render`\n\t\t\t\t<div class=\"ui-carousel__dots--item ${this.dotsClass} ${dotClassActive}\">\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tEvent.bind(nodeDotsItem, 'click', this.showSlide.bind(this, i+1));\n\n\t\t\tthis.arrayDotsItem.push(nodeDotsItem);\n\t\t\tthis.nodeDots.append(nodeDotsItem);\n\t\t}\n\n\t\treturn this.nodeDots;\n\t}\n\n\tgetCarouselContent(): HTMLElement\n\t{\n\t\tlet verticalClass = this.vertical\n\t\t\t? '--vertical'\n\t\t\t: ''\n\t\t;\n\n\t\tthis.track = Tag.render`\n\t\t\t<div class=\"ui-carousel__track ${verticalClass}\"></div>\n\t\t`;\n\n\t\tthis.content.map((item, index)=> {\n\t\t\tthis.track.appendChild(this.getItem(item, index));\n\t\t});\n\n\t\tthis.wrapper = Tag.render`\n\t\t\t<div class=\"ui-carousel__wrapper\">\n\t\t\t\t${this.track}\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.carouselContainer = Tag.render`\n\t\t\t<div class=\"ui-carousel__container ui-carousel__scope ${verticalClass}\">\n\t\t\t\t${this.wrapper}\n\t\t\t</div>\n\t\t`;\n\n\t\tif (this.dots && this.sliderAllCount > 1)\n\t\t{\n\t\t\tthis.carouselContainer.appendChild(this.getDots());\n\t\t}\n\n\t\tif (this.arrows && this.sliderAllCount > 1)\n\t\t{\n\t\t\tthis.carouselContainer.appendChild(this.getArrows());\n\t\t}\n\n\t\treturn this.carouselContainer;\n\t}\n\n\tresponsiveCarousel()\n\t{\n\t\tif(this.responsive)\n\t\t{\n\t\t\tfor (let i = 0; i < this.responsive.length; i++)\n\t\t\t{\n\t\t\t\tif (window.innerWidth > this.responsive[0].breakpoint)\n\t\t\t\t{\n\t\t\t\t\tlet newData = this.defaultParameters;\n\n\t\t\t\t\tfor (let key in newData)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis[key] = newData[key];\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (window.innerWidth <= this.responsive[i].breakpoint)\n\t\t\t\t{\n\t\t\t\t\tlet newData = this.responsive[i].settings;\n\n\t\t\t\t\tfor (let key in newData)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis[key] = newData[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcarouselResize()\n\t{\n\t\tif(this.responsive)\n\t\t{\n\t\t\twindow.addEventListener('resize', () =>\n\t\t\t{\n\t\t\t\tfor (let i = 0; i < this.responsive.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif (this.windowWidth > this.responsive[i].breakpoint && window.innerWidth < this.responsive[i].breakpoint)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\t\t\t\tthis.init();\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.windowWidth < this.responsive[i].breakpoint && window.innerWidth > this.responsive[i].breakpoint)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\t\t\t\tthis.init();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tinit()\n\t{\n\t\tif (this.target && this.content)\n\t\t{\n\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\tDom.clean(this.target);\n\t\t\tthis.responsiveCarousel();\n\t\t\tthis.target.appendChild(this.getCarouselContent());\n\t\t\tthis.initSlider();\n\n\t\t\tthis.carouselResize();\n\t\t}\n\t}\n}"],"names":["Carousel","constructor","options","offsetCache","target","content","responsive","autoPlaySpeed","autoPlay","dots","dotsClass","arrows","arrowsClass","vertical","infinite","carouselContainer","wrapper","track","nodeDots","nodeArrows","arrayDotsItem","arrayItems","arrayItemsWidth","arrayItemsHeight","isLastSlide","arrayArrowsItem","slidActive","sliderInterval","sliderAllCount","length","defaultSettings","defaultParameters","key","getItem","item","index","itemClass","slideItem","Tag","render","html","Event","bind","stopSlide","runSlide","indexOf","push","setTrackCharacteristics","i","offsetWidth","offsetHeight","initSlider","clearInterval","changeActivePoint","classList","contains","remove","add","changeActiveSlide","changeActiveArrow","id","map","changeActive","trackOffsetStep","setInterval","sliderNum","showSlide","getTrackShift","shift","cycleLength","sumShift","style","transform","nextSlide","prevSlide","getArrows","verticalClass","arrowDisabledClass","arrowPrev","arrowNext","append","getDots","dotClassActive","nodeDotsItem","getCarouselContent","appendChild","responsiveCarousel","window","innerWidth","breakpoint","newData","settings","carouselResize","addEventListener","windowWidth","init","Dom","clean"],"mappings":"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"}