diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 5e16630..fb9bd0e 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -9,11 +9,7 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; @@ -27,8 +23,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -39,13 +33,11 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -58,8 +50,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -69,9 +59,7 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 9740EEB31CF90195004384FC /* Generated.xcconfig */, @@ -203,7 +191,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -255,7 +243,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -331,7 +318,6 @@ }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -387,7 +373,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 1d526a1..919434a 100644 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/example/pubspec.lock b/example/pubspec.lock index 1849cfc..3a94748 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,62 +1,48 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "1.5.2" async: dependency: transitive description: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.4.0" + version: "2.5.0" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" - charcode: + version: "2.1.0" + characters: dependency: transitive description: - name: charcode + name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" - collection: + version: "1.1.0" + charcode: dependency: transitive description: - name: collection + name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.14.11" - convert: + version: "1.2.0" + clock: dependency: transitive description: - name: convert + name: clock url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" - crypto: + version: "1.1.0" + collection: dependency: transitive description: - name: crypto + name: collection url: "https://pub.dartlang.org" source: hosted - version: "2.1.3" + version: "1.15.0" cupertino_icons: dependency: "direct main" description: @@ -64,13 +50,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.1.2" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" flappy_search_bar: dependency: "direct main" description: path: ".." relative: true source: path - version: "1.6.2" + version: "1.8.0" flutter: dependency: "direct main" description: flutter @@ -82,61 +75,33 @@ packages: name: flutter_staggered_grid_view url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.0-nullsafety.3" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.4" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.6" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.1.8" + version: "1.3.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.6.4" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.0+1" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.0" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" + version: "1.8.0" sky_engine: dependency: transitive description: flutter @@ -148,63 +113,56 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.5.5" + version: "1.8.0" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.9.3" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.11" + version: "0.2.19" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.1.6" + version: "1.3.0" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.0.8" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "3.5.0" + version: "2.1.0" sdks: - dart: ">=2.4.0 <3.0.0" - flutter: ">=1.6.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=1.24.0-6.0.pre" diff --git a/lib/flappy_search_bar.dart b/lib/flappy_search_bar.dart index 691742f..3a8fc1c 100644 --- a/lib/flappy_search_bar.dart +++ b/lib/flappy_search_bar.dart @@ -23,13 +23,13 @@ class SearchBarController { final List _list = []; final List _filteredList = []; final List _sortedList = []; - TextEditingController _searchQueryController; - String _lastSearchedText; - Future> Function(String text) _lastSearchFunction; - _ControllerListener _controllerListener; - int Function(T a, T b) _lastSorting; - CancelableOperation _cancelableOperation; - int minimumChars; + late TextEditingController _searchQueryController; + String? _lastSearchedText; + Future> Function(String? text)? _lastSearchFunction; + _ControllerListener? _controllerListener; + int Function(T a, T b)? _lastSorting; + CancelableOperation>? _cancelableOperation; + late int minimumChars; void setTextController(TextEditingController _searchQueryController, minimunChars) { this._searchQueryController = _searchQueryController; @@ -45,20 +45,21 @@ class SearchBarController { } void _search( - String text, Future> Function(String text) onSearch) async { + String? text, Future> Function(String? text) onSearch) async { _controllerListener?.onLoading(); try { if (_cancelableOperation != null && - (!_cancelableOperation.isCompleted || - !_cancelableOperation.isCanceled)) { - _cancelableOperation.cancel(); + (!_cancelableOperation!.isCompleted || + !_cancelableOperation!.isCanceled)) { + _cancelableOperation!.cancel(); } _cancelableOperation = CancelableOperation.fromFuture( onSearch(text), onCancel: () => {}, ); - final List items = await _cancelableOperation.value; + + final List items = await (_cancelableOperation!.value); _lastSearchFunction = onSearch; _lastSearchedText = text; _list.clear(); @@ -68,13 +69,13 @@ class SearchBarController { _list.addAll(items); _controllerListener?.onListChanged(_list); } catch (error) { - _controllerListener?.onError(error); + _controllerListener?.onError(error as Error); } } void injectSearch( - String searchText, Future> Function(String text) onSearch) { - if (searchText != null && searchText.length >= minimumChars) { + String searchText, Future> Function(String? text) onSearch) { + if (searchText.length >= minimumChars) { _searchQueryController.text = searchText; _search(searchText, onSearch); } @@ -82,7 +83,7 @@ class SearchBarController { void replayLastSearch() { if (_lastSearchFunction != null && _lastSearchedText != null) { - _search(_lastSearchedText, _lastSearchFunction); + _search(_lastSearchedText, _lastSearchFunction!); } } @@ -128,13 +129,13 @@ typedef ScaledTile IndexedScaledTileBuilder(int index); class SearchBar extends StatefulWidget { /// Future returning searched items - final Future> Function(String text) onSearch; + final Future> Function(String? text) onSearch; /// List of items showed by default final List suggestions; /// Callback returning the widget corresponding to a Suggestion item - final Widget Function(T item, int index) buildSuggestion; + final Widget Function(T item, int index)? buildSuggestion; /// Minimum number of chars required for a search final int minimumChars; @@ -143,7 +144,7 @@ class SearchBar extends StatefulWidget { final Widget Function(T item, int index) onItemFound; /// Callback returning the widget corresponding to an Error while searching - final Widget Function(Error error) onError; + final Widget Function(Error error)? onError; /// Cooldown between each call to avoid too many final Duration debounceDuration; @@ -155,13 +156,13 @@ class SearchBar extends StatefulWidget { final Widget emptyWidget; /// Widget to show by default - final Widget placeHolder; + final Widget? placeHolder; /// Widget showed on left of the search bar final Widget icon; /// Widget placed between the search bar and the results - final Widget header; + final Widget? header; /// Hint text of the search bar final String hintText; @@ -179,10 +180,10 @@ class SearchBar extends StatefulWidget { final Widget cancellationWidget; /// Callback when cancel button is triggered - final VoidCallback onCancelled; + final VoidCallback? onCancelled; /// Controller used to be able to sort, filter or replay the search - final SearchBarController searchBarController; + final SearchBarController? searchBarController; /// Enable to edit the style of the search bar final SearchBarStyle searchBarStyle; @@ -195,7 +196,7 @@ class SearchBar extends StatefulWidget { /// Called to get the tile at the specified index for the /// [SliverGridStaggeredTileLayout]. - final IndexedScaledTileBuilder indexedScaledTileBuilder; + final IndexedScaledTileBuilder? indexedScaledTileBuilder; /// Set the scrollDirection final Axis scrollDirection; @@ -216,9 +217,9 @@ class SearchBar extends StatefulWidget { final EdgeInsetsGeometry listPadding; SearchBar({ - Key key, - @required this.onSearch, - @required this.onItemFound, + Key? key, + required this.onSearch, + required this.onItemFound, this.searchBarController, this.minimumChars = 3, this.debounceDuration = const Duration(milliseconds: 500), @@ -252,15 +253,15 @@ class SearchBar extends StatefulWidget { _SearchBarState createState() => _SearchBarState(); } -class _SearchBarState extends State> - with TickerProviderStateMixin, _ControllerListener { +class _SearchBarState extends State> + with TickerProviderStateMixin, _ControllerListener { bool _loading = false; - Widget _error; + Widget? _error; final _searchQueryController = TextEditingController(); - Timer _debounce; + Timer? _debounce; bool _animate = false; - List _list = []; - SearchBarController searchBarController; + List _list = []; + late SearchBarController searchBarController; @override void initState() { @@ -272,7 +273,7 @@ class _SearchBarState extends State> } @override - void onListChanged(List items) { + void onListChanged(List items) { setState(() { _loading = false; _list = items; @@ -297,17 +298,17 @@ class _SearchBarState extends State> void onError(Error error) { setState(() { _loading = false; - _error = widget.onError != null ? widget.onError(error) : Text("error"); + _error = widget.onError != null ? widget.onError!(error) : Text("error"); }); } _onTextChanged(String newText) async { if (_debounce?.isActive ?? false) { - _debounce.cancel(); + _debounce!.cancel(); } _debounce = Timer(widget.debounceDuration, () async { - if (newText.length >= widget.minimumChars && widget.onSearch != null) { + if (newText.length >= widget.minimumChars) { searchBarController._search(newText, widget.onSearch); } else { setState(() { @@ -322,7 +323,7 @@ class _SearchBarState extends State> void _cancel() { if (widget.onCancelled != null) { - widget.onCancelled(); + widget.onCancelled!(); } setState(() { @@ -335,7 +336,7 @@ class _SearchBarState extends State> } Widget _buildListView( - List items, Widget Function(T item, int index) builder) { + List items, Widget Function(T? item, int index) builder) { return Padding( padding: widget.listPadding, child: StaggeredGridView.countBuilder( @@ -343,7 +344,7 @@ class _SearchBarState extends State> itemCount: items.length, shrinkWrap: widget.shrinkWrap, staggeredTileBuilder: - widget.indexedScaledTileBuilder ?? (int index) => ScaledTile.fit(1), + widget.indexedScaledTileBuilder ?? ((int index) => ScaledTile.fit(1)), scrollDirection: widget.scrollDirection, mainAxisSpacing: widget.mainAxisSpacing, crossAxisSpacing: widget.crossAxisSpacing, @@ -355,7 +356,7 @@ class _SearchBarState extends State> ); } - Widget _buildContent(BuildContext context) { + Widget? _buildContent(BuildContext context) { if (_error != null) { return _error; } else if (_loading) { @@ -441,7 +442,7 @@ class _SearchBarState extends State> child: widget.header ?? Container(), ), Expanded( - child: _buildContent(context), + child: _buildContent(context)!, ), ], ); diff --git a/lib/scaled_tile.dart b/lib/scaled_tile.dart index 10e156b..2929254 100644 --- a/lib/scaled_tile.dart +++ b/lib/scaled_tile.dart @@ -26,6 +26,6 @@ class ScaledTile extends StaggeredTile { /// [mainAxisCellCount] cells (inner spacings included). ScaledTile.count( int crossAxisCellCount, - num mainAxisCellCount, + double mainAxisCellCount, ) : super.count(crossAxisCellCount, mainAxisCellCount); } diff --git a/pubspec.lock b/pubspec.lock index 9a50fcf..7af8cf8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,62 +1,55 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "1.5.2" async: dependency: "direct main" description: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.4.0" + version: "2.5.0" boolean_selector: dependency: transitive description: name: boolean_selector url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" charcode: dependency: transitive description: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" - collection: + version: "1.2.0" + clock: dependency: transitive description: - name: collection + name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.14.11" - convert: + version: "1.1.0" + collection: dependency: transitive description: - name: convert + name: collection url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" - crypto: + version: "1.15.0" + fake_async: dependency: transitive description: - name: crypto + name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "2.1.3" + version: "1.2.0" flutter: dependency: "direct main" description: flutter @@ -68,61 +61,33 @@ packages: name: flutter_staggered_grid_view url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.0-nullsafety.3" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.4" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.6" + version: "0.12.10" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.1.8" + version: "1.3.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.6.4" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.0+1" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.0" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" + version: "1.8.0" sky_engine: dependency: transitive description: flutter @@ -134,63 +99,56 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.5.5" + version: "1.8.0" stack_trace: dependency: transitive description: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.9.3" + version: "1.10.0" stream_channel: dependency: transitive description: name: stream_channel url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "1.1.0" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.11" + version: "0.2.19" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.1.6" + version: "1.3.0" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.0.8" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "3.5.0" + version: "2.1.0" sdks: - dart: ">=2.4.0 <3.0.0" - flutter: ">=1.6.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=1.24.0-6.0.pre" diff --git a/pubspec.yaml b/pubspec.yaml index 8cc66dc..36d08aa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,16 +1,16 @@ name: flappy_search_bar description: A SearchBar widget automatizing most of your asynchronous searchs cases. -version: 1.7.2 +version: 1.8.0 homepage: https://github.com/smartnsoft/flappy_search_bar environment: - sdk: ">=2.1.0 <3.0.0" + sdk: '>=2.12.0 <3.0.0' dependencies: flutter: sdk: flutter - async: ^2.2.0 - flutter_staggered_grid_view: ^0.3.0 + async: ^2.5.0 + flutter_staggered_grid_view: ^0.4.0-nullsafety.3 dev_dependencies: flutter_test: