1"use strict";(self.webpackChunk_agco_onedigital_aem_sites=self.webpackChunk_agco_onedigital_aem_sites||[]).push([[205],{6560:(e,t,s)=>{s.r(t),s.d(t,{default:()=>h});var r=s(2550),n=s(5266);function i(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,r)}return s}function a(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?i(Object(s),!0).forEach((function(t){o(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):i(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function o(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class l extends r.A{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),o(this,"_handleAnswerChange",(e=>{const t=e.target;if(t.matches(l.SELECTORS.ANSWER_INPUT)){const e=t.value;this._handleAnswerSelect(this._currentStepIndex,e),this._updateNextButtonState()}})),o(this,"_handleStart",(async()=>{this._startBtn&&(this._startBtn.disabled=!0),this._heroContent&&this._heroContent.classList.add("help-me-choose__hero-content--expanding"),await this._wait(l.TIMING.HERO_EXPAND_DURATION),this._hero&&this._hero.classList.add("help-me-choose__hero--slide-out"),await this._wait(l.TIMING.HERO_SLIDE_DURATION),this._currentStepIndex=0,this._transitionToView(l.VIEWS.QUESTIONNAIRE),this._showStep(0),this._updateProgressBar(),requestAnimationFrame((()=>{this._questionnaire&&this._questionnaire.classList.add("help-me-choose__questionnaire--visible"),setTimeout((()=>{window.scrollTo({top:0,behavior:"auto"})}),l.TIMING.SCROLL_SETTLE_DELAY)}))})),o(this,"_handleBack",(()=>{this._currentStepIndex>0?(this._currentStepIndex--,this._showStep(this._currentStepIndex),this._updateProgressBar()):(this._resetHeroAnimations(),this._transitionToView(l.VIEWS.HERO))})),o(this,"_handleNext",(async()=>{this._currentStepIndex===this._totalSteps-1?(this._transitionToView(l.VIEWS.RESULTS),this._showLoadingState(),await this._fetchAndDisplayResults()):(this._currentStepIndex++,this._showStep(this._currentStepIndex),this._updateProgressBar())})),o(this,"_handleRestart",(()=>{this._currentStepIndex=0,this._selectedAnswers.clear(),this._showStep(0),this._updateProgressBar(),this._uncheckAllInputs(),this._updateNextButtonState()})),o(this,"_handleResultsBack",(()=>{this._transitionToView(l.VIEWS.QUESTIONNAIRE),this._showStep(this._currentStepIndex)})),o(this,"_handleResultsRestart",(()=>{this.reset()})),o(this,"_handleErrorRestart",(()=>{this.reset()})),o(this,"_handleKeydown",(e=>{const{key:t,target:s}=e,{QUESTIONNAIRE:r}=l.VIEWS;"Escape"!==t||this._currentView!==r?"Enter"===t&&s.matches(l.SELECTORS.ANSWER_INPUT)&&this._currentStepIndex<this._totalSteps-1&&setTimeout((()=>this._handleNext()),200):this._handleBack()}));const s={required:"true"===e.dataset.required};this._options=a(a({},s),t),this._currentStepIndex=0,this._selectedAnswers=new Map,this._currentView=l.VIEWS.HERO,this._fetchAbortController=null,this._hero=this._$elements.hero,this._questionnaire=this._$elements.questionnaire,this._results=this._$elements.results,this._startBtn=this._$elements["start-btn"],this._backBtn=this._$elements["back-btn"],this._nextBtn=this._$elements["next-btn"],this._restartBtn=this._$elements["restart-btn"],this._resultsBackBtn=this._$elements["results-back-btn"],this._resultsRestartBtn=this._$elements["results-restart-btn"],this._errorRestartBtn=this._$elements["error-restart-btn"],this._stepIndicator=this._$elements["step-indicator"],this._stepAnnouncement=this._$elements["step-announcement"],this._stepSegments=Array.from(this._$elements["step-segment"]||[]),this._steps=Array.from(this._$elements.step||[]),this._heroContent=this._$elements["hero-content"],this._resultsGrid=this._results?.querySelector(l.SELECTORS.RESULTS_GRID),this._resultsError=this._$elements["results-error"],this._resultsLoading=this._$elements["results-loading"],this._resultsTitle=this._results?.querySelector(l.SELECTORS.RESULTS_TITLE),this._searchEndpoint=e.dataset.searchEndpoint||"",this._initializeEventListeners()}get _totalSteps(){return this._steps.length}destroy(){this._fetchAbortController&&(this._fetchAbortController.abort(),this._fetchAbortController=null),this._selectedAnswers.clear(),this._currentStepIndex=0,this._currentView=l.VIEWS.HERO,this._startBtn?.removeEventListener("click",this._handleStart),this._backBtn?.removeEventListener("click",this._handleBack),this._nextBtn?.removeEventListener("click",this._handleNext),this._restartBtn?.removeEventListener("click",this._handleRestart),this._resultsBackBtn?.removeEventListener("click",this._handleResultsBack),this._resultsRestartBtn?.removeEventListener("click",this._handleResultsRestart),this._errorRestartBtn?.removeEventListener("click",this._handleErrorRestart),document.removeEventListener("keydown",this._handleKeydown),this._questionnaire?.removeEventListener("change",this._handleAnswerChange),super.destroy()}_initializeEventListeners(){this._startBtn?.addEventListener("click",this._handleStart),this._backBtn?.addEventListener("click",this._handleBack),this._nextBtn?.addEventListener("click",this._handleNext),this._restartBtn?.addEventListener("click",this._handleRestart),this._resultsBackBtn?.addEventListener("click",this._handleResultsBack),this._resultsRestartBtn?.addEventListener("click",this._handleResultsRestart),this._errorRestartBtn?.addEventListener("click",this._handleErrorRestart),this._questionnaire&&this._questionnaire.addEventListener("change",this._handleAnswerChange),document.addEventListener("keydown",this._handleKeydown)}
1_wait(e){return new Promise((t=>setTimeout(t,e)))}_resetHeroAnimations(){this._heroContent&&this._heroContent.classList.remove("help-me-choose__hero-content--expanding"),this._hero&&this._hero.classList.remove("help-me-choose__hero--slide-out"),this._questionnaire&&this._questionnaire.classList.remove("help-me-choose__questionnaire--visible"),this._startBtn&&(this._startBtn.disabled=!1)}_handleAnswerSelect(e,t){this._selectedAnswers.set(e,t)}_updateNextButtonState(){if(!this._nextBtn)return;const e=this._selectedAnswers.has(this._currentStepIndex);this._nextBtn.disabled=!e}_showStep(e){const{STEP_ACTIVE:t}=l.CSS_CLASSES;this._steps.forEach(((s,r)=>{const n=r===e;s.classList.toggle(t,n),s.hidden=!n,n&&this._selectedAnswers.has(e)&&this._restoreSelection(s,e)})),this._updateNavigationButtons(e),this._updateNextButtonState()}_restoreSelection(e,t){const s=this._selectedAnswers.get(t),r=e.querySelector(`input[value="${s}"]`);r&&(r.checked=!0)}_updateNavigationButtons(e){const t=0===e,s=e===this._totalSteps-1;if(this._restartBtn&&(this._restartBtn.hidden=t),this._nextBtn){const e=this._nextBtn.querySelector("span");e&&(e.textContent=s?"View Results":"Next")}}_updateProgressBar(){const{SEGMENT_ACTIVE:e,SEGMENT_COMPLETED:t}=l.CSS_CLASSES;this._stepSegments.forEach(((s,r)=>{const n=r<this._currentStepIndex,i=r===this._currentStepIndex;s.classList.remove(e,t),n?s.classList.add(t):i&&(s.offsetWidth,s.classList.add(e))}));const s=this._currentStepIndex+1,r=this._totalSteps;this._stepIndicator?.setAttribute("aria-valuenow",s),this._stepIndicator?.setAttribute("aria-label",`Step ${s} of ${r}`),this._stepAnnouncement&&(this._stepAnnouncement.textContent=`Step ${s} of ${r}`)}_setFocusToElement(e){e&&(e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}),e.addEventListener("blur",(()=>e.removeAttribute("tabindex")),{once:!0}))}_transitionToView(e){const{HERO:t,QUESTIONNAIRE:s,RESULTS:r}=l.VIEWS,n={[t]:this._hero,[s]:this._questionnaire,[r]:this._results};Object.entries(n).forEach((t=>{let[s,r]=t;if(!r)return;const n=s===e;r.hidden=!n,r.setAttribute("aria-hidden",(!n).toString())}));const i=this._currentView===l.VIEWS.HERO;this._currentView=e,e===s&&i||window.scrollTo({top:0,behavior:"smooth"}),this._manageFocusForView(e)}_manageFocusForView(e){const{QUESTIONNAIRE:t,RESULTS:s}=l.VIEWS,{QUESTION:r}=l.SELECTORS;let n=null;if(e===t){const e=this._steps[this._currentStepIndex];n=e?.querySelector(r)}else e===s&&this._resultsTitle&&!this._resultsTitle.hidden&&(n=this._resultsTitle);this._setFocusToElement(n)}getSelections(){const e={};return this._selectedAnswers.forEach(((t,s)=>{const r=this._steps[s];if(r){const s=r.dataset.stepId;e[s]=t}})),e}reset(){this._currentStepIndex=0,this._selectedAnswers.clear(),this._resetHeroAnimations(),this._transitionToView(l.VIEWS.HERO),this._updateProgressBar(),this._uncheckAllInputs(),this._updateNextButtonState()}_toggleStateElements(e){Object.entries(e).forEach((e=>{let[t,s]=e;const r=this[t];r&&(r.hidden=!s)}))}_uncheckAllInputs(){const e=this._questionnaire?.querySelectorAll(l.SELECTORS.ANSWER_INPUT);e?.forEach((e=>{e.checked=!1}))}async _fetchAndDisplayResults(){if(!this._searchEndpoint)return void this._displayError();this._fetchAbortController&&this._fetchAbortController.abort(),this._fetchAbortController=new AbortController;const e=setTimeout((()=>this._fetchAbortController.abort()),l.TIMING.FETCH_TIMEOUT);try{const t=this._buildTagsParameter(),s=t?`${this._searchEndpoint}?tags=${t}`:this._searchEndpoint,r=new Promise((e=>setTimeout(e,l.TIMING.MIN_LOADING_DURATION))),[n]=await Promise.all([fetch(s,{signal:this._fetchAbortController.signal}),r]);if(clearTimeout(e),!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const i=await n.json();if(!Array.isArray(i))throw new Error("Invalid response format: expected array");0===i.length?this._displayError():this._displayResults(i)}catch(t){clearTimeout(e),"AbortError"===t.name?(console.warn("Fetch request timed out or was cancelled"),this._displayError("timeout")):(console.error("Error fetching results:",t),this._displayError("network"))}finally{this._fetchAbortController=null}}_buildTagsParameter(){const e=[];
1return this._selectedAnswers.forEach(((t,s)=>{const r=this._steps[s];if(r){const s=r.querySelector(`[data-answer-id="${t}"]`),n=s?.dataset.tagId;n&&e.push(n)}})),e.join(",")}_showLoadingState(){this._toggleStateElements({_resultsLoading:!0,_resultsGrid:!1,_resultsError:!1,_resultsTitle:!1,_resultsRestartBtn:!1})}_displayResults(e){this._resultsGrid&&(this._toggleStateElements({_resultsLoading:!1,_resultsError:!1,_resultsTitle:!0,_resultsRestartBtn:!0}),this._resultsGrid.replaceChildren(),this._resultsGrid.classList.toggle("help-me-choose__results-grid--single",1===e.length),e.forEach(((e,t)=>{const s=this._createResultCard(e,t);this._resultsGrid.appendChild(s)})),this._resultsGrid.hidden=!1,this._setFocusToElement(this._resultsTitle))}_createResultCard(e,t){const s=document.createElement("article");if(s.className="help-me-choose__result-card",s.setAttribute("aria-labelledby",`result-title-${t}`),e?.image?.uri){const t=document.createElement("div");t.className="help-me-choose__result-image-wrapper";const r=document.createElement("img");if(r.src=(0,n._)(e.image.uri),r.alt=(0,n._)(e.image.altText||e.title||""),r.className="help-me-choose__result-image",r.loading="lazy",t.appendChild(r),e.kicker){const s=document.createElement("div");s.className="help-me-choose__result-kicker",s.textContent=(0,n._)(e.kicker),t.appendChild(s)}s.appendChild(t)}const r=document.createElement("div");r.className="help-me-choose__result-content";const i=e?.seriesTagTitles?.[0]||e.title;if(i){const e=document.createElement("h3");e.className="help-me-choose__result-title",e.id=`result-title-${t}`,e.textContent=(0,n._)(i),r.appendChild(e)}const a=[];if(e?.horsePowerTagTitles?.length>0&&a.push({label:"Horsepower",values:e.horsePowerTagTitles}),e?.transmissionTypeTagTitles?.length>0&&a.push({label:"Transmission",values:e.transmissionTypeTagTitles}),a.length>0){const e=document.createElement("div");e.className="help-me-choose__result-specs",a.forEach((t=>{const s=document.createElement("div");s.className="help-me-choose__result-spec";const r=document.createElement("div");r.className="help-me-choose__result-spec-label",r.textContent=`${(0,n._)(t.label)}:`;const i=document.createElement("div");i.className="help-me-choose__result-spec-value",i.textContent=(0,n._)(t.values.join(", ")),s.appendChild(r),s.appendChild(i),e.appendChild(s)})),r.appendChild(e)}if(e.description){const t=document.createElement("div");t.className="help-me-choose__result-description";const s=document.createElement("h4");s.className="help-me-choose__result-description-title",s.textContent="Description";const i=document.createElement("p");i.className="help-me-choose__result-description-text",i.textContent=(0,n._)(e.description),t.appendChild(s),t.appendChild(i),r.appendChild(t)}if(e?.pairsWithAssets?.length>0){const t=document.createElement("div");t.className="help-me-choose__result-related";const s=document.createElement("h4");s.className="help-me-choose__result-related-title",s.textContent="Pairs perfectly with",t.appendChild(s);const i=document.createElement("ul");i.className="help-me-choose__result-related-list",e.pairsWithAssets.forEach((e=>{if(e.assetPath){const t=document.createElement("li");t.className="help-me-choose__result-related-item";const s=document.createElement("a");s.href=(0,n._)(e.assetPath),s.className="help-me-choose__result-related-link btn btn--text-link",s.textContent=(0,n._)(e.assetPath.split("/").pop()),t.appendChild(s),i.appendChild(t)}})),t.appendChild(i),r.appendChild(t)}const o=e?.primaryCta?.url&&e?.primaryCta?.text,l=e?.secondaryCta?.url&&e?.secondaryCta?.text;if(o||l){const t=document.createElement("div");if(t.className="help-me-choose__result-actions",o){const s=document.createElement("a");s.href=(0,n._)(e.primaryCta.url),s.className="btn help-me-choose__result-cta",s.textContent=(0,n._)(e.primaryCta.text);const r=e.primaryCta.accessibilityLabel||`${e.primaryCta.text} for ${e.title}`;s.setAttribute("aria-label",(0,n._)(r)),e.primaryCta.target&&(s.target=(0,n._)(e.primaryCta.target)),t.appendChild(s)}if(l){const s=document.createElement("a");s.href=(0,n._)(e.secondaryCta.url),s.className="btn btn--secondary help-me-choose__result-cta",s.textContent=(0,n._)(e.secondaryCta.text);const r=e.secondaryCta.accessibilityLabel||`${e.secondaryCta.text} for ${e.title}`;s.setAttribute("aria-label",(0,n._)(r)),e.secondaryCta.target&&(s.target=(0,n._)(e.secondaryCta.target)),t.appendChild(s)}r.appendChild(t)}return s.appendChild(r),s}_displayError(){this._toggleStateElements({_resultsLoading:!1,_resultsGrid:!1,_resultsError:!0,_resultsTitle:!1,_resultsRestartBtn:!1})}}o(l,"VIEWS",{HERO:"hero",QUESTIONNAIRE:"questionnaire",RESULTS:"results"}),o(l,"CSS_CLASSES",{STEP_ACTIVE:"help-me-choose__step--active",SEGMENT_ACTIVE:"help-me-choose__step-segment--active",SEGMENT_COMPLETED:"help-me-choose__step-segment--completed"}),o(l,"SELECTORS",{QUESTION:".help-me-choose__question",RESULTS_TITLE:".help-me-choose__results-title",ANSWER_INPUT:'[data-cmp-hook-help-me-choose="answer-input"]',RESULTS_GRID:".help-me-choose__results-grid",RESULTS_ERROR:".help-me-choose__results-error",RESULTS_LOADING:".help-me-choose__results-loading"}),o(l,"TIMING",{HERO_EXPAND_DURATION:1e3,HERO_SLIDE_DURATION:600,SCROLL_SETTLE_DELAY:100,AUTO_ADVANCE_DELAY:150,FETCH_TIMEOUT:1e4,MIN_LOADING_DURATION:800});const h=l}}]);
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.