From 9a5d29d1e8eb0b5acfc930e5b0e5ae6a78e37b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Tue, 11 Dec 2018 12:09:39 -0500 Subject: [PATCH] Override Bulma's form-element-label template to add form-label class --- .../elements/form-element-label.html.twig | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 agaric/templates/elements/form-element-label.html.twig diff --git a/agaric/templates/elements/form-element-label.html.twig b/agaric/templates/elements/form-element-label.html.twig new file mode 100644 index 0000000..8d49cf7 --- /dev/null +++ b/agaric/templates/elements/form-element-label.html.twig @@ -0,0 +1,53 @@ +{# +/** + * @file + * Default theme implementation for a form element label. + * + * Available variables: + * - element: an input element. + * - title: The label's text. + * - title_display: Elements title_display setting. + * - description: element description. + * - required: An indicator for whether the associated form element is required. + * - is_checkbox: Whether the label is outputted in checkbox context. + * - is_radio: Whether the label is outputted in radio button context. + * - attributes: A list of HTML attributes for the label. + * + * @ingroup templates + * + * @see template_preprocess_form_element_label() + */ +#} +{%- + set classes = [ + 'form-label', + 'label', + 'control-label', + title_display == 'after' ? 'option', + title_display == 'invisible' and not (is_checkbox or is_radio) ? 'sr-only', + required ? 'js-form-required', + required ? 'form-required', + tag, + color, + size, + ] +-%} +{% if title is not empty and title_display == 'invisible' and (is_checkbox or is_radio) -%} + {# + Clear but preserve label text as attribute (e.g. for screen readers) for + checkboxes/radio buttons when it actually should be invisible. + #} + {%- set attributes = attributes.setAttribute('title', title) -%} + {%- set title = null -%} +{%- endif -%} +{# + Labels for single checkboxes/radios contain the element itself and thus have + always to be rendered regardless of whether they have a title or not. +#} +{%- if title is not empty or is_checkbox or is_radio -%} + {{ element }}{{ title }} + {%- if description -%} +

{{ description }}

+ {%- endif -%} + +{%- endif -%}