Show a list to help answer a question
const handleChange = (event: GoabRadioGroupOnChangeDetail) => {
console.log("value is", event.value);
};<form>
<GoabxFormItem
label="Do you have additional education expenses?"
helpText="You can request funding for these now or at any time during your program."
mb="m">
<GoabxRadioGroup name="additional" onChange={handleChange}>
<GoabxRadioItem label="Yes" value="yes" name="additional" />
<GoabxRadioItem label="No" value="no" name="additional" />
</GoabxRadioGroup>
</GoabxFormItem>
<GoabDetails heading="What are additional education expenses?">
<GoabBlock gap="m" mt="m">
<div>
<strong>Examples of education expenses</strong>
<ul className="goa-unordered-list">
<li>Laptop and computer hardware</li>
<li>Computer apps and subscriptions</li>
<li>Home internet</li>
<li>Testing and exam fees</li>
<li>Work or school clothing, like work boots</li>
</ul>
</div>
<div>
<strong>Do not include</strong>
<ul className="goa-unordered-list">
<li>Tuition</li>
<li>Mandatory fees</li>
<li>Books and supplies</li>
<li>School association fees</li>
</ul>
</div>
</GoabBlock>
</GoabDetails>
</form>form: FormGroup;
constructor(private fb: FormBuilder) {
this.form = this.fb.group({
additional: [""]
});
}
onRadioChange(event: Event): void {
const detail = (event as CustomEvent).detail;
console.log("value is", detail.value);
}<form [formGroup]="form">
<goabx-form-item
label="Do you have additional education expenses?"
helpText="You can request funding for these now or at any time during your program."
mb="m">
<goabx-radio-group name="additional" (onChange)="onRadioChange($event)">
<goabx-radio-item label="Yes" value="yes" name="additional"></goabx-radio-item>
<goabx-radio-item label="No" value="no" name="additional"></goabx-radio-item>
</goabx-radio-group>
</goabx-form-item>
<goab-details heading="What are additional education expenses?">
<goab-block gap="m" mt="m">
<div>
<strong>Examples of education expenses</strong>
<ul class="goa-unordered-list">
<li>Laptop and computer hardware</li>
<li>Computer apps and subscriptions</li>
<li>Home internet</li>
<li>Testing and exam fees</li>
<li>Work or school clothing, like work boots</li>
</ul>
</div>
<div>
<strong>Do not include</strong>
<ul class="goa-unordered-list">
<li>Tuition</li>
<li>Mandatory fees</li>
<li>Books and supplies</li>
<li>School association fees</li>
</ul>
</div>
</goab-block>
</goab-details>
</form>document.querySelector('goa-radio-group').addEventListener('_change', (e) => {
console.log('value is', e.detail.value);
});<form>
<goa-form-item version="2"
label="Do you have additional education expenses?"
helptext="You can request funding for these now or at any time during your program."
mb="m">
<goa-radio-group version="2" name="additional">
<goa-radio-item label="Yes" value="yes" name="additional"></goa-radio-item>
<goa-radio-item label="No" value="no" name="additional"></goa-radio-item>
</goa-radio-group>
</goa-form-item>
<goa-details heading="What are additional education expenses?">
<goa-block gap="m" mt="m">
<div>
<strong>Examples of education expenses</strong>
<ul class="goa-unordered-list">
<li>Laptop and computer hardware</li>
<li>Computer apps and subscriptions</li>
<li>Home internet</li>
<li>Testing and exam fees</li>
<li>Work or school clothing, like work boots</li>
</ul>
</div>
<div>
<strong>Do not include</strong>
<ul class="goa-unordered-list">
<li>Tuition</li>
<li>Mandatory fees</li>
<li>Books and supplies</li>
<li>School association fees</li>
</ul>
</div>
</goa-block>
</goa-details>
</form>Show a list to help answer a question using an expandable details component.
When to use
Use this pattern when:
- Users need clarification about what items qualify for a question
- You want to provide examples of what to include or exclude
- The guidance content would clutter the form if always visible
- Users can make better decisions with reference information
Considerations
- Place the details component after the form question it relates to
- Use clear headings within the details to organize content
- Include both “examples of” and “do not include” lists when relevant
- Keep the details heading phrased as a question to indicate it provides clarification
- Ensure the expanded content is easy to scan with clear formatting