// Copyright 2018 The Chromium 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 'package:flutter/material.dart';

class GalleryIcons {
  GalleryIcons._();

  static const IconData tooltip = const IconData(0xe900, fontFamily: 'GalleryIcons');
  static const IconData text_fields_alt = const IconData(0xe901, fontFamily: 'GalleryIcons');
  static const IconData tabs = const IconData(0xe902, fontFamily: 'GalleryIcons');
  static const IconData switches = const IconData(0xe903, fontFamily: 'GalleryIcons');
  static const IconData sliders = const IconData(0xe904, fontFamily: 'GalleryIcons');
  static const IconData shrine = const IconData(0xe905, fontFamily: 'GalleryIcons');
  static const IconData sentiment_very_satisfied = const IconData(0xe906, fontFamily: 'GalleryIcons');
  static const IconData refresh = const IconData(0xe907, fontFamily: 'GalleryIcons');
  static const IconData progress_activity = const IconData(0xe908, fontFamily: 'GalleryIcons');
  static const IconData phone_iphone = const IconData(0xe909, fontFamily: 'GalleryIcons');
  static const IconData page_control = const IconData(0xe90a, fontFamily: 'GalleryIcons');
  static const IconData more_vert = const IconData(0xe90b, fontFamily: 'GalleryIcons');
  static const IconData menu = const IconData(0xe90c, fontFamily: 'GalleryIcons');
  static const IconData list_alt = const IconData(0xe90d, fontFamily: 'GalleryIcons');
  static const IconData grid_on = const IconData(0xe90e, fontFamily: 'GalleryIcons');
  static const IconData expand_all = const IconData(0xe90f, fontFamily: 'GalleryIcons');
  static const IconData event = const IconData(0xe910, fontFamily: 'GalleryIcons');
  static const IconData drive_video = const IconData(0xe911, fontFamily: 'GalleryIcons');
  static const IconData dialogs = const IconData(0xe912, fontFamily: 'GalleryIcons');
  static const IconData data_table = const IconData(0xe913, fontFamily: 'GalleryIcons');
  static const IconData custom_typography = const IconData(0xe914, fontFamily: 'GalleryIcons');
  static const IconData colors = const IconData(0xe915, fontFamily: 'GalleryIcons');
  static const IconData chips = const IconData(0xe916, fontFamily: 'GalleryIcons');
  static const IconData check_box = const IconData(0xe917, fontFamily: 'GalleryIcons');
  static const IconData cards = const IconData(0xe918, fontFamily: 'GalleryIcons');
  static const IconData buttons = const IconData(0xe919, fontFamily: 'GalleryIcons');
  static const IconData bottom_sheets = const IconData(0xe91a, fontFamily: 'GalleryIcons');
  static const IconData bottom_navigation = const IconData(0xe91b, fontFamily: 'GalleryIcons');
  static const IconData animation = const IconData(0xe91c, fontFamily: 'GalleryIcons');
  static const IconData account_box = const IconData(0xe91d, fontFamily: 'GalleryIcons');
  static const IconData snackbar = const IconData(0xe91e, fontFamily: 'GalleryIcons');
  static const IconData category_mdc = const IconData(0xe91f, fontFamily: 'GalleryIcons');
  static const IconData cupertino_progress = const IconData(0xe920, fontFamily: 'GalleryIcons');
  static const IconData cupertino_pull_to_refresh = const IconData(0xe921, fontFamily: 'GalleryIcons');
  static const IconData cupertino_switch = const IconData(0xe922, fontFamily: 'GalleryIcons');
  static const IconData generic_buttons = const IconData(0xe923, fontFamily: 'GalleryIcons');
  static const IconData backdrop = const IconData(0xe924, fontFamily: 'GalleryIcons');
  static const IconData bottom_app_bar = const IconData(0xe925, fontFamily: 'GalleryIcons');
  static const IconData bottom_sheet_persistent = const IconData(0xe926, fontFamily: 'GalleryIcons');
  static const IconData lists_leave_behind = const IconData(0xe927, fontFamily: 'GalleryIcons');
}
