/// GENERATED CODE - DO NOT MODIFY BY HAND
/// *****************************************************
///  FlutterGen
/// *****************************************************

// coverage:ignore-file
// ignore_for_file: type=lint
// ignore_for_file: directives_ordering,unnecessary_import,implicit_dynamic_list_literal,deprecated_member_use

import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_svg/flutter_svg.dart' as _svg;
import 'package:vector_graphics/vector_graphics.dart' as _vg;

class $AssetsIconGen {
  const $AssetsIconGen();

  /// Directory path: assets/icon/outline
  $AssetsIconOutlineGen get outline => const $AssetsIconOutlineGen();
}

class $AssetsImageGen {
  const $AssetsImageGen();

  /// Directory path: assets/image/onboarding
  $AssetsImageOnboardingGen get onboarding => const $AssetsImageOnboardingGen();
}

class $AssetsLogoGen {
  const $AssetsLogoGen();

  /// File path: assets/logo/app-logo.png
  AssetGenImage get appLogo =>
      const AssetGenImage('assets/logo/app-logo.png', size: Size(512.0, 512.0));

  /// List of all assets
  List<AssetGenImage> get values => [appLogo];
}

class $AssetsIconOutlineGen {
  const $AssetsIconOutlineGen();

  /// File path: assets/icon/outline/home.svg
  SvgGenImage get home =>
      const SvgGenImage('assets/icon/outline/home.svg', size: Size(24.0, 24.0));

  /// File path: assets/icon/outline/map.svg
  SvgGenImage get map =>
      const SvgGenImage('assets/icon/outline/map.svg', size: Size(24.0, 24.0));

  /// File path: assets/icon/outline/notification-bing.svg
  SvgGenImage get notificationBing => const SvgGenImage(
    'assets/icon/outline/notification-bing.svg',
    size: Size(24.0, 24.0),
  );

  /// File path: assets/icon/outline/search.svg
  SvgGenImage get search => const SvgGenImage(
    'assets/icon/outline/search.svg',
    size: Size(18.0, 18.0),
  );

  /// File path: assets/icon/outline/setting.svg
  SvgGenImage get setting => const SvgGenImage(
    'assets/icon/outline/setting.svg',
    size: Size(24.0, 24.0),
  );

  /// File path: assets/icon/outline/user.svg
  SvgGenImage get user =>
      const SvgGenImage('assets/icon/outline/user.svg', size: Size(24.0, 24.0));

  /// List of all assets
  List<SvgGenImage> get values => [
    home,
    map,
    notificationBing,
    search,
    setting,
    user,
  ];
}

class $AssetsImageOnboardingGen {
  const $AssetsImageOnboardingGen();

  /// File path: assets/image/onboarding/banner-1.png
  AssetGenImage get banner1 => const AssetGenImage(
    'assets/image/onboarding/banner-1.png',
    size: Size(888.0, 879.0),
  );

  /// File path: assets/image/onboarding/banner-2.png
  AssetGenImage get banner2 => const AssetGenImage(
    'assets/image/onboarding/banner-2.png',
    size: Size(888.0, 879.0),
  );

  /// File path: assets/image/onboarding/banner-3.png
  AssetGenImage get banner3 => const AssetGenImage(
    'assets/image/onboarding/banner-3.png',
    size: Size(888.0, 879.0),
  );

  /// List of all assets
  List<AssetGenImage> get values => [banner1, banner2, banner3];
}

class Assets {
  const Assets._();

  static const $AssetsIconGen icon = $AssetsIconGen();
  static const $AssetsImageGen image = $AssetsImageGen();
  static const $AssetsLogoGen logo = $AssetsLogoGen();
}

class AssetGenImage {
  const AssetGenImage(this._assetName, {this.size, this.flavors = const {}});

  final String _assetName;

  final Size? size;
  final Set<String> flavors;

