Merge pull request #6 from Iconica-Development/doc--improve-documentation

doc: create documentation for files
This commit is contained in:
Freek van de Ven 2024-03-05 15:58:37 +01:00 committed by GitHub
commit f32ad75235
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 29 additions and 1 deletions

View file

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

View file

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