├── .github └── workflows │ ├── elementary_analysis.yaml │ ├── elementary_helper_analysis.yaml │ ├── publish_elementary_cli_to_pub.yaml │ ├── publish_elementary_test_to_pub.yaml │ ├── publish_elementary_to_pub.yaml │ ├── publish_intellij_plugin.yaml │ └── publish_vscode_plugin.yaml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── documentation └── elementary │ ├── docs │ ├── about.md │ ├── assets │ │ └── logo.png │ ├── images │ │ └── favicon.png │ ├── index.md │ ├── libs │ │ ├── elementary-helper │ │ │ ├── intro.md │ │ │ ├── publishers.md │ │ │ └── subscribers.md │ │ ├── elementary-test │ │ │ ├── intro.md │ │ │ └── overview.md │ │ └── elementary │ │ │ ├── intro.md │ │ │ ├── model.md │ │ │ ├── overview.md │ │ │ ├── recommendations.md │ │ │ ├── widget-model.md │ │ │ └── widget.md │ ├── license.md │ └── tutorials │ │ └── qs │ │ ├── dependencies.md │ │ ├── implementation.md │ │ ├── tests.md │ │ └── tooling.md │ └── mkdocs.yml ├── examples ├── country │ ├── .fvm │ │ ├── flutter_sdk │ │ └── fvm_config.json │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ │ ├── .gitignore │ │ ├── app │ │ │ ├── build.gradle │ │ │ └── src │ │ │ │ ├── debug │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── country │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values-night │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ │ └── profile │ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── assets │ │ └── mock_data │ │ │ └── countries.json │ ├── dart_test.yaml │ ├── ios │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ ├── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ └── README.md │ │ │ ├── Base.lproj │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ │ └── RunnerTests │ │ │ └── RunnerTests.swift │ ├── lib │ │ ├── assets │ │ │ ├── colors │ │ │ │ └── colors.dart │ │ │ ├── res │ │ │ │ ├── base_resources_paths.dart │ │ │ │ └── template_list.dart │ │ │ └── themes │ │ │ │ └── app_theme.dart │ │ ├── config │ │ │ └── urls.dart │ │ ├── features │ │ │ ├── business │ │ │ │ ├── README.md │ │ │ │ └── country │ │ │ │ │ ├── data │ │ │ │ │ ├── api │ │ │ │ │ │ ├── country_client.dart │ │ │ │ │ │ └── country_client.g.dart │ │ │ │ │ ├── converter │ │ │ │ │ │ └── country_mappers.dart │ │ │ │ │ ├── dto │ │ │ │ │ │ ├── country_data.dart │ │ │ │ │ │ ├── country_data.g.dart │ │ │ │ │ │ ├── country_flag_data.dart │ │ │ │ │ │ ├── country_flag_data.g.dart │ │ │ │ │ │ ├── country_name_data.dart │ │ │ │ │ │ └── country_name_data.g.dart │ │ │ │ │ └── repository │ │ │ │ │ │ ├── country_repository.dart │ │ │ │ │ │ └── mock_country_repository.dart │ │ │ │ │ └── domain │ │ │ │ │ ├── contract │ │ │ │ │ └── country_repository.dart │ │ │ │ │ └── model │ │ │ │ │ └── country.dart │ │ │ └── presentation │ │ │ │ ├── README.md │ │ │ │ ├── app │ │ │ │ └── app.dart │ │ │ │ ├── di │ │ │ │ ├── app_scope.dart │ │ │ │ └── app_scope_provider.dart │ │ │ │ ├── routing │ │ │ │ ├── app_coordinates.dart │ │ │ │ ├── coordinator.dart │ │ │ │ ├── route_information_parser.dart │ │ │ │ └── router_delegate.dart │ │ │ │ └── screens │ │ │ │ └── country_list_screen │ │ │ │ ├── country_list_screen.dart │ │ │ │ ├── country_list_screen_model.dart │ │ │ │ └── country_list_screen_widget_model.dart │ │ ├── main.dart │ │ ├── runner.dart │ │ └── utils │ │ │ ├── widgets │ │ │ └── shimmer.dart │ │ │ └── wrappers │ │ │ └── scaffold_messenger_wrapper.dart │ ├── pubspec.yaml │ ├── test │ │ ├── flutter_test_config.dart │ │ ├── golden │ │ │ └── screen │ │ │ │ └── country_list_screen │ │ │ │ ├── country_list_screen_test.dart │ │ │ │ └── goldens │ │ │ │ ├── country_list_screen_content.png │ │ │ │ └── country_list_screen_error.png │ │ ├── test_helper.dart │ │ ├── unit │ │ │ ├── model │ │ │ │ └── county_list_screen │ │ │ │ │ └── country_list_screen_model_test.dart │ │ │ └── unit_helper.dart │ │ ├── widget │ │ │ └── screen │ │ │ │ └── country_list_screen_test.dart │ │ └── wm_test │ │ │ └── screen │ │ │ └── country_list_screen │ │ │ └── country_list_screen_wm_test.dart │ └── web │ │ ├── favicon.png │ │ ├── icons │ │ ├── Icon-192.png │ │ ├── Icon-512.png │ │ ├── Icon-maskable-192.png │ │ └── Icon-maskable-512.png │ │ ├── index.html │ │ └── manifest.json ├── elementary_redux │ ├── .gitignore │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ │ ├── .gitignore │ │ ├── app │ │ │ ├── build.gradle │ │ │ └── src │ │ │ │ ├── debug │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── redux_elementary_test │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values-night │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ │ └── profile │ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── generate.sh │ ├── ios │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Podfile │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ └── LaunchImage.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchImage.png │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ └── README.md │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ ├── lib │ │ ├── app_providers.dart │ │ ├── ext │ │ │ └── scope_functions_extension.dart │ │ ├── main.dart │ │ ├── model │ │ │ ├── dog_data.dart │ │ │ ├── dog_data.freezed.dart │ │ │ ├── dog_dto.dart │ │ │ └── dog_dto.g.dart │ │ ├── redux │ │ │ ├── actions │ │ │ │ ├── action_completer_mixin.dart │ │ │ │ ├── adding_data_action.dart │ │ │ │ ├── catching_error_action.dart │ │ │ │ ├── clearing_all_data_action.dart │ │ │ │ ├── init_action.dart │ │ │ │ ├── request_clear_action.dart │ │ │ │ ├── request_init_action.dart │ │ │ │ └── request_loading_action.dart │ │ │ ├── control │ │ │ │ ├── dog_data_epics_middleware.dart │ │ │ │ └── dog_data_reducers.dart │ │ │ └── store │ │ │ │ ├── dogs_state.dart │ │ │ │ └── dogs_state.freezed.dart │ │ ├── screen │ │ │ ├── main_model.dart │ │ │ ├── main_screen.dart │ │ │ └── main_wm.dart │ │ ├── services │ │ │ └── client.dart │ │ └── shared_pref_helper.dart │ ├── pubspec.yaml │ └── test │ │ └── redux │ │ └── control │ │ ├── epics_middleware_test.dart │ │ └── reducers_test.dart └── profile │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ ├── .gitignore │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── profile │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v21 │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ └── styles.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── settings.gradle │ ├── assets │ └── icons │ │ └── user.png │ ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Podfile │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h │ ├── lib │ ├── assets │ │ ├── colors │ │ │ └── colors.dart │ │ ├── res │ │ │ └── icons.dart │ │ ├── strings │ │ │ ├── about_me_screen_strings.dart │ │ │ ├── interests_screen_strings.dart │ │ │ ├── main_strings.dart │ │ │ ├── personal_data_screen_strings.dart │ │ │ └── place_residence_screen_strings.dart │ │ └── themes │ │ │ └── text_style.dart │ ├── features │ │ ├── app │ │ │ ├── app.dart │ │ │ └── di │ │ │ │ └── app_scope.dart │ │ ├── cities │ │ │ └── service │ │ │ │ └── repository │ │ │ │ └── mock_cities_repository.dart │ │ ├── common │ │ │ └── widgets │ │ │ │ └── di_scope │ │ │ │ └── di_scope.dart │ │ ├── interests │ │ │ └── service │ │ │ │ └── repository │ │ │ │ └── mock_interests_repository.dart │ │ ├── navigation │ │ │ ├── domain │ │ │ │ ├── delegate │ │ │ │ │ └── app_router_delegate.dart │ │ │ │ ├── entity │ │ │ │ │ ├── app_coordinate.dart │ │ │ │ │ └── coordinate.dart │ │ │ │ └── parser │ │ │ │ │ └── app_route_information_parser.dart │ │ │ └── service │ │ │ │ └── coordinator.dart │ │ ├── profile │ │ │ ├── domain │ │ │ │ └── profile.dart │ │ │ ├── screens │ │ │ │ ├── about_me_screen │ │ │ │ │ ├── about_me_screen.dart │ │ │ │ │ ├── about_me_screen_model.dart │ │ │ │ │ └── about_me_screen_widget_model.dart │ │ │ │ ├── init_screen │ │ │ │ │ └── init_screen.dart │ │ │ │ ├── interests_screen │ │ │ │ │ ├── interests_screen.dart │ │ │ │ │ ├── interests_screen_model.dart │ │ │ │ │ └── interests_screen_widget_model.dart │ │ │ │ ├── personal_data_screen │ │ │ │ │ ├── personal_data_screen.dart │ │ │ │ │ ├── personal_data_screen_model.dart │ │ │ │ │ ├── personal_data_screen_widget_model.dart │ │ │ │ │ └── widgets │ │ │ │ │ │ └── text_form_field_widget.dart │ │ │ │ └── place_residence │ │ │ │ │ ├── place_residence_screen.dart │ │ │ │ │ ├── place_residence_screen_model.dart │ │ │ │ │ ├── place_residence_screen_widget_model.dart │ │ │ │ │ ├── utils │ │ │ │ │ └── overlay_entry_controller.dart │ │ │ │ │ └── widgets │ │ │ │ │ └── field_with_suggestions_widget │ │ │ │ │ ├── field_with_suggestions_model.dart │ │ │ │ │ ├── field_with_suggestions_widget.dart │ │ │ │ │ └── field_with_suggestions_widget_model.dart │ │ │ ├── service │ │ │ │ ├── profile_bloc │ │ │ │ │ ├── profile_bloc.dart │ │ │ │ │ ├── profile_event.dart │ │ │ │ │ └── profile_state.dart │ │ │ │ └── repository │ │ │ │ │ └── mock_profile_repository.dart │ │ │ └── widgets │ │ │ │ ├── cancel_button │ │ │ │ ├── cancel_button.dart │ │ │ │ ├── cancel_button_model.dart │ │ │ │ └── cancel_button_widget_model.dart │ │ │ │ ├── error_widget.dart │ │ │ │ └── next_button.dart │ │ └── server │ │ │ ├── domain │ │ │ ├── mock_list_cities.dart │ │ │ └── mock_list_interests.dart │ │ │ └── mock_server │ │ │ └── mock_server.dart │ ├── main.dart │ ├── runner.dart │ └── util │ │ ├── default_error_handler.dart │ │ └── dialog_controller.dart │ ├── pubspec.yaml │ └── res │ └── bloc_diagram.png ├── packages ├── elementary │ ├── .gitignore │ ├── .metadata │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── dart_dependency_validator.yaml │ ├── example │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── counter │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ ├── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ │ └── RunnerTests │ │ │ │ └── RunnerTests.swift │ │ ├── lib │ │ │ └── main.dart │ │ ├── pubspec.yaml │ │ └── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ ├── Icon-192.png │ │ │ ├── Icon-512.png │ │ │ ├── Icon-maskable-192.png │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ ├── lib │ │ ├── elementary.dart │ │ └── src │ │ │ ├── core.dart │ │ │ ├── error │ │ │ └── error_handler.dart │ │ │ ├── keep_alive │ │ │ └── automatic_keep_alive_widget_model_mixin.dart │ │ │ └── ticker │ │ │ └── ticker_providers.dart │ ├── pubspec.yaml │ └── test │ │ ├── automatic_keep_alive_widget_model_mixin │ │ └── automatic_keep_alive_widget_model_mixin_test.dart │ │ ├── core │ │ ├── elementary_model_test.dart │ │ ├── elementary_test.dart │ │ ├── elemetary_widget_test.dart │ │ └── widget_model_test.dart │ │ ├── error │ │ └── error_handler_test.dart │ │ └── ticker_providers │ │ ├── single_ticker_provider_widget_model_mixin_test.dart │ │ └── ticker_provider_widget_model_mixin_test.dart ├── elementary_helper │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── example │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── mjk │ │ │ │ │ │ │ └── elementary │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── helper_example │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ ├── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ │ └── RunnerTests │ │ │ │ └── RunnerTests.swift │ │ ├── lib │ │ │ └── main.dart │ │ ├── linux │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ ├── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── app_icon_1024.png │ │ │ │ │ │ ├── app_icon_128.png │ │ │ │ │ │ ├── app_icon_16.png │ │ │ │ │ │ ├── app_icon_256.png │ │ │ │ │ │ ├── app_icon_32.png │ │ │ │ │ │ ├── app_icon_512.png │ │ │ │ │ │ └── app_icon_64.png │ │ │ │ ├── Base.lproj │ │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs │ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ │ └── RunnerTests │ │ │ │ └── RunnerTests.swift │ │ ├── pubspec.yaml │ │ ├── test │ │ │ └── widget_test.dart │ │ ├── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ │ ├── Icon-192.png │ │ │ │ ├── Icon-512.png │ │ │ │ ├── Icon-maskable-192.png │ │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ │ └── windows │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ │ └── runner │ │ │ ├── CMakeLists.txt │ │ │ ├── Runner.rc │ │ │ ├── flutter_window.cpp │ │ │ ├── flutter_window.h │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── resources │ │ │ └── app_icon.ico │ │ │ ├── runner.exe.manifest │ │ │ ├── utils.cpp │ │ │ ├── utils.h │ │ │ ├── win32_window.cpp │ │ │ └── win32_window.h │ ├── lib │ │ ├── elementary_helper.dart │ │ └── src │ │ │ ├── relations │ │ │ ├── builder │ │ │ │ ├── entity_state_notifier_builder.dart │ │ │ │ ├── multi_sources │ │ │ │ │ ├── double_source_builder.dart │ │ │ │ │ ├── double_value_listenable_builder.dart │ │ │ │ │ ├── multi_listener_rebuilder.dart │ │ │ │ │ ├── triple_source_builder.dart │ │ │ │ │ └── triple_value_listenable_builder.dart │ │ │ │ └── state_notifier_builder.dart │ │ │ └── notifier │ │ │ │ ├── entity_state_notifier.dart │ │ │ │ └── state_notifier.dart │ │ │ └── wrappers │ │ │ └── theme_wrapper.dart │ ├── pubspec.yaml │ └── test │ │ ├── relations │ │ ├── builder │ │ │ ├── entity_state_notifier_builder_test.dart │ │ │ ├── multi_sources │ │ │ │ ├── double_source_builder_test.dart │ │ │ │ ├── double_value_listenable_builder_test.dart │ │ │ │ ├── multi_listener_rebuilder_test.dart │ │ │ │ ├── triple_source_builder_test.dart │ │ │ │ └── triple_value_listenable_builder_test.dart │ │ │ └── state_notifier_builder_test.dart │ │ └── notifier │ │ │ ├── entity_state_notifier_test.dart │ │ │ ├── entity_state_test.dart │ │ │ └── state_notifier_test.dart │ │ └── wrapper │ │ └── theme_wrapper_test.dart ├── elementary_test │ ├── .gitignore │ ├── .metadata │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── example │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── analysis_options.yaml │ │ ├── android │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin │ │ │ │ │ │ └── com │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ └── counter │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ └── settings.gradle │ │ ├── ios │ │ │ ├── .gitignore │ │ │ ├── Flutter │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata │ │ │ │ │ └── xcschemes │ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ ├── Runner │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ │ └── RunnerTests │ │ │ │ └── RunnerTests.swift │ │ ├── lib │ │ │ └── main.dart │ │ ├── pubspec.yaml │ │ ├── test │ │ │ └── country_list_screen_wm_test.dart │ │ └── web │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ ├── Icon-192.png │ │ │ ├── Icon-512.png │ │ │ ├── Icon-maskable-192.png │ │ │ └── Icon-maskable-512.png │ │ │ ├── index.html │ │ │ └── manifest.json │ ├── lib │ │ ├── elementary_test.dart │ │ └── src │ │ │ └── widget_model_test.dart │ ├── pubspec.yaml │ └── test │ │ └── elementary_test_test.dart └── elementary_tools │ ├── README.md │ ├── elementary_bricks │ └── elementary │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __brick__ │ │ └── {{widget_file}} │ │ │ ├── {{model_file}}.dart │ │ │ ├── {{widget_file}}.dart │ │ │ └── {{widget_model_file}}.dart │ │ ├── brick.yaml │ │ └── hooks │ │ ├── .gitignore │ │ ├── pre_gen.dart │ │ └── pubspec.yaml │ ├── elementary_cli │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── bin │ │ └── elementary_tools.dart │ ├── lib │ │ ├── analyzer_plugin │ │ │ ├── elementary_plugin.dart │ │ │ └── start_elementary_plugin.dart │ │ ├── console_writer.dart │ │ ├── exit_code_exception.dart │ │ ├── generate │ │ │ ├── generate.dart │ │ │ ├── generate_module.dart │ │ │ ├── generate_test.dart │ │ │ └── generate_test_wm.dart │ │ └── templates │ │ │ ├── README.md │ │ │ ├── model.dart.tp │ │ │ ├── test_wm.dart.tp │ │ │ ├── widget.dart.tp │ │ │ └── widget_model.dart.tp │ ├── pubspec.yaml │ └── tools │ │ └── analyzer_plugin │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── bin │ │ └── plugin.dart │ │ └── pubspec.yaml │ ├── plugin_intellij │ ├── .gitignore │ ├── .run │ │ ├── Run IDE for UI Tests.run.xml │ │ ├── Run Plugin Tests.run.xml │ │ ├── Run Plugin Verification.run.xml │ │ └── Run Qodana.run.xml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── build.gradle.kts │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── qodana.yml │ ├── settings.gradle.kts │ └── src │ │ ├── main │ │ ├── kotlin │ │ │ └── ru │ │ │ │ └── elementaryteam │ │ │ │ └── elementarypluginintellij │ │ │ │ ├── ElementaryCliChecker.kt │ │ │ │ ├── ElementaryCliInstallAction.kt │ │ │ │ ├── ElementaryModuleGeneratorDialog.kt │ │ │ │ ├── ElementaryModuleGeneratorMenuAction.kt │ │ │ │ ├── MyBundle.kt │ │ │ │ ├── activity │ │ │ │ └── MyProjectActivity.kt │ │ │ │ └── services │ │ │ │ ├── MyApplicationService.kt │ │ │ │ └── MyProjectService.kt │ │ └── resources │ │ │ ├── META-INF │ │ │ ├── plugin.xml │ │ │ └── pluginIcon.svg │ │ │ └── messages │ │ │ └── MyBundle.properties │ │ └── test │ │ ├── kotlin │ │ └── ru │ │ │ └── elementaryteam │ │ │ └── elementarypluginintellij │ │ │ └── ElementaryModuleGeneratorValidationTest.kt │ │ └── testData │ │ └── moduleNameValidation │ │ ├── invalidNames.txt │ │ └── validNames.txt │ └── plugin_vscode │ ├── .eslintrc.json │ ├── .gitignore │ ├── .vscodeignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── snippets │ └── elementary.json │ ├── src │ ├── commands │ │ ├── generate_module.ts │ │ └── generate_test_wm.ts │ ├── extension.ts │ ├── test │ │ ├── runTest.ts │ │ └── suite │ │ │ ├── extension.test.ts │ │ │ └── index.ts │ └── utils │ │ ├── activate_cli_tools.ts │ │ └── generate_command_utils.ts │ └── tsconfig.json └── tools ├── make └── docs.mk └── workspace ├── elementary.code-workspace ├── elementary_helper.code-workspace ├── elementary_test.code-workspace └── main.code-workspace /.github/workflows/publish_intellij_plugin.yaml: -------------------------------------------------------------------------------- 1 | # Runs for every tag starting with 'plugin_intellij_v' keyword 2 | # Example: 'plugin_intellij_v1.0.0' 3 | name: Intellij plugin 4 | on: 5 | push: 6 | tags: 7 | - 'plugin_intellij_v*' 8 | 9 | # Must be set: 10 | # secrets.INTELLIJ_TOKEN - PERSONAL ACCESS TOKEN 11 | # Deploy uses gradle: (https://plugins.jetbrains.com/docs/intellij/deployment.html) 12 | jobs: 13 | Publish-Vscode-plugin: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - run: echo To Be Implemented -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.lock 4 | *.log 5 | *.pyc 6 | *.swp 7 | .DS_Store 8 | .atom/ 9 | .buildlog/ 10 | .history 11 | .svn/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # Visual Studio Code related 20 | .classpath 21 | .project 22 | .settings/ 23 | .vscode/ -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | -include tools/make/docs.mk -------------------------------------------------------------------------------- /documentation/elementary/docs/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/documentation/elementary/docs/assets/logo.png -------------------------------------------------------------------------------- /documentation/elementary/docs/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/documentation/elementary/docs/images/favicon.png -------------------------------------------------------------------------------- /examples/country/.fvm/flutter_sdk: -------------------------------------------------------------------------------- 1 | /Users/mjk/fvm/versions/3.22.3 -------------------------------------------------------------------------------- /examples/country/.fvm/fvm_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "flutterSdkVersion": "3.22.3", 3 | "flavors": {} 4 | } -------------------------------------------------------------------------------- /examples/country/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 9b2d32b605630f28625709ebd9d78ab3016b2bf6 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/country/README.md: -------------------------------------------------------------------------------- 1 | # Country 2 | 3 | Example of using Elementary library for development app. -------------------------------------------------------------------------------- /examples/country/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | analyzer: 4 | exclude: 5 | - "build/**" 6 | - "script/**" 7 | - "**/*.g.dart" 8 | 9 | linter: 10 | rules: 11 | always_put_required_named_parameters_first: false 12 | sort_pub_dependencies: false 13 | 14 | dart_code_metrics: 15 | - member-ordering-extended: 16 | severety: none -------------------------------------------------------------------------------- /examples/country/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/country/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/country/android/app/src/main/kotlin/com/example/country/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.country 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() 6 | -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/country/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/country/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/country/android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(':app') 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /examples/country/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4G 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/country/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip 6 | -------------------------------------------------------------------------------- /examples/country/dart_test.yaml: -------------------------------------------------------------------------------- 1 | tags: 2 | golden: 3 | timeout: 1x -------------------------------------------------------------------------------- /examples/country/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /examples/country/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/country/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/country/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/country/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/country/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/country/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/country/ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /examples/country/lib/assets/res/base_resources_paths.dart: -------------------------------------------------------------------------------- 1 | /// List of base paths for resources. 2 | abstract class BaseResourcesPaths { 3 | /// Directory with all assets. 4 | static const String baseAssetsPath = 'assets'; 5 | /// Directory with all images. 6 | static const String baseImagesPath = '$baseAssetsPath/images'; 7 | /// Directory with all icons. 8 | static const String baseIconsPath = '$baseAssetsPath/icons'; 9 | } -------------------------------------------------------------------------------- /examples/country/lib/assets/res/template_list.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/assets/res/base_resources_paths.dart'; 2 | 3 | const String _imagesBasePath = 4 | '${BaseResourcesPaths.baseImagesPath}/template_list'; 5 | 6 | /// List of used assets in [...]. 7 | abstract class TemplateListResources { 8 | /// Some resource 9 | static const String resource1 = '$_imagesBasePath/placeholder.webp'; 10 | } 11 | -------------------------------------------------------------------------------- /examples/country/lib/assets/themes/app_theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/assets/colors/colors.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | /// Theme data for application. 5 | final appTheme = ThemeData( 6 | colorScheme: const ColorScheme( 7 | brightness: Brightness.light, 8 | primary: primaryColor, 9 | onPrimary: accentColor, 10 | secondary: accentColor, 11 | onSecondary: primaryColor, 12 | error: errorColor, 13 | onError: whiteColor, 14 | background: backgroundColor, 15 | onBackground: textColorPrimary, 16 | surface: backgroundColor, 17 | onSurface: textColorPrimary, 18 | ), 19 | ); 20 | -------------------------------------------------------------------------------- /examples/country/lib/config/urls.dart: -------------------------------------------------------------------------------- 1 | /// Contains urls that are used in the app. 2 | class AppUrls { 3 | static const String _apiUrl = 'https://restcountries.com/v3.1/'; 4 | 5 | static const base = _apiUrl; 6 | static const allCountries = 'all'; 7 | } 8 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/README.md: -------------------------------------------------------------------------------- 1 | # A place for storing business features. 2 | 3 | For example: services, repositories, business models, and all other things that more belong to business features than to presenting this feature to a user. -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/api/country_client.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/config/urls.dart'; 2 | import 'package:country/features/business/country/data/dto/country_data.dart'; 3 | import 'package:dio/dio.dart'; 4 | import 'package:retrofit/retrofit.dart'; 5 | 6 | part 'country_client.g.dart'; 7 | 8 | @RestApi() 9 | abstract class CountryClient { 10 | factory CountryClient(Dio dio, {String baseUrl}) = _CountryClient; 11 | 12 | /// An endpoint provides country list. 13 | @GET(AppUrls.allCountries) 14 | Future> getAll(); 15 | } 16 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/converter/country_mappers.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/business/country/data/dto/country_data.dart'; 2 | import 'package:country/features/business/country/domain/model/country.dart'; 3 | 4 | /// Map Country from CountryData 5 | Country mapCountry(CountryData data) { 6 | return Country( 7 | name: data.name.common, 8 | flag: data.flags.png.replaceFirst('/w320/', '/w640/'), 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/dto/country_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/business/country/data/dto/country_flag_data.dart'; 2 | import 'package:country/features/business/country/data/dto/country_name_data.dart'; 3 | import 'package:json_annotation/json_annotation.dart'; 4 | 5 | part 'country_data.g.dart'; 6 | 7 | /// DTO for country. 8 | @JsonSerializable() 9 | class CountryData { 10 | final CountryNameData name; 11 | final CountryFlagData flags; 12 | 13 | CountryData({ 14 | required this.name, 15 | required this.flags, 16 | }); 17 | 18 | factory CountryData.fromJson(Map json) => 19 | _$CountryDataFromJson(json); 20 | 21 | Map toJson() => _$CountryDataToJson(this); 22 | } 23 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/dto/country_flag_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:json_annotation/json_annotation.dart'; 2 | 3 | part 'country_flag_data.g.dart'; 4 | 5 | /// DTO for flag. 6 | @JsonSerializable() 7 | class CountryFlagData { 8 | final String png; 9 | final String svg; 10 | 11 | CountryFlagData({ 12 | required this.png, 13 | required this.svg, 14 | }); 15 | 16 | factory CountryFlagData.fromJson(Map json) => 17 | _$CountryFlagDataFromJson(json); 18 | 19 | Map toJson() => _$CountryFlagDataToJson(this); 20 | } -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/dto/country_flag_data.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'country_flag_data.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | CountryFlagData _$CountryFlagDataFromJson(Map json) => 10 | CountryFlagData( 11 | png: json['png'] as String, 12 | svg: json['svg'] as String, 13 | ); 14 | 15 | Map _$CountryFlagDataToJson(CountryFlagData instance) => 16 | { 17 | 'png': instance.png, 18 | 'svg': instance.svg, 19 | }; 20 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/dto/country_name_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:json_annotation/json_annotation.dart'; 2 | 3 | part 'country_name_data.g.dart'; 4 | 5 | /// DTO for country name. 6 | @JsonSerializable() 7 | class CountryNameData { 8 | final String common; 9 | final String official; 10 | 11 | CountryNameData({ 12 | required this.common, 13 | required this.official, 14 | }); 15 | 16 | factory CountryNameData.fromJson(Map json) => 17 | _$CountryNameDataFromJson(json); 18 | 19 | Map toJson() => _$CountryNameDataToJson(this); 20 | } -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/data/dto/country_name_data.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'country_name_data.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | CountryNameData _$CountryNameDataFromJson(Map json) => 10 | CountryNameData( 11 | common: json['common'] as String, 12 | official: json['official'] as String, 13 | ); 14 | 15 | Map _$CountryNameDataToJson(CountryNameData instance) => 16 | { 17 | 'common': instance.common, 18 | 'official': instance.official, 19 | }; 20 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/domain/contract/country_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/business/country/domain/model/country.dart'; 2 | 3 | /// A country repository contract. 4 | abstract interface class ICountryRepository { 5 | /// Provides information about all countries. 6 | Future> loadAllCountries(); 7 | } 8 | -------------------------------------------------------------------------------- /examples/country/lib/features/business/country/domain/model/country.dart: -------------------------------------------------------------------------------- 1 | /// A business model for country. 2 | class Country { 3 | final String name; 4 | final String flag; 5 | 6 | Country({ 7 | required this.flag, 8 | required this.name, 9 | }); 10 | } 11 | -------------------------------------------------------------------------------- /examples/country/lib/features/presentation/README.md: -------------------------------------------------------------------------------- 1 | # A place for storing configuration and presentation implementations. 2 | 3 | For example: Application, DI, common widgets, screens, routing, etc. -------------------------------------------------------------------------------- /examples/country/lib/features/presentation/routing/app_coordinates.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/presentation/screens/country_list_screen/country_list_screen.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | /// Builder for a navigation place 5 | typedef CoordinateBuilder = Widget Function( 6 | BuildContext? context, 7 | Object? data, 8 | ); 9 | 10 | /// Describes a destination in the app. 11 | class AppCoordinate { 12 | static const countryList = AppCoordinate._('countryListScreen'); 13 | static const initial = countryList; 14 | 15 | final String value; 16 | 17 | const AppCoordinate._(this.value); 18 | } 19 | 20 | final Map appCoordinates = { 21 | AppCoordinate.countryList: (_, __) => const CountryListScreen(), 22 | }; 23 | -------------------------------------------------------------------------------- /examples/country/lib/features/presentation/routing/route_information_parser.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/presentation/routing/app_coordinates.dart'; 2 | import 'package:flutter/foundation.dart'; 3 | import 'package:flutter/material.dart'; 4 | 5 | /// A delegate that is used by the [Router] widget to parse a route information 6 | /// into an application navigation configuration. 7 | class CountryRouteInformationParser 8 | extends RouteInformationParser { 9 | @override 10 | Future parseRouteInformation( 11 | RouteInformation routeInformation, 12 | ) { 13 | // Should be adjusted if need parse outside navigation request 14 | return SynchronousFuture(AppCoordinate.initial); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/country/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/runner.dart'; 2 | 3 | /// An entry point of the app. 4 | Future main() async { 5 | await run(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/country/lib/runner.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:country/features/presentation/app/app.dart'; 4 | import 'package:flutter/services.dart'; 5 | import 'package:flutter/widgets.dart'; 6 | 7 | /// Launches the application. 8 | Future run() async { 9 | return runZonedGuarded>( 10 | () async { 11 | WidgetsFlutterBinding.ensureInitialized(); 12 | await SystemChrome.setPreferredOrientations( 13 | [DeviceOrientation.portraitUp], 14 | ); 15 | 16 | runApp(const App()); 17 | }, 18 | (exception, stack) { 19 | // TODO(mjk): add logging errors to the report system 20 | }, 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /examples/country/lib/utils/widgets/shimmer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:shimmer/shimmer.dart'; 3 | 4 | /// Shows shimmer effect over widget. 5 | class ShimmerWrapper extends StatelessWidget { 6 | final Widget child; 7 | 8 | const ShimmerWrapper({ 9 | super.key, 10 | required this.child, 11 | }); 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | return Shimmer.fromColors( 16 | baseColor: Colors.grey[200]!, 17 | highlightColor: Colors.grey[300]!, 18 | child: child, 19 | ); 20 | } 21 | } -------------------------------------------------------------------------------- /examples/country/lib/utils/wrappers/scaffold_messenger_wrapper.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /// Wrapper for hiding direct call flutter ScaffoldManager. 4 | class ScaffoldMessengerWrapper { 5 | /// Shows a default snackBar. 6 | void showSnackBar(BuildContext context, String message) { 7 | ScaffoldMessenger.of(context).showSnackBar( 8 | _DefaultSnack(message: message), 9 | ); 10 | } 11 | } 12 | 13 | class _DefaultSnack extends SnackBar { 14 | final String message; 15 | 16 | _DefaultSnack({required this.message}) : super(content: Text(message)); 17 | } 18 | -------------------------------------------------------------------------------- /examples/country/test/flutter_test_config.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:golden_toolkit/golden_toolkit.dart'; 4 | 5 | const _devicesWithTolerance = { 6 | Device.phone: 5.1, 7 | Device.iphone11: 3.4, 8 | Device.tabletPortrait: 1.0, 9 | Device.tabletLandscape: 1.0, 10 | }; 11 | 12 | Future testExecutable(FutureOr Function() testMain) async { 13 | return GoldenToolkit.runWithConfiguration( 14 | () async { 15 | await loadAppFonts(); 16 | await testMain(); 17 | }, 18 | config: GoldenToolkitConfiguration( 19 | defaultDevices: _devicesWithTolerance.keys.toList(), 20 | enableRealShadows: true, 21 | ), 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /examples/country/test/golden/screen/country_list_screen/goldens/country_list_screen_content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/test/golden/screen/country_list_screen/goldens/country_list_screen_content.png -------------------------------------------------------------------------------- /examples/country/test/golden/screen/country_list_screen/goldens/country_list_screen_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/test/golden/screen/country_list_screen/goldens/country_list_screen_error.png -------------------------------------------------------------------------------- /examples/country/test/unit/unit_helper.dart: -------------------------------------------------------------------------------- 1 | import 'package:country/features/business/country/domain/contract/country_repository.dart'; 2 | import 'package:elementary/elementary.dart'; 3 | import 'package:mocktail/mocktail.dart'; 4 | 5 | class CountryRepositoryMock extends Mock implements ICountryRepository {} 6 | 7 | class ErrorHandlerMock extends Mock implements ErrorHandler {} 8 | -------------------------------------------------------------------------------- /examples/country/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/web/favicon.png -------------------------------------------------------------------------------- /examples/country/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/web/icons/Icon-192.png -------------------------------------------------------------------------------- /examples/country/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/web/icons/Icon-512.png -------------------------------------------------------------------------------- /examples/country/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /examples/country/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/country/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /examples/elementary_redux/README.md: -------------------------------------------------------------------------------- 1 | # Elementary with Redux example 2 | 3 | We'd like to show you a small example of how **Elementary** works well with **Redux**. 4 | 5 | App description: 6 | 7 | * The program downloads and displays a randomly selected dog photo when you click the "plus" button. 8 | * When you restart the application, the downloaded data remains on the screen rather than being downloaded over the network. 9 | * All photos should be deleted once you click the "cross." 10 | 11 | For API workflow, we use dio, and for state management, we use redux and redux epics. 12 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/kotlin/com/example/redux_elementary_test/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.redux_elementary_test 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/elementary_redux/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/elementary_redux/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | flutter pub run build_runner build --delete-conflicting-outputs 3 | flutter format . 4 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/elementary_redux/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/ext/scope_functions_extension.dart: -------------------------------------------------------------------------------- 1 | extension ScopeFunctionsExtension on T { 2 | /// https://kotlinlang.org/docs/scope-functions.html#let 3 | ReturnType let(ReturnType Function(T it) operationFor) { 4 | return operationFor(this); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:redux_elementary_test/app_providers.dart'; 3 | 4 | import 'screen/main_screen.dart'; 5 | 6 | void main() { 7 | runApp(const AppProviders( 8 | child: MyApp(), 9 | )); 10 | } 11 | 12 | class MyApp extends StatelessWidget { 13 | const MyApp({Key? key}) : super(key: key); 14 | 15 | @override 16 | Widget build(BuildContext context) { 17 | return MaterialApp( 18 | title: 'Flutter Demo', 19 | theme: ThemeData( 20 | primarySwatch: Colors.blue, 21 | ), 22 | home: const MainScreen(), 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/model/dog_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'dog_data.freezed.dart'; 4 | 5 | @freezed 6 | class DogData with _$DogData { 7 | const factory DogData({ 8 | required final String message, 9 | required final String status, 10 | }) = _DogData; 11 | } 12 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/model/dog_dto.dart: -------------------------------------------------------------------------------- 1 | import 'package:json_annotation/json_annotation.dart'; 2 | 3 | import 'dog_data.dart'; 4 | 5 | part 'dog_dto.g.dart'; 6 | 7 | @JsonSerializable(createToJson: false, checked: true) 8 | class DogDTO { 9 | final String message; 10 | final String status; 11 | 12 | const DogDTO( 13 | this.message, 14 | this.status, 15 | ); 16 | 17 | factory DogDTO.fromJson(Map json) => _$DogDTOFromJson(json); 18 | 19 | DogData toModel() => DogData( 20 | message: message, 21 | status: status, 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/model/dog_dto.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'dog_dto.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | DogDTO _$DogDTOFromJson(Map json) => $checkedCreate( 10 | 'DogDTO', 11 | json, 12 | ($checkedConvert) { 13 | final val = DogDTO( 14 | $checkedConvert('message', (v) => v as String), 15 | $checkedConvert('status', (v) => v as String), 16 | ); 17 | return val; 18 | }, 19 | ); 20 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/action_completer_mixin.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | mixin ActionCompleterMixin { 4 | final _completer = Completer(); 5 | 6 | void complete() { 7 | if (!_completer.isCompleted) { 8 | _completer.complete(); 9 | } 10 | } 11 | 12 | void completeError(Object error, [StackTrace? stackTrace]) { 13 | if (!_completer.isCompleted) { 14 | _completer.completeError( 15 | error, 16 | stackTrace, 17 | ); 18 | } 19 | } 20 | 21 | Future get future => _completer.future; 22 | } 23 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/adding_data_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:redux_elementary_test/model/dog_data.dart'; 3 | 4 | @immutable 5 | class AddingDataAction { 6 | final DogData newDog; 7 | 8 | const AddingDataAction(this.newDog); 9 | } 10 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/catching_error_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:dio/dio.dart'; 2 | import 'package:meta/meta.dart'; 3 | 4 | @immutable 5 | class CatchingErrorAction { 6 | final DioError error; 7 | 8 | const CatchingErrorAction(this.error); 9 | } 10 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/clearing_all_data_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | @immutable 4 | class ClearingAllDataAction { 5 | const ClearingAllDataAction(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/init_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:fast_immutable_collections/fast_immutable_collections.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:redux_elementary_test/model/dog_data.dart'; 4 | 5 | @immutable 6 | class InitAction { 7 | final IList iList; 8 | const InitAction(this.iList); 9 | } 10 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/request_clear_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | @immutable 4 | class RequestClearAction { 5 | const RequestClearAction(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/request_init_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | @immutable 4 | class RequestInitAction { 5 | const RequestInitAction(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/actions/request_loading_action.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | import 'package:redux_elementary_test/redux/actions/action_completer_mixin.dart'; 3 | 4 | @immutable 5 | class RequestLoadingAction with ActionCompleterMixin { 6 | RequestLoadingAction(); 7 | } 8 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/redux/store/dogs_state.dart: -------------------------------------------------------------------------------- 1 | import 'package:dio/dio.dart'; 2 | import 'package:fast_immutable_collections/fast_immutable_collections.dart'; 3 | import 'package:freezed_annotation/freezed_annotation.dart'; 4 | 5 | import '../../model/dog_data.dart'; 6 | 7 | part 'dogs_state.freezed.dart'; 8 | 9 | @freezed 10 | class DogsState with _$DogsState { 11 | const factory DogsState({ 12 | @Default(IListConst([])) IList dogsList, 13 | @Default(null) DioError? error, 14 | }) = _DogsState; 15 | } 16 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/services/client.dart: -------------------------------------------------------------------------------- 1 | import 'package:dio/dio.dart'; 2 | 3 | import '../model/dog_dto.dart'; 4 | 5 | class Client { 6 | final Dio _dio; 7 | 8 | const Client(this._dio); 9 | 10 | static const baseUrl = 'https://dog.ceo/api/breeds/image/random'; 11 | 12 | Future getDog() async { 13 | final response = await _dio.get>(baseUrl); 14 | 15 | if (response.data != null) { 16 | return DogDTO.fromJson(response.data!); 17 | } 18 | 19 | return null; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/elementary_redux/lib/shared_pref_helper.dart: -------------------------------------------------------------------------------- 1 | import 'package:shared_preferences/shared_preferences.dart'; 2 | 3 | class SharedPrefHelper { 4 | final _prefs = SharedPreferences.getInstance(); 5 | 6 | Future?> get(String key) async { 7 | final instance = await _prefs; 8 | 9 | final result = instance.getStringList(key); 10 | 11 | return result; 12 | } 13 | 14 | Future set(String key, List value) async { 15 | final instance = await _prefs; 16 | 17 | await instance.setStringList(key, value); 18 | } 19 | 20 | Future clear(String key) async { 21 | final instance = await _prefs; 22 | final emptyList = []; 23 | 24 | await instance.setStringList(key, emptyList); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /examples/profile/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 8661d8aecd626f7f57ccbcb735553edc05a2e713 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /examples/profile/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | dart_code_metrics: 4 | metrics: 5 | cyclomatic-complexity: 20 6 | maximum-nesting-level: 5 7 | number-of-parameters: 4 8 | source-lines-of-code: 50 9 | number-of-methods: 10 10 | weight-of-class: 0.33 11 | maintainability-index: 50 12 | 13 | linter: 14 | rules: 15 | public_member_api_docs: true 16 | -------------------------------------------------------------------------------- /examples/profile/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /examples/profile/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/kotlin/com/example/profile/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.profile 2 | 3 | import androidx.annotation.NonNull 4 | import io.flutter.embedding.android.FlutterActivity 5 | import io.flutter.embedding.engine.FlutterEngine 6 | import io.flutter.plugins.GeneratedPluginRegistrant 7 | import com.yandex.mapkit.MapKitFactory; 8 | 9 | class MainActivity : FlutterActivity() { 10 | override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { 11 | MapKitFactory.setApiKey("bc43d0e2-367d-4e5e-901d-eaca70bb245e") 12 | super.configureFlutterEngine(flutterEngine) 13 | } 14 | } -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/profile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/profile/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/profile/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /examples/profile/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /examples/profile/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /examples/profile/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /examples/profile/assets/icons/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/assets/icons/user.png -------------------------------------------------------------------------------- /examples/profile/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /examples/profile/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/profile/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | import YandexMapsMobile 4 | 5 | @UIApplicationMain 6 | @objc class AppDelegate: FlutterAppDelegate { 7 | override func application( 8 | _ application: UIApplication, 9 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 10 | ) -> Bool { 11 | YMKMapKit.setApiKey("bc43d0e2-367d-4e5e-901d-eaca70bb245e") 12 | GeneratedPluginRegistrant.register(with: self) 13 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 14 | } 15 | } -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /examples/profile/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /examples/profile/lib/assets/colors/colors.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /// Semantic aliases. 4 | 5 | /// Secondary color. 6 | const Color secondaryColor = _darkGrey; 7 | 8 | /// Basic white color. 9 | const Color white = _white; 10 | 11 | /// Divider color. 12 | const Color dividerColor = _darkGrey; 13 | 14 | /// Primary text color. 15 | const Color textColorPrimary = _oxfordBlue; 16 | 17 | /// Text field border color. 18 | const Color textFieldBorderColor = _darkGrey; 19 | 20 | // Main palette (http://www.color-blindness.com/color-name-hue/). 21 | const Color _oxfordBlue = Color(0xFF263238); 22 | const Color _white = Colors.white; 23 | const Color _darkGrey = Color(0xFFA7A7A7); 24 | -------------------------------------------------------------------------------- /examples/profile/lib/assets/res/icons.dart: -------------------------------------------------------------------------------- 1 | import 'package:yandex_mapkit/yandex_mapkit.dart'; 2 | 3 | /// Class with paths to icons. 4 | class IconsPath { 5 | /// User icon for [YandexMap]. 6 | static const String userIconForMAp = 'assets/icons/user.png'; 7 | } 8 | -------------------------------------------------------------------------------- /examples/profile/lib/assets/strings/interests_screen_strings.dart: -------------------------------------------------------------------------------- 1 | import 'package:profile/features/profile/screens/interests_screen/interests_screen.dart'; 2 | 3 | /// Strings that are needed on the [InterestsScreen]. 4 | class InterestsScreenStrings { 5 | /// Title text in appbar in [InterestsScreen]. 6 | static const String interestsTitle = 'Interests'; 7 | 8 | /// Validation error text. 9 | static const String warningValidation = 'Select at least one item'; 10 | 11 | /// Text to display an error when loading a list interests. 12 | static const String errorLoading = 13 | 'An error occurred, please try again later'; 14 | } 15 | -------------------------------------------------------------------------------- /examples/profile/lib/assets/strings/main_strings.dart: -------------------------------------------------------------------------------- 1 | /// Strings that are needed throughout the app. 2 | class MainStrings { 3 | /// Text for edit profile button. 4 | static const editProfileButton = 'Edit profile'; 5 | } 6 | -------------------------------------------------------------------------------- /examples/profile/lib/assets/themes/text_style.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/painting.dart'; 2 | import 'package:profile/assets/colors/colors.dart'; 3 | 4 | /// Styles of texts. 5 | const TextStyle _text = TextStyle( 6 | fontStyle: FontStyle.normal, 7 | color: textColorPrimary, 8 | ); 9 | 10 | /// Regular. 11 | TextStyle textRegular = _text.copyWith(fontWeight: FontWeight.normal); 12 | 13 | /// Regular with fontSize 16. 14 | TextStyle textRegular16 = textRegular.copyWith(fontSize: 16.0); 15 | -------------------------------------------------------------------------------- /examples/profile/lib/features/navigation/domain/entity/coordinate.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | /// Factory for building coordinates. 4 | typedef CoordinateBuilder = Widget Function(BuildContext context, Object? data); 5 | 6 | /// Basic coordinate representation. 7 | abstract class Coordinate { 8 | final String _value; 9 | 10 | const Coordinate._(this._value); 11 | 12 | @override 13 | String toString() => _value; 14 | } 15 | -------------------------------------------------------------------------------- /examples/profile/lib/features/navigation/domain/parser/app_route_information_parser.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:profile/features/navigation/domain/entity/app_coordinate.dart'; 4 | import 'package:profile/features/navigation/domain/entity/coordinate.dart'; 5 | 6 | /// [RouteInformationParser] implementation. 7 | /// Passed in the routeInformationParser field in [MaterialApp.router]. 8 | class AppRouteInformationParser extends RouteInformationParser { 9 | @override 10 | Future parseRouteInformation(RouteInformation routeInformation) => 11 | SynchronousFuture(AppCoordinates.initScreen); 12 | } 13 | -------------------------------------------------------------------------------- /examples/profile/lib/features/profile/widgets/cancel_button/cancel_button.dart: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:profile/features/profile/widgets/cancel_button/cancel_button_widget_model.dart'; 4 | 5 | /// Cancel button. 6 | class CancelButton extends ElementaryWidget { 7 | /// Create an instance [CancelButton]. 8 | const CancelButton({ 9 | Key? key, 10 | WidgetModelFactory wmFactory = cancelButtonWidgetModelFactory, 11 | }) : super(wmFactory, key: key); 12 | 13 | @override 14 | Widget build(ICancelButtonWidgetModel wm) { 15 | return IconButton( 16 | onPressed: wm.cancel, 17 | icon: const Icon(Icons.cancel), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/profile/lib/features/profile/widgets/error_widget.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /// Widget to display error. 4 | class CustomErrorWidget extends StatelessWidget { 5 | /// Text error. 6 | final String error; 7 | 8 | /// Create an instance [CustomErrorWidget]. 9 | const CustomErrorWidget({ 10 | required this.error, 11 | Key? key, 12 | }) : super(key: key); 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Center( 17 | child: Text(error), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/profile/lib/features/server/domain/mock_list_interests.dart: -------------------------------------------------------------------------------- 1 | /// List of interests from the mock server. 2 | const List mockInterestsList = [ 3 | 'Photo', 4 | 'Art', 5 | 'Flowers', 6 | 'Quotes', 7 | 'Design', 8 | 'Illustrations', 9 | 'Home decor', 10 | 'Fashion', 11 | 'Humor', 12 | 'Food and drink', 13 | 'Outdoor activities', 14 | 'Sports', 15 | 'Travel', 16 | 'Reading', 17 | 'Sleep', 18 | 'Geography', 19 | 'Science', 20 | 'Space', 21 | 'Programming', 22 | 'High technology', 23 | 'Politics', 24 | 'Theatre', 25 | 'Cinema', 26 | 'Modeling', 27 | ]; 28 | -------------------------------------------------------------------------------- /examples/profile/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:profile/runner.dart'; 2 | 3 | /// Main entry point of app. 4 | void main() { 5 | run(); 6 | } 7 | -------------------------------------------------------------------------------- /examples/profile/lib/runner.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:flutter/widgets.dart'; 4 | import 'package:profile/features/app/app.dart'; 5 | import 'package:surf_logger/surf_logger.dart'; 6 | 7 | /// App launch. 8 | Future run() async { 9 | _initLogger(); 10 | runApp(const App()); 11 | } 12 | 13 | void _initLogger() { 14 | Logger.addStrategy(DebugLogStrategy()); 15 | } 16 | -------------------------------------------------------------------------------- /examples/profile/lib/util/default_error_handler.dart: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | import 'package:flutter/foundation.dart'; 3 | 4 | /// Base implementation of error handler. 5 | /// This just print error to console. 6 | class DefaultErrorHandler implements ErrorHandler { 7 | @override 8 | void handleError( 9 | Object error, { 10 | StackTrace? stackTrace, 11 | }) { 12 | if (kDebugMode) { 13 | print(error); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/profile/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: profile 2 | version: "0.0.1-dev.0" 3 | description: Example of using Elementary with Bloc. 4 | publish_to: none 5 | 6 | dependencies: 7 | async: ^2.8.2 8 | bloc: ^8.0.2 9 | elementary: ^3.0.0 10 | elementary_helper: ^1.0.1 11 | equatable: ^2.0.3 12 | flutter: 13 | sdk: flutter 14 | logger: ^1.1.0 15 | provider: ^6.0.1 16 | shimmer: ^2.0.0 17 | surf_logger: ^1.0.1 18 | yandex_mapkit: ^2.0.6 19 | 20 | dev_dependencies: 21 | build_runner: ^2.1.5 22 | dart_code_metrics: ^5.5.1 23 | elementary_test: ^2.0.0 24 | flutter_test: 25 | sdk: flutter 26 | mjk_lint_rules: ^2.0.0 27 | 28 | environment: 29 | sdk: ">=2.14.0-0 <3.0.0" 30 | 31 | flutter: 32 | uses-material-design: true 33 | assets: 34 | - assets/icons/ 35 | -------------------------------------------------------------------------------- /examples/profile/res/bloc_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/examples/profile/res/bloc_diagram.png -------------------------------------------------------------------------------- /packages/elementary/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: f4abaa0735eba4dfd8f33f73363911d63931fe03 8 | channel: stable 9 | 10 | project_type: package 11 | -------------------------------------------------------------------------------- /packages/elementary/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | linter: 4 | rules: 5 | always_put_required_named_parameters_first: false 6 | one_member_abstracts: false 7 | public_member_api_docs: true -------------------------------------------------------------------------------- /packages/elementary/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | exclude: 2 | - "example/**" 3 | -------------------------------------------------------------------------------- /packages/elementary/example/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 9b2d32b605630f28625709ebd9d78ab3016b2bf6 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /packages/elementary/example/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | linter: 4 | rules: 5 | always_put_required_named_parameters_first: false -------------------------------------------------------------------------------- /packages/elementary/example/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/kotlin/com/example/counter/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.counter 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() 6 | -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary/example/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary/example/android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(':app') 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /packages/elementary/example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4G 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /packages/elementary/example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip 6 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /packages/elementary/example/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /packages/elementary/example/ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /packages/elementary/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: counter 2 | description: A new Flutter project. 3 | version: 1.0.0+1 4 | publish_to: none 5 | 6 | environment: 7 | sdk: ">=3.0.0 <4.0.0" 8 | 9 | dependencies: 10 | elementary: 11 | path: ../ 12 | flutter: 13 | sdk: flutter 14 | 15 | dev_dependencies: 16 | mjk_lint_rules: ^2.0.0 17 | 18 | flutter: 19 | uses-material-design: true 20 | -------------------------------------------------------------------------------- /packages/elementary/example/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/web/favicon.png -------------------------------------------------------------------------------- /packages/elementary/example/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/web/icons/Icon-192.png -------------------------------------------------------------------------------- /packages/elementary/example/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/web/icons/Icon-512.png -------------------------------------------------------------------------------- /packages/elementary/example/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /packages/elementary/example/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary/example/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /packages/elementary/lib/elementary.dart: -------------------------------------------------------------------------------- 1 | library elementary; 2 | 3 | export 'package:elementary/src/core.dart' hide Elementary; 4 | export 'package:elementary/src/error/error_handler.dart'; 5 | export 'package:elementary/src/keep_alive/automatic_keep_alive_widget_model_mixin.dart'; 6 | export 'package:elementary/src/ticker/ticker_providers.dart'; 7 | -------------------------------------------------------------------------------- /packages/elementary_helper/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## Unreleased 4 | * 5 | 6 | ## 1.0.2 7 | ### Changed 8 | * Documentation update. 9 | 10 | ## 1.0.1 11 | ### Changed 12 | * documentation improvement; 13 | 14 | ## 1.0.0 15 | ### Added 16 | * implementations have been moved from the main package; -------------------------------------------------------------------------------- /packages/elementary_helper/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | linter: 4 | rules: 5 | always_put_required_named_parameters_first: false 6 | sort_pub_dependencies: false 7 | public_member_api_docs: true -------------------------------------------------------------------------------- /packages/elementary_helper/example/README.md: -------------------------------------------------------------------------------- 1 | # helper_example 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) 13 | 14 | For help getting started with Flutter development, view the 15 | [online documentation](https://docs.flutter.dev/), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/kotlin/mjk/elementary/example/helper_example/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package mjk.elementary.example.helper_example 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(':app') 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip 6 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "ephemeral/Flutter-Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Flutter/GeneratedPluginRegistrant.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | import FlutterMacOS 6 | import Foundation 7 | 8 | 9 | func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 10 | } 11 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = helper_example 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = mjk.elementary.example.helperExample 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2023 mjk.elementary.example. All rights reserved. 15 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/macos/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import FlutterMacOS 2 | import Cocoa 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: helper_example 2 | description: A new Flutter project. 3 | publish_to: 'none' 4 | 5 | version: 1.0.0+1 6 | 7 | environment: 8 | sdk: ">=3.0.0 <4.0.0" 9 | 10 | dependencies: 11 | flutter: 12 | sdk: flutter 13 | elementary_helper: 14 | path: ../ 15 | 16 | dev_dependencies: 17 | mjk_lint_rules: ^2.0.0 18 | 19 | flutter: 20 | uses-material-design: true -------------------------------------------------------------------------------- /packages/elementary_helper/example/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | void main() {} 2 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/web/favicon.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/web/icons/Icon-192.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/web/icons/Icon-512.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /packages/elementary_helper/example/windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/windows/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void RegisterPlugins(flutter::PluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /packages/elementary_helper/example/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_helper/example/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /packages/elementary_helper/lib/src/wrappers/theme_wrapper.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | /// Wrapper for hiding direct call flutter theme. 4 | class ThemeWrapper { 5 | /// Return theme data. 6 | ThemeData getTheme(BuildContext context) { 7 | return Theme.of(context); 8 | } 9 | 10 | /// Return theme data. 11 | TextTheme getTextTheme(BuildContext context) { 12 | return Theme.of(context).textTheme; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/elementary_helper/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: elementary_helper 2 | description: A library with a bunch of helpers for elementary library, such as publisher-subscriber implementations, wrappers, etc. 3 | version: 1.0.2 4 | repository: "https://github.com/Elementary-team/flutter-elementary/tree/main/packages/elementary_helper" 5 | issue_tracker: "https://github.com/Elementary-team/flutter-elementary/issues" 6 | homepage: "https://github.com/Elementary-team/flutter-elementary" 7 | 8 | environment: 9 | sdk: ">=3.0.0 <4.0.0" 10 | flutter: ">=3.10.0" 11 | 12 | dependencies: 13 | flutter: 14 | sdk: flutter 15 | 16 | dev_dependencies: 17 | flutter_test: 18 | sdk: flutter 19 | 20 | mocktail: ^1.0.0 21 | mjk_lint_rules: ^2.0.0 22 | -------------------------------------------------------------------------------- /packages/elementary_test/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 4cc385b4b84ac2f816d939a49ea1f328c4e0b48e 8 | channel: stable 9 | 10 | project_type: package 11 | -------------------------------------------------------------------------------- /packages/elementary_test/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | linter: 4 | rules: 5 | always_put_required_named_parameters_first: false 6 | sort_pub_dependencies: false 7 | public_member_api_docs: true -------------------------------------------------------------------------------- /packages/elementary_test/example/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 9b2d32b605630f28625709ebd9d78ab3016b2bf6 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /packages/elementary_test/example/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | 3 | linter: 4 | rules: 5 | always_put_required_named_parameters_first: false -------------------------------------------------------------------------------- /packages/elementary_test/example/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/kotlin/com/example/counter/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.counter 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() 6 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /packages/elementary_test/example/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(':app') 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4G 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /packages/elementary_test/example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip 6 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /packages/elementary_test/example/ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /packages/elementary_test/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: counter 2 | description: A new Flutter project. 3 | version: 1.0.0+1 4 | publish_to: none 5 | 6 | environment: 7 | sdk: ">=3.0.0 <4.0.0" 8 | 9 | dependencies: 10 | elementary: ^3.1.1 11 | elementary_helper: ^1.0.2 12 | flutter: 13 | sdk: flutter 14 | 15 | dev_dependencies: 16 | elementary_test: 17 | path: ../ 18 | flutter_test: 19 | sdk: flutter 20 | 21 | mocktail: ^1.0.4 22 | mjk_lint_rules: ^2.0.0 23 | 24 | flutter: 25 | uses-material-design: true 26 | -------------------------------------------------------------------------------- /packages/elementary_test/example/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/web/favicon.png -------------------------------------------------------------------------------- /packages/elementary_test/example/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/web/icons/Icon-192.png -------------------------------------------------------------------------------- /packages/elementary_test/example/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/web/icons/Icon-512.png -------------------------------------------------------------------------------- /packages/elementary_test/example/web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /packages/elementary_test/example/web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_test/example/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /packages/elementary_test/lib/elementary_test.dart: -------------------------------------------------------------------------------- 1 | library elementary_test; 2 | 3 | export 'package:elementary_test/src/widget_model_test.dart'; 4 | -------------------------------------------------------------------------------- /packages/elementary_test/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: elementary_test 2 | description: A testing library which makes it easy to test elementary used apps. Built to be used with the elementary architecture package. 3 | version: 2.1.0 4 | repository: "https://github.com/Elementary-team/flutter-elementary/tree/main/packages/elementary_test" 5 | issue_tracker: "https://github.com/Elementary-team/flutter-elementary/issues" 6 | homepage: "https://github.com/Elementary-team/flutter-elementary" 7 | 8 | environment: 9 | sdk: ">=3.0.0 <4.0.0" 10 | flutter: ">=3.10.0" 11 | 12 | dependencies: 13 | flutter: 14 | sdk: flutter 15 | flutter_test: 16 | sdk: flutter 17 | elementary: ^3.2.0 18 | mocktail: ^1.0.0 19 | meta: ^1.8.0 20 | 21 | dev_dependencies: 22 | mjk_lint_rules: ^2.0.0 23 | -------------------------------------------------------------------------------- /packages/elementary_test/test/elementary_test_test.dart: -------------------------------------------------------------------------------- 1 | void main() {} 2 | -------------------------------------------------------------------------------- /packages/elementary_tools/README.md: -------------------------------------------------------------------------------- 1 | # Elementary tools 2 | Tools for better experience with Elementary package 3 | 4 | ## [Elementary CLI](./elementary_cli) 5 | Utilities for generating/analyzing elementary-based code 6 | 7 | ## [Intellij Plugin](./plugin_intellij) 8 | Plugin for intellij-based platforms 9 | 10 | ## [VSCode Plugin](./plugin_vscode) 11 | Plugin for VSCode 12 | 13 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## Unreleased 4 | ## 0.0.3 5 | ### Added 6 | * support Elementary 3.0.0 changes 7 | 8 | ## 0.0.2 9 | ### Added 10 | * support 0.1.0-dev.40 version of mason 11 | 12 | ## 0.0.1 13 | ### Added 14 | * templates generation by params 15 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/README.md: -------------------------------------------------------------------------------- 1 | # elementary 2 | 3 | Generation of templates code for [Elementary](https://github.com/Elementary-team/flutter-elementary), using [Mason](https://github.com/felangel/mason) 4 | 5 | ## How to use 6 | 7 | Install mason from pub or homebrew. 8 | ``` 9 | # Install from pub.dev 10 | $ dart pub global activate mason_cli 11 | 12 | # Install from homebrew 13 | $ brew tap felangel/mason 14 | $ brew install mason 15 | ``` 16 | 17 | Add elementary brick. 18 | ``` 19 | mason add elementary 20 | ``` 21 | 22 | Generate code with. 23 | ``` 24 | mason make elementary 25 | ``` 26 | 27 | ## Sponsor 28 | 29 | Our main sponsor is [Surf](https://surf.dev/). 30 | 31 | ## Maintainer 32 | 33 | [Mikhail Zotyev](https://github.com/MbIXjkee) 34 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/__brick__/{{widget_file}}/{{model_file}}.dart: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | 3 | //TODO: documentation 4 | class {{model_class}} extends ElementaryModel { 5 | {{model_class}}([ErrorHandler? errorHandler]) : super(errorHandler: errorHandler); 6 | } 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/__brick__/{{widget_file}}/{{widget_file}}.dart: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | // ignore: always_use_package_imports 5 | import '{{widget_model_file}}.dart'; 6 | 7 | //TODO: documentation 8 | class {{widget_class}} extends ElementaryWidget<{{widget_model_interface}}> { 9 | const {{widget_class}}({ 10 | Key? key, 11 | WidgetModelFactory wmFactory = {{widget_model_factory}}, 12 | }) : super(wmFactory, key: key); 13 | 14 | @override 15 | Widget build({{widget_model_interface}} wm) { 16 | return Container(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/brick.yaml: -------------------------------------------------------------------------------- 1 | name: elementary 2 | description: Brick to generate template code for Elementary entities. 3 | repository: https://github.com/Elementary-team/flutter-elementary/tree/main/packages/elementary_tools/elementary_bricks/elementary 4 | 5 | version: 0.0.3 6 | 7 | environment: 8 | mason: ">=0.1.0-dev.40 <0.1.0" 9 | 10 | vars: 11 | name: 12 | type: string 13 | prompt: How would you like to name your widget? 14 | default: Example 15 | widget_model_suffix: 16 | type: enum 17 | prompt: Which suffix do you want for WidgetModel 18 | default: WidgetModel 19 | values: 20 | - WidgetModel 21 | - WM -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/hooks/.gitignore: -------------------------------------------------------------------------------- 1 | .dart_tool 2 | .packages 3 | pubspec.lock 4 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_bricks/elementary/hooks/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: elementary_hooks 2 | 3 | environment: 4 | sdk: ">=2.12.0 <3.0.0" 5 | 6 | dependencies: 7 | mason: ^0.1.0-dev.40 8 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub. 2 | .dart_tool/ 3 | .packages 4 | 5 | # Conventional directory for build output. 6 | build/ 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [Unreleased] 4 | 5 | ## 2.0.0 6 | ### Add 7 | * support elementary 3.0.0 changes in templates 8 | 9 | ## 1.1.0 10 | ### Add 11 | * support of the new analyzer plugin 12 | 13 | ## 1.0.1 14 | ### Fixed 15 | * wrong platform specific script path getting (thx LazyLazyMeat). 16 | 17 | ## 1.0.0 18 | * First stable release. 19 | 20 | ## 0.0.2 21 | * Fix copy template. 22 | 23 | ## 0.0.1-dev 24 | * Initial version. 25 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:mjk_lint_rules/mjk_lint_rules.yaml 2 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/analyzer_plugin/elementary_plugin.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | // ignore_for_file: implementation_imports 4 | import 'package:analyzer/dart/analysis/analysis_context.dart'; 5 | import 'package:analyzer_plugin/plugin/plugin.dart'; 6 | 7 | class ElementaryAnalyzerPlugin extends ServerPlugin { 8 | @override 9 | List get fileGlobsToAnalyze => ['**/*.dart']; 10 | 11 | @override 12 | String get name => 'Elementary'; 13 | 14 | @override 15 | String get version => '1.0.0'; 16 | 17 | ElementaryAnalyzerPlugin({required super.resourceProvider}); 18 | 19 | @override 20 | Future analyzeFile({ 21 | required AnalysisContext analysisContext, 22 | required String path, 23 | }) async {} 24 | } 25 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/analyzer_plugin/start_elementary_plugin.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | 3 | import 'package:analyzer/file_system/physical_file_system.dart'; 4 | import 'package:analyzer_plugin/starter.dart'; 5 | import 'package:elementary_cli/analyzer_plugin/elementary_plugin.dart'; 6 | 7 | void startElementaryPlugin(List _, SendPort sendPort) { 8 | ServerPluginStarter( 9 | ElementaryAnalyzerPlugin( 10 | resourceProvider: PhysicalResourceProvider.INSTANCE, 11 | ), 12 | ).start(sendPort); 13 | } 14 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/console_writer.dart: -------------------------------------------------------------------------------- 1 | // ignore_for_file: avoid_print 2 | 3 | // Writes messages to console 4 | class ConsoleWriter { 5 | static void write(Object? object) { 6 | print(object); 7 | } 8 | } -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/generate/generate_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:args/command_runner.dart'; 2 | import 'package:elementary_cli/generate/generate_test_wm.dart'; 3 | 4 | /// `elementary_tools generate test` command 5 | class GenerateTestCommand extends Command { 6 | 7 | @override 8 | String get description => 'Generates template files for tests'; 9 | 10 | @override 11 | String get name => 'test'; 12 | 13 | @override 14 | bool get takesArguments => false; 15 | 16 | GenerateTestCommand() { 17 | addSubcommand(GenerateTestWmCommand()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/templates/README.md: -------------------------------------------------------------------------------- 1 | # Generator templates 2 | 3 | Generator has two patterns to modify: 4 | * `filename` is replaced with generated file's name base 5 | * `ClassName` is replaced with generated class name base -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/templates/model.dart.tp: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | 3 | // TODO: cover with documentation 4 | /// Default Elementary model for ClassName module 5 | class ClassNameModel extends ElementaryModel { 6 | ClassNameModel(ErrorHandler errorHandler) : super(errorHandler: errorHandler); 7 | } 8 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/templates/widget.dart.tp: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'filename_wm.dart'; 4 | 5 | // TODO: cover with documentation 6 | /// Main widget for ClassName module 7 | class ClassNameWidget extends ElementaryWidget { 8 | const ClassNameWidget({ 9 | Key? key, 10 | WidgetModelFactory wmFactory = defaultClassNameWidgetModelFactory, 11 | }) : super(wmFactory, key: key); 12 | 13 | @override 14 | Widget build(IClassNameWidgetModel wm) { 15 | return Container(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/lib/templates/widget_model.dart.tp: -------------------------------------------------------------------------------- 1 | import 'package:elementary/elementary.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'filename_model.dart'; 4 | import 'filename_widget.dart'; 5 | 6 | abstract interface class IClassNameWidgetModel implements IWidgetModel { 7 | } 8 | 9 | ClassNameWidgetModel defaultClassNameWidgetModelFactory(BuildContext context) { 10 | return ClassNameWidgetModel(); 11 | } 12 | 13 | // TODO: cover with documentation 14 | /// Default widget model for ClassNameWidget 15 | class ClassNameWidgetModel extends WidgetModel 16 | implements IClassNameWidgetModel { 17 | 18 | ClassNameWidgetModel(ClassNameModel model) : super(model); 19 | } 20 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: elementary_cli 2 | description: CLI utilities for Elementary 3 | 4 | version: 2.0.0 5 | repository: "https://github.com/Elementary-team/flutter-elementary/tree/main/packages/elementary_tools/elementary_cli" 6 | issue_tracker: "https://github.com/Elementary-team/flutter-elementary/issues" 7 | homepage: "https://github.com/Elementary-team/flutter-elementary" 8 | 9 | executables: 10 | elementary_tools: 11 | 12 | environment: 13 | sdk: ">=3.0.0 <4.0.0" 14 | 15 | dependencies: 16 | args: ^2.3.0 17 | analyzer_plugin: ^0.11.2 18 | analyzer: ^5.4.0 19 | path: ^1.8.0 20 | 21 | dev_dependencies: 22 | dart_code_metrics: ^5.6.0 23 | lints: ^2.0.1 24 | mjk_lint_rules: ^2.0.0 25 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/tools/analyzer_plugin/.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub. 2 | .dart_tool/ 3 | .packages 4 | 5 | # Conventional directory for build output. 6 | build/ 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/tools/analyzer_plugin/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.0.1 2 | 3 | - Initial version. Copypasted 'dart-code-metrics' plugin base 4 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/tools/analyzer_plugin/README.md: -------------------------------------------------------------------------------- 1 | # Elementary analyzer plugin 2 | -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/tools/analyzer_plugin/bin/plugin.dart: -------------------------------------------------------------------------------- 1 | import 'dart:isolate'; 2 | import 'package:elementary_cli/analyzer_plugin/start_elementary_plugin.dart'; 3 | 4 | /// Proxy main to `elementary_cli` package's analyzer plugin 5 | void main(List args, SendPort sendPort) { 6 | // invoking starting function of Elementary Analyzer Plugin 7 | startElementaryPlugin(args, sendPort); 8 | } -------------------------------------------------------------------------------- /packages/elementary_tools/elementary_cli/tools/analyzer_plugin/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: analyzer_plugin_bootstrap 2 | description: Elementary analyzer plugin 3 | version: 0.0.1 4 | publish_to: none 5 | 6 | environment: 7 | sdk: '>=2.17.0 <3.0.0' 8 | 9 | dependencies: 10 | elementary_cli: ^1.1.0 11 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .idea 3 | .qodana 4 | build 5 | local.properties -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elementary-team/flutter-elementary/b933c38c47b8e31a7a6047f462edf3e424df48a5/packages/elementary_tools/plugin_intellij/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/qodana.yml: -------------------------------------------------------------------------------- 1 | # Qodana configuration: 2 | # https://www.jetbrains.com/help/qodana/qodana-yaml.html 3 | 4 | version: 1.0 5 | profile: 6 | name: qodana.recommended 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "plugin_intellij" 2 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/main/kotlin/ru/elementaryteam/elementarypluginintellij/activity/MyProjectActivity.kt: -------------------------------------------------------------------------------- 1 | package ru.elementaryteam.elementarypluginintellij.activity 2 | 3 | import com.intellij.openapi.components.service 4 | import com.intellij.openapi.project.Project 5 | import com.intellij.openapi.startup.ProjectActivity 6 | import ru.elementaryteam.elementarypluginintellij.services.MyProjectService 7 | 8 | internal class MyProjectActivity : ProjectActivity { 9 | 10 | override suspend fun execute(project: Project) { 11 | project.service() 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/main/kotlin/ru/elementaryteam/elementarypluginintellij/services/MyApplicationService.kt: -------------------------------------------------------------------------------- 1 | package ru.elementaryteam.elementarypluginintellij.services 2 | 3 | import ru.elementaryteam.elementarypluginintellij.MyBundle 4 | 5 | class MyApplicationService { 6 | 7 | init { 8 | println(MyBundle.message("applicationService")) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/main/kotlin/ru/elementaryteam/elementarypluginintellij/services/MyProjectService.kt: -------------------------------------------------------------------------------- 1 | package ru.elementaryteam.elementarypluginintellij.services 2 | 3 | import com.intellij.openapi.project.Project 4 | import ru.elementaryteam.elementarypluginintellij.MyBundle 5 | 6 | class MyProjectService(project: Project) { 7 | 8 | init { 9 | println(MyBundle.message("projectService", project.name)) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/main/resources/META-INF/pluginIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/main/resources/messages/MyBundle.properties: -------------------------------------------------------------------------------- 1 | name=Elementary 2 | applicationService=Application service 3 | projectService=Project service: {0} 4 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/test/testData/moduleNameValidation/invalidNames.txt: -------------------------------------------------------------------------------- 1 | _no_way_you_can_start_with_underscore 2 | no_way_you_can_end_with_underscore_ 3 | 1no_way_you_can_start_with_number 4 | 1_no_way_you_can_start_with_number_with_underscore 5 | MyClassName 6 | my___class___name 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_intellij/src/test/testData/moduleNameValidation/validNames.txt: -------------------------------------------------------------------------------- 1 | abcd 2 | my_cool_module 3 | some_very_long_module_name_here 4 | module_name_w1th_number_one 5 | module_name_with_number_1 6 | s0me_w3ird_l00king_module_name 7 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_vscode/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 6, 6 | "sourceType": "module" 7 | }, 8 | "plugins": [ 9 | "@typescript-eslint" 10 | ], 11 | "rules": { 12 | "@typescript-eslint/naming-convention": "warn", 13 | "@typescript-eslint/semi": "warn", 14 | "curly": "warn", 15 | "eqeqeq": "warn", 16 | "no-throw-literal": "warn", 17 | "semi": "off" 18 | }, 19 | "ignorePatterns": [ 20 | "out", 21 | "dist", 22 | "**/*.d.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_vscode/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | Thumbs.db 4 | */node_modules/ 5 | */out/ 6 | */.vs/ 7 | tsconfig.lsif.json 8 | *.lsif 9 | *.db 10 | out 11 | node_modules 12 | .vscode-test/ 13 | *.vsix -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_vscode/.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | src/** 4 | .gitignore 5 | .yarnrc 6 | vsc-extension-quickstart.md 7 | **/tsconfig.json 8 | **/.eslintrc.json 9 | **/*.map 10 | **/*.ts 11 | .idea/** 12 | -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_vscode/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Elementary Extension Changelog 2 | ## [0.0.3] 3 | ### Added 4 | - Snippets for widget, widget model, and model 5 | 6 | ## [0.0.2] 7 | ### Added 8 | - Automatic activation elementary_cli 9 | 10 | ## [0.0.1] 11 | ### Added 12 | - Initial structure 13 | - `elementary module` generation UI 14 | - `elementary wm test` generation UI -------------------------------------------------------------------------------- /packages/elementary_tools/plugin_vscode/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "outDir": "out", 6 | "lib": [ 7 | "ES2020" 8 | ], 9 | "types": ["node"], 10 | "sourceMap": true, 11 | "rootDir": "src", 12 | "strict": true /* enable all strict type-checking options */ 13 | /* Additional Checks */ 14 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 15 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 16 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 17 | }, 18 | "exclude": [ 19 | "node_modules", 20 | ".vscode-test" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/make/docs.mk: -------------------------------------------------------------------------------- 1 | .PHONY: init-docs serve-docs 2 | 3 | init-docs: 4 | @echo "Requires to have python and pip installed" 5 | @python3 -m venv $(HOME)/myenv 6 | @source $HOME/myenv/bin/activate 7 | @pip install mkdocs 8 | @pip install mkdocs-material 9 | 10 | serve-docs: 11 | @cd documentation/elementary && source $(HOME)/myenv/bin/activate && mkdocs serve -------------------------------------------------------------------------------- /tools/workspace/elementary.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "name": "🚀 Elementary", 5 | "path": "../../packages/elementary" 6 | } 7 | ], 8 | "settings": { 9 | "dart.lineLength": 80, 10 | } 11 | } -------------------------------------------------------------------------------- /tools/workspace/elementary_helper.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "name": "🛠️ Elementary Helper", 5 | "path": "../../packages/elementary_helper" 6 | } 7 | ], 8 | "settings": { 9 | "dart.lineLength": 80, 10 | } 11 | } -------------------------------------------------------------------------------- /tools/workspace/elementary_test.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "name": "🧪 Elementary Test", 5 | "path": "../../packages/elementary_test" 6 | } 7 | ], 8 | "settings": { 9 | "dart.lineLength": 80, 10 | } 11 | } -------------------------------------------------------------------------------- /tools/workspace/main.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "name": "🚀 Elementary", 5 | "path": "../../packages/elementary" 6 | }, 7 | { 8 | "name": "🛠️ Elementary Helper", 9 | "path": "../../packages/elementary_helper" 10 | }, 11 | { 12 | "name": "🧪 Elementary Test", 13 | "path": "../../packages/elementary_test" 14 | }, 15 | { 16 | "name": "⚙️ Elementary CLI", 17 | "path": "../../packages/elementary_tools/elementary_cli" 18 | }, 19 | { 20 | "name": "📁 All files", 21 | "path": "../../." 22 | }, 23 | { 24 | "name": "📚 Workspaces", 25 | "path": "." 26 | } 27 | ], 28 | "settings": { 29 | "dart.lineLength": 80, 30 | } 31 | } --------------------------------------------------------------------------------