2510 - adding additional context to phone numbers

This commit is contained in:
Jonathan Bobel
2025-04-18 14:51:22 -04:00
parent 0b866aa7a7
commit 70b149476c
2 changed files with 65 additions and 35 deletions

View File

@@ -5,7 +5,6 @@
highlight_placeholders=False, highlight_placeholders=False,
autofocus=False, autofocus=False,
autosize=False, autosize=False,
colour_preview=False,
help_link=None, help_link=None,
help_link_text=None, help_link_text=None,
width='2-3', width='2-3',
@@ -13,58 +12,81 @@
safe_error_message=False, safe_error_message=False,
rows=8, rows=8,
extra_form_group_classes='', extra_form_group_classes='',
placeholder='' placeholder='',
input_id=None
) %} ) %}
{% set field_id = kwargs.id if kwargs.id is defined else field.id %}
{% set described_by = '' %}
{% if hint %}{% set described_by = described_by + field_id ~ '-hint' %}{% endif %}
{% if field.errors %}
{% if described_by %}{% set described_by = described_by + ' ' %}{% endif %}
{% set described_by = described_by + field_id ~ '-error' %}
{% endif %}
<div <div
class="usa-form-group{% if field.errors %} usa-form-group--error{% endif %} {{ extra_form_group_classes }}" class="usa-form-group{% if field.errors %} usa-form-group--error{% endif %} {{ extra_form_group_classes }}"
data-module="{% if autofocus %}autofocus{% elif colour_preview %}colour-preview{% endif %}" data-module="{% if autofocus %}autofocus{% elif colour_preview %}colour-preview{% endif %}"
> >
<label class="usa-label" for="{{ field.name }}"> <label class="usa-label" for="{{ field_id }}">
{% if label %} {{ label or field.label.text }}
{{ label }}
{% else %}
{{ field.label.text }}
{% endif %}
</label> </label>
{% if hint %} {% if hint %}
<div class="usa-hint"> <div class="usa-hint" id="{{ field_id }}-hint">
{{ hint }} {{ hint }}
</div> </div>
{% endif %} {% endif %}
{% if field.errors %} {% if field.errors %}
<span id="{{ field.name}}-error" class="error-message usa-error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}" tabindex="-1" aria-live="assertive" role="alert"> <span id="{{ field_id }}-error" class="error-message usa-error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}" tabindex="-1" aria-live="assertive" role="alert">
<span class="usa-sr-only">Error:</span> <span class="usa-sr-only">Error:</span>
{% if not safe_error_message %}{{ field.errors[0] }}{% else %}{{ field.errors[0]|safe }}{% endif %} {% if not safe_error_message %}
{{ field.errors[0] }}
{% else %}
{{ field.errors[0] | safe }}
{% endif %}
</span> </span>
{% endif %} {% endif %}
{%
if highlight_placeholders or autosize {% if highlight_placeholders or autosize %}
%}
{% set field_class = 'usa-textarea form-control-{} textbox-highlight-textbox'.format(width) %} {% set field_class = 'usa-textarea form-control-{} textbox-highlight-textbox'.format(width) %}
{% else %} {% else %}
{% set field_class = 'form-control-{} {}'.format(width, 'textbox-right-aligned' if suffix else '') %} {% set field_class = 'usa-input' %}
{% endif %} {% endif %}
{% {% set field_class = 'form-control ' ~ field_class ~ (' form-control-error' if field.errors else '') %}
set field_class = 'form-control ' + field_class + (
' form-control-error' if field.errors else '' {% if autosize or highlight_placeholders %}
) <textarea
%} id="{{ field_id }}"
{{ field( name="{{ field.name }}"
class=field_class, class="{{ field_class }}"
data_module='enhanced-textbox' if highlight_placeholders or autosize else '', rows="{{ rows }}"
data_highlight_placeholders='true' if highlight_placeholders else 'false', placeholder="{{ placeholder }}"
rows=rows|string, aria-describedby="{{ described_by.strip() }}"
placeholder=placeholder, {% if field.flags.required %}required{% endif %}
aria_describedby=field.name+"-error", data-module="enhanced-textbox"
required='required' if required else None, data-highlight-placeholders="true"
**kwargs >{{ field._value() }}</textarea>
) }} {% else %}
<input
id="{{ field_id }}"
name="{{ field.name }}"
type="{{ field.type }}"
class="{{ field_class }}"
value="{{ field._value() }}"
placeholder="{{ placeholder }}"
aria-describedby="{{ described_by.strip() }}"
{% if field.flags.required %}required{% endif %}
/>
{% endif %}
{% if suffix %} {% if suffix %}
<span>{{ suffix }}</span> <span>{{ suffix }}</span>
{% endif %} {% endif %}
{% if help_link and help_link_text %} {% if help_link and help_link_text %}
<p class="textbox-help-link"> <p class="textbox-help-link">
<a class="usa-link" href='{{ help_link }}'>{{ help_link_text }}</a> <a class="usa-link" href="{{ help_link }}">{{ help_link_text }}</a>
</p> </p>
{% endif %} {% endif %}
</div> </div>

View File

@@ -1,6 +1,7 @@
{% extends "withnav_template.html" %} {% extends "withnav_template.html" %}
{% from "components/page-header.html" import page_header %} {% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer %} {% from "components/page-footer.html" import page_footer %}
{% from "components/textbox.html" import textbox %}
{% from "components/form.html" import form_wrapper %} {% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %} {% from "components/components/back-link/macro.njk" import usaBackLink %}
@@ -38,10 +39,17 @@
data_force_focus=True data_force_focus=True
) %} ) %}
<div class="grid-row"> <div class="grid-row">
{% set extra_class = "extra-tracking" if form.placeholder_value.label.text == "phone number" else "" %} {% set is_phone_number = form.placeholder_value.label.text == "phone number" %}
{% set placeholder_id = "phone number" if form.placeholder_value.label.text == "phone number" else "" %} {% set hint_text = "Include area code, e.g. 202-555-0191" if is_phone_number else None %}
<div class="grid-col-12 {% if form.placeholder_value.label.text == 'phone number' %}extra-tracking{% endif %}"> {% set extra_class = "extra-tracking" if is_phone_number else "" %}
{{ form.placeholder_value(param_extensions={"classes": "", "id": "phone-number"}) }}
<div class="grid-col-12 {{ extra_class }}">
{{ textbox(
form.placeholder_value,
hint=hint_text,
extra_form_group_classes=extra_class,
param_extensions={"id": "phone-number", "classes": ""}
) }}
</div> </div>
{% if skip_link or link_to_upload %} {% if skip_link or link_to_upload %}
<div class="grid-col-12 margin-top-1"> <div class="grid-col-12 margin-top-1">