// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'guru_tab_bar.dart';

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

class _GuruTabBarDesignSpec extends GuruTabBarDesignSpec {
  _GuruTabBarDesignSpec._(
    this.measuredMetrics,
    this.specOffset,
    this.tabHorizontalSpacing,
    this.tabBarBottomMargin,
    this.tabBarRadius,
    this.tabBarHeight,
    this.tabBarLabelFontSize,
    this.tabBarLabelMinFontSize,
    this.tabBarLabelHorizontalSpacing,
    this.tabBarIconSize,
    this.tabIndicatorInset,
  );

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

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

  @override
  final double tabHorizontalSpacing;

  @override
  final double tabBarBottomMargin;

  @override
  final double tabBarRadius;

  @override
  final double tabBarHeight;

  @override
  final double tabBarLabelFontSize;

  @override
  final double tabBarLabelMinFontSize;

  @override
  final double tabBarLabelHorizontalSpacing;

  @override
  final double tabBarIconSize;

  @override
  final double tabIndicatorInset;

  @override
  final MeasuredMetrics measuredMetrics;

  @override
  final Offset specOffset;

  @override
  Size get measuredSize => measuredMetrics.size;

  static _GuruTabBarDesignSpec _create(
    Size measuredSize, {
    Offset offset = Offset.zero,
  }) {
    final _measuredMetrics = designMetrics.measure(measuredSize);
    return _GuruTabBarDesignSpec._(
      _measuredMetrics, offset,
      _measuredMetrics.measureHorizontal(40.0), // tabHorizontalSpacing
      _measuredMetrics.measureVertical(8.0), // tabBarBottomMargin
      _measuredMetrics.measureHeight(40.0, consistent: false), // tabBarRadius
      _measuredMetrics.measureHeight(80.0, consistent: false), // tabBarHeight
      _measuredMetrics.measureFontSize(26.0), // tabBarLabelFontSize
      _measuredMetrics.measureFontSize(20.0), // tabBarLabelMinFontSize
      _measuredMetrics.measureHorizontal(32.0), // tabBarLabelHorizontalSpacing
      _measuredMetrics.measureHeight(56.0, consistent: false), // tabBarIconSize
      _measuredMetrics.measureHeight(8.0,
          consistent: false), // tabIndicatorInset
    );
  }

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