PageSourceSearch

https://www.dilcrah.gouv.fr/modules/internal/select_a11y/js/select-a11y.min.js?v=10.6.10

js dilcrah.gouv.fr collected 2026-09-24 18:12:27 UTC 12,949 bytes, 1 lines download raw bytes

1var Select=function(){"use strict";function s(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function l(){return(l=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t}).apply(this,arguments)}function L(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=[],s=!0,n=!1,l=void 0;try{for(var a,o=t[Symbol.iterator]();!(s=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);s=!0);}catch(t){n=!0,l=t}finally{try{s||null==o.return||o.return()}finally{if(n)throw l}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var a={help:"Utilisez la tabulation (ou les touches flèches) pour naviguer dans la liste des suggestions",placeholder:"Rechercher dans la liste",noResult:"Aucun résultat",results:"{x} suggestion(s) disponibles",deleteItem:"Supprimer {t}",delete:"Supprimer"},i=Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,o=Element.prototype.closest;return o||(o=function(t){var e=this;do{if(i.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}),function(){function n(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),this.el=t,this.label=document.querySelector("label[for=".concat(t.id,"]")),this.id=t.id,this.open=!1,this.multiple=this.el.multiple,this.search="",this.suggestions=[],this.focusIndex=null,this.isDSFR=!1,t.closest(".fr-container")&&(this.isDSFR=!0);var i=l({},e),s=l(a,i.text);delete i.text,this._options=l({text:s,showSelected:!0},i),this._handleFocus=this._handleFocus.bind(this),this._handleInput=this._handleInput.bind(this),this._handleKeyboard=this._handleKeyboard.bind(this),this._handleOpener=this._handleOpener.bind(this),this._handleReset=this._handleReset.bind(this),this._handleSuggestionClick=this._handleSuggestionClick.bind(this),this._positionCursor=this._positionCursor.bind(this),this._removeOption=this._removeOption.bind(this),this._disable(),this.button=this._createButton(),this.liveZone=this._createLiveZone(),this.overlay=this._createOverlay(),this.wrap=this._wrap(),this.multiple&&this._options.showSelected&&(this.selectedList=this._createSelectedList(),this._updateSelectedList(),this.selectedList.addEventListener("click",this._removeOption)),this.button.addEventListener("click",this._handleOpener),this.input.addEventListener("input",this._handleInput),this.input.addEventListener("focus",this._positionCursor,!0),this.list.addEventListener("click",this._handleSuggestionClick),this.wrap.addEventListener("keydown",this._handleKeyboard),document.addEventListener("blur",this._handleFocus,!0),this.el.form.addEventListener("reset",this._handleReset)}return function(t,e,i){e&&s(t.prototype,e),i&&s(t,i)}(n,[{key:"_createButton",value:function(){var t=document.createElement("button");t.setAttribute("type","button"),t.setAttribute("aria-expanded",this.open),this.isDSFR?t.className="fr-select select-a11y-filters-dropdown":t.className="btn btn-select-a11y";var e=document.createElement("span");if(this.multiple)this._options.text.call_to_action?e.innerText=this._options.text.call_to_action:e.innerText=this.label.innerText;else{var i=this.el.item(this.el.selectedIndex);e.innerText=i.label||i.value,this.label.id||(this.label.id="".concat(this.el.id,"-label")),t.setAttribute("id",this.el.id+"-button"),t.setAttribute("aria-labelledby",this.label.id+" "+t.id)}return t.appendChild(e),t.insertAdjacentHTML("beforeend",'<span class="icon-select" aria-hidden="true"></span>'),t}},{key:"_createLiveZone",value:function(){var t=document.createElement("p");return t.setAttribute("aria-live","polite"),t.classList.add("sr-only"),t}},{key:"_createOverlay",value:function(){var t=document.createElement("div");t.classList.add("a11y-container");var e=document.createElement("div");return e.classList.add("a11y-suggestions"),e.id="a11y-".concat(this.id,"-suggestions"),t.innerHTML='\n      <p id="a11y-usage-'.concat(this.id,'-js" class="sr-only">').concat(this._options.text.help,'</p>\n      <label for="a11y-').concat(this.id,'-js" class="sr-only">').concat(this._options.text.placeholder,"</label>\n    "),this.isDSFR?(t.classList.add("fr-background-alt--grey"),t.innerHTML+='\n      <input type="text" id="a11y-'.concat(this.id,'-js" class="fr-input" autocomplete="off" autocapitalize="off" spellcheck="false" placeholder="').concat(this._options.text.placeholder,'" aria-describedby="a11y-usage-').concat(this.id,'-js">\n      ')):t.innerHTML+='\n        <input type="text" id="a11y-'.concat(this.id,'-js" class="').concat(this.el.className,'" autocomplete="off" autocapitalize="off" spellcheck="false" placeholder="').concat(this._options.text.placeholder,'" aria-describedby="a11y-usage-').concat(this.id,'-js">\n      '),t.appendChild(e),this.list=e,this.input=t.querySelector("input"),t}},{key:"_createSelectedList",value:function(){var t=document.createElement("ul");return t.className="list-inline list-selected",this.isDSFR&&(t.className+=" fr-tags-group"),t}},{key:"_disable",value:function(){this.el.setAttribute("tabindex",-1)}},{key:"_fillSuggestions",value:function(){var t=this.search.toLowerCase();this.suggestions=new Array;var e=0,i=!0,s=!1,n=void 0;try{for(var l,a=Array.from(this.el.children).entries()[Symbol.iterator]();!(i=(l=a.next()).done);i=!0){var o=L(l.value,2),r=(o[0],o[1]);if("OPTGROUP"==r.tagName){var u=this._handleDivCreation("option-group",1,e);u.setAttribute("disabled","disabled"),u.innerHTML="<p>"+(r.label||r.value)+"</p>",this.suggestions.push(u);var h=e,c=!0,d=!1,p=void 0;try{for(var v,f=Array.from(r.children).entries()[Symbol.iterator]();!(c=(v=f.next()).done);c=!0){var y=L(v.value,2),m=(y[0],y[1]);if(-1!==(m.label||m.value).toLowerCase().indexOf(t)){if("OPTION"==m.tagName){var b=this._handleDivCreation("option",2,e);m.selected&&b.setAttribute("aria-selected","true"),b.innerHTML="<p>"+(m.label||m.value)+"</p>",this.suggestions.push(b),e++}}else e++}}catch(t){d=!0,p=t}finally{try{c||null==f.return||f.return()}finally{if(d)throw p}}h===e&&this.suggestions.pop(u)}if("OPTION"==r.tagName){var g=r.label||r.value;if(-1===g.toLowerCase().indexOf(t)){e++;continue}var _=this._handleDivCreation("option",1,e);r.selected&&_.setAttribute("aria-selected","true"),_.innerHTML="<p>"+g+"</p>",this.suggestions.push(_),e++}}}catch(t){s=!0,n=t}finally{try{i||null==a.return||a.return()}finally{if(s)throw n}}
1if(this.suggestions.filter(Boolean),this.suggestions.length){var x=document.createElement("div");x.setAttribute("role","listbox"),this.multiple&&x.setAttribute("aria-multiselectable","true"),this.suggestions.forEach(function(t){x.appendChild(t)}.bind(this)),this.list.innerHTML="",this.list.appendChild(x)}else this.list.innerHTML='<p class="a11y-no-suggestion">'.concat(this._options.text.noResult,"</p>");this._setLiveZone()}},{key:"_handleDivCreation",value:function(t,e,i){var s=document.createElement("div");return s.setAttribute("role",t),s.setAttribute("tabindex",0),s.setAttribute("data-level",e),s.setAttribute("data-index",i),"option"==t&&s.classList.add("a11y-suggestion"),s}},{key:"_handleOpener",value:function(t){this._toggleOverlay()}},{key:"_handleFocus",value:function(){this.open&&(clearTimeout(this._focusTimeout),this._focusTimeout=setTimeout(function(){if(this.overlay.contains(document.activeElement)||this.button===document.activeElement)if(document.activeElement===this.input)this.focusIndex=null;else{var t=this.suggestions.indexOf(document.activeElement);-1!==t&&(this.focusIndex=t)}else this._toggleOverlay(!1,document.activeElement===document.body)}.bind(this),10))}},{key:"_handleReset",value:function(){clearTimeout(this._resetTimeout),this._resetTimeout=setTimeout(function(){if(this._fillSuggestions(),this.multiple&&this._options.showSelected)this._updateSelectedList();else if(!this.multiple){var t=this.el.item(this.el.selectedIndex);this._setButtonText(t.label||t.value)}}.bind(this),10)}},{key:"_handleSuggestionClick",value:function(t){var e=o.call(t.target,'[role="option"]');if(e){var i=parseInt(e.getAttribute("data-index"),10),s=!this.multiple||!t.ctrlKey;this._toggleSelection(i,s)}}},{key:"_handleInput",value:function(){this.search!==this.input.value&&(this.search=this.input.value,this._fillSuggestions())}},{key:"_handleKeyboard",value:function(t){var e=o.call(t.target,'[role="option"]'),i=o.call(t.target,"input");if(27!==t.keyCode)if(i&&13===t.keyCode)t.preventDefault();else{if(40===t.keyCode)return t.preventDefault(),void this._moveIndex(1);if(e){if(39===t.keyCode)return t.preventDefault(),void this._moveIndex(1);if(37===t.keyCode||38===t.keyCode)return t.preventDefault(),void this._moveIndex(-1);(!this.multiple&&13===t.keyCode||32===t.keyCode)&&(t.preventDefault(),this._toggleSelection(parseInt(e.getAttribute("data-index"),10),!this.multiple)),this.multiple&&13===t.keyCode&&this._toggleOverlay()}}else this._toggleOverlay()}},{key:"_moveIndex",value:function(t){if(null===this.focusIndex)this.focusIndex=0;else{var e=this.focusIndex+t,i=this.suggestions.length-1;this.focusIndex=i<e?0:e<0?i:e}this.suggestions[this.focusIndex].focus()}},{key:"_positionCursor",value:function(){setTimeout(function(){this.input.selectionStart=this.input.selectionEnd=this.input.value.length}.bind(this))}},{key:"_removeOption",value:function(t){var e=o.call(t.target,"button");if(e){var i=this.selectedList.querySelectorAll("button"),s=Array.prototype.indexOf.call(i,e)-1,n=parseInt(e.getAttribute("data-index"),10);if(this._toggleSelection(n),this.selectedList.parentElement){var l=this.selectedList.querySelectorAll("button");l[s]?l[s].focus():l[0].focus()}else this.button.focus()}}},{key:"_setButtonText",value:function(t){this.button.firstElementChild.innerText=t}},{key:"_setLiveZone",value:function(){var t=this.suggestions.length,e="";this.open&&(e=t?this._options.text.results.replace("{x}",t):this._options.text.noResult),this.liveZone.innerText=e}},{key:"_toggleOverlay",value:function(t,e){this.open=void 0!==t?t:!this.open,this.button.setAttribute("aria-expanded",this.open),this.open?(this._fillSuggestions(),this.button.insertAdjacentElement("afterend",this.overlay),this.input.focus()):this.wrap.contains(this.overlay)&&(this.wrap.removeChild(this.overlay),this.focusIndex=null,this.input.value="",this.search="",this._setLiveZone(),(void 0===t||e)&&setTimeout(function(){this.button.focus()}.bind(this)))}},{key:"_toggleSelection",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=this.el.item(t);
1this.multiple?this.el.item(t).selected=!this.el.item(t).selected:this.el.selectedIndex=t,this.suggestions.forEach(function(t){var e=parseInt(t.getAttribute("data-index"),10);this.el.item(e).selected?t.setAttribute("aria-selected","true"):t.removeAttribute("aria-selected")}.bind(this)),this.multiple?this._options.showSelected&&this._updateSelectedList():this._setButtonText(i.label||i.value),e&&this.open&&this._toggleOverlay(),window.setTimeout(function(t){this.el.dispatchEvent(new CustomEvent("change",{detail:t}))}.bind(this,t),100)}},{key:"_updateSelectedList",value:function(){var t=Array.prototype.map.call(this.el.options,function(t,e){if(t.selected){var i=t.label||t.value;return this.isDSFR?'\n        <li>\n          <button class="fr-tag fr-tag--dismiss" title="'.concat(this._options.text.deleteItem.replace("{t}",i),'" type="button" data-index="').concat(e,'">\n            <span>').concat(i,'</span><span class="sr-only">').concat(this._options.text.delete,'</span>\n            <span class="cross" aria-hidden="true"></span>\n          </button>\n        </li>'):'\n        <li class="tag-item">\n          <span>'.concat(i,'</span>\n          <button class="tag-item-supp" title="').concat(this._options.text.deleteItem.replace("{t}",i),'" type="button" data-index="').concat(e,'">\n            <span class="sr-only">').concat(this._options.text.delete,'</span>\n            <span class="icon-delete" aria-hidden="true"></span>\n          </button>\n        </li>')}}.bind(this)).filter(Boolean);this.selectedList.innerHTML=t.join(""),t.length?this.selectedList.parentElement||(this.isDSFR?this.wrap.insertBefore(this.selectedList,this.wrap.firstChild):this.wrap.appendChild(this.selectedList)):this.selectedList.parentElement&&this.wrap.removeChild(this.selectedList)}},{key:"_wrap",value:function(){var t=document.createElement("div");t.classList.add("select-a11y"),this.el.parentElement.appendChild(t);var e=document.createElement("div");return e.classList.add("tag-hidden"),e.setAttribute("aria-hidden",!0),this.multiple&&!this._options.text.call_to_action&&e.appendChild(this.label),e.appendChild(this.el),t.appendChild(e),t.appendChild(this.liveZone),t.appendChild(this.button),t}}]),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.