From e6be34e35f11f2941e16404b53e7277480fadf7f Mon Sep 17 00:00:00 2001 From: f Date: Mon, 28 Sep 2026 10:24:19 -0300 Subject: [PATCH 01/31] feat: lead --- _includes/forms/form_fields.html | 6 ++++++ _includes/forms/lead.html | 7 +++++++ 2 files changed, 13 insertions(+) create mode 100644 _includes/forms/lead.html diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index 4f17931..e039862 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -75,6 +75,12 @@ default_label_class_by_type: {% endblock %} {% continue %} + {% elsif type == 'lead' %} + {% block 'forms/lead.html', id: %} + {{ field[1].label[locale] }} + {% endblock %} + + {% continue %} {% else %} {% assign class = default_label_class_by_type | try: type %} {% block 'forms/label.html', id:, class: %} diff --git a/_includes/forms/lead.html b/_includes/forms/lead.html new file mode 100644 index 0000000..a635b1d --- /dev/null +++ b/_includes/forms/lead.html @@ -0,0 +1,7 @@ +--- +id: + type: 'string' +--- +

+ {{- yield -}} +

-- 2.54.0 From 7606d819841f418882914d5f7ea153e122076bf4 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 10:17:18 -0300 Subject: [PATCH 02/31] feat: visually identify required fields --- _includes/forms/form_fields.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index e039862..3776d2b 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -84,7 +84,7 @@ default_label_class_by_type: {% else %} {% assign class = default_label_class_by_type | try: type %} {% block 'forms/label.html', id:, class: %} - {{ field[1].label[locale] }} + {{ field[1].label[locale] }} {{ required | value_if: '*' }} {% endblock %} {% endif %} -- 2.54.0 From 66c7a38ec0eb41824f5c579af3870223e8a057b1 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 10:29:29 -0300 Subject: [PATCH 03/31] feat: help text --- _includes/forms/form_fields.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index 3776d2b..093a6ca 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -24,6 +24,11 @@ default_label_class_by_type: {% assign depends_on = field[1] | try: 'depends_on' %} {% assign dependents = field[1] | try: 'dependents' %} {% assign attributes = '' %} + {% assign help = field[1] | try: 'help' %} + + {% if help %} + {% assign attributes = attributes | append: ' aria-describedby="' | append: id ¦ append: '"' %} + {% endif %} {% if type == 'end_row' %} @@ -111,5 +116,11 @@ default_label_class_by_type: {% else %} {% render template, required:, id:, name:, value: default_values, attributes: %} {% endcase %} + + {% if help %} +
+ {{- help[locale] | markdownify -}} +
+ {% endif %} {% endfor %} -- 2.54.0 From 654f1511529af285e3510190d4d1a5cd7068a96e Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 10:33:11 -0300 Subject: [PATCH 04/31] feat: max and min length --- _includes/forms/form_fields.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index 093a6ca..7d6a1d5 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -114,7 +114,9 @@ default_label_class_by_type: {% assign schema = field[1].schema %} {% render template, schema:, default_value_types:, name:, default_label_class_by_type: %} {% else %} - {% render template, required:, id:, name:, value: default_values, attributes: %} + {% assign maxlenght = field[1] | try: 'maxlenght' %} + {% assign minlenght = field[1] | try: 'minlenght' %} + {% render template, required:, id:, name:, value: default_values, attributes:, maxlenght:, minlenght: %} {% endcase %} {% if help %} -- 2.54.0 From 2f8868552efc14dcfd4a7b99e0c38f20af19bc79 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 10:35:14 -0300 Subject: [PATCH 05/31] fix: typo --- _includes/forms/form_fields.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index 7d6a1d5..9c7a6ff 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -114,8 +114,8 @@ default_label_class_by_type: {% assign schema = field[1].schema %} {% render template, schema:, default_value_types:, name:, default_label_class_by_type: %} {% else %} - {% assign maxlenght = field[1] | try: 'maxlenght' %} - {% assign minlenght = field[1] | try: 'minlenght' %} + {% assign maxlength = field[1] | try: 'maxlength' %} + {% assign minlength = field[1] | try: 'minlength' %} {% render template, required:, id:, name:, value: default_values, attributes:, maxlenght:, minlenght: %} {% endcase %} -- 2.54.0 From 98535a1b0ba72a7b33821addb65d00ec55dbcbd3 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 10:46:58 -0300 Subject: [PATCH 06/31] fix: consistency between inputs (cherry picked from commit 7817128d0b53bbe585887d03d8dcf7910f1ef0ed) --- _includes/forms/date.html | 6 ++++++ _includes/forms/date_of_birth.html | 6 ++++++ _includes/forms/email.html | 8 +++++++- _includes/forms/form_fields.html | 6 +++--- _includes/forms/long_text.html | 10 ++++++++++ 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/_includes/forms/date.html b/_includes/forms/date.html index 38a0f35..5253378 100644 --- a/_includes/forms/date.html +++ b/_includes/forms/date.html @@ -22,5 +22,11 @@ value: attributes: type: 'string' default: '' +maxlength: + type: 'integer' + default: 0 +minlength: + type: 'integer' + default: 0 --- {% render 'forms/input.html', type: 'date', id:, name:, class:, placeholder:, required:, autofocus:, value:, attributes: %} diff --git a/_includes/forms/date_of_birth.html b/_includes/forms/date_of_birth.html index fc2b021..58da6a8 100644 --- a/_includes/forms/date_of_birth.html +++ b/_includes/forms/date_of_birth.html @@ -28,6 +28,12 @@ label: es: 'Edad' en: 'Age' ar: 'Age' +maxlength: + type: 'integer' + default: 0 +minlength: + type: 'integer' + default: 0 --- {% assign age_attributes = attributes | append: ' ' | append: 'readonly data-dob-target="age"' %} {% assign attributes = 'data-dob-target="date" data-action="dob#update"' %} diff --git a/_includes/forms/email.html b/_includes/forms/email.html index 8180c50..2d9dff5 100644 --- a/_includes/forms/email.html +++ b/_includes/forms/email.html @@ -21,6 +21,12 @@ value: default: '' attributes: type: 'string' - default: '' + default: 'autocomplete="email"' +maxlength: + type: 'integer' + default: 0 +minlength: + type: 'integer' + default: 0 --- {% render 'forms/input.html', id:, type: "email", class:, required:, autofocus:, name:, placeholder:, attributes: %} diff --git a/_includes/forms/form_fields.html b/_includes/forms/form_fields.html index 9c7a6ff..a868702 100644 --- a/_includes/forms/form_fields.html +++ b/_includes/forms/form_fields.html @@ -27,7 +27,7 @@ default_label_class_by_type: {% assign help = field[1] | try: 'help' %} {% if help %} - {% assign attributes = attributes | append: ' aria-describedby="' | append: id ¦ append: '"' %} + {% assign attributes = attributes | append: ' aria-describedby="' | append: id | append: '"' %} {% endif %} {% if type == 'end_row' %} @@ -116,12 +116,12 @@ default_label_class_by_type: {% else %} {% assign maxlength = field[1] | try: 'maxlength' %} {% assign minlength = field[1] | try: 'minlength' %} - {% render template, required:, id:, name:, value: default_values, attributes:, maxlenght:, minlenght: %} + {% render template, required:, id:, name:, value: default_values, attributes:, maxlength:, minlength: %} {% endcase %} {% if help %}
- {{- help[locale] | markdownify -}} + {{- help[locale] -}}
{% endif %} diff --git a/_includes/forms/long_text.html b/_includes/forms/long_text.html index 067e0fc..cf4daee 100644 --- a/_includes/forms/long_text.html +++ b/_includes/forms/long_text.html @@ -19,6 +19,12 @@ value: attributes: type: 'string' default: '' +maxlength: + type: 'integer' + default: 0 +minlength: + type: 'integer' + default: 124 --- -- 2.54.0 From 163b2b437e7498c8fdaec4e0079251463a84d0ed Mon Sep 17 00:00:00 2001 From: f Date: Tue, 29 Sep 2026 11:08:49 -0300 Subject: [PATCH 07/31] fix: long text --- _includes/forms/long_text.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/forms/long_text.html b/_includes/forms/long_text.html index cf4daee..f1537f4 100644 --- a/_includes/forms/long_text.html +++ b/_includes/forms/long_text.html @@ -21,10 +21,10 @@ attributes: default: '' maxlength: type: 'integer' - default: 0 + default: 2048 minlength: type: 'integer' - default: 124 + default: 0 ---