builder method
Implementation
Widget builder() {
final textAlignment = _computeTextAlign();
final countryButtonForEachSlot =
_buildCountryButtonForEachSlot(textAlignment);
return PhoneFieldSemantics(
hasFocus: focusNode.hasFocus,
enabled: widget.enabled,
inputDecoration: widget.decoration,
child: TextField(
decoration: widget.decoration.copyWith(
errorText: errorText,
prefix: countryButtonForEachSlot[_CountryButtonSlot.prefix],
prefixIcon: countryButtonForEachSlot[_CountryButtonSlot.prefixIcon],
suffix: countryButtonForEachSlot[_CountryButtonSlot.suffix],
suffixIcon: countryButtonForEachSlot[_CountryButtonSlot.suffixIcon],
),
controller: controller._formattedNationalNumberController,
focusNode: focusNode,
enabled: widget.enabled,
inputFormatters: widget.inputFormatters ??
[
FilteringTextInputFormatter.allow(RegExp(
'[${AllowedCharacters.plus}${AllowedCharacters.digits}${AllowedCharacters.punctuation}]')),
],
onChanged: _onTextfieldChanged,
textAlign: _computeTextAlign(),
autofillHints: widget.autofillHints,
keyboardType: widget.keyboardType,
textInputAction: widget.textInputAction,
style: widget.style,
strutStyle: widget.strutStyle,
textAlignVertical: widget.textAlignVertical,
autofocus: widget.autofocus,
obscuringCharacter: widget.obscuringCharacter,
obscureText: widget.obscureText,
autocorrect: widget.autocorrect,
smartDashesType: widget.smartDashesType,
smartQuotesType: widget.smartQuotesType,
enableSuggestions: widget.enableSuggestions,
showCursor: widget.showCursor,
onEditingComplete: widget.onEditingComplete,
onSubmitted: (_) => widget.onSubmitted?.call(controller.value),
onAppPrivateCommand: widget.onAppPrivateCommand,
cursorWidth: widget.cursorWidth,
cursorHeight: widget.cursorHeight,
cursorRadius: widget.cursorRadius,
cursorColor: widget.cursorColor,
onTapOutside: widget.onTapOutside,
selectionHeightStyle: widget.selectionHeightStyle,
selectionWidthStyle: widget.selectionWidthStyle,
keyboardAppearance: widget.keyboardAppearance,
scrollPadding: widget.scrollPadding,
enableInteractiveSelection: widget.enableInteractiveSelection,
selectionControls: widget.selectionControls,
mouseCursor: widget.mouseCursor,
scrollController: widget.scrollController,
scrollPhysics: widget.scrollPhysics,
restorationId: widget.restorationId,
enableIMEPersonalizedLearning: widget.enableIMEPersonalizedLearning,
),
);
}