content: import 'package:flutter/gestures.dart';
  import 'package:flutter/material.dart';
  
  class ScrollProps {
    /// {@macro flutter.widgets.scroll_view.scrollDirection}
    final Axis scrollDirection;
  
    /// Whether the scroll view scrolls in the reading direction.
    ///
    /// For example, if the reading direction is left-to-right and
    /// [scrollDirection] is [Axis.horizontal], then the scroll view scrolls from
    /// left to right when [reverse] is false and from right to left when
    /// [reverse] is true.
    ///
    /// Similarly, if [scrollDirection] is [Axis.vertical], then the scroll view
    /// scrolls from top to bottom when [reverse] is false and from bottom to top
    /// when [reverse] is true.
    ///
    /// Defaults to false.
    final bool reverse;
  
    /// The amount of space by which to inset the child.
    final EdgeInsetsGeometry? padding;
  
    /// An object that can be used to control the position to which this scroll
    /// view is scrolled.
    ///
    /// Must be null if [primary] is true.
    ///
    /// A [ScrollController] serves several purposes. It can be used to control
    /// the initial scroll position (see [ScrollController.initialScrollOffset]).
    /// It can be used to control whether the scroll view should automatically
    /// save and restore its scroll position in the [PageStorage] (see
    /// [ScrollController.keepScrollOffset]). It can be used to read the current
    /// scroll position (see [ScrollController.offset]), or change it (see
    /// [ScrollController.animateTo]).
    final ScrollController? controller;
  
    /// {@macro flutter.widgets.scroll_view.primary}
    final bool? primary;
  
    /// How the scroll view should respond to user input.
    ///
    /// For example, determines how the scroll view continues to animate after the
    /// user stops dragging the scroll view.
    ///
    /// Defaults to matching platform conventions.
    final ScrollPhysics? physics;
  
    /// {@macro flutter.widgets.scrollable.dragStartBehavior}
    final DragStartBehavior dragStartBehavior;
  
    /// {@macro flutter.material.Material.clipBehavior}
    ///
    /// Defaults to [Clip.hardEdge].
    final Clip clipBehavior;
  
    /// {@macro flutter.widgets.scrollable.hitTestBehavior}
    ///
    /// Defaults to [HitTestBehavior.opaque].
    final HitTestBehavior hitTestBehavior;
  
    /// {@macro flutter.widgets.scroll_view.keyboardDismissBehavior}
    final ScrollViewKeyboardDismissBehavior keyboardDismissBehavior;
  
    final String? restorationId;
  
    const ScrollProps({
      this.scrollDirection = Axis.vertical,
      this.reverse = false,
      this.padding,
      this.primary,
      this.physics,
      this.controller,
      this.dragStartBehavior = DragStartBehavior.start,
      this.clipBehavior = Clip.hardEdge,
      this.hitTestBehavior = HitTestBehavior.opaque,
      this.keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
      this.restorationId,
    });
  }
  