// Copyright 2025 Fredrick Allan Grott. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/// WindowSizeEnum per WindowSize class docs, see
/// https://m3.material.io/foundations/layout/applying-layout/window-size-classes
///
/// Vertical Paddinhg is at
/// https://m3.material.io/foundations/layout/understanding-layout/spacing
/// @author Fredrick Allan Grott
enum WindowSizeEnum {
  compact(0, 599, 16, 0, 4),

  medium(600, 839, 24, 24, 8),

  expanded(840, 1199, 24, 24, 12),

  large(1200, 1599, 24, 24, 16),

  extraLarge(1600, double.infinity, 24, 24, 20);

  final double beginWidth;

  final double endWidth;

  final double margin;

  final double spacing;

  final double verticalPadding;

  const WindowSizeEnum(this.beginWidth, this.endWidth, this.margin, this.spacing, this.verticalPadding);
}