ui2022/button--button.html.twig line 1

Open in your IDE?
  1. {% set icon = _args.icon|default(null) %}
  2. {% set text = _args.text|default(null) %}
  3. {% set image = _args.image|default(null) %}
  4. {% set type = _args.type|default('button') %}
  5. {% set styles = _args.styles|default(['default']) %}
  6. {% set dropdown = _args.dropdown|default(null) %}
  7. {% set drop = _args.drop|default('down') %}
  8. {% set modal = _args.modal|default(null) %}
  9. {% set sidepanel = _args.sidepanel|default(null) %}
  10. {% set attr = _args.attr|default({}) %}
  11. {% set churnzero = _args.churnzero|default(null) %}
  12. {% if styles is not iterable %}
  13.     {% set styles = styles|split(' ') %}
  14. {% endif %}
  15. {% if icon is not empty %}
  16.     {% set styles = styles|merge(['icon']) %}
  17. {% endif %}
  18. {% set attr = attr|merge({
  19.     class: '%s btn btn-%s %s'|format(
  20.         attr.class|default(''),
  21.         styles|join(' btn-')|trim,
  22.         (dropdown) ? 'dropdown-toggle' : ''
  23.     )|trim,
  24.     type: type,
  25.     'data-toggle': sidepanel ? 'sidepanel' : ((dropdown) ? 'dropdown' : ((modal) ? 'modal' : null)),
  26.     'data-target': sidepanel ? ('#' ~ sidepanel) : (modal ? ('#' ~ modal) : null),
  27.     'data-churnzero': churnzero and churnzero.event is defined ? churnzero.event : null,
  28.     'data-churnzero-extras': churnzero and churnzero.extras is defined ? churnzero.extras|json_encode : null,
  29. }) %}
  30. {% if dropdown %}
  31. <div class="btn-group drop{{- drop -}}">
  32. {% endif %}
  33. <button {{ attributes(attr) }}>
  34.     {% if block('content') is defined %}
  35.         {{ block('content') }}
  36.     {% else %}
  37.         {% if image %}
  38.             <img src="{{ image }}" />
  39.         {% endif %}
  40.         {% if text %}{{ text }}{% endif %}
  41.         {% if icon %}<i class="{{ icon }}"></i>{% endif %}
  42.     {% endif %}
  43. </button>
  44. {% if dropdown %}
  45.     {% include '@ui2022/dropdown__menu.html.twig' with dropdown %}
  46. </div>
  47. {% endif %}