templates/includes/dialog.html.twig line 1

Open in your IDE?
  1. {% set attributes = [] %}
  2. {% set classes = ['dialog'] %}
  3. {% if class is defined and class != '' %}
  4.     {% set classes = classes|merge([class]) %}
  5. {% endif %}
  6. {% set bg = background|default('') %}
  7. {% if bg == 'blur' %}
  8.     {% set classes = classes|merge(['dialog--blur-background']) %}
  9. {% elseif bg == 'hide' %}
  10.     {% set classes = classes|merge(['dialog--hide-background']) %}
  11. {% endif %}
  12. {% set attributes = attributes|merge(['class="' ~ classes|join(' ') ~ '"']) %}
  13. {% if id is defined and id != '' %}
  14.     {% set attributes = attributes|merge(['id="' ~ id ~ '"']) %}
  15. {% endif %}
  16. {% if style is defined and style != '' %}
  17.     {% set styleString = '' %}
  18.     {% for rule, property in style %}
  19.         {% set styleString = styleString ~ rule ~ ': ' ~ property ~ ';' %}
  20.     {% endfor %}
  21.     {% set attributes = attributes|merge(['style="' ~ styleString ~ '"']) %}
  22. {% endif %}
  23. {% set hide = [] %}
  24. {% if hideClickBackground is not defined or hideClickBackground == true %}
  25.     {% set hide = hide|merge(['backdrop']) %}
  26. {% endif %}
  27. {% if hideClick is defined and hideClick == true %}
  28.     {% set hide = hide|merge(['click']) %}
  29. {% endif %}
  30. {% set attributes = attributes|merge(['data-dialog-hide-on="' ~ hide|join(' ') ~ '"']) %}
  31. {% if includeHeader is not defined or includeHeader != false %}
  32.     {% set headerId = 'header-' ~ random() %}
  33.     {% set attributes = attributes|merge(['aria-described-by="' ~ headerId ~ '"', 'tabindex="-1"']) %}
  34. {% endif %}
  35. <dialog {{ attributes|join(' ')|raw }}>
  36.     <div class="dialog__content">
  37.         {% if includeHeader is not defined or includeHeader != false %}
  38.         <div class="dialog__header">
  39.             <h2 id="{{ headerId }}" class="dialog__title">{% block title %}{{ title|default('') }}{% endblock %}</h2>
  40.             {% if hideXButton is not defined or hideXButton == false %}
  41.             <div class="dialog__hide-wrapper">
  42.                 <button class="dialog__hide" type="button" aria-label="{{ 'dialog.close'|trans }}"{% if confirmXButton is defined %} data-confirm="{{ confirmXButton }}"{% endif %} data-dialog-hide>&times;</button>
  43.             </div>
  44.             {% endif %}
  45.         </div>
  46.         {% endif %}
  47.         <div class="dialog__body">{% block body %}{% endblock %}</div>
  48.     </div>
  49. </dialog>