diff --git a/CHANGELOG.md b/CHANGELOG.md index 264cef7..bdfbc9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,3 +19,7 @@ ## 1.0.5 * add style to datetime + +## 1.0.6 +* add initial timepicker parameter + diff --git a/example/.metadata b/example/.metadata index a5c357d..8245e38 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled. version: - revision: 135454af32477f815a7525073027a3ff9eff1bfd + revision: 2ad6cd72c040113b47ee9055e722606a490ef0da channel: stable project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 135454af32477f815a7525073027a3ff9eff1bfd - base_revision: 135454af32477f815a7525073027a3ff9eff1bfd - - platform: ios - create_revision: 135454af32477f815a7525073027a3ff9eff1bfd - base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da + base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da + - platform: web + create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da + base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da # User provided section diff --git a/example/lib/main.dart b/example/lib/main.dart index b4edd69..624c1a4 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -61,6 +61,7 @@ class _MyHomePageState extends State { Container(height: 50), const Text('FlutterFormInputDateTime'), FlutterFormInputDateTime( + timePickerEntryMode: TimePickerEntryMode.dialOnly, style: const TextStyle(color: Colors.red), decoration: const InputDecoration(label: Text('test')), inputType: FlutterFormDateTimeType.time, diff --git a/example/pubspec.lock b/example/pubspec.lock index 8c25539..4452471 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,49 +5,56 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" source: hosted version: "1.0.5" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" flutter: @@ -61,19 +68,21 @@ packages: path: ".." relative: true source: path - version: "1.0.4" + version: "1.0.6" flutter_lints: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_riverpod: dependency: transitive description: name: flutter_riverpod - url: "https://pub.dartlang.org" + sha256: "371f6e8acb69dbe8aa3e0a50c8a65f8a9352b599134d585cc4923261cb5ae4d6" + url: "https://pub.dev" source: hosted version: "2.1.1" flutter_test: @@ -85,49 +94,64 @@ packages: dependency: "direct main" description: name: intl - url: "https://pub.dartlang.org" + sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + url: "https://pub.dev" source: hosted version: "0.17.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" riverpod: dependency: transitive description: name: riverpod - url: "https://pub.dartlang.org" + sha256: "899cd0999b2f3b798349d9b5639cfea81d406c011bd914097145ff92e91b29f9" + url: "https://pub.dev" source: hosted version: "2.1.1" sky_engine: @@ -139,58 +163,66 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" state_notifier: dependency: transitive description: name: state_notifier - url: "https://pub.dartlang.org" + sha256: "8fe42610f179b843b12371e40db58c9444f8757f8b69d181c97e50787caed289" + url: "https://pub.dev" source: hosted version: "0.7.2+1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: dart: ">=2.18.2 <3.0.0" flutter: ">=3.0.0" diff --git a/lib/src/inputs/carousel/carousel_slider.dart b/lib/src/inputs/carousel/carousel_slider.dart index 209a899..3f22e25 100644 --- a/lib/src/inputs/carousel/carousel_slider.dart +++ b/lib/src/inputs/carousel/carousel_slider.dart @@ -320,7 +320,7 @@ class CarouselSliderState extends State BuildContext storageContext = carouselState! .pageController!.position.context.storageContext; final double? previousSavedPosition = - PageStorage.of(storageContext)?.readState(storageContext) + PageStorage.of(storageContext).readState(storageContext) as double?; if (previousSavedPosition != null) { itemOffset = previousSavedPosition - idx.toDouble(); diff --git a/lib/src/inputs/date_picker/date_picker.dart b/lib/src/inputs/date_picker/date_picker.dart index ff62626..b0f5183 100644 --- a/lib/src/inputs/date_picker/date_picker.dart +++ b/lib/src/inputs/date_picker/date_picker.dart @@ -15,25 +15,26 @@ enum FlutterFormDateTimeType { } class FlutterFormInputDateTime extends ConsumerWidget { - const FlutterFormInputDateTime( - {this.decoration, - this.style, - Key? key, - this.label, - this.showIcon = true, - required this.inputType, - required this.dateFormat, - this.firstDate, - this.lastDate, - this.initialDate, - this.initialDateTimeRange, - this.icon = Icons.calendar_today, - this.initialValue, - this.onChanged, - this.onSaved, - this.validator, - this.autovalidateMode = AutovalidateMode.disabled}) - : super( + const FlutterFormInputDateTime({ + this.decoration, + this.style, + Key? key, + this.label, + this.showIcon = true, + required this.inputType, + required this.dateFormat, + this.firstDate, + this.lastDate, + this.initialDate, + this.initialDateTimeRange, + this.icon = Icons.calendar_today, + this.initialValue, + this.onChanged, + this.onSaved, + this.validator, + this.autovalidateMode = AutovalidateMode.disabled, + this.timePickerEntryMode = TimePickerEntryMode.dial, + }) : super( key: key, ); final TextStyle? style; @@ -52,6 +53,7 @@ class FlutterFormInputDateTime extends ConsumerWidget { final void Function(String?)? onSaved; final void Function(String?)? onChanged; final AutovalidateMode autovalidateMode; + final TimePickerEntryMode timePickerEntryMode; @override Widget build(BuildContext context, WidgetRef ref) { @@ -72,6 +74,7 @@ class FlutterFormInputDateTime extends ConsumerWidget { onChanged: (value) => onChanged?.call(value), onSaved: (value) => onSaved?.call(value), showIcon: showIcon, + timePickerEntryMode: timePickerEntryMode, ); } } diff --git a/lib/src/inputs/date_picker/date_picker_field.dart b/lib/src/inputs/date_picker/date_picker_field.dart index 132c10f..604e1e7 100644 --- a/lib/src/inputs/date_picker/date_picker_field.dart +++ b/lib/src/inputs/date_picker/date_picker_field.dart @@ -27,6 +27,7 @@ class DateTimeInputField extends ConsumerStatefulWidget { this.onChanged, this.onSaved, this.validator, + required this.timePickerEntryMode, required this.style, }) : super( key: key, @@ -47,6 +48,7 @@ class DateTimeInputField extends ConsumerStatefulWidget { final String? Function(String?)? validator; final void Function(String?)? onSaved; final void Function(String?)? onChanged; + final TimePickerEntryMode timePickerEntryMode; @override ConsumerState createState() => _DateInputFieldState(); @@ -133,6 +135,7 @@ class _DateInputFieldState extends ConsumerState { break; case FlutterFormDateTimeType.time: userInput = await showTimePicker( + initialEntryMode: widget.timePickerEntryMode, builder: (BuildContext context, Widget? child) { return MediaQuery( data: MediaQuery.of(context) diff --git a/lib/src/inputs/number_picker/infinite_listview.dart b/lib/src/inputs/number_picker/infinite_listview.dart index e505666..2d1d9ab 100644 --- a/lib/src/inputs/number_picker/infinite_listview.dart +++ b/lib/src/inputs/number_picker/infinite_listview.dart @@ -165,7 +165,7 @@ class InfiniteListViewState extends State { viewportBuilder: (BuildContext context, ViewportOffset offset) { return Builder(builder: (BuildContext context) { /// Build negative [ScrollPosition] for the negative scrolling [Viewport]. - final state = Scrollable.of(context)!; + final state = Scrollable.of(context); final negativeOffset = _InfiniteScrollPosition( physics: scrollPhysics, context: state, diff --git a/lib/src/inputs/number_picker/number_picker_field.dart b/lib/src/inputs/number_picker/number_picker_field.dart index 1f207bb..e77247f 100644 --- a/lib/src/inputs/number_picker/number_picker_field.dart +++ b/lib/src/inputs/number_picker/number_picker_field.dart @@ -219,9 +219,9 @@ class NumberPickerState extends State { Widget _itemBuilder(BuildContext context, int index) { final themeData = Theme.of(context); - final defaultStyle = widget.textStyle ?? themeData.textTheme.bodyText2; + final defaultStyle = widget.textStyle ?? themeData.textTheme.bodyMedium; final selectedStyle = widget.selectedTextStyle ?? - themeData.textTheme.headline5 + themeData.textTheme.headlineSmall ?.copyWith(color: themeData.highlightColor); final valueFromIndex = _intValueFromIndex(index % itemCount); diff --git a/pubspec.yaml b/pubspec.yaml index d0abde0..3cbc1e2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_input_library description: A new Flutter package project. -version: 1.0.5 +version: 1.0.6 repository: https://github.com/Iconica-Development/flutter_input_library environment: