mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
148 lines
4.3 KiB
Dart
148 lines
4.3 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// This code is copied from `package:web` which still needs its own
|
|
// documentation for public members. Since this is a shim that users should not
|
|
// use, we ignore this lint for this file.
|
|
// ignore_for_file: public_member_api_docs
|
|
|
|
/// A stripped down version of `package:web` to avoid pinning that repo in
|
|
/// Flutter as a dependency.
|
|
///
|
|
/// These are manually copied over from `package:web` as needed, and should stay
|
|
/// in sync with the latest package version as much as possible.
|
|
///
|
|
/// If missing members are needed, copy them over into the corresponding
|
|
/// extension or interface. If missing interfaces/types are needed, copy them
|
|
/// over while excluding unnecessary inheritance to make the copy minimal. These
|
|
/// types are erased at runtime, so excluding supertypes is safe. If a member is
|
|
/// needed that belongs to a supertype, then add the necessary `implements`
|
|
/// clause to the subtype when you add that supertype. Keep extensions next to
|
|
/// the interface they extend.
|
|
library;
|
|
|
|
import 'dart:js_interop';
|
|
|
|
typedef EventListener = JSFunction;
|
|
typedef XMLHttpRequestResponseType = String;
|
|
|
|
@JS()
|
|
external Document get document;
|
|
|
|
@JS()
|
|
external Window get window;
|
|
|
|
extension type CSSStyleDeclaration._(JSObject _) implements JSObject {
|
|
external set backgroundColor(String value);
|
|
external String get backgroundColor;
|
|
external set border(String value);
|
|
external String get border;
|
|
external set height(String value);
|
|
external String get height;
|
|
external set width(String value);
|
|
external String get width;
|
|
}
|
|
|
|
extension type CSSStyleSheet._(JSObject _) implements JSObject {
|
|
external int insertRule(
|
|
String rule, [
|
|
int index,
|
|
]);
|
|
}
|
|
|
|
extension type Document._(JSObject _) implements JSObject {
|
|
external Element createElement(
|
|
String localName, [
|
|
JSAny options,
|
|
]);
|
|
external Range createRange();
|
|
external HTMLHeadElement? get head;
|
|
}
|
|
|
|
extension type DOMTokenList._(JSObject _) implements JSObject {
|
|
external void add(String tokens);
|
|
}
|
|
|
|
extension type Element._(JSObject _) implements Node, JSObject {
|
|
external DOMTokenList get classList;
|
|
external void append(JSAny nodes);
|
|
}
|
|
|
|
extension type Event._(JSObject _) implements JSObject {}
|
|
|
|
extension type EventTarget._(JSObject _) implements JSObject {
|
|
external void addEventListener(
|
|
String type,
|
|
EventListener? callback, [
|
|
JSAny options,
|
|
]);
|
|
}
|
|
|
|
extension type HTMLElement._(JSObject _) implements Element, JSObject {
|
|
external String get innerText;
|
|
external set innerText(String value);
|
|
external CSSStyleDeclaration get style;
|
|
}
|
|
|
|
extension type HTMLHeadElement._(JSObject _) implements HTMLElement, JSObject {}
|
|
|
|
extension type HTMLStyleElement._(JSObject _) implements HTMLElement, JSObject {
|
|
external CSSStyleSheet? get sheet;
|
|
}
|
|
|
|
extension type MediaQueryList._(JSObject _) implements EventTarget, JSObject {
|
|
external bool get matches;
|
|
}
|
|
|
|
extension type MouseEvent._(JSObject _) implements JSObject {
|
|
external num get offsetX;
|
|
external num get offsetY;
|
|
external int get button;
|
|
}
|
|
|
|
extension type Navigator._(JSObject _) implements JSObject {
|
|
external String get platform;
|
|
}
|
|
|
|
extension type Node._(JSObject _) implements EventTarget, JSObject {}
|
|
|
|
extension type Range._(JSObject _) implements JSObject {
|
|
external void selectNode(Node node);
|
|
}
|
|
|
|
extension type Selection._(JSObject _) implements JSObject {
|
|
external void addRange(Range range);
|
|
external void removeAllRanges();
|
|
}
|
|
|
|
extension type Window._(JSObject _) implements EventTarget, JSObject {
|
|
external Navigator get navigator;
|
|
external MediaQueryList matchMedia(String query);
|
|
external Selection? getSelection();
|
|
}
|
|
|
|
extension type XMLHttpRequest._(JSObject _)
|
|
implements XMLHttpRequestEventTarget, JSObject {
|
|
external factory XMLHttpRequest();
|
|
external void open(
|
|
String method,
|
|
String url, [
|
|
bool async,
|
|
String? username,
|
|
String? password,
|
|
]);
|
|
external void setRequestHeader(
|
|
String name,
|
|
String value,
|
|
);
|
|
external void send([JSAny? body]);
|
|
external int get status;
|
|
external set responseType(XMLHttpRequestResponseType value);
|
|
external XMLHttpRequestResponseType get responseType;
|
|
external JSAny? get response;
|
|
}
|
|
|
|
extension type XMLHttpRequestEventTarget._(JSObject _)
|
|
implements EventTarget, JSObject {}
|