<%#
# paramètres content

* content.size (string, optional) : taille du contenu

* content.img (object, optional): paramètres de l'image
    ** src (string, required) : url de l'image
    ** alt (string, optional) : texte alternatif
    ** style (string, optional) : style de l'image

* content.svg (string, optional): image en svg

* content.caption (string, optional): paramètres de l'image

* content.classes (array, optional) : Classes supplémentaires sur l'élément

* content.attributes (object, optional) : Attributs supplémentaires sur l'élément

%>
<% eval(include('../../../../../core/index.ejs')); %>
<% let content = locals.content || {} %>

<%
let classes = content.classes || [];
let attributes = content.attributes || [];
classes.push(prefix + '-content-media');

switch (content.size) {
    case 'sm':
        classes.push(prefix + '-content-media--sm');
        break;

    case 'lg':
        classes.push(prefix + '-content-media--lg');
        break;
}

let type = (content.img !== undefined || content.svg !== undefined) ? 'img' : 'vid';

let markup;

switch (type) {
    case 'img':
        markup = 'figure';
        attributes["role"] = "group";
        if (content.caption != undefined) attributes["aria-label"] = content.caption;
        break;

    case 'vid':
        markup = 'div';
        break;
}
%>

<<%= markup %> <%- includeClasses(classes); %> <%- includeAttrs(attributes); %>>
<%
switch(type) {
    case 'img':
%>
        <%- include('./media-img', {content: content}); %>
<%      break;

    case 'vid':
%>
        <%- include('./media-vid', {content: content}); %>
<%      break;
}
%>

</<%= markup %>>
