typescript-closure-tools
Version:
Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files
69 lines (63 loc) • 2.98 kB
TypeScript
/// <reference path="../../../globals.d.ts" />
declare module goog.style.bidi {
/**
* Returns the normalized scrollLeft position for a scrolled element.
* @param {Element} element The scrolled element.
* @return {number} The number of pixels the element is scrolled. 0 indicates
* that the element is not scrolled at all (which, in general, is the
* left-most position in ltr and the right-most position in rtl).
*/
function getScrollLeft(element: Element): number;
/**
* Returns the "offsetStart" of an element, analagous to offsetLeft but
* normalized for right-to-left environments and various browser
* inconsistencies. This value returned can always be passed to setScrollOffset
* to scroll to an element's left edge in a left-to-right offsetParent or
* right edge in a right-to-left offsetParent.
*
* For example, here offsetStart is 10px in an LTR environment and 5px in RTL:
*
* <pre>
* | xxxxxxxxxx |
* ^^^^^^^^^^ ^^^^ ^^^^^
* 10px elem 5px
* </pre>
*
* If an element is positioned before the start of its offsetParent, the
* startOffset may be negative. This can be used with setScrollOffset to
* reliably scroll to an element:
*
* <pre>
* var scrollOffset = goog.style.bidi.getOffsetStart(element);
* goog.style.bidi.setScrollOffset(element.offsetParent, scrollOffset);
* </pre>
*
* @see setScrollOffset
*
* @param {Element} element The element for which we need to determine the
* offsetStart position.
* @return {number} The offsetStart for that element.
*/
function getOffsetStart(element: Element): number;
/**
* Sets the element's scrollLeft attribute so it is correctly scrolled by
* offsetStart pixels. This takes into account whether the element is RTL and
* the nuances of different browsers. To scroll to the "beginning" of an
* element use getOffsetStart to obtain the element's offsetStart value and then
* pass the value to setScrollOffset.
* @see getOffsetStart
* @param {Element} element The element to set scrollLeft on.
* @param {number} offsetStart The number of pixels to scroll the element.
* If this value is < 0, 0 is used.
*/
function setScrollOffset(element: Element, offsetStart: number): void;
/**
* Sets the element's left style attribute in LTR or right style attribute in
* RTL. Also clears the left attribute in RTL and the right attribute in LTR.
* @param {Element} elem The element to position.
* @param {number} left The left position in LTR; will be set as right in RTL.
* @param {?number} top The top position. If null only the left/right is set.
* @param {boolean} isRtl Whether we are in RTL mode.
*/
function setPosition(elem: Element, left: number, top: number, isRtl: boolean): void;
}