This documentation site supports displaying mobile app component documentation alongside web component documentation. Mobile app components are built with React Native and maintained in the VA Mobile Library.
The system includes all 11 available VA Mobile Library components:
- va-alert - Status messages and notifications
- va-button - Primary interaction element with multiple variants
- va-checkbox - Multi-select option with tile support
- va-icon - VA design system iconography
- va-link - Navigation with multiple link types
- va-loading-indicator - Loading states with optional text
- va-radio-button - Single-select option with tile support
- va-segmented-control - Multi-option selector
- va-snackbar - Brief bottom-screen messages
- va-spacer - Consistent spacing between elements
- va-text - Typography with VA design system variants
Web Components: Auto-generated from external npm package
Mobile App Components: Manual source file (mobile-app-component-docs-source.json) read directly by Jekyll
- Add component data to
src/_data/mobile-app-component-docs-source.json - Follow existing structure (see va-button example)
- Add
mobile-app: trueto the component page frontmatter
{
"tag": "va-component-name",
"docs": "Component description",
"props": [
{
"name": "propName",
"type": "string",
"docs": "Description of the prop",
"required": true,
"default": "defaultValue"
}
],
"events": []
}- Use
docsfield (notdescription) for consistency with web components - Set
required: truefor mandatory props - Include
defaultvalues where applicable - Ensure types match the actual TypeScript interfaces
- Both
web: trueandmobile-app: trueflags control which sections display
Mobile app tables not showing?
- Check
mobile-app: trueis in component frontmatter - Verify component exists in
mobile-app-component-docs-source.json
Props missing descriptions?
- Ensure props use
docsfield, notdescription