// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'guru_navigation_bar.dart';

// **************************************************************************
// DesignSpecGenerator
// **************************************************************************

class _GuruNavigationBarDesignSpec extends GuruNavigationBarDesignSpec {
  _GuruNavigationBarDesignSpec._(
    this.measuredMetrics,
    this.specOffset,
    this.navigationBarHeight,
    this.navigationBarSpacing2,
    this.navigationBarSpacing3,
    this.navigationBarSpacing4,
    this.navigationBarSpacing5,
    this.navigationBarLabelFontSize,
    this.navigationBarLabelIconSize,
    this.navigationBarItemWidth,
    this.navigationBarIconSize,
  );

  static final designMetrics = DesignMetrics.create(const Size(750.0, 49.0));

  static final Map<String, _GuruNavigationBarDesignSpec> _cache = {};

  @override
  final double navigationBarHeight;

  @override
  final double navigationBarSpacing2;

  @override
  final double navigationBarSpacing3;

  @override
  final double navigationBarSpacing4;

  @override
  final double navigationBarSpacing5;

  @override
  final double navigationBarLabelFontSize;

  @override
  final double navigationBarLabelIconSize;

  @override
  final double navigationBarItemWidth;

  @override
  final double navigationBarIconSize;

  @override
  final MeasuredMetrics measuredMetrics;

  @override
  final Offset specOffset;

  @override
  Size get measuredSize => measuredMetrics.size;

  static _GuruNavigationBarDesignSpec _create(
    Size measuredSize, {
    Offset offset = Offset.zero,
  }) {
    final _measuredMetrics = designMetrics.measure(measuredSize);
    return _GuruNavigationBarDesignSpec._(
      _measuredMetrics, offset,
      _measuredMetrics.measureHeight(98.0,
          consistent: false), // navigationBarHeight
      _measuredMetrics.measureWidth(53.0), // navigationBarSpacing2
      _measuredMetrics.measureWidth(34.0), // navigationBarSpacing3
      _measuredMetrics.measureWidth(19.0), // navigationBarSpacing4
      _measuredMetrics.measureWidth(17.0), // navigationBarSpacing5
      _measuredMetrics.measureFontSize(20.0), // navigationBarLabelFontSize
      _measuredMetrics.measureHeight(56.0,
          consistent: false), // navigationBarLabelIconSize
      _measuredMetrics.measureWidth(140.0), // navigationBarItemWidth
      _measuredMetrics.measureHeight(80.0,
          consistent: false), // navigationBarIconSize
    );
  }

  static GuruNavigationBarDesignSpec from(
    Size size, {
    Offset offset = Offset.zero,
  }) {
    final Size measuredSize = size;
    final key = BasicDesignSpec.buildSpecKey(measuredSize, offset);
    _GuruNavigationBarDesignSpec? designSpec = _cache[key];
    if (kDebugMode || designSpec == null) {
      designSpec = _create(measuredSize, offset: offset);
      _cache[key] = designSpec;
    }
    return designSpec;
  }
}
