blob: bb5e01b6f5935d6ae4381ccb0d23464aa4574091 [file] [log] [blame]
// Copyright (c) 2011, 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.
// WARNING: Do not edit - generated code.
part of html;
/**
* All your attribute manipulation needs in one place.
* Extends the regular Map interface by automatically coercing non-string
* values to strings.
*/
abstract class AttributeMap implements Map<String, String> {
void operator []=(String key, value);
}
/**
* All your element measurement needs in one place
*/
abstract class ElementRect {
// Relative to offsetParent
ClientRect get client;
ClientRect get offset;
ClientRect get scroll;
// In global coords
ClientRect get bounding;
// In global coords
List<ClientRect> get clientRects;
}
abstract class NodeSelector {
Element query(String selectors);
List<Element> queryAll(String selectors);
}
abstract class CSSClassSet implements Set<String> {
/**
* Adds the class [token] to the element if it is not on it, removes it if it
* is.
*/
bool toggle(String token);
/**
* Returns [:true:] classes cannot be added or removed from this
* [:CSSClassSet:].
*/
bool get frozen;
}
$!COMMENT
abstract class _IElement implements _INode, NodeSelector {
factory Element.html(String html) =>
_$(ID)FactoryProvider.createElement_html(html);
factory Element.tag(String tag) =>
_$(ID)FactoryProvider.createElement_tag(tag);
AttributeMap get attributes;
void set attributes(Map<String, String> value);
/**
* @domName childElementCount, firstElementChild, lastElementChild,
* children, Node.nodes.add
*/
List<Element> get elements;
void set elements(Collection<Element> value);
/** @domName className, classList */
CSSClassSet get classes;
void set classes(Collection<String> value);
AttributeMap get dataAttributes;
void set dataAttributes(Map<String, String> value);
/**
* Adds the specified text as a text node after the last child of this.
*/
void addText(String text);
/**
* Parses the specified text as HTML and adds the resulting node after the
* last child of this.
*/
void addHTML(String html);
/**
* @domName getClientRects, getBoundingClientRect, clientHeight, clientWidth,
* clientTop, clientLeft, offsetHeight, offsetWidth, offsetTop, offsetLeft,
* scrollHeight, scrollWidth, scrollTop, scrollLeft
*/
Future<ElementRect> get rect;
/** @domName Window.getComputedStyle */
Future<CSSStyleDeclaration> get computedStyle;
/** @domName Window.getComputedStyle */
Future<CSSStyleDeclaration> getComputedStyle(String pseudoElement);
Element clone(bool deep);
Element get parent;
/**
* Experimental support for [web components][wc]. This field stores a
* reference to the component implementation. It was inspired by Mozilla's
* [x-tags][] project. Please note: in the future it may be possible to
* `extend Element` from your class, in which case this field will be
* deprecated and will simply return this [Element] object.
*
* [wc]: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html
* [x-tags]: http://x-tags.org/
*/
var xtag;
$!MEMBERS
}