PageSourceSearch

https://www.mazdausa.com/etc.clientlibs/mazda-experience/component…-877837db82ff9ceab6d91a26c5a577a9-lc.min.js

js mazdausa.com collected 2026-09-24 17:35:21 UTC 15,099 bytes, 9 lines download raw bytes

1/*!
2 * 
3 * 				============= BUILD INFO =============
4 * 				chunkName: clientlib-components/carousel.v1/carousel
5 * 				VERSION: efdb5f1
6 * 				BRANCH: HEAD
7 * 				COMMITHASH: efdb5f1ebbf7b8e9bfe7c1ac27e3f91ead7eccb6
8 * 				LASTCOMMITDATETIME: 2026-09-22T11:36:03-07:00
9 */!function(){"use strict";var e={5841:function(){},8814:function(e,t,i){var r=i(6564);window.mazda.componentUtilities.registerComponent(r.A,"Carousel")},6564:function(e,t,i){i.d(t,{A:function(){return n}});const r="DISCLAIMER",s="OPEN";class n{constructor(){this.currentSlide=0,this.previousSlide=0,this.isDragging=!1,this.wasDragging=!1,this.startX=0,this.currentX=0,this.dragThreshold=5,this.swipeThreshold=50,this.boundDisclaimerOnClick=e=>{var t,i,n;e.preventDefault(),e.stopPropagation();const l=e.currentTarget;if(!l)return;const o={disclaimers:null!==(t=l.dataset.discLink)&&void 0!==t?t:"",titles:[]};null===(n=null===(i=window.mazda)||void 0===i?void 0:i.eventBus)||void 0===n||n.emit(r,s,o)},this.boundHandleDragMove=this.handleDragMove.bind(this),this.boundHandleDragEnd=this.handleDragEnd.bind(this),this.boundHandleKeyDown=this.handleKeyDown.bind(this),this.boundOnResize=this.onResize.bind(this),this.boundHandlePrevButtonClick=()=>this.prevSlide(),this.boundHandleNextButtonClick=()=>this.nextSlide(),this.boundHandleTrackClick=this.handleTrackClick.bind(this),this.boundHandleActiveSlideDragStart=this.handleDragStart.bind(this)}init(e,t){try{if(this.$el=t,!this.$el)return;if(this.guid=this.$el.dataset.guid,!this.guid)return;this.initializeDOMReferences(),this.attachEventListeners(),this.updateSlideClasses(),this.updateTrackPosition(),this.updateContent(),this.updateProgressBar(),this.normalizeContentHeight()}catch(e){console.error("Failed to initialize carousel:",e)}}updateProgressBar(){var e;const t=null===(e=this.$el)||void 0===e?void 0:e.querySelector("[data-pagination-progress-bar-fill]");if(!t)return;const i=this.track?this.track.querySelectorAll('[data-block-element="slide"]').length:0,r=i>1?this.currentSlide/(i-1)*100:0;t.style.width=`${r}%`}initializeDOMReferences(){this.$el&&this.guid&&(this.track=this.$el.querySelector(`[data-block-element=carouselTrack-${this.guid}]`),this.trackWrapper=this.$el.querySelector(".expr-carousel__track-wrapper"),this.titleElement=this.$el.querySelector(`[data-block-element=slideTitle-${this.guid}]`),this.descriptionElement=this.$el.querySelector(`[data-block-element=slideDescription-${this.guid}]`),this.currentSlideElement=this.$el.querySelector(`[data-block-element=currentSlide-${this.guid}]`),this.prevButton=this.$el.querySelector(`[data-block-element=prevButton-${this.guid}]`),this.nextButton=this.$el.querySelector(`[data-block-element=nextButton-${this.guid}]`),this.contentSection=this.$el.querySelector("[data-block-element=carousel__content]"),this.liveRegion=this.$el.querySelector(`[data-block-element=carouselLiveRegion-${this.guid}]`),this.track)}attachEventListeners(){this.$el&&this.track&&(document.addEventListener("mousemove",this.boundHandleDragMove),document.addEventListener("mouseup",this.boundHandleDragEnd),document.addEventListener("touchmove",this.boundHandleDragMove,{passive:!1}),document.addEventListener("touchend",this.boundHandleDragEnd),document.addEventListener("click",this.boundHandleTrackClick),this.prevButton&&(this.prevButton.addEventListener("click",this.boundHandlePrevButtonClick),"BUTTON"!==this.prevButton.tagName&&this.prevButton.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.prevSlide())})),this.nextButton&&(this.nextButton.addEventListener("click",this.boundHandleNextButtonClick),"BUTTON"!==this.nextButton.tagName&&this.nextButton.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.nextSlide())})),this.$el.addEventListener("keydown",this.boundHandleKeyDown),window.addEventListener("resize",this.boundOnResize),this.attachDragListenersToActiveSlide())}handleKeyDown(e){if(!this.track)return;const t=this.track.querySelectorAll('[data-block-element="slide"]').length;if(0!==t)switch(e.key){case"ArrowLeft":e.preventDefault(),this.prevSlide();break;case"ArrowRight":e.preventDefault(),this.nextSlide();break;case"Home":e.preventDefault(),this.goToSlide(0);break;case"End":e.preventDefault(),this.goToSlide(t-1)}}
9handleTrackClick(e){if(this.wasDragging)return void(this.wasDragging=!1);const t=e.target,i=t.closest('[data-block-element="slide"].expr-carousel__slide--preview');if(!i||!this.track)return;const r=Array.from(this.track.querySelectorAll('[data-block-element="slide"]')).indexOf(i);if(-1===r)return;if("true"===i.dataset.hasVideo)return;t.closest('a, button, [role="button"]')||(e.preventDefault(),this.goToSlide(r))}attachDragListenersToActiveSlide(){if(!this.track)return;const e=this.track.querySelector('[data-block-element="slide"].expr-carousel__slide--active');e&&(e.removeEventListener("mousedown",this.boundHandleActiveSlideDragStart),e.removeEventListener("touchstart",this.boundHandleActiveSlideDragStart));this.track.querySelectorAll('[data-block-element="slide"]')[this.currentSlide]&&(this.track.addEventListener("mousedown",this.boundHandleActiveSlideDragStart),this.track.addEventListener("touchstart",this.boundHandleActiveSlideDragStart,{passive:!1}))}handleDragStart(e){this.isDragging=!0,this.wasDragging=!1,this.startX=e.type.includes("mouse")?e.pageX:e.touches[0].pageX,this.currentX=this.startX,e.type.includes("mouse")&&e.preventDefault()}handleDragMove(e){if(!this.isDragging)return;this.currentX=e.type.includes("mouse")?e.pageX:e.touches[0].pageX;Math.abs(this.currentX-this.startX)>this.dragThreshold&&(this.wasDragging=!0,e.preventDefault())}handleDragEnd(){if(!this.isDragging)return;this.isDragging=!1;const e=this.currentX-this.startX;this.wasDragging&&Math.abs(e)>this.swipeThreshold&&(e>0?this.prevSlide():this.nextSlide()),this.wasDragging&&setTimeout(()=>{this.wasDragging=!1},10)}nextSlide(){if(!this.track)return;const e=this.track.querySelectorAll('[data-block-element="slide"]').length;0!==e&&(this.previousSlide=this.currentSlide,this.currentSlide=(this.currentSlide+1)%e,this.applyDirectionalClass(),this.updateCarousel())}prevSlide(){if(!this.track)return;const e=this.track.querySelectorAll('[data-block-element="slide"]').length;0!==e&&(this.previousSlide=this.currentSlide,this.currentSlide=(this.currentSlide-1+e)%e,this.applyDirectionalClass(),this.updateCarousel())}goToSlide(e){this.track&&(this.previousSlide=this.currentSlide,this.currentSlide=e,this.applyDirectionalClass(),this.updateCarousel())}applyDirectionalClass(){if(!this.track)return;const e=this.track.querySelectorAll('[data-block-element="slide"]')[this.currentSlide];e&&(e.classList.remove("expr-carousel__slide--from-left","expr-carousel__slide--from-right"),this.currentSlide>this.previousSlide?e.classList.add("expr-carousel__slide--from-right"):this.currentSlide<this.previousSlide&&e.classList.add("expr-carousel__slide--from-left"))}updateCarousel(){this.updateSlideClasses(),this.updateTrackPosition(),this.updateContent(),this.updateProgressBar(),this.attachDragListenersToActiveSlide()}updateSlideClasses(){if(!this.track)return;this.track.querySelectorAll('[data-block-element="slide"]').forEach((e,t)=>{const i=e;0===t&&0===this.currentSlide&&i.classList.add("expr-carousel__slide--first"),t===this.currentSlide?(i.classList.remove("expr-carousel__slide--preview"),i.classList.add("expr-carousel__slide--active"),i.setAttribute("aria-hidden","false"),i.setAttribute("tabindex","0"),i.setAttribute("aria-current","true")):(i.classList.remove("expr-carousel__slide--active"),i.classList.add("expr-carousel__slide--preview"),i.classList.remove("expr-carousel__slide--from-left","expr-carousel__slide--from-right"),i.setAttribute("aria-hidden","true"),i.setAttribute("tabindex","-1"),i.removeAttribute("aria-current"))})}updateTrackPosition(){if(!this.track)return;if(this.shouldSkipInlineTransform())return void(this.track.style.transform="");let e=0;if(0===this.currentSlide)e=0;else if(this.shouldUseDynamicCardDisplaySizing()){e=-this.getDynamicSlideStep()*this.currentSlide}else{let t=0;t=window.innerWidth<1033?264*this.currentSlide+8*this.currentSlide:340*this.currentSlide+16*this.currentSlide,e=-t}this.track.style.transform=`translateX(${e}px)`,this.updateContentPosition()}updateContentPosition(){this.contentSection}updateContent(){if(!this.track)return;const e=this.track.querySelectorAll('[data-block-element="slide"]'),t=e[this.currentSlide],i=e.length;if(t&&this.titleElement&&this.descriptionElement){const e=t.dataset.slideTitle||"",r=t.dataset.slideDescription||"";this.titleElement.innerHTML=e,this.descriptionElement.innerHTML=r,this.addDisclaimerToDescriptionIfNeeded(),this.announceSlideChange(e,r,this.currentSlide+1,i)}if(this.currentSlideElement){if(this.currentSlideElement.querySelector(".sr-only")){const e=Array.from(this.currentSlideElement.childNodes).find(e=>e.nodeType===Node.TEXT_NODE);e&&(e.textContent=(this.currentSlide+1).toString())}else this.currentSlideElement.textContent=(this.currentSlide+1).toString();this.currentSlideElement.setAttribute("aria-label",`Slide ${this.currentSlide+1} of ${i}`)}}addDisclaimerToDescriptionIfNeeded(){var e,t;const i=null===(e=this.descriptionElement)||void 0===e?void 0:e.querySelectorAll('[data-disclaimers-superscript=""]');
9i&&0!==i.length&&(i.forEach(e=>{e&&this.boundDisclaimerOnClick&&e.addEventListener("click",this.boundDisclaimerOnClick,!1)}),((e,t)=>{if(!e)return;const i=e.querySelectorAll("[data-disclaimers-superscript]");i&&0!==i.length&&i.forEach(e=>{const i=e.dataset.discLink;i&&(e.dataset.analyticsLinkDescription=i,e.dataset.analyticsLinkType="disclaimer",t&&(e.dataset.analyticsLinkComponentName=t))})})(this.descriptionElement,null===(t=this.$el)||void 0===t?void 0:t.dataset.analyticsParentComponentName))}announceSlideChange(e,t,i,r){if(!this.liveRegion)return;const s=this.buildSlideAnnouncement(e,t,i,r);this.liveRegion.textContent="",setTimeout(()=>{this.liveRegion&&(this.liveRegion.textContent=s)},100)}buildSlideAnnouncement(e,t,i,r){var s,n,l;const o=null===(s=this.track)||void 0===s?void 0:s.querySelectorAll('[data-block-element="slide"]'),a=(null===(l=null===(n=null==o?void 0:o[this.currentSlide])||void 0===n?void 0:n.querySelector(".cmp-image__image"))||void 0===l?void 0:l.getAttribute("alt"))||"",d=[];return a&&d.push(a),e&&e!==a&&d.push(e),t&&d.push(this.stripHtml(t)),d.push(`Slide ${i} of ${r}`),d.join(". ")}stripHtml(e){const t=document.createElement("div");return t.innerHTML=e,t.textContent||""}shouldSkipInlineTransform(){if(!this.$el)return!1;const e=this.$el.classList.contains("expr-carousel__wrapper--three-card"),t=window.innerWidth>=1033;return e&&t}shouldUseDynamicCardDisplaySizing(){return!!this.$el&&this.$el.classList.contains("expr-carousel__wrapper--card-display")}toPx(e){if(!e)return 0;const t=Number.parseFloat(e);return Number.isFinite(t)?t:0}getDynamicSlideStep(){if(!this.track)return 0;const e=this.track.querySelectorAll('[data-block-element="slide"]')[0];if(!e)return 0;const t=e.getBoundingClientRect().width,i=window.getComputedStyle(this.track);return t+this.toPx(i.columnGap)}onResize(){window.clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout(()=>{this.updateTrackPosition(),this.normalizeContentHeight()},250)}normalizeContentHeight(){if(!this.track||!this.contentSection||!this.descriptionElement)return;const e=this.track.querySelectorAll('[data-block-element="slide"]');if(0===e.length)return;const t=this.descriptionElement.innerHTML;this.contentSection.style.minHeight="";let i=0;e.forEach(e=>{const t=e.dataset.slideDescription||"";this.descriptionElement.innerHTML=t;const r=this.contentSection.offsetHeight;r>i&&(i=r)}),this.descriptionElement.innerHTML=t,this.addDisclaimerToDescriptionIfNeeded(),i>0&&(this.contentSection.style.minHeight=`${i}px`),this.normalizeTrackHeight()}normalizeTrackHeight(){if(!this.track||!this.trackWrapper)return;const e=this.track.querySelector(".expr-carousel__slide--active");if(!e)return;const t=e.offsetHeight;t>0&&(this.trackWrapper.style.minHeight=`${t}px`)}destroy(){this.$el&&this.track&&(this.removeEventListeners(),this.resetAriaAndClasses(),window.clearTimeout(this.resizeTimeout),this.$el=void 0,this.track=void 0,this.titleElement=void 0,this.descriptionElement=void 0,this.currentSlideElement=void 0,this.prevButton=void 0,this.nextButton=void 0,this.contentSection=void 0,this.liveRegion=void 0)}removeEventListeners(){var e,t,i,r,s;document.removeEventListener("mousemove",this.boundHandleDragMove),document.removeEventListener("mouseup",this.boundHandleDragEnd),document.removeEventListener("touchmove",this.boundHandleDragMove),document.removeEventListener("touchend",this.boundHandleDragEnd),null===(e=this.track)||void 0===e||e.removeEventListener("click",this.boundHandleTrackClick),null===(t=this.$el)||void 0===t||t.removeEventListener("keydown",this.boundHandleKeyDown),window.removeEventListener("resize",this.boundOnResize),null===(i=this.prevButton)||void 0===i||i.removeEventListener("click",this.boundHandlePrevButtonClick),null===(r=this.nextButton)||void 0===r||r.removeEventListener("click",this.boundHandleNextButtonClick);const n=null===(s=this.track)||void 0===s?void 0:s.querySelector('[aria-current="true"]');n&&(n.removeEventListener("mousedown",this.boundHandleActiveSlideDragStart),n.removeEventListener("touchstart",this.boundHandleActiveSlideDragStart))}resetAriaAndClasses(){var e,t,i,r,s,n;null===(e=this.$el)||void 0===e||e.removeAttribute("role"),null===(t=this.$el)||void 0===t||t.removeAttribute("aria-roledescription"),null===(i=this.$el)||void 0===i||i.removeAttribute("aria-label"),null===(r=this.track)||void 0===r||r.removeAttribute("role"),null===(s=this.track)||void 0===s||s.removeAttribute("aria-label"),this.liveRegion&&(this.liveRegion.removeAttribute("aria-live"),this.liveRegion.removeAttribute("role"),this.liveRegion.classList.remove("sr-only")),null===(n=this.track)||void 0===n||n.querySelectorAll('[data-block-element="slide"]').forEach(e
9=>{e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("tabindex"),e.removeAttribute("aria-hidden"),e.removeAttribute("aria-current"),e.classList.remove("expr-carousel__slide--first","expr-carousel__slide--active","expr-carousel__slide--preview")}),this.prevButton&&(this.prevButton.removeAttribute("aria-label"),this.prevButton.removeAttribute("aria-controls"),"BUTTON"!==this.prevButton.tagName&&(this.prevButton.removeAttribute("role"),this.prevButton.removeAttribute("tabindex"))),this.nextButton&&(this.nextButton.removeAttribute("aria-label"),this.nextButton.removeAttribute("aria-controls"),"BUTTON"!==this.nextButton.tagName&&(this.nextButton.removeAttribute("role"),this.nextButton.removeAttribute("tabindex")))}}}},t={};function i(r){var s=t[r];if(void 0!==s)return s.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,i),n.exports}i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i(8814),i(5841);i(6564)}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.