blob: d3e671cdbf4e9d377f72819b8a343e2b1a6f890a [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Generated from Web IDL definitions.
import 'dart:js_interop';
import 'css_typed_om.dart';
import 'dom.dart';
import 'hr_time.dart';
import 'html.dart';
import 'web_animations_2.dart';
typedef AnimationPlayState = String;
typedef AnimationReplaceState = String;
typedef FillMode = String;
typedef PlaybackDirection = String;
typedef CompositeOperation = String;
typedef CompositeOperationOrAuto = String;
@JS('AnimationTimeline')
@staticInterop
class AnimationTimeline {}
extension AnimationTimelineExtension on AnimationTimeline {
external Animation play([AnimationEffect? effect]);
external CSSNumberish? get currentTime;
external CSSNumberish? get duration;
}
@JS()
@staticInterop
@anonymous
class DocumentTimelineOptions {
external factory DocumentTimelineOptions({DOMHighResTimeStamp originTime});
}
extension DocumentTimelineOptionsExtension on DocumentTimelineOptions {
external set originTime(DOMHighResTimeStamp value);
external DOMHighResTimeStamp get originTime;
}
@JS('DocumentTimeline')
@staticInterop
class DocumentTimeline implements AnimationTimeline {
external factory DocumentTimeline([DocumentTimelineOptions options]);
}
@JS('Animation')
@staticInterop
class Animation implements EventTarget {
external factory Animation([
AnimationEffect? effect,
AnimationTimeline? timeline,
]);
}
extension AnimationExtension on Animation {
external void cancel();
external void finish();
external void play();
external void pause();
external void updatePlaybackRate(num playbackRate);
external void reverse();
external void persist();
external void commitStyles();
external set startTime(CSSNumberish? value);
external CSSNumberish? get startTime;
external set currentTime(CSSNumberish? value);
external CSSNumberish? get currentTime;
external set id(String value);
external String get id;
external set effect(AnimationEffect? value);
external AnimationEffect? get effect;
external set timeline(AnimationTimeline? value);
external AnimationTimeline? get timeline;
external set playbackRate(num value);
external num get playbackRate;
external AnimationPlayState get playState;
external AnimationReplaceState get replaceState;
external bool get pending;
external JSPromise get ready;
external JSPromise get finished;
external set onfinish(EventHandler value);
external EventHandler get onfinish;
external set oncancel(EventHandler value);
external EventHandler get oncancel;
external set onremove(EventHandler value);
external EventHandler get onremove;
}
@JS('AnimationEffect')
@staticInterop
class AnimationEffect {}
extension AnimationEffectExtension on AnimationEffect {
external void before(AnimationEffect effects);
external void after(AnimationEffect effects);
external void replace(AnimationEffect effects);
external void remove();
external EffectTiming getTiming();
external ComputedEffectTiming getComputedTiming();
external void updateTiming([OptionalEffectTiming timing]);
external GroupEffect? get parent;
external AnimationEffect? get previousSibling;
external AnimationEffect? get nextSibling;
}
@JS()
@staticInterop
@anonymous
class EffectTiming {
external factory EffectTiming({
num delay,
num endDelay,
num playbackRate,
JSAny duration,
FillMode fill,
num iterationStart,
num iterations,
PlaybackDirection direction,
String easing,
});
}
extension EffectTimingExtension on EffectTiming {
external set delay(num value);
external num get delay;
external set endDelay(num value);
external num get endDelay;
external set playbackRate(num value);
external num get playbackRate;
external set duration(JSAny value);
external JSAny get duration;
external set fill(FillMode value);
external FillMode get fill;
external set iterationStart(num value);
external num get iterationStart;
external set iterations(num value);
external num get iterations;
external set direction(PlaybackDirection value);
external PlaybackDirection get direction;
external set easing(String value);
external String get easing;
}
@JS()
@staticInterop
@anonymous
class OptionalEffectTiming {
external factory OptionalEffectTiming({
num playbackRate,
num delay,
num endDelay,
FillMode fill,
num iterationStart,
num iterations,
JSAny duration,
PlaybackDirection direction,
String easing,
});
}
extension OptionalEffectTimingExtension on OptionalEffectTiming {
external set playbackRate(num value);
external num get playbackRate;
external set delay(num value);
external num get delay;
external set endDelay(num value);
external num get endDelay;
external set fill(FillMode value);
external FillMode get fill;
external set iterationStart(num value);
external num get iterationStart;
external set iterations(num value);
external num get iterations;
external set duration(JSAny value);
external JSAny get duration;
external set direction(PlaybackDirection value);
external PlaybackDirection get direction;
external set easing(String value);
external String get easing;
}
@JS()
@staticInterop
@anonymous
class ComputedEffectTiming implements EffectTiming {
external factory ComputedEffectTiming({
CSSNumberish startTime,
CSSNumberish endTime,
CSSNumberish activeDuration,
CSSNumberish? localTime,
num? progress,
num? currentIteration,
});
}
extension ComputedEffectTimingExtension on ComputedEffectTiming {
external set startTime(CSSNumberish value);
external CSSNumberish get startTime;
external set endTime(CSSNumberish value);
external CSSNumberish get endTime;
external set activeDuration(CSSNumberish value);
external CSSNumberish get activeDuration;
external set localTime(CSSNumberish? value);
external CSSNumberish? get localTime;
external set progress(num? value);
external num? get progress;
external set currentIteration(num? value);
external num? get currentIteration;
}
@JS('KeyframeEffect')
@staticInterop
class KeyframeEffect implements AnimationEffect {
external factory KeyframeEffect(
JSObject? sourceOrTarget, [
JSObject? keyframes,
JSAny options,
]);
}
extension KeyframeEffectExtension on KeyframeEffect {
external JSArray getKeyframes();
external void setKeyframes(JSObject? keyframes);
external set iterationComposite(IterationCompositeOperation value);
external IterationCompositeOperation get iterationComposite;
external set target(Element? value);
external Element? get target;
external set pseudoElement(String? value);
external String? get pseudoElement;
external set composite(CompositeOperation value);
external CompositeOperation get composite;
}
@JS()
@staticInterop
@anonymous
class BaseComputedKeyframe {
external factory BaseComputedKeyframe({
num? offset,
num computedOffset,
String easing,
CompositeOperationOrAuto composite,
});
}
extension BaseComputedKeyframeExtension on BaseComputedKeyframe {
external set offset(num? value);
external num? get offset;
external set computedOffset(num value);
external num get computedOffset;
external set easing(String value);
external String get easing;
external set composite(CompositeOperationOrAuto value);
external CompositeOperationOrAuto get composite;
}
@JS()
@staticInterop
@anonymous
class BasePropertyIndexedKeyframe {
external factory BasePropertyIndexedKeyframe({
JSAny? offset,
JSAny easing,
JSAny composite,
});
}
extension BasePropertyIndexedKeyframeExtension on BasePropertyIndexedKeyframe {
external set offset(JSAny? value);
external JSAny? get offset;
external set easing(JSAny value);
external JSAny get easing;
external set composite(JSAny value);
external JSAny get composite;
}
@JS()
@staticInterop
@anonymous
class BaseKeyframe {
external factory BaseKeyframe({
num? offset,
String easing,
CompositeOperationOrAuto composite,
});
}
extension BaseKeyframeExtension on BaseKeyframe {
external set offset(num? value);
external num? get offset;
external set easing(String value);
external String get easing;
external set composite(CompositeOperationOrAuto value);
external CompositeOperationOrAuto get composite;
}
@JS()
@staticInterop
@anonymous
class KeyframeEffectOptions implements EffectTiming {
external factory KeyframeEffectOptions({
IterationCompositeOperation iterationComposite,
CompositeOperation composite,
String? pseudoElement,
});
}
extension KeyframeEffectOptionsExtension on KeyframeEffectOptions {
external set iterationComposite(IterationCompositeOperation value);
external IterationCompositeOperation get iterationComposite;
external set composite(CompositeOperation value);
external CompositeOperation get composite;
external set pseudoElement(String? value);
external String? get pseudoElement;
}
@JS()
@staticInterop
@anonymous
class KeyframeAnimationOptions implements KeyframeEffectOptions {
external factory KeyframeAnimationOptions({
JSAny rangeStart,
JSAny rangeEnd,
String id,
AnimationTimeline? timeline,
});
}
extension KeyframeAnimationOptionsExtension on KeyframeAnimationOptions {
external set rangeStart(JSAny value);
external JSAny get rangeStart;
external set rangeEnd(JSAny value);
external JSAny get rangeEnd;
external set id(String value);
external String get id;
external set timeline(AnimationTimeline? value);
external AnimationTimeline? get timeline;
}
@JS()
@staticInterop
@anonymous
class GetAnimationsOptions {
external factory GetAnimationsOptions({bool subtree});
}
extension GetAnimationsOptionsExtension on GetAnimationsOptions {
external set subtree(bool value);
external bool get subtree;
}