<%#
# paramètres header version

* version (object, optional) : Paramètres du sélecteur de langue
  ** version.id (string) : id de l'élément
  ** version.button (object, optional) : Paramètres du bouton du sélecteur de langue (ex: {kind:3} pour un btn tertiary)
  ** version.collapseId (string, required) : Id du menu à controler
  ** version.versions (array, required) : Tableau d'objets langues
    *** version.versions[].name (string, required) : Nom de la langue dans son alphabet
    *** version.versions[].locale (string, required) : Code de la langue en 2 caratères
    *** version.versions[].active (boolean, required) : La langue qui apparait dans le bouton et en style active dans la liste (1 seule langue active)
%>
<%
const version = locals.version || {};
const attributes = version.attributes || {};
attributes.id = version.id || uniqueId('version');
const collapseId = version.collapseId || uniqueId('version');
%>

<% eval(include(`${dsfrPkg}src/dsfr/core/index.ejs`)); %>

<div class="dsfr-doc-version <%= prefix %>-nav" <%- includeAttrs(attributes) %>>
  <div class="<%= prefix %>-nav__item">
    <%
    const versionBtn = version.button || {};
    const activeVersion = version.versions.find(version => version.active === true);
    versionBtn.label = activeVersion?.label ?? activeVersion?.text;
    const minBtnClasses = [`dsfr-doc-version__btn`];
    const minBtnAttrs = {
      'aria-controls': collapseId,
      'aria-expanded': false,
      title: versionBtn.title
    };
    versionBtn.id = 'header__tools--version';
    versionBtn.classes = versionBtn.classes !== undefined ? versionBtn.classes.concat(minBtnClasses) : minBtnClasses;
    versionBtn.attributes = versionBtn.attributes !== undefined ? {...minBtnAttrs, ...versionBtn.attributes} : minBtnAttrs;
    %>

    <%- include(`${dsfrPkg}src/dsfr/component/button/template/ejs/button`, { button:versionBtn }); %>

    <div class="<%= prefix %>-collapse dsfr-doc-version__menu <%= prefix %>-menu" id="<%= version.collapseId %>">
        <%- include('versions.ejs', {versions: version.versions}) %>
    </div>
  </div>
</div>
