See "img upload" in sidebar snet/molecules for variants, or go to info panel and look for it in "references" (@snet-img-upload)
Refer to modal frame found in view tab for complete structure without content.
A modal's default size is 640px
Modifier classes for modals
A modal with a content loading component behaves as follows:
<div class="sds-modal modal fade" id="" aria-hidden="true" tabindex="-1">
<div class="sds-modal__dialog modal-dialog modal-sm modal-dialog-centered">
<div class="sds-modal__content modal-content">
<div class="sds-modal__header modal-header">
<div class="sds-modal__title modal-title">Modal title</div>
<button type="button" class="sds-btn -iconBtn -btnSecondary -ghost sds-modal__close" data-dismiss="modal" aria-label="Close">
<span class="sds-icon sds-icon-close"></span>
</button>
</div>
<div class="sds-modal__body modal-body">
<p>Modal content here</p>
</div>
<div class="sds-modal__footer modal-footer">
<div class="sds-btnGroup">
<button type="button" class="sds-btn -btnSecondary -btnInverse" data-dismiss="modal">
<span class="sds-btn__text">Non</span>
</button>
<button type="button" class="sds-btn -btnPrimary" data-dismiss="modal">
<span class="sds-btn__text">Oui</span>
</button>
</div>
</div>
</div>
</div>
</div>
{% extends "@snet-modal-base-frame" %}
{% block header %}
<div class="{{ namespace }}modal__title modal-title">{{ title }}</div>
{% endblock %}
{% block body %}
<p>{{ text }}</p>
{% endblock %}
{% block footer %}
{% if footer %}
<div class="{{ namespace }}btnGroup">
{% render "@btn-secondary-inverse", {
text: "Non",
attrs: {
"data-dismiss": "modal"
}
} ,true %}
{% render "@btn-primary",{
text: "Oui",
attrs: {
"data-dismiss": "modal"
}
},true %}
</div>
{% endif %}
{% endblock %}