// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Scroll-linked Animations (https://drafts.csswg.org/scroll-animations-1/)

enum ScrollDirection {
  "block",
  "inline",
  "horizontal",
  "vertical"
};

enum ScrollTimelineAutoKeyword { "auto" };

typedef (CSSNumericValue or CSSKeywordish) ContainerBasedOffset;
typedef (ContainerBasedOffset or ElementBasedOffset) ScrollTimelineOffset;

dictionary ScrollTimelineOptions {
  Element? source;
  ScrollDirection orientation = "block";
  sequence<ScrollTimelineOffset> scrollOffsets = [];
};

[Exposed=Window]
interface ScrollTimeline : AnimationTimeline {
  constructor(optional ScrollTimelineOptions options = {});
  readonly attribute Element? source;
  readonly attribute ScrollDirection orientation;
  readonly attribute FrozenArray<ScrollTimelineOffset> scrollOffsets;
};

enum Edge { "start", "end" };

dictionary ElementBasedOffset {
  Element target;
  Edge edge = "start";
  double threshold = 0.0;
};

[Exposed=Window]
interface CSSScrollTimelineRule : CSSRule {
  readonly attribute CSSOMString name;
  readonly attribute CSSOMString source;
  readonly attribute CSSOMString orientation;
  readonly attribute CSSOMString scrollOffsets;
};
