Compare commits

...

3 commits

Author SHA1 Message Date
Freek van de Ven
7d64f467bf chore: add component release workflow 2024-09-09 16:49:14 +02:00
mike doornenbal
de5d38ffc7
Merge pull request #43 from Iconica-Development/fix/radio-button-padding
feat: add option for spacing between radio items
2024-09-09 16:46:54 +02:00
Freek van de Ven
0da6ba35f2 feat: add option for spacing between radio items 2024-09-09 16:42:48 +02:00
5 changed files with 31 additions and 3 deletions

14
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,14 @@
name: Iconica Standard Component Release Workflow
# Workflow Caller version: 1.0.0
on:
release:
types: [published]
workflow_dispatch:
jobs:
call-global-iconica-workflow:
uses: Iconica-Development/.github/.github/workflows/component-release.yml@master
secrets: inherit
permissions: write-all

View file

@ -1,3 +1,7 @@
## 3.7.0
* Added a 16 pixel padding between the `FlutterFormInputRadioPicker` items that is customizable with the `itemSpacing` parameter.
## 3.6.0
* Added style parameter to `FlutterFormInputMultiLine`
* Upgrade flutter_iconica_analysis to 7.0.0

View file

@ -14,18 +14,21 @@ class FlutterFormInputRadioPicker extends StatelessWidget {
this.onSaved,
this.onChanged,
this.initialValue,
this.itemSpacing = 16.0,
});
final Function(RadioItem?)? onSaved;
final String? initialValue;
final Function(RadioItem?)? onChanged;
final List<RadioItem> items;
final double itemSpacing;
@override
Widget build(BuildContext context) => RadioPickerFormField(
onSaved: (value) => onSaved?.call(value),
onChanged: (value) => onChanged?.call(value),
initialValue: items.firstWhereOrNull((i) => i.value == initialValue),
itemSpacing: itemSpacing,
items: items,
);
}
@ -34,6 +37,7 @@ class RadioPickerFormField extends FormField<RadioItem?> {
RadioPickerFormField({
required FormFieldSetter<RadioItem> super.onSaved,
required List<RadioItem> items,
required double itemSpacing,
void Function(RadioItem value)? onChanged,
super.initialValue,
super.key,
@ -46,6 +50,7 @@ class RadioPickerFormField extends FormField<RadioItem?> {
},
items: items,
initialValue: initialValue,
itemSpacing: itemSpacing,
),
);
}

View file

@ -5,6 +5,7 @@ class RadioPicker extends StatefulWidget {
const RadioPicker({
required this.onChanged,
required this.items,
this.itemSpacing = 16.0,
this.initialValue,
super.key,
});
@ -13,6 +14,9 @@ class RadioPicker extends StatefulWidget {
final Function(RadioItem) onChanged;
final List<RadioItem> items;
/// The spacing between each item.
final double itemSpacing;
@override
State<RadioPicker> createState() => _RadioPickerState();
}
@ -42,6 +46,9 @@ class _RadioPickerState extends State<RadioPicker> {
),
],
),
if (widget.items.last != item) ...[
SizedBox(width: widget.itemSpacing),
],
],
],
);

View file

@ -1,6 +1,6 @@
name: flutter_input_library
description: A new Flutter package project.
version: 3.6.0
version: 3.7.0
repository: https://github.com/Iconica-Development/flutter_input_library
publish_to: https://forgejo.internal.iconica.nl/api/packages/internal/pub
@ -22,5 +22,3 @@ dev_dependencies:
git:
url: https://github.com/Iconica-Development/flutter_iconica_analysis
ref: 7.0.0
flutter: