Expense Type Selector Widget
Component Detail
User Interface
medium complexity
mobile
1
Dependencies
0
Dependents
4
Entities
0
Integrations
Description
Interactive selection widget that presents the organisation's configured expense types with mutual-exclusivity enforcement. Renders available types as selectable cards or radio groups, dynamically disabling incompatible choices based on the organisation's rule configuration. Displays required documentation indicators and amount thresholds inline so peer mentors understand requirements before selecting.
expense-type-selector-widget
Responsibilities
- Render available expense types from cached organisation catalogue
- Enforce mutual-exclusivity rules by disabling conflicting type selections
- Display documentation requirements and amount thresholds per type
- Provide accessible selection with WCAG 2.2 AA compliance including screen reader labels
- Emit selected type and associated rule metadata to parent expense form
Interfaces
buildExpenseTypeList(types: List<ExpenseType>)
onTypeSelected(ExpenseType type)
applyMutualExclusivityRules(List<ExclusivityGroup> groups)
showRequiredDocumentation(ExpenseType type)
showAmountThreshold(ExpenseType type)
disableIncompatibleTypes(String selectedTypeId)
resetSelection()
getSelectedType(): ExpenseType?
Relationships
Related Data Entities (4)
Data entities managed by this component