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.

Feature: Expense Types & Requirements

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

Dependencies (1)

Components this component depends on