Enhanced text input component with validation and consistent styling
label
- Field label text displayed above the inputhint
- Placeholder text displayed inside the input when emptycontroller
- TextEditingController for managing input stateonChanged
- Callback triggered when the input value changesonSubmitted
- Callback triggered when the user submits the inputvalidator
- Form validation function that returns error text or nullerrorText
- Custom error message (overrides validator output)helperText
- Helper text displayed below the inputprefixIcon
- Icon displayed at the beginning of the inputsuffixIcon
- Icon displayed at the end of the inputiconSize
- Custom size for icons (default: 18px)obscureText
- Whether to hide the input text (for passwords)enabled
- Whether the input is interactivemaxLines
- Maximum number of text lines (default: 1)keyboardType
- Type of keyboard to displaytextInputAction
- Action button for the keyboardwidth
- Custom width (default: full width)HuxTokens.borderPrimary(context)
HuxTokens.primary(context)
with 50% opacityHuxTokens.borderDestructive(context)
HuxTokens.textDestructive(context)
with 2px widthHuxTokens.borderSecondary(context)
HuxTokens.surfacePrimary(context)
HuxTokens.surfaceSecondary(context)
HuxTokens.textSecondary(context)
with medium weightHuxTokens.iconSecondary(context)