| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'dart:collection'; |
| |
| import 'package:flutter/cupertino.dart'; |
| import 'package:flutter/material.dart'; |
| |
| import '../codeviewer/code_displayer.dart'; |
| import '../deferred_widget.dart'; |
| import '../demos/cupertino/cupertino_demos.dart' |
| deferred as cupertino_demos; |
| import '../demos/cupertino/demo_types.dart'; |
| import '../demos/material/material_demo_types.dart'; |
| import '../demos/material/material_demos.dart' |
| deferred as material_demos; |
| import '../demos/reference/colors_demo.dart' |
| deferred as colors_demo; |
| import '../demos/reference/motion_demo_container_transition.dart' |
| deferred as motion_demo_container; |
| import '../demos/reference/motion_demo_fade_scale_transition.dart'; |
| import '../demos/reference/motion_demo_fade_through_transition.dart'; |
| import '../demos/reference/motion_demo_shared_x_axis_transition.dart'; |
| import '../demos/reference/motion_demo_shared_y_axis_transition.dart'; |
| import '../demos/reference/motion_demo_shared_z_axis_transition.dart'; |
| import '../demos/reference/transformations_demo.dart' |
| deferred as transformations_demo; |
| import '../demos/reference/typography_demo.dart' |
| deferred as typography; |
| import '../gallery_localizations.dart'; |
| import '../gallery_localizations_en.dart'; |
| import 'icons.dart'; |
| |
| const String _docsBaseUrl = 'https://api.flutter.dev/flutter'; |
| const String _docsAnimationsUrl = |
| 'https://pub.dev/documentation/animations/latest/animations'; |
| |
| enum GalleryDemoCategory { |
| study, |
| material, |
| cupertino, |
| other; |
| |
| @override |
| String toString() { |
| return name.toUpperCase(); |
| } |
| |
| String? displayTitle(GalleryLocalizations localizations) { |
| return switch (this) { |
| study => null, |
| material || cupertino => toString(), |
| other => localizations.homeCategoryReference, |
| }; |
| } |
| } |
| |
| class GalleryDemo { |
| const GalleryDemo({ |
| required this.title, |
| required this.category, |
| required this.subtitle, |
| // This parameter is required for studies. |
| this.studyId, |
| // Parameters below are required for non-study demos. |
| this.slug, |
| this.icon, |
| this.configurations = const <GalleryDemoConfiguration>[], |
| }) : assert(category == GalleryDemoCategory.study || |
| (slug != null && icon != null)), |
| assert(slug != null || studyId != null); |
| |
| final String title; |
| final GalleryDemoCategory category; |
| final String subtitle; |
| final String? studyId; |
| final String? slug; |
| final IconData? icon; |
| final List<GalleryDemoConfiguration> configurations; |
| |
| String get describe => '${slug ?? studyId}@${category.name}'; |
| } |
| |
| TextSpan noOpCodeDisplayer(BuildContext context) { |
| return const TextSpan(text: ''); |
| } |
| |
| class GalleryDemoConfiguration { |
| const GalleryDemoConfiguration({ |
| required this.title, |
| required this.description, |
| required this.documentationUrl, |
| required this.buildRoute, |
| this.code = noOpCodeDisplayer, |
| }); |
| |
| final String title; |
| final String description; |
| final String documentationUrl; |
| final WidgetBuilder buildRoute; |
| final CodeDisplayer code; |
| } |
| |
| /// Awaits all deferred libraries for tests. |
| Future<void> pumpDeferredLibraries() { |
| final List<Future<void>> futures = <Future<void>>[ |
| DeferredWidget.preload(cupertino_demos.loadLibrary), |
| DeferredWidget.preload(material_demos.loadLibrary), |
| DeferredWidget.preload(motion_demo_container.loadLibrary), |
| DeferredWidget.preload(colors_demo.loadLibrary), |
| DeferredWidget.preload(transformations_demo.loadLibrary), |
| DeferredWidget.preload(typography.loadLibrary), |
| ]; |
| return Future.wait(futures); |
| } |
| |
| class Demos { |
| static Map<String?, GalleryDemo> asSlugToDemoMap(BuildContext context) { |
| final GalleryLocalizations localizations = GalleryLocalizations.of(context)!; |
| return LinkedHashMap<String?, GalleryDemo>.fromIterable( |
| all(localizations), |
| // ignore: avoid_dynamic_calls |
| key: (dynamic demo) => demo.slug as String?, |
| ); |
| } |
| |
| static List<GalleryDemo> all(GalleryLocalizations localizations) => |
| studies(localizations).values.toList() + |
| materialDemos(localizations) + |
| cupertinoDemos(localizations) + |
| otherDemos(localizations); |
| |
| static List<String> allDescriptions() => |
| all(GalleryLocalizationsEn()).map((GalleryDemo demo) => demo.describe).toList(); |
| |
| static Map<String, GalleryDemo> studies(GalleryLocalizations localizations) { |
| return <String, GalleryDemo>{ |
| 'shrine': GalleryDemo( |
| title: 'Shrine', |
| subtitle: localizations.shrineDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'shrine', |
| ), |
| 'rally': GalleryDemo( |
| title: 'Rally', |
| subtitle: localizations.rallyDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'rally', |
| ), |
| 'crane': GalleryDemo( |
| title: 'Crane', |
| subtitle: localizations.craneDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'crane', |
| ), |
| 'fortnightly': GalleryDemo( |
| title: 'Fortnightly', |
| subtitle: localizations.fortnightlyDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'fortnightly', |
| ), |
| 'reply': GalleryDemo( |
| title: 'Reply', |
| subtitle: localizations.replyDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'reply', |
| ), |
| 'starterApp': GalleryDemo( |
| title: localizations.starterAppTitle, |
| subtitle: localizations.starterAppDescription, |
| category: GalleryDemoCategory.study, |
| studyId: 'starter', |
| ), |
| }; |
| } |
| |
| static List<GalleryDemo> materialDemos(GalleryLocalizations localizations) { |
| final LibraryLoader materialDemosLibrary = material_demos.loadLibrary; |
| return <GalleryDemo>[ |
| GalleryDemo( |
| title: localizations.demoAppBarTitle, |
| icon: GalleryIcons.appbar, |
| slug: 'app-bar', |
| subtitle: localizations.demoAppBarSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoAppBarTitle, |
| description: localizations.demoAppBarDescription, |
| documentationUrl: '$_docsBaseUrl/material/AppBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.AppBarDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoBannerTitle, |
| icon: GalleryIcons.listsLeaveBehind, |
| slug: 'banner', |
| subtitle: localizations.demoBannerSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoBannerTitle, |
| description: localizations.demoBannerDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/MaterialBanner-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BannerDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoBottomAppBarTitle, |
| icon: GalleryIcons.bottomAppBar, |
| slug: 'bottom-app-bar', |
| subtitle: localizations.demoBottomAppBarSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoBottomAppBarTitle, |
| description: localizations.demoBottomAppBarDescription, |
| documentationUrl: '$_docsBaseUrl/material/BottomAppBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BottomAppBarDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoBottomNavigationTitle, |
| icon: GalleryIcons.bottomNavigation, |
| slug: 'bottom-navigation', |
| subtitle: localizations.demoBottomNavigationSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoBottomNavigationPersistentLabels, |
| description: localizations.demoBottomNavigationDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/BottomNavigationBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BottomNavigationDemo( |
| type: BottomNavigationDemoType.withLabels, |
| restorationId: 'bottom_navigation_labels_demo', |
| )), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoBottomNavigationSelectedLabel, |
| description: localizations.demoBottomNavigationDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/BottomNavigationBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BottomNavigationDemo( |
| type: BottomNavigationDemoType.withoutLabels, |
| restorationId: 'bottom_navigation_without_labels_demo', |
| )), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoBottomSheetTitle, |
| icon: GalleryIcons.bottomSheets, |
| slug: 'bottom-sheet', |
| subtitle: localizations.demoBottomSheetSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoBottomSheetPersistentTitle, |
| description: localizations.demoBottomSheetPersistentDescription, |
| documentationUrl: '$_docsBaseUrl/material/BottomSheet-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BottomSheetDemo( |
| type: BottomSheetDemoType.persistent, |
| )), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoBottomSheetModalTitle, |
| description: localizations.demoBottomSheetModalDescription, |
| documentationUrl: '$_docsBaseUrl/material/BottomSheet-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.BottomSheetDemo( |
| type: BottomSheetDemoType.modal, |
| )), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoButtonTitle, |
| icon: GalleryIcons.genericButtons, |
| slug: 'button', |
| subtitle: localizations.demoButtonSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoTextButtonTitle, |
| description: localizations.demoTextButtonDescription, |
| documentationUrl: '$_docsBaseUrl/material/TextButton-class.html', |
| buildRoute: (_) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ButtonDemo(type: ButtonDemoType.text)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoElevatedButtonTitle, |
| description: localizations.demoElevatedButtonDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/ElevatedButton-class.html', |
| buildRoute: (_) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ButtonDemo(type: ButtonDemoType.elevated)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoOutlinedButtonTitle, |
| description: localizations.demoOutlinedButtonDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/OutlinedButton-class.html', |
| buildRoute: (_) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ButtonDemo(type: ButtonDemoType.outlined)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoToggleButtonTitle, |
| description: localizations.demoToggleButtonDescription, |
| documentationUrl: '$_docsBaseUrl/material/ToggleButtons-class.html', |
| buildRoute: (_) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ButtonDemo(type: ButtonDemoType.toggle)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoFloatingButtonTitle, |
| description: localizations.demoFloatingButtonDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/FloatingActionButton-class.html', |
| buildRoute: (_) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ButtonDemo(type: ButtonDemoType.floating)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoCardTitle, |
| icon: GalleryIcons.cards, |
| slug: 'card', |
| subtitle: localizations.demoCardSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCardTitle, |
| description: localizations.demoCardDescription, |
| documentationUrl: '$_docsBaseUrl/material/Card-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.CardsDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoChipTitle, |
| icon: GalleryIcons.chips, |
| slug: 'chip', |
| subtitle: localizations.demoChipSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoActionChipTitle, |
| description: localizations.demoActionChipDescription, |
| documentationUrl: '$_docsBaseUrl/material/ActionChip-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ChipDemo(type: ChipDemoType.action)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoChoiceChipTitle, |
| description: localizations.demoChoiceChipDescription, |
| documentationUrl: '$_docsBaseUrl/material/ChoiceChip-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ChipDemo(type: ChipDemoType.choice)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoFilterChipTitle, |
| description: localizations.demoFilterChipDescription, |
| documentationUrl: '$_docsBaseUrl/material/FilterChip-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ChipDemo(type: ChipDemoType.filter)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoInputChipTitle, |
| description: localizations.demoInputChipDescription, |
| documentationUrl: '$_docsBaseUrl/material/InputChip-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ChipDemo(type: ChipDemoType.input)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoDataTableTitle, |
| icon: GalleryIcons.dataTable, |
| slug: 'data-table', |
| subtitle: localizations.demoDataTableSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoDataTableTitle, |
| description: localizations.demoDataTableDescription, |
| documentationUrl: '$_docsBaseUrl/material/DataTable-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.DataTableDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoDialogTitle, |
| icon: GalleryIcons.dialogs, |
| slug: 'dialog', |
| subtitle: localizations.demoDialogSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoAlertDialogTitle, |
| description: localizations.demoAlertDialogDescription, |
| documentationUrl: '$_docsBaseUrl/material/AlertDialog-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.DialogDemo(type: DialogDemoType.alert)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoAlertTitleDialogTitle, |
| description: localizations.demoAlertDialogDescription, |
| documentationUrl: '$_docsBaseUrl/material/AlertDialog-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => |
| material_demos.DialogDemo(type: DialogDemoType.alertTitle)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSimpleDialogTitle, |
| description: localizations.demoSimpleDialogDescription, |
| documentationUrl: '$_docsBaseUrl/material/SimpleDialog-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.DialogDemo(type: DialogDemoType.simple)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoFullscreenDialogTitle, |
| description: localizations.demoFullscreenDialogDescription, |
| documentationUrl: |
| '$_docsBaseUrl/widgets/PageRoute/fullscreenDialog.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => |
| material_demos.DialogDemo(type: DialogDemoType.fullscreen)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoDividerTitle, |
| icon: GalleryIcons.divider, |
| slug: 'divider', |
| subtitle: localizations.demoDividerSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoDividerTitle, |
| description: localizations.demoDividerDescription, |
| documentationUrl: '$_docsBaseUrl/material/Divider-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.DividerDemo( |
| type: DividerDemoType.horizontal)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoVerticalDividerTitle, |
| description: localizations.demoDividerDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/VerticalDivider-class.html', |
| buildRoute: (_) => DeferredWidget( |
| materialDemosLibrary, |
| () => |
| material_demos.DividerDemo(type: DividerDemoType.vertical)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoGridListsTitle, |
| icon: GalleryIcons.gridOn, |
| slug: 'grid-lists', |
| subtitle: localizations.demoGridListsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoGridListsImageOnlyTitle, |
| description: localizations.demoGridListsDescription, |
| documentationUrl: '$_docsBaseUrl/widgets/GridView-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.GridListDemo( |
| type: GridListDemoType.imageOnly)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoGridListsHeaderTitle, |
| description: localizations.demoGridListsDescription, |
| documentationUrl: '$_docsBaseUrl/widgets/GridView-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => |
| material_demos.GridListDemo(type: GridListDemoType.header)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoGridListsFooterTitle, |
| description: localizations.demoGridListsDescription, |
| documentationUrl: '$_docsBaseUrl/widgets/GridView-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => |
| material_demos.GridListDemo(type: GridListDemoType.footer)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoListsTitle, |
| icon: GalleryIcons.listAlt, |
| slug: 'lists', |
| subtitle: localizations.demoListsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoOneLineListsTitle, |
| description: localizations.demoListsDescription, |
| documentationUrl: '$_docsBaseUrl/material/ListTile-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ListDemo(type: ListDemoType.oneLine)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoTwoLineListsTitle, |
| description: localizations.demoListsDescription, |
| documentationUrl: '$_docsBaseUrl/material/ListTile-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget(materialDemosLibrary, |
| () => material_demos.ListDemo(type: ListDemoType.twoLine)), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoMenuTitle, |
| icon: GalleryIcons.moreVert, |
| slug: 'menu', |
| subtitle: localizations.demoMenuSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoContextMenuTitle, |
| description: localizations.demoMenuDescription, |
| documentationUrl: '$_docsBaseUrl/material/PopupMenuItem-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.MenuDemo(type: MenuDemoType.contextMenu), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSectionedMenuTitle, |
| description: localizations.demoMenuDescription, |
| documentationUrl: '$_docsBaseUrl/material/PopupMenuItem-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.MenuDemo(type: MenuDemoType.sectionedMenu), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoChecklistMenuTitle, |
| description: localizations.demoMenuDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/CheckedPopupMenuItem-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.MenuDemo(type: MenuDemoType.checklistMenu), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSimpleMenuTitle, |
| description: localizations.demoMenuDescription, |
| documentationUrl: '$_docsBaseUrl/material/PopupMenuItem-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.MenuDemo(type: MenuDemoType.simpleMenu), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoNavigationDrawerTitle, |
| icon: GalleryIcons.menu, |
| slug: 'nav_drawer', |
| subtitle: localizations.demoNavigationDrawerSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoNavigationDrawerTitle, |
| description: localizations.demoNavigationDrawerDescription, |
| documentationUrl: '$_docsBaseUrl/material/Drawer-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.NavDrawerDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoNavigationRailTitle, |
| icon: GalleryIcons.navigationRail, |
| slug: 'nav_rail', |
| subtitle: localizations.demoNavigationRailSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoNavigationRailTitle, |
| description: localizations.demoNavigationRailDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/NavigationRail-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.NavRailDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoPickersTitle, |
| icon: GalleryIcons.event, |
| slug: 'pickers', |
| subtitle: localizations.demoPickersSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoDatePickerTitle, |
| description: localizations.demoDatePickerDescription, |
| documentationUrl: '$_docsBaseUrl/material/showDatePicker.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.PickerDemo(type: PickerDemoType.date), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoTimePickerTitle, |
| description: localizations.demoTimePickerDescription, |
| documentationUrl: '$_docsBaseUrl/material/showTimePicker.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.PickerDemo(type: PickerDemoType.time), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoDateRangePickerTitle, |
| description: localizations.demoDateRangePickerDescription, |
| documentationUrl: '$_docsBaseUrl/material/showDateRangePicker.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.PickerDemo(type: PickerDemoType.range), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoProgressIndicatorTitle, |
| icon: GalleryIcons.progressActivity, |
| slug: 'progress-indicator', |
| subtitle: localizations.demoProgressIndicatorSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCircularProgressIndicatorTitle, |
| description: localizations.demoCircularProgressIndicatorDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/CircularProgressIndicator-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.ProgressIndicatorDemo( |
| type: ProgressIndicatorDemoType.circular, |
| ), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoLinearProgressIndicatorTitle, |
| description: localizations.demoLinearProgressIndicatorDescription, |
| documentationUrl: |
| '$_docsBaseUrl/material/LinearProgressIndicator-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.ProgressIndicatorDemo( |
| type: ProgressIndicatorDemoType.linear, |
| ), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoSelectionControlsTitle, |
| icon: GalleryIcons.checkBox, |
| slug: 'selection-controls', |
| subtitle: localizations.demoSelectionControlsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoSelectionControlsCheckboxTitle, |
| description: localizations.demoSelectionControlsCheckboxDescription, |
| documentationUrl: '$_docsBaseUrl/material/Checkbox-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SelectionControlsDemo( |
| type: SelectionControlsDemoType.checkbox, |
| ), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSelectionControlsRadioTitle, |
| description: localizations.demoSelectionControlsRadioDescription, |
| documentationUrl: '$_docsBaseUrl/material/Radio-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SelectionControlsDemo( |
| type: SelectionControlsDemoType.radio, |
| ), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSelectionControlsSwitchTitle, |
| description: localizations.demoSelectionControlsSwitchDescription, |
| documentationUrl: '$_docsBaseUrl/material/Switch-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SelectionControlsDemo( |
| type: SelectionControlsDemoType.switches, |
| ), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoSlidersTitle, |
| icon: GalleryIcons.sliders, |
| slug: 'sliders', |
| subtitle: localizations.demoSlidersSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoSlidersTitle, |
| description: localizations.demoSlidersDescription, |
| documentationUrl: '$_docsBaseUrl/material/Slider-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SlidersDemo(type: SlidersDemoType.sliders), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoRangeSlidersTitle, |
| description: localizations.demoRangeSlidersDescription, |
| documentationUrl: '$_docsBaseUrl/material/RangeSlider-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SlidersDemo( |
| type: SlidersDemoType.rangeSliders), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoCustomSlidersTitle, |
| description: localizations.demoCustomSlidersDescription, |
| documentationUrl: '$_docsBaseUrl/material/SliderTheme-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SlidersDemo( |
| type: SlidersDemoType.customSliders), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoSnackbarsTitle, |
| icon: GalleryIcons.snackbar, |
| slug: 'snackbars', |
| subtitle: localizations.demoSnackbarsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoSnackbarsTitle, |
| description: localizations.demoSnackbarsDescription, |
| documentationUrl: '$_docsBaseUrl/material/SnackBar-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.SnackbarsDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoTabsTitle, |
| icon: GalleryIcons.tabs, |
| slug: 'tabs', |
| subtitle: localizations.demoTabsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoTabsScrollingTitle, |
| description: localizations.demoTabsDescription, |
| documentationUrl: '$_docsBaseUrl/material/TabBar-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.TabsDemo(type: TabsDemoType.scrollable), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoTabsNonScrollingTitle, |
| description: localizations.demoTabsDescription, |
| documentationUrl: '$_docsBaseUrl/material/TabBar-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.TabsDemo(type: TabsDemoType.nonScrollable), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoTextFieldTitle, |
| icon: GalleryIcons.textFieldsAlt, |
| slug: 'text-field', |
| subtitle: localizations.demoTextFieldSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoTextFieldTitle, |
| description: localizations.demoTextFieldDescription, |
| documentationUrl: '$_docsBaseUrl/material/TextField-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.TextFieldDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| GalleryDemo( |
| title: localizations.demoTooltipTitle, |
| icon: GalleryIcons.tooltip, |
| slug: 'tooltip', |
| subtitle: localizations.demoTooltipSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoTooltipTitle, |
| description: localizations.demoTooltipDescription, |
| documentationUrl: '$_docsBaseUrl/material/Tooltip-class.html', |
| buildRoute: (BuildContext context) => DeferredWidget( |
| materialDemosLibrary, |
| () => material_demos.TooltipDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.material, |
| ), |
| ]; |
| } |
| |
| static List<GalleryDemo> cupertinoDemos(GalleryLocalizations localizations) { |
| final LibraryLoader cupertinoLoader = cupertino_demos.loadLibrary; |
| return <GalleryDemo>[ |
| GalleryDemo( |
| title: localizations.demoCupertinoActivityIndicatorTitle, |
| icon: GalleryIcons.cupertinoProgress, |
| slug: 'cupertino-activity-indicator', |
| subtitle: localizations.demoCupertinoActivityIndicatorSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoActivityIndicatorTitle, |
| description: |
| localizations.demoCupertinoActivityIndicatorDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoActivityIndicator-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoProgressIndicatorDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoAlertsTitle, |
| icon: GalleryIcons.dialogs, |
| slug: 'cupertino-alerts', |
| subtitle: localizations.demoCupertinoAlertsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoAlertTitle, |
| description: localizations.demoCupertinoAlertDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoAlertDialog-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoAlertDemo( |
| type: AlertDemoType.alert)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoAlertWithTitleTitle, |
| description: localizations.demoCupertinoAlertDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoAlertDialog-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoAlertDemo( |
| type: AlertDemoType.alertTitle)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoAlertButtonsTitle, |
| description: localizations.demoCupertinoAlertDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoAlertDialog-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoAlertDemo( |
| type: AlertDemoType.alertButtons)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoAlertButtonsOnlyTitle, |
| description: localizations.demoCupertinoAlertDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoAlertDialog-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoAlertDemo( |
| type: AlertDemoType.alertButtonsOnly)), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoActionSheetTitle, |
| description: localizations.demoCupertinoActionSheetDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoActionSheet-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoAlertDemo( |
| type: AlertDemoType.actionSheet)), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoButtonsTitle, |
| icon: GalleryIcons.genericButtons, |
| slug: 'cupertino-buttons', |
| subtitle: localizations.demoCupertinoButtonsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoButtonsTitle, |
| description: localizations.demoCupertinoButtonsDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoButton-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoButtonDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoContextMenuTitle, |
| icon: GalleryIcons.moreVert, |
| slug: 'cupertino-context-menu', |
| subtitle: localizations.demoCupertinoContextMenuSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoContextMenuTitle, |
| description: localizations.demoCupertinoContextMenuDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoContextMenu-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoContextMenuDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoNavigationBarTitle, |
| icon: GalleryIcons.bottomSheetPersistent, |
| slug: 'cupertino-navigation-bar', |
| subtitle: localizations.demoCupertinoNavigationBarSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoNavigationBarTitle, |
| description: localizations.demoCupertinoNavigationBarDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoNavigationBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoNavigationBarDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoPickerTitle, |
| icon: GalleryIcons.listAlt, |
| slug: 'cupertino-picker', |
| subtitle: localizations.demoCupertinoPickerSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoPickerTitle, |
| description: localizations.demoCupertinoPickerDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoDatePicker-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| // ignore: prefer_const_constructors |
| () => cupertino_demos.CupertinoPickerDemo()), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoScrollbarTitle, |
| icon: GalleryIcons.listAlt, |
| slug: 'cupertino-scrollbar', |
| subtitle: localizations.demoCupertinoScrollbarSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoScrollbarTitle, |
| description: localizations.demoCupertinoScrollbarDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoScrollbar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| // ignore: prefer_const_constructors |
| () => cupertino_demos.CupertinoScrollbarDemo()), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoSegmentedControlTitle, |
| icon: GalleryIcons.tabs, |
| slug: 'cupertino-segmented-control', |
| subtitle: localizations.demoCupertinoSegmentedControlSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoSegmentedControlTitle, |
| description: localizations.demoCupertinoSegmentedControlDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoSegmentedControl-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoSegmentedControlDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoSliderTitle, |
| icon: GalleryIcons.sliders, |
| slug: 'cupertino-slider', |
| subtitle: localizations.demoCupertinoSliderSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoSliderTitle, |
| description: localizations.demoCupertinoSliderDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoSlider-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoSliderDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoSelectionControlsSwitchTitle, |
| icon: GalleryIcons.cupertinoSwitch, |
| slug: 'cupertino-switch', |
| subtitle: localizations.demoCupertinoSwitchSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoSelectionControlsSwitchTitle, |
| description: localizations.demoCupertinoSwitchDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoSwitch-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoSwitchDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoTabBarTitle, |
| icon: GalleryIcons.bottomNavigation, |
| slug: 'cupertino-tab-bar', |
| subtitle: localizations.demoCupertinoTabBarSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoTabBarTitle, |
| description: localizations.demoCupertinoTabBarDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoTabBar-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoTabBarDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoTextFieldTitle, |
| icon: GalleryIcons.textFieldsAlt, |
| slug: 'cupertino-text-field', |
| subtitle: localizations.demoCupertinoTextFieldSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoTextFieldTitle, |
| description: localizations.demoCupertinoTextFieldDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoTextField-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoTextFieldDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| GalleryDemo( |
| title: localizations.demoCupertinoSearchTextFieldTitle, |
| icon: GalleryIcons.search, |
| slug: 'cupertino-search-text-field', |
| subtitle: localizations.demoCupertinoSearchTextFieldSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoCupertinoSearchTextFieldTitle, |
| description: localizations.demoCupertinoSearchTextFieldDescription, |
| documentationUrl: |
| '$_docsBaseUrl/cupertino/CupertinoSearchTextField-class.html', |
| buildRoute: (_) => DeferredWidget( |
| cupertinoLoader, |
| () => cupertino_demos.CupertinoSearchTextFieldDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.cupertino, |
| ), |
| ]; |
| } |
| |
| static List<GalleryDemo> otherDemos(GalleryLocalizations localizations) { |
| return <GalleryDemo>[ |
| GalleryDemo( |
| title: localizations.demoMotionTitle, |
| icon: GalleryIcons.animation, |
| slug: 'motion', |
| subtitle: localizations.demoMotionSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoContainerTransformTitle, |
| description: localizations.demoContainerTransformDescription, |
| documentationUrl: '$_docsAnimationsUrl/OpenContainer-class.html', |
| buildRoute: (_) => DeferredWidget( |
| motion_demo_container.loadLibrary, |
| () => motion_demo_container.OpenContainerTransformDemo(), |
| ), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSharedXAxisTitle, |
| description: localizations.demoSharedAxisDescription, |
| documentationUrl: |
| '$_docsAnimationsUrl/SharedAxisTransition-class.html', |
| buildRoute: (_) => const SharedXAxisTransitionDemo(), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSharedYAxisTitle, |
| description: localizations.demoSharedAxisDescription, |
| documentationUrl: |
| '$_docsAnimationsUrl/SharedAxisTransition-class.html', |
| buildRoute: (_) => const SharedYAxisTransitionDemo(), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoSharedZAxisTitle, |
| description: localizations.demoSharedAxisDescription, |
| documentationUrl: |
| '$_docsAnimationsUrl/SharedAxisTransition-class.html', |
| buildRoute: (_) => const SharedZAxisTransitionDemo(), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoFadeThroughTitle, |
| description: localizations.demoFadeThroughDescription, |
| documentationUrl: |
| '$_docsAnimationsUrl/FadeThroughTransition-class.html', |
| buildRoute: (_) => const FadeThroughTransitionDemo(), |
| ), |
| GalleryDemoConfiguration( |
| title: localizations.demoFadeScaleTitle, |
| description: localizations.demoFadeScaleDescription, |
| documentationUrl: |
| '$_docsAnimationsUrl/FadeScaleTransition-class.html', |
| buildRoute: (_) => const FadeScaleTransitionDemo(), |
| ), |
| ], |
| category: GalleryDemoCategory.other, |
| ), |
| GalleryDemo( |
| title: localizations.demoColorsTitle, |
| icon: GalleryIcons.colors, |
| slug: 'colors', |
| subtitle: localizations.demoColorsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoColorsTitle, |
| description: localizations.demoColorsDescription, |
| documentationUrl: '$_docsBaseUrl/material/MaterialColor-class.html', |
| buildRoute: (_) => DeferredWidget( |
| colors_demo.loadLibrary, |
| () => colors_demo.ColorsDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.other, |
| ), |
| GalleryDemo( |
| title: localizations.demoTypographyTitle, |
| icon: GalleryIcons.customTypography, |
| slug: 'typography', |
| subtitle: localizations.demoTypographySubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demoTypographyTitle, |
| description: localizations.demoTypographyDescription, |
| documentationUrl: '$_docsBaseUrl/material/TextTheme-class.html', |
| buildRoute: (_) => DeferredWidget( |
| typography.loadLibrary, |
| () => typography.TypographyDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.other, |
| ), |
| GalleryDemo( |
| title: localizations.demo2dTransformationsTitle, |
| icon: GalleryIcons.gridOn, |
| slug: '2d-transformations', |
| subtitle: localizations.demo2dTransformationsSubtitle, |
| configurations: <GalleryDemoConfiguration>[ |
| GalleryDemoConfiguration( |
| title: localizations.demo2dTransformationsTitle, |
| description: localizations.demo2dTransformationsDescription, |
| documentationUrl: |
| '$_docsBaseUrl/widgets/GestureDetector-class.html', |
| buildRoute: (_) => DeferredWidget( |
| transformations_demo.loadLibrary, |
| () => transformations_demo.TransformationsDemo(), |
| ), |
| ), |
| ], |
| category: GalleryDemoCategory.other, |
| ), |
| ]; |
| } |
| } |