PageSourceSearch

https://www.landrover.pt/etc.clientlibs/jlr/clientlibs/clientlib-d…opdownSelectA11y-js.146c9158c0975a7a3f0f.js

js landrover.pt collected 2026-10-05 05:08:07 UTC 11,355 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkaem_maven_archetype=self.webpackChunkaem_maven_archetype||[]).push([["components-autocompleteselect-DropdownSelectA11y-js","components-dx-dropdown-dx-dropdown-js","components-rangecalculator-v1-js-vehicleSelect-js"],{11701:function(t,e,n){n.r(e),n.d(e,{DropdownSelectA11y:function(){return l}});var o=n(74692),i=n.n(o),s=n(12550),r=0,l={$container:null,dxDropdown:null,init:function(){this.$element.hasClass("DropdownSelectA11y--init")||(this.buildDxDropdownMarkup(),this.initDxDropdown())},buildDxDropdownMarkup:function(){r+=1;var t=this.$element.hasClass("flagSelect");this.$element.wrap('<div class="dxDropdown"></div>'),this.$container=this.$element.closest(".dxDropdown");var e=this._findSelectedText(),n='\n      <button class="dxDropdown__button fontEmissionsDetails icon-chevron-down" aria-haspopup="listbox" id="dropdownSelectA11y__button'.concat(r,'" aria-expanded="false">').concat(e,'</button>\n      \n      <ul class="dxDropdown__list" id="dropdownSelectA11y__list').concat(r,'" tabindex="-1" role="listbox" aria-labelledby="dropdownSelectA11y__button').concat(r,'">\n        ').concat(this.$element.find("option").toArray().map(function(e,n){return'\n          <li class="dxDropdown__list-item" id="dropdownSelectA11y__item'.concat(r,"_").concat(n,'" role="option">\n            <a href="#" class="dxDropdown__list-item-link ').concat(t?"dxDropdown__list-item-link--country":"",' fontEmissionsDetails" data-value="').concat(e.getAttribute("value"),'">\n              <span class="dxDropdown__list-item-link-text">
1').concat(e.innerHTML,"</span>\n              \n              ").concat(t?'<div aria-hidden="true" class="dxDropdown__flag spriteFlag-'.concat(e.getAttribute("value"),'"></div>'):"","\n            </a>\n          </li> \n        ")}).join(" "),"\n      </ul>\n    ");this.$container.append(i()(n)),this.$element.addClass("DropdownSelectA11y--init")},initDxDropdown:function(){var t=this,e=this.$container.parent().get(0);this.dropdown=new s.default(e),this.dropdown.element.addEventListener("DxDropdown:update",function(e){var n=e.detail.target;t.$element.val(n.getAttribute("data-value")),t.$element.trigger("change")})},_findSelectedText:function(){var t=this.$element.find("option:selected");return t.length>0?t.html():this.$element.find("option:first-of-type").html()}};i().createComponent&&(i().createComponent("DropdownSelectA11y",l),i()(".DropdownSelectA11y").DropdownSelectA11y())},12550:function(t,e,n){n.r(e),n.d(e,{DxDropdownEvents:function(){return d},default:function(){return a}});var o=n(69805),i=n(71202);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function r(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,l(o.key),o)}}function l(t){var e=function(t,e){if("object"!=s(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==s(e)?e:e+""}var d={OPEN:"DxDropdown:open",CLOSE:"DxDropdown:close",UPDATE:"DxDropdown:update",REBIND:"DxDropdown:rebind"},a=function(){return t=function t(e){var n=this,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.element=e,this.open=!1,this.button=e.querySelector(".dxDropdown__button"),this.listbox=e.querySelector(".dxDropdown__list"),this.useConstraints=s,this.truncateText=r,this.useConstraints&&(this.element.classList.add("dxDropdown--use-constraints"),this.observeDropdownConstraints(),this.element.style.setProperty("--dxdropdown-height","".concat(this.listbox.getBoundingClientRect().height,"px")),this.listboxWrapper=document.createElement("div"),this.listboxWrapper.classList.add("dxDropdown__list-wrapper"),this.listbox.parentNode.insertBefore(this.listboxWrapper,this.listbox),this.listboxWrapper.appendChild(this.listbox),this.intersectionObserverOptions={root:null,threshold:0}),this.truncateText&&this.element.classList.add("dxDropdown--use-truncate"),this.element.addEventListener(d.REBIND,function(){return n.rebindListBox()}),this.element.addEventListener("click",function(t){return n.clickEventListeners(t,o)}),this.button.addEventListener("keyup",function(t){return n.checkShow(t)}),this.listbox.addEventListener("blur",function(t){return n.testBlur(t)}),this.listbox.addEventListener("keydown",function(t){return n.keyDownEvents(t)}),this.focusElementOnClose=this.button,this.preventFocusFirstOnOpen=!1;var l=e.querySelector(".dxDropdown__list-item-link:not(.dxDropdown__list-item-link--disabled)");i&&this.addActiveDropdownItem(l),window.addEventListener("click",function(t){return n.handleWindowClick(t)})},e=[{key:"testBlur",value:function(t){var e,n;null!==(e=t.relatedTarget)&&void 0!==e&&e.classList.contains("dxDropdown__list-item")||null!==(n=t.relatedTarget)&&void 0!==n&&n.classList.contains("dxDropdown__list-item-link")||this.closeDropdown()}},{key:"handleInteraction",value:function(t){this.element.classList.contains("dxDropdown--direction-bottom")&&this.element.classList.remove("dxDropdown--direction-bottom"),this.element.classList.contains("dxDropdown--direction-top")&&this.element.classList.remove("dxDropdown--direction-top");var e=t.getBoundingClientRect(),n=window.innerHeight;e.top<=0?(this.element.classList.contains("dxDropdown--direction-bottom")||this.element.classList.add("dxDropdown--direction-bottom"),this.element.classList.contains("dxDropdown--direction-top")&&this.element.classList.remove("dxDropdown--direction-top")):e.bottom>=n&&(this.element.classList.contains("dxDropdown--direction-top")||this.element.classList.add("dxDropdown--direction-top"),this.element.classList.contains("dxDropdown--direction-bottom")&&this.element.classList.remove("dxDropdown--direction-bottom"))}},{key:"observeDropdownConstraints",value:function(){var t=this;this.useConstraints&&new IntersectionObserver(function(e){return e.forEach(function(){return t.handleInteraction(t.listbox)})},this.intersectionObserverOptions).observe(this.listbox)}},{key:"rebindListBox",value:function(){var t=this;this.listbox=this.element.querySelector(".dxDropdown__list"),this.listbox&&(this.listbox.addEventListener("blur",function(e){return t.testBlur(e)}),this.listbox.addEventListener("keydown",function(e){return t.keyDownEvents(e)}))}},{key:"handleWindowClick",value:function(t){for(var e=this,n=[],o=t.target,i=!1;o.parentNode;)n.unshift(o.parentNode),o=o.parentNode;
1n.forEach(function(t){t.classList&&t===e.element&&(i=!0)}),i||this.closeDropdown(!1)}},{key:"clickEventListeners",value:function(t,e){var n=this.useConstraints;e&&t.preventDefault();var o=t.target;if(o.classList.contains("dxDropdown__button"))this.toggleDropdown();else if(o.classList.contains("dxDropdown__list-item-link")&&!o.classList.contains("dxDropdown__list-item-link--disabled"))this.updateButtonText(t),this.closeDropdown(!0,n);else if(o.classList.contains("dxDropdown__list-item")&&!o.querySelector(".dxDropdown__list-item-link").classList.contains("dxDropdown__list-item-link--disabled")){var i=o.querySelector(".dxDropdown__list-item-link");this.updateButtonText(i),this.closeDropdown(!0,n)}else(o.classList.contains("RulesEngineDropdown__engine-label")||o.classList.contains("RulesEngineDropdown__engine-consumption"))&&(this.updateVehicleButtonText(t),this.closeDropdown())}},{key:"keyDownEvents",value:function(t){var e=t.which||t.keyCode,n=o.D.DOWN,i=o.D.UP,s=o.D.ESC,r=o.D.RETURN,l=o.D.TAB;switch(e){case n:t.preventDefault(),this.nextItem(t);break;case l:t.preventDefault(),t.shiftKey?this.previousItem(t):this.nextItem(t);break;case i:t.preventDefault(),this.previousItem(t);break;case s:t.preventDefault(),this.closeDropdown();break;case r:t.preventDefault(),this.updateButtonText(t),this.closeDropdown()}}},{key:"checkShow",value:function(t){var e=t.which||t.keyCode,n=o.D.UP,i=o.D.DOWN;switch(e){case n:case i:t.preventDefault(),this.openDropdown()}}},{key:"toggleDropdown",value:function(){return this.open?this.closeDropdown():this.openDropdown()}},{key:"openDropdown",value:function(){this.handleInteraction(this.listbox),this.element.classList.add("dxDropdown--active"),this.button.setAttribute("aria-expanded","true"),this.preventFocusFirstOnOpen||this.focusFirstItem(),this.open=!0,this.fireEvent(d.OPEN)}},{key:"closeDropdown",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.element.classList.remove("dxDropdown--active"),n&&(this.element.classList.add("dxDropdown--no-height-transition"),setTimeout(function(){t.element.classList.remove("dxDropdown--no-height-transition")},0)),this.button.setAttribute("aria-expanded","false"),this.open=!1,this.fireEvent(d.CLOSE),e&&this.focusElementOnClose.focus()}},{key:"updateButtonText",value:function(t){var e=t.target?t.target:t;this.button.innerHTML=e.innerHTML,this.fireEvent(d.UPDATE,{target:e,value:this.button.innerHTML}),this.addActiveDropdownItem(e)}},{key:"updateVehicleButtonText",value:function(t){var e=t.target.parentElement.closest(".dxDropdown__list-item-link");this.button.innerHTML=e.innerHTML,this.fireEvent(d.UPDATE,{target:e,value:this.button.innerHTML}),this.addActiveDropdownItem(e)}},{key:"nextItem",value:function(t){var e=this,n=this.listbox.querySelectorAll(".dxDropdown__list-item-link:not(.dxDropdown__list-item-link--disabled)");Array.prototype.forEach.call(n,function(o,i){t.target===o&&(i===n.length-1?e.focusFirstItem():n[i+1].focus())})}},{key:"previousItem",value:function(t){var e=this,n=this.listbox.querySelectorAll(".dxDropdown__list-item-link:not(.dxDropdown__list-item-link--disabled)");Array.prototype.forEach.call(n,function(o,i){t.target===o&&(0===i?e.focusLastItem():n[i-1].focus())})}},{key:"focusFirstItem",value:function(){this.listbox.querySelector(".dxDropdown__list-item-link:not(.dxDropdown__list-item-link--disabled)").focus()}},{key:"focusLastItem",value:function(){var t=this.listbox.querySelectorAll(".dxDropdown__list-item-link:not(.dxDropdown__list-item-link--disabled)");t.length&&t[t.length-1].focus()}},{key:"addActiveDropdownItem",value:function(t){var e=this.element.querySelector(".dxDropdown__list-item-link--active:not(.dxDropdown__list-item-link--disabled)");null!==e&&e.classList.remove("dxDropdown__list-item-link--active"),t.classList.add("dxDropdown__list-item-link--active")}},{key:"fireEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.le)(this.element,t,e)}},{key:"getElement",value:function(){return this.element}},{key:"DxDropdown",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=this[t];return"function"==typeof n?n.bind(this,e)():void 0}}],e&&r(t.prototype,e),n&&r(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n}()}}]);

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.