  Image image({
    Key? key,
    AssetBundle? bundle,
    ImageFrameBuilder? frameBuilder,
    ImageErrorWidgetBuilder? errorBuilder,
    String? semanticLabel,
    bool excludeFromSemantics = false,
    double? scale,
    double? width,
    double? height,
    Color? color,
    Animation<double>? opacity,
    BlendMode? colorBlendMode,
    BoxFit? fit,
    AlignmentGeometry alignment = Alignment.center,
    ImageRepeat repeat = ImageRepeat.noRepeat,
    Rect? centerSlice,
    bool matchTextDirection = false,
    bool gaplessPlayback = true,
    bool isAntiAlias = false,
    String? package,
    FilterQuality filterQuality = FilterQuality.medium,
    int? cacheWidth,
    int? cacheHeight,
  }) {
    return Image.asset(
      _assetName,
      key: key,
      bundle: bundle,
      frameBuilder: frameBuilder,
      errorBuilder: errorBuilder,
      semanticLabel: semanticLabel,
      excludeFromSemantics: excludeFromSemantics,
      scale: scale,
      width: width,
      height: height,
      color: color,
      opacity: opacity,
      colorBlendMode: colorBlendMode,
      fit: fit,
      alignment: alignment,
      repeat: repeat,
      centerSlice: centerSlice,
      matchTextDirection: matchTextDirection,
      gaplessPlayback: gaplessPlayback,
      isAntiAlias: isAntiAlias,
      package: package,
      filterQuality: filterQuality,
      cacheWidth: cacheWidth,
      cacheHeight: cacheHeight,
    );
  }

  ImageProvider provider({AssetBundle? bundle, String? package}) {
    return AssetImage(_assetName, bundle: bundle, package: package);
  }

  String get path => _assetName;

  String get keyName => _assetName;
}

class SvgGenImage {
  const SvgGenImage(this._assetName, {this.size, this.flavors = const {}})
    : _isVecFormat = false;

  const SvgGenImage.vec(this._assetName, {this.size, this.flavors = const {}})
    : _isVecFormat = true;

  final String _assetName;
  final Size? size;
  final Set<String> flavors;
  final bool _isVecFormat;

  _svg.SvgPicture svg({
    Key? key,
    bool matchTextDirection = false,
    AssetBundle? bundle,
    String? package,
    double? width,
    double? height,
    BoxFit fit = BoxFit.contain,
    AlignmentGeometry alignment = Alignment.center,
    bool allowDrawingOutsideViewBox = false,
    WidgetBuilder? placeholderBuilder,
    String? semanticsLabel,
    bool excludeFromSemantics = false,
    _svg.SvgTheme? theme,
    ColorFilter? colorFilter,
    Clip clipBehavior = Clip.hardEdge,
    @deprecated Color? color,
    @deprecated BlendMode colorBlendMode = BlendMode.srcIn,
    @deprecated bool cacheColorFilter = false,
  }) {
    final _svg.BytesLoader loader;
    if (_isVecFormat) {
      loader = _vg.AssetBytesLoader(
        _assetName,
        assetBundle: bundle,
        packageName: package,
      );
    } else {
      loader = _svg.SvgAssetLoader(
        _assetName,
        assetBundle: bundle,
        packageName: package,
        theme: theme,
      );
    }
    return _svg.SvgPicture(
      loader,
      key: key,
      matchTextDirection: matchTextDirection,
      width: width,
      height: height,
      fit: fit,
      alignment: alignment,
      allowDrawingOutsideViewBox: allowDrawingOutsideViewBox,
      placeholderBuilder: placeholderBuilder,
      semanticsLabel: semanticsLabel,
      excludeFromSemantics: excludeFromSemantics,
      colorFilter:
          colorFilter ??
          (color == null ? null : ColorFilter.mode(color, colorBlendMode)),
      clipBehavior: clipBehavior,
      cacheColorFilter: cacheColorFilter,
    );
  }

  String get path => _assetName;

  String get keyName => _assetName;
}
