{% macro action_cardtoolbutton(icon, attrs) %} {% import '@Tabler/components/button.html.twig' as macro %} {{ macro.button(icon, attrs) }} {% endmacro %} {% macro action_collapsebutton(label, target) %} {{ _self.action_cardtoolbutton('collapse', {collapse: target, title: label|default('')}) }} {% endmacro %} {% macro link_button(label, href, icon, type, size) %} {% import '@Tabler/components/button.html.twig' as macro %} {% set _href = href ?? '#' %} {% set _icon = icon ?? false %} {% set _type = type ?? 'primary' %} {% set _size = size ?? null %} {{ macro.button(_icon, { title: label, combined: true, url: _href, class: _size ? 'btn-' ~ _size : '' }, _type) }} {% endmacro %} {% macro action_button(label, action, icon, type, size) %} {% import '@Tabler/components/button.html.twig' as macro %} {% set _icon = icon ?? false %} {% set _type = type ?? 'primary' %} {% set _size = size ?? null %} {{ macro.button(_icon, { title: label, class: _size ? 'btn-' ~ _size : '', buttonType: 'button', attr: {'data-action': action} }, _type) }} {% endmacro %} {% macro submit_button(icon, user_values, type) %} {% import '@Tabler/components/button.html.twig' as macro %} {% set default_values = { combined : true, attr : {type: 'submit'}, disabled : false, buttonType : 'submit', } %} {% set values_attr = default_values.attr | merge(user_values.attr|default({})) %} {% set values = default_values | merge(user_values|default({})) %} {% set values = values | merge({'attr' : values_attr}) %} {{ macro.button(icon, values, type) }} {% endmacro %} {% macro dropdown_button(button, actions, options) %} {% import '@Tabler/components/button.html.twig' as macro %} {% import '@Tabler/includes/utils.html.twig' as utils %} {% set button_default = { buttonType : 'button', class: '', combined : true, attr : { 'data-bs-toggle' : 'dropdown' }, } %} {% set options = (options|default({})) | merge({icon_class: 'me-2 text-center'}) %} {% set values_attr = button_default.attr | merge(button.attr|default({})) %} {% set values = button_default | merge(button|default({})) %} {% set values = values | merge({'attr' : values_attr}) %} {% endmacro %}