doc: create documentation for files

This commit is contained in:
Vick Top 2024-02-20 14:23:10 +01:00
parent c26d9de2ca
commit c7dd72a245
2 changed files with 29 additions and 1 deletions

View file

@ -4,7 +4,12 @@
import 'package:flutter/material.dart';
/// Defines a character input configuration.
class InputCharacter {
/// Creates an [InputCharacter] configuration.
///
/// The [keyboardType] parameter is required.
/// The [readOnly], [hint], and [formatter] parameters are optional.
const InputCharacter({
required this.keyboardType,
this.readOnly = false,
@ -12,12 +17,23 @@ class InputCharacter {
this.formatter,
});
/// The type of keyboard to display for the input.
final TextInputType keyboardType;
final CharacterFormatter? formatter;
/// A flag indicating whether the input is read-only.
final bool readOnly;
/// The optional hint text displayed inside the input field.
final String hint;
/// The optional formatter function to format the input value.
final CharacterFormatter? formatter;
/// Formats the input value using the provided formatter function.
///
/// If no formatter is provided, the input value remains unchanged.
String format(String value) => formatter?.call(value) ?? value;
}
/// Defines a function signature for formatting input characters.
typedef CharacterFormatter = String Function(String);

View file

@ -8,7 +8,9 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_single_character_input/src/input_character.dart';
/// A StatefulWidget that represents a single character input.
class SingleCharacterInput extends StatefulWidget {
/// Creates a SingleCharacterInput widget.
const SingleCharacterInput({
required this.characters,
required this.onChanged,
@ -22,6 +24,8 @@ class SingleCharacterInput extends StatefulWidget {
super.key,
});
/// A function that builds a custom input widget using
/// the provided context and input widgets.
final Widget Function(BuildContext context, List<Widget> inputs)?
buildCustomInput;
@ -33,14 +37,22 @@ class SingleCharacterInput extends StatefulWidget {
// ignore: avoid_positional_boolean_parameters
final void Function(String value, bool isComplete) onChanged;
/// The decoration to be applied to the input widget.
final InputDecoration? inputDecoration;
/// List of all character fields which are used to create inputs.
final List<InputCharacter> characters;
/// The alignment of the input text.
final TextAlign textAlign;
/// The alignment of the cursor.
final TextAlign cursorTextAlign;
/// The spacing between input fields.
final double spacing;
/// The style of the input text.
final TextStyle? textStyle;
@override